2006-02-05  Simon Goodall  <sear@simongoodall.co.uk>

	* data/help/Mason: Fix typo.

2006-02-05  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Editor.cpp, src/Editor.h, src/error.h, renderers/Sprite.cpp, 
	  renderers/Sprite.h, renderers/ImageUtils.cpp, renderers/ImageUtils.h,
	  common/Mesh.h, loaders/ParticleSystem.cpp, loaders/ParticleSystem.h,
	  loaders/ParticleSystemLoader.cpp, loaders/ParticleSystemLoader.h,
	  loaders/AreaModel.cpp, loaders/AreaModel.h,
	  loaders/AreaModelLoader.cpp, loaders/AreaModelLoader.h, 
	  loaders/NullModel.h, loaders/ModelLoader.cpp, loaders/ModelLoader.h,
	  environment/Stars.cpp, environment/Stars.h, 
	  environment/TerrainRenderer.cpp, environment/TerrainRenderer.h: Add /
	  update copyright information. 

2006-02-05  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Lobby.cpp, src/Lobby.h: Removed as they have not been used in a
	  long time.

2006-02-04  Simon Goodall  <sear@simongoodall.co.uk>

	* guichan/Makefile.am: Include CommandLine.h in SOURCES list.

	* renderers/GL.cpp: Clean up m_screen should contextCreated return an
	  error. Print error msg in this situation.

	* src/System.cpp: Shutdown objects on failure to create window.

2006-01-31  Al Riddoch  <alriddoch@zepler.org>

	* renderers/Graphics.cpp: If an object that requires screen
	  coordinates is not being drawn, mark its screen coordinates as
	  -1,-1.

	* guichan/Overlay.cpp: Don't render a speech bubble for the player's
	  own avatar, or if that entity has now disappeared.

2006-01-30  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Makefile.am, src/error.cpp, src/error.h, src.main.cpp: Add a
	  function to display a popup dialog if there is an error starting Sear.
	  This uses MessageBox on Win32 and printf for other platforms. Platform
	  specific code needs to be added here.

2006-01-30  Al Riddoch  <alriddoch@zepler.org>

	* guichan/SpeechBubble.h, guichan/SpeechBubble.cpp: Add a public
	  member variable to store the x offset of this bubble, to avoid
	  overlap with other bubbles.

	* guichan/Overlay.h, guichan/Overlay.cpp: Attach bubbles to
	  the position of their owners in the X axis, and use the offset,
	  moving the bubbles to avoid overlaps when they occur.

2006-01-29  James Turner  <james@worldforge.org>

	* loaders/ParticleSystem.cpp: don't allocate huge numbers of particles
	  if an entity's status is outside the normal range.

2006-01-29  Al Riddoch  <alriddoch@zepler.org>

	* src/WorldEntity.h, src/WorldEntity.cpp: Add interface to
	  WorldEntity to request that screen coordinates be calculated,
	  and retrieved later.

	* renderers/GL.cpp, renderers/GL.h, renderers/Render.h:
	  Add a new method to the render interface allowing screen
	  coordinates to be calculated for the current origin in modelview
	  coordinates. When rendering messages on an entity, calculate its
	  screen coordinates.

	* renderers/Graphics.cpp: Add entities to the message_list if their
	  screen coordinates have been requested.

	* guichan/Overlay.cpp: Use screen coordinates of characters to move
	  speech bubbles to a height roughly matching the character.

2006-01-29  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/3ds.cpp: Allow texture maps with no name to be overridden in
	  config file.

2006-01-29  Al Riddoch  <alriddoch@zepler.org>

	* guichan/SpeechBubble.cpp: Load the speech bubble images from the
	  propper place.

2006-01-29  Simon Goodall  <sear@simongoodall.co.uk>

	* loader/3ds_Loader.cpp, loaders/LibModelFile_Loader.cpp,
	  loaders/ModelLoader.cpp, loaders/ModelRecord.cpp, 
	  loaders/ModelRecord.h: Create a new item, data_file_path to eventually
	  replace the combination of data_file_id and the models.cfg file. The
	  path to the model data file should be stored in this key of a model
	  record. The original method will stay in place until the next major
	  media upgrade/sear release.

2006-01-29  Al Riddoch  <alriddoch@zepler.org>

	* guichan/SpeechBubble.cpp: Ensure that exceptions are caught if
	  loading the media for speech bubbles fails.

2006-01-29  Al Riddoch  <alriddoch@zepler.org>

	* src/System.h, src/System.cpp: Store the time calculated since the
	  the last frame, as it it likely to be used in many parts of the
	  code for animation.

	* guichan/SpeechBubble.cpp: Make speech bubble scrolling speed
	  independant of frame rate.

	* guichan/Overlay.cpp: Reset overlay state when server disconnects.
	  Make speech bubble movement speed independant of frame rate.

2006-01-29  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Calendar.cpp, src/Calendar.h: Add a reset method and link it
	  to the EnteredWorld signal to reset the server_time reference. This 
	  fixes a bug when connecting to different servers without exiting Sear.

2006-01-28  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Makefile.am, src/main.cpp: Remove references to Exception.h

2006-01-28  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Exception.h, loaders/cal3d/Cal3dCoreModel.cpp, renderers/GL.cpp, 
	  renderers/Graphics.cpp, src/Sound.cpp, src/System.cpp: Remove 
	  Exception.h as it is not needed.

	* environment/Environment.cpp, environment/Environment.h,
	  environment/SkyDome.cpp, environment/SkyDome.h,
	  environment/TerrainRenderer.cpp, environment/TerrainRenderer.h, 
	  loaders/3ds.cpp, loaders/3ds.h, loaders/AreaModel.cpp,
	  loaders/AreaModel.h, loaders/BoundBox.cpp, loaders/BounddBox.h,
	  loaders/LibModelFile.cpp, loaders/LibModelFile.h, loaders/Model.h, 
	  loaders/ModelHandler.cpp, loaders/ModelHandler.h, 
	  loaders/ModelSystem.cpp, loaders/ModelSystem.h, loaders/Nplane.cpp,
	  loaders/NPlane.h, loaders/NullModel.h, loaders/ObjectHandler.cpp,
	  loaders/ObjectHandler.h, loaders/ParticleSystem.cpp,
	  loaders/ParticleSystem.h, loaders/WireFrame.cpp, loaders/WireFrame.h,
	  loaders/cal3d/Cal3dModel.cpp, loaders/cal3d/Cal3dModel.h,
	  renderers/GL.cpp, renderers/GL.h, renderers/Graphics.cpp, 
	  renderers/Graphics.h, renderers/RenderSystem.cpp,
	  renderers/RenderSystem.h, renderers/Sprite.cpp, renderers/Sprite.h, 
	  renderers/StateManager.cpp, renderers/StateManager.h, 
	  renderers/TextureManager.cpp, renderers/TextureManager.h,
	  src/System.cpp: Replace invalidate with contextCreated and
	  contextDestroyed functions. Create some signals in the RenderSystem
	  class that other parts of Sear can connect to for notification of
	  context creation/destruction. contextDestroyed takes a flag (check)
	  that when set to true will assume that the context has not really
	  been destroyed and it should call glDeleteXXX for its context
	  information.

	* environment/Environment.cpp, environment/Environment.h,
	  environment/TerrainRenderer.cpp, environment/TerrainRenderer.h,
	  loaders/ModelHandler.cpp, loaders/ModelHandler.h: Create a reset
	  function to remove instance data.

	* loaders/AreaModel.cpp, loaders/ObjectRecord.cpp,
	  loaders/ObjectRecord.h, loaders/ParticleSystem.cpp,
	  renderers/Graphics.cpp: Use an EntityRef in ObjectRecord in case of
	  entity deletion. Update objectrecord->entity usage to use EntityRef 
	  methods and perform casting to WorldEntity.

	* loaders/ModelHandler.cpp: Fix model unloading. Add a flag to force
	  unload.

	* loaders/ModelSystem.cpp, enviroment/Environment.cpp: Create an
	  EnteredWorld and LeftWorld signal. Connect Environment and 
	  ModelSystem to LeftWorld so instance data can be cleaned up. Update 
	  the setState function to fire the signals as required.

	* loaders/ModelSytem.cpp, loaders/ObjectHandler.cpp,
	  loaders/ObjectHandler.h: Update ObjectHandler to separate the records
	  from config files to those instantiated for a given entity. This 
	  makes cleaning up instantiated data easier.

	* loaders/cal3d/Cal3dModel.cpp: Remove some debugging information.

	* renderers/Frustum.cpp: Remove unneeded includes.

	* renderers/RenderSystem.cpp, renderers/RenderSystem.h,
	  renderers/GL.cpp, renderers/GL.h, renderers/Render.h: Allow both 
	  currently selected entity ID and the entity itself to be obtained
	  through the RenderSystem class.

	* renderers/RenderSystem.cpp, renderers/RenderSystem.h, src/System.cpp:
	  Export getWorldCoords and procEvent(now processMouseClick) through
	  RenderSystem.

	* src/client.cpp: Set m_avatar to NULL on relevant state change.

	* src/Render.h: Add start of code to track current context instantation
	  and make sure all rendering components have reset on context
	  destruction/creation. Will be linked into the contextCreated and
	  contextDestroyed functions.

2006-01-26  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Overlay.cpp: Text code to start separating speech bubbles.
	  Needs to work with anchors attached to character position.

	* src/Character.cpp, src/Character.h: Use EntityRef to store pointer to character entity.

2006-01-26  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/GL.cpp, renderers/GL.h: Use Eris::EntityRef to store pointer
	  to the currently selected entity incase it gets deleted.

2006-01-25  Al Riddoch  <alriddoch@zepler.org>

	* guichan/StatusWindow.h, guichan/StatusWindow.cpp: Re-work
	  status window to holding a reference to the entity it displays
	  status for, rather than being hardcoded for the avatar entity.

	* guichan/Workarea.cpp: Remove the hard coded status window for
	  avatar.

	* guichan/Overlay.h, guichan/Overlay.cpp: Implement handling
	  status windows for the avatar, and whatever entity the player
	  currently has selected.

2006-01-25  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/GL.cpp: Remove call to we->renderMessages in drawNameQueue 
	  as this is done in the drawMessageQueue function.

2006-01-25  Al Riddoch  <alriddoch@zepler.org>

	* src/WorldEntity.cpp: In overriden method onTalk(), call onTalk
	  in the base class, so the signals still work.

	* guichan/SpeechBubble.h, guichan/SpeechBubble.cpp: Add a method
	  to push lines into the speech bubble, and remove the debug text.

	* guichan/RootWidget.cpp: Update the overlay handler each
	  frame.

	* guichan/Overlay.h, guichan/Overlay.cpp: Basic code for handling
	  speech bubbles triggered by text.

2006-01-24  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Overlay.cpp, guichan/Overlay.cpp: New class to handle
	  adding and removing widgets that overlay the game view, like
	  status windows, and speech bubbles.

2006-01-24  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Frustum.h, renderers/Frustum.cpp: Tidy up some frustum tests
	  and make some function names more intuitive. 

	* environment/TerrainRenderer.cpp, renderers/GL.cpp, renderers.GL.h, 
	  renderers/Render.h: Update for frustum name changes.

	* src/WorldEntity.cpp: Clean up the getAbsPos function a little. Use the
	  onActed signal to set entity actions instead of the action attribute.

2006-01-24  Al Riddoch  <alriddoch@zepler.org>

	* src/Bindings.h: Add accessor to allow the gui code to read the
	  bindings.

	* guichan/Workarea.cpp: Only treat enter as special if nothing
	  has focus.

	* guichan/ControlsOptions.h, guichan/ControlsOptions.cpp: Add interface
	  allowing user to view all bindings, and bind new keys.

2006-01-24  Al Riddoch  <alriddoch@zepler.org>

	* guichan/HelpOptions.cpp: Don't try and read the help directory
	  if opening it failed.

2006-01-24  Al Riddoch  <alriddoch@zepler.org>

	* guichan/HelpOptions.cpp, guichan/HelpOptions.h: New window for
	  displaying help text.

	* data/help: New directory of online help files. To get more online
	  help, just add files here.

	* guichan/OptionsWindow.cpp: Hook up the new options windows
	  to the system menu.

	* guichan/OptionsTemplate.cpp: Clean up the options window template.

2006-01-23  Al Riddoch  <alriddoch@zepler.org>

	* guichan/AudioOptions.cpp, guichan/AudioOptions.h,
	  guichan/ControlsOptions.cpp, guichan/ControlsOptions.h,
	  guichan/OptionsTemplate.cpp, guichan/OptionsTemplate.h,
	  guichan/OptionsWindow.cpp: Add more options windows, plus a
	  simple template for making more.

2006-01-20  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.cpp, src/Character.h: Add /eat command to eat things
	  from the inventory.

	* guichan/Inventory.h, guichan/Inventory.cpp: Add an eat button
	  to the inventory widget.

2006-01-19  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/TerrainRenderer.cpp: Fix memory leak in drawShadow 
	  function.

2006-01-18  Al Riddoch  <alriddoch@zepler.org>

	* guichan/RootWidget.cpp, guichan/Workarea.cpp: Add checks whether
	  sear is in-game before blanking out the screen if the gui has
	  focus.

2006-01-16  Al Riddoch  <alriddoch@zepler.org>

	* src/client.cpp: Use setStatus() when changing state, so that the
	  right events are triggered. Emit an action when Avatar fails.

	* guichan/Workarea.cpp: Display an alert when avatar fails, so
	  player knows what happened.

2006-01-16  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConsoleWindow.cpp, guichan/ConsoleWindow.h: Make the
	  console window transparent when it does not have focus.

2006-01-16  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConsoleWindow.cpp, guichan/CommandLine.h: Move CommandLine
	  class into its own header.

	* guichan/RootWidget.cpp, guichan/RootWidget.h: Re-write the code that
	  detects if focus has been taken, and set opaque flag on
	  gcn::Container if it has, so the view is greyed out.

2006-01-16  Al Riddoch  <alriddoch@zepler.org>

	* src/client.cpp: Emit a disconnected action when connection fails.

	* guichan/Workarea.cpp: Add a command that opens an alert window,
	  and use it to signal when server connection is lost. Re-open
	  connect window when this happens.

	* guichan/RootWidget.cpp, guichan/RootWidget.h: Add draw method
	  to grey out background when gui focus blocks the user from operating
	  the client as expected.

	* guichan/Alert.cpp, guichan/Alert.h: Add logic method for force
	  alerts on top.

2006-01-16  Simon Goodall  <sear@simongoodall.co.uk>

	* data/bindings.cfg, src/System.cpp: Remove default binding for quit as
	  escape now closes GUI windows.

	* src/WorldEntity.cpp: Set points to (0,0,0) if getPredictedPos returns
	  an invalid point. Temp work around until this issue is resolved.

2006-01-14  James Turner  <james@worldforge.org>

	* src/System.cpp: fix resizeScreen to update the m_width and m_height
	  members, so mouse events behave properly after a resize / full-screen
	  switch.

2006-01-13  Al Riddoch  <alriddoch@zepler.org>

	* guichan/CharacterWindow.cpp: Remove annoying debug output.

2006-01-13  Al Riddoch  <alriddoch@zepler.org>

	* guichan/OptionsWindow.h, guichan/Panel.h, guichan/Workarea.h:
	  Remove obsolete member variables that used to be used to store
	  window coords.

2006-01-13  Al Riddoch  <alriddoch@zepler.org>

	* guichan/CharacterWindow.cpp, guichan/CharacterWindow.h:
	  Major re-model of the character creation window. Now includes
	  working type selection, better handling of the distinction
	  between taking existing characters, and creating new ones.
	  Less scope for user error.

2006-01-12  Al Riddoch  <alriddoch@zepler.org>

	* common/Makefile.am, common/compose.hpp: Add missing string
	  composition code.

	* guichan/Panel.cpp: Minimise the length of the caption name to avoid
	  visual corruption.

	* guichan/StatusWindow.cpp: Add a caption to ensure this window can
	  have its position handled correctly.

2006-01-12  Al Riddoch  <alriddoch@zepler.org>

	* src/System.cpp, src/System.h: Make code to resize screen into a
	  public method so the gui can get to it.

	* guichan/VideoOptions.cpp, guichan/VideoOptions.h: Add widgets to
	  allow control of screen resolution and fullscreen.

	* guichan/Workarea.cpp, guichan/Workarea.h: Remove redundant args
	  from resize notification function.

	* renderers/GL.h: Add a boolean to check if screen is fullscreen.

	* guichan/RootWidget.cpp: Ensure windows don't get lost off the sise
	  in a resolution change.

2006-01-12  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Panel.cpp: Clean up console widget placement.

	* guichan/OptionsWindow.cpp: Rename from Options to System, and
	  implement the Quit button.

2006-01-12  Al Riddoch  <alriddoch@zepler.org>

	* guichan/OptionsWindow.cpp, guichan/OptionsWindow.h: Remove obsolete
	  members that are just widget pointers. Clean up constructor, and
	  removed commented out code.

	* guichan/Panel.cpp: Remove commented out code.

	* guichan/VideoOptions.cpp: Clean up constructor.

	* guichan/Workarea.cpp, guichan/Workarea.h: Let RootWidget handle
	  opening and closing windows for this code as well.

2006-01-12  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Panel.cpp, guichan/Panel.h,
	  guichan/RootWidget.cpp, guichan/RootWidget.h:
	  Move functionality for opening and closing windows, and remembering
	  their coordinates into RootWidget, ensuring that all windows have
	  have caption, and using window caption as the windows's name.

	* guichan/OptionsWindow.cpp, guichan/OptionsWindow.h: Add buttons
	  to open a number of sub option windows.

	* guichan/VideoOptions.cpp, guichan/VideoOptions.h: New option
	  window for controlling video options.

2006-01-09  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac src/Bindings.cpp, src/Bindings.h, src/System.cpp,
	  scripts/startup.script: Rollback varconf changes for a re-think of
	  handling variable scope.

2006-01-07  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac: Increment required varconf version to 0.6.4. Make Eris
	  require = instead of >= while using development version.

	* src/Bindings.cpp, src/Bindings.h, src/System.cpp: Use new 
	  varconf::Scope variable in read/write functions. Create a new 
	  load_bindings_global and load_eneral_global to read in GLOBAL scope
	  variables. load_bindings and load_general commands read in as USER 
	  scope. /bind commands will create USER scope bindings. In game config
	  variable changes currently have INSTANCE scope and will not be saved.
	  Open to suggestion on this behaviour.

	* scripts/startup.script: Use new load_XXX_global commands.

2006-01-03  James Turner  <james@worldforge.org>

	* src/main.cpp, common/operations.h, common/operations.cpp, 
	  src/character.cpp: remove sear definition of Atlas op, since Eris
	  supplies one in 1.3.10.

2005-12-31  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Require Eris 1.3.10 as the API has changed in a way
	  that causes silent breakage with older versions.

2005-12-30  Al Riddoch  <alriddoch@zepler.org>

	* src/WorldEntity.cpp, src/WorldEntity.h: Fix onTalk override
	  as the fingerprint in the Eris::Entity base class has changed.

