From mwedel at sonic.net Tue Mar 27 01:19:35 2007 From: mwedel at sonic.net (Mark Wedel) Date: Mon, 26 Mar 2007 23:19:35 -0700 Subject: [crossfire-announce] Crossfire 1.10.0 released Message-ID: <4608B777.3030804@sonic.net> Crossfire 1.10.0 has been released. There are lots of more minor changes. List of more major changes: ------------------------------------------------------------------------------ Lots of bug fixes, but there are not real major changes. But general changes: - Add new protocol commands so client can get data it didn't have before - Tweaks/adjustments to several races/classes. - Lots of code cleanup, removing old/unused code. - Fixes for lots of crashes. Client 1.10.0 Changes: ------------------------------------------------------------------------------ Fixes in draw logic for images of add image sizes. Exp progressbar added to gtk2 client. SVN handling updates, to include revision number in client. Protections info in GTK2 not getting updated properly Files released for this version: sums (bsd) filename 47637 3145 crossfire-1.10.0.arch.tar.gz 01851 16050 crossfire-1.10.0.maps.tar.bz2 21372 23507 crossfire-1.10.0.maps.tar.gz 61371 31 crossfire-1.10.0-README 01836 5920 crossfire-1.10.0.tar.gz 01228 728 crossfire-client-1.10.0.tar.gz 01814 2646 crossfire-client-images-1.10.0.tar.gz 47184 316 crossfire-client-sounds-1.10.0.tar.gz Sums (md5) 26a6d6c2ffb82fd408bf75b25ed339d1 crossfire-1.10.0.arch.tar.gz 6e2c24ed1dd900e3985a3cad0b658f6e crossfire-1.10.0.maps.tar.bz2 0c410171602268b0499f3b62091fafa4 crossfire-1.10.0.maps.tar.gz d56ad6cac04ea49f8b6b326b441553a3 crossfire-1.10.0.tar.gz 883296ef199cbf47334d52d8b5d61886 crossfire-client-1.10.0.tar.gz 496ccabc31e773349ccc679812f66f7b crossfire-client-images-1.10.0.tar.gz b990e5e3bf321211312cba48fb885142 crossfire-client-sounds-1.10.0.tar.gz (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.10.0.tar.gz contains the client code - if you only want to play, this is the only piece you need. crossfire-client-images-1.10.0.tar.gz contains prebuilt images - this removes the need to download most of them when playing with cached images. crossfire-client-sounds-1.10.0.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.10.0.tar.gz contains the server code with prebuilt archetype and image files. crossfire-1.10.0.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.10.0.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 March 26, 2007 Complete changelog: ------------------------------------------------------------------------------ server: Fix 'make distclean': acinclude.m4: Use -I./${srcdir} for crossedit check - otherwise, when building in alternate directory, doesn't fine files correctly. configure.*: Add new makefiles. check-fragment.am, test/unit/crossedit/Makefile.am, test/unit/common/Makefile.am,test/toolkit/Makefile.am: Add support for buildin g in alternate directory, which make distclean does - using relative directories to find files does not work. Some files should also be in the buildir, not srcdir. Have Makefiels remove .autrun.xml with distclean Makefile.am: Remove to config files on make distclean test/include/Makefile.*, test/templates/Makefile.*: Add missing Makefiles test/unit/random_maps/Makefile.am,test/unit/socket/Makefile.am, test/unit/Makefile.am: remove .autorun.xml file as part of distclean test/unit/server/Makefile.am: Remove LDFLAGS from Makefile.am - automake says don't mess with those - use AM_LDFLAGS instead. Remove .autrun.xml file with distclean test/Makefile.am: Add include, templates to subdir list. Have make clean remove log files, .autorun.xml file. crossedit/Makefile.am: Fix indentation of stubs.c (use tab, not spaces) other files: Rebuilt as part of running autogen.sh MSW 2007-03-25 Implement feature request #1528522: Initial items should be applied/worn. server/player.c --- server/apply.c skill_util.c: keep the AP_NOPRINT flag for subcalls. --- server/c_wiz.c: update DM's view when using nodm. --- server/apply.c: update player's view when turning on/off a lamp. --- Implement feature request #1680229: dmhide - glowing things. common/map.c: totally ignore hidden DMs for map update. --- Implement feature request #1669464: Need new command - dmtell. include/sproto.h server/c_chat.c commands.c --- server/c_wiz.c: enable 'teleport' to use a partial name. server/c_misc: 'listen' should be positive. --- Fix bug #1668283: Crossfire.CreateObjectByName is faulty, by applying patch (feature request) #1682802: CreateObjectByName fix/change. Code by Yann Chackhoff. Also fix a crash when teleporting a newly created object. server/plugins.c --- Fix bug #1671102: Generic destroy can remove permanent buttons. The code was doing a wrong check related to marked item/destroyer. Fix bug #1657675: multi-tile buildable object bug (note: one .x11 image though). code now uses multi-tile aware function to generate object, and correctly checks all relevant spots for building. server/build_map.c Nicolas Weeger 2007-03-17 Fix bug #1673713: event_attack in (sword etc) weapon doesn't work. server/attack.c: fix EVENT_ATTACK weirdness. --- Implement feature request #1560416: give warning when spell is about to expire. Player will be warned when left duration is one fifth, then one twenty-fifth. Two new functions are introduced, check_spell_expiry() and store_spell_expiry(). include/sproto.h server/spell_effect.c spell_util.c time.c --- Implement feature request #1675158: dmhide - "detect monster" will reveal DM. spell_effect.c: detection doesn't concern DMs. Ryo 2007-03-06 Add Object.Owner (read/write) and Crossfire.GetFriendlyList. plugins/cfpython/include/cfpython_object_private.h plugins/cfpython/cfpython.c plugins/cfpython/cfpython_object.c --- Add cf_friendlylist_get_first / cf_friendlylist_get_next to browser friendlylist . Add cf_object_set_object_property. plugins/common/include/plugin_common.h plugins/common/plugin_common.c --- Give access to friendlylist to plugins, through cfapi_friendlylist_get_next(). include/sproto.h server/plugins.c --- common/object.c: let set_owner accept owner NULL (-> clear_owner()). --- Implement request feature #1669443: dmhide - players can still send 'tell. server/c_chat.c: DM are now shown as not logger with regard to tell/reply. --- server/c_object.c: call EVENT_PICKUP which was forgotten somewhere along the way . server/plugins.c: don't remove/free removed/freed objects, log mistake. This clo ses bug #1670465: server doesn't have check to see if it is removing removed Ryo 2007-03-04 Add cf_object_set_float_property. plugins/common/include/plugin_common.h plugins/common/plugin_common.c --- Add SpeedLeft to Python plugin. Fix wrong type for speed. plugins/cfpython/include/cfpython_object_private.h plugins/cfpython/cfpython_object.c --- Fix wrong type for speed. server/plugins.c Ryo 2007-02-28 plugins/cfpython/cfpython.c: fix crash when Python and server are compiled with different versions of MS's DLLs. Ryo 2007-02-24 Fix uninitialized variables (merge from trunk). server/weather.c: wrong temperature initialisation. Ryo 2007-02-18 Fix mishandling of weapon/shield/armour restriction. Fix crash with NULL value. (merge from trunk) server/gods.c Ryo 2007-02-18 New server settings: allow_denied_spells_writing, for inscription. common/init.c include/global.h server/init.c skills.c Ryo 2007-02-15 server/shop.c: handle "no money" case when player tries to exit shop. --- Fix a crash with object handling by plugins. cfpython/cfpython_map.c: don't assume op exists after inserting in map. Ryo 2007-02-15 Make armour handling coherent between gods, monsters and such. Cloaks and bracers are not armour. Merge from trunk. common/item.c utils.c: fix tests with macros. include/define.h: update macro, new IS_SHIELD. server/apply.c monster.c player.c: use macros. Ryo 2007-02-15 Invalidate player's view if teleporting. Call update_ob_speed when changing spee d. server/plugins.c Ryo 2007-02-12 lib/smooth updated in conjunction with arch update (revision 5421). Kevin Bulgrien 2007-02-11 Fix a few compiler warnings. Most were just unused variables, but some in server/c_object.c had returns without values. Files: server/c_object.c server/monster.c server/player.c server/weather.c MSW 2007-02-08 Implement feature request #1652066: Python: get user's savebed location and x,y coords. --- New properties for player: server/plugins.c include/plugin.h --- Python properties: plugins/cfpython/include/cfpython_object_private.h plugins/cfpython/cfpython_object.c Ryo 2007-02-06 plugins/cfpython/cfpython_object.c: Fix missing braces. Alex Schultz 2007-02-03 lib/formulae: Fix formula for "low boots of steel". Andreas Kirschbaum 2007-02-26 server/gods.c: Clean up follower_remove_given_items() Alex Schultz 2007-01-10 server/gods.c: Apply patch #1627442 by Aaron Baugher, to fix bug #1551735. Works by using a key_value of "divine_giver_name" to objects that are given by a god . Alex Schultz 2007-01-04 Fix a logic mistake: code should be called unless cursed and good only, not if g ood only set (since t->item is never NULL). This would make empty spellbooks and cr ash. common/treasure.c Ryo 2007-01-03 Check len of client-sent commands. socket/item.c: a few checks. Ryo 2007-01-02 Implement feature request #1443844: Lock in 1.9.0 is ethernal. Added new 'lock' command, locking/unlocking specified item. include/sproto.h server/c_object.c commands.c Ryo 2007-01-02 server/{player.c, gods.c, apply.c, monster.c}: Fix bug #1543130 and make handling of can_use_armour and can_use_shield consistant. Alex Schultz 2006-12-31 Implemented proposal #1497089: fix for some random items. lib/artifacts, lib/formulae Changed the title of several treasures from Gaea to Vitality, and from Ruggilli to Blazing Fires, to match better the personality of those gods. Yann Chachkoff 2006-12-30 Fix for bug #1539120: talisman of Evocation grants wrong skill. Changed the name of the "Talisman of Evocation" artifact to "Talisman of Creatio n", so there is no confusion with the skill name. Last part of the fix for bug #1612838 common/treasure.c: Changed the formula used to compute the item_power of a generated artifact treasure. Yann Chachkoff 2006-12-30 Partial fix for bug #1612838: Problem with item_power code server/apply.c Now armours get +3*magic increase to their item_power field. Corrected stupid mistakes made when fixing bug #1528525 Yann Chachkoff 2006-12-30 Fix for bug #1573294: Flesh displays speed +x and gives lot identification exp. common/item.c Patch initially submitted by Aaron Baugher Yann Chachkoff 2006-12-30 Fix for bug #1528525: Sometimes "bad" initial items are created. common/treasure.c Changed the behavior of create_one_treasure, that will now not generate a treasure whose base object is cursed or damned when the GT_ONLY_GOOD flag is set . Yann Chachkoff 2006-12-30 common/c_misc.c lib/settings Fix for bug #1622609: Specific flags no longer displayed with 'who command Replaced [] by <> in the who output command, as [] are reserved for the various formatting tags. Yann Chachkoff 2006-12-29 Fix for bug #1622575: Range attack switches to punching on contact, applied patch courtesy Aaron Baugher server/skill_util.c: use good flag to not switch. Ryo 2006-12-27 Fix some crashes observed on metalforge: common/treasure.c: When generating flesh items from custom monsters, update other_arch of the flesh item to point back to the original base archetype, not the custom archetype. random_maps/treasure.c: Create the key object before we reference it in find_first_free_spot() MSW 2006-12-26 Make method/property coherent for Python objects. plugins/cfpython/cfpython_archetype.c cfpython_party.c cfpython_region.c plugins/cfpython/include/cfpython_archetype_private.h cfpython_party_private.h cfpython_region_private.h Ryo 2006-12-26 Fix for bug #1527978: summon fog spell is somewhat broken. Summon now occurs either randomly around (when casting on oneself), or around, either clockwise or anticlockwise. server/pets.c Ryo 2006-12-26 Implement feature request #1617446 :add "glow radius" to perceive self server/spell_effect.c Ryo 2006-12-26 Add "Crossfire.Object.LastEat. More return fixes. plugins/cfpython/include/cfpython_object_private.h: add "Subtype". plugins/cfpython/cfpython_object.c: add "Subtype". server/plugins.c: fix wrong return values. Ryo 2006-12-26 Fix wrong return values for plugin calls. Add "Crossfire.Object.Subtype" propert y. plugins/cfpython/include/cfpython_object_private.h: add "Subtype". plugins/cfpython/cfpython_object.c: add "Subtype". server/plugins.c: fix wrong return values. Ryo 2006-12-26 server/player.c: Added a supplementary check on attacked objects, so that an alive object that has its FLAG_MONSTER set is always a preferred target over an alive object without that flag. Fix for the bug mentioned in #1551404 server/skill_util.c: Corrected the flags passed to change_exp when failing to properly write a spell scroll, which resulted in loss of experience in the wrong skill. Fix for the bug mentioned in #1530000 Yann Chachkoff 2006-12-26 lib/{Makefile.in,adm/map_info,collect.pl.in,Makefile.am}: ignore .svn rather than CVS. Andreas Kirschbaum 2006-12-24 common/loader.l: Fix some problems related to curse spell monster handling. Specifically, coordinates of custom monsters was not being saved (always set to 0,0), which caused crashes for multipart monsters upon load. Also, speed was being set to 0, resulting in customized monsters not having any speed. MSW 2006-12-21 Fix a crash due to non-checking of parameters. socket/item.c Ryo 2006-12-13 Tentative fix for bug #1551398: Curse spell breaks customized monsters. The server will now create a "temporary" archetype when loading a customized mon ster. This archetype will have the same name, but not be part of regular archetype lis t. It'll be removed when last object using it is removed. A new field "reference_count" is added to archetype structure, to store how many objects reference that temporary archetype (think of item duplication with custo mized archetype). This fix has been roughly tested, but could certainly use more tests. Modified files: common/loader.l: handle customized monsters common/object.c: increment reference_count if copying a temporary archetype. De crement it when freeing an object, and free archetype if needed common/treasure.c: add "artifact_init" to signal start/end of artifact loading, required for temporary archetypes handling. include/object.h: new "reference_count" field Ryo 2006-12-09 Tentative fix for bugs #1605033: Random map gets blocked #1522796: Random map, locked door(s) and no key Random map generator will try harder to put keys, and not lock if no spot found (can happen if chest is surrounded by locked doors blocking the corridor). Modified files: random_maps/rproto.h random_maps/treasures.c Ryo 2006-12-03 Cosmetic fixes only, before bugfix. random_maps/treasures.c: fix indentation. Ryo 2006-12-03 Fix for bug #1556723: Broken Show invisible - scrolls, wands, staves and rods server/spell_effect.c: use the item's level, and not computed level, to see if should be shown. Ryo 2006-12-03 Fix for bug #1569017: Healing gives grace cost to target. Information sent to client is now stored in a special structure, to not conflict with spell fields. Note that this doesn't fix player files. common/player.c: free spell information, new function for spell state. include/libproto.h: new function. include/player.h: new structure, new field in player structure. socket/request.c: use spell information instead of spell fields. Ryo 2006-12-02 Merge patch #1558073: newpickup flesh courtesy bencha include/define.h server/c_object.c player.c Ryo 2006-11-29 Implement feature request #1555887: Thief player - should have bargaining as def ault skill lib/treasures: add skill to class items. Ryo 2006-11-26 Fix bug #1539207: "Max speed" attribute does not work common/living.c: armor's max_speed should always be taken into account. Ryo 2006-11-26 include/newclient.h: Grab/merge copy from 2.x head - some code brought back from the 2.x head in the build_map.c file is using the MSG_TYPE declarations. MSW 2006-11-19 Fix bug #1599307: server/shop.c: In pay_from_container() handle non-standard MONEY objects when buying items. Andreas Kirschbaum 2006-11-19 server/rune.c: If skill is NULL in dispel_rune(), just return as server will otherwise crash in trap_disarm() server/spell_util.c: Fix bug in that runes that hold other spells (glyphs, firetraps, magic runes, etc) do not find a skill object, and thus player doesn't get exp. Instead, for runes, try to find owner, and then the relevant skill object. MSW 2006-11-18 Fix bug #598649: Building apartments use multiple materials per tile server/build_map.c: don't redo same floor. Ryo 2006-11-18 Tentative fix for bug #1519089: item cannot afford in container can be taken fro m store. server/shop.c: do a real recursion in can_pay. Ryo 2006-11-16 include\{treasure.h path.h face.h commands.h win32.h shstr.h timers.h config.h funcpoint.h object.h loader.h attack.h race.h newserver.h re-cmp.h living.h book.h plugproto.h player.h artifact.h material.h plugin.h spellist.h skills.h spells.h recipe.h god.h sounds.h map.h tod.h newclient.h}: Clean up anti-double-include mechanisms. ---- include/arch.h: Removing unused file. include/Makefile.am: Remove reference to arch.h common/arch.c: Remove reference to arch.h Alex Schultz 2006-11-14 Fix bug #1573296: arena : spells with "target" doesn't works server/spell_util.c: spell_find_dir should consider players when on battleground . ---- Fix bug #1594696: Altar created with creator - consecration server/time.c: copy creator's level, as per behaviour before function rewrite. Ryo 2006-11-13 doc/Developers/protocol: Add documentation about exp_table requestinfo addition socket/loop.c: Add call to send_exp_table() in request_info_cmd() socket/request.c: Add send_exp_table() to use a replyinfo exp_table to send data to client. MSW 2006-11-03 socket/loop.c: Fix replyinfo, in that it was using incorrect length parameter when replying to unsupported requests. MSW 2006-11-02 Fix for bug #1547517: DM issue with containers server/apply.c: move_apply shouldn't exit if opened container. Ryo 2006-10-29 Implement feature request #1551406: Add player's name to disease symptoms server/disease.c: add player's name. Ryo 2006-10-28 /plugins/cfpython/{cfpython.c, cfpython_map.c, cfpython_object.c}: Remove redundent checks in values passed to Crossfire_Foobar_wrap() functions. Alex Schultz 2006-10-27 Fix for bug #1573381 (death attacks does works on skull) server/attack.c: check for undead when no slaying set for hitter in deathstrike_ player. Ryo 2006-10-22 Fix for bug #1553636 (Crashbug: reset/swaped map after use of "overlay_save"). Make command coherent with ingame command (command_overlay_save since overlay_sa ve). Add 'overlay_reset' command to reset a saved overlay. common/map.c: if flag is 2, map is still valid (non destructive save). include/sproto.h: rename function, new function. server/c_wiz.c: no need to save and reload the map for overlay. Rename function. New function. server/commands.c: rename function, new function. Ryo 2006-10-22 common/loader.l: Make it so that long msg/endmsg won't overflow temp buffer by using safe_strcat. Will result in long messages being truncated, but better than crashes. server/pets.c: Check for existance of object existance after call to follow_owner() in remove_all_pets(). Can be cases where put is killed when moving to new map. MSW 2006-10-18 server/apply.c: If the captain of a transport exits the transport, make the next player on the transport the captain. server/server.c: Like change to apply.c to make player another player captain if one leaves the game. But in addition, in all cases, we need to clean up the transport->contr pointer, which will otherwise cause crashes. MSW 2006-10-12 common/readable.c: Rewrite god_info_msg() - a buffer overflow crash was seen on metalforge, and the old code had lots of dangerous string operations (non safe strcats, sprintf with overlapping buffers). No code is functionally equivalant, just uses safe string funtions. MSW 2006-10-12 doc/Developers/objects updated to better describe @match use in objects. Many objects contain useless case handling keys like @match Hello|hello because mapmakers do not know how @match works. Also add mention of the limited regular expression support that applies to match keys. Kevin R. Bulgrien 2006-10-08 Make converters inside shops work again. --- server/c_object.c: Sell item after dropping because converters do not accept unpaid items. Andreas Kirschbaum 2006-10-08 Fix bug where in players could unequip cursed weapons by switching to a hand to hand skill (punching, karate, etc). -- include/define.h: Add AP_NOPRINT flag. server/apply.c: Modify the apply_special() code to take AP_NOPRINT option, which as implies, causes messages not to be printed. Used in change to skill_util.c, since the code thre prints better message about uequipping of weapon. server/skill_util.c: Do some cleanup of unused vars in do_skill(). Modify attack_hth() to call apply_special() to unequip weapon (that takes care of checking cursed status, etc). -- MSW 2006-10-05 server/rune.c: Fix mistake in revision 4979, causing get_rangevector to be calle d with an uninitialized env. Alex Schultz 2006-10-04 server/c_misc.c: Fix incorrect use of FMT64 in commant_statistics(). Alex Schultz 2006-10-02 server/monster.c: Revert message formatting of NPC responses back to the two-line format. Fix a possible buffer overflow when players talk to certain NPCs. Andreas Kirschbaum 2006-10-02 server/rune.c: Cleanup spring_trap() and clean some questionable logic. server/attack.c: Cause spell traps to be triggered when containers with traps are destroyed by a spell effect. Alex Schultz 2006-09-25 server/plugins.c: Change cfapi_object_say() to use either command_say() or npc_say() depending on if the object is a player. Fixes bug #1534889. server/monster.c, include/sproto: Move code for NPCs to talk from the code that handles NPC replies into npc_say(). server/spell_effect.c: Implement proposed alchemy changes from the mailing list. Make value of nuggets given range from 5% to 40%. Depends on archetype changes to the alchemy spell and nuggets. (Without archetype changes will give obscenely low value.) server/spell_util.c, include/sproto.h: Make min_casting_level() non-static. Alex Schultz 2006-09-16 server/alchemy.c: Make shadow alchemy and random alchemy failures ignore the 'cauldron' type being used. Fixes bug #1551385. Alex Schultz 2006-09-15 lib/README: Large update to the ancient readme file describing the files in lib. Alex Schultz 2006-09-12 common/treasure.c, include/treasure.h: Add MAX_SPELLITEM_LEVEL set to 110. include/living.h: Set MAXLEVEL to 115. doc/settings: Document create_home_portals outside of comments in lib/settings. server/player.c: Comment cleanup. No code changes. server/apply.c: Add check to auto-dropping of applied transports to not drop in shops. common/treasure.c: Make fix_flesh_item only run when the donor is a monster. Fixes bug #1555569. Alex Schultz 2006-09-10 server/apply.c, server/c_object.c, server/player.c: Use is_in_shop() to check if it's in a a shop. server/shop.c, include/sproto.h: Add is_in_shop() and coords_in_shop() based on addition of is_in_shop() in cf+ by elmex. server/apply.c: When applying a transport which is in an inventory, drop the transport. server/c_object.c, include/sproto.h: Make drop_object return a pointer to the dropped object, NULL otherwise. Alex Schultz 2006-09-09 common/treasure.c: add exp and other_arch to flesh; more info about the original monster, to be used in spells or scripts. Lalo Martins 2006-09-10 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 lib/collect.pl.in: Explicitly ignore backup files (*~), just because they really annoy me. Lalo Martins 2006-09-06 server/gods.c: Make get_god_for_race() safe for gods of no race. Alex Schultz 2006-09-06 server/shop.c: Make (real) sure shops won't give amber/jade Lalo Martins 2006-09-06 Apply patch #551467 (type mismatch in surround_flag3() can cause SIGSEGV) courtesy Mark Kidder. random_maps/rproto.h wall.c Ryo 2006-09-04 Bulk of this change is updating some files to use draw_ext_info() - all future code should use this, since there is no real reason not to and it provides additional features. One notable change - reversed the order of the new and old formats in draw_ext_info_format() - the order was different than that of draw_ext_info(), which leads to confusion. draw_ext_info_format() wasn't used in many places, so easier to change that than all the draw_ext_info() calls. Only another 1200 new_draw_info calls left in the server. -- doc/mediaTags: Fix some typos, clarify some behaviour (the way it works now so that there will not be confusion in the future). include/define.h: Remove MSG_ tags - moved to newclient.h include/newclient.h: Synchronize with client version. Add MSG_ defines include/newserver.h: Move some defines from here to newclient.h server/apply.c: Reverse format parameters to draw_ext_info_format() calls. server/c_misc.c: Rewrite to use draw_ext_info{_format} - this allows nice formatting of tables, etc. Also general style cleanups, clarify some messages. in help_topics(), don't do linewrap - let the client handle it. remove bug_report() function - no longer used. Remove explore_mode() - wasn't used. Move command_style_map_info() to c_wiz.c since it is a wiz only command. server/c_wiz.c: As per above, move command_style_map_info() to this file since it is a wiz command. server/player.c: Reverse format parameters to draw_ext_info_format() calls. server/shop.c: Update to use draw_ext_info{_format} instead of new_draw_info() socket/info.c: Reverse format parameters in draw_ext_info_format(). Update va_start() to use new last parameter. Remove call to strip_media() if the client supports the tag - that should only be used if the client does not support the tag. socket/request.c: remove commented out MSG_TYPE values. MSW 2006-09-03 plugins/common/hashtable.c: make Win32 define of uintptr_t more correct. Alex Schultz 2006-09-03 plugins/common/hashtable.c: fix Win32 compilation. server/spell_effect.c: missing return value. ---- Potential fix for bug #1551307 (crash in python plugin). If event_destroy is not found, set del_event to NULL. And don't dare you call remove_ob on it! :) plugins/cfpython/cfpython_object.c ---- Fix for bug #1551371 (No-magic prevents monsters from casting spells) server/skill_util.c: ignore no_spell/no_magic for monsters. ---- Fix for bug #1551386 (Alchemy with unpaid items). include/sproto.h: new function declaration. server/alchemy.c: check for unpaid items/cauldrons in new function. server/skill_util.c: move alchemy code to other function. Ryo 2006-09-03 server/attack.c: Store away victim_map in hit_with_arrow() - what could otherwise happen is that victim is a player, and killed and ends up on new map, so that victim->map points at the wrong map. MSW 2006-09-02 server/swamp.c: swamp will now kill players with woodsman, but slower than players without that skill. Feature request #1539125 by Andreas Kirschbaum. socket/lowlevel.c: apply patch #1550716 (Frequent crashes after client disconnec ts) courtesy Mark Kidder Ryo 2006-09-02 server/attack.c: Move kill_player() after we set up the pl->killer string. Needed just so right message is on grave stone - also prevents crashes, as if the hitter is poison or disease, kill_player() will remove those. MSW 2006-08-30 lib/attackmess: Fix missing space in a 'type 17' attack message. Alex Schultz 2006-08-30 server/player.c: Fix logic error in fire_bow and avoid unnecessary messages. Fixes bug #1547699. Alex Schultz 2006-08-28 Add plugin access to move fields. Add sint64 type to plugin. 'AddExp' wrapper. include/plugin.h plugins/common/plugin_common.c plugins/common/include/plugin_common.h server/plugins.c ----- Add 'object->env' and move_xxx wrappers to Object. plugins/cfpython/cfpython_object.c plugins/cfpython/include/cfpython_object_private.h ----- Add constants for many things. Note that they aren't real constants and can be changed from a Python script. But it's the case for everything, so... plugins/cfpython/cfpython.c Ryo 2006-08-27 Removed obsolete 'event' field from object struct, and associated functions. common/living.c common/loader.[cl] common/object.c common/treasure.c include/libproto.h include/object.h server/apply.c test/unit/common/check_arch.c Ryo 2006-08-26 server/weather.c: change spurious logic in weather_avoid function. Ryo 2006-08-26 Hopefully fix weather-related bug. common/object.c: tentatively fix insert_ob_in_map weird behaviour when both INS_MAP_LOAD and INS_ABOVE_FLOOR_ONLY are set. Ryo 2006-08-26 common/object.c, server/time.c: Make generators work properly with multi-tile ob jects. Fixes bugs #1543220 and #1546835 and also allows generators themself to be m ulti-tile. Alex Schultz 2006-08-25 check-fragment.am: Add some quotes to avoid problems with spaces appearing in macro expansions. Raphael Quinet 2006-08-25 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. Raphael Quinet 2006-08-25 configure.ac: add option to disable unit tests, fix incorrect usage of AC_ARG_ENABLE for dmalloc, fix some typos. Raphael Quinet 2006-08-25 common/map.c: static buffers are evil. This resulted in name weirdness, and strange results with overlays. Ryo 2006-08-25 server/server.c: fix a weird name change. Basically, function path_combine_and_n ormalize was called twice while first result was still in use, resulting in weird names. Ryo 2006-08-23 Fix for bug #1528636 (Invisible player disappears from map view). socket/request.c: special case for view's center. Ryo 2006-08-22 Fix/improve login procedure such that if a player is trying to log in with the name & correct password of character already on server, terminate old connection and let them log in. --- server/login.c: Remove name check for players on server in check_name(). Make wrong_password() to handle error message handling for wrong password In check_login(), iterate over players on system to see if there is a match - if mismatched password, print error. If correct password, terminate old connection. Move wrong password logic from check_login() to wrong_password(). MSW 2006-08-21 server/attack.c: Call kill_player() from the kill_object() code. Fixes bug #1539 192. Alex Schultz 2006-08-21 server/spell_effect.c: Make counterspell not effect permenant spell effects. Fixes bug #1539220. lib/adm/getfaces.pl, lib/adm/README: Add 'getfaces' script that I had on the tra cker and forgot about. Alex Schultz 2006-08-20 Fix timers not working properly and potentially crashing. include/timers.h: use tag instead of pointer to avoid crashes. server/init.c: init timers. server/timers.c: wrong check for EVENT_TIMER. ----- Add timers to functions a plugin can call. include/sproto.h: new functions. server/plugins.c: callbacks to timers. ----- Add Python wrappers to timer, Object.CreateTimer(delay,mode) and Crossfire.Destr oyTimer(id) plugins/cfpython/cfpython.c plugins/cfpython/cfpython_object.c plugins/cfpython/include/cfpython_object_private.h plugins/common/plugin_common.c plugins/common/include/plugin_common.h Ryo 2006-08-20 common/object.c: Scatter objects dropped from a multi-tile object being freed. Fixes bug #1542884 server/c_wiz.c: Make DM 'free' command safe on multi-tile objects. Alex Schultz 2006-08-19 Fix for bug #1540158 (Broken spells - Face of Death) server/attack.c: death attack always kills, no escape from it. ----- Fix for bug #1460251 (Big monsters generated by generators broken). The generato rs didn't correctly create the other monster parts. common/map.c: move stuff out of link_multipart_objects to object.c common/object.c: add fix_multipart_object function, taken from link_multipart_o bjects include/libproto.h: new function. server/time.c: call new function when adding big monster. ----- Fix for bug #1523571 (Diseases work only on "head" part). server/spell_attack.c: the "more" part doesn't always have all the right flags , so get head before testing. ----- common/object.c: add "more", "head" and "env" values when dumping an object. server/spell_util.c: DMs can cast denied spells. Ryo 2006-08-19 Recollected archetypes in order to integrate fix for bug #1530006: lib/smooth, lib/faces, lib/bmaps.paths, lib/bmaps, lib/archetypes, lib/animations, lib/crossfire.1, lib/crossfire.0, lib/treasures.bld Raphael Quinet 2006-08-18 Added a plugin function to get time. Add Python wrapper. include/plugin.h sproto.h plugins/cfpython/cfpython.c plugins/common/include/plugin_common.h plugins/common/plugin_common.c server/plugins.c Ryo 2006-08-15 common/map.c, include/plugin.h, plugins/cfpython/{cfpython.c, include/cfpython_m ap.h, include/cfpython_map_private.h}, server/plugins.c, server/server.c, server/swap.c: Add EVENT_MAPLOAD and EVENT_MAPUNLOAD, add support to cfpytho n. Modify EVENT_MAP* to send the map object (in place of the path for MAPRESET). Impliment wrapper invalidation for cfpython map wrapper objec ts. crossedit/stubs.c, include/funcpoint.h, random_maps/standalone.c, test/unit/common/stubs_common.c: Allow execute_global_event() to be called f rom common. Alex Schultz 2006-08-12 lib/artifacts: Add artifact descriptions, courtesy of Raphael Quinet. Applies pa tch from tracker item #1538983 Alex Schultz 2006-08-12 server/c_object.c: Corrected a mistake in examine that would display the content of a message prefixed by @match to the player. Fix for the bug mentioned in #1539227 server/spell_effect.c, common/map.c, common/map.h: Added a field in the map structure to store the timestamp of the last original map loading, and modified the Town Portal spell so that it now cannot lead to a map that was marked before a reset, after a reset. Fix for bug #1539155 server/apply.c: changed the comparaison code between the weapon's name and the player's, so that a weapon created by "gro" cannot be used by "gros. Fix for bug #1539150 server/c_object.c: modifier command_take so it is less noisy about no_pick items when doing a "get all" request. Fix for bug #1539122 server/c_object.c: modified command_drop so it is less noisy about locked items when doing a "drop all" request. Fix for bug #1539121 server/pets.c: added filling of inventory for monsters magically created that didn't come from a player caster, and aren't golems. Fix for bug #1529980 server/spell_effect.c: fixed incorrect behavior of the create missile spell, that couldn't find a proper archetype when a bow or a crossbow was wielded. Fix for bug #1532403 Yann Chachkoff 2006-08-12 server/apply.c: keep converters from accepting unpaid items Lalo 2006-08-12 lib/addexp: update help text. server/c_wiz.c: update addexp's help text. Ryo 2006-08-11 server/c_wiz.c: fix create command with some artifact fun. Update player invento ry if removing an item. Ryo 2006-08-10 server/apply.c: Tell the client the map has scrolled when applying transports. F ixes bug #1528565. Alex Schultz 2006-08-10 lib/regions, common/region.c: Move regions file to map files. server/player.c: Set default listen level to 10. Alex Schultz 2006-08-09 common/loader.l, include/object.h, include/plugin.h, server/plugins.c: Add no_sa ve attribute. Prevents object from being saved to disk. Add plugin support for the attribu te. plugins/cfpython/{cfpython.c, cfpython_object.c include/cfpython_object.h, include/cfpython_object_private.h}: Add cfpython support for no_save, and ha ve cfpython "invalidate" object wrappers when the object is destroyed. Add "Exists" prop erty to python object wrappers. Alex Schultz 2006-08-08 Feature request #1465397 (improved feedback in character creation for existing n ames). Made message more explicit. server/login.c Ryo 2006-08-08 Implement feature request #821645 (change password command). This introduces 3 n ew player states, "entering current password", "new password", "confirm new passwo rd". include/define.h: new states. include/player.h: add new_password field. include/sproto.h: new command prototype. server/c_misc.c: new command. server/commands.c: bind command. socket/request.c: handle new states. Ryo 2006-08-08 Implement feature request #1528641 (consecrate should change face of altar). Thi s simply removes the altar, and add the god's altar. Note that the name of the altar sho uld be altar_, which seems to be the case everywhere. server/spell_effect.c Ryo 2006-08-07 Tell player whether she's the transport's captain or not. server/apply.c Ryo 2006-08-07 Commit patch #1389033 (Large-value coins) courtesy Lalo Martins server/shop.c: accept jade & amber coins, never give'em back. Ryo 2006-08-07 Fix bug #1534727 (create_home_portals TRUE doesn't work) server/init.c: wrong variable changed. Ryo 2006-08-05 Committed patch #1389432 (Per-race HallOfSelection) courtesy Lalo Martins. Modified files: include/global.h common/init.c server/server.c player.c Rebuilt archetypes and treasures. Ryo 2006-08-05 plugins/cfpython/cfpython.c, plugins/cfpython/cfpython_object.c, plugins/cfpython/include/cfpython_object_private.h: Modify Crossfire_Object_wrap() to use the hash tables provided by hashtable.c to avoid creating more python wrapper objects than is needed. Alex Schultz 2006-07-29 common/object.c: fix bug #1526364 (stacking Royal Guards). Use find_free_spot to place dropped items if living. Also fix indent of function free_object2. server/c_object.c: fix bug #1529969 (shop floor not working in random maps). Ryo 2006-07-29 server/c_wiz.c: fix addexp not working on skills. server/time.c: don't crash if duplicator doesn't have other_arch set. Ryo 2006-07-28 plugins/common/hashtable.c, plugins/common/include/hashtable.h, plugins/common/Makefile.am, plugins/common/include/Makefile.am, plugins/cfpython/Makefile.am: Add hashtable.c, to add ptr-to-ptr hash tables for plugins to use. (Useful to use a cf object as a key for the table) plugins/cfpython/include/cfpython.h: Include compile.h which Python.h doesn't include on it's own in versions of python older than 2.4. include/plugin.h, common/object.c: Add EVENT_DESTROY, a local event triggered wh en an object is freed. include/funcpoint.h, crossedit/stubs.c, random_maps/standalone.c, test/unit/common/stubs_common.c: Allow execute_event to be called from commo n and add appropriate stubs. Alex Schultz 2006-07-28 common/item.c: In describe_item() correct capacity description of large (>1000 maxsp) Glowing Crystals. Andreas Kirschbaum 2006-07-28 plugins/cfpython/cfpython.c: Added compilePython() function to split the compili ng of python bytecode from the execution of it. Add support for caching the bytecode for a fixed number of scripts (default of 16) to increase speed. Alex Schultz 2006-07-27 server/c_wiz.c: prevent a DM to reset a random map if (s)he is on that map. Workaround for bug #1528173. Yann Chachkoff 2006-07-26 server/c_wiz.c: call update_ob_speed if removed object is animated. server/spell_attack.c: stop generating swarm/bullet if player moved. This fixes bug #1528194. server/spell_util.c: don't report blocking if caster is not player. It then is a swarm spell or equivalent, so position is random, no need to warn. Ryo 2006-07-25 server/server.c: Select op->facing instead of op->direction in process_events for players and monsters as the direction reference for the face to display. Fix for bug #1528182. (*few* ! that's a lot of bugs ! :)) server/spell_util.c: Make the search for a friendly target for some spells also browse transports located in the square from which the spell was cast. This is a fix for bug #1528018 server/c_wiz.c: Prevents the use of reset on self-map while in a transport. Work-around for bug #1528172. server/skill_util.c: Make dragons prefer clawing over anything else as unarmed combat technique. Fix for bug #1528197 Yann Chachkoff 2006-07-25 common/treasure.c: Added explicit item_power calculation for generated items tha t got an item_power of 0 - should solve bug #1460354. Yann Chachkoff 2006-07-21 scommon/map.c: Add check to block_linked() to make sure things never block thems elf. server/spell_attack.c: Target the head of monsters diseases are cast at. Alex Schultz 2006-07-18 Fix player count reporting to the metaserver. It now excludes connections with not-yet-logged-in players and AFK/WIZ/BOT players. --- socket/metaserver.c: In metaserver_update() use the same conditions as for the who command. Andreas Kirschbaum 2006-07-16 server/spell_effect.c, include/global.h, common/init.c, server/init.c: Add setting "create_home_portals" which allows server admins to allow town portals to be created in apartments. Based on a patch by pippijn in the cf-ext project. lib/settings: Set default create_home_portals to FALSE Alex Schultz 2006-07-12 lib/regions: Fix typo in region "portjoseph". Bug #1518392 (Port Joseph region spelling inconsistent with map directory) by Kevin R. Bulgrien. Andreas Kirschbaum 2006-07-07 acinclude.m4, configure: Fix last fix which discarded any passed in CFLAGS or if that is set in the environment. MSW 2006-07-05 common/button.c: Fix for sourceforge bug common/button.c - harpsicord crashes client. The problem is that the trigger code presumed that the object would be animated, and blindly set teh face to the second animation frame. harpsicords are not animated, so this could amount to garbage. So add check for trigger objects to see if they are in fact animated before blindly setting the face. MSW 2006-07-05 server/daemon.c: Patch by wart, tracker 1489902 - open a file like /dev/null to then dup - this fixes -detach crash problem. Might be better to use some other file, but in theory, shouldn't be much going here, and I don't think we can safely use a file that is already opened by the server. MSW 2006-07-05 common/region.c: wrong order for memset call. Ryo 2006-07-04 common/object.c: revert my previous fix, it's actually a feature :) Ryo 2006-06-27 ------------------------------------------------------------------------------ client: gtk-v2/src/info.c: For extended message handling, special case the MSG_TYPE_SIGN - the 1.x server puts a number in front of the message to denote it is auto apply - strip it off in the gtk2 client. Not an issue as far as 2.x goes, as the server doesn't prefix the message anymore. MSW 2007-02-11 gtk-v2/gtk-v2.glade: Apply patch 1636013 - standardize on underscored widget names. Patch by Veli-Matti Valtonen - maligor. MSW 2007-02-06 Fix for bug #1538948: Assertion failure for map2 command. Add checks for x,y and layer validity in the Map2Cmd. Note that invalid values are not discarded, but clipped to valid ones. common/commands.c: add checks. common/mapdata.[ch]: move #define to header for access outside .c. Ryo 2007-01-07 Merge patch #1558073: newpickup flesh courtesy bencha gtk/gx11.c gtk-v2/gtk-v2.glade gtk-v2/src/callbacks.h gtk2proto.h interface.c pickup.c Ryo 2006-11-29 common/Makefile.am: Change svnversion.h generation to not update the file unless it needs updating. Alex Schultz 2006-11-09 Fix problem in display logic when the size of the image was not a multiple of the map_image_size. This shows up when using tall character images. It also shows up when using different -mapscale options due to rounding errors - in both cases now, things are drawn correctly. -- gtk/map.c: Add size parameters to draw_pixmap(). Add logic to figure out proper offsets for drawing odd sized images. gtk/sdl.c: Add logic to figure out proper offsets for drawing these odd sized images. gtk-v2/src/map.c: Add size parameters to draw_pixmap(). Add logic to figure out proper offsets for drawing odd sized images. gtk-v2/src/sdl.c: Add logic to figure out proper offsets for drawing these odd sized images. MSW 2006-11-05 gtk/image.c: Fix bug that results in SDL mode not working if map_scale and icon_scale are the same - can't use GDK pixmaps for SDL drawing. MSW 2006-11-05 Fix bug 1559804 - unable to drop items from inventory into open container on the ground. gtk-v2/src/inventory.c: Add check to see if container is on the ground in addition to being in the player inventory as a valid drop target. MSW 2006-11-03 Add ability for client to get exp table from server. Add exp progressbar to GTK2 client. -- common/client.c: Add declarations for exp_table, exp_table_max, and call to send 'requestinfo exp_table' to server. common/client.h: Add extern declarations for exp_table, exp_table_max common/commands.c: Add get_exp_info() function to get exp table from server in replyinfo command. Fix crash bug in ReplyInfoCmd() if replyinfo with no parameters is sent to client. common/init.c: Add code to clear/initialize exp_table, exp_table_max gtk-v2/gtk-v2.glade: Add exp progessbar widget. gtk-v2/src/gtk2proto.h: rebuilt gtk-v2/src/interface.c: Rebuilt gtk-v2/src/stats.c: Add code to draw/update the exp progressbar. Replace some static numeric constants with #define values instead. Add can_alert option to update_stat() MSW 2006-11-03 Fix annoying bug where popups appear all the time. common/newclient.h: add some missing message types. gtk/text.c: by default, admin commands are just sent to draw_info. This prevents annoying popups. Ryo 2006-10-29 common/Makefile.am: Make sure svnversion.h rebuilds every time. Alex Schultz 2006-10-29 gtk/rcs-id.h, common/rcs-id.h, x11/rcs-id.h, gtk/gx11.c, x11/x11.c: Remove rcs-id code. gtk/Makefile.am, common/Makefile.am, x11/Makefile.am: Remove references to rcs-id.h files. -- configure.in, common/Makefile.am: Generate svnversion.h to define SVN_REV from running the svnversion command if avaliable. common/version.h: Add FULL_VERSION macro, to include SVN_REV if avaliable. gtk/gx11.c, x11/x11.c, gtk-v2/src/main.c: Use FULL_VERSION instead of VERSION. Alex Schultz 2006-10-20 common/client.c, gtk-v2/src/main.c: Remove excess log messages that flood console. Alex Schultz 2006-10-12 Apply patches #1562945, #1562947, #1563796, and #1566467 to allow the gtk2 client to be built in mingw. Courtesy of Kurt Fitzner. --- configure.in, gtk-v2/src/Makefile.in: Clean up build system a little and add mingw supports. common/item.c, common/commands.c, common/init.c, common/script.c, common/mapdata.c, common/client.c, common/p_cmd.c, common/player.c, common/newsocket.c, common/metaserver.c: Add mingw/win32 support. gtk-v2/src/keys.c, gtk-v2/src/map.c, gtk-v2/src/image.c, gtk-v2/src/sdl.c, gtk-v2/src/main.c, gtk-v2/src/opengl.c, gtk-v2/src/png.c, gtk-v2/src/Makefile.am, gtk-v2/src/sound.c, gtk-v2/src/menubar.c: Add win32 support to gtk2 client code, including for sdl and opengl. Alex Schultz 2006-10-07 common/mapdata.c, common/proto.h: Move clearing of old map data from mapdata_set_face_layer() to a new mapdata_clear_old() function. common/commands.c: Call mapdata_clear_old() in Map2Cmd() instead of relying on mapdata_set_face_layer() to clear it. Fixes bug #1559683. x11/x11.c: Fix display_mapscroll() to handle scrolling by greater than 1 tile at a time. Fixes bug #1564584. Alex Schultz 2006-09-26 gtk-v2/src/info.c: Add some notes about downloading font. Add support for underline in extended text modes. MSW 2006-09-17 configure.in: Fix opengl checks. Alex Schultz 2006-09-17 Fix bug 1531060 - metaserver selection button is improperly activated. Fix this by clearing the text box if an entry in the tree widget is selected - if text is entered in the text box, unselect any selection - keeps it very consistent what the connect button does. Have it greyed out until there is either text in the text box or something selected in the treeview. -- gtk-v2/gtk-v2.glade: add callback for key press events for text entry box. gtk-v2/src/callbacks.h,gtk-v2/src/interface.c: Rebuilt gtk-v2/src/metaserver.c: Add code to activate/disable button based on status. Add code to clear text box when treeview selected. Add code to deselect treeview if data is entered in textbox. MSW 2006-09-05 gtk-v2/src/stats.c: Fix bug 1527966 - protections window not properly updated. Wrong variable was being used in loop. MSW 2006-09-05 gtk-v2/src/map.c: Clear clipmask and clear window in draw_splash() so that splash is correctly redrawn. gtk-v2/src/metaserver.c: Add call to draw_map() in metaserver selection just to make sure splash is drawn correctly. MSW 2006-09-04 gtk-v2/src/inventory.c: Fix bug 1528014 - when dropping all objects, display isn't updated correctly. Remove checks for cpl.ob->inv - relying on cpl.ob->inv_updated appears to work fine. gtk-v2/src/keys.c: Fix bug 1527988 - message about unused keys isn't very useful. Include meta and alt information about unused keys. Add warning message to bind when trying to bind a key that may conflict with an existing binding. MSW 2006-09-04 Add suggestion from bug 1528536 - some menu items should be disabled during metaserver selection. -- gtk-v2/gtk-v2.glade: Fix some incorrect name (meny vs menu) gtk-v2/src/interface.c: Rebuilt gtk-v2/src/menubar.c: Add enable_menu_items(), which enables/disables some menu items. gtk-v2/src/metaserver.c: Add calls to enable_menu_items() to disable some menu items before metaserver selection, and to enable them after. MSW 2006-09-04 gtk-v2/gtk-v2.glade: Add callback for pressed event on metaserver quit button - allows alt-Q to work - fix for bug 1551373 gtk-v2/src/interface.c: Rebuilt -- gtk-v2/server/metaserver.c: Make some changes related to bug 1548290 - cached entries show 0 value in players. Add code to check list of servers from metaserver - if we have a match in the cached server list, don't display the cached entry - use the one from the metaserver instead. Also, add logic to not display empty server if the default server is null. -- gtk-v2/src/config.c: Make save_winpos() do actual saving, have on_save_window_position_activate() call save_winpos() - fixes bug 1551395 where savewinpos command does not work. gtk-v2/src/main.c: Remove empty function save_winpos() MSW 2006-09-04 gtk-v2/src/stats.c: Remove extra Player: in the player name. Fixes bug 1528011. MSW 2006-09-03 This change mainly adds support for the extended info messages for the gtkv2 client. Note that unlike the gtkv1 client, the gtkv2 client doesn't in any way try to do pop up windows or fancy graphics - rather, the support is there just so it can do font changes, color changes, etc, within the normal text window. -- common/newclient.h: Sync it back up with server version. Several new MSG_ types added. gtk-v2/src/info.c: Redo info pane handling - move all the relevant variables into a structure - this should make it easier to add more panes in the future, but right now, it means an integer can be passed in to functions to control what pane to draw in. Add support for extended draw info - notably, this means listing alternative fonts, and adding support for different tags. Add callsbacks for the different message types. Add code to process extended text message tags. gtk-v2/src/keys.c: Change the grab focus after user enters command to use the treeview_look widget instead fo the textview - given that the textview is now stored away in a structure, harder to get to that variable. MSW 2006-09-03 common/client.c: fix Win32 compilation. Ryo 2006-09-03 gtk-v2: Fix bug 1528540 - if metaserver window is closed, client is unusable. Take suggested fix - if metaserver window is closed, exit client. Just another hook to last commit. gtk-v2/gtk-v2.glade: Add callback for destroy event on metaserver window. gtk-v2/src/interface.c: rebuilt. MSW 2006-08-21 gtk-v2: Fix bug 1530024 - errors when manually closing a window. gtk-v2/gtk-v2.glade: Add callback for destroy event on main window. gtk-v2/src/callbacks.h, gtk-v2/src/interface.c: Updated by glade with new callback gtk-v2/src/main.c: Code to handle callback MSW 2006-08-20 gtk/gx11.c: if cpl.no_echo is set, hide input. Ryo 2006-08-08 configure: add --enable-cfgtk2 flag, to build gtk1 client with gtk2. configure.in: add --enable-cfgtk2 flag. Add getaddrinfo check. common/commands.c: check buffer length. common/init.c: free allocated memory. gtk/gx11.c: replace some WIN32 with CFGTK2. gtk/win32/config.c: add #define CFGTK2. Ryo 2006-07-29 Make common/cconfig.h act as the default server if set, if not set, connect to metaserver. Prior to this, it always went to the metaserver unless -server option was given. -- common/cconfig.h: Comment out SERVER so by default it connects to metaserver common/client.c: Add handling to initialize server from SERVER if defined, null otherwise. common/metaserver.c: Don't present default server in metaserver selection default is null. gtk/gx11.c, gtk-v2/src/main.c, x11/x11.c: Change command line handling - if server is set, use that as default to connect to. -- MSW 2006-07-17 gtk-v2/src/inventory.c: Add another invisible column to inventory/look lists for sorting based on name without nrof clogging results. Comment out code that makes image fixed width. MSW 2006-07-17 x11/xutil.c: Use snprintf() to avoid possible buffer overflows. gtk/image.c gtk-v2/src/image.c gtk-v2/src/opengl.c: Remove superfluous casts. common/item.h, gnome/gnome.c, gtk/gx11.c, x11/x11.c: Remove unused macros. common/commands.c: Unify/fix calls to LOG(). common/commands.c: In DeleteItem() and DeleteInventory() do not crash if an invalid object tag was received. Andreas Kirschbaum 2006-07-16 Fix problem in gtk1 & gtk2 client when player issues disconnect command - client would hang and consume all CPU time. --- common/external.h: Add declaration to cleanup_connection() common/p_cmd.c: In disconnect command, add call to cleanup_connection() gtk/gx11.c, gtk-v2/src/main.c: Add cleanup_connection() - removes socket from one of the gdk input device, call gtk_main_quit so it returns to metaserver selection. x11/x11.c: Add empty cleanup_connection() - x11 client doesn't need to do anything special. MSW 2006-07-06 More changes related to default logging. Able to specify default log level with configure. Note: you will need to re-run configure after this change, as otherwise MINLOGLEVEL will not be defined in config.h. --- configure.in, configure: Add --with-loglevel= to specify default loglevel. crossfire-client.spec: Update to include --with-loglevel for building RPMs common/config.h.in: Add MINLOGLEVEL #define. common/misc.c: Modify to use the MINLOGLEVEL #define MSW 2006-07-05 Clean up some compile warnings. They generally fall into either wrong form for variable (%lld vs %ld), or cast for data (char* vs uint8*) --- common/client-types.h: Add FMT64 defines like done in the server. Removes need for #ifdef WIN32 in many places. common/client.c: Remove unneeded cast for ReplyInfoCmd(). Change type of length parameter passed to getsockopt() to be a socklen_t. common/commands.c: Change ReplyInfoCmd() to take a uint8*. Add several char*/uint8* casts. Change TickCmd() to also take uint8* common/external.h: Add extern void client_tick(uint32 tick). common/image.c: load_image() so that its fourth param (checksum) is a uint32. In finish_face_cmd() change filename to be a char*. Add some casts in ImageCmd() & Image2Cmd(). Change display_newpng() so its first param (face) is just a int, not a long. Change get_image_info() to take in a uint8* for data, add some casts. Change get_image_sums() to take in a char* common/item.c: Change several buffers used by the socklist structure to be uint8, add casts as needed. common/newsocket.c: Change SockList_Init() so that the passed in buffer is a uint8*, so that is what the target buffer type is. Add some casts and update some types within the program. common/player.c: Change a buffer from char to uint8. common/proto.h: Rebuilt. common/script.c: Change it to take in a uint8 for data. Change %lld to use FMT64 common/script.h: Update declaration of script_watch() gtk/config.c: Remove const from titles. While they may be used as a const, the gtk function they are passed to isn't declared that way. gtk/gx11.c: Remove unused function end_windows(). Replace %lld with FMT64. Removed const from title declaration. gtk/inventory.c: Remove const from titles declaration. re-enable cast for image creation for tabs. gtk/keys.c: Add note about compiler warning and bad code technique for for getting the selection. gtk/png.c: Removed unused variables/function - png_to_gdkpixmap() gtk/text.c: Change void_callback() to match format of other callbacks to prevent warning. gtk-v2/src/gtk2proto.h: Rebuilt. gtk-v2/src/png.c: Remove unused variable. gtk-v2/src/stats.c: Replace %lld with FMT64. pixmaps/question.111, pixmaps/stipple.111, pixmaps/stipple.112: Change types to be char and not unsigned char, since that is what the function tha uses this data expects. x11/x11.c: Replace %lld with FMT64 --- MSW 2006-07-04 Changes related to logging of version information. aclocal, Makefiles.*: Rebuilt for new file in gtk-v2/src. common/misc.c: Change MINLOG to be a variable so it can be changed via command line options. gtk/gx11.c: Have bug window display rcsid versions. Add -loglevel command line option. Move printing of some log messages until after we process command line options since that can change the log level. gtk-v2/gtk-v2.glade: Add an about window for the gtkv2 client. gtk-v2/src/Makefile.am: Add about.c file. gtk-v2/src/about.c: file for about window. gtk-v2/src/callbacks.h: on_about_close_clicked() added by glade. gtk-v2/src/interface.c, interface.c: New logic for about window. New function - create_about_window() gtk-v2/src/main.c: Add -loglevel command line option. Move printing of some log messages after we process command line options. gtk-v2/src/menubar.c: remove menu_about() - now in about.c MSW 2006-07-04 common/misc.c: Make default log level 2 when not in debug mode. Normal users probably don't want all the INFO log messages, and it never makes a good impression about stability/quality if a program spews out lots of errors or other messages. MSW 2006-07-01 Make some changes to the defaults so that the game is a bit more user friendly to completely new users (eg, those that don't have a settings file): -- common/init.c: Turn off popups (gtkv1 client) by default - general seems that it isn't popular, and placement of the popups needs to be fixed. gtk-v2/src/main.c: Change default map size to ask from server to be 25x25 - the gtkv2 client has default window size for that, so lets use it. x11/x11.c: Turn on scroll of text by default - non scroll is really ugly and doesn't make any sense give the power of even very slow cpus now. MSW 2006-07-01 gtk-v2/src/config.c: Fix bug resulting in a crash when opening the configuration dialogue if you have an empty gdefaults2 file. MSW 2006-06-30