2007-03-31 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am, src/game-server/testing.cpp,
src/game-server/spawnarea.cpp, src/game-server/state.hpp,
src/game-server/spawnarea.hpp, src/game-server/monster.cpp,
src/game-server/monster.hpp, src/game-server/trigger.hpp: Made a start
with having monsters spawn using a SpawnArea.
* src/net/messagein.hpp, src/net/messagein.cpp,
src/net/messageout.hpp, src/net/messageout.cpp,
src/net/connectionhandler.cpp, src/net/netcomputer.cpp: Moved writing
of messages into MessageIn and MessageOut and tweaked the printing of
the message ID.
* src/Makefile.am, src/game-server/spawnarea.cpp,
src/game-server/being.cpp, src/game-server/spawnarea.hpp,
src/game-server/monster.cpp, src/game-server/being.hpp,
src/game-server/movingobject.hpp, src/game-server/monster.hpp,
src/game-server/deathlistener.hpp: Added a DeathListener interface,
which the SpawnArea now uses to get notified about dying beings, so
that it knows when to spawn more.
* src/game-server/spawnarea.cpp, src/game-server/spawnarea.hpp: Took
into account spawn rate.
2007-03-30 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am, src/game-server/thing.hpp,
src/game-server/movingobject.cpp, src/game-server/being.hpp,
src/game-server/movingobject.hpp, src/game-server/trigger.cpp,
src/game-server/object.cpp, src/game-server/trigger.hpp,
src/game-server/object.hpp: Separated the Thing and MovingObject
classes from the Object module.
2007-03-30 Philipp Sehmisch <tmw@crushnet.org>
* src/controller.cpp, src/controller.h, src/game-server/monster.cpp,
src/game-server/monster.hpp, src/game-server/testing.cpp,
src/Makefile.am: Renamed "Controlled" to "Monster" and moved it into
the game-server directory.
2007-03-23 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmw.cbp: Updated and fixed Code::Blocks project files.
2007-03-23 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/point.h, src/configuration.cpp,
src/account-server/accounthandler.cpp,
src/account-server/accountclient.cpp, src/utils/stringfilter.cpp,
src/abstractcharacterdata.hpp, src/game-server/being.cpp,
src/game-server/character.cpp, src/game-server/character.hpp: Mostly
fixed some compilation issues.
2007-03-23 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/accounthandler.cpp, src/defines.h,
src/game-server/character.cpp, src/game-server/character.hpp
src/game-server/state.cpp: Implemented communication of attribute
changes from server to client.
* src/game-server/itemmanager.cpp: Another case of inconsistent order
of attributes.
2007-03-22 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/dalstorage.cpp: Fixed a bug that caused the
character attributes to become mixed up.
2007-03-20 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/accounthandler.cpp, src/defines.h: Removed check
for difference between lowest and highest attribute at char creation.
* src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Unified order of basic attributes.
2007-03-20 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/account-server/accounthandler.cpp, src/utils/tokencollector.hpp,
src/game-server/gamehandler.cpp: Corrected a bug, that occurred when
connecting to the game-server. Made member functions of TokenCollector
less fragile.
2007-03-19 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/gamehandler.cpp, src/game-server/gamehandler.hpp,
src/utils/tokendispenser.hpp, src/account-server/accountclient.cpp,
src/account-server/accounthandler.cpp: Fixed two compiler warnings
and corrected a spelling error.
2007-03-18 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/net/netcomputer.cpp: Corrected the debug message for big-endian
architectures.
* src/defines.h, src/Makefile.am,
src/account-server/accountclient.hpp,
src/account-server/accountclient.cpp,
src/account-server/accounthandler.hpp,
src/account-server/accounthandler.cpp,
src/account-server/serverhandler.hpp,
src/account-server/serverhandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.hpp, src/game-server/gamehandler.cpp,
src/utils/tokencollector.hpp: Added a TokenCollector class, which
matches tokens used for moving clients between servers. Improved the
handling of connecting clients for the account-server.
2007-03-15 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/accounthandler.cpp: Set the default map
position of new characters to a value that makes more sense.
* src/defines.h, src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp: Implemented new basic attribute
system.
* src/controller.cpp, src/controller.hpp, src/defines.h,
src/game-server/being.cpp, src/game-server/being.hpp,
src/game-server/character.cpp, src/game-server/character.hpp,
src/gameserver/item.hpp, src/gameserver/itemmanager.hpp,
src/gameserver/testing.cpp:
Removed attribute modifiers, unified basic and derived attributes,
storing attributes in a vector, renamed some attribute identifiers,
removed identifiers for derived attributes that aren't needed yet.
2007-03-14 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/abstractcharacterdata.hpp, src/abstractcharacterdata.cpp,
src/defines.h, src/Makefile.am, src/playerdata.hpp,
src/playerdata.cpp, src/account-server/accounthandler.cpp,
src/account-server/characterdata.hpp,
src/account-server/characterdata.cpp,
src/account-server/dalstorage.cpp,
src/account-server/serverhandler.cpp,
src/game-server/accountconnection.hpp,
src/game-server/accountconnection.cpp, src/game-server/being.hpp,
src/game-server/being.cpp, src/game-server/character.hpp,
src/game-server/character.cpp, src/game-server/gamehandler.hpp,
src/game-server/gamehandler.cpp, src/game-server/inventory.hpp,
src/game-server/inventory.cpp, src/game-server/item.hpp,
src/game-server/item.cpp, src/game-server/itemmanager.cpp,
src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/game-server/object.hpp, src/game-server/player.hpp,
src/game-server/player.cpp, src/game-server/state.hpp,
src/game-server/state.cpp, src/game-server/trigger.cpp: Renamed the
Player class to Character, which now inherits from Being and
AbstractCharacterData. (Changed as little as possible of basic damage
calculation code)
2007-03-11 Philipp Sehmisch <tmw@crushnet.org>
* src/controller.cpp, src/controller.h, src/gameserver/being.cpp,
src/gameserver/being.hpp, src/gameserver/item.hpp,
src/gameserver/itemmanager.cpp, src/gameserver/player.cpp,
src/gameserver/player.hpp, src/gameserver/testing.cpp: Implemented
stat handling infrastructure and basic damage calculation.
src/gameserver/being.cpp: Increased attack zone (Sorry, I couldn't
hit nothing and that annoyed me during testing)
2007-03-10 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/Makefile.am, src/account-server/accounthandler.cpp,
src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp, src/chat-server/chathandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.cpp, src/game-server/main-game.cpp,
src/utils/tokendispenser.hpp, src/utils/tokendispenser.cpp: Added a
utility function for creating magic_tokens.
* src/utils/processorutils.hpp, src/utils/processorutils.cpp,
src/Makefile.am, src/account-server/main-account.cpp,
src/game-server/main-game.cpp: Added a utils::processor namespace and
a function to determine if, the processor the program is running on,
is little-endian or big-endian.
* src/net/connectionhandler.hpp, src/net/connectionhandler.cpp,
src/net/netcomputer.cpp: Corrected the output of the overloaded
operator << of the NetComputer class.
2007-03-05 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/defines.h, src/Makefile.am, src/abstractcharacterdata.hpp,
src/abstractcharacterdata.cpp, src/account-server/account.hpp,
src/account-server/account.cpp, src/account-server/accountclient.hpp
src/account-server/accountclient.cpp,
src/account-server/accounthandler.cpp,
src/account-server/characterdata.hpp,
src/account-server/characterdata.cpp,
src/account-server/dalstorage.hpp, src/account-server/dalstorage.cpp
src/account-server/dalstoragesql.hpp,
src/account-server/serverhandler.hpp,
src/account-server/serverhandler.cpp, src/account-server/storage.hpp
src/game-server/accountconnection.cpp: Added an abstract base class
for characterdata, in order to use the same serialize and deserialize
functions on both the accountserver and the gameserver. Added the
CharacterData class to the accountserver, a specialisation of
characterdata for the accountserver. Renamed (raw)stats to attributes.
* src/point.h, src/controller.cpp, src/game-server/testing.cpp,
src/game-server/state.cpp: Added two constructors to the Point class.
* src/utils/wingettimeofday.h, src/utils/timer.h: Set svn properties.
* src/game-server/mapcomposite.cpp: Cleaned up a double deletion.
* src/game-server/item.hpp: Added the member spriteId.
* src/account-server/main-account.cpp, src/game-server/main-game.cpp:
Modified the default log files (primarily for development purposes).
2007-03-03 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/utils/mathutils.cpp, src/utils/mathutils.h,
src/game-server/collisiondetection.hpp,
src/game-server/collisiondetection.cpp: Use M_PI_2 instead of
acos(0.0f) and FLT_MAX instead of 1.0E40f (which exceeded the maximum
float value). Some cosmetics (whitespace and declaring variables where
they are used).
2007-03-03 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/utils/mathutils.h, src/utils/mathutils.cpp,
src/utils/fastsqrt.h, src/Makefile.am, src/game-server/main-game.cpp:
Moved math utility functions to the namespace utils::math, added
cached trigonomic functions.
* src/game-server/collisiondetection.hpp, src/game-server/being.cpp,
src/game-server/collisiondetection.cpp: Implemented an alternate
collision-detection function, for disks and circle-sectors.
2007-03-03 Philipp Sehmisch <tmw@crushnet.org>
* src/controller.cpp, src/controller.h, src/defines.h,
src/gameserver/being.cpp, src/gameserver/being.hpp,
src/gameserver/gamehandler.cpp, src/gameserver/object.hpp,
src/gameserver/player.cpp, src/gameserver/player.hpp,
src/gameserver/state.cpp, src/gameserver/testing.cpp,
src/point.h: Implemented being death, removal of dead mobs and
sitting.
2007-03-01 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am: Updated with new collision related module.
2007-02-27 Philipp Sehmisch <tmw@crushnet.org>
* src/account-server/dalstorage.cpp,
src/account-server/dalstoragesql.hpp,
src/chat-server/chatchannel.cpp,
src/chat-server/chatchannel.hpp,
src/chat-server/chatchannelmanager.cpp,
src/chat-server/chatchannelmanager.hpp,
src/chat-server/chathandler.cpp,
src/dal/mysqldataprovider.cpp,
src/dal/pqdataprovider.cpp
src/dal/qulitedataprovider.cpp,
src/defines.h: Implementation of chat channels by Trapdoor.
2007-02-25 Philipp Sehmisch <tmw@crushnet.org>
* src/game-server/collisiondetection.cpp,
src/game-server/collisiondetection.hpp,
src/utils/fastsqrt.h: Added a function to calculate collisions between
circles and circle sectors.
* src/being.cpp, src/object.hpp, src/testing.cpp: Improved hit
detection by using said function.
2007-02-23 Rogier Polak <rogier.l.a.polak@gmail.com>
* src/chat-server/chathandler.cpp: Added disconnect.
* src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp: Bugfixes related to
switch_character.
* src/account-server/main-account.cpp, src/game-server/main-game.cpp:
Small modification to accomodate MS-Windows.
2007-02-04 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/chat-server/chathandler.cpp,
src/account-server/accounthandler.hpp,
src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp, src/account-server/storage.hpp,
src/account-server/accounthandler.cpp,
src/account-server/dalstorage.hpp, src/defines.h, src/playerdata.cpp,
src/playerdata.hpp, src/game-server/gamehandler.cpp,
src/game-server/accountconnection.cpp,
src/game-server/accountconnection.hpp: Added support for switching
character by reconnecting to the account server and fixed the issue
where a client is not logged in after registering (patch applied by
Bjørn Lindeijer).
2007-02-01 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/account-server/main-account.cpp,
src/account-server/dalstorage.cpp, src/account-server/account.cpp,
src/game-server/mapmanager.cpp, src/game-server/main-game.cpp:
Added graceful server shutdown, chose some more sane variables names
for SQL queries and fixed a possible character collision error (patch
applied by Bjørn Lindeijer).
* src/game-server/object.cpp, src/game-server/object.hpp: Added
caching of paths (patch applied by Bjørn Lindeijer).
2007-01-14 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/utils/logger.h: Unified logging macros.
2007-01-12 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/account-server/serverhandler.cpp: Report problems with finding a
certain character instead of crashing.
2007-01-06 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/game-server/mapcomposite.cpp: Fixed a compiler warning.
* src/chat-server/chathandler.hpp, src/chat-server/chathandler.cpp,
src/net/connectionhandler.hpp, src/net/connectionhandler.cpp,
src/account-server/main-account.cpp, src/game-server/mapcomposite.hpp,
src/Makefile.am: Allowed usage of timeout in
ConnectionHandler::process in order to reduce CPU usage. Now account
and chat servers no longer need to keep track of game time, but simply
listen for incoming messages to act on.
* src/utils/timer.cpp, src/utils/timer.h: Gracefully handle cases
where the computer time is set back.
2007-01-05 Bjørn Lindeijer <bjorn@lindeijer.nl>
* AUTHORS: Updated to include all current authors.
* src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp, src/utils/logger.h,
src/game-server/main-game.cpp: Removed log level argument from
LOG_FATAL helper macro, with the assumption that fatal messages should
always have highest log level.
* docs/tmwserv.xml: Added some documentation to example config file.
2007-01-05 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/game-server/player.cpp, src/game-server/state.cpp: Delayed
update of persistent position and put it into state handling, so that
the update happens before map change.
* src/game-server/item.hpp: Added an amount property to items lying on
the ground.
* src/game-server/testing.cpp: Added a piece of equipment.
* src/game-server/defines.h, src/game-server/gamehandler.cpp:
Implemented item dropping.
* src/game-server/player.hpp: Removed useless dependency on Inventory.
* src/game-server/inventory.cpp: Fixed reported amounts of inventory
items. Embeded handling of client message directly into the class.
* src/defines.h, src/game-server/gamehandler.cpp: Added full update of
Inventory on Player connection.
* src/game-server/gamehandler.cpp, src/game-server/player.hpp,
src/game-server/player.cpp: Generalized player state.
* src/utils/logger.h, src/utils/logger.cpp: Simplified handling of
verbosity levels: fatal, error, warn, info, debug are now the levels.
Optimized code by generating only needed messages.
* src/chat-server/chathandler.cpp, src/net/connection.cpp,
src/net/netcomputer.cpp, src/net/connectionhandler.cpp, src/skill.cpp,
src/configuration.cpp, src/account-server/main-account.cpp,
src/account-server/serverhandler.cpp, src/utils/stringfilter.cpp,
src/account-server/dalstorage.cpp, src/utils/zlib.cpp,
src/account-server/accounthandler.cpp, src/resourcemanager.cpp,
src/controller.cpp, src/game-server/mapreader.cpp,
src/game-server/gamehandler.cpp, src/game-server/mapmanager.cpp,
src/game-server/accountconnection.cpp, src/game-server/being.cpp,
src/game-server/itemmanager.cpp, src/game-server/main-game.cpp:
Updated accordingly. Removed some unworthy debug messages.
* src/Makefile.am: Removed useless dependencies.
2007-01-04 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/playerdata.hpp, src/playerdata.cpp, src/defines.h,
src/Makefile.am: Factored serialization of PlayerData into a new file.
Added inventory to PlayerData. Removed counted pointers.
* src/account-server/serverhandler.hpp, src/account-server/account.hpp:
Moved counted pointers here.
* src/account-server/serverhandler.cpp,
src/game-server/accountconnection.cpp: Simplified by relying on the
serialization functionality of PlayerData.
* src/game-server/inventory.hpp, src/game-server/inventory.cpp:
Transformed Inventory into a strict helper class, as data are now
stored inside PlayerData. Reduced memory footprint of inventory by
avoiding storing empty slots.
* src/game-server/player.hpp, src/game-server/player.cpp,
src/game-server/gamehandler.cpp: Updated accordingly.
* src/net/messagein.hpp, src/net/messagein.cpp: Removed signedness
interpretation of received data.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp:
Added iterator around a point.
* src/defines.h, src/game-server/gamehandler.cpp: Implemented pick-up.
2007-01-04 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp,
src/account-server/main-account.cpp, src/game-server/main-game.cpp:
Cleaned and updated project files, fixed Win32 PACKAGE_VERSION
definition.
* gameserver.cbp, src/game-server/state.cpp: Moved NOGDI definition to
Code::Blocks project file.
2007-01-03 Eugenio Favalli <elvenprogrammer@gmail.com>
* accountserver.cbp, gameserver.cbp: Updated project files.
* src/game-server/state.cpp: Fix to Windows Rectangle redefinition.
2007-01-03 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/utils/timer.cpp: Removed extra semicolons that break builds with
--pedantic.
2007-01-03 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/debug.h, src/debug.cpp, src/Makefile.am: Removed obsolete debug
helpers.
* src/playerdata.hpp: Taken persistent data out of Player.
* src/being.h, src/being.cpp, src/object.h, src/object.cpp, src/map.h,
src/player.h, src/player.cpp, src/inventory.h, src/inventory.cpp,
src/map.cpp: Moved to src/game-server directory and changed header
extension to hpp.
* src/controller.h, src/item.h, src/game-server/mapcomposite.cpp,
src/game-server/mapreader.cpp, src/game-server/mapcomposite.hpp,
src/game-server/trigger.cpp, src/game-server/trigger.hpp,
src/game-server/accountconnection.cpp, src/game-server/gamehandler.hpp,
src/game-server/state.cpp, src/game-server/accountconnection.hpp,
src/game-server/itemmanager.cpp: Updated accordingly.
* src/account-server/account.hpp, src/account-server/serverhandler.cpp,
src/account-server/dalstorage.cpp, src/chat-server/chatchannel.hpp,
src/account-server/serverhandler.hpp, src/chat-server/chathandler.cpp,
src/account-server/accounthandler.cpp: Relied on PlayerData to remove
dependencies on Thing, Object, MovingObject, etc.
* src/defines.h: Fixed enumerations.
* src/games-server/gamehandler.cpp, src/game-server/player.cpp:
Commented in inventory code back.
* src/item.h, src/item.cpp: Moved to src/game-server directory and
changed header extension to hpp.
* src/game-server/itemmanager.hpp, src/game-server/itemmanager.cpp,
src/game-server/inventory.hpp, src/game-server/inventory.cpp,
src/game-server/player.hpp, src/game-server/gamehandler.cpp,
src/game-server/player.cpp: Simplified Inventory interface a bit.
Renamed Item to ItemClass to reflect its role. Added a Item class for
Objects lying on the world map.
* src/game-server/being.hpp: Removed counted pointers.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/game-server/being.cpp: Fixed end of lines.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp:
Fixed pessimistic bounds on region iterators. Added an iterator for
non-moving objects.
* src/defines.h, src/game-server/state.cpp: Added code to send data on
floor items to clients.
* src/game-server/testing.cpp: Added a Xmas cake for testing purpose.
2007-01-02 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* tmwserv.cbp, tmwserv.dev, runserv.sh: Removed obsolete project files
and shell script.
* configure.ac, src/Makefile.am, src/tests, src/client.cpp: Removed
obsolete tests and text client.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/point.h: Removed implicit radius for checking range of Point.
Added a Rectangle class. Added support for rectangles in MapComposite.
* src/object.h, src/defines.h, src/game-server/mapcomposite.hpp,
src/game-server/mapcomposite.cpp, src/game-server/state.hpp,
src/game-server/state.cpp: Put an ancestor for Object that are not
visible to clients. Added simple accessors for object types.
* src/game-server/mapmanager.cpp: Prevented loading unactive maps.
* src/game-server/trigger.hpp, src/game-server/trigger.cpp: Added a
trigger mechanism and a warp action.
* src/game-server/testing.cpp: Added some hardcoded game objects for
testing purpose.
* src/sqlitestorage.h, src/sqlitestorage.cpp: Removed obsolete SQLite
support.
* src/utils/zlib.hpp, src/utils/zlib.cpp: Added support for inflating
compressed data.
* src/mapreader.h, src/mapreader.cpp: Moved to src/game-server
directory and changed header extension to hpp. Removed useless
declarations. Relied on utils/xml and utils/zlib. Simplified code.
Fixed memory leaks on XML document and on Tilesets.
* src/properties.h, src/Makefile.am: Removed now useless class
Properties.
2006-12-31 Philipp Sehmisch <tmw@crushnet.org>
* accountserver.cbp, gameserver.cbp, runsrv.bat: Added Code::Blocks
project files and windows start script.
2006-12-31 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account-server/dalstorage.hpp,
src/account-server/dalstorage.cpp, src/account-server/storage.hpp:
Added function to query a character in the database.
* src/account-server/serverhandler.cpp: Finished implementation for
warping players around servers.
2006-12-30 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/mapcomposite.h, src/mapcomposite.cpp: Moved to src/game-server
directory and changed header extension to hpp.
* src/Makefile.am: Updated accordingly.
* src/object.h, src/being.h: Changed definition of directions.
* src/being.cpp: Relied on MapComposite iterators to scan only beings
in the vincinity one time instead of all objects of the map four
times. Used a pixel-based zone instead of tile-based zone for
damaging.
* src/player.cpp: Removed useless dependency.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp:
Added a radius parameter to iterator creators. Removed unused and
inefficient getObjectsOnTile.
* src/game-server/state.hpp, src/game-server/state.cpp: Split update
function into updateMap and informPlayer. Simplified code a bit.
* src/game-server/mapcomposite.hpp, src/game-server/mapcomposite.cpp,
src/object.h, src/game-server/state.hpp, src/game-server/state.cpp,
src/game-server/accountconnection.cpp,
src/game-server/gamehandler.cpp: Removed reference-counted pointers on
Object.
* src/game-server/gameclient.hpp, src/game-server/gameclient.cpp,
src/player.h, src/game-server/gamehandler.cpp, src/Makefile.am:
Embedded a simplified version of GameClient into GameHandler. Removed
the original files.
* src/game-server/mapmanager.hpp, src/game-server/mapmanager.cpp: Added
on-the-fly map loading.
* src/defines.h, src/game-server/accountconnection.cpp,
src/account-server/serverhandler.cpp: Controlled map activation from
the account server, so that clients are not kept on the wrong server
when warped.
* src/defines.h, src/game-server/state.hpp, src/game-server/state.cpp,
src/account-server/serverhandler.cpp, src/game-server/gamehandler.hpp,
src/game-server/gamehandler.cpp,
src/game-server/accountconnection.hpp,
src/game-server/accountconnection.cpp: Added a queue for delaying
intrusive events until update is finished. Partially implemented
server communications to update player data and to warp players
around.
2006-12-29 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/account.h, src/account.cpp, src/accountclient.h,
src/accountclient.cpp, src/storage.h, src/storage.cpp,
src/dalstorage.h, src/dalstorage.cpp, src/dalstoragesql.h,
src/accounthandler.h, src/accounthandler.cpp: Moved to
src/account-server directory and changed header extension to hpp.
* src/chathandler.h, src/chathandler.cpp, src/chatchannelmanager.h,
src/chatchannel.cpp, src/chatchannel.h, src/chatchannelmanager.cpp:
Moved to src/chat-server directory and changed header extension to hpp.
* src/itemmanger.h, src/itemmanager.cpp, src/state.h, src/state.cpp,
src/gamehandler.h, src/gamehandler.cpp, src/gameclient.h,
src/gameclient.cpp, src/mapmanager.h, src/mapmanager.cpp: Moved to
src/game-server directory and changed header extension to hpp.
* src/messagein.h, src/messagein.cpp, src/messageout.h,
src/messageout.cpp, src/connectionhandler.h,
src/connectionhandler.cpp, src/netcomputer.h, src/netcomputer.cpp:
Moved to src/net directory and changed header extension to hpp.
* src/controller.h, src/controller.cpp, src/game-server/state.cpp,
src/being.cpp, src/being.h: Removed knowledge of Controller in Being
by deriving a Controlled Being.
* src/game-server/state.cpp, src/game-server/mapmanager.cpp,
src/game-server/mapmanager.hpp, src/object.cpp: Simplified by removing
Singleton pattern.
* src/object.cpp: Moved code around: the idle case is now a fast path.
* src/net/connection.hpp, src/net/connection.cpp: Added a Connection
class to handle inter-server communications.
* src/game-server/itemmanager.cpp, src/utils/xml.hpp,
src/utils/xml.cpp: Copied an XML helper from tmw client. Used it to
simplify ItemManager.
* src/game-server/mapmanager.hpp, src/game-server/mapmanager.cpp,
data/maps.xml, src/account-server/dalstorage.cpp,
src/account-server/dalstorage.hpp, src/account-server/storage.hpp,
src/account-server/storage.cpp, src/account-server/dalstoragesql.hpp:
Added a XML file linking map names to map identifiers. Removed the
database as these links are not supposed to dynamically change.
Modified code to load the (relevant) maps beforehand.
* src/game-server/gamehandler.cpp, src/chat-server/chathandler.cpp,
src/item.h, src/object.h, src/player.h: Fixed compile warnings and
missing returns.
* src/player.cpp, src/game-server/gamehandler.cpp: Commented out the
currently unused inventory interface.
* src/net/messagein.hpp: Updated from tmwclient to add getUnreadLength.
* src/net/connectionhandler.hpp, src/net/connectionhandler.cpp:
Removed unused ClientData class.
* src/inventory.h: Removed "at" accessors, as nobody is ready to catch
exceptions. Removed unneeded dependency and unused pointer.
* src/net/netcomputer.hpp: Fixed typos.
* src/configuration.h: Factored DEFAULT_SERVER_PORT macro here.
* src/defines.h, src/game-server/accountconnection.hpp,
src/game-server/accountconnection.cpp,
src/account-server/serverhandler.hpp,
src/account-server/serverhandler.cpp,
src/account-server/accounthandler.cpp:
Added communication between account server and game server.
* src/main.cpp, src/Makefile.am: Created main files in both
src/account-server and src/game-server. Modified makefiles to produce
two server binaries.
* src/itemhandler.h, src/itemhandler.cpp: Removed: useless and unused.
* src/Makefile.am, src/account-server/dalstorage.cpp: Removed useless
dependency on Cipher + OpenSSL.
* README: Added a few words on how to run the split servers.
2006-12-29 Philipp Sehmisch <tmw@crushnet.org>
* src/being.cpp, src/being.h, src/defines.h, src/gamehandler.cpp,
src/mapcomposite.cpp, src/mapcomposite.h, src/object.h,
src/player.cpp, src/player.h, src/state.cpp: Implemented basic attack
hit detection and damage notification.
2006-12-27 Philipp Sehmisch <tmw@crushnet.org>
* src/defines.h, src/gamehandler.cpp, src/object.h, src/player.cpp,
src/player.h, src/state.cpp: Clients are now notified when other
clients near them perform attacks.
2006-10-20 Yohann Ferreira <bertram@cegetel.net>
* src/item.h, src/player.cpp, src/inventory.h, src/inventory.cpp:
Adding inventory handling basics Part 2.
2006-10-20 Yohann Ferreira <bertram@cegetel.net>
* data/items.xsd, data/items.xml, src/item.h, src/itemmanager.cpp,
src/main.cpp: Simplified item reference a bit and filled the reference
items.xml file.
* data/items.xml, data/items.xsd, src/item.h, src/itemmanager.cpp:
Added the missing Weapon Type and Max Per Slot item properties.
* src/inventory.h, src/inventory.cpp, src/itemmanager.h,
src/itemmanager.cpp, src/player.h, src/player.cpp,
src/gamehandler.cpp: Adding inventory handling (basics) Part 1.
2006-10-19 Yohann Ferreira <bertram@cegetel.net>
* data/items.xsd, src/main.cpp, src/Makefile.am, src/item.h,
src/item.cpp, itemmanager.cpp, itemmanager.h, being.h, player.cpp,
dalstorage.cpp: Added a backend to get item reference information.
The xml file isn't ready yet.
2006-10-03 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/itemhandler.h, tmwserv.cbp, tmwserv.dev: Updated project files
and fixed a compilation issue.
2006-10-03 Yohann Ferreira <bertram@cegetel.net>
* src/item.cpp, src/item.h, src/inventory.h, src.inventory.cpp,
src/itemhandler.h, src/itemhandler.cpp, src/dalstoragesql.h,
src/Makefile.am: Committed itemhandler structure part rc1.
src/accounthandler.cpp, src/accounthandler.h, src/chathandler.h,
src/chathandler.cpp, src/gamehandler.h, src/gamehandler.cpp: Made the
server tells which server is listening on a port.
2006-09-09 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/map.cpp: Merged client pathfinder changes.
2006-09-04 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/mapcomposite.cpp, src/mapcomposite.h, src/state.cpp: Fixed wrong
ID allocation. Improved failure propagation. Simplified code.
2006-09-03 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/player.cpp, src/object.h, src/gamehandler.h, src/state.cpp,
src/gamehandler.cpp, src/state.h: Removed mNeedUpdate and mNew from
Object class; added update flags instead. Reduced size of Object
fields. Moved sayAround from GameHandler to State class. Improved
handling of flags for move messages.
* src/mapcomposite.h, src/state.cpp, src/mapcomposite.cpp: Added map
partitioning to reduce quadratic behavior when checking object ranges.
* src/object.cpp: Fixed cost of diagonal moves.
2006-09-02 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/defines.h: Corrected hair and hair color constants to match
those available on the client.
2006-09-02 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/object.cpp, src/controller.cpp, src/dalstorage.cpp, src/items.h,
src/player.cpp, src/object.h, src/state.cpp, src/state.cpp,
src/defines.h, src/player.h, src/gamehandler.cpp: Decorrelated moving
object IDs from character database IDs. Switched to short IDs instead.
* src/messageout.cpp, src/messageout.h, src/state.cpp, src/defines.h:
Removed pixel-based synchronisation. Added variable length move
messages. Changed default buffer size of outgoing packets.
* src/src/accounthandler.cpp, src/point.h, src/object.cpp,
src/controller.cpp, src/dalstorage.cpp, src/object.h, src/state.cpp,
src/gamehandler.cpp: Made Point a POD type. Simplified server
algorithm for moving objects; it now matches the one in the client.
* src/gameclient.cpp, src/player.h, src/gamehandler.cpp: Added
GameClient pointer to Player class for O(1) message sending.
* src/mapcomposite.h, src/mapcomposite.cpp, src/Makefile.am: Moved
MapComposite class to its own files.
* src/gameclient.cpp, src/gamehandler.h, src/state.cpp, src/state.h,
src/gamehandler.cpp: Reduced amount of counted pointers. Implemented
unique public IDs.
2006-08-28 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
2006-08-28 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/controller.h, src/object.cpp, src/controller.cpp, src/object.h,
src/state.cpp, src/being.cpp, src/Makefile.am, src/being.h: Added a
Controller class meant to implement behaviour loosely coupled to the
actual being. Used it to control 10 testing maggots that are now
randomly walking around.
2006-08-27 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/map.cpp, src/accounthandler.cpp, src/point.h,
src/dalstorage.cpp, src/object.h, src/state.cpp, src/gamehandler.cpp,
src/map.h, src/Makefile.am: Introduced Point class to replace the
confusing and clumsy usage of std::pair.
* src/point.h, src/player.cpp, src/account.h, src/being.cpp,
src/player.h, src/gameclient.h, src/state.h, src/Makefile.am,
src/being.h: Put Player class in its own module instead of defining it
together with Being.
2006-08-27 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/object.cpp: Fixed assertion failure on being movements.
* src/accounthandler.cpp: Matched server-side speed with client-side
speed. Removed position hack.
* src/state.cpp: Changed state handler so that entering and leaving
beings are only reported when they are in range.
2006-08-26 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/netcomputer.h, src/netcomputer.cpp, src/connectionhandler.cpp:
Added the stream operator << to NetComputer, for logging of the
peers ip-address (patch applied by Bjørn Lindeijer).
2006-08-26 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/accounthandler.cpp: Set an arbitrary start position outside any
wall for testing purpose.
* src/gamehandler.cpp, src/defines.h: Send being identifier instead of
being name when saying around.
* src/object.h: Added a field indicating if an object just appeared.
* src/state.cpp: Improved update logic by taking into account beings
that just appeared. Moved "change map" message from AddObject to
InformPlayer.
2006-08-26 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp: Read game and chat server addresses to send
to the client from the configuration file.
* docs/tmwserv.xml: Added example configuration file.
2006-08-25 Rogier Polak <rogier_polak@users.sourceforge.net>
* src/accountclient.h, src/messageout.cpp, src/accounthandler.cpp,
src/accountclient.cpp, src/netcomputer.h, src/client.cpp,
src/messageout.h, src/netcomputer.cpp, src/gameclient.cpp,
src/state.cpp, src/defines.h, src/gamehandler.cpp,
src/chathandler.cpp, src/gameclient.h: MessageOut is now more
efficient by preallocating buffer capacity, NetComputer no longer
holds a reference to the ConnectionHandler that spawned it and support
was added for unreliable packets and channels (patch applied by Bjørn
Lindeijer with some modifications).
2006-08-21 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
2006-08-21 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp, src/accounthandler.h: Handle character
create message in separate funcion.
2006-08-20 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp: Do not send map name and send token before
game and chat server information, as per current specification.
* src/connectionhandler.h, src/connectionhandler.cpp,
src/dalstorage.cpp, src/netcomputer.cpp, src/mapmanager.cpp,
src/state.cpp: Some code format changes, logging improvals and
commenting.
* src/state.cpp, src/defines.h, src/gamehandler.cpp, src/state.h,
src/being.h: Added sending of initial GPMSG_PLAYER_MAP_CHANGE message
for joining players.
2006-08-19 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp, src/account.cpp, src/dalstorage.cpp,
src/account.h, src/defines.h, src/chathandler.cpp, src/being.h:
Renamed Genders to Gender and AccountLevels to AccountLevel.
2006-08-15 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/connectionhandler.h, src/messageout.cpp, src/messagein.h,
src/accounthandler.cpp, src/connectionhandler.cpp, src/netcomputer.h,
src/messagein.cpp, src/client.cpp, src/messageout.h,
src/netcomputer.cpp, src/packet.h, src/packet.cpp,
src/gamehandler.cpp, src/chathandler.cpp, src/Makefile.am: Removed
Packet class since MessageIn and MessageOut suffice. MessageIn and
MessageOut now no longer copy the message data unnecessarily (used to
happen in Packet). On the client side this class was already removed.
* src/defines.h: Removed UNKNOWN gender as this should currently not
be used.
2006-08-15 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/accounthandler.cpp, src/defines.h: Modified protocol so that
server information are sent on character selection.
* src/client.cpp: Adapted to new connection protocol and new character
information.
2006-08-13 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/items.h: Fixed missing constructor since there is no default
constructor in its superclass Object.
* src/netcomputer.cpp: Log sending of messages.
* runserv.sh: Include more verbose messages.
2006-08-13 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
* src/accounthandler.cpp, src/connectionhandler.cpp,
src/dalstorage.cpp, src/defines.h: Changed character list to a
sequence of packets and fixed a db issue.
2006-08-11 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/connectionhandler.h, src/connectionhandler.cpp,
src/netcomputer.h, src/netcomputer.cpp: Removed
ConnectionHandler::forceDisconnect method and implemented part of the
NetComputer::disconnect method instead. Makes NetComputer::getPeer
unnecessary.
2006-08-06 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/map.cpp, src/map.h, src/being.h, src/being.cpp: Changed member
constness. Added a proximity tester. Moved path node structure.
* src/accounthandler.cpp: Modified logging. Prevented empty packets
from being sent and killing ENet. Set destination to current position.
* src/defines.h, src/gamehandler.cpp, src/client.cpp: Added support
for move messages. Changed sayAround to pixel distance.
* src/object.cpp, src.object.h, src/state.cpp: Implemented being
movements.
2006-08-04 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/properties.h, src/map.cpp, src/map.h, src/Makefile.am:
Generalized the properties functionality as was done in the client
before.
* src/main.cpp, src/items.cpp, src/items.h, src/utils/timer.cpp,
src/utils/timer.h, src/utils/logger.h: Removed some more remaining
usages of tmwserv namespace.
* src/gamehandler.cpp, src/chatchannel.h: Added some documentation and
de-complicized the code a bit.
* configure.ac: Removed checks for SDL and SDL_net.
* INSTALL: Somehow got updated to a newer version.
2006-08-04 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/object.h, src/object.cpp, src/being.h, src/dalstorage.cpp: Added
the database primary key to Player.
* src/state.cpp: Used Player ID.
* src/dal/recordset.cpp: Removed redundant checks.
* src/dalstorage.cpp, src/dalstorage.h, src/storage.h: Prevented
database failure from allowing already existing character name or
email address.
* src/accounthandler.cpp: Fixed control for changing email address.
2006-08-03 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/storage.h, src/dalstorage.h, src/dalstorage.cpp: Removed
AccountInfo. Restricted addAccount to accounts without characters,
removed wrong SQL code. Fixed casting in updAccount, promoted member
as flush. Added implicit flush to addAccount and delAccount. Fixed
user_id for every SQL backend. Added flushAll and unloadAccount
members.
* src/accounthandler.cpp: Restricted flush to only modified accounts.
* src/account.h, src/account.cpp: Added the database primary key to
Account.
2006-08-03 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/gameclient.cpp, src/gameclient.h, src/gamehandler.cpp,
src/Makefile.am: Defined the GameClient class in its own module.
2006-08-02 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accounthandler.cpp, src/accounthandler.h: Put handling of
logout, unregister and password change messages into separate methods.
2006-08-02 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/Makefile.am: Put object files in subdirectories. Removed
compilation flags.
2006-08-02 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
2006-08-01 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/accountclient.h, src/accountclient.cpp, src/Makefile.am: Defined
this class in its own module (extracted from accounthandler.cpp).
* src/messageout.h, src/messageout.cpp: Added constructor that takes
the message ID for convenience.
* src/accounthandler.cpp, src/accounthandler.h: Put handling of logins
in a separate method. I think it would be better if this was done for
all messages.
* src/client.cpp: Removed requesting character listing, as this comes
with the succesful register/login responses.
* src/accounthandler.cpp, src/accounthandler.h: Put handling of
registrations in a separate method and cleaned it up a bit.
2006-07-31 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/client.cpp, src/netcomputer.cpp: Fixed registering (send version
as integer) and corrected the off by one packed size.
2006-07-27 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.cbp, tmwserv.dev: Updated project files.
* src/accounthandler.cpp, src/client.cpp: Modified client version to
be an int.
* src/accounthandler.cpp, src/defines.h: Client version is being sent
also during registration.
2006-07-27 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/storage.cpp, src/map.cpp, src/dalstorage.h, src/mapmanager.h,
src/chatchannelmanager.cpp, src/mapreader.cpp, src/mapmanager.cpp,
src/dal/dalexcept.h, src/dal/mysqldataprovider.h, src/dal/recordset.h,
src/dal/dataproviderfactory.h, src/dal/dataprovider.cpp,
src/dal/sqlitedataprovider.cpp, src/dal/dataprovider.h,
src/dal/mysqldataprovider.cpp, src/dal/pqdataprovider.h,
src/dal/recordset.cpp, src/dal/sqlitedataprovider.h, src/map.h,
src/dal/dataproviderfactory.cpp, src/main.cpp, src/mapreader.h,
src/utils/singleton.h, src/utils/cipher.cpp, src/utils/logger.cpp,
src/utils/cipher.h, src/utils/stringfilter.h, src/utils/logger.h:
Removed tmwserv namespace.
* src/utils/countedptr.h: Removed tmwserv namespace. Added conversion
constructor.
* src/accounthandler.cpp, src/account.cpp, src/object.cpp,
src/storage.h, src/dalstorage.cpp, src/account.h, src/object.h,
src/gamehandler.h, src/state.cpp, src/being.cpp, src/gamehandler.cpp,
src/state.h, src/being.h: Removed tmwserv namespace. Added
MovingObject and Player classes. Removed exhaustive statistic
accessors.
2006-07-26 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, tmwserv.cbp: Send some
character's infos after a successful login, removed a useless byte,
added Code::Blocks project file.
2006-07-13 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.dev: Updated Dev-C++ project file.
2006-06-17 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/state.cpp, src/state.h, src/defines.h, src/client.cpp,
src/main.cpp, src/gamehandler.cpp: Started handling beings on maps.
2006-06-11 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/chatchannelmanager.cpp: Fixed public/private ranges.
* src/chathandler.h: Removed useless prototype.
* src/defines.h, src/accounthandler.cpp, src/chathandler.cpp,
src/gamehandler.cpp, src/client.cpp: Sanitized message packets and
errors.
2006-05-23 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/chatchannelmanager.cpp, src/chatchannelmanager.h: Removed
unwarranted constness. Used binary searches instead of loops.
* src/chatchannel.cpp, src/chatchannel.h: Replaced usage of whole
Being by character name.
* src/client.cpp: Implemented client-side server split.
* src/messagehandler.cpp, src/messagehandler.h, src/Makefile.am:
Removed unused MessageHandler class.
* src/accounthandler.cpp, src/accounthandler.h, src/chathandler.cpp,
src/chathandler.h, src/gamehandler.cpp, src/gamehandler.h:
Respectively changed into an account server, a chat server, and a game
server.
* src/main.cpp, src/state.cpp, src/state.h, src/defines.h: Small fixes
to cope with server split.
* src/connectionhandler.cpp, src/connectionhandler.h,
src/netcomputer.cpp, src/netcomputer.h: Removed temporary classes.
2006-05-22 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.dev: Updated Dev-C++ project file.
2006-05-20 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/connectionhandler.cpp, src/connectionhandler.h,
src/netcomputer.cpp, src/netcomputer.h, src/accounthandler.h,
src/state.cpp, src/state.h, src/chathandler.h, src/gamehandler.cpp:
Split low-level and high-level functionality in network access:
NetComputer and ConnectionHandler access the medium while
Clientcomputer and ClientConnectionHandler have data on the connected
clients. Fixed loops in ClientConnectionHandler; sendToEveryone was
sending to only one client. Removed unused stringSplit.
* src/configuration.cpp, src/accounthandler.cpp, src/dalstorage.cpp,
src/main.cpp, src/chathandler.cpp, src/messagehandler.cpp,
src/utils/stringfilter.cpp, src/utils/logger.h, src/skill.cpp: Changed
LOG macros to have statement syntax.
2006-05-19 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/connectionhandler.cpp, src/connectionhander.h, src/main.cpp:
Copied connection logic from netsession. Removed multithreaded socket
access as Enet is non-blocking. Fixed memory corruption on client
disconnect.
* src/Makefile.am, src/netsession.cpp, src/netsession.h: Removed
unused NetSession class.
2006-05-14 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/accounthandler.cpp: Prevented accounts from being incorrectly
created when errors were detected.
* src/client.cpp: Prevented input from looping on error, allowed
client to read spaces as part of chat messages, added output of chat
messages received from server.
2006-05-14 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/utils/timer.cpp, tmwserv.dev: Replaced nanosleep with Sleep in
Windows and updated Dev-C++ project file.
2006-05-14 Guillaume Melquiond <guillaume.melquiond@gmail.com>
* src/messagein.cpp: Replaced strnlen by memchr to avoid GNU
extensions.
2006-05-14 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/messageout.cpp, src/messagein.h, src/messagein.cpp: Applied
another patch by Guillaume Melquiond which fixed a number of issues
with the message implementation (client side should also be checked).
* src/main.cpp, src/utils/timer.cpp, src/utils/timer.h: Applied a
patch by Guillaume that makes the server sleep between ticks instead
of polling for the next one.
* src/connectionhandler.cpp, src/object.cpp, src/object.h: Applied a
patch by Guillaume that fixes and optimizes
ConnectionHandler::sendAround.
2006-05-13 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/Makefile.am, configure.ac: Applied patch by Guillaume Melquiond
which adds ENet check and adds timer.cpp/h to the Makefile.am.
* src/connectionhandler.cpp, src/client.cpp, src/defines.h: Fixed some
compilation warnings.
2006-05-03 Philipp Sehmisch <tmw@crushnet.org>
* src/main.cpp: only yield main thread when there isn't anything to
do.
2006-04-30 Philipp Sehmisch <tmw@crushnet.org>
* src/util/timer.h, src/util/timer.cpp: Added a timer class.
* src/main.cpp: Replaced SDL timing with the new timer class.
* src/util/timer.h, src/util/timer.cpp: Replaced clock with
gettimeofday.
* src/util/wingettimeofday.h, src/util/wingettimeofday.h: Windows
implementation of the UNIX gettimeofday function.
* src/main.cpp: World time doesn't get async anymore when world ticks
are skipped. Added a warning when tick skip occurs.
* src/util/timer.h, src/util/timer.cpp: Made sure every compiler uses
a 64 bit unsigned integer for getTimeInMillisec.
* src/main.cpp, src/connectionhandler.cpp, src/netsession.cpp,
src/SDL-win32_main.c: Removed the last remains of SDL.
2006-04-28 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/netsession.cpp, src/netsession.h, tmwserv.dev: Got rid of SDL
threads, now using pthreads.
2006-04-11 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/client.cpp, src/connectionhandler.cpp, tmwserv.dev: Updated some
code to latest enet version, and fixed a linking issue in windows.
2006-03-26 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/messagein.cpp, src/messageout.cpp: Got rid of SDL_net endianess
code.
* src/messagein.cpp: Fixed a mistake.
2006-03-20 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/client.cpp, src/connectionhandler.cpp, src/connectionhandler.h,
src/main.cpp, src/messagein.cpp, src/messageout.cpp,
src/netcomputer.cpp, src/netcomputer.h, src/netsession.cpp,
src/netsession.h, src/utils/logger.cpp, tmwserv.dev: Got rid of
SDL_net, now both server and test client use enet.
2006-03-18 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/client.cpp, src/messageout.cpp, src/messageout.h: Converted the
test client to use enet.
2006-03-14 Eugenio Favalli <elvenprogrammer@gmail.com>
* tmwserv.dev: Updated project file.
2006-03-07 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/utils/stringfilter.h, src/utils/stringfilter.cpp: A bunch of
cleanups.
2006-03-06 Björn Steinbrink <B.Steinbrink@gmx.de>
* src/connectionhandler.h, src/storage.cpp, src/configuration.cpp,
src/script.h, src/messageout.cpp, src/map.cpp, src/messagein.h,
src/skill.h, src/messagehandler.h, src/resourcemanager.h,
src/netsession.cpp, src/accounthandler.cpp, src/dalstorage.h,
src/sqlitestorage.h, src/account.cpp, src/connectionhandler.cpp,
src/chatchannelmanager.cpp, src/netcomputer.h, src/messagein.cpp,
src/client.cpp, src/messageout.h, src/dalstorage.cpp,
src/netsession.h, src/accounthandler.h, src/mapreader.cpp,
src/account.h, src/netcomputer.cpp, src/mapmanager.cpp, src/object.h,
src/gamehandler.h, src/dal/mysqldataprovider.h, src/dal/recordset.h,
src/dal/dataproviderfactory.h, src/dal/sqlitedataprovider.cpp,
src/dal/dataprovider.h, src/dal/mysqldataprovider.cpp,
src/dal/pqdataprovider.h, src/dal/recordset.cpp,
src/dal/sqlitedataprovider.h, src/state.cpp, src/chathandler.h,
src/items.h, src/mapreader.h, src/packet.cpp, src/gamehandler.cpp,
src/mapmanager.h, src/chathandler.cpp, src/skill.cpp,
src/utils/cipher.h, src/utils/logger.cpp, src/utils/stringfilter.h,
src/utils/base64.cpp, src/utils/logger.h, src/utils/cipher.cpp,
src/utils/stringfilter.cpp, src/resourcemanager.cpp,
src/messagehandler.cpp, src/map.h, src/state.h, src/sqlitestorage.cpp:
Cleaned up unnecessary header dependencies and fixed some
indentations.
2006-03-05 Yohann Ferreira <bertram@cegetel.net>
* src/state.cpp, src/defines.h, src/chathandler.cpp,
src/connectionhandler.cpp, src/connectionhandler.h, TODO: Added the
server code to enter and leave a channel. Some minor fix to the state
code, and completed the TODO a little for later coding.
2006-02-19 Yohann Ferreira <bertram@cegetel.net>
* src/state.h, src/state.cpp, src/object.h: Made use of counted
pointers for objects, just the way it is for beings.
* src/chathandler.cpp, src/accounthandler.cpp, src/client.cpp,
docs/packets: Updated tmwserv packets documentation. Some minor other
updates.
2006-01-24 Yohann Ferreira <bertram@cegetel.net>
* src/chathandler.cpp, src/chathandler.h, src/accounthandler.cpp,
src/dalstoragesql.h, src/defines.h, src/client.cpp, src/Makefile.am,
src/utils/slangsfilter.cpp, src/utils/slangsfilter.h,
src/utils/stringfilter.h, src/utils/stringfilter.cpp, src/main.cpp,
src/accounthandler.h, src/chatchannelmanager.cpp,
src/chatchannelmanager.h, src/chatchannel.h, src/chatchannel.cpp,
src/connectionhandler.h, src/connectionhandler.cpp: Chat Channeling
Commit part 4. Renamed the slang filter into StringFilter and moved
some code to it. Added the missing protocol values, and implemented
registering/registering of channels; More to come about it.
2006-01-21 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/client.cpp, src/defines.h,
src/dalstorage.cpp: Very little corrections. Corrected a little
mistake in the channels loading. Made a simple function to test
for double quotes. We could see how to improve that.
* src/chatchannelmanager.h, src/chatchannelmanager.cpp,
src/chatchannel.h, src/chatchannel.cpp, src/dalstorage.cpp,
src/dalstorage.h, src/storage.h, src/chathandler.cpp,
src/netcomputer.h, src/netcomputer.cpp, src/main.cpp,
src/connectionhandler.h, src/connectionhandler.cpp: Chat channeling
commit part 3. Is now linked with the connection handler to chat in a
specific channel. Also made some fixes on the chat channeling and in
the channels load/save functions.
2006-01-18 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/mapmanager.cpp, src/mapmanager.h: Some insignificant changes to
usage of the const keyword. Also simplified isLoaded method.
2006-01-18 Yohann Ferreira <bertram@cegetel.net>
* src/chatchannelmanager.h, src/chatchannelmanager.cpp,
src/chatchannel.h, src/chatchannel.cpp, src/storage.h,
src/dalstorage.h, src/dalstorage.cpp, src/dalstoragesql.h,
src/defines.h: Chat Channeling Commit Part 2.
2006-01-16 Yohann Ferreira <bertram@cegetel.net>
* src/state.cpp, src/chathandler.h, src/chathandler.cpp,
src/Makefile.am, src/chatchannel.h, src/chatchannel.cpp,
src/chatchannelmanager.h, src/chatchannelmanager.cpp,
src/dalstoragesql.h, src/dalstorage.cpp, src/storage.h,
src/dalstorage.h: Chat channeling commit part 1. Useful to get
feedback before committing what's next.
2006-01-14 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, src/dalstorage.cpp,
src/messageout.cpp, src/defines.h: Server returns infos about position
of the selected character (map name, coordinates).
2006-01-13 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, src/dalstorage.cpp,
src/defines.h, src/main.cpp, src/mapmanager.cpp, src/mapmanager.h,
src/netcomputer.cpp, src/object.cpp, src/object.h, tmwserv.dev: Made
minimum client version and default map id configurable, set/getMapId
are now preferred.
2006-01-12 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/accounthandler.cpp, src/client.cpp, src/dalstorage.cpp,
src/main.cpp, src/mapmanager.cpp, src/mapmanager.h,
src/netcomputer.cpp, src/object.cpp, src/object.h, src/state.cpp,
tmwserv.dev: Fixed default map definition for a new created character,
enabled loading of map when a character is on it, fixed inconsistency
in getter/setter for map id.
2006-01-09 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/dalstorage.cpp: Fixed some sql query issues.
2005-01-08 Yohann Ferreira <bertram@cegetel.net>
* src/defines.h, src/client.cpp, src/accounthandler.cpp,
src/dalstorage.cpp, src/storage.h, src/dalstorage.h,
src/dalstoragesql.h, src/being.h, src/object.h, src/netcomputer.cpp,
src/object.cpp, src/being.cpp, src/state.h, src/state.cpp,
src/mapmanager.h, src/main.cpp, src/mapmanager.cpp: Added
customization of created character. (That makes previously created db
invalid.) Made list of map indexed by map id, instead of map name.
This will prevent unsyncing of player's current map when changing a
map name. Remember you have now to add a map filename into db before
being able to load it. (Default map id is 1, not ZERO, as zero is the
not found return value.
2005-01-04 Yohann Ferreira <bertram@cegetel.net>
* src/defines.h, src/accounthandler.cpp, src/main.cpp, src/client.cpp:
Added a standard version check.
2005-01-04 Yohann Ferreira <bertram@cegetel.net>
* src/connectionhandler.h, src.connectionhandler.cpp, src/client.cpp,
src/accounthandler.cpp, src/defines.h: Added a check if the maximum
number of client is already logged in at login attempt. Added a
default behaviour in protocol. Some cleanups.
* src/client.cpp, src/storage.h, src/dalstorage.cpp, src/dalstorage.h,
src/main.cpp, src/defines.h, src/accounthandler.cpp, src/Makefile.am:
Implemented server response handling to the test client. Fixed a bug
that made the Email change not possible. Changed some protocol value
to have a litte neater client code. Added FreeBSD fix idea from icy to
server code.
2005-12-31 Yohann Ferreira <bertram@cegetel.net>
* src/main.cpp, src/defines.h, src/utils/slangsfilter.h,
src/utils/slangsfilter.cpp, src/accounthandler.h,
src/accounthandler.cpp, src/chathandler.cpp: Adding the possibility to
change Email, and password. Turned Slangs Filter into a class. Use
some ifdefs for future configure options handling. Still has to update
the client.
2005-12-29 Yohann Ferreira <bertram@cegetel.net>
* src/main.cpp, src/connectionhandler.cpp, src/defines.h,
src/chathandler.cpp: Adding changes thought by Elven and an option for
setting the port to listen on at startup.
* src/accounthandler.cpp, src/dalstorage.cpp, src/dalstorage.h,
src/storage.h: Fixing a bug in the Storage::getAccount() function that
made the server crash when the first login had a bad password.
2005-12-29 Bjørn Lindeijer <bjorn@lindeijer.nl>
* configure.ac: Added errors when SDL_net or libcrypto are not found.
* src/main.cpp: Reset SEGV signal handling after SDL initialisation to
allow cores to be dumped.
* runserv.sh: Added script that perpetually runs the server and
automatically saves a backtrace and restarts when it crashes.
2005-12-29 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/mapmanager.cpp, src/mapmanager.h, tmwserv.dev: Forgot a way to
access maps.
* tmwserv.dev: Fixed merge conflict as pointed out by Bjørn.
2005-12-28 Bjørn Lindeijer <bjorn@lindeijer.nl>
* makeclient.sh, src/Makefile.am: Integrated the building of tmwclient
with the default make command, as contributed by r0nny.
* src/main.cpp: Applied patch by r0nny that makes main.cpp a bit
nicer.
2005-12-27 Yohann Ferreira <bertram@cegetel.net>
* src/chathandler.h, src/chathandler.cpp, src/defines.h,
src/utils/slangsfilter.h, src/utils/slangsfilter.cpp,
src/Makefile.am, src/main.cpp, src/accounthandler.cpp,
src/connectionhandler.h, src/connectionhandler.cpp: Implemented common
chat handling, except for chatting in channels. Also the Channel
registering/unregistering isn't there yet and the commands needs to be
implemented. Added a small slangs filter to reduce bad words in
account names and in conversations a little.
2005-12-26 Bjørn Lindeijer <bjorn@lindeijer.nl>
* src/storage.cpp: Removed manual throwing of std::bad_alloc, which
should happen by default unless new(nothrow) is used. Suggested by
r0nny.
2005-12-20 Yohann Ferreira <bertram@cegetel.net>
* src/Makefile.am: Adding the MapManager to files list.
* src/utils/logger.cpp, src/utils/logger.h, src/main.cpp,
src/configuration.cpp, src/connectionhandler.cpp,
src/mapmanager.cpp, src/mapreader.cpp, src/messagehandler.cpp,
src/skill.cpp, src/resourcemanager.cpp, src/dalstorage.cpp,
src/accounthandler.cpp: Adding command line argument parsing and
log verbosity level handling.
2005-12-18 Eugenio Favalli <elvenprogrammer@gmail.com>
* src/main.cpp, src/mapreader.cpp, tmwserv.dev,
src/mapmanager.cpp, src/mapmanager.h: Added a map manager to
load/unload/reload maps.
2005-12-18 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/netcomputer.h, src/netcomputer.cpp,
src/chathandler.cpp, src/connectionhandler.cpp,
src/gamehandler.cpp, src/connectionhandler.h, src/state.h,
src/state.cpp: Made the handlers use the countedPtr for Beings as they
should. Fixed a segfault when removing a being from the world. Also
made use of AccountPtr instead of Account* to fix a not seen but yet
present account reselection segfault bug.
2005-12-17 Bjorn Steinbrink <B.Steinbrink@gmx.de>
* src/messageout.h: Fixed some 64bit issue.
2005-12-12 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/netcomputer.h,
src/netcomputer.cpp, src/defines.h, src/dalstorage.cpp,
src/dalstorage.h, src/storage.h, src/client.cpp, src/main.cpp:
Now beings are handled in netcomputer when added and removed from the
world. addBeing() and removeBeing() are still crashy. Added check if
the character's name already exists. Forgot about that. Added
CMSG_CHAR_LIST packet support.
2005-12-11 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp, src/main.cpp, src/account.h,
src/account.cpp, src/dalstorage.cpp, src/client.cpp,
src/defines.h: Added Logout, and character deletion support. Also
changed the response code when trying to login when already logged.
* src/accounthandler.cpp, src/main.cpp, src/dalstorage.cpp,
src/client.cpp, src/connectionhandler.cpp, src/defines.h:
Added unregistering, checking on character's name and email length
support. Also made some little tweaks.
2005-12-10 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp: Fixed the buggy part of getAccount() where the
mapInfo() recordSet erased the value of charInfo. Now, characters can
be created and selected, with the map they were in, set.
2005-12-09 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp, src/accounthandler.cpp: Temporary made a
workaround the character misloading at login. Work is to be made to
see why the mapInfo recordset is buggy. Also made the server more
verbose about characters.
2005-12-08 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp, src/dalstorage.h, src/storage.h: Radically
improve the getEmailList() again based on MrLindeijer's good idea.
* src/accounthandler.cpp: Simplify the code of Email check based on
the previous improvement.
2005-12-06 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp: Improved the getEmailList() function. Now the
file used as db or the db name is shown in log.
* src/defines.h: Added some missing messages and values for them.
Login, pass min, max length can be changed there now.
* src/accounthandler.cpp: Added check and appropriate response when
selecting, creating a character.
2005-12-05 Yohann Ferreira <bertram@cegetel.net>
* src/dalstorage.cpp: Added a working getEmailList() function.
* src/accounthandler: Now tests if email already exists.
* src/accounthandler.cpp, src/defines.h: Strengthens the way email
addresses checked. Added good response for selecting a char when not
logged.
* src/storage.h, src/dalstorage.h, src/dalstorage.cpp: Added the
getEmailList function, doesn't seem to work, but committed to see why.
2005-12-03 Yohann Ferreira <bertram@cegetel.net>
* src/accounthandler.cpp: Handling good conditions to register.
Still lacks checking if the Email already exists.
* src/dalstorage.cpp: Fixed a bug that throwed an exception when
logging with an account that had no mapInfo yet. Still has to set
these to defaults in such case.
2005-12-02 Yohann Ferreira <bertram@cegetel.net>
* src/main.cpp, src/accounthandler.h, src/accounthandler.cpp,
src/configuration.h: Made the accounthandler reopen the db for SQLite
to enable registering! Now working.
2005-11-21 Aaron Marks <nymacro@gmail.com>
* src/state.cpp: Re-ordered a few statements to work better.
* src/dalstorage.cpp: Now sets being's current map when getting a
player's account.
2005-11-16 Aaron Marks <nymacro@gmail.com>
* src/state.h, src/state.cpp: Updated world related functions.
* src/accounthandler.cpp: Now adds players who have selected a
character to the game world.
* src/object.h: Updated to include member variable for current map the
object is located.
2005-11-15 Aaron Marks <nymacro@gmail.com>
* src/state.h, src/state.cpp: Updated world representation, added
various methods which provide easy access to the game world.
* src/defines.h: Added "private message" message.
* src/client.cpp, scripts/init.rb: Added experimental remote access
to Ruby's functionality.
2005-11-14 Aaron Marks <nymacro@gmail.com>
* src/bindings.i: Enabled "directors", allowing scripting language
to override virtual functions.
2005-11-12 Aaron Marks <nymacro@gmail.com>
* src/main.cpp: Added scripting with Ruby support
* src/bindings.i: Created basic SWIG bindings.
* src/Makefile.am: Updated to support Ruby & generate SWIG bindings.
* configure.ac: Updated to detect SWIG & Ruby, using them
appropriately.
* scripts/init.rb: Server initialization test script.
2005-11-10 Aaron Marks <nymacro@gmail.com>
* src/client.cpp: Updated client to support moving and equipping.
* src/being.h, src/being.cpp: Added "hasItem"
* src/state.cpp: Added beings updating.
2005-10-24 Yohann Ferreira <Bertram@cegetel.net>
* src/main.cpp: Added more useful infos at startup.
* src/dal/dataprovider.h, src/dal/dataprovider.cpp,
src/dal/sqlitedataprovider.cpp, src/dal/mysqldataprovider.cpp,
src/dal/pqdataprovider.cpp, src/main.cpp, src/client.cpp:
Grammar corrections, and a little bit of work on getting the name of
the Db.