i just had to rewrite it
fix crash with patch and create
*** empty log message ***
- set map before parsing an object, add_button_link requires this completely bogus idiotic design bug. - document speed hack by elmex :)
- 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
- use a simpler, less fancy loader base design (basically a one-line-lookahead top-down parser).
hell on earth, rewrote the container code - it really was a mess before - open/close events should now be very reliable. - make container an object_ptr, just to be on the safe side (the old code is known to crash, the new code should be reliable, but...). - its also smaller, much smaller/clearer in sourcecode size and a bit smaller in text segment size. also disable big worldmap again: is this still causing memleaks?
minor stuff, indent
Object => object
rework material code in preparation for nuking object->materials, also add some useful object methods in preparation of the mapspace limiting
load regions from perl, reload on, well, reload
- improve error messages from object_thawer to incldue line numbers - provide geenric parse error handler - finish basic design of generic object loader - implement generic regions loader - use it to load regions: loader_region loader; if (!loader.load (filename)) error; - regions should now be the very first filetype that could be reloaded at runtime
goofing around
base classes can be so tedious
do what should have been done long ago
- rename Animations => animation - rename New_Face => facetile - add but do not implement some generic loader framework classes
just experimenting
comments
fix 'object lacks animation' continued reporting. maps should use 'animation', not 'animation NONE'
implement new flag_no_save to avoid saving
save obj_original flag
more preperations for player eviction
- more improvements/fixes - timestamp with millisecond accuracy, horrible code
added some copyrights
removed last references to 'editor' variable.
initialised :)
started a fix of the log
minor changes, follow command still borked
use freezer api for saving players, too
- style maps need very special treatment - cf has a nonzero chance of crashing in a random map
many minor changes everywhere, random maps crash sometimes but design is in place
fixed the problem where objects with speed=0 were on the active object list. extended debug_desc a bit. implemented object::has_active_speed ().
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS See the Changes file for details
replace update_ob_speed by ->set_speed
- some fixes - disable some refcounting again, not ready yet - simplify save_object
- small, but subtle, rewrite of object management - perl will now keep attachable objects alive - objects are now refcounted - refcouts need to be tested explicitly (refcnt_chk) - explicit destroy is required current - explicit destroy asks "nicely" for the object to self destruct, if possible - refcounts will be used during mortal killing - minor bugfixes, optimisations etc. - some former hacks removed.
- rename flags => flag (because its rpedominantly used singular), - remove remaining use of the flags array semantics
removed FLAG_TREASURE as it is not used by the code and not by the archetypes or in maps.
ooification
- remove recycle_tmp_maps setting (hardwired to true) - replace object->flags by std::bitset, seems to be way more efficient, for some unexplainable and not looked-into reason. its way cleaner, too...
the rename for sanity campaign hits you died - renamed stuff - partially updated copyrights - some cleanups
- more ooficiation - removed now superfluous remove calls
replace some function- by method-calls
- likely fix patch/create variable setters - abstract away access rights with $ob->may ("xxx") and use it
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
reindent
indent
cleanup
preliminary uuid support
- improve assign to prepend "..." - make more use of assign - implement op->debug_desc() and make some more use of it
implement owner pointer using refcounted refptr templates
indent
genaccess, take two
generic accessors, take one
stabilise object save order
Cleaned up code a little.
*** empty log message ***
reality always is less simple than it appears
major map loading speedups
*** empty log message ***
fix, uhm, bug. da.
Changes... - alternative shstr representation, saves code - use glibs splice memory allocator (seems slower) - use simpler memory/lifetime management for objects, no recycling
string scanning (e.g. for patch) is not implemented ATM but should be easy to add with an alternative constructor for object_thawer. Rewrote flex scanner to be simpler, faster and more modularised. Initial speedup: 16% (ah well)
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.