2005-12-30  Al Riddoch  <alriddoch@zepler.org>

	* src/WorldEntity.h, src/WorldEntity.cpp: Add handler for Imaginary
	  ops for emotes, and push them to the system message function.

	* src/System.h, src/System.cpp: Add a signal emitted each time a
	  message is pushed, so other components can use the messages.

	* src/Character.h, src/Character.cpp: Add new /me command for sending
	  emotes.

	* guichan/Workarea.cpp: Switch focus to console when the / key is
	  pressed.

	* guichan/ConsoleWindow.h, guichan/ConsoleWindow.cpp: Add a method
	  to get messages from system, and connect it to the signal on
	  system. Push the messages into the console text area as they arrive.

2005-12-20  Al Riddoch  <alriddoch@zepler.org>

	* renderers/Graphics.cpp: Update for changes in the Eris::EntityRef
	  API.

2005-12-20  Al Riddoch  <alriddoch@zepler.org>

	* src/WorldEntity.h, renderers/Graphics.cpp: Change attachments
	  on an entity to use Eris::EntityRef, so that a crash does not
	  occur sometimes when the attached entity is deleted.

	* guichan/Workarea.cpp: Add some missing characters to the gui font.

2005-12-20  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Handle include and library directories cleanly if
	  X11 is in the standard system directories. Do the GL tests in C
	  as they don't seem to work in C++ with some versions of autoconf.

	* src/WorldEntity.h: Remove class qualifier from constructor
	  declaration as its not legal there.

2005-12-16  Al Riddoch  <alriddoch@zepler.org>

	* loaders/ModelHandler.cpp, src/Character.cpp: The Eris Timeout
	  API has changed, so constructors now need different parameters.

2005-12-15  Al Riddoch  <alriddoch@zepler.org>

	* data/bindings.cfg: Fix typo that broke up and down movement
	  keys.

	* src/client.h: Add a sigc++ header which is required due to Eris
	  changes.

2005-12-13  James Turner  <james@worldforge.org>

	* src/Character.cpp, src/Character.h: update to use the Eris::Avatar
	  functions instead of built-in code for many Character actions. Add
	  a command to query the operations supported by the currently
	  wielded entity (tool). Enter '/use_ops' in the console to see
	  the list. Note these changes require the latest CVS Eris.

2005-12-09  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConsoleWindow.cpp, guichan/ConsoleWindow.h,
	  guichan/Panel.cpp, guichan/Panel.h, guichan/Workarea.cpp:
	  Use return to summon the chat window, and escape to dismiss
	  it.

2005-12-06  Simon Goodall  <sear@simongoodall.co.uk>

	* src/ScriptEngine.cpp, src/ScriptEngine.h: Clean up code files. Remove
	  old code and prefix member vars with m_. Remove prefixEnabled() as it
	  returns true always.

	* src/System.cpp: Remove call to prefixEnabled().

2005-12-05  Al Riddoch  <alriddoch@zepler.org>

	* guichan/SpeechBubble.h, guichan/SpeechBubble.cpp:
	  Add store for speech lines, and handle scrolling lines up
	  and popping old lines off as new ones are added.

2005-12-05  Al Riddoch  <alriddoch@zepler.org>

	* guichan/CharacterWindow.h, guichan/CharacterWindow.cpp:
	  Add a dropdown selection for picking playable character types
	  from the server.

2005-12-05  Al Riddoch  <alriddoch@zepler.org>

	* guichan/passwordfield.cpp, guichan/passwordfield.h: Add a new
	  textfield for passwords which obscures the contents with *s.

	* guichan/LoginWindow.cpp, guichan/LoginWindow.h: Use
	  PasswordField for passwords at login.

2005-11-29  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac: Bump version number to 0.6.0 for release.

	* src/sear.in, src/FileHandler.cpp: Change default sear media 
	  dir/channel to sear-media-0.6

2005-11-26  Al Riddoch  <alriddoch@zepler.org>

	* data/rpgfont.png: Replace font with a simpler smaller version
	  which looks cleaner, and allows more compact text to be displayed.

2005-11-26  Simon Goodall  <sear@simongoodall.co.uk>

	* data/bindings.cpp: Bind 'c' to /attack and bind r,f to move up and 
	  down.

2005-11-26  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/GL.cpp: Fix order of model and object transforms.

2005-11-23  Al Riddoch  <alriddoch@zepler.org>

	* guichan/SpeechBubble.h, guichan/SpeechBubble.cpp: Commit a speech
	  bubble widget, as yet unused.

2005-10-31  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac: Bump required eris version

	* guichan/Workarea.cpp, guichan/CharacterWindow.cpp, src/System.cpp:
	  Make some output debugging only

	* src/WorldEntity.cpp: Modify getAbsPosition to incorporate parent 
	  object rotations into final position. Move some output to debug only.

2005-10-21  Al Riddoch  <alriddoch@zepler.org>

	* src/client.h, src/client.cpp, src/Factory.h, src/Factory.cpp:
	  Fix function arguments to match the signals in the modified
	  Eris API.

2005-10-19  Simon Goodall  <sear@simongoodall.co.uk>

	* src/System.cpp, src/client.cpp, src/client.h: Add a read/write config
	  section to client class. Allow manually setting of eris log level in
	  config file.

2005-10-19  James Turner  <james@worldforge.org>

	* src/WorldEntity.h, src/WorldEntity.cpp: update for tweaked Eris API

2005-10-11  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Makefile.am: Add missing header to files list.

2005-10-11  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac: Update required lib version numbers.

2005-09-22  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.cpp: Check values of calculation to determine
	  character angle, as asin() sometimes rejects values that
	  seem like they should be ok.

2005-09-20  Al Riddoch  <alriddoch@zepler.org>

	* guichan/StatusWindow.cpp: Add stamina and mana bars too.

2005-09-20  Al Riddoch  <alriddoch@zepler.org>

	* guichan/StatusWindow.cpp, guichan/StatusWindow.h: Add logic
	  function which implements tracking character health.

2005-09-20  Al Riddoch  <alriddoch@zepler.org>

	* guichan/StatusWindow.cpp, guichan/StatusWindow.h: Window to display
	  character status.

	* guichan/Workarea.cpp: Add StatusWindow to the set opened when
	  we go in-game.

	* guichan/bar.cpp, guichan/bar.hpp: Remove lostFocus() method, as
	  bar is not focusable. Use forground color for the bar itself.

2005-09-20  Al Riddoch  <alriddoch@zepler.org>

	* src/client.cpp, src/Character.cpp: Use Anonymous for arguments to
	  ops rather than using the *ArgsAsList() methods.

	* guichan/bar.cpp, guichan/bar.hpp: New widget for status bars.

2005-09-19  Al Riddoch  <alriddoch@zepler.org>

	* src/main.cpp, common/operations.h, common/operations.cpp:
	  Add custom op definition for Attack.

	* renderers/RenderSystem.cpp, renderers/RenderSystem.h,
	  renderers/TextureManager.cpp, renderers/cursors.h:
	  Add a trivial cursor sprite to represent the attack action.

	* src/Character.cpp, src/Character.h, src/System.cpp, src/System.h:
	  Add command for Attack action.

2005-09-19  Al Riddoch  <alriddoch@zepler.org>

	* src/ActionHandler.cpp, src/ActionHandler.h: Make the action store
	  a multimap, so a given action can have many handlers.

	* guichan/Workarea.cpp: Install more handlers so that dialogues
	  get closed automatically at the right time.

2005-09-15  Simon Goodall  <sear@simongoodall.co.uk>

	* src/sear.in: Merge patch by J. Phenix to check for a natively compiled
	  wfut. Also check for existance of gij as an alternative to "java".
	  Still need to check for correct version number of gij before
	  executing. Version 1.4.2 works with WFUT in command line mode.

	* renderers/StateManager.cpp: Add assert on destructor to make sure
	  shutdown has been called.

	* renderers/StateManager.h: Make getAlphaFunction and getBlendFunction
	  static.

2005-08-23  Simon Goodall  <sear@simongoodall.co.uk>

	* src/main.cpp: Add check as sigpipe does not exist on win32.

2005-08-23  Simon Goodall  <sear@simongoodall.co.uk>

	* src/main.cpp: Ignore sigpipe to aid eris debugging.

2005-08-23  Simon Goodall  <sear@simongoodall.co.uk>

	* src/WorldEntity.cpp, src/WorldEntity.h: Add handler for Acted signal
	  and print out debugging info about parameters.

2005-08-18  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac: Use AC_PATH_X to get X11 paths. Remove /usr/lib and 
	  /usr/local/lib from SEAR_LIBS path due to 64 bit machine problems.
	  This may cause problems with opengl linking but appears to work ok 
	  so far. Move libmd3 check to a separate block to report the proper 
	  library name. Change ftp url to sourceforge site.

	* gui/TextEntry.h: Use size_t for m_size for 64 bit machines.

	* src/sear.in: Use pushd/popd instead of storing the value of pwd.

	* common/Utility.cpp: Use f on float values.

2005-07-02  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Graphics.cpp: Make medium/high dist values larger

	* loaders/ModelRecord.h, loaders/ModelRecord.cpp,
	  loaders/ModelLoader.cpp: Add "scale_height" as a const var of
	  model_record.

2005-06-29  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/cal3d/Cal3dModel.cpp: Remove some debugging output.

2005-06-29  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ModelSystem.cpp: Work up the TypeInfo parents list until we
	  get a match against an object record. Use default record if none
	  found. Previous behaviour only checked the first parent.
	* renderers/Graphics.cpp: Clamp status value from server to 0.0:1.0
	* src/CacheManager.cpp: Disable compiling mktemp call to avoid warning
	  for now as this code is not used.
	* src/System.cpp: Remove calls to cachemanger.
	* src/System.h: Make some functions const.

2005-06-29  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/BoundBox.cpp, loaders/BoundBox.h, loaders/BoundBox_Loader.cpp,
	  loaders/NPlane.cpp, loaders/NPlane.h, loader/NPlane_Loader.cpp: Allow
	  texture name to be specified in model_records, otherwise use type as
	  texture name.

2005-06-25  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Graphics.cpp: Check fire status is <= 1.0.

	* tools/model_viewer.cpp: Change animations and add caption to window.

2005-06-25  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/3ds.cpp: Change some formatting.

	* loaders/ModelHandler.cpp: Check for null pointer on worldentity.

	* loaders/ObjectRecord.cpp: Remove assert statement.

2005-06-25  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/NPlane.cpp: Remove debugging output.

	* loaders/ModelHander.cpp: Properly set mode and action anims when 
	  creating the model.

2005-06-25  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/LibModelFile.cpp: Clean skin name for use with varconf.

2005-06-24  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Workarea.cpp: Prevent certain widgets from being
	  focusable using tab. Make sure mouse look is disabled when
	  the gui has focus.

	* guichan/Inventory.cpp: Make sure nothing in this window
	  is focusable.

	* guichan/ConsoleWindow.cpp: Prevent tab in and out working on
	  this window, so tab can be used for completion.

2005-06-24  Al Riddoch  <alriddoch@zepler.org>

	* src/System.cpp, src/System.h: Add method to determine if mouse look
	  is currently enabled.

2005-06-24  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/LibModelFile.cpp: Fix bug were VBO creation accessed too much
	  memory and caused wierd rendering effects and segfaults.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ParticleSystem.cpp: Fix more typos

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ParticleSystem.cpp: Fix selectmode on particle system.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>#

	* src/WorldEntity.cpp: Fix asFloat/asNum usage.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ParticleSystem.cpp, loaders/ParticleSystem.h: Allow rendering
	  in select mode.
	* renderers/Graphics.cpp: Use asNum instead of asFloat to avoid an 
	  exception.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ModelHandler.cpp: Currently disable unloading as it is still
	  buggy.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ModelHandler.cpp: Remove "render is null" output.
	* renderers/Graphics.cpp: Change fire attenuation based on status 
	  attribute

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* src/ModelHandler.cpp: Remove extra debugging output.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* src/WorldEntity.cpp: Use ModelSystem::getObjectRecord instead of the
	  one in ObjectHandler directly as it does some extra setting up of 
	  data.
	* loaders/ModelSystem.h: Do not allow getModel() to default to we=NULL.
	* loaders/ObjectRecord.cpp: Pass entity to getModel
	* loaders/ModelSystem.cpp: Add assert system.
	* loaders/ModelHandler.cpp: Add some debugging info. Remove second check
	  in unloadModels as it double deletes modelrecords.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Camera.h:  Fix typo

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* src/System.h: Add accessors for window width/height.
	* renderers/Camera.h: Add functions to get/set min/max camera distance.
	* tools/model_viewer.cpp: Add screen dump to png option for making
	  billboards.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/GL.cpp: Request alpha buffer on context.

2005-06-23  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Graphics.cpp: Move drawAttached code into drawObject loop 
	  so objects are attached using the correct model.
	* loaders/ModelHandler.cpp: Return a valid position and oreintation to
	  avoid wierd transformations on attached objects. Be quiet about
	  missing model position information.

2005-06-23  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConsoleWindow.cpp: Clear the enabled flag on the textbox
	  so mouse clicks don't cause a segfault.

	* guichan/Panel.cpp: Only attempt to focus the console if it is
	  on screen.

	* guichan/Workarea.cpp: Filter key release the same way as key
	  press.

	* src/System.cpp: Only pass events to the gui if the console is
	  not open.

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* data/bindings.cfg: Add defaults for up/down movement

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* src/WorldEntity.cpp, loaders/Model.h, loaders/ObjectRecord.h, 
	  loaders/ObjectRecord.cpp, loaders/cal3d/Cal3dModel.cpp,
	  loaders/cal3d/Cal3dModel.h: Separate single and continuous actions

2005-06-22  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Workarea.cpp, guichan/Panel.h, guichan/Panel.cpp,
	  guichan/ConsoleWindow.h, guichan/ConsoleWindow.cpp: Grab focus
	  into the chat window when return is pressed, to allow the user
	  to switch quickly to chat mode.

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* src/WorldEntity.cpp: Fixed mode now takes account of parent position.

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/LibModelFile.cpp: Remove stray return statement.

2005-06-22  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Panel.cpp: Add panel_toggle command to toggle the open/closed
	  state of a window.

	* guichan/Workarea.cpp, src/Character.cpp: Use action handler to
	  toggle the inventory when the inventory command is issued.

2005-06-22  James Turner  <james@worldforge.org>

	* loaders/ParticleSystem.cpp: tune parameters for fire.

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Character.h:  Add function declars

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/cal3d/Cal3dModel.h:  Add function declars

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* Makefile.am: Add tools subdir.
	* configure.ac: Add tools/Makefile to generated files list.
	* tools/Makefile.am: Update build deps
	* loaders/LibModelFile.cpp: Add texture name overrides.
	* loaders/cal3d/Cal3dCoreModel.cpp, loaders/cal3d/Cal3dCoreModel.h, 
	  loaders/cal3d/Cal3dModel.cpp: Allow multiple animations to be blended
	  together.
	* src/Character.cpp: Allow movement in Z axis.
	* tools/model_viewer.cpp: Fix it so that it mostly works with latest
	  sear.

2005-06-22  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/LibModelFile.cpp: Calculate actual number of vertices.

2005-06-21  Al Riddoch  <alriddoch@zepler.org>

	* guichan/CharacterWindow.cpp, guichan/ConnectWindow.cpp,
	  guichan/LoginWindow.cpp: Add alerts to notify user about error
	  conditions.

	* guichan/ConsoleWindow.cpp, guichan/ConsoleWindow.h: Add code to
	  detect EOL from user, handler focus better, and execute the
	  contents of the text field as a standard sear command.

	* guichan/Workarea.cpp: Disable clearing focus when return is pressed
	  as this is now handled by the chat window.

	* src/Console.cpp: Don't open the console at startup any more as its
	  no longer required to log in.

	* src/System.cpp: Call gui registerCommands after initialisation so
	  the panel commands get registered.

2005-06-21  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Increment version to suggested release.

	* guichan/CharacterWindow.cpp, guichan/CharacterWindow.h: Get
	  character window working correctly. Stops crashes if
	  the client is not yet logged in.

	* guichan/ConnectWindow.cpp, guichan/ConnectWindow.h: Remove hook
	  that opens login window.

	* guichan/Inventory.cpp, guichan/Inventory.h: Implement inventory
	  action buttons.

	* guichan/LoginWindow.cpp, guichan/LoginWindow.h: Remove hook
	  that opens character window. Add name field, and correctly
	  implement password verification on new accounts.

	* guichan/Workarea.cpp: Install action handlers to open
	  various windows at the right time. Store all the top
	  windows in the window index, so they can be opened with
	  console commands.

	* src/client.cpp: Emit action handler actions when events like
	  connecting, logging in, and entering the world occur.

2005-06-20  Al Riddoch  <alriddoch@zepler.org>

	* data/rpgfont.png: Add a new font from the guichan archive.

	* guichan/Workarea.cpp: Switch to using the new font by default.

	* guichan/ConnectWindow.cpp: Avoid a couple of characters missing
	  from the new font.

2005-06-20  Al Riddoch  <alriddoch@zepler.org>

	* guichan/CharacterWindow.cpp: Fix headers.

	* guichan/ConnectWindow.cpp: Handle closing the window more sanely.

	* guichan/Alert.cpp, guichan/Alert.h: New window class for alert
	  messages.

	* guichan/LoginWindow.cpp: Flag an alert when account creation
	  passwords don't match.

2005-06-20  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Camera.cpp: Remove debugging output.

2005-06-20  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Graphics.cpp, renderers/Graphics.h: Finally implement
	  rendering which queue (low/medium/high) based in distance from camera.
	  Distances will need tweaking. A media update will be required.
	* renderers/Camera.cpp: Fix bug where the wrong values were being
	  checked to determine whether to update camera position.

2005-06-20  Simon Goodall  <sear@simongoodall.co.uk>

	* src/ActionHandler.cpp, src/ActionHandler.h: Add ability to run a
	  command instead of just external script files. Add addHandler method
	  so other system components can add their own commands to events.

2005-06-20  Al Riddoch  <alriddoch@zepler.org>

	* guichan/CharacterWindow.cpp, guichan/CharacterWindow.h: Filled out
	  more character related functionality, including making character
	  creation now work.

2005-06-20  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConnectWindow.cpp: Open the LoginWindow when this window
	  closes.

	* guichan/CharacterWindow.h, guichan/CharacterWindow.cpp: Add new
	  window for selecting or creating a character.

	* guichan/LoginWindow.h, guichan/LoginWindow.cpp: Add support for
	  creating a new account more cleanly. Add password confirmation
	  field. Open the CharacterWindow when this window closes.

2005-06-19  Al Riddoch  <alriddoch@zepler.org>

	* data/Makefile.am, data/fixedfont.bmp: Add a font for the gui.

	* guichan/Workarea.cpp, guichan/Workarea.h: Add code to read and
	  write config, and settings for font path and characters.

	* src/System.cpp: Add hooks to read and write gui config.

2005-06-18  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConnectWindow.cpp: Make sure most widgets can't get focus.
	  Sort out issue with ListBox entries getting cropped.

2005-06-18  Simon Goodall  <sear@simongoodall.co.uk>

	* README, configure.ac: Update deps.
	* sear-media.spec.in, sear-updater.spec.in: Change Copyright to License.
	* renderers/Graphics.cpp: Update some comments
	* src/ActionHandler.h: Add typdef for actionmap type.
	* src/ActionHandler.cpp: Use actionmap typedef.

2005-06-18  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Editor.cpp: Do not allow move or rotate when loc = 0.

