- identified random memory corrutpion bug - fixed most likely cause for bug above - rewrote object loader etc. into a simple one-line lookahead parser. - rewrote/cleaned up archetype, treasure, artifact, formula parser. - some optimisations / cleanups
stupid macros
indent
replace amny strcpy by checked assign's
comments
added some copyrights
implemented proper support for empty treasures, which sadly occur in empty treasure lists. fixing treasurelists to have no entries at all would be even more complicated, but even when this is fixed, the current changes only make the server more crash robust to bad treasures. Also removed the 'NONE' specialcase for treasure lists. Developers should use 'none' instead now.
fixed the problem where objects with speed=0 were on the active object list. extended debug_desc a bit. implemented object::has_active_speed ().
removed TOOL and BUILDFAC which were also dead types.
removed dead types: FIREHOLES and POISONCLOUD.
removed LIGHT_SOURCE, MONSTER and SPAWN_GENERATOR types.
removed TRAP_PART, renamed WALL to BUILDABLE_WALL to reflect the usage of this type these days and fixed generic destroyer not to remove players and other objects that can crash the server (hopefully).
removed QUEST and LIGHTNING types.
removed EXPERIENCE type.
- minor cleanups - minor optimisations (in_player vs. is_player_inv) - added P_PLAYER map flag - some (dead) concept code
ooification
further simplify and speed up map saving, fixed - flag_player_sold was incorrectly saved as "player sold 1" - flag_has_ready_range was not saved - flag_is_dust is not in use anymore not well tested
indent
- introduce shstr_cmp for mass comparisons to shstr and make use of it - introduce assign utility function to replace strncpy
indent
THIS CODE WILL NOT COMPILE use the STABLE tag instead. - major changes in object lifetime and memory management - replaced manual refcounting by shstr class - removed quest system - many optimisations - major changes
expand initial tabs to spaces
Made server compile with C++. Removed cfanim plugin and crossedit. C++ here we come.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.