[wpdev-commits] Changelog
Brought to you by:
rip,
thiagocorrea
From: Thiago B. <hel...@uo...> - 2004-11-03 03:04:58
|
Hi all, Since this is a large changelog, I'm sending it through email instead of the CVS log. Normally I would prefer to send small, incremental patches, but this time there was no clean way to do the changes incrementally. This is a huge rewrite of the sectors code, and includes many other changes I couldn't commit before. Be prepared to do a clean rebuild.... As I had to change a lot of the server's code, I may have introduced bugs (well, hopefully not). Please help me trace any bugs, and I'll have them fixed ASAP. By the way, as I write there's a new crash-bug in the decay system which was introduced by DarkStorm's new containers code. I believe it has nothing to do with my changes. New sectors code: - The SectorMaps singleton has been renamed to MapObjects. - It's much, much, much, much faster; slightly higher memory usage though. - The old deprecated RegionIterators have been removed. - The not so old SectorIterators have also been removed, in favor of a much faster iterator. - The new iterators don't allocate/copy memory anymore. They're more user friendly as well (no need to delete them). Now the following changes MAY break compatibility with some code: - The "range" lookup, which previously looked for items within a rectangle, now looks for items within a real circle. - Multis now have their own structure, and are no longer part of the items structure. This means multis won't be listed among other items anymore. - There's no way to list both the online and offline chars within a region anymore. Now you can list EITHER the online or the offline chars within a region. Any code that listed both the online and offline chars now would get only the offline chars, and must be updated. The default behaviour of the iterators is still to list the online chars. TODO: - Python iterators must be revamped to get in sync with theses changes. Right now they're functional, but can't access multis. - Take the chance and make the iterators work as real python iterators. Having to call first()/next() from python sucks! - Update the documentation. Other changes I made and couldn't commit before: - Renamed the Coord_cl class to just Coord (that _cl was annoying and out of the project standards). - cUObject::pos() now returns a Coord by reference (was by value, a major eek). - Appended "Type" to the cVariant::Type constants to avoid potential name clashes. - The typedefs from platform.h (e.g. UI32) now map to the Q_INTXX constantes. Now they're really cross-platform... - Replaced all QMAX/QMIN calls with wpMax/wpMin (the former are macros, the latter are template inline functions). Please use the latter. - Added isConnected() and isOnline() to cPlayer. - Changed onLogout() is called. Previously was when the socket disconnected... now is when the char exits the world. - Added the onDisconnect() event to cPlayer (not yet exported to python), called when the socket disconnects. - Walking: items are now sent at the VISRANGE, and multis at BUILDRANGE (both were at BUILDRANGE). - The "allshow" account privilege is no longer used, and should probably be removed. You can no longer see offline characters as you walk. - The "allshow" command now simply reveals the offline characters in your screen. This command should probably be ported to python with another name. -- HellRaider |