2005-06-18  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConnectWindow.cpp: Fix off by one bug that meant the first
	  server was not selectable. Thanks Simon.

2005-06-18  Simon Goodall  <sear@simongoodall.co.uk>

	* README: Update dependancies.

2005-06-18  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConnectWindow.cpp, guichan/ConnectWindow.h: Implement
	  server list.

	* guichan/Workarea.cpp: Add the Panel and ConnectWindow by default.

2005-06-18  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Workarea.h, guichan/Workarea.cpp: Add code from panel
	  to handle commands to open and close windows.

2005-06-18  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConsoleWindow.cpp, guichan/LoginWindow.cpp,
	  guichan/OptionsWindow.cpp, guichan/Workarea.cpp: Manage gui
	  focus more carefully so it does not obstruct gameplay.

	* guichan/Panel.cpp, guichan/Inventory.cpp, guichan/Inventory.h:
	  Work in progress on an inventory window.

2005-06-18  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Panel.h, guichan/Panel.cpp: Generalise opening and
	  closing window code. Store coordinates of windows when they
	  are not viewed.

2005-06-17  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Workarea.cpp: Disable the server window for a short while.

	* guichan/Panel.cpp, guichan/Panel.h: Make the panel completely
	  generic, allowing new buttons with associated windows to be
	  added at will.

2005-06-17  Al Riddoch  <alriddoch@zepler.org>

	* loaders/ParticleSystem.cpp: Fix header filename.

2005-06-17  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Panel.cpp, guichan/Panel.h, guichan/Workarea.cpp,
	  guichan/Workarea.h, src/System.cpp: Make Workarea and Panel
	  into console objects, and add some commands.

	* src/ActionHandler.cpp: Fix misuse of operator[].

2005-06-16  James Turner  <james@worldforge.org>

	* src/WorldEntity.cpp, src/WorldEntity.h: record the entity status,
	  and provdide an accessor for it.
	  
	* loaders/ParticleSystem.cpp, loaders/ParticleSystem.h,
	  loaders/ParticleSystemLoader.cpp: use the entity's status to scale
	  the particle creation rate. As a result, fires now burn more or less
	  fiercely based on status.

2005-06-16  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Workarea.cpp: Remove some very verbose debug output.

2005-06-16  Simon Goodall <sear@simongoodall.co.uk>

	* autopackage/default.apspec.in: Various fixes so it works properly.

2005-06-16  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/LibModelFile.cpp: Updates to pull normals from libmd3 instead
	  of calculating them manually. Free md3 after use. Scale model to 1/64.

2005-06-16  Simon Goodall <sear@simongoodall.co.uk>

	* Sear.iss.in: Update to current file set
	* sear.desktop.in: Fix Categories string
	* autopackage/default.apspec.in: Update to nearly work from a WFUT
	  download. Requires sear and sear-bin to be renamed to Sear and 
	  Sear-bin otherwise there is a conflict with a dir called sear.
	* guichan/Makefile.am: Add missing files.
	  of calculating them manually. Free md3 after use. Scale model to 1/64.
	* src/Editor.cpp: Add warning about possible segfault. Need to check 
	  this file in future.
	* renderers/LightManager.cpp, renderers/LightManager.h: Remove call to
	  shutdown from destructor and init and use asserts.
	* renderers/Graphics.cpp: Shutdown lightmanager. Move buildqueues call 
	  to before terrain is rendered so entity based lighting is applied to
	  when rendering.

2005-06-16  Simon Goodall <sear@simongoodall.co.uk>

	* configure.ac: Fix guichan checks for cross-compiling and static builds
	* renderers.GL.cpp: More verbose output on missing extensions.

2005-06-16  Al Riddoch  <alriddoch@zepler.org>

	* guichan/ConnectWindow.cpp, guichan/ConnectWindow.h: New
	  dialogue for specifying server to connect to.

	* guichan/OptionsWindow.cpp, guichan/OptionsWindow.h: Placeholder
	  for options window.

	* guichan/Panel.cpp, guichan/Panel.h: Manage a set of windows
	  available at any time.

2005-06-16  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Workarea.cpp: Set the right rendering state when
	  drawing gui, and set the line width to one.

2005-06-15  James Turner  <james@worldforge.org>

	* loaders/ParticleSystem.cpp, loaders/ParticleSystem.h,
	  loaders/ParticleSystemLoader.cpp: add support for spin, and scale
	  the particle box by the entity bbox size. Tune the numbers to look
	  more firey.
	  
	* data/states.cfg: add blend information for particles state - looks
	  infinitely better. Thanks to simon for the fix.

2005-06-15  James Turner  <james@worldforge.org>

	* loaders/ParticleSystem.cpp, loaders/ParticleSystem.h: add support for
	  color interpolation, so all the pieces required for fire are in place.
	  Haven't done spin yet, but that's less critical

2005-06-13  Simon Goodall <sear@simongoodall.co.uk>

	* renderers/GL.cpp, renderers/GL.h: Be more strict on checking for 
	  available and required extensions.

2005-06-13  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/3ds.cpp, loaders/3ds.h: Connect varconf error signal. Use
	  varconf clean function to get material names from config object.
	* loaders/LibModelFile.cpp, loaders/LibModelFile.h: Add varconf object
	  reading like 3ds files for future support of extra options.
	* renderers/Sprite.cpp, renderers/TextureManager.cpp: Check for
	  existence of GL_EXT_bgra before attempting to use it. Check
	  border_clamp extension exists before using it.
	* src/ScriptEngine.cpp: Print err msg when unknown exception is caught.
	* src/Sound.cpp, src/Sound.h: Use return code rather than exception.

2005-06-13  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Workarea.h, guichan/Workarea.cpp, guichan/RootWidget.h,
	  guichan/RootWidget.cpp: Handle window resizing by moving gui
	  round depending on where it is located.

	* guichan/Panel.h, guichan/Panel.cpp: Continue developing main
	  button panel.

2005-06-11  Al Riddoch  <alriddoch@zepler.org>

	* common/Makefile.am, src/Character.cpp, src/main.cpp:
	  Use Use and Wield ops from the Atlas-C++ library rather than
	  the locally defined versions, as they are now standard operations.

2005-06-11  Al Riddoch  <alriddoch@zepler.org>

	* renderers/StateManager.cpp: Fix typos in initialisation of
	  built-in states.

2005-06-11  Al Riddoch  <alriddoch@zepler.org>

	* guichan/Panel.cpp, guichan/Panel.h: Starting point for a main panel
	  for the gui.

	* guichan/LoginWindow.cpp, guichan/ConsoleWindow.cpp: Make windows
	  a bit more transparent.

2005-06-11  James Turner  <james@worldforge.org>

	* data/states.cfg: add state for rendering particles
	
	* renderers/StateManger.cpp, renderers/StateManager.h: add support for
	  a new state variable, 'depth_write', which is useful for particle
	  rendering.
	  
	* loaders/ParticleSystemLoder.cpp, loaders/ParticleSystemLoader.h,
	  loaders/ParticleSystem.cpp, loaders/ParticleSystem.h: more code
	  changes, support specifying color / alpha per particle, and fix
	  bugs in setting the texture and creating new particles. Also add
	  a double-range helper since the particle code has so many.
	  
	* environment/TerrainRenderer.cpp: remove more debug output

2005-06-10  Al Riddoch  <alriddoch@zepler.org>

	* guichan/LoginWindow.cpp, guichan/Workarea.cpp: Make sure exceptions
	  thrown when loading images are caught.

2005-06-10  Al Riddoch  <alriddoch@zepler.org>

	* guichan/box.hpp: Add missing file.

2005-06-10  Al Riddoch  <alriddoch@zepler.org>

	* Makefile.am, configure.ac, src/Makefile.am: Add guichan subdirectory
	  to the build, and add test to configure.ac.

	* src/System.cpp, src/System.h, renderers/Graphics.cpp: Remove old
	  gui hooks, and add in new code.

	* NEWS: Remove some testing stuff.

	* guichan/Workarea.cpp: Disable the test gui for now.

2005-06-10  Al Riddoch  <alriddoch@zepler.org>

	* guichan: New UI code using the guichan library. This is not yet
	  used by the application, but is commited to get it under revision
	  control.

2005-06-08  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/LibModelFile.cpp, loaders/LibModelFile.h: Fix bug where the 
	  number of triangles * 3 was used instead of number of vertices. Fix 
	  indexing problem for normal_counter calculation.

2005-06-08  James Turner  <james@worldforge.org>

	* loaders/AreaModelLoader.cpp remove some lingering debug output
	
	* loaders/ModelHandler.cpp: remove unnecesary including of headers for
	  every loader.
	  
	* loaders/ParticleSystemLoder.cpp, loaders/ParticleSystemLoader.h,
	  loaders/Makefile.am: add a ModelLoader for the particle code, and
	  add it to the build.
	  
	* loaders/ParticleSystem.cpp, loaders/ParticleSystem.h: add in a few
	  more variables, and initialise by defaut to values for a fire.

2005-06-07  Simon Goodall <sear@simongoodall.co.uk>

	* configure.ac: Require Eris 1.3.6
	* src/client.cpp: Update account and character code to use new Eris
	  interface.

2005-06-07  Hagen Moebius  <hagen.moebius@starschiffchen.de>

	* renderers/StaticObject.cpp: Added #include <cassert>. Line 40 uses
	  the assert() function which caused a compiler error for me.

2005-06-06  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/LibModelFile_Loader.cpp, loaders/Model.h, 
	  loaders/ObjectRecords.cpp, loaders/ObjectRecord.h,
	  loaders/cal3d/Cal3dModel.cpp, loaders/cal3d/Cal3dModel.h, 
	  loaders/cal3d/Cal3d_Loader.cpp: Remove extra scaling as this is now in
	  in the general render function.

2005-06-06  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/Modelhandler.cpp: call shutdown on unloading models to avoid
	  assert.

2005-06-06  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/3ds.cpp, loaders/3ds.h: Use varconf to store 3ds filename and
	  allow texture_map names to be overridden. If the filename specified by
	  models.cfg is not a varconf file, then try and load it as a 3ds file.

2005-06-06  Simon Goodall <sear@simongoodall.co.uk>

	* src/System.cpp: Add config item to disable joysticks. 
	  input:disable_joystick default is false.

2005-06-06  Simon Goodall <sear@simongoodall.co.uk>

	* renderers/GL.cpp, src/WorldEntity.cpp:  Scale any object by bbox 
	  height, not just models cal3d models.

2005-06-06  Simon Goodall <sear@simongoodall.co.uk>

	* renderers/TextureManager.cpp: Fix bug where texture used to create 
	  mask was assumed to have either 3 or 4 bytes per pixel.

2005-06-06  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/3ds.cpp: Change RenderObject creation so we don't create an
	  empty object.
	* src/System.cpp: Remove old code.
	* src/WorldEntity.cpp: Add a case for mode == fixed where we take the
	  entity coords as the absolute position.

2005-06-06  Al Riddoch  <alriddoch@zepler.org>

	* loaders/ParticleSystem.h: Add missing newline to end of file.

2005-06-05  James Turner  <james@worldforge.org>

	* loaders/ParticleSystem.cpp: replace all use of drand48() with
	  portable, and considerably more sexy use of WFMath's Mersenne Twister

2005-06-05  James Turner  <james@worldforge.org>

	* renderers/Render.h, renderers/GL.h, renderers/GL.cpp: add another
	  accessor to the Render interface, 'getModelviewMatrix', so a Model
	  can generate view-dependant billboards easily.

	* loaders/ParticleSystem.cpp, loaders/ParticleSystem.h,
	  loaders/Makfile.am: initial work on a simple particle system. Not yet
	  used, but should compile successfully.

2005-06-05  Simon Goodall <sear@simongoodall.co.uk>

	* src/Calendar.cpp: Make suce m_seconds_counter is correctly wrapped.

2005-06-04  Al Riddoch  <alriddoch@zepler.org>

	* src/Bindings.cpp: Make getting bindings a little more efficient
	  and robust.

	* loaders/3ds.cpp: Don't use [] to get materials, as it seems to
	  cause a crash under some circumstances.

2005-06-04  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/cal3d/Cal3dCoreModel.cpp, loaders/cal3d/Cal3dCoreModel.h: Use
	  return code rather than exceptions. Remove some debugging output.
	* loaders/cal3d/Cal3dModel.cpp: Add IDLE as a specific animation case.
	* loaders/cal3d/CoreModelHandler.cpp: Check return value of init.
	* renderers/TextureManager.h: Use find instead of [] on texture map.

2005-06-04  Simon Goodall <sear@simongoodall.co.uk>

	* configure.ac: Explicitly add tiff,jpeg, png and z libs. Make sear 
	  desktop entry and autopackage file.
	* sear.desktop.in: Add desktop entry file.
	* autopackage/default.apsec.in: Add autopackage builder file
	* src/Makefile.am: Install Icon for desktop entry

2005-06-04  Simon Goodall <sear@simongoodall.co.uk>

	* src/System.cpp, src/System.h: Add option to start fullscreen. Default
	  to disabled.

2005-06-04  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac, renderers/GL.cpp: Check whether SDL is recent enough
	  to support multisample buffers.

2005-06-04  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp: Fix the key used to check the fsaa option
	  setting.

2005-06-03  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/3ds.cpp: Set initial material name in case there happens to 
	  be a blank name.
	* loaders/cal3d/Cal3dModel.cpp: Properly set texture unit 1 textures.
	  Move some output to debug messages only.
	* src/Calendar.cpp, src/Calendar.h: Change unsigned int to int's as 
	  there are some casting problems.

2005-06-03  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp: Disable FSAA by default.

2005-06-03  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp, renderers/GL.h: Add option to enable full screen
	  anti-aliasing.

2005-06-03  Al Riddoch  <alriddoch@zepler.org>

	* src/Makefile.am: Update the static libs.

	* loaders/3ds_Loader.cpp: Report failures to load 3ds models.

2005-06-03  Al Riddoch  <alriddoch@zepler.org>

	* src/Makefile.am: Remove old cursors.h from list of files.

2005-06-02  Simon Goodall <sear@simongoodall.co.uk>

	* src/WorldEntity.cpp: Fix setting of height when in a container. Add
	  more output to /identify.

2005-06-02  Simon Goodall <sear@simongoodall.co.uk>

	* data/general.cfg, src/System.h: Disable mouse_move_select by default.

2005-06-02  Simon Goodall <sear@simongoodall.co.uk>

	* configure.ac: Fix some formatting issues

2005-06-02  Simon Goodall <sear@simongoodall.co.uk>

	* renderers/Makefile.am: Add cursors.h to list of files.

2005-06-02  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/BoundBox.cpp: Remove debugging output
	* loaders/ModelRecord.cpp, loaders/ModelRecord.h: Move constructor to 
	  code file and initialise state numbers to correct values.
	* renderers/StateManager.cpp: Assert that requested state number is
	  valid.
	* src/FileHandler.cpp: Use $variable instead of installBase var to set 
	  media paths. Keep substituting variables until there are none left. 
	  This will break if there is a circular definition.
	* src/WorldEntity.cpp, src/WorldEntity.h: Fix SigC::bind stuff to 
	  compile under SigC 1.2

2005-06-01  James Turner  <james@worldforge.org>

	* src/Calendar.cpp, src/Calendar.h: update to work with Eris time
	  API, i.e passing in the absolute server seconds, instead of a delta.
	  
	* src/System.cpp, src/System.h: remove obsolete (and unused) time code,
	  and update for the revised Eris and Calendar API.


2005-06-01  Simon Goodall <sear@simongoodall.co.uk>

	* configure.ac: Use pkgconfig to find cal3d. Add -lGL to check_lib 
	  function for GLU for cases where GL is not linked explicitly. Update
	  required eris version.
	* src/WorldEntity.cpp: Fiddle with mode settings to support "swimming"
	  and "floating" objects.

2005-06-01  Al Riddoch  <alriddoch@zepler.org>

	* loaders/3ds.cpp: Prevent segfaults when a .3ds file does not have
	  materials.

2005-05-29  James Turner  <james@worldforge.org>

	* loaders/AreaModelLoader.cpp: initialise state values on the model
	  record, to avoid crashes when selecting an object with an areas.
	  This also removes the need to specify a state in the model_records
	  entry for an area.

2005-05-28  Al Riddoch  <alriddoch@zepler.org>

	* loaders/cal3d/Cal3dModel.cpp: Add rough implementation required to
	  calculate transform used to render tools attached to wield points
	  on the body.

2005-05-27  James Turner  <james@worldforge.org>

	* src/WorldEntity.cpp, src/WorldEntity.h: use the new Eris::View
	  notification feature to correctly setup attachments that exist
	  when entering the world. (Requires bleeding-edge Eris)

2005-05-26  Simon Goodall <sear@simongoodall.co.uk>

	* loaders/cal3d/Cal3dCoreModel.cpp: Handle exceptions thrown when 
	  skeleton is missing.

2005-05-25  James Turner  <james@worldforge.org>

	* loaders/Makefile.am, loaders/NulModel.h, renderers/Graphics.cpp, 
	  loader/ModelHandler.cpp: if loading the model fails, fall back to
	  a NullModel. Hence, getModel should always return a valid result
	  of some kind.

2005-05-25  James Turner  <james@worldforge.org>

	* loaders/Cal3dModel.cpp, loaders/Cal3dModel.h: override
	  getPositionForSubmodel to return valid (but dummy) data for testing
	  attachments.
	  
	* src/WorldEntity.cpp, src/WorldEntity.h: track attached children via
	  a new map, and make this available for rendering. Update the map
	  based on changed to the 'right_hand_wield' attribute for the
	  moment.
	  
	* renderers/Graphics.cpp, renderers/Graphics.h: add in a drawAttached
	  method, and invoke for objects with a non-empty attachment map.
	  Perform a dummy mapping of attachment slots to model names.
	  and then modify the attached object's ObjectRecord with a pos
	  relative to the parent.

2005-05-24  James Turner  <james@worldforge.org>

	* renderers/TextureManager.cpp: be less noisy
	
	* src/WorldEntity.cpp, src/WorldEntity.h: remove some legacy motion
	  prediction code, which has been superseeded by the motion code in
	  Eris 1.3
	  
	* loaders/Model.h, loaders/ModelHandler.cpp: add a new virtual
	  method to Model, getPositionForSubmodel, which can be used to
	  extract sub-model positioning information from a Model subclass
	  in the future.

2005-05-24  Al Riddoch  <alriddoch@zepler.org>

	* loaders/AreaModel.cpp: Use asNum() for getting numeric values
	  from Atlas.

2005-05-24  James Turner  <james@worldforge.org>

	* loaders/AreaModel.cpp: enable the code to transform area points
	  from entity-local to terrain coordinates, now Mercator is fixed
	  to deal with Areas that do not intersect segment boundaries.

2005-05-24  James Turner  <james@worldforge.org>
	
	* src/WorldEntity.cpp, environment/TerrainRenderer.cpp: remove
	  some excessively noisy debug output

2005-05-23  James Turner  <james@worldforge.org>

	* renderers/Graphics.cpp, renderers/Graphics.h, renderers/GL.h,
	  renderers/GL.cpp, renderers/Render.h: create Models earliers in
	  the rendering pipeline, store them directly in the render queues,
	  and update them as the queues are built. As a result, drawQueues
	  no longer has side-effects.

