get rid of QUERY_FLAG/SET_FLAG/CLEAR_FLAG macros that I always hated
update copyright for up to 2010
remove bogus 2007 copyright that was added wrongly by the script, update to affero license
*** empty log message ***
lots of cleanups
make effectively static symbols actually static, part 2
*** empty log message ***
*** empty log message ***
cleanups
*** empty log message ***
clarify license
*** empty log message ***
*** empty log message ***
mapscript changes
add originator
connected => shstr, beginning of mapscript
*** empty log message ***
destroy (true) => destroy ()
do the same everywhere else
update copyright
*** empty log message ***
fix button bug, clarify head/non-head logic in buttons
- fix weight/pickup bugs, visible_to - do more automatic nrof/weight updates - kill funcpoint.h
refactor decrease_ob* into ->decrease method.
use head, total_weight
fixaltar
update copyrights and other minor stuff to deliantra
some more sounds for gates, holes
altar operations have changes: now the slaying field operates on the substring of the query_base_name of an object.
- support more than the gcfclient-20-something sounds (dire hack) in sound.conf.res - implement "sound" face for archetypes/objects. - play sound face in signs either on map (triggered) or on the player reading it.
- upgrade crossfire trt to the GPL version 3 (hopefully correctly). - add a single file covered by the GNU Affero General Public License (which is not yet released, so I used the current draft, which is legally a bit wavy, but its likely better than nothing as it expresses direct intent by the authors, and we can upgrade as soon as it has been released). * this should ensure availability of source code for the server at least and hopefully also archetypes and maps even when modified versions are not being distributed, in accordance of section 13 of the agplv3.
- archetype is now a subclass of object. - store archetypes in an object_vector. - use a different startegy for archetype loading (reloading is MOST CERTAINLY broken).
rename arch->name to arch->archname for preparation of subclassing object
update copyrights in common/*.C and util/*.C
- prepare common/ for head_ => head change - add some copyrights for files where they were missing
This is the first rough cut of the skill use system (use the STABLE tag). Details will likely change, and combat skills do not work very well, but it works quite well. Players no longer have a shoottype or range slots, instead, each player has these members: combat_skill/combat_ob the currently selected skill (and weapon) for direct attacks. ranged_skill/ranged_ob the currently selected ranged skill (and bow/spell/item) golem the currently-controlled golem, if any.
implement two new flags and associated gadgets: - FLAG_PRECIOUS: used to mark precious pet monsters. semantics are not fleshed out yet, but destroy_pets floors leave them be. ideas: save them to the player file, do not kill with killpets (but only with killpets all), try harder when following player on other maps. - FLAG_TREASURE_ENV: put treasure into the environment instead of into the object, useful for terrain types on the worldmap. - bumped chance field in treasures to 16 bit (ideally float).
server crashed this morning because a freed golem tried to follow his owner, triggering the assertion failure. the golem had no owner, but the owner still had him in his range slots. I refactored a bit of the code and rearranged it to hopefully increase chances of this not occuring again.
- implement mood floor types 5 and 6
comments
fixed check_inv now for sure!!?
reverted last 'fix'
this should fix the inv-checker problem in the library. i hope there are no maps who exploit the inv-checker in evil ways... like setting value to 1 in the object to invert the checker (but these were and are usage errors anyways and then shall be fixed on sight (or noted in the server todo)).
more preperations for player eviction
added some copyrights
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS See the Changes file for details
replace update_ob_speed by ->set_speed
- 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.
- reduce map memory consumption by reserving space for only the 3 existing layers - factorise out some functions into mapspace and object
- minor cleanups - minor optimisations (in_player vs. is_player_inv) - added P_PLAYER map flag - some (dead) concept code
reverted the last change to move_apply and check_inv and fixed check_inv differntly: as all the buttons and pedestals check themselves whether the objects above them satisfy their conditions i thought the best would be if check_inv would do the same. The new semantics are compatible with the semantics used by the map makers (at least i hope that) and won't end up in a broken state so easily now. While fixing check_inv i documented inventory checkers in objects.pod
Added a parameter to move_apply that indicates whether something moved on or off and changed check_inv to take the same additional argument. An inventory checker is now mostly state-independend and a bad state is corrected now if the inventory checker is activated. While fixing that i've documented the HOLE type and FLAG_ACTIVATE_ON_(PUSH|RELEASE) in objects.pod.
further cleanups and oofication
remove golem_count, likely golems are destroyed late now
more now invalid tag_t uses replaced by refcounting. reduced codesize quite a bit.
mapstruct => maptile removed many ytypedefs in favor of structure tags
indent
*** empty log message ***
implement owner pointer using refcounted refptr templates
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
rewrote object serialiser, parser is next
fixed an evil crash bug
rewrote parts of the connection code, which now is completly perl invoke- and overrideable.
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.