[root]/trunk/crossfire/doc/Developers
img
(0 files, 0 lines)
plugins.doc
(0 files, 0 lines)
cfanim
(0 files, 0 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 166 (100.0%) | 15601 (100.0%) | 93.9 |
mwedel | 90 (54.2%) | 9710 (62.2%) | 107.8 |
tchize | 17 (10.2%) | 3045 (19.5%) | 179.1 |
akirschbaum | 16 (9.6%) | 1335 (8.6%) | 83.4 |
gros | 6 (3.6%) | 524 (3.4%) | 87.3 |
temitchell | 5 (3.0%) | 474 (3.0%) | 94.8 |
cavesomething | 8 (4.8%) | 263 (1.7%) | 32.8 |
ryo_saeba | 18 (10.8%) | 167 (1.1%) | 9.2 |
qal21 | 2 (1.2%) | 61 (0.4%) | 30.5 |
quinet | 1 (0.6%) | 10 (0.1%) | 10.0 |
tanner | 1 (0.6%) | 8 (0.1%) | 8.0 |
lalo | 1 (0.6%) | 4 (0.0%) | 4.0 |
garbled | 1 (0.6%) | 0 (0.0%) | 0.0 |
make branche directories, delete old trunk.
0 lines of code changed in 29 files:
Fix typo.
1 lines of code changed in 1 file:
small, useful note about map difficulty in the map guide
4 lines of code changed in 1 file:
doc/Developers/protocol: Fix off by one on how many layers are currently
defined.
server/swap.c: When loading up temp maps, make sure timeout is set to 0 -
fixes bug 1539203.
MSW 2006-09-06
1 lines of code changed in 1 file:
Added media tags documentation
1 lines of code changed in 1 file:
configure, aclocal.m4, utils/config.guess, utils/config.sub,
utils/ltmain.sh, include/autoconf.h.in, */Makefile.in: regenerated using
slightly newer versions of libtoolize, aclocal, automake and autoconf.
10 lines of code changed in 1 file:
Update.
1 lines of code changed in 1 file:
Add .cvsignore files, courtesy Rapha��l Quinet - quinet
0 lines of code changed in 1 file:
Fixed error in build process regarding unit test.
Our modularization is way broken, with have intredependent .a files, this should be solved.
Applied a compilation workaround suggest by gnu, twice every .a at link time. Applied an automake
workaround as we need to pass --preserver-dup-deps to autotools and to do this only current CVS
version can do it without a bit i hacking. Applied Hacking suggested by automake mailing list.
1 lines of code changed in 1 file:
This commit adds support for the map2 protocol command (10 layer map).
This changes how the data is stored and sent to the client. This also
implements the idea of client handling map animations, so adds some object
flags so that the server knows if it should let the client handle animations
or not. Support for the original map protocol command is removed.
---
aclocal.m4: rebuilt
configure.ac: Add checks for zlib.h, libz - not used right now, but will
probably be used in the future, so no reason to remove it.
common/loader.l: Add client_anim_sync, client_anim_random FLAGS.
common/map.c: Add add_face_layer() to set face for a layer. Redo/simplify
update_position to store faces away based on layering criteria.
common/time.c: Replace long pticks with a uint32, since size of a long will
vary, and we now send pticks to the client as a 32 bit value.
crossedit/CrEdit.c: Update the draw logic based on the fact there are more
layers now.
crossedit/Edit.c: Comment out some code that probably should be fixed.
Replace calls of SET_MAP_FACE with SET_MAP_FACE_OBJ
doc/Developers/protocol: Updated with map2, tick protocol additions.
Reorganize the parameters in the setup protocol command so they are now
listed in alphabetical order.
include/autoconf.h.in: Add HAVE_ZLIB_H define.
include/define.h: Update for the FLAG_CLIENT_ANIM values.
include/face.h: Remove MapLook structure - no longer used.
include/global.h: change extern type for pticks from long to uint32
include/map.h: Change MAP_LAYERS to 10. Add definitions for what each
map layer is. Remove GET/SET_MAP_FACE macro - no longer used,
GET/SET_MAP_FACE_OBJ replaces it. Add GET_MAP_FACE_OBJS which
returns pointer to all the object info for the space. Remove
faces from MapSpace structure.
include/newclient.h: Update with new defines used for map2 protocol
command.
include/newserver.h: Change type of faces in map_cell_struct to be
uint16 to be consistent. Change 'count' to 'darkness' to more
accurately describe what it represents. Add MAP2_COORD_OFFSET
define. Add Map2Cmd to MapMode enum. Add map_scroll_x/y
to socket structure so we send those as part of map2 command.
Add tick field to socket structure to know if we should send
tick data to the client.
server/login.c: Remove extern long pticks declaration - declared
in global.h - don't need to declare it again locally.
socket/info.c: Rewrite magic map code to use GET_MAP_FACE_OBJ
instead of GET_MAP_FACE macros.
socket/init.c: Initialize new fields in socket structure to 0.
socket/loop.c: If client wants tick data sent, send one each tick.
socket/request.c: Add setup responses for tick, map2 requests. Remove some
extra code in Map1a setup. Send error message to client if not using
at least Map1 protocol level. Modify map_newmap_cmd() to clear
scroll information when using Map2. Remove original (map0) protocol
logic. Update map_clearcell() to clear all 10 layers. Replace
MAX_LAYERS with MAP_LAYERS. Add add_head() to remove some of the
complication from update_space(). Add code in draw_client_map1()
to find which 3 layers to send to the client from the 10 we now have.
Add map2_add_ob(), map2_delete_layer(), check_space_for_heads(),
draw_client_map2() to handle map2 protocol. Add send_tick() -
sends tick to client, but also forces flush of data to reduce lag.
utils/config.guess.utils/config.sub,utils/ltmain.sh: rebuilt
MSW 2006-05-15
166 lines of code changed in 1 file:
Fix typo; add default value for facecache command.
3 lines of code changed in 1 file:
First part of patch #1453869 courtesy Stefan Huehner (shuehner)
1 lines of code changed in 1 file:
Added autogeneration of html and text report for test process.
6 lines of code changed in 1 file:
updated configure.ac to automatically check availability of a few headers required by crossedit
Basically, it tries to compile a test code having only includes of xaw, posix, etc. Should be
enough to prevent most crossedit compilation issue but not perfect. (Should check version of lib and
try a few methods on them). crossedit/ and test/unit/crossedit are skipped by make if test fail.
1 lines of code changed in 1 file:
Typos.
12 lines of code changed in 1 file:
Initial commit of unit tests (see doc/Developers/testplans)
This is it, initial commit of unit test framework. It contains empty testcases
for all unit tests. See test/unit/check_shstr.c for a completed example unit test :)
136 lines of code changed in 2 files:
Cause the random map generator to skip certain elements if the style is set to "none".
10 lines of code changed in 1 file:
Document 'nosmooth' attribute.
2 lines of code changed in 1 file:
add arrest command, and regional jails
10 lines of code changed in 1 file:
Code that adds transports. Transports are described more in detail in
docs/Developers/objects.
---
loader.l: Add new move type ('boat'). Update move_name field to be aware of
this type.
common/object.c: Unrelated to transport, but more apparant with transports -
fix bug with insert_ob_in_map() and multipart objects - we now only
try to fix up map and coordinates if the provided coordinates are
out of the map. Before, function would always use the passed
map for multipart objects, which is incorrect if we have already
set valid coordinates.
doc/Developers/objects: Update notes for TRANSPORTS. Update move
information to include MOVE_BOAT.
include/define.h: Add type TRANSPORT. Add MOVE_BOAT.
include/player.h: Add transport field to player structure.
include/sproto.h: rebuilt.
server/apply.c: Add code to handle applying of transports. Update
apply_below to apply transport if player is on one.
server/attack.c: Update hit_map() to look for transports, and hit any
players with the damage.
server/c_object.c: Update put_object_in_sack() to also handle TRANSPORTS
so that code can be re-used.
server/move.c: Fix handling of multipart objects in move_object() -
old code didn't work right with multipart objects moving along seams
of tiled maps. Add code to move_ob() to update player map position
for all players in a moving transport.
server/player.c: Update move_player_attack() too check of player is
in tranport, and use that for map and location information. Update
move_player() to handle speed related issues with transports.
server/time.c: Add code to credit time back to TRANSPORT objects since
we remove time in move_player() for TRANSPORTS.
socket/item.c: Add add_object_to_socklist() so that same code isn't
reproduced in 3 different places in the file. Update draw_look()
to handle transports - send transport object itself, then objects
in transport. Update esrv_send_inventory() and esrv_send_item()
to use add_object_to_socklist(). Update esrv_get_ob_from_count() to look
for objects in transport if player is in transport.
socket/loop.c: Remove checking of pl->map status, since draw_client_map()
does that, and we need to handle if the player is in a transport.
socket/request.c: Handle map drawing if player is in a transport.
MSW 2006-02-06
23 lines of code changed in 1 file:
movement type changes. Add move_allow field to explicitly allow certain
movement types on spaces. Add suppport for using string names instead
of numeric values to specify the MOVE_ values. Add code so when saving
data out, use string names instead of numeric value.
---
common/loader.l: Remove save_double(), as it isn't used by any code.
Add set_move() to set movement types from strings.
Add get_string_move_type, which takes integer movement type and
returns a string. Update load and save code to use these functions
respectively.
common/map.c: Change blocked_link() so that we only examine all the objects
on a space if there is something alive on the space or space is otherwise
blocked. There is no reason to examine all the objects on the space if
the object in question can move onto it.
Modify update_position() to use the move_allow field to clear bits
in the move_block field.
common/object.c: Add check in CAN_MERGE for move_allow. Add check for
move_allow in update_object to see if we should update the space or
not.
doc/Developers/objects: Update Movement code section to note use of using
strings to set movement types. Add note about move_allow. Section
about Transports added, but code isn't there yet.
include/object.h: Add move_allow to object structure.
MSW 2006-02-04
133 lines of code changed in 1 file:
prevent unlimited login attempts by dropping the connection after too many password failures. Document the itemcmd setup flag, and improve that for the item and item2 commands
9 lines of code changed in 1 file:
Fix mismatch 'client' and 'server' in darkness setup option.
2 lines of code changed in 1 file:
spell listing support
95 lines of code changed in 1 file:
Commit for new blocking code. Not going to dictate all the changes -
but will outline the broad points. Note also that the
doc/Developers/objects is updated and goes into more details also.
- check for P_WALL no longer used - instead, need to use GET_MAP_MOVE_BLCOK
and check against movement type of objects.
- arch_blocked() changed to ob_blocked(), now takes object. Needed because
just looking at archetype move_ values is no longer sufficient.
- find_first_free_spot() changed to take object, since it just calls
arch_blocked()
- FLAG_FLYING removed, now in move type.
- walk_on/walk_off/fly_on/fly_off removed - now based on move_on and
move_off fields.
- Map space structure extended to hold the move_on/move_off, etc
values so that we can shortcut some processing by not having to
check every object on the space when something enters it if
move_on isn't set.
- archetypes recollected - boulders needed move_walk to properly trigger
buttons.
- Note that the new plugin code has to be fixed up for the new movement
code. Look for FIXME in plugins/cfpython/cfpython_object.c
MSW 2005-11-15
35 lines of code changed in 1 file:
aclocal.m4, configure, utils/config.guess, utils/config.sub, utils/ltmain.sh,
*Makefile.in, plugins/cfanim/Makefile, plugins/Makefile: Rebuilt.
1 lines of code changed in 1 file:
Upgrade of the Crossfire server to version 2.0 of the plugin interface.
Upgrade of the Python plugin to version 2.0 of the plugin interface.
Gros - 18/10/05
218 lines of code changed in 2 files:
add support for specialised shops
128 lines of code changed in 2 files:
Changed quest system, needs tweaks and fixes.
11 lines of code changed in 1 file:
Allow directors/movers to specify a specific arch/name/race.
51 lines of code changed in 1 file:
This change is mostly cosmetic and a preparation for the new movement
type code. Basically, it just changes the old object movement_type
field to attack_movement. This makes sense because that is what that
field is called in saved and loaded objects/archetypes, and thus
frees up that name for the new movement code.
--
common/button.c: field name change
common/loader.{cl}: field name change
doc/Developers/objects: Add section on new movement types, update old
documentation to note it is attack_movement and not movement_type
field that is important.
include/object.h: field name change.
server/attack.c: field name change.
server/monster.c: field name change
server/pets.c: field name change
server/skills.c: field name change.
server/spell_attack.c: field name change
server/spell_effect.c: field name change
MSW 2005-09-12
74 lines of code changed in 1 file:
Fix bug #1102991 (Duplicate grapical display of the same monster):
doc/Developers/protocol: Change semantics of map_scroll command to what the
server actually does: big faces outside the viewable area are cleared. Add
newmap command.
include/newserver.h: Increase MAX_HEAD_OFFSET to 8 (the size of a Greater
Demon).
socket/request.c:
MapRedrawCmd(): Disable mapredraw command; it is now just ignored.
MapNewmapCmd(): Clear map state before sending newmap command.
check_head(): Remove redundant code.
update_space(): Move invariant condition out of loop to speed it up. Fix
uninitialized variable. Remove redundant condition. Fix off-by-one array
access.
update_smooth(): Remove unused code. Properly send cleared big faces.
draw_client_map(): Remove duplicate check. Properly clear newly visible
area when scrolling the map.
14 lines of code changed in 1 file:
common/map.c: Change default values for reset_timeout, enter_x, and enter_y
map headers to zero. In set_map_reset_time() use MAP_DEFAULTRESET if
reset_timeout is zero. This change prevents crossedit from adding these
headers by just loading and saving a map.
include/config.h: Add MAP_DEFAULTRESET.
2 lines of code changed in 1 file:
Apply patch 1200555 - addition of key/value lists which allows arbitrary
storing of data in objects - see doc/Developers/key-value for more
information
---
loader.l, loader.c: Add add_key_value() function which parses the unknown
line in the object/archetype. Update get_ob_diff() to make differences
for the key/value lists.
common/object.c: Add functions for properly comparing the key/value lists,
setting and getting the vaues, clearing values upon freeing of object,
etc.
doc/Developers/Makefile.am: Add key-value file.
doc/Developers/key-value: Documentation of this feature.
include/libproto.h: Rebuilt
include/object.h: Addition of key_value struct, addition of key_values
field to object.
MSW 2005-08-22
170 lines of code changed in 2 files:
Add patch by Kevin Rudat for applyable but non
pickable objects to have item items.
doc/Dvelopers/objects: Update item types.
socket/item.c: Use the head of any objects we send. Should generally
only be an issue for objects on the ground, as currently there is no
large objects players can pick up. Also fix up some of the formatting/
indenting in this file.
MSW 2005-08-16
13 lines of code changed in 1 file:
Add flag to lamps to make them able to be lit without needing negative light radii
1 lines of code changed in 1 file:
Add some technical plugin information
22 lines of code changed in 2 files:
Small updates, points to quests document.
11 lines of code changed in 1 file:
Add item transformer client type.
1 lines of code changed in 1 file:
Don't hardcode values. Fix item transformer code.
3 lines of code changed in 1 file:
(56 more)