2005-05-19  James Turner  <james@worldforge.org>

	* loaders/ObjectHandler.cpp, loaders/ObjectRecord.cpp,
	  loaders/ObjectRecord.h: add in another draw flag, 'draw_attached', as
	  ground-work for drawing sub-meshes.

	* laoders/AreaModel.cpp, loaders/AreaModel.h: transform the polygon
	  shape using the object record's position and orientation, prior to
	  passing the data to Mercator::Area. NOTE - this code is temporarily
	  disabled until some other bugs are resolved.
	  
	* loaders/AreaModel.cpp, loaders/AreaModel.h,
	  loaders/AreaModelLoader.cpp: detect and handle failures to load an
	  area model successfuly; attempt to clean up instead of crashing.

2005-05-18  James Turner  <james@worldforge.org>

	* loaders/Model.h, loaders/ObjectRecord.cpp, loaders/ObjectRecord.h:
	  pass appearance around as a const map
	  
	* loaders/cal3d/Cal3dModel.cpp, loaders/cal3d/Cal3dModel.h: take a
	  copy of the apperance map to modify it.

	* src/Character.cpp, src/Character.h: make setting appearance work in
	  open-loop mode, i.e rely on the server to update the entity data.
	  
	* src/WorldEntity.cpp, src/WorldEntity.h: over-ride the new Eris::Entity
	  method ::onAttrChange, instead of using the Changed signal. Print out
	  a debug message when the interim 'right_hand_wield' attr is changed.

	* environment/TerrainRenderer.h: make ::invalidate() clear the texture
	  storage map out.

2005-05-18  Simon Goodall <sear@simongoodall.co.uk>

	* renderers/TextureManager.cpp, renderers/TextureManger.h: Linkup 
	  varconf error callback to report parse errors in texture config files.

2005-05-18  Simon Goodall <sear@simongoodall.co.uk>

	* src/sear.in: Store media channel name in a variable

2005-05-17  Al Riddoch  <alriddoch@zepler.org>

	* loaders/ModelHandler.cpp: Fix checkModelTimeouts() so it doesn't
	  put NULLs into the maps.

2005-05-16  Simon Goodall <sear@simongoodall.co.uk>

	* renderers/GL.cpp, renderers/Graphics.cpp: Add option to show select
	  mode view for debugging. Reduce colour space for select mode to allow
	  visual inspection.

2005-05-16  Simon Goodall <sear@simongoodall.co.uk>

	* environment/TerrainRenderer.cpp: Do not draw shadow in select mode.

2005-05-16  Simon Goodall <sear@simongoodall.co.uk>

	* renderers/GL.cpp: Fix generation of colours for selection code.

2005-05-16  Al Riddoch  <alriddoch@zepler.org>

	* loaders/ModelHandler.cpp: Fix a bunch of misuses of operator[]
	  which should fix a whole bunch of assert failures.

2005-05-16  Simon Goodall <sear@simongoodall.co.uk>

	* src/Bindings.cpp: Fix typo in right_ctrl name.

2005-05-08  Al Riddoch  <alriddoch@zepler.org>

	* environment/TerrainRenderer.cpp, environment/TerrainRenderer.h:
	  Changes coded by James and fixed by me. Make alpha textures from
	  a normal array into a sparse array to deal with more more dynamic
	  surfaces.

2005-05-07  James Turner  <james@worldforge.org>

	* loaders/ObjectRecord.cpp: remove noisy debug output whenever
	  height / appearance change.

2005-05-06  James Turner  <james@worldforge.org>
	
	* common/types.h, common/Mesh.h: move Mesh type into it's own header,
	  change it to use GLuint as necessary, and include sage headers.

	* renderers/Render.h: forward declare Mesh
	
	* renderers/GL.cpp: include Mesh.h as necessary
	
	* loaders/3ds.h, 3ds.cpp: move RenderObject to be file-local, with a
	  forward declare in the header, and change it to use GLuint.

	* environment/SkyDome.h: pull in sage/GL.h and switch to using GLuint

	* loaders/LibModelFile.h, loaders/LibModelFile.cpp: strip out
	  unecessary headers, pull in sage headers, and switch to using GLuint

2005-05-06  James Turner  <james@worldforge.org>

	* loaders/AreaModel.cpp, loaders/AreaModel.h, loaders/AreaModelLoader.h,
	  loaders/AreaModelLoader.cpp: add support for defining Mercator
	  AreaShaders based on data in model_records.cfg

2005-05-05  Simon Goodall <sear@simongoodall.co.uk>

	* src/System.cpp: Ignore any time info from Eris until James fixes it.

2005-05-05  Simon Goodall <sear@simongoodall.co.uk>

	* src/Character.cpp: Calculate character entity rotation so that we
	  correctly restore character orientation we we login again. Previously
	  characters did not always face the same way as the camera when first 
	  logging in.

2005-05-05  Simon Goodall <sear@simongoodall.co.uk>

	* src/WorldEntity.cpp, src/WorldEntity.h: Move destructor to heeader.
	* renderers/Graphics.cpp, renderers/Graphics.h, renderers/GL.cpp, 
	  renderers/GL.h, renderers/Render.h: Add +show_names command to render
	  the name of all visible objects on screen.
	* data/bindings.cfg: Bind +show_names to both ctrl keys

2005-05-04  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp, renderers/GL.h: Make near_clip into a setting,
	  so it can be tweaked.

	* environment/Environment.cpp, environment/Environment.h,
	  environment/TerrainRenderer.cpp, environment/TerrainRenderer.h,
	  renderers/GL.cpp, renderers/GL.h, renderers/Graphics.cpp,
	  renderers/Render.h: Modify the select mode code so that terrain
	  is included to correctly obscure entities behind the terrain
	  and allow terrain to be selected.

2005-05-01  Al Riddoch  <alriddoch@zepler.org>

	* src/System.cpp, src/Character.h, src/Character.cpp:
	  Add POS to tool use arguments. Default name to type
	  if it is not specified when making entities.

2005-04-30  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Update names of some historic autoconf macros.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.h, renderers/GL.cpp: Change return type of
	  getWorldCoord() to bool and return if getting a set of world
	  coordinates worked.

	* src/System.h, src/System.cpp: Check if getWorldCoords() worked,
	  if so store the position of the click as well as the ID clicked
	  on.

2005-04-28  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Calendar.cpp: Store result of epochStart. Add asserts to make 
	  sure timestamps are valid.
	* src/System.cpp: Remove old code. Fix clean up on client object init
	  failure. Update getWorldTime checking flag to use SYS_IN_WORLD
	* data/Makefile.am, data/sear-Icon.ico. configure.ac, 
	  src/Makefile.am, src/sear.rc: Oops, we did need the windres bits
	  afterall.
	
2005-04-28  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac: Remove checks for windres
	* renderers/GL.cpp, src/System.cpp, src/System.h: Set window icon
	  correctly before setVideoMode, instead of afterwards. This removes
	  the need for the windows rc file which never worked properly.
	* src/Makefile.am: Remove windres bits
	* src/sear.rc: No longer required.
	* data/sear_icon.bmp, data/sear_icon.ico: No longer required.
	* data/Makefile.am, data/general.cfg: Remove sear_icon references

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* renderers/Graphics.cpp: Prevent crash by doing nothing
	  in setCameraTransform() if we are not yet in world.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* src/main.cpp: Modify Atlas Factories usage to match modified
	  Atlas-C++ API.

2005-04-26  Al Riddoch  <alriddoch@zepler.org>

	* renderers/Graphics.cpp: Move the camera transform code into
	  setCameraTransform(), and clean it up some more.

	* renderers/GL.cpp: Use getCameraTransform() to make getWorldCoords()
	  working.

2005-04-25  James Turner  <james@worldforge.org>

	* src/client.cpp: update Eris::Factory usage for revised Eris API -
	  register Factory from AvatarSuccess slot.

2005-04-25  Al Riddoch  <alriddoch@zepler.org>

	* renderers/Graphics.cpp: Clean up camera code a little.

2005-04-25  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp: Start fixing getWorldCoords().

	* renderers/Graphics.cpp, renderers/Graphics.h: Start work on
	  abstracting camera transform, as its required in other parts of
	  the code.

2005-04-25  James Turner  <james@worldforge.org>

	* loaders/AreaModel.cpp, loaders/AreaModel.h, loaders/AreaModelLoader.h,
	  loaders/AreaModelLoader.cpp, loaders/Makefile.am,
	  loaders/ModelHandler.cpp, loaders/ModelHandler.h: add in initial code
	  for Area models. Not currently used or tested, but should compile and
	  not cause any regressions.

2005-04-25 James Turner <james@worldforge.org>

	* environment/Environment.cpp, environment/Environment.h: replace
	  ::registerAreaEntity with ::registerArea and ::registerTerrainShader
	  methods, in anticipation of doing the heavy lifting in a Model
	  subclass.
	  
	* environment/TerrainRenderer.cpp, environment/TerrainRenderer.h:
	  move the destructor and invalidate() methods into the .cpp file.
	  
	* environment/TerrainRenderer.cpp, environment/TerrainRenderer.h:
	  replace the m_shaders / m_textures fixed arrays with a vector
	  of structs holding the same information in an expandable way.

2005-04-21  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/SkyDome.cpp, environment/Stars.cpp, gui/Workspace.cpp, 
	  loaders/3ds.cpp, renderers/GL.cpp, renderers/Graphics.cpp, 
	  renderers/StaticObject.cpp,loaders/LibModelFile.cpp: Remove 
	  unneccessary calls to glEnableClientState(GL_VERTEX_ARRAY) and 
	  corrsponding disable. Instead call once when setting up GL context.
	* renderers/Statemanger.cpp: Add some comments

2005-04-21  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.ac: Add AC_CHECK_TOOLS for dlltool and as and place all
	  AC_CHECK_TOOLS calls before AM_PROG_LIBTOOL. This is to allow libtool
	  to use the corrcet as when cross-compiling.

2005-04-20 James Turner <james@worldforge.org>

	* loaders/ModelLoader.h, loaders/ModelLoader.cpp, loaders/Makefile.am:
	  give ModelLoader an implementation file, and move the large loadModel
	  method into it, allowing ModelLoader.h to not pull in any headers.

2005-04-19  Simon Goodall  <sear@simongoodall.co.uk>

	* src/client.cpp: Print AvatarFailure messages on screen so user knows 
	  that an error occured when creating or taking a character.

2005-04-15  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ModelLoader.h, loaders/ModelRecord.cpp, loaders/ModelRecord.h:
	  Add a scale by bbox field to  model records.
	* renderers/GL.cpp: Scale model by bounding box if scale_bbox is
	  defined in the model_record.

2005-04-15  Simon Goodall  <sear@simongoodall.co.uk>

	* data/bindings.cfg: Add u as default binding to /use
	* renderers/StateManager.cpp: Add a default state for the cursor in case
	  of a missing states.cfg file
	* renderers/RenderSystem.cpp, renderers/RenderSystem.h: Add a Use cursor
	  to avaible cursors.
	* renderers/TextureManager.cpp, renderers/TextureManager.h: Replace
	  individual cursor loading functions with a generic function. Load a
	  default use cursor.
	* renderers/cursors.h: Added a default use cursor.
	* src/Character.cpp: Change /use to call System::setAction instead of
	  Character::useToolOnEntity directly.
	* src/System,cpp, src/System.h: Add a use action which sets the use
	  mouse cursor and calls Character::useToolOnEntity on the next 
	  "clicked on" entity.

2005-04-15  Al Riddoch  <alriddoch@zepler.org>

	* common/operations.cpp: Fix type of Use op to be "use" not "wield".

2005-04-14  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ModelHandler.cpp: Set model action went it is created to avoid
	  models having the wrong animation.

2005-04-13  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/Camera.cpp: Fix calculation of x/y/z pos.
	* renderers/Graphics.cpp: Make sure camera doesn't go under terrain.

2005-04-13  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Makefile.am: Remove BINRELOC CFLAGS as this information is also 
	  added as a AC_DEFINE statement.

2005-04-13  Simon Goodall  <sear@simongoodall.co.uk>

	* Sear.iss.in: Use VERSION instead of removed SEAR_VERSION

2005-04-13  Simon Goodall  <sear@simongoodall.co.uk>

	* src/client.cpp: Do not delete Factory as Eris handles this.
	* environment/Environment.cpp: Add missing includes so it compiles. Add 
	  some asserts to check for initialisation. Remove some "if (blah)"
	  checks as the asserts should ensure correctness.
	* environment/Environment.h: Remove call to shutdown in destructor.
	* environment/SkyDome.cpp: Remove call to disable VBO's. Make sure
	  things are correctly re-initialied.
	* src/WorldEntity.cpp: Remove messages clean up in destructor. This 
	  should be done automatically.
	* src/ActionHandler/cpp:Change some debug messages
	* loaders/ObjectRecord.cpp: Formatting changes
	* loaders/ModelSystem.cpp, loaders/ModelHandler.h: Move loader creating
	  from Handler to System
	* loaders/3ds.cpp: Move VBO check outside loop
	* environment/TerrainRenderer.cpp, environment.SkyDome.cpp: Remove calls
	* Most .cpp files: Remove config.h include

2005-04-13  Simon Goodall  <sear@simongoodall.co.uk>

	* src/conf.h: Remove file.
	* renderers/Camera.cpp, src/main.cpp: Remove conf.h include
	* loaders/Modelhandler.cpp:  Remove old comments
	* renderers/RenderSystem.cpp: Remove call to shutdown in destrutor.
	* src/Factory.cpp: Remove "Type: xxxx" output

2005-04-13  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.in,configure.ac: Rename to configure.ac. Update Mercator and
	  Eris version requirements. Change USE_MMGE to a cmd define.  Add call
	  to AM_BINRELOC 
	* acinclude.m4: Add binreloc m4 macro
	* src/prefix.c, src/prefix.h, src/Makefile.am, src/FileHandler.cpp: Add
	  autopackages binreloc code.

2005-04-13 James Turner <james@worldforge.org>

	* environment/Environment.cpp, environment/Environment.h: add in
	  initial code to define a Mercator Area based on entity data.
	  The method is mostyle complete, but not used at present, and is
	  un-tested.

	* loaders/ObjectRecord.h, loaders/ObjectRecord.cpp: re-factor
	  ObjectRecord into seperate decleration and implementation, because
	  the inline methods were huge, and dragged in too many headers.

2005-04-12  Simon Goodall  <sear@simongoodall.co.uk>
	
	* loaders/NPlane.cpp: Free display lists in invalidate
	* renderers/GL.cpp: Set pixelStore state on startup
	* renderers/Graphics.cpp, renderers/Graphics.h: Merge James' changes to 
	  make buildQueues more readable
	* src/System.cpp: Remove some null pointer checks. Assert would be more
	  suitable.

2005-04-12 James Turner <james@worldforge.org>

	* environment/TerrainRenderer.cpp: update to work with the modified
	  Surfacestore API in Mercator.

2005-04-06  Simon Goodall  <sear@simongoodall.co.uk>

	* src/System.cpp: Re-order client and character destruction to avoid
	  hitting an assert. Remove if (blah) delete as blah should exist at
	  this point.

2005-04-06  Simon Goodall  <sear@simongoodall.co.uk>


	* src/Calendar.cpp, src/Calendar.h: Change member variable prefix to m_.
	  Intialise TimeStamp with epochStart().

2005-04-06  Simon Goodall  <sear@simongoodall.co.uk>

	* src/client.cpp, src/client.h: Add a setStatus function to make sure 
	  the system object and character avatar pointer is consistent with the
	  current state of entry into the game world. Delay passing the avatar
	  object to the character class until the GotCharacterEntity signal so 
	  avatar->getEntity is not NULL.
	* src/Character.cpp, src/Character.h: Remove m_self #define and use
	  member variable instead. This is set when the avatar object is set.

2005-04-06  Simon Goodall  <sear@simongoodall.co.uk>

	* src/WorldEntity.cpp, src/WorldEntity.h: New eris API has an onTalk
	  method instead of a handleTalk method.

2005-04-06  Simon Goodall  <sear@simongoodall.co.uk>

	* src/client.cpp: Update for eris connect / disconnect API changes.

2005-04-05  Simon Goodall  <sear@simongoodall.co.uk>

	* src/client.cpp, src/client.h: Re-write to handle changes between 
	  states better (i.e. disconnected, connected, logged in, in game
	  world). Remove reconnect method as it is not required. Move
	  m_connection creation to connect function, and destroy it in
	  disconnect to allow multiple connects  and disconnects. Remove 
	  excessive use of exceptions in code.
	* src/Graphics.cpp: Do not render world unless SYS_IN_WORLD flag is set.

2005-04-05  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ModelHandler.cpp, loaders/ModelHandler.h: Implement invalidate
	  method. Remove assert(render) call.

2005-04-05  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Calendar.cpp: Fix time update code. This fixes the random fog 
	  colour issue.

2005-04-04  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/SkyDome.cpp, environment/TerrainRenderer.h,
	  loaders/3ds.cpp: Add check for VBO extension before calling VBO
	  functions.
	* loaders/cal3d/Cal3dCoreModel.cpp, loaders/cal3d/Cal3dCoreModel.h,
	  loaders/cal3d/Cal3dModel.cpp: Use a custom struct to store texture
	  data instead of casting an int to void* as it is not safe on non
	  32-bit machines.
	* src/System.cpp: Remove addition of StaticObject to CacheManager here
	  as it can cause segfaults later on.

2005-03-22  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/CameraSystem.cpp, renderers/CameraSystem.h: Remove const
	  from readConfig as getItem is a non-const method. Pass readConfig 
	  calls to all camera objects currently registered.
	* loaders/cal3d/Cal3dCoreModel.cpp: Set m_initialised to true on init.


2005-03-22  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/TerrainRenderer.cpp: Remove call to segment->invalidate
	  which removed the normal buffer causing some wierd lighting with 
	  vertex arrays.

2005-03-15  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/3ds_Loader.cpp, loaders/LibModelFile_Loader.cpp,
	  loaders/cal3d/Cal3d_Loader.cpp: Expand string variables. Handle
	  changes to init / shutdown correctly.
	* loaders/BoundBox_Loader.cpp, loaders/NPlane_Loader.cpp,
	  loaders/WireFrame_Loader.h: Handle changes to init / shutdown
	  correctly.
	* loaders/LibModelFile.cpp, loaders/LibModelFile.h, 
	  loaders/cal3d/Cal3dCoreModel.cpp, loaders/cal3d/Cal3dCoreModel.h,
	  loaders/cal3d/Cal3d_Loader.cpp, loaders/cal3d/Cal3d_Loader.h,
	  loaders/cal3d/CoreModelhandler.cpp, loaders/cal3d/CoreModelHandler.h,
	  renderers/GL.cpp, renderers/GL.h, renderers/GL.h, src/System.cpp, 
	  src/System.h: Change member variables prefix to m_.
	* loaders/Makefile.am, loaders/ModelHandler.cpp, loaders/ModelHandler.h,
	  loaders/ObjectHandler.cpp, loaders/ObjectHandler.h,
	  loaders/ObjectRecord.h, renderers/Graphics.cpp, src/Character.cpp,
	  src/System.cpp, src/System.h, wrc/WorldEntity.cpp: Add new ModelSystem
	  class to encapsulate model loader functions. Move config file loading
	  from System class to appropriate loader class. Move objectrecord
	  selection code from Graphics class to ModelSystem class.
	* loaders/ModelHandler.cpp, loader/ModelHandler.h,
	  loaders/ObjectHandler.cpp, loaders/ObjectHandler.h: Change member
	  variables prefix to m_.
	* renderers/GL.cpp, renderers/GL.h: Add initial code to get world coords
	  from mouse click
	* renderers/Makefile.am: Add static object to build.
	* src/Character.cpp: Fix use of Eris::Timeouts to stop warning messages
	* src/System.cpp: Shutdown Environment object. Register StaticObject
	  with cachemanager. 
	* src/WorldEntity.cpp: Update calculation of Z coord to (hopefully) 
	  correctly handle moving into a container entity.

