[crossfire-announce] Crossfire 1.9.1 released
Mark Wedel
mwedel at sonic.net
Fri Jun 30 02:41:06 CDT 2006
Crossfire 1.9.1 has been released. There are lots of more minor
changes. List of more major changes:
------------------------------------------------------------------------------
Fix several spells that stopped working with new movement code in 1.9.0
Addition of 'Bot' flag to denote if character is controlled by real player.
Addition of new map sending protocol (map2) - this add more map layers
to client.
Lots of code cleaned up to be more consistent.
New configuration options in settings file (permanent_experience_percentage,
death_penalty_percentage, death_penalty_levels)
Client 1.9.1 Changes:
------------------------------------------------------------------------------
Alsa9 sound support fixed.
Support for map2 protocol.
Improvements to gtkv2 client - Supports lower resolution, inventory and
metaserver lists are now sortable, config window to set options added.
Autocompletion for more commands added.
IPv6 support added.
Files released for this version:
sums (bsd) filename
44889 2915 crossfire-1.9.1.arch.tar.bz
29215 2915 crossfire-1.9.1.arch.tar.gz
17917 21548 crossfire-1.9.1.maps.tar.bz
20860 15625 crossfire-1.9.1.maps.tar.bz2
23404 21557 crossfire-1.9.1.maps.tar.gz
53659 5454 crossfire-1.9.1.tar.gz
45577 737 crossfire-client-1.9.1.tar.gz
48891 2630 crossfire-client-images-1.9.1.tar.gz
25694 316 crossfire-client-sounds-1.9.1.tar.gz
Sums (md5)
43d40b1a8c5addfd0145b4c2d306a536 crossfire-1.9.1.arch.tar.bz
83dfd11c565a76ea05e6be999862796d crossfire-1.9.1.arch.tar.gz
9dd01ec3f2b33e6270e08421b083a8e9 crossfire-1.9.1.maps.tar.bz
1cd8c557ed2e5ea0bef1686f7bba0e35 crossfire-1.9.1.maps.tar.bz2
9e3b54a64d74c60acd3b7a1c4532ccd1 crossfire-1.9.1.maps.tar.gz
9444daefe1a457b4a18101c255be6cdc crossfire-1.9.1.tar.gz
e7084c22c1f2074c95fe34331ac2ceae crossfire-client-1.9.1.tar.gz
b2766880d5dffbf24ae98b8ca07cb89f crossfire-client-images-1.9.1.tar.gz
f996c3220d505098a4a226f92902b002 crossfire-client-sounds-1.9.1.tar.g
(Note - only the maps have a bzip2 compressed archives. For the other
files, there isn't a big enough difference in size to make it worth
while IMO)
crossfire-client-1.9.1.tar.gz contains the client code - if you only
want to play, this is the only piece you need.
crossfire-client-images-1.9.1.tar.gz contains prebuilt images - this removes
the need to download most of them when playing with cached images.
crossfire-client-sounds-1.9.1.tar.gz contains sounds - if you don't want
sounds, you don't need this. The only addition in this release is
adding of su-fanf.raw which used to be included in old sound files.
crossfire-1.9.1.tar.gz contains the server code with prebuilt
archetype and image files.
crossfire-1.9.1.arch.tar.gz contains the unpacked archetype changes.
This is not needed if you only want to compile the server and play the
game.
crossfire-1.9.1.maps.tar.{bz2|gz} contains the map distribution - this is the
bigworld map. New maps have been added, as well as verious fixes.
FOR FIRST TIME USERS: You will only need the server, map, and client
archives. You do not need the arch archive.
If you just want to play the game at some remote server, you need the client
and perhaps the image archive file (older image file is still good enough).
Crossfire is available on the following ftp sites
Primary:
ftp://ftp.sourceforge.net/pub/sourceforge/crossfire
Secondary:
ftp://ftp.real-time.com/pub/games/crossfire
The initial upload of this release is only made to sourceforge - it should
show up on the mirrors shortly.
Mark Wedel
mwedel at sonic.net
June 29, 2006
Complete changelog:
server:
acinclude.m4, aclocal.m4, configure, configure.ac: Fix crossedit header
detection - even when passed --with-x to configure and having all the files,
it wouldn't find the headers because it didn't pass in the correct -I
options for where they sit. Also, update for 1.9.1 release.
MSW 2006-06-29
server/rune.c: Undo last patch - breaks summoning runes.
server/skills.c: Change disarm logic - after first failure, don't continue
to disarm traps (makes sense anyways - can really only disarm one thing
at a time) - this fixes the problem that last change to rune.c tried
to fix.
MSW 2006-06-27
server/rune.c: Patch from schmorp - when dealing with traps, don't put them
underneath the player when a disarm failure happens, instead, update the
direction to hit the player - prevents a recursion problems causing
hundreds of objects.
MSW 2006-06-25
common/object.c: don't consider FLAG_INV_LOCKED for can_merge.
Ryo 2006-06-24
common/object.c: in insert_ob_in_map() don't stop processing flying objects
if the object also has floor set. This fixes crashes when an object
is both flying and has floor set.
MSW 2006-06-06
Add commands rules and news to display the rules/news files.
---
include/sproto.h: Add prototypes for new commands.
lib/help/{motd,news,rules}: Add help files.
lib/Makefile.am: Add new help files.
lib/Makefile.in: Rebuilt.
server/c_misc: Add functions to implement the commands.
server/commands: Add new commands to commands list.
Andreas Kirschbaum 2006-06-06
Fix problem with create food when used on transports. Rather than put a
specific check in the create food code, modify insert_ob_in_map to
check to see of the passed in originator is on a transport, and if so,
find out the right info - this probably fixes the same type of bug that
happens from other areas of the code.
common/object.c: Above change, as well as #if 0 out some unused functions.
MSW 2006-06-04
Clean up some compiler warnings. Most of the changes are related to replaced
%lld with FMT64 defines so that the format will be correct, no matter if
the 64 bit type is a long, long long, or if this is windows. #if 0 out a
bunch of code that isn't used.
--
common/exp.c: Replaced lld with FMT64
common/holy.c: #if 0 out baptize_altar(). Add banner copyright at top of file.
common/info.c, common/item.c, common/loader.l, common/loader.c, common/map.c:
common/porting.c Replaced lld with FMT64
common/time.c: Replace a bunch of variables declared as longs to be uint32.
Update various sprintf appropriately.
include/global.h: Add FMT64 and FMT64U as appropriate for different systems.
Change max_time to be a uint32
include/sockproto.h, include/sproto.h: rebuilt
server/apply.c: #if 0 out monster_apply_special
server/c_range.c: Add != 0 in assignment if statement - same meaning, clearer
on intention and avoids compiler warning.
server/c_wiz.c: Update command_kick() to take const char. Update command_speed(
)
to operate properly based on max_time being a uint32. Update various lld
to FMT64. Clarify ambiguous if/if/else statement in command_insert_into()
server/commands.c: Add cast to command_kick for new function prototype. #if
0 out find_command(), parse_string(), parse_command()
server/disease.c: #if 0 out find_disease(), reduce_symptoms()
server/egoitem.c: #if 0 out create_artifact(). Add copyright at top of file.
server/gods.c: #if 0 out get_god()
server/hiscore.c: Replace lld with FMT64
server/login.c: #if 0 out create_savedir_if_needed()
server/resurrection.c: Replace lld with FMT64. #if 0 out dead_character() and
dead_player_exists()
server/server.c: Remove info_keys() - hasn't been used in a long time. #if 0
out process_active_maps()
server/skill_util.c: Replace lld with FMT64
server/spell_util.c: #if 0 out check_spell_effect()
server/weather.c: #if 0 out feather_map(). Fix what I suspect is an error
in worldmap_to_weathermap() to skip over starting slashes.
socket/image.c: Add a fair number of char * casts to suppress warnings.
socket/init.c: Change buflen in init_connection() to socklen_t to match
function prototype. Add some char * casts.
socket/loop.c: Add some char * casts.
--
MSW 2006-06-04
Add a name 'dungeon_name' for random maps, and put it in the random key's name.
This implements feature request #815622 (keys in random maps should note map th
ey are from)
https://sourceforge.net/tracker/index.php?func=detail&aid=815622&group_id=13833
&atid=363833
random_maps/random_map.c: fix a memory leak. Add random name.
random_maps/reader.[cl]: read 'dungeon_name'. Use strncpy instead of strcpy.
random_maps/random_map.h: add new field, use a #define instead of hardcoded cons
tant.
Do not merge renamed items with differing custom names.
---
common/object.c: In can_merge() check for differing custom_name field.
server/c_object.c: In command_rename_item() try to merge the affected item.
Andreas Kirschbaum 2006-06-02
Do not merge locked and unlocked items.
---
common/object.c: In can_merge() do not ignore FLAG_INV_LOCKED anymore.
socket/item.c: In lock_item_cmd() try to merge the affected item.
Andreas Kirschbaum 2006-06-01
lib/artifacts: Fix typo to not anymore generate "boots of of steel".
lib/artifacts: Fix typo to make bows of Sorig work.
lib/archetypes, lib/treasures.bld: Rebuilt.
Andreas Kirschbaum 2006-06-01
Various bug fixes, related to the new map display code.
common/loader.c, common/loader.l: Add map_layer attribute so object can
override what layer it should go on (fix for levitation boots).
common/map.c: Add support for map_layer to override layering. Fix bug
where if there were more objects than would fit on a layer, not all
would be drawn (same object was duplicated onto multiple layers).
common/object.c: Add check for ob->map_layer in can_merge()
include/map.h: Add extern declaration for map_layer_name[]
include/object.h: Add map_layer to object.
socket/request.c: In map1 compatibility mode, make sure we always
send the player.
MSW 2006-05-29
server/monster.c: Only call animate_object() if object is animated -
otherwise, animate_object() spews bunch of error about being called
with non animated object.
MSW 2006-05-29
Monsters now cannot anymore see through earthwalls/monsters. This restores the
behavior to what it was before the new movement code. For players this
basically means that monsters will not anymore cast spells though earthwalls or
other monsters.
---
server/player.c: In path_to_player() consider tiles with P_IS_ALIVE set as
blocking.
Andreas Kirschbaum 2006-05-27
Make attacking with melee in 'fire command work again. Now attacking with
<shift>+<direction> works again.
---
server/skill_util.c: In skill_attack() also attack if the destination tile has
P_IS_ALIVE set.
Andreas Kirschbaum 2006-05-27
Make swarm spells work again. These spells did not work anymore on tiles which
had a move_block type set (for example cobblestones).
---
server/spell_attack.c: In move_swarm_spell() remove check for blocked
movement. This check was incorrect since it did check the SPELL object
instead of the SPELL_EFFECT object. Also, this check is not necessary since
it is also present in the called functions fire_xxx().
Andreas Kirschbaum 2006-05-25
Fix monster not changing direction when attacking adjacent object.
server/monster.c: update facing/direction according to enemy.
Ryo 2006-05-25
common/item.c: Skip some processing if NEW_MATERIAL_CODE is undefined.
common/holy.c, include/libproto.h: Declare some functions as "static".
Andreas Kirschbaum 2006-05-21
Make socket handling more robust.
---
include/newclient.h: Split MAXSOCKBUF into MAXSOCKRECVBUF and MAXSOCKSENDBUF.
Increase the receive buffer size to be able to handle all valid packets;
decrease send buffer size to 10239 to not overflow the receive buffer of old
clients.
socket/{image.c,info.c,init.c,item.c,loop.c,lowlevel.c,request.c,sounds.c}: Use
renamed constants.
socket/image.c: In send_image_sums() prevent buffer overflows. Reject the
command instead.
socket/request.c: In send_skill_info() and send_spell_paths() prevent buffer
overflows. Instead send only as much information as fits into the buffer.
socket/loop.c: In handle_client() prevent possible array out-of-bounds access.
Andreas Kirschbaum 2006-05-21
Added a 'cf_log' function for plugins. Replace printf in plugins with correct ca
ll.
---
include/plugin.h: include required header for log level definitions.
include/sproto.h: new function.
plugins/cfanim/cfanim.c: replace printf with calls to cf_log.
plugins/cfpython/cfpython.c: replace printf with calls to cf_log.
plugins/cfpython/cfpython_map.c: replace printf with calls to cf_log.
plugins/common/plugin_common.c: new cf_log function.
plugins/common/include/plugin_common.h: new cf_log function.
server/plugins.c: new hook.
Ryo 2006-05-20
This adds a "bot" flag for players. Such players won't be counted when
sending information to metaserver. To enable it, just send "bot 1"
through the "setup" command.
---
include/newserver.h: add new is_bot flag.
lib/settings: add %b to default formats.
server/c_misc.c: add %b to who options, for [BOT] flag.
socket/init.c: init is_bot.
socket/metaserver.c: don't count bots.
socket/request.c: new "bot" setup command.
Ryo 2006-05-20
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
Fix server crash when sending addspell command(s).
---
socket/lowlevel.c: Do not abort if output buffer is completely filled. (Was
off-by-one, so if addspell did fill the complete buffer, the server did
detect an buffer-overflow error.)
socket/request.c: Update comments.
Andreas Kirschbaum 2006-05-13
server/spell_effect.c: Disallow town portal while in transports (caused
map corruption, crashes and other nasty things)
Alex Schultz 2006-05-12
Fix for bug #1473941 (damnation bug)
server/apply.c: wrong parenthesis for cursed/damned logic
Ryo 2006-05-05
Applied patch #1453869 (code-cleanup) courtesy Stefan Huehner (shuehner).
Modified files for first patch:
include/funcpoint.h sproto.h
server/alchemy.c apply.c attack.c commands.c disease.c egoitem.c gods.c init.c
login.c
main.c monster.c move.c pets.c player.c resurrection.c rune.c skill_util.c ski
lls.c
spell_attack.c spell_effect.c spell_util.c swap.c time.c timers.c
Modified files for second patch:
crossedit/stubs.c
include/sockproto.h
random_maps/standalone.c
socket/info.c item.c request.c sounds.c
test/unit/common/stubs_common.c
test/unit/random_maps/stubs_random.c
Modified files for third and last patch:
common/item.c
include/libproto.h sproto.h
server/c_chat.c c_object.c c_wiz.c daemon.c hiscore.c main.c shop.c
Ryo 2006-05-05
Commit patch #1456016 courtesy schmorp.de development team.
server/pets.c
Add Map.Insert(object,x,y) and Player.CanPay( ) to Python plugin.
include/sproto.h
plugins/cfpython/include/cfpython_object_private.h
plugins/cfpython/include/cfpython_map_private.h
plugins/cfpython/cfpython_object.c
plugins/cfpython/cfpython_map.c
plugins/common/include/plugin_common.h
plugins/common/plugin_common.c
server/plugins.c
Ryo 2006-05-05
include/config.h: Increase Archtable to 8192, the new hashing algorithm
works better with a table size that is a power of 2, and the current value
is very close to being exceeded anyway. Suggested by Crossfire+ Development
Team http://cf.schmorp.de
Brendan Lally 2006-04-06
server/swamp.c: Use the object name for swamp messages. Allows custom swamp
names to work better
Alex Schultz 2006-04-04
Fix exploit with alchemy spell. This effectively removes the improvement
implemented at 2006-03-07.
---
server/spell_effect.c: Use query_cost() to determine value of nuggets.
Andreas Kirschbaum 2006-03-22
Apply patch by Stefan Huehner: add const where appropriate.
---
Affected files: include/sockproto.h, socket/{loop.c,lowlevel.c}
Andreas Kirschbaum 2006-03-19
Use const when possible. Patch courtesy Stefan Huehner.
common/item.c map.c porting.c readable.c shstr.c utils.c
crossedit/Attr.c CrEdit.c
include/global.h libproto.h
random_maps/rproto.h treasure.c
server/c_new.c commands.c
Ryo 2006-03-18
Removed unused header file version.h.
include/version.h: removed.
include/win32.h: don't include that file.
Ryo 2006-03-18
Add 'add_key' parameter to object.set_key for plugins.
plugins/common/include/plugin_common.h
plugins/common/plugin_common.c
plugins/cfpython/cfpython_object.c
server/plugins.c
Ryo 2006-03-18
Massive code cleanup. Changed FunctionsInCamelCase to conform to conventions.
Changed comments to doxygen syntax. Made function/variable/structure names more
coherent.
There shouldn't be any functional change.
Modified files:
common/anim.c image.c loader.[cl] object.c
crossedit/xutil.c
include/commands.h global.h libproto.h newserver.h object.h player.h sockproto
.h /sproto.h
plugins/cfpython/cfpython.c
server/apply.c attack.c c_misc.c commands.c init.c main.c move.c player.c plugi
ns.c spell_effect.c time.c
socket/image.c info.c init.c item.c loop.c request.c
Ryo 2006-03-18
Apply patch #1450408 (Improved hash table) by cf.schmorp.de development team.
The new hash function seems to produce fewer collisions than the previous
function. This especially holds for strings that share a common prefix: the
old function did use only a small fraction of the available slots; the new
function uses all slots with a fairly equal distribution.
---
common/arch.c: Replace algorithmn implemented in hasharch().
Andreas Kirschbaum 2006-03-16
Apply patch #1439143 (code-cleanup: crossedit) by Stefan Huehner: Remove
unused code, add static/const where appropriate.
---
Affected files:
crossedit/{App.c,App.h,Attr.c,CrEdit.c,CrFace.c,CrList.c,CrUtil.c,Defines.h},
crossedit/{Edit.c,Str.h,crossedit.c,png.c,proto.h,xutil.c,Cnv/Cnv.h},
crossedit/include/{Makefile.am,Makefile.in,util.h}
Andreas Kirschbaum 2006-03-16
common/utils.c: apply patch #1445892 (transmute_materialname crash) courtesy
the cf.schmorp.de development team.
include/spellist.h: disable big unused arrays, legacy of spell code.
server/c_object.c: merge find_best_apply_object_match and find_best_object_match
which are really the same.
server/init.c: fix memory leak.
server/monster.c: fix a monster/scroll related crash, based on patch #1447242 by
the cf.schmorp.de development team.
server/player.c: fix monitor_spells not initalized (before InitConnection()).
server/skills.c: fix merging bug with inscription.
socket/init.c: fix monitor_spells not being initialized.
Ryo 2006-03-14
Fix bug/exploit in setup command. We were strcat'ing back data provided
by the client.
---
socket/request.c: Modify SetUp() to use safe_strcat() - eliminates buffer
overflow issues. Add some char* casts to spell/skill requestinfo
to eliminate compiler warnings. Add IP address to log for incoming
connections.
MSW 2006-03-13
Fix possible exploit with shadow alchemy. Also improve the alchemy spell to
yield more nuggets.
---
server/shop.c: In query_cost() apply the hack (to multiply non-GEM/non-MONEY
values by four) also if no player object is present.
Andreas Kirschbaum 2006-03-07
Add settings permanent_experience_percentage, death_penalty_percentage and
death_penalty_levels to the settings file.
---
common/living.c: don't hardcode exp calculations
common/init.c, include/config.h, lib/settings: set defaults for new values
doc/settings: document new values
include/global.h: change settings struct to hold the new values
server/init.c: parse new values in the settings file.
server/skill_util.c: reference new value
Brendan Lally 2006-03-07
Apply modified parts of patch #1439490 (Fix in random map generation) by CF
Development Team Schmorp.de <crossfire at schmorp.de>.
---
random_maps/exit.c: In place_exits() check for a valid exit path before
dereferencing it.
random_maps/treasure.c: In find_closest_monster() include monsters at map
border. In find_enclosed_spot() prevent access to out of map tiles.
Andreas Kirschbaum 2006-03-04
Apply patch #1436833 (Patch for forked lightning crash at map borders) by CF
Development Team Schmorp.de <crossfire at schmorp.de>.
---
server/spell_attack.c: In forklightning() prevent access to out of map tiles.
Andreas Kirschbaum 2006-03-04
common/loader.l: Prevent excess whitespace while saving objects.
common/loader.c: Rebuilt.
Andreas Kirschbaum 2006-02-27
Apply patch by Marc Alexander Lehmann to improve server performance.
---
include/map.h: Move path field to end of struct. Since this field was huge it
pushed all other fields to large offsets in the struct. Moving it to the
end of the struct mapdef should not break anything but will improve
performance and reduce the server code by >3500 bytes.
Andreas Kirschbaum 2006-02-27
client:
sound-src/alsa9.c: Fix up sound for alsa9+. Not positive exact change that
fixed the problem, but following changes made: Add SOUND_DEBUG_WRITES to
separate the debug from writes vs all the other debug messags. If using
16 bit data, always use unsigned no matter wit the sign config option
says. In alsa_recover(), if error is EAGAIN, just do nothing and return.
In audio_play(), don't write more bytes than chunk size (basically
largest block that alsa wants at one time). In play_sound(), don't
decrease volume based on maximum number of sounds that may be played
at once - this makes things too quiet.
MSW 2006-06-25
gtk/gx11.c, gtk-v2/src/main.c: Add checks for csocket.fd==-1 after return
of DoClient. With change in DoClient to close the socket, the network
routines are not called again (like they used to be), and thus the
GUI was't really aware the socket was closed, and wouldn't prompt for
metaserver selection.
MSW 2006-05-21
Make socket handling more robust.
---
common/client.c: In DoClient() properly close the socket if an invalid packet
was received.
common/newclient.h: Increase the receive buffer size to 65535 bytes. This
allows the client to receive any valid packet (even if no currently
existing server is supposed to send such big packets).
common/newsocket.c: Fix definitions of llevDebug and llevError to make error
messages visible.
Andreas Kirschbaum 2006-05-21
common/mapdata.c: fix unitialized variable.
Ryo 2006-05-17
This commit adds client side support for the map2 & tick protocol commands.
In additional the the necessary decode logic, more layers are also added
to the map.
--
common/Makefile.am/.in: Fix proto directive
common/client.c: Add global tick variable. Add links to handle map2
and tick protocol commands. Update setup request sent to server
to request to use the tick and map2 commands.
common/client.h: Add additional fields to Animations structure. Increase
MAX_MAP_OFFSET to match the value on the server.
common/commands.c: Add parsing of return of map2 failures on setup command
so that client can fall back. Add additional initializations for
new fields in AnimCmd(). Change definition of NUM_LAYERS to match
what the map1 command wants/expects. Add Map2Cmd() to decode
map2 protocol command. Do some whitepsace clean of ExtSmooth().
Add TickCmd()
common/init.c: Add seeing of random number generator.
common/mapdata.c: Rewrite CLEAR_CELLS macro to handle additional layers.
Clear animation data in expand_clear_face(). Change MAXLAYERS to
MAP1_LAYERS since map2 increase MAXLAYERS. Add support functions for
setting data in the map2 command.
common/mapdata.h: Increase MAXLAYERS, add MAP1_LAYERS define to old number
of layers. Add animation data to MapCellLayer.
common/newclient.h: Add various defines related to the map2 data.
common/proto.h: Rebuilt
gtk/gx11.c: Add cleint_tick() to handle map animations. Update
do_timeout() to not do animations if we are getting tick data.
gtk-v2/src/config.c: Fix bug in config code where it wasn't enabling
darkness when player switched back from no darkness mode to some
mode.
gtk-v2/src/main.c: Add client_tick() to handle animations. Update
do_timeout() to not do animations if tick is set.
gtk-v2/src/opengl.c: Fix drawing logic where objects which were visible
but in which the bottom right corner was off the map was not being
drawn - only a problem in opengl since it only draws the object
when it finds the head, does not draw each piece.
sound-src/Makefile.am/.in: Fix creation of sounds file - was using
wrong variable name.
x11/xutil.c: Add basic client_tick() that is a callback from the common code.
MSW 2006-05-14
common/image.c: use the same image hashing algorithm that the server uses
for archetypes, increase the table size to 8192 to reduce collisions
Brendan Lally 2006-04-12
common/item.c: fix unitialized variable.
common/p_cmd.c: fix memory leak.
gtk/keys.c: fix memory leak.
Ryo 2006-03-14
Yet more changes for gtkv2 clients, mostly aimed at making it usable on lower
resolution displays. Window can now be resized to 800x600, added save window
positions so it will remember where you moved the panes to (as well as root
window size). Unrelated change to this is that now the inventory list is
sortable like the metaserver and spell lists are - you can sort by name,
weight, or by item type (click on the icon for item type).
--
gtk-v2/gtk-v2.glade: Add new menu item for save window positions. Change
statbar area so there is a pane between stat bar and stat notebooks.
Change statbars so they resize smaller/larger.
gtk-v2/src/callbacks.h: callback for on_save_window_position_activate() added.
gtk-v2/src/config.c: Add on_save_window_position_activate() and
load_window_positions()
gtk-v2/src/interface.c: rebuilt.
gtk-v2/src/inventory.c: Add LIST_TYPE column for sorting. Change
table definitions so columns are sortable.
gtk-v2/src/main.c: Add code to allow resizing down to 800x600. Add
call to load_window_positions()
gtk-v2/src/map.c: Try to set map size based on window size - save
some memory.
---
MSW 2006-03-10
More updates for the gtkv2 client. Add a config window to change the
config options. Note this isn't quite as cluttered as the gtkv1 config
window because only the options that affect the gtkv2 client are presented.
---
common/client.h: Add CFG_LT_NONE to use instead of 0.
common/init.c: Change 'sdl' config name to 'displaymode'. the CONFIG_
parameter was changed a while back, but still used this old name in the
save file.
gtk/config.c: Add some logic to handle 'sdl' legacy config mode.
gtk-v2/gtk-v2.glade: Updated with new config window.
gtk-v2/src/callbacks.h: rebuilt by glade-2
gtk-v2/src/config.c: Lots of new code to handle setting/getting of config
values in config window.
gtk-v2/src/gtk2proto.h: Rebuilt.
gtk-v2/src/interface.c: Rebuilt by glade-2
gtk-v2/src/interface.h: Rebuilt by glade-2
gtk-v2/src/main.c: Add call to config_init() to initialize config window.
MSW 2006-02-27
------------------------------------------------------------------------------
sound-src/Makefile.in: replaced SOUNDDIR with SOUND_DIR, so that
--with-sound-dir will work now
Klaus Elsbernd 2006-03-07
common/p_cmd.c: Update command table for auto-completion to all (non-DM)
server side commands. Also check for client side commands. Add a space
after a completed command so the player can enter arguments.
Andreas Kirschbaum 2006-03-04
Fix bug #1442523 (Crash when pressing TAB during login). Also fix undefined
behavior due to overlapping strings passed to strncpy().
common/p_cmd.c: In complete_command() remove hack for x11 client and return
NULL if no match was found.
gtk/gx11.c, gtk-v2/src/keys.c, x11/x11.c: Adapt to changes in
complete_command().
x11/x11.c: Replace strncpy() with memmove() to cope with overlapping strings.
Andreas Kirschbaum 2006-03-04
Apply patch #1424583 (IPv6 patch for client) courtesy Christoph Hohmann -
(reboot)
common/client.c
common/config.h.in
Ryo 2006-02-26
More information about the crossfire-announce
mailing list