2005-03-15  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/Model.h, loaders/3ds.cpp, loaders/3ds.h, loaders/BoundBox.cpp,
	  loaders/BoundBox.h, loaders/NPlane.cpp, loaders/NPlane.h, 
	  loaders/WireFrame.cpp, loaders/WireFrame.h,
	  loaders/cal3d/Cal3dModel.cpp, loaders/cal3d/Cal3dModel.h: Change 
	  member variables to start with m_. 
	* loaders/3ds.cpp, loaders/3ds.h: Refactor code to add a render_mesh
	  function instead of near identical code in render_file and 
	  render_node. Create a default material so sections without materials
	  don't just inherit whatever the last material settings were. Re-add
	  display lists for non-vbo use.
	* loaders/BoundBox.cpp, loaders/BoundBox.h, loaders/NPlane.cpp,
	  loaders/NPlane.h, loaders/WireFrame.cpp, loaders/WireFrame.h: Use 
	  display lists.

2005-03-15  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/Environment.cpp, environment/Environment.h: Add some 
	  asserts to replace some NULL checks

2005-03-15  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/StaticObject.cpp, renderers/StaticObject.h: Create an object to wrap static mesh handling and rendering.

2005-03-15  Simon Goodall  <sear@simongoodall.co.uk>

	* renderers/StateManager.cpp, renderers/StateManager.h: Change member 
	  variable prefix to m_,

2005-03-14  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/TerrainRenderer.h: Reset pointers and clean up textures in
	  call to invalidate()

2005-03-04  Simon Goodall  <sear@simongoodall.co.uk>

	* environment.Stars.cpp: Add mmgr include.
	* loaders/ModelHandler.cpp: Move creation of loaders to init method
	  instead of constructor.
	* renderers/CameraSystem.cpp, renderers/CameraSystem.h,
	  renderers/Camera.cpp, renderers/Camera.h, renderers/Graphics.cpp,
	  renderers/Graphics.h, renderers/RenderSystem.cpp,
	  renderers/RenderSystem.h: Create new CameraSystem class to handle
	  multiple cameras. Move camera init from Graphics to RenderSystem. 
	  Create two default camera's  (Chase and first person), switchable
	  with the "/switch_camera n" command where n is an int >= 0 and <
	  num_cameras.
	* src/Character.h, src/Character.cpp: Make Character class initialised
	  at startup, and associate eris::avatar later
	* renderers/Camera.cpp, renderers/Camera.h, renderers/GL.cpp, 
	  renderers/GL.h, renderers/Graphics.cpp, renderers/Graphics.h,
	  renderers/Render.h, renderers/RenderSystem.cpp, 
	  renderers/RenderSystem.h, src/Calendar.cpp, src/Calendar.h, 
	  src/Character.cpp, src/Character.h, src/System.cpp, src/System.h: 
	  change readConfig and writeConfig calls to take a reference to a
	  varconf object. Only call read/writeConfig when
	  System::read/writeConfig is called.
	* renderers/RenderSystem.h, renderers/Graphics.cpp, src/System.cpp: Add
	  a setMouseVisible function to hide mouse cursor. Fix bug where mouse
	  look was enabled and cursor was not hidden.
	* loaders/ModelHandler.cpp, loaders/ModelHandler.h: Replace timeout with
	  event handler with Eris::Timeout.
	* src/Calender.cpp, src/Calendar.h, src/System.cpp: Sync to server time
	* src/Character.h, src/Character.cpp: Replace Event handler code with 
	  Eris::Timeouts
	* src/Event.h, src/Event.cpp, src/EventHandler.cpp, src/EventHandler.h,
	  src/System.cpp, src/System.h: Remove EventHandler code in favour of 
	  Eris::Timeout
	* configure.in, loaders/Model.h, loaders/ObjectRecord.h,
	  loaders/cal3d/Cal3d_Loader.cpp, loaders/cal3d/Cal3dModel.cpp, 
	  loaders/cal3d/Cal3dModel.h, src/client.cpp, src/Character.cpp,
	  src/Editor.cpp, src/TerrainEntity.h: Use Atlas::Message::*Type
	  instead of Atlas::Message::Element::*Types. Add define to 
	  ATLAS_ELEMENT_TYPEDEF_PRIVATE to suppress warning messges.
	* renderers/TextureManager.cpp: Resize input images to nearest 2^Nx2^M
	  size, and makes sure it is not bigger than the size allowed by OpenGL

2005-02-21  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.in, loaders/Makefile.am, loaders/LibModelFile.cpp,
	  loaders/LibModelFile.h, loaders/LibModelFile_Loader.cpp,
	  loaders/LibModelFile_Loader.h, loaders/ModelHandler.cpp: Add 
	  libmodelfile loader to Sear. Uses "md3" loader name
	* data/states.cfg: Add state record for the cursor
	* common/Log.cpp: Remove "TIMESTAMP - " text from output.
	* gui/Workspace.cpp, renderers/GL.h, renderers/GL.cpp,
	  renderers/Graphics.cpp, renderers/Render.h, renderers/RenderSystem.h,
	  renderers/RenderSystem.cpp, renderers/TextureManager.cpp,
	  renderers/cursors.h, src/Console.cpp, src/Editor.cpp, src/System.h,
	  src/System.cpp, src/WorldEntity.cpp: Move Graphics initialisation and
	  storage to RenderSystem class. Use mouse cursors created from a
	  texture instead of SDL_createCursor.
	* renderers/Graphics.cpp, renderers/Graphics.h: Change member variables
	  prefix to m_. Remove frame limit variables and config items
	* src/ActionHandler.cpp, src/ActionHandler.h, src/Bindings.h,
	  src/Bindings.cpp: Change member variables prefix to m_
	* renderers/Graphics.cpp src/Character.cpp, src/WorldEntity.cpp,
	  src/WorldEntity.h: Re-add entity orientation code, and update 
	  graphics to use these functions.

2005-02-18  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Makefile.am, src/Factory.cpp, src/TerrainEntity.cpp,
	  src/TerrainEntity.h: Create new entity subclass to handle terrain 
	  updates.

2005-02-18  Simon Goodall  <sear@simongoodall.co.uk>

	* configure.in common/Makefile.am common/operations.cpp, 
	  gui/Compass.cpp loaders/ModelHandler.cpp renderers/Frustum.cpp,
	  renderers/GL.cpp renderers/Graphics.cpp src/Character.cpp, 
	  src/Character.h src/Editor.cpp src/Event.cpp src/Event.h,
	  src/Factory.cpp src/Factory.h src/Makefile.am src/System.cpp,
	  src/WorldEntity.cpp src/WorldEntity.h src/client.cpp,
	  src/client.h src/main.cpp,operations.h: Update for Eris 1.3 and Atlas
	  0.5.92 API's. Some functionaliy still needs to be re-implmented
	  (Appearance setting on entity appearance, sync world time with server,
	  adjust height for terrain, get terrain information from world entity,
	  correct character orientation).
	* common/Use.h, common/Wield.h: Removed as functionality is now in
	  operations.cpp/operations.h

2005-02-18  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/cal3d/Cal3dCoreModel.cpp, loaders/cal3d/Cal3dModel.cpp, 
	  loaders/cal3d/Cal3dModel.h, README: Update for Cal3d 0.10.0

2005-01-25  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/Makefile.am, src/Makefile.am: Move cal3d link to main binary
	  to fix linker problems

2005-01-14  Anders Petersson  <demitar@worldforge.org>

	* gui/Dialogue.cpp, src/CacheManager.cpp:  #include <cassert>

2005-01-10  Simon Goodall  <sear@simongoodall.co.uk>

	* src/CacheManager.cpp: Add return values on init/shutdown.
	* src/FileHandler.cpp:  Fix some namespace issues with mkdir.


2005-01-09  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/ModelHandler.cpp: Add loaders that were mistakenly removed

2005-01-09  Simon Goodall  <sear@simongoodall.co.uk>

	* src/CacheManager.cpp, src/CacheManager.h, src/CacheObject.cpp,
	  src/CacheObject.h, src/Makefile.am: Add initial code for a Cache 
	  Manager. Aim is that we can convert 3D objects to an internal format
	  and save directly to disk for subsequent faster loading. Does not
	  need to take care of endinaness etc. as its only intended to use data
	  created and stored on the local machine. Could possibly use for
	  textures too.
	* src/FileHandler.cpp, src/FileHandler.h: Create a wrapper function for 
	  mkdir.

2005-01-07  Al Riddoch  <alriddoch@zepler.org>

	* gui/Text.cpp: Sort out some float to int conversion warnings.

2005-01-07  Al Riddoch  <alriddoch@zepler.org>

	* gui/TextEntry.cpp: Sort out some float to int conversion warnings.

2005-01-06  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Camera.cpp, src/Camera.h, src/Frustum.cpp, src/Frustum.h, 
	  src/Graphics.cpp, src/Graphics.h, src/Light.h, src/LightManager.cpp,
	  src/LightManager.h, src/Render.h: Moved to renderers directory as this
	  is the more logical place for them.
	* src/Model.h, src/Modelhandler.cpp, src/ModelHandler.h,
	  src/ModelLoader.h, src/ObjectRecord.h, src/ObjectHandler.cpp, 
	  src/ObjectHandler.h: Moved to loaders directory as this is the more
	  logical place for them.
	* src/ModelStruct.h: Removed as not used.
	* renderers/Graphics.cpp: Delete compass and lightmanager if created.
	* renderers/Graphics.h: Remove ModelHandler refs as not required.
	* loaders/ModelHandler.cpp, loaders/ModelHandler.h: Change member
	  variables to start with m_. Default to using BoundBox loader if
	  specified loader is not found.
	* src/Makefile.am, renders/Makefile.am, loaders/Makefile.am: Move
	  entries to correct makefile. Combine loaders libs into one.
	* src/Character.cpp: Make use of setAction for pickup, touch, drop,
	  wield, use and give actions.
	* renderers/TextureManager.cpp: Clean up sprites. Add function to find
	  next possible texture size for a given size.
	* renderers/Sprite.cpp: Use printf instead of cerr in construction to
	  avoid valgrind error.
	* src/System.cpp: Clean up workspace object on shutdown
	* Other files: Updated include paths

2005-01-02  Al Riddoch  <alriddoch@zepler.org>

	* gui/TextEntry.cpp, gui/TextEntry.h: Add support for obscured text
	  entry for passwords and the like.

	* gui/Frame.cpp: Tweak the default colour a bit, for better looks.

	* gui/Dialogue.cpp: Fix packing.

	* gui/Box.cpp, gui/Box.h: Add support for end padding in boxes.

	* gui/ConnectDialogue.cpp: Re-arrange contents.

	* gui/LoginDialogue.cpp, gui/LoginDialogue.h: New dialogue
	  for account creation or login.

2005-01-01  Al Riddoch  <alriddoch@zepler.org>

	* gui/Button.cpp, gui/Button.h: Virtualise mechanism for hooking
	  up signals, so child classes can behave differently.

	* gui/Dialogue.cpp: Leave VBox at its default spacing.

	* gui/Frame.cpp: Adjust size of rendered box to match intended size.

	* gui/TextEntry.h: Add accessor for the entered text.

	* gui/Toplevel.cpp, gui/Toplevel.h: Add a flag to handle whether
	  a top level widget is visible.

	* gui/Window.cpp, gui/Window.h: Add a flag to handle whether a window
	  is visible.

	* gui/RootWindow.cpp: Don't render top level windows if they are
	  marked as non-visible.

	* gui/ToggleButton.cpp, gui/ToggleButton.h: New Button types
	  that stays pressed.

	* gui/Panel.cpp, gui/Panel.h: Panel to go on the side of the screen.

	* gui/ConnectDialogue.cpp, gui/ConnectDialogue.h: Dialogue
	  used to connect to the server.

2004-12-31  Al Riddoch  <alriddoch@zepler.org>

	* gui/Box.cpp, gui/Box.h: Make the packing size a constructor
	  parameter.

	* gui/Button.cpp, gui/TextEntry.cpp: Reduce the border size of buttons
	  and textentrys to reduce wasted space.

	* gui/Toplevel.cpp, gui/Toplevel.h: Make border a construction
	  parameter.

	* gui/Text.h: Scale down default text size a little.

	* gui/Dialogue.cpp: Make border and packing 0 so the decorations look
	  better.

2004-12-31  Al Riddoch  <alriddoch@zepler.org>

	* gui/Workspace.cpp: Turn coord system upside down to match what people
	  expect in guis.

	* gui/TextEntry.cpp, gui/Text.h, gui/Text.cpp: Add a scale factor to
	  text so its not so massive.

	* gui/Box.h: Add accessor for number of contained entities, in STL
	  container style.

	* gui/Dialogue.cpp, gui/Dialogue.h: New class for top level decorated
	  widgets.

2004-12-31  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Character.cpp, src/Character.h: Change member variables to begin
	  with m_. Add setAction command to set the action parameter of 
	  character.
	* loaders/cal3d/Cal3dModel.cpp: Play animation of requested action if
	  found, else play the default.

2004-12-31  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/TerrainRenderer.h, environment.TerrainRenderer.cpp: Use 
	  VBO's to render terrain if available, or else fallback to display 
	  lists.
	* sear.spec.in: Change "Copyright" to "License"

2004-12-21  Simon Goodall  <sear@simongoodall.co.uk>

	* Fix memory leak on TerrainRenderer shutdown

2004-12-19  Al Riddoch  <alriddoch@zepler.org>

	* configure.in, src/Makefile.am: Automate getting path names for
	  static versions of libstdc++ and libgcc.a.

2004-12-17  Al Riddoch  <alriddoch@zepler.org>

	* configure.in, src/Makefile.am: Add configure option
	  --enable-static-build to link most of the libraries statically
	  for binary distribution.

2004-12-01  Simon Goodall  <sear@simongoodall.co.uk>

	* acinclude.m4: Distribute lib3ds and SDL m4 macros to avoid configure
	  errors

2004-11-08  Al Riddoch  <alriddoch@zepler.org>

	* src/Calendar.h: Add sigc++ include required for sigc++ 2.0.

2004-11-07  Al Riddoch  <alriddoch@zepler.org>

	* gui/Text.h, gui/Text.cpp, gui/TextEntry.h, gui/TextEntry.cpp,
	  gui/Label.cpp: Work around bugs in Apple's pre-processor which
	  gets confused by String.h

2004-11-06  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.cpp: Don't send use if there is no focus entity.

2004-11-03  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.cpp: Add objtype to args of Use and Wield ops.
	  Find tool by type as well as by name.

2004-10-28  Simon Goodall  <sear@simongoodall.co.uk>

	* loaders/3ds.cpp: Fix segfault on objects with no texture/normal data

2004-10-28  Al Riddoch  <alriddoch@zepler.org>

	* src/System.cpp: Remove the test Toplevel window, as it causes
	  a crash.

2004-10-28  Simon Goodall  <sear@simongoodall.co.uk>

	* environment/SkyDome.cpp, environment/SkyDome.h: Re-Enable VBO's and 
	  write invalidate code
	* loaders/3ds.cpp, loaders/3ds.h: Add VBO support

2004-10-27  Al Riddoch  <alriddoch@zepler.org>

	* gui/Window.cpp: Remove some excessive verbose debug output.

2004-10-26  Al Riddoch  <alriddoch@zepler.org>

	* gui/Box.cpp, gui/Box.h, gui/Button.cpp, gui/Button.h,
	  gui/Container.cpp, gui/Container.h, gui/Label.cpp, gui/Label.h,
	  gui/TextEntry.h, gui/Toplevel.cpp, gui/Toplevel.h, gui/Widget.h,
	  gui/Workspace.cpp, gui/Workspace.h: Remove obsolete show()
	  virtual function, and replace with single show function on
	  Workspace.

2004-10-19  Al Riddoch  <alriddoch@zepler.org>

	* src/System.cpp: Remove obsolete call to obsolete showAll() method.

2004-10-11  Simon Goodall  <sear@simongoodall.co.uk>

	* src/System.cpp: Allow caret key to close console for German keyboards
	* src/Graphics.cpp: Only check entity bbox once for each list of models
	  to draw for that entity

2004-10-19  Al Riddoch  <alriddoch@zepler.org>

	* gui/TextEntry.cpp, gui/TextEntry.h: Handle text differently
	  so that the widget works more sanely.

2004-10-18  Al Riddoch  <alriddoch@zepler.org>

	* gui/Button.cpp, gui/Button.h, gui/Window.cpp, gui/Window.h,
	  gui/Workspace.cpp, gui/Workspace.h, gui/event.h:
	  Re-work mouseMotion() so we can track entering and leaving
	  a window. Add the necessary signals, and add support into
	  Button for cancelling Button press by leaving the window.

	* gui/String.h: Add non-const accessor for contents.

	* gui/Window.cpp, gui/Window.h: Include support for removing
	  child Windows as well as adding them. Simplify keypress
	  model to be based on widget focus rather than mouse
	  position.

	* gui/Workspace.cpp, gui/focus.h gui/focus.cpp: Add support
	  for window focus.

	* gui/TextEntry.cpp, gui/TextEntry.h, gui/Caret.cpp gui/Caret.h:
	  Add support for a text cursor using Caret, and use focus
	  to determine if it should be displayed. Use new focus based
	  text input and improved special keypress to make text entry
	  more usable.

2004-10-18  Al Riddoch  <alriddoch@zepler.org>

	* gui/Workspace.h, gui/Workspace.cpp, gui/Window.h, gui/Window.cpp:
	  Add event handler for keypress events.

	* TextEntry.cpp TextEntry.h: New widget for entering text.

2004-10-16  Al Riddoch  <alriddoch@zepler.org>

	* gui/Box.cpp, gui/Box.h, gui/Button.cpp, gui/Button.h,
	  gui/Container.cpp, gui/Container.h, gui/Frame.cpp, gui/Frame.h,
	  gui/Label.cpp, gui/Label.h, gui/Toplevel.cpp, gui/Toplevel.h,
	  gui/Widget.h, gui/Window.cpp, gui/Window.h, gui/Workspace.cpp,
	  gui/Workspace.h, gui/event.h: More progress with the gui at last.

2004-10-11  Simon Goodall  <sear@simongoodall.co.uk>

	* src/Console.cpp: Show console by default on startup so newbie's have
	  some idea of what to do.

2004-09-29  James Turner  <james@worldforge.org>

	* src/WorldEntity.cpp, src/WorldEntity.h: further code cleans-ups,
	  removing 'abs_pos' and 'abs_orient' members (and hence the code to
	  update them) in favour of just computing the value directly. abs_pos
	  in particular was not being used by the old code at all.
	  
	* common/types.h, src/Utility.cpp: turn OrientBBox into a class, and
	  add some helper methods for constructing and rotating it, which
	  makes code in WorldEntity more readable. This should probably all be
	  changed to use WFMath oriented bboxs, but that's a much bigger job.

2004-09-24  Al Riddoch  <alriddoch@zepler.org>

	* src/WorldEntity.cpp: Fix direction of orientation calculation.

2004-09-24  James Turner  <james@worldforge.org>

	* src/WorldEntity.cpp, src/WorldEntity.h: change how absolute entity
	  position is calculated, so the interpolated position is always
	  applied in location coordinates. Also remove the deeply confusing
	  'SetVelocity' method that actually just set a time.

2004-07-29  Simon Goodall  <simon@simongoodall.co.uk>

	* common/Utility.cpp, common.Utility.h, renderer/GL.cpp, src/.cvsignore,
	  src/Console.cpp, src/Console.h, src/Graphics.cpp, src/Graphics.h,
	  src/System.cpp, src/System.h: Console autocomplete, improved line 
	  editing and support for quotes by HagenM. Also key repeat delays are
	  user configurable and command history is saved.

2004-07-27  Simon Goodall  <simon@simongoodall.co.uk>

	* src/sear.in: Use $datadir instead of $prefix/share. Use $homedata for
	 $HOME/.sear
	* .cvsignore, src/.cvsignore: Updates for latest changes
	* sear-media.spec.in: Update license info

2004-07-27  Simon Goodall  <simon@simongoodall.co.uk>

	* src/sear.in: Fix $prefix capitalisation

2004-07-27  Simon Goodall  <simon@simongoodall.co.uk>

	* src/sear.in: More debian related fixes

2004-07-26  Simon Goodall  <simon@simongoodall.co.uk>

	* sear.spec.in, src/Makefile.am, src/sear.in: Rename sear.bin to 
	  sear-bin for debian compatibility. 

2004-07-19  Simon Goodall  <simon@simongoodall.co.uk>

	* Makefile.am, data/Makefile.am, scripts/Makefile.am: Move data and
	  scripts installation into data and script Makefile.am.
	* configure.in: Bump sear version number for release. Update for spec 
	  files and sear.in script
	* sear-media.spec.in: Remove WFUT.jar from rpm
	* sear-updater.spec.in: Make rpm containing WFUT.jar
	* sear.spec.in: Remove requires that are derived from other libs. Add missing requires. Update for new script / binary files
	* src/FileHandler.cpp: Fix code formating.
	* src/Makefile.am: Update for new exec script
	* src/System.cpp: Fix code formatting. Do not print cmd line args.
	* src/sear.in: Script file to run updater if found before starting
	  sear.bin

2004-07-14  Simon Goodall  <simon@simongoodall.co.uk>

	* sear-media.spec.in: Initial version of spec file to generate media rpm
	  using WFUT.
	* sear.spec.in: Updated for current sear state
	* common/Utility.h: gcc 3.4 fixes
	* renderers/TextureManager.cpp: Fix warning
	* src/Graphics.cpp: Disable GUI rendering in prep for release

2004-06-30  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.cpp: Use old style Atlas Message typedefs to keep
	  compatable with 0.4.93.

2004-06-30  Simon Goodall  <simon@simongoodall.co.uk>

	* environment/TerrainRenderer.cpp: Move sea level calculation out of loop (thanks to JohnFlux)
	* loaders/cal3d/Cal3D.cpp: Use a longer blend time between animations
	* src/FileHandler.cpp: Include errno.h for gcc 3.4
	* src/Graphics.cpp, src/Light.h: Use enum for colour channels
	* src/LightManger.cpp: Code tidying

2004-06-28  Al Riddoch  <alriddoch@zepler.org>

	* common/Use.h, common/Wield.h, common/operations.cpp: Add
	  new Use and Wield op classes.

	* src/Character.cpp, src/Character.h: Add new use and wield
	  commands to character using new ops.

2004-06-26  Simon Goodall  <simon@simongoodall.co.uk>

	* src/system.cpp, src/Filehandler.h, src/FileHandler.cpp: Change storage type from list to set to avoid duplicates. Make code use typedef for FileList

2004-06-26  Simon Goodall  <simon@simongoodall.co.uk>

	* renderers/GL.cpp: Fix bug where sun light source was disabled	

2004-06-26  Simon Goodall  <simon@simongoodall.co.uk>

	* renderers/GL.cpp: Remove some commented out code

	* src/Graphics.cpp, src/Graphics.h,src/Light.h, src/LightManager.cpp, src/LightManager.h, src/System.cpp: Finish basic light manager code. Create a new light source for every "fire" object that is visible. Read/Write light properties from config file if they exist.


2004-06-25  Simon Goodall  <simon@simongoodall.co.uk>

	* src/Character.cpp, src/Character.h: Allow setting names to /make cmd.

2004-06-25  James Turner  <james@worldforge.org>

	* environment/SkyDome.cpp: fix fog color calculation to include
	  a 0.5 offset so we blend two values correctly at integral pixels.

2004-06-25  Simon Goodall  <simon@simongoodall.co.uk>

	* src/ModelLoader.h: Fix cut and paste error where offset_x was ignored

2004-06-24  Simon Goodall  <simon@simongoodall.co.uk>

	* Add a Z rotation option to model records to rotate odd objects

2004-06-24  James Turner  <james@worldforge.org>

	* Add support for world editing (via an admin account) using commands
	  bound to keys. New functionality in Editor class, created by system,
	  which will handle all the privileged commands.
	
	* Make the command binder handle modifier keys: preprend various magic
	  strings based on the modifier state.
	  
	* Update standard bindings.cfg with some default bindings for the
	  edit keys.

2004-06-23  Simon Goodall  <simon@simongoodall.co.uk>
	* loaders/3ds.cpp,loaders/3ds.h: Make use of "masking" function to allow alpha mapped textures during selection. Remove uneeded code.

2004-06-23  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.cpp: Fix the position of entities passed to other
	  characters.

2004-06-22  Simon Goodall  <simon@simongoodall.co.uk>
	* renderers/GL.cpp: Fix clamping

2004-06-22  Simon Goodall  <simon@simongoodall.co.uk>
	* renderers/GL.cpp: clamp min light level to 0.15f so we can still see at night

2004-06-21  Simon Goodall  <simon@simongoodall.co.uk>
	* src/ObjectRecord.h: Fix bug where updated bbox from server would ignore scale_height option in model records

2004-06-21  Simon Goodall  <simon@simongoodall.co.uk>
	* loaders/3ds.cpp, loader/3ds.h, loaders/3ds_Loader.cpp, loaders/cal3d/Cal3d_Loader.cpp,src/ModelLoader.h,src/ModelRecord.h: Add a scale by height option to model records and use it in the 3ds and cal3d loader

2004-06-21  Simon Goodall  <simon@simongoodall.co.uk>
	* src/WorldEntity.cpp: Add action events for mode and action changed
	* src/Character.cpp: Rename action event to avoid name clashes
	* src/Model.h, src/ObjectRecord.h, src/WorldEntity.cpp: Dyamically
	  resize models when bbox changes.

2004-06-22  James Turner  <james@worldforge.org>

	* Make joystick axes configurable in general.cfg

2004-06-21  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.cpp: Add objtype to arguments of Set ops for
	  customizing characters.

2004-06-20  Simon Goodall  <simon@simongoodall.co.uk>
	* src/WorldEntity.cpp: Add a "swimming" mode check

2004-06-20  Simon Goodall  <simon@simongoodall.co.uk>
	* src/Graphics.cpp: Add missing check for draw_self from object_records;
	* src/Character.cpp, src/Character.h: Add /set_height command to change character height. Model height is not updated dynamically yet.
	* common/types.h, src/Frustum.h, src.Frustum.cpp, src/Graphics.cpp, src/WorldEntity.h, src/WorldEntity.h: Added code to orientate the bounding box to the quaternion of the entity. Add frustum check for this. Not enabled by default. Need to change method near the "Change method here" comment in src/Graphics.cpp

2004-06-20  Al Riddoch  <alriddoch@zepler.org>

	* loaders/3ds.cpp: Add in a scale transform when rendering 3ds
	  files which some models seem to need.

2004-06-20  Simon Goodall  <simon@simongoodall.co.uk>
	* loaders/BoundBox.cpp: Fix incorrect texture bug when using display lists

2004-06-15  Simon Goodall  <simon@simongoodall.co.uk>
	* loaders/3ds.cpp: Fix segfault on models with no texture through using unitialised values;

2004-06-19  Al Riddoch  <alriddoch@zepler.org>

	* environment/TerrainRenderer.cpp: Re-arrange terrain shaders, for
	  better looking hills.

2004-06-18  Al Riddoch  <alriddoch@zepler.org>

	* environment/TerrainRenderer.cpp: Be sure to use heap allocation
	  to big arrays, rather than stack.

2004-06-15  Al Riddoch  <alriddoch@zepler.org>

	* loaders/3ds.cpp: Only render meshes directly if the 3ds file does
	  not contain a node structure.

2004-06-15  Simon Goodall  <simon@simongoodall.co.uk>
	* Further appearance fixes. Now loads appearance at startup

2004-06-15  Al Riddoch  <alriddoch@zepler.org>

	* src/System.cpp, src/Character.cpp: Remove debugging output
	  that was slowing down rotation.

2004-06-15  Al Riddoch  <alriddoch@zepler.org>

	* src/Event.h, src/Event.cpp: Add a new event to explicitly send an
	  update to the server.

	* src/Character.h, src/Character.cpp: If the user moves the mouse,
	  avoid sending an update to the server if one has been sent recently.

2004-06-13  Simon Goodall  <simon@simongoodall.co.uk>
	* Initial workings to allow appearance attributes of character to be changed. /read_app reads the properties from the server. /set_app is used to set mesh and material properties. E.g. "/set_app mesh head 1" changes head mesh. "/set_app material head alternative" changes head material. /clear_app clears current settings

2004-06-13  Simon Goodall  <simon@simongoodall.co.uk>
	* Fix bug where the render active name function did select the correct state to render with.

2004-06-13  Al Riddoch  <alriddoch@zepler.org>

	* Fix up all the Makefile.am files so that distcheck works.

2004-06-11  Al Riddoch  <alriddoch@zepler.org>

	* src/Render.h, renderers/GL.h, renderers/GL.cpp,
	  common/Utility.h, common/Utility.cpp:
	  Change some pass by value arguments to pass by reference
	  for efficiency.

2004-06-10  Al Riddoch  <alriddoch@zepler.org>

	* src/WorldEntity.h, src/WorldEntity.cpp,
	  src/Frustum.h, src/Frustum.cpp,
	  src/Character.h, src/Character.cpp:
	  Change some pass by value arguments to pass by reference
	  for efficiency.

	* gui/Workspace.cpp: Get rid of some annoying debug ouput.

2004-06-09  James Turner  <james@worldforge.org>

	* Updated method for computing the fog color, based on the current
	  horizon color. Rather than using readPixels, which is slow,
	  sometimes drastically so, store the first (bottom) row of
	  the atmosphere texture in client memory, and do our own
	  interpolation.

2004-06-09  Al Riddoch  <alriddoch@zepler.org>

	* gui/Workspace.cpp: Start writing event processing code.

	* gui/Window.h, gui/Window.cpp: Add interface to pass mouse motion
	  events to windows.

	* gui/Widget.cpp: Clean up formatting.

	* gui/event.h: Add enum for event types.

2004-06-09  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp: Tweak light parameteres to give a smaller but
	  brighter pool of light.

2004-06-09  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp: Enable character light source, and provide
	  some sensible defaults for it.

	* src/Graphics.cpp: Modify the place where character lighting is
	  applied to make it easier to control relative position to the
	  character.

2004-06-08  Al Riddoch  <alriddoch@zepler.org>

	* renderers/GL.cpp: Remove pointless call to glClear.

	* environment/SkyDome.cpp: Clear screen after reading back fog
	  colour which eliminates flickering sky, and makes stars twinkle.

2004-06-07  James Turner  <james@worldforge.org>

	* Fix linux compilation of stars code. Thank goodness
	  I have a Loonix box these days.

2004-06-07  James Turner  <james@worldforge.org>

	* Add star rendering to the environment code. Very simple while the
	  renderer integration issues are sorted out; in the future, will use
	  point sprites and colors. 
	  
	* Add a stars state to states.cfg
	
	* Add an unsigned 8-bit RGBA color to common/types.h
	
	* Add a long 'skirt' to the sky dome, and hence always use pure
	  black as the glClear color. We still need the glReadPixel hack for
	  getting the fog color, will address that in a future change.

2004-06-07  Al Riddoch  <alriddoch@zepler.org>

	* gui/Workspace.cpp, gui/Workspace.h, src/System.cpp: Pass
	  SDL events to the gui code.

2004-06-05  Al Riddoch  <alriddoch@zepler.org>

	* environment/TerrainRenderer.cpp: Implement culling entire terrain
	  chunks using the Frustum test. Big speedup.

2004-06-04  Al Riddoch  <alriddoch@zepler.org>

	* gui/Container.cpp: Implement addChild() and showAll().

	* gui/Button.cpp: Use addChild for adding child widget.

	* gui/Frame.cpp: Get rid of default size.

	* gui/Toplevel.cpp, gui/Toplevel.h: Implement top level widget.

	* gui/Window.cpp, gui/Window.h: Add methods to change geometry.

	* gui/Workspace.cpp, gui/Workspace.h: Remove test widget,
	  and add methods to allow widgets to install stuff.

	* src/System.cpp: Test out new Toplevel.

2004-06-03  Al Riddoch  <alriddoch@zepler.org>

	* gui/Button.cpp, gui/Button.h, gui/Container.cpp, gui/Container.h,
	  gui/Graphic.h, gui/Label.cpp, gui/Label.h, gui/Widget.h,
	  gui/Workspace.cpp, gui/Workspace.h: Add show interface to widgets
	  for when they are ready to be rendered.

	* gui/Toplevel.h, gui/Toplevel.cpp: Class for top level widgets.

2004-06-03  James Turner  <james@worldforge.org>

	* XCode project updates - want to be able to revert to this
	  version if I break stuff.

2004-06-03  Al Riddoch  <alriddoch@zepler.org>

	* gui/Window.h, gui/Window.cpp: Add coords and size, adding children,
	  and the render interface which allows us to render windows
	  as a hierarchy.

	* gui/RootWindow.h, gui/RootWindow.cpp: Implement render to
	  iterate over children.

	* gui/Frame.h, gui/Frame.cpp: Fix render interface to comply with
	  base class, and draw based on window coords.

	* gui/Container.h, gui/Container.cpp: Remove render interface, as
	  this widget type is not rendered. Implement constructor and
	  destructor.

	* gui/Workspace.h, gui/Workspace.cpp: Make workspace
	  a container, so it can hold top level widgets. Implement
	  rendering the rootwindow when draw is called. Add a demo
	  widget.

2004-06-02  Al Riddoch  <alriddoch@zepler.org>

	* gui/Workspace.cpp: Fix test gui drawing code, and make it use
	  vertex arrays. Add necessary states entry.

2004-05-30  Al Riddoch  <alriddoch@zepler.org>

	* renderers/TextureManager.cpp: Fix texture load error detection,
	  and make output a little more useful.

	* renderers/ImageUtils.h: Add newline to end of file.

2004-05-30  James Turner  <james@worldforge.org>

	* Change an assert() on texture load errors to something less
	  violent, just print an error and stop generating mip-maps.

2004-05-30  James Turner  <james@worldforge.org>

	* Refactor texture ID generation, to avoid manual resizing of the
	  STL containers (they behave smartly anyway). As a result, got
	  rid of m_texture_counter completely (use m_names.size() instead)
	  
	* Added a general config option, base_texture_level, and a console
	  command, /set_texture_detail, to allow playing with texture
	  detail at runtime.
	  
	* Cleaned up the TextureManager's interactions (or lack of) with 
	  the config system.
	  
	* Factored the image load code into a helper file, ImageUtils.cpp
	
	* Rewrote the mip-mapping to never use SGIS_GENERATE_MIPMAPS,
	  since it is hard to integrate with dynamic texture detail reduction.
	  This also allows us to use arbitrary texture storage formats in
	  the future, since the only call we make to load textures is
	  glTexImage2D diurectly.
	  
	* Added custom mip-mapping code to ImageUtils.cpp : not the nicest
	  code ever, but pretty simple and it seems to work.

	* Found a latent bug in the texture loader, where 8-bit (single channel)
	  surfaces were being treated as 32-bit. I have default these to
	  GL_ALPHA for the moment, but perhaps they should default to
	  GL_LUMINANCE? Need to ask Al and Simon.
	  
	* Removed the include of SDL_image.h from System.h, since only two
	  source files (System.cpp and ImageUtils.cpp) ever call SDL_image
	  functions.

2004-05-28  Al Riddoch  <alriddoch@zepler.org>

	* gui/Workspace.h, gui/Workspace.cpp: Hold reference to system object
	  in gui, for access to renderer etc. Add text rendering code.

	* gui/Widget.h: Remove rendundant render() interface.

	* src/System.h, src/System.cpp, src/Graphics.cpp: Add a gui Workspace
	  into the render loop.

2004-05-28  James Turner  <james@worldforge.org>

	* Refactor texture config code, so we default to using
	  mipmaps. Ensure we use findItem before calling getItem.
	* When mipmapping is enabled for a texture, make the
	  default MIN_FILTER be GL_LINEAR_MIPMAP_LINEAR
	* Add in inital (hard-coded) logic to use a different
	  base mipmap level.

2004-05-26  James Turner  <james@worldforge.org>

        * Remove <strstream> check from configure, and usage from
          Utility.h
        * Updated version of XCode project

2004-05-26  Al Riddoch  <alriddoch@zepler.org>

	* gui/Frame.h: Fix include typo.

2004-05-26  Al Riddoch  <alriddoch@zepler.org>

	* gui/*: Correctly put all the gui classes into the Sear namespace.

2004-05-24  Al Riddoch  <alriddoch@zepler.org>

	* renderers/TextureManager.cpp, renderers/StateManager.cpp,
	  renderers/default_font.h: Use pure alpha texture for font,
	  and enable blending and get smoother less aliased text.

2004-05-24  Al Riddoch  <alriddoch@zepler.org>

	* gui/*: Updated ground work for gui widgets.

2004-05-24  James Turner  <james@worldforge.org>

	* Fix the compass to actually point north. Ooops.
	* Add a fail() handler to sprite, falling back to the default
	  texture and a fixed size, currently 64x64
	* Add XCode project file
	
2004-05-23  James Turner  <james@worldforge.org>

	* Add in a Sprite class, including a new config file, and changes
	  to the TextureManager to interoperate with Sprites. The original
	  Sprite code was lifted from Al's work in Apogee and modified to
	  work in sear.
	* Add a Compass class to the gui files, again taken from Apogee
	  and modified.
	* Change Graphics to create a compass and update it's angle.
	* Add a 'sprite' state to the state config file

2004-05-23  Al Riddoch  <alriddoch@zepler.org>

	* src/Character.h, src/Character.cpp: Add a make command that
	  allows the character to attempt to create arbitrary in game
	  objects. Also, sneak in a GNU compliant changelog entry, in
	  the hope that Simon might pick up the habbit :)

2004-05-23 James Turner <james@worldforge.org>

	* Twiddle SDL_mixer includes to work with the Mac package, and not pull in SDL/SDL.h
	  in the header file (only needed in Sound.cpp)
	* Stub in a sound enable / disable command, not hooked up right now
	* Remove the OS-X image load code, and use the SDL_image framework instead
	* Remove #include of config.h in Utility.h, very naughty.

20th May 2004, Simon Goodall
 * More resize work

20th May 2004, Simon Goodall
 * Fix problem with texture vector resize
 * Fix problem with cal3d animations running too fast (varconf init error)
 * Add support for resizing the window by dragging borders. Needs testing on Win32 and Mac systems.

19th May 2004, Simon Goodall
 * Further varconf checks
 * Resize texture vectors if limit is reached.

17th May 2004, Simon Goodall
 * Futher missing stencil buffer fixes. Now try and create window. if that fails set use stencil to false and try again (if its already false, then we try twice anyway)

17th May 2004, Simon Goodall
 * Fix default calendar start time

17th May 2004, Simon Goodall
 * Fix bug in sky dome where only a quarter of it was rendered

17th May 2004, Simon Goodall
 * Further varconf find / get item fixes

14th May 2004, Simon Goodall
 * Add check on startup to see if we want to use the stencil buffer. Set general.cfg render_use_stencil to false to disable stencil buffer.

14th May 2004, Simon Goodall
 * Link skydome to calendar

14th May 2004, Simon Goodall
 * Allow cmd line parsing of args for general config
 * Link server time to calendar

13th May 2004, Simon Goodall
 * Allow custom specification of texture internal formats.

6th May 2004, Simon Goodall
 * Fix cursors

2004-05-02 James Turner <james@worldforge.org>
 * Remove processHome from System. The functionality can be re-added
  by modifying FileHandler::expandString if desired.

29th April 2004, Simon Goodall
 * Some preliminary use findItem to verify config item exists before querying it(only in GL class for now)
 * Actually tell the renderer to read the configuration
 * Fix Light initialisation
 * Remove some unneeded default general configs

28th April 2004, James Turner
 * Move all the file-related and path-related code out of System
   and into the FileHandler
 * Add OS-X and Win32 specific versions of various path locators
 * Change the default search order so CWd and home go before the
   install paths.
 
28th April 2004, Simon Goodall
 * Really fix the bad state stuff

28th April 2004, Simon Goodall
 * Fix the "bad state - 0" messages. Caused by trying to render a model before the states had been assigned.
 * Some variable init stuff added to GL
 * Removal of some unused functions and variables.
 * Rename member var command in System to m_command for clarity

28th April 2004, Simon Goodall
 * Do not try and render acitveName string if its empty

28th April 2004, Simon Goodall
 * Fix uninitialised variable that could cause variable substitution to fail
 * Fix missing call to GL invalidate

27th April 2004, Simon Goodall
 * Moved config.h checks to top of code file
 * Fixed config_h #ifdef's
 * Added missing copyright info
 * Updated copyright info
 * Fix wrong dates in changelog

27th April 2004, Al Riddoch
 * Re-write code that handles model map, so that NULLs never get inserted.

26th April 2004, Simon Goodall
 * Correctly backup default texture and font numbers during an invalidate call

27th April 2004, Simon Goodall
 * Some fixes for texture manager
 * Re-ordering of init to fix some texture issues

26th April 2004, James Turner
 * Move SkyDome init path into it's constructor
 * Remove statics that stop SkyDome re-initing correctly
 * Make re-init of Environment assert, should never happen (for now)

26th April 2004, Simon Goodall
 * More initialisation order fixes
 * Some code cleanups

26th April 2004, Simon Goodall
 * State manager invalidation stuff

26th April 2004, Simon Goodall
 * Added some config.h checks

26th April 2004, Simon Goodall
 * Added terrain invalidation code

26th April 2004, Simon Goodall
 * Removed old height maps
 * Updated states file

26th April 2004, Simon Goodall
 * Added invalidate stuff to models

26th April 2004, Simon Goodall
 * Removed getPixel function as it is not used

26th April 2004, Simon Goodall
 * Some refactoring to allow user def screen sizes again
 * Moved image loading code from System to TextureManager.
 * Some GL Context invalidation code for Textures

26th April 2004, Al Riddoch
 * More progress on base classes for gui code

26th April 2004, Simon Goodall
 * Removed old sky and terrain code
 * Removed slice loader code as it isn't used

25th April 2004, Al Riddoch
 * Started work on new gui code.

23rd April 2004, Simon Goodall
 * Further work on texture invalidation code
 * Added console command to call invalidate

23rd April 2004, Simon Goodall
 * /take now uses the first character returned by getCharacters if no id is specified.

22nd April 2004, Simon Goodall
 * Converted glBegin calls to vertex buffers in SkyDome

22nd April 2004, Simon Goodall
 * Update SkyDome to check existance of VBO's before using them

22nd April 2004, Simon Goodall
 * Change GL_BGR anf GL_BGRA to use GL_BGR_EXT and GL_BGRA_EXT for win32

22nd April 2004, Simon Goodall
 * Added normals to water to fix lighting problems
 * Disabled face culling on water so it is visible from both above and below
 * Fixed texture problem on 3ds models
 * Fixed some bugs in bounding box loader not sizing entities correctly when bbox coords where not in the expected orientation
 * Added arbitary rotation to cal3d objects, with a default 90.0f rotation for existing models
 * Added individual s and t texture clamping to fix skydome texturing
 * Changed default entity drop position to +1 X to avoid collision problems with server
 * Initialisation now prints available video modes
 * /identify now displays the mass of an object
 * Reduced default internal texture format to RGB5 and Alpha 1 (bits per pixel)
 

19th April 2004, Simon Goodall
 * Fixed blue / green mix up in cal3d loader

19th April 2004, Simon Goodall
 * Added terrain tracking for jetty entity

19th April 2004, Simon Goodall
 * Added check for mode type floating for terrain tracking

19th April 2004, Simon Goodall
 * Actually render the water this time

19th April 2004, Simon Goodall
 * Fix water transparency.
 * Draw water last to transparency work correctly
 * Water level now raises and lowers
 * Added player shadow from appogee
 * More skydome bits

19th April 2004, Al Riddoch
 * Add tracking of mouse clicks, for detection of dragging.
 * Implement mouse rotation of character in mouse_look mode, rather
   than just rotating camera.
 * Tweak character position on screen for usability.
 * Add code for handling joystick button presses.

19th April 2004, Simon Goodall
 * More terrain tracking stuff

17th April 2004, Simon Goodall
 * Added skydome code
 * Changed fog colour to match lower skydome colour
 * Added a globally accessable RenderSystem class to handle common rendering tasks such as texture changing and state changing.

12th April 2004, Al Riddoch
 * Add support to camera for immediate changes, and implement mouse controlled
   camera.

7th April 2004, Simon Goodall
 * More terrain tracking stuff

7th April 2004, Al Riddoch
 * Increase fog and far clip distances to get a bigger world view.
   Fix handling of character position to handle terrain visibility.

7th April 2004, Al Riddoch
 * First pass at analogue controller implementation. Can now run around the
   landscape, with strafing, and full view control.

6th April 2004, Simon Goodall
 * Fixed terrain height tracking

5th April 2004, Al Riddoch
 * src/System.h, src/System.cpp: Add interface for handling analogue input
   devices, like mouse and joystick. Add init code and test code for joystick.

2nd April 2004, Simon Goodall
 * Fixed bug where texture_2d state was becoming inconsistent with expected value

2nd April 2004, Simon Goodall
 * Fixed texture loading and switching in terrain
 * Fixed terrain state record 

1st April 2004, Simon Goodall
 * More changes for Mercator integration. commpiles, but not tested.

30th March 2004, Simon Goodall
 * Initial mercator support - imported code from apogee - prob wont compile

11th March 2004, Simon Goodall
 * Applied patch from ron to replace my atlas "give" with eris' give

2nd March 2004, Simon Goodall
 * Updated iss file
 * Set correct version nums for sage and eris

2nd March 2004, Simon Goodall
 * Bump version number to 0.4.7
 * convert to using SDL_main

6th February 2004, Simon Goodall
 * Changed CharacterList to CharacterMap to keep in line with Eris

28th January 2004, Simon Goodall
 * Allow models to be translated in x/y/z

26th January 2004, Simon Goodall
 * Some initial work for VBO's

26th January 2004, Al Riddoch
 * Fixed includes and code to work with latest Atlas-C++ and eris changes.

19th January 2004, Simon Goodall
 * Replaced Atlas specific code with calls to Avatar->*

19th January 2004, Simon Goodall
 * Fixes for latest Eris changes

10th December 2003, Simon Goodall
 * Fixes brokes configure.in

8th December 2003, Simon Goodall
 * Removed warning messages to get a green light

6th December 2003, Simon Goodall
 * Removed warning from configure to get a green light
 * Removed /cd and /cd_this_dir console commands and replaced with a variable expansion. E.g. ${SEAR_MEDIA} is the root of the media files for sear. (THIS BREAKS COMPAT WITH EXISTING MEDIA)
 * Fixed a segfault when cal3d loader couldn't load the skeleton file.

3rd December 2003, Simon Goodall
 * Some fixes to make sounds work again

3rd December 2003, Simon Goodall
 * Changed GL includes to use sage ones.
 * Fixed other build warnings

2nd December 2003, Simon Goodall
 * Fixed some build warnings

9th November 2003, Simon Goodall
 * Fixed bug where entities with types that had capital letters could not be matched to an object_record

27th September 2003, Simon Goodall
 * Updated for Atlas 0.4.90

16th September 2003, Simon Goodall
 * Added ^ in addition to ` for default binding for console toggle. This is for German keyboard layouts.

7th August 2003, Simon Goodall
 * Changed configure.in so it throws an error if lib3ds in not found

5th August 2003, Simon Goodall
 * Fixed some use of variables uninitialised

16th July 2003, Simon Goodall
 * Some cleanups

15th July 2003, Simon Goodall
 * Fixed bug where incorrect parent type was returned in WorldEntity::parent()
 * Fixed typos in Call3D loader when material properties had a cut and paste error
 * Removed some unrequired debug info

3rd July 2003, Simon Goodall
 * Changed default state to allow textures so default texture is visible regardless of datafiles
 * Made default key binding of "escape" to "/quit"
 * Added default records for modelhandler and objecthandler
 * Started to make use of a "media_root" variable

12th June 2003, Simon Goodall
 * Fixed object selection on imposters

12th June 2003, Simon Goodall
 * Fixed segfault caused by bad array indexing in NPlane loader

12th June 2003, Simon Goodall
 * Fixed some dealloc errs, mainly delete / delete []
 * Fixed problem caused by mutli texture units causing a problem. header defined 6 units, but this causes probs on cards with less than 6 units.

29th May 2003, Simon Goodall
 * Fixed Multitexturing.
 * Multitexturing is now determined via the statemanager code

2nd May 2003, Simon Goodall
 * String decls of ModelRecord now in code file to avoid compiler errors on some compilers
 * Removed mmgr.h from being included regardless of configure option in Calender.cpp

30th April 2003, Simon Goodall
 * Fixed states so they are now loaded and assigned to entities properly
 * Fixed siily selection bug caused by deleting the wrong bit of code
 * Fixed Cal3d Loader code to use new TextureManager entries
 * SetScale function now support any number of texture units
 * Moved SkyBox and Terrain initialisation time so they can load in the textures

29th April 2003, Simon Goodall
 * Updated ModelLoader to assign state ids to models

26th April 2003, Simon Goodall
 * Now send out refnos with Atlas ops

26th April 2003, Simon Goodall
 * Texture Manager class now uses default values for filters if they are not specified

23rd April 2003, Simon Goodall
 * Added state manager to GL class
 * fps now displayed in title

23rd March 2003, Simon Goodall
 * Intergrated texturemanager into GL class.
 * Added docs for new texture config format

11th March 2003, Simon Goodall
 * Added base code for texture manager class

11th March 2003, Simon Goodall
 * Cally models can now specify additional textures to those that were specified on material createion

8th March 2003, Simon Goodall
 * Fixed possible NULL ptr exception in Character.cpp when calling entity->getContainer()

7th March 2003, Simon Goodall
 * RC file is now built as part of autoconf
 * Merged some minors diffs between some sear versions

6th March 2003, Simon Goodall
 * added file defining basic geometric types (vertex, normal, texel etc)
 * added enable-mmgr flag to configure

6th March 2003, Simon Goodall
 * Fixed terrain bug caused by array out of bounds. (might have broken something else though who thought comments were a bad idea?)
 * Fixed bug on cally re-write where first material was not loaded properly

6th March 2003, Simon Goodall
 * Updated cal3d loader to take height and default material set def

5th March 2003, Simon Goodall
 * Re-write of cal3d loader code. uses varconf format file for configuration and will allow material properties to be over-ridden
 * Fixed changelog dates - mix up in years and dates (oops)

4th March 2003, Simon Goodall
 * Changed terrain texture to use clamping to avoid problems on landscape boundaries
 * Removed landscape texture name output

15th February 2003, Simon Goodall
 * Terrain now uses a different texture map per heightmap
 * Terrain now uses multitexturing
 * glLockArarys used if available

31st January 2003, Al Riddoch
 * Add mechanism to detect correct version of varconf on systems with varconf
   for sigc++ 1.0 and 1.2 installed.

15th January 2003, Simon Goodall
 * Fixed segfault caused by an entity having no parents

14th January 2003, Simon Goodall
 * Fixed NULL pointer error in model loading code

11th January 2003, Simon Goodall
 * Added display lists to Render object. Paintbox and 3DS models are now rendered by display lists

24th December 2002, Simon Goodall
 * Queues are now built on actual state object, not state name.

24th December 2002, Simon Goodall
 * Removed remainder of time code from System object

24th December 2002, Simon Goodall
 * Converted render to use new light object
 * Moved time area functionality to Calendar

24th December 2002, Simon Goodall
 * Intoduction of a light management class

24th December 2002, Simon Goodall
 * Added console commands to set time and date

24th December 2002, Simon Goodall
 * Calender now has console command, "get_time" which displays current time and date in console
 * Added day and month names to config file

24th December 2002, Simon Goodall
 * Added basic Calender Object. Will replace System calender functions.
 * Minor changes to VarconfRecord. Now created with new instead of malloc

22nd December 2002, Simon Goodall
 * fixes for ISO c++

22nd December 2002, Simon Goodall
 * configure.in changes to remove warnings on newer autoconf versions
 * acconfig.h no longer required

22nd December 2002, Simon Goodall
 * Guard against possible seg fault if we request a colour id greater than allowed

21st December 2002, Simon Goodall
 * Precompute all selection colours so we can put array straight into renderer
 * Entities now directly stored in array for selection

20th December 2002, Simon Goodall
 * Removed unrequired code that slowed down selection process. We were storing a sequence of numbers in an std::set, this has been replaced by a single int.

18th December 2002, Simon Goodall
 * Updated required Eris version

14th December 2002, Simon Goodall
 * Removed icon transparency error message (no longer required)
 * Converted internal height map format from unsigned char to float

12th December 2002, Simon Goodall
 * Fixed Icon transparency under Win32

12th December 2002, Simon Goodall
 * Added icon file and resource script for win32 executable
 * Updated make_win32 script to build in app icon

11th December 2002, Simon Goodall
 * Cal3d options now allow specifying a particular material set on a per entity type basis

11th December 2002, Simon Goodall
 * Scripting engine now works with dos file formats
 * '#' is now the comment character until end of line 

11th December 2002, Simon Goodall
 * Converted scripting engine to use ifstream instead of FILE.

10th December 2002, Simon Goodall
 * Changed GL_CLAMP to GL_CLAMP_TO_EDGE to fix texture seams in skybox

10th December 2002, Simon Goodall
 * Applied patch by Al Riddoch to work with Eris 0.9.7
 * Changed abs to fabs in Cal3d_Loader for gcc 3.2 compat

10th December 2002, Simon Goodall
 * Bumped version number due to release

10th December 2002, Simon Goodall
 * Fixed bug in cally loader where every model was scaled by teh same height regardless of individual settings

10th December 2002, Simon Goodall
 * Fixed bug where front and back face polygon culling would sometimes cull the wrong side

7th December 2002, Simon Goodall
 * Fixed bug in Cally loader where it would segfault if it couldn't find a non-RAW texture
 * Landscape segments now have visibility test in addition to patch visiblity tests
 * Fixed landscape clipping from overclipping
 * Quick fix to in cal3d to allow alpha and lighting to be visible. setting diffuse[3] = 1.0f, otherwise model would be invisible

7th December 2002, Al Riddoch
 * common/mmgr.cpp: std:: namespace fixes.
 * Clean up compiler flag handling in configure.in

6th December 2002, Simon Goodall
 * file cleanups
 * Bumped version numbers

6th December 2002, Simon Goodall
 * Fixes hole where terrain joined
 * Fixes some config problems with terrain
 * Fixed segfault caused during terrain initialisation by using arrays before being created

3rd December 2002, Simon Goodall
 * Fixed terrain getHeight code
 * Fixed terrain so water level now scales with terrain scale
 * Reduced terrain popping effect by limiting amount of change per frame

29th November 2002, Simon Goodall
 * Fixed bug in config files where the path name was prefixed to a numeric value, fixed by adding another general config file

29th November 2002, Simon Goodall
 * Fixed an out by one error on the getHeight code in terrain
 * Fixd code terrain code so it will go to much greater detail than before

27th November 2002, Simon Goodall
 * Fixed some mad code which had limit checks set for the wrong end of increment and decrement functions

27th November 2002, Simon Goodall
 * ROAM engine can now handle multiple height maps
 * Fixed bug in sky box where one texture would not be displayed

13th November 2002, Simon Goodall
 * Camera position now saved according to user defined boolean option. "save_camera_position". default is false

12th November 2002, Simon Goodall
 * Fixed up model_viewer so it now compiles again. still a few got problems.
 * System's varconf config objects now actual objects and not pointers
 * All objects that read config data from general, now update variables when general updates.

30th October 2002, Simon Goodall
 * Removed obsolete model unloading code
 * Camera code now only performs update calculations if required 
 * Camera code now calculates its position vector from focus

30th October 2002, Simon Goodall
 * Removed last update due to problems

29th October 2002, Simon Goodall
 * Sear now uses XPM loader from SDL_image, instead of own version.

21st October 2002, Simon Goodall
 * Fixed clean up code for Cal3D models and  modelhandler so they remove all instances they create

20th October 2002, Simon Goodall
 * Converted many string values to static decl's
 * Moved most Log::writeLog calls to debug mode only
 * Added clean up code to 3ds loader code

20th October 2002, Simon Goodall
 * Filled in missing initialisers in System
 * Introduced optional dependancy on GLGooey. This will be the base for future GUI work. enable with configure option, --with-glgooey=yes
 * Added a gui under the server screen. "/switch_mode server". Lists metaserver work too.
 * Fixed a couple of memory leaks
 * Converted ActionLoader to use varconf to read files
 * Converted StateProperties to use varconf to read files
 * Added built-in font state to stateloader so we can see font regardless of what have been loaded in. This may still be overwritten externally.

09th October 2002, Al Riddoch
 * std:: namespace fixes. 

27th September 2002, Simon Goodall 
 * Re-implemented above character speech
 * Changed render queue passing to by-reference instead ob by val
 * Started code for a gui
 * Added multiple screens to Sear for gui stuff. Once you have taken or created a character, you need to type "/switch_mode world" to see the game world.

26th September 2002, Simon Goodall 
 * Fixed bug with NPlane loader where back faces got confused
 * Removed billboard and impostor loaders. NPlane loader provides there functionality.
 * Fixed bug where dropping an entity (and probably giving too) caused sear to hang
 * Fixed bug where stringstream work around was never implemented

26th September 2002, Simon Goodall 
 * Fixes to outline code which was using wrong values for states
 * Removed some now unused members from Model class

26th September 2002, Simon Goodall 
 * Re-implemented model unloading
 * Fixed bug where model was selected upon available record, but texture was selected upon its original type.

26th September 2002, Simon Goodall 
 * Camera height is now based upon character height

26th September 2002, Simon Goodall 
 * Re-implemented frustum culling

26th September 2002, Simon Goodall 
 * Changed Model/Object properties loading mechanism. New version allows more than one model per entity, allows different quality/detail level of models and provides a much more flexible interface for arbitrary model loaders. This causes the existing model configuration files to be obsolete. Still lots of work to do to bring back to required functionality.

21st September 2002, Simon Goodall
 * Changed billboard/imposter/nplane to have two polygons, instead of one. Allows backface culling and removes two-sided lighting
 * Added a spec file for the media.

11th September 2002, Simon Goodall
 * Cally models now scale to height of bounding box. Requires cally config file to have the scale option set to unit height

9th September 2002, Simon Goodall
 * Fixed states file so Slice models now blend with lighting enabled.
 * Added check so if sound doesn't initialise, Sear still runs

8th September 2002, Simon Goodall
 * New console command; cd_this_dir - when run in a script, will change the current dir to the directory the script is located
 * Fixed bug where default textures were not properly set up. caused by not including the section name when they were stored

8th September 2002, Simon Goodall
 * Fixed bug in model loaders where the model was still used even if it failed its init call

8th September 2002, Simon Goodall
 * Finally removed cal3d usage of opengl. Textures are now handled like every other texture in Sear

8th September 2002, Simon Goodall
 * Removed optionability of lib3ds and cal3d due to  incompatibility problems of the method used

8th September 2002, Simon Goodall
 * Updated depend on varconf 0.5.4 release instead of CVS

8th September 2002, Simon Goodall
 * Minor optimisation - converted for loop variables from postfix to prefix ++

8th September 2002, Simon Goodall
 * Removed uneccessary code from Utility class
 * Added test to configure to detect buggy stringstream and apply workaround

7th September 2002, Simon Goodall
 * Added initialation check to all objects with init/shutdown methods
 * added cvs tag Id: to all source files

7th September 2002, Simon Goodall
 * Added intialisation check to all loader objects

7th September 2002, Simon Goodall
 * Added support for the  GL extension: EXT_texture_filter_anisotropic
 * Added support for the  GL extension: SGIS_generate_mipmap
 * Added check to Cal3d destructor to make sure shutdown gets called before deletion

7th September 2002, Simon Goodall
 * Changed order of configure library detection to follow dependancies

6th September 2002, Simon Goodall
 * Changed model animations to be based upon mode and action fields in an entity instead of its velocity
 * Fixed bug in Cally code where animations were only asigned to the first model instance of a core type

6th September 2002, Simon Goodall
 * Added options to Slice loader for number of slices per slicing and number of slicings in the model
 * Commented out the printing of redundant SDL info that caused problems on some older compilers.

5th September 2002, Simon Goodall
 * Fixed problems in Object/Stae/Action Loader code which caused an error message to be printed when the end of file was reached. Also now allows use of the # character in the first position in a line to denote a comment.
 * Minor changes to Slice code

3rd September 2002, Simon Goodall
 * Added first version of a slice loader. This will hopefully allow for trees as in A Tale in the Desert. Currently will load and blend in the foilage area. Trunk model not yet implemented.

3rd September 2002, Simon Goodall
 * Added new class called FileHandler. Currently this allows you to add or remove search paths. It also allows searching for the first or every occurance of teh file name in the search paths. The main aim is to search for the startup and shutdown scripts. An extra command line argument has been providied to allow extra search paths for the startup scripts.

2nd September 2002, Simon Goodall
 * Fixed bug in rendering code when using mipmaps with alpha blending caused corrupted graphics to be displayed. Caused by not checking whether image was RGB or RGBA

1st September 2002, Simon Goodall
 * Updated stateloader to use the default state before emitting an error message
 * Updated 3DS code to load a wider range of models.
 * Updated 3DS code to load in textures assigned in the second texture, bump and reflection slot as well as the initial texture slot. The texture used will be the first one found.

31th August 2002, Simon Goodall
 * Fixed bug where "Cannot SAY..." was displayed even if connected to game world

31th August 2002, Simon Goodall
 * Cal3d and Lib3ds are now optional, but recommended

31th August 2002, Simon Goodall
 * Cal3d loader now supports adding and removing meshes. Model viewer option added to test this

31th August 2002, Simon Goodall
 * Added support for multiple texture sets in cal3d loader.
 * Added extra options to model viewer.
 * Added a light source to modelviewer.

31th August 2002, Simon Goodall
 * Fixed bug with cally models where models appeared white instead of their material colours. Caused by scaling the cally model which upsets the normals. Added option to state manager to enable GL_RESCALE_NORMAL to fix this
 * Fixed bug in ROAM code where the height map was free'd twice
 * Cally config files now need to specify what type of animation the animation file is. e.g. animation_walk=walk_animation.caf

30th August 2002, Simon Goodall
 * Code changes for new Metaserver design

27th August 2002, Simon Goodall
 * Added message "Cannot SAY, not in game yet" when entering a non-command string into console before entering game world

27th August 2002, Simon Goodall
 * Some GCC 3.2 fixes
 * Cal3D loader now uses a single CalCoreModel per model type instead of one per model.

23rd August 2002, Simon Goodall
 * Added additional command to modelviewer. pressing "g" will now toggle the visibility of the axis

23rd August 2002, Simon Goodall
 * Billboards, Impostors and NPlanes now "clamp" textures to avoid visual defects

23rd August 2002, Simon Goodall
 * Added metaserver support. Currently displays active servers in stdout. use the command "/get_servers"
 * Modified Impostor code so to optionally use two textures instead of one.

21st August 2002, Simon Goodall
 * Added base code for using the Eris::Lobby chat interface

21st August 2002, Simon Goodall
 * Sound now uses Log class instead of cerr or printf
 * Character actionhandler events are now type based

21st August 2002, Simon Goodall
 * Fixed bug where two_sided_lighting was never enabled even if requested
 * Defined default material properties for most objects instead of using whatever the last set properties were

21st August 2002, Simon Goodall
 * Added support to loop sound files
 * Added ActionHandler events for walking running, and stopped
 * Stationary cally models now in idle pose

21st August 2002, Simon Goodall
 * ActionHandler events now fire for dawn, dusk day and night

21st August 2002, Simon Goodall
 * Fixed bug found and solved by damien when displaying speech caused a segfault on some systems.

20th August 2002, Simon Goodall
 * ActionHandler will now emit an even when the character enters another container of the name: "entering_" + entity_type

20th August 2002, Simon Goodall
 * Added an actionhandler class. Aim is to notify the class of an event such as system start, or character walking and run an associated script file. Main use is to link in sound effects or even animations.
 New console commands
 "/load_action_config filename" loads the action config file
 "/do_action action" perform an action

20th August 2002, Simon Goodall
 * Added option to play and stop music. "/play_music file" plays the track. "/stop_music" stops the music

20th August 2002, Simon Goodall
 * Improved sound by changing from SDL-sound to SDL_mixer. This allows multiple sounds to be played at once

20th August 2002, Simon Goodall
 * Added sound support to Sear through SDL_sound library. use the console command "/play_sound sound_file" to play a sound. currently will only play one sound file at a time.

20th August 2002, Simon Goodall
 * Updated comments for console code

20th August 2002, Simon Goodall
 * Added two new console commands: get_time and set_time. get_time prints the current time on the console. set_time allows you to set the current time.

19th August 2002, Simon Goodall
 * Modified console so all commands now start with a '/' excluding those already beginning with a '+' or '-'. All other entries will be classified as speech.

19th August 2002, Simon Goodall
 * Fixed SEGFAULT caused by object having no parent type specified in model loaders

19th August 2002, Simon Goodall
 * Added +/- keys to allows vertical repositioning of model in model viewer

19th August 2002, Simon Goodall
 * Improved camera control. Now same as in Sear

19th August 2002, Simon Goodall
 * Model Viewer now updates in real-time instead of a fixed value
 * Better mouse interface for model viewer

19th August 2002, Simon Goodall
 * Fixed error message "Not connected" when trying to login when already logged in
 * Model viewer now allows actions to be performed. Use number keys 1 through 4.  1 - Walk
  2 - Run
  3 - Some Model defined action - normally wave
  4 - Some Model defined action

18th August 2002, Simon Goodall
 * Model viewer now uses SDL instead of GLUT

18th August 2002, Simon Goodall
 * Changes to states file which fixes some lighting problems when using mouse_move_select

18th August 2002, Simon Goodall
 * Possible fix to Win32 Fullscreen bug
 * Minor changes so code uses pointers passed to them in the constructor instead of getting it from elsewhere everytime it is required.

18th AUGUST 2002, Al Riddoch
 * Added configure check, and fixes so that the code builds with sigc++ 1.2

17th August 2002, Simon Goodall
 * Intorduced ModelStruct to encapsulate all data required to produce a model.
 * Some more internal changes made to get the model_viewer code working in tools dir

### SEAR 0.4.1 RELEASED ###

14th August 2002, Simon Goodall
 * Updates for cross-compiling

13th August 2002, Simon Goodall
 * Fixed potential seg faults on 3ds loader
  - Fault 1 caused by no material name
  - fault 2 caused by multipling a value instead of adding to it

### SEAR 0.4.0 RELEASED ### 

12th August 2002, Simon Goodall
 * Fixed bug where  height map location was blanked unless explicitly added to home dir general.
 * Fixed bug where camera position was stored in config files
 * Updated configure.in to produce better debug infomation
 * Added callback to varconf error signal in System

7th August 2002, Simon Goodall
 * Updated makefile.am's to be able to create a distribution
 * Updated configure.in to point the user to web locations for missing libraries
 * Included replacement files for media pack

6th August 2002, Simon Goodall
 * Fixed seg fault caused by specifying 0x0 window size
 * Converted Sear to use varconf instead of own Config system. This has caused the format of the configuration file (excluding object and state loader files) to have changed to accomodate the varconf format. Additionally the definition of keys has changed to work with varconf. See src/Bindings.cpp for the new values.

5th August 2002, Simon Goodall
 * scale property added to objectloader. Currently only used by 3ds loader
 * offset property added to objectloader. Currently only used by 3ds loader
 * Enabled 3ds material properties

4th August 2002, Simon Goodall
 * Further improvements on 3ds support. Now uses vertex arrays to improve performance and fixed a bug where the texture was loaded many times per object per frame which had a huge performance hit.

3rd August 2002, Simon Goodall
 * Improved 3ds support and allow use of textures

2nd August 2002, Simon Goodall
 * Added an NPlane model type. like billboard and impsoter, but makes model from N planes. Only works for odd values of N such as 3 or 5

2nd August 2002, Simon Goodall
 * Added two-sided-lighting option to state loader
 * Fixed state change bug where current state was never set
 * Fixed model by type bug where only one model of a type was actually rendered
 * Re-implemented detail level control
 * Fixed outlining bug where using alternate method caused problems for cal3d and bound/boxes

1st August 2002, Simon Goodall
 * Updated Factory.h and WorldEntity class to accomodate changes to Eris
 * Graphics class introduced which performs the generic rendering functions, while Render now only does the specific ones
 * Fixed bug where default font would not be used even if no font was specified
 * Converted terrain engine to use a vertex arrays instead of drawing each triangle one by one
 * Terrain engine no longer uses OpenGL directly

24th July 2002, Simon Goodall
 * Re-implemented floating character speech
 * Fixed selection bug caused by using a texture when they should have been disabled

22nd July 2002, Simon Goodall
 * Some fixes for cross-compiling

22nd July 2002, Al Riddoch
 * src/Utility.cpp: ISO C++ fixes.

22nd July 2002, Simon Goodall
 * Fixed bug where state changes were created in a display list, but the display list was not actually used!

22nd July 2002, Simon Goodall
 * Default texture and font now really xpm files as exported from gimp

22nd July 2002, Simon Goodall
 * Added a built-in texture that will be used should the requested one be invalid
 * Added a built-in font texture that will be used should the requested one be invalid

22nd July 2002, Simon Goodall
 * Placed exception handling in client console commands.
 * Console command errors will print error messages to console instead of just to log
 * Fixed Config bug where random data was written to files. Caused by using unitialised arrays

20th July 2002, Simon Goodall
 * Added a command history
 * Sky and Terrain code moved to sepatate dirs/libs
 * Remove SkyBox reliance on OpenGL

19th July 2002, Simon Goodall
 * Fixed console bug where only first argument was processed.
 * Removed extra refrences to the GL render code
 * Added camera commands

19th July 2002, Simon Goodall
 * Console commands fully migrated.
 * Tokeniser code now in own class,
 * Fixed segfalut caused by not providing the exact number of arguments to a console command

10th July 2002, Simon Goodall
 * Console command registering implemented. Need to migrate existing system to new

10th July 2002, Simon Goodall
 * Re-implemented Frustum culling
 * Stateloader file now loaded via console command instead of hardcoded location
 * Fixed console text bugs caused by wrong state in use
 * Re-implemented model running / walking and added it to other models too. anything with a vel above root 7 will be running
 * Re-implemented object outlining

10th July, Simon Goodall
 * Moved state code to separate class and read settings from a file instead of hardcoding them.

8th July 2002, Simon Goodall
 * Basis for Sear Model Viewer
 * OpenGL renderer code moved to separate dir than main source
 * Minor fixes to model loaders
 * Directory cleanups

5th July 2002, Simon Goodall
 * Improved 3ds model loader - now adds in normal and texture data if possible. (CURRENTLY NOT IN NEW MODEL INTERFACE)
 * Improved comments in some header files
 * Introduced New model loading interface. Specific model type are in sear/loaders. Main code only knows about Models and ModelLoader interfaces. As such models currently do not load as required.

3rd July 2002, Simon Goodall
 * Removed some redundant rendering code
 * Added base for 3ds model loader - currently only loads mesh

2nd July 2002, Al Riddoch
 * ISO C++ compliance fixes.

1st July 2002, Simon Goodall
 * Log applied to Bindings, Camera, Character, Config, Console, Event, GL_Render, Model, Object Loader, SkyBox, System, Terrain and WorldEntity classes.
 * debug.h removed as will be encapsulated in Log class
 * System re-order fixed.
 * Now use WFMath's Pi instead of system defined
 * Moved degree to radian macro to template code in utilit class
 * Moved SQR code to utility class
 * Allow character strafing

30th June 2002, Simon Goodall
 * Implemented basic Exceptions to eventually replace all error checking
 * Added Sear Namespace
 * Added support for Cal3D models to use different texture file types using SDL_image - THIS NEEDS TESTING

28th June 2002, Simon Goodall
 * Implemented basic Log object to eventually replace all cout / cerr / DEBUG msgs

18th June 2002, Simon Goodall
 * Replaced unique colour counter code with a much faster implementation. The new implementation obtains the first 500 unique colours which should be greater than the possible amount of objects to be rendered.
 * Fixed water feature
 * Fixed a bug that stopped Sear working with Stage
 * Added a change directory function to scripting engine
 * Added ability to prefix current directory to entiries on loading into config data
 * Media now moved into separate "Media Package"
 * Probably more, but its been awhile

22nd May 2002, Simon Goodall
 * Fixed SEG fault caused by re-reading config before a character object was created
 * Further updates for gcc 3 compilation
 * Fixed problems in lighting caused by enabling two-sided lighting.
 * Replaced colour splash with a "loading please wait message"
 * Fixed potential mempry leak caused by toggling fullscreen in Win32
 * System now deletes models that have not be unsed for over 1 min
 * User def far_clip
 * User def terrain_scale
 * Fixed terrain loading bug

16th May 2002, Simon Goodall
 * Applied patch by Alriddoch to compile under gcc 3.01. This also reduced the far clipping plane from 1000 to the more reasonable value of 100
 * Enabled two sided lighting to fix lighting problems with billboards and Impostors
 * Fog now changes colour depending upon light level
 * toggle_console now works with keys defined by braces, e.g. {F10}
 * Allows different resolutions
 * --enable-debug=no now turns off debug information from eris
 * Names now appear over currently selected object
 * Camera now has range limiting
 * console command read_config will tell system to re-read the config values in the general config loader

14th May 2002, Simon Goodall
 * Fixed bug where time cycle sped up
 * Stencil highlights now optional
 * WireFrame now uses vertex arrays

13th May 2002, Simon Goodall
 * Fixed wire frame functionality. It was potentially using uninitialised bboxes
 * Added frustum culling using sphere tests.
 * Improved lighting system. Sun now moves and has user definable dawn/dusk times
 * Added option in configure to enable debug information. Debug information is a possible cause of Sear hanging upon exit on some systems.
 * Added use of video mode querying to provide additional startup information
 * Moved lots of rendered code into vertex arrays to improve speed.
 * Removed lots of redundant rendering code from GL_Render.cpp

10th May 2002, Simon Goodall
 * Fixed bug caused by setting install directory too late

10th May 2002, Simon Goodall
 * Added version string to command line arguments. use -v or --version
 * Added help message to command line args. use -h or --help
 * Use of sstream and strstream to perform type conversions
 * Allows connection to a server on any port
 * Allow creation of characters of different type` and sex
 * Lots more messages on standard out
 * Fixed bug that used the same cally model for a given type.
 * Fixed bug where camera was not properly fixed to the vertical position of the character
 * Added wire_frame queue
 * System will downgrade none-existent model types until wire-frame is reached
 * Minimised Open GL state changes
 * Replaced OpenGL selection by a colour selection method. Improves accuracy and works with blending
 * Added halo effect to selected entities
 * Added different cursors depending upon current action
 * Changed pickup and touch to effect the next entity selected and not the current one

1st May 2002, Simon Goodall
 * Entities are now drawn according to object properties
 * New Object Properties; draw_self and draw_members; determine what gets drawn
 * Object properties file contains entries for most structures so as to hide bbox lines
 * toggle_console can now really be bound to any key instead of just back quote
 * Changed configure.in to fix INSTALLDIR being set to NONE in some cases
 * Added support for billboard / impostor styles of rendering
 * Fixed problems as seen in the sky box where seams were visible. GL_CLAMP wasn't being set properly.
 * Lots of internal changes. Hopefully much more stable now.
 * System loads a float terrain if height map not found.

27th April 2002, Simon Goodall
 * Fixed possible seg faults caused by attempting to control character before having one
 * Applied patch file by man-di fixing problems caused by previous definitions of M_PI

25th April 2002, Simon Goodall
 * Model height is now more in line with landscape height
 * Tidied up code
 * Fix seg fault that occurred if cyclient was run
 * Changed way normals are calculated on terrain.

Initial Change Log, Simon Goodall
