From no-reply_wiki at metalforge.org Thu Mar 1 04:57:07 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 01 Mar 2007 04:57:07 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kshinji Message-ID: <1172746627.180924.30216.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/01 04:57 User : kshinji Edit Summary: @@ -1,8 +1,8 @@ [[.:kshinji:estates|Python Estates]] - ==Ideas== + [[user:kshinji:ideas:valuables|'''New valuables images''']] [[user:kshinji:ideas:notele|'''Anti-teleportation tile''']] -- property of arch that makes teleportation disabled on tile (in contradition to all other spell effects). [[.kshinji:walls|Intelligent wall clientside connecting.]] IP-Address : 217.153.241.198 Old Revision: http://wiki.metalforge.net/doku.php/user:kshinji?rev=1172219069 New Revision: http://wiki.metalforge.net/doku.php/user:kshinji -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Mar 2 16:38:43 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 02 Mar 2007 16:38:43 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1172875123.945349.1500.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/02 16:38 User : ryo Edit Summary: 2 comments @@ -244,8 +244,9 @@ * More: next archetype linked to current archetype. Will be ''None'' for last item Methods: * NewObject: returns a ''Crossfire.Object'' having this archetype as type + @@ -293,9 +294,9 @@ * **Direction**: ''Number'' * **Facing**: ''Number'' * **Unaggressive**: ''Boolean'' * **God**: ''String'' - * **Pickable**: ''Boolean'' + * **Pickable**: ''Boolean'', whether the item can be picked up or not * **Quantity**: ''Number'' * **Invisible**: ''Boolean'' * **Speed**: ''Number'' * **SpeedLeft**: ''Number'' @@ -343,9 +344,9 @@ * CanCastSpell: ''Boolean'' * **ReflectSpells**: ''Boolean'' * **ReflectMissiles**: ''Boolean'' * **Unique**: ''Boolean'' - * CanPickUp: ''Boolean'' + * CanPickUp: ''Boolean'', whether the monster can pickup items or not. * **CanPassThru**: ''Boolean'' * **RunAway**: ''Boolean'' * **Scared**: ''Boolean'' * **Undead**: ''Boolean'' IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1172619151 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 01:23:06 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 01:23:06 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: document_repository Message-ID: <1172992986.038299.4771.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 01:23 User : Edit Summary: @@ -69,12 +69,8 @@ * [[The Elementals]] * [[The Lich]] * [[The Titan]] * [[The Vampire]] - - - - ===== Developer Guides ===== Some information for developers. * [[dev:objects]] @@ -92,10 +88,11 @@ * [[Insult Generator]] and [[Insult Generator Source Code]] * [[Map Making]] * [[Making Archetypes]] * [[Crossfire Release Cycle]] + * [[Crossfire Release Guide]] - Steps need to make an official release of crossfire. ===== Website Links ===== * [[Server Home Pages]] * [[Development and Informational Links]] IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/document_repository?rev=1167829269 New Revision: http://wiki.metalforge.net/doku.php/document_repository -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 01:30:33 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 01:30:33 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: crossfire_release_guide Message-ID: <1172993433.196994.4786.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 01:30 User : Edit Summary: created Directions below have 1.10 as the example release. Directions of commands below presume you start in the top level SVN directory (the one that contains the arch, client, maps, server) for each phase (arch, client, maps, server) === Arch === * Update the CHANGES in the branches/1.x to add a 1.10 changes line to mark changes before/after the branch. Commit changed file: vi arch/branches/1.x/CHANGES svn commit Changes * Make a copy of the repository svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/branches/1.x https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10 -m "1.10 branch" * Update the Changelog to change it (no top of SVN) in branch: vi arch/tags/1.10/CHANGES svn commit arch/tags/1.10/CHANGES * Make archive of arch directory. Note we want the arch directory called 'arch' in the archive, hence the symlink. Gnu tar is used: cd arch/tags rm -f arch ln -s 1.10 arch gtar -chvfz --exclude=.svn crossfire-1.10.0.arch.tar.gz arch * Upload the file to sourceforge: ncftp upload.sourceforge.net ncftp / > cd incoming ncftp /incoming > put crossfire-1.10.0.arch.tar.gz IP-Address : 209.204.178.229 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 01:44:32 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 01:44:32 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1172994272.957411.4810.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 01:44 User : Edit Summary: @@ -3,6 +3,9 @@ - === Arch === + === Arch & Maps === + + The process for both the arch and maps directory is the same - the only difference is the name of the files/paths. + * Update the CHANGES in the branches/1.x to add a 1.10 changes line to mark changes before/after the branch. Commit changed file: vi arch/branches/1.x/CHANGES svn commit Changes @@ -28,6 +31,23 @@ ncftp upload.sourceforge.net ncftp / > cd incoming ncftp /incoming > put crossfire-1.10.0.arch.tar.gz + + + * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] + * Add a release to crossfire-arch + * Release name is 1.10.0 + * For release nots, generally do something like ''1.10.0 release or archetype tree for crossfire'' + * For Changelog, copy portion of CHANGES that has changed since last release + * Check button to preserve preformatted text. + * Hit checkbox to preserve preformatted text. + * Hit refresh before continuing onto selecting file to upload. + * Select crossfire-1.10.0.arch.tar.gz from list of files, hit Add Files button. + * Select Any for processor type, Source.gz for file type, hit Update/refresh. + * Check box to send e-mail to users monitoring, hit button to send e-mail + + * Release of arch is now done + + IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172993431 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 01:46:41 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 01:46:41 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1172994401.309835.4819.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 01:46 User : Edit Summary: @@ -23,9 +23,9 @@ cd arch/tags rm -f arch ln -s 1.10 arch - gtar -chvfz --exclude=.svn crossfire-1.10.0.arch.tar.gz arch + gtar -chvz --exclude=.svn -f crossfire-1.10.0.arch.tar.gz arch * Upload the file to sourceforge: ncftp upload.sourceforge.net IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172994270 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 01:52:38 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 01:52:38 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1172994758.098781.4828.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 01:52 User : Edit Summary: @@ -13,9 +13,9 @@ * Make a copy of the repository svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/branches/1.x https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10 -m "1.10 branch" - * Update the Changelog to change it (no top of SVN) in branch: + * Update the Changelog to change it (no top of SVN) in branch. Note that maps directory doesn't have a CHANGES file yet: vi arch/tags/1.10/CHANGES svn commit arch/tags/1.10/CHANGES IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172994399 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 01:55:07 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 01:55:07 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1172994907.696382.4837.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 01:55 User : Edit Summary: @@ -9,11 +9,15 @@ vi arch/branches/1.x/CHANGES svn commit Changes - * Make a copy of the repository + * Make a copy of the repository. Note this does a copy on the server, so if your local copy is a out of sync, it won't matter. svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/branches/1.x https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10 -m "1.10 branch" + + * Check out the tag, so you now have a local copy: + + svn update arch/tags * Update the Changelog to change it (no top of SVN) in branch. Note that maps directory doesn't have a CHANGES file yet: vi arch/tags/1.10/CHANGES IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172994756 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 01:59:58 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 01:59:58 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1172995198.952752.4840.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 01:59 User : Edit Summary: @@ -22,16 +22,20 @@ vi arch/tags/1.10/CHANGES svn commit arch/tags/1.10/CHANGES - * Make archive of arch directory. Note we want the arch directory called 'arch' in the archive, hence the symlink. Gnu tar is used: + * Make archive of arch/maps directory. Note we want the arch directory called 'arch/maps' in the archive, hence the symlink. Gnu tar is used: cd arch/tags rm -f arch ln -s 1.10 arch gtar -chvz --exclude=.svn -f crossfire-1.10.0.arch.tar.gz arch - * Upload the file to sourceforge: + * Maps only - we want a bzip2 copy because it saves considerable space. This may take a little while depending on speed of your system. You can start on the next stage of uploaded the .gz file while this is processing: + + gunzip -c crossfire-1.10.0.maps.tar.gz | bzip2 -c9 > crossfire-1.10.0.maps.tar.bz2 + + * Upload the file to sourceforge. If doing the maps, also upload the .bz2 file: ncftp upload.sourceforge.net ncftp / > cd incoming IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172994905 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 02:01:49 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 02:01:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1172995309.717697.4849.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 02:01 User : Edit Summary: @@ -11,9 +11,10 @@ svn commit Changes * Make a copy of the repository. Note this does a copy on the server, so if your local copy is a out of sync, it won't matter. - svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/branches/1.x https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10 -m "1.10 branch" + svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/branches/1.x \ + https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10 -m "1.10 branch" * Check out the tag, so you now have a local copy: svn update arch/tags @@ -44,9 +45,9 @@ * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] * Add a release to crossfire-arch * Release name is 1.10.0 - * For release nots, generally do something like ''1.10.0 release or archetype tree for crossfire'' + * For release notes, generally do something like ''1.10.0 release or archetype tree for crossfire'' * For Changelog, copy portion of CHANGES that has changed since last release * Check button to preserve preformatted text. * Hit checkbox to preserve preformatted text. * Hit refresh before continuing onto selecting file to upload. IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172995196 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 02:17:45 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 02:17:45 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1172996265.034188.4882.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 02:17 User : Edit Summary: @@ -51,12 +51,12 @@ * Check button to preserve preformatted text. * Hit checkbox to preserve preformatted text. * Hit refresh before continuing onto selecting file to upload. * Select crossfire-1.10.0.arch.tar.gz from list of files, hit Add Files button. - * Select Any for processor type, Source.gz for file type, hit Update/refresh. + * Select Any for processor type, Source.gz for file type, hit Update/refresh. Need to hit refresh for each file before updating type of next file. For the .bz2 maps file, select Source.bz2 * Check box to send e-mail to users monitoring, hit button to send e-mail * Release of arch is now done IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172995307 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 04:48:44 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 04:48:44 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1173005324.685379.5237.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 04:48 User : ryo Edit Summary: update @@ -67,13 +67,16 @@ ==== Drop ==== Archetype: event_drop Generated when the object is dropped, either on the floor or in a container. + ==== Pickup ==== Archetype: event_pickup - Generated when the object is picked up. + ''WhoAmI'' is about to be picked up by ''WhoIsActivator'' and put into ''WhoIsOther'' (will be WhoIsActivator if put into inventory, or container else). Event is called when all checks (weight, container, levitation, ...) are done, creature picking up can really pick up. + + Return 0 to allow to pickup, non zero to prevent from picking up. ==== Say ==== Archetype: event_say IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1168011467 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 4 07:02:24 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 04 Mar 2007 07:02:24 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173013344.356977.5810.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/04 07:02 User : ryo Edit Summary: GetFriendlyList @@ -217,8 +217,9 @@ - minute - day of week - week of month - season + ==== DestroyTimer ==== Removes a timer created through a call to ''[[cfpython#AddTimer|Crossfire.Object.AddTimer]]''. @@ -228,8 +229,11 @@ Returns: * 0: no error. * -1: invalid timer identifier. + + ==== GetFriendlyList ==== + Returns a ''list'' of ''[[cfpython#crossfire.object_methods_and_attributes|Crossfire.Object]]'' representing all items on the friendly list. Individual objects can be added/removed through their ''Friendly'' flag. ===== Crossfire.Archetype methods and attributes ===== This represents an archetype, from which all objects are derived. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1172875117 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 00:02:01 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 00:02:01 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1173074521.774824.7397.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 00:02 User : Edit Summary: @@ -57,6 +57,56 @@ * Release of arch is now done + + === Client === + Start in branches/1.x + * Update configure.in with new version number + * re-run autoconf + * Re-run configure (needed so new version number gets embedded in Makefiles) + * Update crossfire-client.spec with new version + * Run ''svn commit'' to commit configure, Changelog, crossfire-client.spec changes. + * Make a copy of the repository. Note this does a copy on the server, so if your local copy is a out of sync, it won't matter. + + svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/branches/1.x \ + https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/tags/1.10 -m "1.10 branch" + + * cd into the tags directory, do svn update to check out newly created branch: + + cd ../../tags + svn update + + * Clean up ChangeLog - remove top of SVN line, instead just have ''Changes for 1.10.0'' be at the top. + * Run configure. Options are not really important. + * Run ''make dist''. This will create a crossfire-client-1.10.0.tar.gz in the current directory. + * Unpack the archive, and verify it works: + + gtar xvfz crossfire-client-1.10.0.tar.gz + cd crossfire-client-1.10.0 + ./configure -prefix=/tmp/test + make -s (make sure no errors) + make install (will install where specified above) + + * run cfclient, gcfclient, gcfclient2 and make sure they are not braindead - being able to connect to a server and log in is usually what I do + + cd /test/bin + ./cfclient + ./gcfclient + ./gcfclient2 + + * If all OK, upload the crossfire-client-1.10.0.tar.gz + + ncftp upload.sourceforge.net + ncftp / > cd incoming + ncftp /incoming > put crossfire-1.10.0.arch.tar.gz + + + * Clean up some files: + + rm -rf /tmp/test + rm -rf /crossfire-client-1.10.0 + + + IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1172996262 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 00:21:00 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 00:21:00 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1173075660.761410.7436.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 00:20 User : Edit Summary: @@ -1,47 +1,47 @@ - Directions below have 1.10 as the example release. Directions of commands below presume you start in the top level SVN directory (the one that contains the arch, client, maps, server) for each phase (arch, client, maps, server) + Directions below have 1.10.0 as the example release. Directions of commands below presume you start in the top level SVN directory (the one that contains the arch, client, maps, server) for each phase (arch, client, maps, server) === Arch & Maps === The process for both the arch and maps directory is the same - the only difference is the name of the files/paths. - * Update the CHANGES in the branches/1.x to add a 1.10 changes line to mark changes before/after the branch. Commit changed file: + * Update the CHANGES in the branches/1.x to add a 1.10.0 changes line to mark changes before/after the branch. Commit changed file: vi arch/branches/1.x/CHANGES svn commit Changes * Make a copy of the repository. Note this does a copy on the server, so if your local copy is a out of sync, it won't matter. svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/branches/1.x \ - https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10 -m "1.10 branch" + https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10.0 -m "1.10.0 branch" * Check out the tag, so you now have a local copy: svn update arch/tags * Update the Changelog to change it (no top of SVN) in branch. Note that maps directory doesn't have a CHANGES file yet: - vi arch/tags/1.10/CHANGES - svn commit arch/tags/1.10/CHANGES + vi arch/tags/1.10.0/CHANGES + svn commit arch/tags/1.10.0/CHANGES * Make archive of arch/maps directory. Note we want the arch directory called 'arch/maps' in the archive, hence the symlink. Gnu tar is used: cd arch/tags rm -f arch - ln -s 1.10 arch - gtar -chvz --exclude=.svn -f crossfire-1.10.0.arch.tar.gz arch + ln -s 1.10.0 arch + gtar -chvz --exclude=.svn -f crossfire-1.10.0-arch.tar.gz arch * Maps only - we want a bzip2 copy because it saves considerable space. This may take a little while depending on speed of your system. You can start on the next stage of uploaded the .gz file while this is processing: - gunzip -c crossfire-1.10.0.maps.tar.gz | bzip2 -c9 > crossfire-1.10.0.maps.tar.bz2 + gunzip -c crossfire-1.10.0-maps.tar.gz | bzip2 -c9 > crossfire-1.10.0-maps.tar.bz2 * Upload the file to sourceforge. If doing the maps, also upload the .bz2 file: ncftp upload.sourceforge.net ncftp / > cd incoming - ncftp /incoming > put crossfire-1.10.0.arch.tar.gz + ncftp /incoming > put crossfire-1.10.0-arch.tar.gz * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] * Add a release to crossfire-arch @@ -105,8 +105,32 @@ rm -rf /tmp/test rm -rf /crossfire-client-1.10.0 + * Make sounds archive - may seem pointless since sounds are not changing, but the the rpm build process basically requires that there be a sounds archive with the same release number. + * Make copy of the repository: - + svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/trunk \ + https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/tags/1.10.0 -m "1.10 branch" + + * Run svn update in sounds/tags to download the sounds. + * Like the arch area above, we expect the sounds to be in a directory called sounds, not 1.10.0 + + rm -f sounds + ln -s 1.10.0 sounds + gtar -chvz --exclude=.svn -f crossfire-1.10.0-sounds.tar.gz sounds + + * Upload sounds file like other archives - same steps, same value + + * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] + * Add a release to crossfire-client + * Release name is 1.10.0 + * For release notes, generally do something like ''1.10.0 release or archetype tree for crossfire''. I'll also include notable changes + * For Changelog, copy portion of CHANGES that has changed since last release + * Check button to preserve preformatted text. + * Hit checkbox to preserve preformatted text. + * Hit refresh before continuing onto selecting file to upload. + * Select crossfire-1.10.0.client.tar.gz from list of files, hit Add Files button. + * Select Any for processor type, Source.gz for file type, hit Update/refresh. + * Check box to send e-mail to users monitoring, hit button to send e-mail IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1173074519 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 00:22:24 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 00:22:24 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1173075744.655372.7439.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 00:22 User : Edit Summary: @@ -106,21 +106,21 @@ rm -rf /tmp/test rm -rf /crossfire-client-1.10.0 * Make sounds archive - may seem pointless since sounds are not changing, but the the rpm build process basically requires that there be a sounds archive with the same release number. - * Make copy of the repository: + * Make copy of the repository: svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/trunk \ https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/tags/1.10.0 -m "1.10 branch" - * Run svn update in sounds/tags to download the sounds. - * Like the arch area above, we expect the sounds to be in a directory called sounds, not 1.10.0 + * Run svn update in sounds/tags to download the sounds. + * Like the arch area above, we expect the sounds to be in a directory called sounds, not 1.10.0 rm -f sounds ln -s 1.10.0 sounds gtar -chvz --exclude=.svn -f crossfire-1.10.0-sounds.tar.gz sounds - * Upload sounds file like other archives - same steps, same value + * Upload sounds file like other archives - same steps, same value * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] * Add a release to crossfire-client * Release name is 1.10.0 IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1173075658 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 00:48:10 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 00:48:10 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1173077290.643021.7481.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 00:48 User : Edit Summary: @@ -28,13 +28,13 @@ cd arch/tags rm -f arch ln -s 1.10.0 arch - gtar -chvz --exclude=.svn -f crossfire-1.10.0-arch.tar.gz arch + gtar -chvz --exclude=.svn -f crossfire-1.10.0.arch.tar.gz arch * Maps only - we want a bzip2 copy because it saves considerable space. This may take a little while depending on speed of your system. You can start on the next stage of uploaded the .gz file while this is processing: - gunzip -c crossfire-1.10.0-maps.tar.gz | bzip2 -c9 > crossfire-1.10.0-maps.tar.bz2 + gunzip -c crossfire-1.10.0.maps.tar.gz | bzip2 -c9 > crossfire-1.10.0.maps.tar.bz2 * Upload the file to sourceforge. If doing the maps, also upload the .bz2 file: ncftp upload.sourceforge.net @@ -116,11 +116,18 @@ * Like the arch area above, we expect the sounds to be in a directory called sounds, not 1.10.0 rm -f sounds ln -s 1.10.0 sounds - gtar -chvz --exclude=.svn -f crossfire-1.10.0-sounds.tar.gz sounds + gtar -chvz --exclude=.svn -f crossfire-client-sounds-1.10.0.tar.gz sounds - * Upload sounds file like other archives - same steps, same value + * Upload sounds file to sourceforge - same as other files - same steps, same value + + * Make an image archive for the client. Needed for RPM building. Need a server tree with a properly linked arch tree. + * ''cd server/lib; adm/collect_images.pl -archive'' + * that will create a ../crossfire-images.tar file + * rename file: ''mv crossfire-images.tar crossfire-client-images-1.10.0.tar'' + * compress to file: ''gzip -v9 crossfire-client-images-1.10.0.tar'' + * upload file to sourceforge, same steps, same type * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] * Add a release to crossfire-client * Release name is 1.10.0 IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1173075742 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 01:05:12 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 01:05:12 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1173078312.745439.7508.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 01:05 User : Edit Summary: @@ -3,6 +3,6 @@ - === Arch & Maps === + == Arch & Maps == The process for both the arch and maps directory is the same - the only difference is the name of the files/paths. * Update the CHANGES in the branches/1.x to add a 1.10.0 changes line to mark changes before/after the branch. Commit changed file: @@ -58,9 +58,9 @@ * Release of arch is now done - === Client === + == Client == Start in branches/1.x * Update configure.in with new version number * re-run autoconf * Re-run configure (needed so new version number gets embedded in Makefiles) @@ -139,5 +139,6 @@ * Select crossfire-1.10.0.client.tar.gz from list of files, hit Add Files button. * Select Any for processor type, Source.gz for file type, hit Update/refresh. * Check box to send e-mail to users monitoring, hit button to send e-mail + == Client RPM Files == IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1173077289 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 01:48:49 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 01:48:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1173080929.818562.7580.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 01:48 User : Edit Summary: @@ -140,5 +140,5 @@ * Select Any for processor type, Source.gz for file type, hit Update/refresh. * Check box to send e-mail to users monitoring, hit button to send e-mail == Client RPM Files == - + Building the RPM is pretty straightforward. It does require a system that actually uses RPM (like redhat). Also, to some extent, the RPM is tied to the system it is built on, in terms of architecture and dependencies IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1173078310 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 15:44:46 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 15:44:46 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_fields Message-ID: <1173131086.765377.9094.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 15:44 User : ryo Edit Summary: key/value @@ -726,12 +726,55 @@ ==== dam ==== Type: sint16 Meaning: + ==== luck ==== Type: sint8 Meaning: + ===== Key/value fields ===== + Those fields are not part of the ''object'' or ''Stats'' structures, but used through the key/value mechanism. + + ==== price_adjustment, price_adjustment_buy and price_adjustment_sell ==== + Those control the price the item should have. They are a ratio from the item's raw value, and are applied without any bargaining / charism / shop specialization effect. + + Values should be a valid float (as recognized by ''atof''). + + If price_adjustment is set, it will override the other 2 keys. Else any of the 2 can be not set without any side effect. + + ==== divine_giver_name ==== + For god-given items, name of the god that gave the item. Used to remove them if player switches cult. + + ==== divine_blessing_name ==== + Specified god has blessed the item. Used to avoid accumulating blessings. + + ==== item_owner ==== + Player owning the item, so other players can't bless it. If set, the item can't be applied by another player unless he has enough experience (see item_willpower). + + ==== generator_code ==== + For GENERATOR ({FIXME} real flag) objects, a key to copy to generated monsters, so they can be tracer. + + ==== generator_max ==== + For GENERATOR ({FIXME} ditto) objects, the maximum number of generated monsters allowed at the same time. + + ==== generator_name ==== + Name of the generator {FIXME}, used for generator_code value. If unset will use generator's name, else ''generator''. + + ==== on_use_yield ==== + Should be the name of an archetype. When containing object is applied, this specific object is generated, and inserted at the same place as the containing object. Used mostly for giving empty bottles when drinking stuff. + + ==== item_willpower ==== + If set incombination with item_owner, an item will refuse to be applied by another player who doesn't have at least that much experience. + + ==== passenger_limit ==== + For TRANSPORT ({FIXME} real type), the maximum players can board at the same time. + + ==== face_full and anim_full ==== + For TRANSPORT, face to use when it's full. + + ==== weight_speed_ratio and base_speed ==== + Control the max speed of the TRANSPORT, based on the formula speed = base_speed - (base_speed * weight the transport is carrying * weight_speed_ratio) / (transport's weight_limit * 100 IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_fields?rev=1171824805 New Revision: http://wiki.metalforge.net/doku.php/dev:object_fields -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 15:45:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 15:45:39 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_fields Message-ID: <1173131139.943827.9103.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 15:45 User : ryo Edit Summary: header @@ -9,8 +9,11 @@ FIXME make a script to either do object.h -> this page, or this page -> object.h * IMHO one should put this data into object.h, in doxygen format, and make a script to do object.h -> this page --- //[[users:rednaxela|Alex Schultz]] 2007/01/03 12:50// + + + ===== object fields ===== ==== contr ==== Type: pl * IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_fields?rev=1173131081 New Revision: http://wiki.metalforge.net/doku.php/dev:object_fields -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 15:46:30 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 15:46:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_fields Message-ID: <1173131190.702363.9106.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 15:46 User : ryo Edit Summary: header @@ -605,9 +605,11 @@ Type: uint8 Meaning: - ===== fields of the 'stats' structure ===== + + ===== "living" structure fields ===== + ==== Str ==== Type: sint8 Meaning: IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_fields?rev=1173131137 New Revision: http://wiki.metalforge.net/doku.php/dev:object_fields -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 15:47:59 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 15:47:59 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_fields Message-ID: <1173131279.785247.9109.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 15:47 User : ryo Edit Summary: update @@ -62,18 +62,19 @@ Type: obj * Meaning: * pointer to the object stacked above this one. Will link items on a same spot, or in the same container. + ==== inv ==== - Type: obj * + Type: object * pointing to the first item in inventory. Other items are available through ''below'' chaining. Meaning: * for spellbooks, rods, wands, horns, this is the spell that the object teaches/fires. * for generators with the FLAG_CONTENT_ON_GEN flag it is the item generated. - * for living things and containers {FIXME flags for that}, it is a pointer to the first item in inventory, next items are linked through the below/above pointers. + * for living things and containers {FIXME flags for that}, what this holds. ==== container ==== Type: obj * IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_fields?rev=1173131186 New Revision: http://wiki.metalforge.net/doku.php/dev:object_fields -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 5 16:00:56 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 05 Mar 2007 16:00:56 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_fields Message-ID: <1173132056.968925.9130.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/05 16:00 User : ryo Edit Summary: typo @@ -144,15 +144,16 @@ ==== skill ==== Type: const char * (shared string) Meaning: Name of the skill this object uses/grants + ==== msg ==== Type: const char * (shared string) Meaning: - * for BOOK/SIGN/MAGICMOUTH/etc. what is display when activated. + * for BOOK/SIGN/MAGICMOUTH/etc. what is displayed when activated. * for EXITs pointing to random maps, map parameters. * for races players can select, description of the race FIXME check other uses. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_fields?rev=1173131275 New Revision: http://wiki.metalforge.net/doku.php/dev:object_fields -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 01:21:27 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 01:21:27 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1173165687.779002.10006.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 01:21 User : Edit Summary: @@ -1,8 +1,7 @@ Directions below have 1.10.0 as the example release. Directions of commands below presume you start in the top level SVN directory (the one that contains the arch, client, maps, server) for each phase (arch, client, maps, server) - - == Arch & Maps == + === Arch & Maps === The process for both the arch and maps directory is the same - the only difference is the name of the files/paths. * Update the CHANGES in the branches/1.x to add a 1.10.0 changes line to mark changes before/after the branch. Commit changed file: @@ -58,9 +57,9 @@ * Release of arch is now done - == Client == + === Client === Start in branches/1.x * Update configure.in with new version number * re-run autoconf * Re-run configure (needed so new version number gets embedded in Makefiles) @@ -139,6 +138,15 @@ * Select crossfire-1.10.0.client.tar.gz from list of files, hit Add Files button. * Select Any for processor type, Source.gz for file type, hit Update/refresh. * Check box to send e-mail to users monitoring, hit button to send e-mail - == Client RPM Files == - Building the RPM is pretty straightforward. It does require a system that actually uses RPM (like redhat). Also, to some extent, the RPM is tied to the system it is built on, in terms of architecture and dependencies + === Client RPM Files === + Building the RPM is pretty straightforward. It does require a system that actually uses RPM (like redhat). Also, to some extent, the RPM is tied to the system it is built on, in terms of architecture and dependencies. For example, to build the 32 bit binaries, I boot my secondary system that is only 32 bit. + + * Make sure you have already done the client archives above, since the rpm build requires them. + * Make crossfire-client.spec is up to date. Not that it is likely some of the paths near the top of the file may need to be changed depending on your filesystem layout. + * Build the RPMs: ''rpmbuild -ba crossfire-client.spec'' + * If there are errors, rpmbuild will tell you. + * Rpms would be put in _rpmdir/ + * Upload the RPMS, architecture is the architecture, type is rpm. + + IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1173080927 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 03:08:19 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 03:08:19 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1173172099.878600.10168.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 03:08 User : ryo Edit Summary: fix @@ -33,9 +33,9 @@ * Clawing - Clawing is you default skill as a dragon. ====Foods==== - By eating flesh dropped from monsters, a dragon can increase it?s resistances to whatever the monster is resistant to, permanently. This doesn?t happen every time, and as your resistance grows higher, you need to find higher level food. You can only gain one resistance point per flesh piece. + By eating flesh dropped from monsters, a dragon can increase its resistances to anything the monster is resistant to, permanently. This doesn?t happen every time, and as your resistance grows higher, you need to find higher level food. You can only gain one resistance point per flesh piece. ^ Taste description ^ Meaning ^ | Delicious | Good chance of gaining resistance. | | Very Good | Little chance of gaining resistance. | @@ -43,8 +43,9 @@ | Boring | Almost no chance of gaining resistance. You are very near to where this flesh stops helping (Takes a ton to get the resistance up more) | | No Taste | No help whatsoever. No chance of resistance gain. Either you are well beyond the listed resistance or it never gives a bonus to resistances. | | Disgusting | Human food. Ick. No chance for gaining resistance. | + {FIXME} list attacks you can gain resistance in (not all) ====Focuses and abilities==== A dragon's focus is where his experience and resistance is concentrated. Also, depending on your focus, you will gain different abilities as you increase in level. You do not loose abilities you have gained in one focus when switching to another, and new hatchlings always have a focus on fire. Here?s a list of the focus benefits: ===Fire=== * Fire attuned IP-Address : 172.185.93.179 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1173172054 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 03:07:38 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 03:07:38 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1173172058.405371.10165.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 03:07 User : ryo Edit Summary: fix @@ -30,17 +30,19 @@ ====Skills==== * Levitate - (Hint - Using levitate while outside of cities allows you to move quickly over different types of terrain) * Clawing - Clawing is you default skill as a dragon. + ====Foods==== - By eating flesh dropped from monsters, a dragon can increase it?s resistances to whatever the monster is resistant to, permanently. This doesn?t happen every time, and as your resistance grows higher, you need to find higher level food. + By eating flesh dropped from monsters, a dragon can increase it?s resistances to whatever the monster is resistant to, permanently. This doesn?t happen every time, and as your resistance grows higher, you need to find higher level food. You can only gain one resistance point per flesh piece. + ^ Taste description ^ Meaning ^ - | Delicious | Good chance of gaining resistance. This usually adds 1 to a (couple of) resistance(s) | - | Very Good | Little chance of gaining resistance. This usually adds 1 to a (couple of) resistance(s) | - | Good | Very little chance of gaining resistance. This usually adds 1 to a (couple of) resistance(s) | + | Delicious | Good chance of gaining resistance. | + | Very Good | Little chance of gaining resistance. | + | Good | Very little chance of gaining resistance. | | Boring | Almost no chance of gaining resistance. You are very near to where this flesh stops helping (Takes a ton to get the resistance up more) | - | No Taste | No help whatsoever. No chance of resistance gain. Either you are well beyond the listed resistance or it never gives a bonus to resistances. | + | No Taste | No help whatsoever. No chance of resistance gain. Either you are well beyond the listed resistance or it never gives a bonus to resistances. | | Disgusting | Human food. Ick. No chance for gaining resistance. | ====Focuses and abilities==== A dragon's focus is where his experience and resistance is concentrated. Also, depending on your focus, you will gain different abilities as you increase in level. You do not loose abilities you have gained in one focus when switching to another, and new hatchlings always have a focus on fire. Here?s a list of the focus benefits: IP-Address : 172.185.93.179 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1167695964 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 03:17:30 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 03:17:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races Message-ID: <1173172650.115355.10199.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 03:17 User : ryo Edit Summary: some cleaning, fendrakis are player races thus are not totally lore only :) @@ -3,9 +3,9 @@ ===== Player useable races ===== * {{:images:dwarf_p.base.151.png}} [[.races:Dwarves]] * {{:images:elf.base.151.png}} [[.races:Elves]] - * {{:images:fenx.base.150.png}} [[.races:Fendrakis]](Fenx) + * {{:images:fenx.base.150.png}} [[.races:Fendrakis]] (Fenx) * {{:images:fireborn.base.111.png}} [[.races:Fireborns]] * {{:images:gnome_p.base.151.png}} [[.races:Gnomes]] * {{:images:halfling.base.151.png}} [[.races:Halfling]] * {{:images:human.base.151.png}} [[.races:Humans]] @@ -18,11 +18,8 @@ * {{:images:wraithp.base.151.png}} [[.races:Wraiths]] ===== Other races of the world ===== - FIXME Find all monster races used, except those above, and insert alphabetical list. (use races: namespace for this too) - - > Here they are; with image links that will work once images are uploaded fixed. * {{:races:air_elemental.png}} [[.races:Air Elementals]] * {{:races:angelknight.png}} [[.races:Angels]] * {{:races:animal.png}} [[.races:Animals]] @@ -43,7 +40,4 @@ * {{:races:undead.png}} [[.races:Undead]] * {{:races:unnatural.png}} [[.races:Unnaturals]] * {{:races:water_elemental.png}} [[.races:Water Elementals]] - ===== Races of lore ==== - Some races have never been seen by a living soul in civilized bigworld, but exist in stories. - * {{:images:fenx.base.150.png}}[[.races:Fendrakis]] IP-Address : 172.185.93.179 Old Revision: http://wiki.metalforge.net/doku.php/races?rev=1167470681 New Revision: http://wiki.metalforge.net/doku.php/races -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 10:21:59 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 10:21:59 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:mhoram Message-ID: <1173198119.835588.11073.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 10:21 User : mhoram Edit Summary: Link to new script @@ -42,18 +42,21 @@ * [[.mhoram:scripts:healup]] -- Bring grace and hit points to maximum. * [[.mhoram:scripts:subs.pl]] -- Subroutines used by most of my other scripts. + ==== Other Scripts ==== * [[.mhoram:scripts:wiki_orphans]] -- An external perl script that checks the dokuwiki for orphaned pages. * [[.mhoram:scripts:indent_a_file]] -- Lisp function for correctly indenting and untabifying code with Emacs. + + * [[.mhoram:scripts:attacktype]] -- Perl script to list the attack types corresponding to a number. ===== My Contacts ===== ^ Email: | aaron at baugher daht biz | ^ IRC: | Mhoram (on freenode) | ^ Website: | http://aaron.baugher.biz/ | ^ Myspace: | www.myspace.com/aaronbaugher | ^ Yahoo Messenger: | aaron_baugher | IP-Address : 206.71.197.56 Old Revision: http://wiki.metalforge.net/doku.php/user:mhoram?rev=1171920585 New Revision: http://wiki.metalforge.net/doku.php/user:mhoram -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 10:24:08 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 10:24:08 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:mhoram:scripts:attacktype Message-ID: <1173198248.039971.11076.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 10:24 User : mhoram Edit Summary: created Here's a very simple script that takes a number as an argument and outputs the attacktypes corresponding to that value. Requires Perl. #!/usr/bin/perl use warnings; use strict; die "Usage: attacktype \n" unless $ARGV[0] =~ /^\d+$/; my @attacktypes = qw( physical # taken from include/attack.h magic fire electricity cold confusion acid drain weaponmagic ghosthit poison slow paralyze turn_undead fear cancellation deplete death chaos counterspell godpower holyword blind internal life_stealing disease ); for my $at (0..25){ if( $ARGV[0] & (2**$at)){ print "$attacktypes[$at]\n"; } } IP-Address : 206.71.197.56 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:mhoram:scripts:attacktype -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 13:55:31 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 13:55:31 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_fields Message-ID: <1173210931.389904.11412.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 13:55 User : ryo Edit Summary: spell_expiry_warn_1 @@ -781,7 +781,11 @@ For TRANSPORT ({FIXME} real type), the maximum players can board at the same time. ==== face_full and anim_full ==== For TRANSPORT, face to use when it's full. + ==== weight_speed_ratio and base_speed ==== Control the max speed of the TRANSPORT, based on the formula speed = base_speed - (base_speed * weight the transport is carrying * weight_speed_ratio) / (transport's weight_limit * 100 + + ==== spell_expiry_warn_1 and spell_expiry_warn_2 ==== + Those are used by spell effects, to store when player should be warned of effect expiration. Player will get a message when spell's duration reaches the first value, then the second. Will be set by the code automatically, should be a number parsable via atoi(). IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_fields?rev=1173132054 New Revision: http://wiki.metalforge.net/doku.php/dev:object_fields -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 13:56:40 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 13:56:40 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1173211000.581037.11415.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 13:56 User : ryo Edit Summary: march @@ -1,11 +1,16 @@ ====== Crossfire Traffic ====== The current Crossfire Traffic is [[crossfire_traffic:2006:july|July 2006]] Crossfire Traffic is a means to communicate the activity surrounding crossfire in an accessible and non-technical way, it is targeted at those who are curious about what is happening with the project, but find the existing mailing lists, commit list, forum, wiki and IRC channels overly complicated, scary, or time consuming to read. As such it does not contain any background details, but instead focuses only on things that are user-visible + ===== Changes to be merged ===== + + ==== March 2007 ==== + * player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. + ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. * also, experience gained for killing a player never exceed experience that player can lose considering permanent experience. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1171584376 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 13:58:22 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 13:58:22 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1173211102.920276.11418.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 13:58 User : ryo Edit Summary: more updates @@ -5,11 +5,14 @@ ===== Changes to be merged ===== + ==== March 2007 ==== * player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. + * items can now have a fixed price, independant of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). + * Python plugin can use Crossfire.FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1173210998 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 13:59:44 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 13:59:44 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1173211184.322218.11421.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 13:59 User : ryo Edit Summary: update @@ -11,16 +11,18 @@ ==== March 2007 ==== * player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. * items can now have a fixed price, independant of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). * Python plugin can use Crossfire.FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. + ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. * also, experience gained for killing a player never exceed experience that player can lose considering permanent experience. * add a "generator_radius" field to generators; objects are created randomly within this radius of the generator. * make players change place with pets from party members instead of pushing them away. - * plugins can now get/set a user's savebed location and x,y coords. + * plugins can now get/set a user's savebed location and x,y coords, as well as object's speed_left field. + * GTK client will "remember" pickup mode hopefully. ==== january 2007 ==== * new feature: random effects when casting a spell while confused (beware!) * new item status: blessed (books/scrolls only) IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1173211100 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 16:13:10 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 16:13:10 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: document_repository Message-ID: <1173219190.168841.11637.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 16:13 User : leaf Edit Summary: New guide, Crossfire compile guide @@ -89,10 +89,11 @@ * [[Map Making]] * [[Making Archetypes]] * [[Crossfire Release Cycle]] * [[Crossfire Release Guide]] - Steps need to make an official release of crossfire. + * [[Crossfire Compile Guide]] - Simple guide for building a local or testing server from SVN source ===== Website Links ===== * [[Server Home Pages]] * [[Development and Informational Links]] IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/document_repository?rev=1172992982 New Revision: http://wiki.metalforge.net/doku.php/document_repository -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 16:16:44 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 16:16:44 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: crossfire_compile_guide Message-ID: <1173219404.516281.11646.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 16:16 User : leaf Edit Summary: created Requirements: FIXME -- this needs to be updated * libpng3-dev * make * flex * libgd2-xpm * libgd2-xpm-dev * libgd-tools * check * g++ * bison * libgtk2.0-0 * libgtk1.2 * libgtk2.0-dev * libgtk1.2-dev * libgd-dev * gdk-imlib11 * imlib-progs * libgd-dev * libgd2-xpm * libgd2-noxpm * python2.4-gd * libgd2-xpm-dev * subversion * sudo ------------ START HERE: # This is the starting point and confirms you are located in your home directory $ pwd /home/ ------------- DOWNLOAD: # This downloads the necessary files to your computer, which will be used to compile or build the server $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/trunk server.svn $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/trunk maps.svn $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/trunk arch.svn -------------- SETUP: # This confirms that you are still in your home directory $ pwd /home/ # Now change directory (hence the cd) to the directory that contains the server files $ cd server.svn # This confirms that you are in the server directory $ pwd /home//server.svn # This step "links" two directories to each other which makes the compile process more automated $ sudo ln -s maps /home//maps.svn # This step "links" two directories to each other which makes the compile process more automated and # is used by the server once Crossfire server is up and running. # This links the server to the map files which you downloaded earlier. $ sudo ln -s /home//maps.svn /usr/games/crossfire/share/crossfire/maps # Now change directory (hence the cd) to the directory that contains the library files $ cd lib # Double check that you are in the correct directory $ pwd /home//server.svn/lib # This step "links" two directories to each other which makes the compile process more automated. # This links the arch or archetype files to the server files which you downloaded earlier. $ ln -s /home//arch.svn ./arch # Go back another directory $ cd .. # Double check that you are in the correct directory $ pwd /home//server.svn ----------------- COMPILE: # Now you are going to begin the compile process $ sudo ./configure && make && make install IP-Address : 65.193.16.100 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 16:31:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 16:31:53 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1173220313.050156.11670.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 16:31 User : ryo Edit Summary: update @@ -45,15 +45,16 @@ ==== Apply ==== Archetype: event_apply This event is generated whenever the object is applied or unapplied. + ==== Attack ==== Archetype: event_attack This event is used in two cases: - * bound to a weapon, it is triggered each time the weapon is used to slay something; this can typically be used to generate special effects when you hit a monster; - * bound to a monster, it is triggered when the monster is attacked. + * bound to a (hand) weapon, it is triggered each time the weapon is used to slay something; this can typically be used to generate special effects when you hit a monster. In this case, "op" is the weapon, "activator" the player and "third" the monster attacked. + * bound to a monster, it is triggered when the monster is attacked. In this case, "op" is the monster, "activator" is the player, "third" is the weapon (can be equal to "activator") ==== Close ==== Archetype: event_close IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1173005320 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 16:58:03 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 16:58:03 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1173221883.498907.11712.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 16:58 User : ryo Edit Summary: more cases @@ -45,16 +45,18 @@ ==== Apply ==== Archetype: event_apply This event is generated whenever the object is applied or unapplied. + ==== Attack ==== Archetype: event_attack - This event is used in two cases: + This event is used in three cases: * bound to a (hand) weapon, it is triggered each time the weapon is used to slay something; this can typically be used to generate special effects when you hit a monster. In this case, "op" is the weapon, "activator" the player and "third" the monster attacked. * bound to a monster, it is triggered when the monster is attacked. In this case, "op" is the monster, "activator" is the player, "third" is the weapon (can be equal to "activator") + * bound to an arrow, it is triggered when the arrow hits something. "op" is the arrow, "hitter" what really hits (arrow can have stuff inside), "third" is the victim ==== Close ==== Archetype: event_close IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1173220310 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 17:07:36 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 17:07:36 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1173222456.333414.11727.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 17:07 User : ryo Edit Summary: update @@ -29,19 +29,30 @@ Events are either //global// or //object-specific//. Examples of global events include a player joining or exiting the game, a map being loaded. Examples of object-specific events include an item being applied, a player attacking a monster. FIXME check parameters and such :) + ===== Hooking to an object-specific event ===== - Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments. + Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments that need to be set to that object. When an object-specific event is raised, affected object is sent to the plugin. For some events, returning a non-zero value will prevent the default server processing to take place, allowing to override things. - Here is the full list of object-specific events. + The plugin registered function will get the following parameters. See specific events for the meaning of the field. + * op: ''object*'' which is the current object containing the event. + * eventcode: ''int'' representing the EVENT_xxx constant of the current event. + * activator: ''object*'', can be NULL. + * third: ''object*'', can be NULL. + * message: ''const char*'', can be NULL. + * fix: ''int'' {FIXME} meaning? + * slaying: ''const char*'', plugin's name as it was registered + * name: ''const char*'', event hook's name + + Follows the full list of object-specific events. ==== Apply ==== Archetype: event_apply IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1173221880 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 17:34:24 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 17:34:24 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173224064.450710.11772.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 17:34 User : ryo Edit Summary: update @@ -72,11 +72,12 @@ ===== Crossfire module methods ===== + ==== WhoAmI ==== - Returns the ''Crossfire.Object'' to from which the event being handled was raised. Can be ''None''. + Returns the ''Crossfire.Object'' from which the event being handled was raised, corresponds to the "op" parameter of the event. Can be ''None''. ==== WhoIsActivator ==== Returns the ''Crossfire.Object'' having caused the event being handled. Can be ''None''. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173013341 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 17:35:00 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 17:35:00 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173224100.905350.11775.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 17:34 User : ryo Edit Summary: update @@ -76,11 +76,12 @@ ==== WhoAmI ==== Returns the ''Crossfire.Object'' from which the event being handled was raised, corresponds to the "op" parameter of the event. Can be ''None''. + ==== WhoIsActivator ==== - Returns the ''Crossfire.Object'' having caused the event being handled. Can be ''None''. + Returns the ''Crossfire.Object'' having caused the event being handled, corresponds to the "activator" parameter of the event. Can be ''None''. ==== WhoIsOther ==== ==== WhatIsMessage ==== ==== ScriptName ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173224059 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 17:37:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 17:37:39 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173224259.026608.11784.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 17:37 User : ryo Edit Summary: update @@ -26,9 +26,9 @@ Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''arch/system'' directory). The fields to fill are: * **title** : should be //Python// to call the Python plugin. * **slaying** : contains the path to the Python script to execute. Root refers to the map directory. - + A script can then use ''WhoAmI()'', ''WhoIsActivator()'', ''WhoIsOther()'', ''WhatIsMessage()'' functions of the ''Crossfire'' module to find the executing context. ===== How do I hook a script to a global event? ===== @@ -82,9 +82,13 @@ ==== WhoIsActivator ==== Returns the ''Crossfire.Object'' having caused the event being handled, corresponds to the "activator" parameter of the event. Can be ''None''. ==== WhoIsOther ==== + Returns the ''Crossfire.Object'' being part of the event, corresponds to the "third" parameter of the event. Can be ''None''. + ==== WhatIsMessage ==== + Returns the ''String'' that was sent as part of the event, corresponds to the "message" parameter of the event. + ==== ScriptName ==== Returns the path of the currently executing script. Relative to maps directory FIXME check ==== ScriptParameters ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173224096 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 17:40:11 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 17:40:11 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173224411.528439.11802.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 17:40 User : ryo Edit Summary: map precision @@ -72,12 +72,13 @@ ===== Crossfire module methods ===== + ==== WhoAmI ==== - Returns the ''Crossfire.Object'' from which the event being handled was raised, corresponds to the "op" parameter of the event. Can be ''None''. + Returns the ''Crossfire.Object'' from which the event being handled was raised, corresponds to the "op" parameter of the event. Can be ''None''. For a map event, this is a ''Crossfire.Map'' ==== WhoIsActivator ==== Returns the ''Crossfire.Object'' having caused the event being handled, corresponds to the "activator" parameter of the event. Can be ''None''. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173224255 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 17:48:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 17:48:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1173224885.705548.11811.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 17:48 User : leaf Edit Summary: Initial formatting cleanup @@ -1,106 +1,97 @@ - Requirements: + ==== Requirements ==== + FIXME -- this needs to be updated - * libpng3-dev - * make - * flex - * libgd2-xpm - * libgd2-xpm-dev - * libgd-tools - * check - * g++ - * bison - * libgtk2.0-0 - * libgtk1.2 - * libgtk2.0-dev - * libgtk1.2-dev - * libgd-dev - * gdk-imlib11 - * imlib-progs - * libgd-dev - * libgd2-xpm - * libgd2-noxpm - * python2.4-gd - * libgd2-xpm-dev - * subversion - * sudo - - ------------ - - START HERE: - - # This is the starting point and confirms you are located in your home directory - $ pwd - /home/ + * libpng3-dev + * make + * flex + * libgd2-xpm + * libgd2-xpm-dev + * libgd-tools + * check + * g++ + * bison + * libgtk2.0-0 + * libgtk1.2 + * libgtk2.0-dev + * libgtk1.2-dev + * libgd-dev + * gdk-imlib11 + * imlib-progs + * libgd-dev + * libgd2-xpm + * libgd2-noxpm + * python2.4-gd + * libgd2-xpm-dev + * subversion + * sudo - ------------- + ==== START HERE ==== - DOWNLOAD: + This is the starting point and confirms you are located in your home directory - # This downloads the necessary files to your computer, which will be used to compile or build the server + $ pwd + /home/ - $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/trunk server.svn - $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/trunk maps.svn - $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/trunk arch.svn + ==== DOWNLOAD ==== - -------------- + This downloads the necessary files to your computer, which will be used to compile or build the server - SETUP: + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/trunk server.svn + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/trunk maps.svn + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/trunk arch.svn - # This confirms that you are still in your home directory + ==== SETUP ==== - $ pwd - /home/ + This confirms that you are still in your home directory - # Now change directory (hence the cd) to the directory that contains the server files + $ pwd + /home/ - $ cd server.svn + Now change directory (hence the cd) to the directory that contains the server files - # This confirms that you are in the server directory + $ cd server.svn - $ pwd - /home//server.svn + This confirms that you are in the server directory - # This step "links" two directories to each other which makes the compile process more automated + $ pwd + /home//server.svn - $ sudo ln -s maps /home//maps.svn + This step "links" two directories to each other which makes the compile process more automated - # This step "links" two directories to each other which makes the compile process more automated and - # is used by the server once Crossfire server is up and running. - # This links the server to the map files which you downloaded earlier. + $ sudo ln -s maps /home//maps.svn - $ sudo ln -s /home//maps.svn /usr/games/crossfire/share/crossfire/maps + This step "links" two directories to each other which makes the compile process more automated and is used by the server once Crossfire server is up and running. This links the server to the map files which you downloaded earlier. - # Now change directory (hence the cd) to the directory that contains the library files + $ sudo ln -s /home//maps.svn /usr/games/crossfire/share/crossfire/maps - $ cd lib + Now change directory (hence the cd) to the directory that contains the library files - # Double check that you are in the correct directory + $ cd lib - $ pwd - /home//server.svn/lib + Double check that you are in the correct directory - # This step "links" two directories to each other which makes the compile process more automated. - # This links the arch or archetype files to the server files which you downloaded earlier. + $ pwd + /home//server.svn/lib - $ ln -s /home//arch.svn ./arch + This step "links" two directories to each other which makes the compile process more automated. This links the arch or archetype files to the server files which you downloaded earlier. - # Go back another directory + $ ln -s /home//arch.svn ./arch - $ cd .. + Go back another directory - # Double check that you are in the correct directory + $ cd .. - $ pwd - /home//server.svn + Double check that you are in the correct directory which is the server directory - ----------------- + $ pwd + /home//server.svn - COMPILE: + ==== COMPILE ==== - # Now you are going to begin the compile process + Now you are going to begin the compile process - $ sudo ./configure && make && make install + $ sudo ./configure && make && make install IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1173219402 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 6 18:04:12 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 06 Mar 2007 18:04:12 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1173225852.215692.11832.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/06 18:04 User : leaf Edit Summary: Content additions and updates @@ -1,8 +1,9 @@ + This is a generalized quide on how to download source files from SVN and compile a server (under *nix) for local use or testing. ==== Requirements ==== - FIXME -- this needs to be updated + FIXME -- requirements list needs to be tested and confirmed * libpng3-dev * make * flex @@ -40,8 +41,16 @@ $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/trunk server.svn $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/trunk maps.svn $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/trunk arch.svn + + The steps have you download trunk, but you could also use branches/1.x or tags/1.10.0 as well. For instance: + + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/branches/1.x server.svn + + Or + + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/tags/1.10.0 server.svn ==== SETUP ==== This confirms that you are still in your home directory @@ -93,5 +102,5 @@ Now you are going to begin the compile process $ sudo ./configure && make && make install - + Any missing dependencies, errors or similar problems during the compile process will be listed. Each should be addressed or resolved accordingly. IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1173224881 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 7 13:16:08 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 07 Mar 2007 13:16:08 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1173294968.379971.13839.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/07 13:16 User : ryo Edit Summary: update @@ -94,13 +94,14 @@ ==== Say ==== Archetype: event_say Generated when someone says something around the object. + ==== Stop ==== Archetype: event_stop - Generated for a thrown object, when the object is stopped for some reason. + Generated for a thrown object, when the object is stopped for some reason (wall, max distance, ...). Will not be called when hitting a living creature, but ''Attack'' is called. ==== Time ==== Archetype: event_time IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1173222453 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:08:43 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:08:43 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: imperial_myths Message-ID: <1173380923.452810.16262.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:08 User : lauwenmark Edit Summary: Partial rewrite of the Imperial Myths @@ -1,19 +1,27 @@ ===The Legend of the Builders=== - People of the Old Empire believed that the whole universe was made by powerful beings called Builders. Builders were not part of the world like gods were - they lived Outside. Little is known about the Builders themselves. The priests of the Empire weren't quite sure themselves about their names. Some were universally known, though: Maw?del the Ruler or Peter?m the Writing One were the most popular of the ever changing list of Builders. + At the beginning, there was nothing. Or, more exactly, even nothing didn't exist. + And then, Tor?, the First Builder, came. + It is not known why Tor? thought that creating a universe would be a good idea. But he called Maw?d for help, and soon, others gathered, and they shaped up the universe to suit their wishes. - The Builders understood very well how difficult it would be for them to manage themselves every prayer made - making the Universe work was already a time-consuming task. So they created gods to help them in their task. + Very little is known about Builders. They are not part of the world like gods or other living creatures; instead, they live in the mysterious Outside, looking at us like humans may look at fishes in a tank. Although they searched for centuries, priests of the old Empire weren't even quite sure about something as simple as their names. Some are universally known, though: Tor? the First (The Torinno of Fergonithes), Maw?d the Leading (already mentioned as "MWD" on the tablets of the ancient civilization of Ha?mdel, 3000 years before Khelens), or Midas?s the Engineer. - Most of the [[gods]] we know today were already popular in the times of the Old Empire, like [[gods:Mostrai]] or [[gods:Lythander]]. Others changed names as time passed. Gods provided their powers to the Faithful Ones, and helped them by providing blessings and powerful weapons. The priests of the Old Empire never believed gods made the world, as they were themselves part of it; world-building was the Builders task. + They rarely directly manifest themselves to the thinking races of the world, but whenever they do, it means that huge changes are going to happen. Only feeble echoes of their extra-cosmic wars can be heard through the walls of the universe. - ===The Foundation of Scorn=== + Soon after having created the world, Builders quickly understood that it would be a tiresome and difficult task for them to manage every prayer made by mortals; moreover, those were troubling their sleep by their constant babbling in their minds - creating and keeping the shape of the world was already challenging enough. So they created the gods to help them in those tasks. + + Most of the [[gods]] we know today were already popular in the times of the Old Empire, like [[gods:Mostrai]] or [[gods:Lythander]]. Others changed names as time passed. Gods provided their powers to the Faithful Ones, and helped them by providing blessings and powerful weapons. The priests of the Old Empire never believed gods made the world, as they were themselves part of it; world-building was the Builders task. Builders had temples in all major imperial cities, in which an 'eternal' fire was kept to represent their mysterious existence in the Outside. + + ===The Legend of the Foundation of Scorn=== Few archives remain from the times when [[world:Scorn]] was founded. The city is probably the oldest of the whole known world. Before Fido, before the Old Empire, maybe even before gods, Scorn was already there. It is usually said that Scorn was founded by [[skud|Skud the Great]]. Many legends are telling about Skud, the half-mythical hero. How he captured the first dragons. How he fought unknown monsters in the East. How he built Scorn and the First Inn. Some priests even postulated that Skud was in fact a Builder. Skud created the First Inn because he wanted to sleep inside a house, without the risk of being attacked by monsters during the night. He left the Holy Guestbook, one of the oldest relics of Crossfire, where he and his fellow friends wrote their names. Skud disappeared long before the Old Empire came, and nowadays only the Builders can probably remember him. Recent researches show that, although he greatly contributed to the popularity of the city, Skud didn't found it: it was in fact created by Tabb the Dark, a Builder that left very little information about him behind. According to the Codex Skudensis that was discovered in the depths of the Old City, "Scorn" would have been the real name of Tabb the Dark. + + The Foundation of Scorn is imbued with mystery and seems to be self-contradictory. It is a well-known fact that Scorn was the first colony founded by the Empire on Bigworld, where the boats of the first expedition landed. This does not fit at all the story found in the Codex Skudensis that clearly states it was founded "before the Old Empire". Merodenn the Falling postulated that the Scorn of the Codex is in fact another unrelated city, and that a mismatch between the two was later made. Others think that, since the current city has been built on top of the ruins of the one founded by the Empire, nothing prevents imagining other, older cities below it. So far, the mystery remains unresolved. ===The Coming of Color=== It is said that centuries before the foundation of the Old Empire, the world was colorless and sad. Aware of that problem, the Builders decided to bring color in the life of the Crossfire people. They called the massive powers of Xepemes, The Source Of All Colors, on the universe. The magical burst slowly covered the world with colors, but some elements resisted for a long time. Prophets of the Old Empire announced that, although victorious, the force of Xepemes wouldn't stay forever: one day, it would eventually fade away against a more powerful magical force, the mysterious Pegemes(Peengees?). This happened - but much after the fall of the Empire. IP-Address : 80.200.28.104 Old Revision: http://wiki.metalforge.net/doku.php/imperial_myths?rev=1166571073 New Revision: http://wiki.metalforge.net/doku.php/imperial_myths -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:29:18 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:29:18 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: white_bird_of_hope Message-ID: <1173382158.775345.16301.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:29 User : lauwenmark Edit Summary: created ====== The White Bird of Hope ====== A legendary artifact that is said to have the power to change the fate of the world itself; somebody owning it would never lose hope. It is described as a statue shaped like a bird, entirely made of the purest of the white marble, with gemstones of red ruby as eyes. [[Lorkas]] found it in the legendary [[Golden City]], and is said to have taken it to the Old World. [[Lorkas]] took the Bird with him for his last expedition and never came back, and the fate of the artifact is unknown. IP-Address : 80.200.28.104 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/white_bird_of_hope -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:29:44 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:29:44 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1173382184.941931.16304.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:29 User : lauwenmark Edit Summary: corrected a typo @@ -79,9 +79,8 @@ But where is he ? And what about the four others ? That I don't know, and probably few people can answer that question. The "[[Mad Mage]]" is now grumbling alone in his solitary tower about his younger days, when he ran on the Earth to save people with his four friends, but who is to believe the bearded man with foolish, tearful eyes ? As for myself, I don't know, and here ends my knowledge about [[world:Brittany]]'s Past. - ===== Story of Lorkas the Fallen ===== I'll tell you about [[Lorkas]] of Amudrias, and how he found the [[White Bird of Hope]], and how he capitained it, opening the [[Gates of the Sun]], and some stuff like that. @@ -97,9 +96,9 @@ Anyway, as every wise man knows, [[Lorkas]] was no angelic creature of divine essence, or even a magical creation of a godly force. Some say that [[Khelens]] is the Beginning, first of the Cities of Men. That, too, is untrue: before the Age of Khelens was the Time of the Kingdoms at War. And before them, the Era of [[Songor]] the Great. And going back through the thick book of history, you'll cross Arnistar of the Desert Dwellers, the Republic of the Two Rivers, and the Ancient Haemdel, and the Kingdom of the [[Long Wall]]. And before it, the forgotten [[towers of light]] that [[Horadrists]] built. - [[Lorkas]] was born in [[Kuratas]], a small agrarian state that existed on the [[Coronian Valley]], when [[Songer]] and [[Khelens]] were still in infancy. He was a boy that wanted to see everything, to understand the world and its stars, and discover its limits, for it was extending much further than the mists of his home valley. + [[Lorkas]] was born in [[Kuratas]], a small agrarian state that existed on the [[Coronian Valley]], when [[Songor]] and [[Khelens]] were still in infancy. He was a boy that wanted to see everything, to understand the world and its stars, and discover its limits, for it was extending much further than the mists of his home valley. But life was rude in [[Kuratas]], and trying to think about anything else than your next harvest wasn't well perceived by most; and, more than often, [[Lorkas]] dreamed with tears and despair about the Mountains with the white tops, and Seas that ended only when they touched the sky, far away. IP-Address : 80.200.28.104 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1164398220 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:33:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:33:53 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: songor Message-ID: <1173382433.106062.16313.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:33 User : lauwenmark Edit Summary: created ====== Songor ====== Name of both a city and an empire of the Ancient World. During two centuries, it was a fierce opponent to the Empire of [[Khelens]]. After its conquest by the Empire, Songor became the second most important city of the whole known world, just after [[Khelens]] itself. IP-Address : 80.200.28.104 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/songor -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:39:43 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:39:43 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: great_desert Message-ID: <1173382783.628449.16331.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:39 User : lauwenmark Edit Summary: created ====== The Great Desert ====== The Great Desert, also called the Dharavni, is a huge deserting sand region, covering the middle of the Ancient World. Only a few oasis existed in it, and fortified cities were built around them. The Dharavnis were traders, carrying goods between the west and the east of the continent. The Great Desert played a central role in the imperial economy and politics. IP-Address : 80.200.28.104 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/great_desert -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:47:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:47:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: daigojij Message-ID: <1173383225.422085.16346.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:47 User : lauwenmark Edit Summary: created ====== Daigojij, The Mountains of the Low Skies ====== A long string of mountains of the Ancient World, between the [[Great Desert]] and the small plains of the south-east. A dwarven civilization flourished there, and during the imperial era, Daigojij was the biggest dwarven community. They used Dai-Hinto, "drawings of remembering", a complex alphabet made of 88 symbols to write down the Kaij?, their language. Nobody on Bigworld knows today how to decipher those strange symbols. IP-Address : 80.200.28.104 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/daigojij -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:55:48 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:55:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1173383748.509547.16364.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:55 User : lauwenmark Edit Summary: Fixed typo: Bortaras=the old mariner :) @@ -105,9 +105,9 @@ Tired of his senseless life, he left his parents, his village, his friends, when he was only 12, and for weeks walked to the West, until he reached the Coast of the [[Stonewalls]]. And there, he saw [[Ottarakans]], the Infinite Ocean that extends west of the Old World, and so fell in love for the sea. He then joined the Port of [[Kridatta]], which was famous for its ships, as its inhabitants had mastered a powerful arcane, so that their boats roamed not only the seas, but the very clouds themselves. - Because he was smart and quick-brained, [[Lorkas]] soon got enrolled in the team of Capt'n [[Bortaras]]; and after several adventures I shall maybe tell about another day, he took the succession of the [[old mariner]]. + Because he was smart and quick-brained, [[Lorkas]] soon got enrolled in the team of Capt'n [[Bortaras]]; and after several adventures I shall maybe tell about another day, he took the succession of the old mariner. [[Horizon]] was the name of his ship, and famous was his crew, exploring huge territories and fighting the Princes of [[Sinas]], who back then tried to put the whole area under their iron, greedy grasps. But [[Lorkas]] heard about a wonder that him and his crew soon wanted to find: The [[White Bird of Hope]]. IP-Address : 80.200.28.104 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1173382183 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 13:54:20 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 13:54:20 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: long_wall Message-ID: <1173383660.816438.16355.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 13:54 User : lauwenmark Edit Summary: created ====== The City of the Long Wall ====== One of the oldest cities of the Ancient World, founded about 4500 years before Khelens. The whole city-state was build as a huge defensive wall against the frequent invasions of barbarians coming from the eastern steppe. At its peak, the Long Wall measured more than 30km and was as high as 25m. The City of the Long Wall was finally conquerred by the fourth kingdom of Haemdel in the late IIIrd millenia BEK. It was mostly destroyed by the barbarian invasions of the XXIIth century BEK, and its last inhabitants abandoned it soon after. IP-Address : 80.200.28.104 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/long_wall -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 8 14:01:11 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 08 Mar 2007 14:01:11 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: kuratas Message-ID: <1173384071.828535.16373.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/08 14:01 User : lauwenmark Edit Summary: created ====== Kuratas ====== Very little is known about the state of Kuratas, a small principalty of the Ancient World. It was one of the numerous states that were founded in the west of the Ancient World after the Empire of Aran crumbled, around the VIIth century BEK. It probably got integrated by [[Songor]] with the rest of the [[Coronian Valley]] two centuries later. Kuratas is famous because it is said to be the birthplace of [[Lorkas]]. IP-Address : 80.200.28.104 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/kuratas -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 13 06:11:32 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 13 Mar 2007 06:11:32 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173784292.051544.28014.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/13 06:11 User : ryo Edit Summary: small update, todo @@ -255,19 +255,20 @@ * More: next archetype linked to current archetype. Will be ''None'' for last item Methods: * NewObject: returns a ''Crossfire.Object'' having this archetype as type + ===== Crossfire.Object methods and attributes ===== - FIXME link to dev:objects 's fields? + FIXME link to dev:objects 's fields? split flag & such info. Make a table with property / mapping to object / Python type - Properties in **bold** are read-write, others are readonly. + Properties in **bold** are read-write, others are readonly. Most properties are mapped to fields of the ''object'' structure. ''Boolean'' values are mapped to the various flags. * **Name**: ''String'' containing the object's name * **NamePl**: ''String'' containing the object's plural name * **Title**: ''String'' IP-Address : 172.210.238.253 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173224406 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 13 06:12:18 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 13 Mar 2007 06:12:18 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173784338.703260.28017.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/13 06:12 User : ryo Edit Summary: no space before : :) @@ -19,14 +19,15 @@ Scripts will have the same access rights as the server itself. It may be able to write to some directories, but not others. Data should be persisted in the ''PlayerDirectory'' (for specific player information) or ''DataDirectory'' (for regular information), where server normally has write access. + ===== How do I hook a script to an object? ===== Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''arch/system'' directory). The fields to fill are: - * **title** : should be //Python// to call the Python plugin. - * **slaying** : contains the path to the Python script to execute. Root refers to the map directory. + * **title**: should be //Python// to call the Python plugin. + * **slaying**: contains the path to the Python script to execute. Root refers to the map directory. A script can then use ''WhoAmI()'', ''WhoIsActivator()'', ''WhoIsOther()'', ''WhatIsMessage()'' functions of the ''Crossfire'' module to find the executing context. IP-Address : 172.210.238.253 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173784287 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 13 06:14:42 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 13 Mar 2007 06:14:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1173784482.769584.28020.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/13 06:14 User : ryo Edit Summary: comment @@ -383,12 +383,15 @@ * MoveOn * MoveOff * MoveSlow * MoveSlowPenalty + ==== Methods ==== + + FIXME document all parameters. Link to relevant Crossfire function. Split in "standard function" and "helper function"? === ActivateRune === Current object springs like a trap, hitting the victim. IP-Address : 172.210.238.253 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173784334 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 15 12:11:29 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 15 Mar 2007 12:11:29 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: faq Message-ID: <1173978689.225380.1146.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/15 12:11 User : leaf Edit Summary: New entry, How do I uncurse an item? @@ -402,8 +402,20 @@ Wearing items that make you Attuned and another item that is Repelled to the same spell path balance each other out. You have "normal" access to that spell path. Wearing yet another Attuned item will **not** make you Attuned to the spell path. The Attuned property only applies once -- which is "against" the Repelled. Any time you are Denied to a spell path, there is nothing that you can wear that will allow you to cast spells from that path. Basically, Denied always over rules Attuned. + + === 3.2.11 How do I uncurse an item? === + + The scrolls of **Remove Curse** allows you to remove or unwear an item that is cursed, only if you have accidently worn or used said item. It will not remove the cursed property of an item in your inventory. + + To remove the curse property of an item, certain conditions must be met. + + - You need to follow a god or cult that grants Remove Curse. + - You need to be a sufficient level in praying to have your god/cult grant remove curse. + - You need to pray on the cult/god altar for some amount of time (depends on praying level, luck, god/cult in question and persistence) for this to work -- this can range from a few seconds to several minutes. + + Remove curse works on any and all items - from weapons to potions. ==== 3.3 Monster Problems ==== === 3.3.1 How do I kill vampires? (or other, tough monsters) === IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/faq?rev=1169227682 New Revision: http://wiki.metalforge.net/doku.php/faq -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 15 12:22:45 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 15 Mar 2007 12:22:45 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: faq Message-ID: <1173979365.942520.1165.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/15 12:22 User : leaf Edit Summary: Adding more details for the How to uncurse an item @@ -405,17 +405,17 @@ Any time you are Denied to a spell path, there is nothing that you can wear that will allow you to cast spells from that path. Basically, Denied always over rules Attuned. === 3.2.11 How do I uncurse an item? === - The scrolls of **Remove Curse** allows you to remove or unwear an item that is cursed, only if you have accidently worn or used said item. It will not remove the cursed property of an item in your inventory. + The scrolls of **Remove Curse** allows you to remove or unwear an item that is cursed, only if you have accidently worn or used said item. It will not remove the cursed property of an item in your inventory or on the ground. To remove the curse property of an item, certain conditions must be met. - - You need to follow a god or cult that grants Remove Curse. - - You need to be a sufficient level in praying to have your god/cult grant remove curse. + - You need to follow a god or cult that grants Remove Curse (Devourers is the only cult that does not do this) + - You need to be a sufficient level in praying to have your god/cult grant remove curse - You need to pray on the cult/god altar for some amount of time (depends on praying level, luck, god/cult in question and persistence) for this to work -- this can range from a few seconds to several minutes. - Remove curse works on any and all items - from weapons to potions. + Remove curse works on any and all items - from weapons to potions. Make sure you have the cursed item in your inventory while praying on the altar though. ==== 3.3 Monster Problems ==== === 3.3.1 How do I kill vampires? (or other, tough monsters) === IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/faq?rev=1173978684 New Revision: http://wiki.metalforge.net/doku.php/faq -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 15 12:23:59 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 15 Mar 2007 12:23:59 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1173979439.218223.1168.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/15 12:23 User : leaf Edit Summary: Formatting corrections @@ -5,14 +5,13 @@ ===== Changes to be merged ===== - ==== March 2007 ==== - * player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. - * items can now have a fixed price, independant of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). - * Python plugin can use Crossfire.FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. + * player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. + * items can now have a fixed price, independant of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). + * Python plugin can use Crossfire.FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1173211181 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 15 12:31:29 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 15 Mar 2007 12:31:29 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1173979889.108800.1183.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/15 12:31 User : leaf Edit Summary: Adding more items that have been released this month @@ -7,12 +7,17 @@ ===== Changes to be merged ===== ==== March 2007 ==== - * player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. - * items can now have a fixed price, independant of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). + * Player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. + * Items can now have a fixed price, independant of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). * Python plugin can use Crossfire.FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. - + * New updates and additional maps to Zorn Castle in Brest (trunk and branch) + * New random map can be found in the Mostrai Temple in Scorn (trunk and branch) + * New shop in Brest for charging crystal and dispelling cursed or damaged magical items (trunk and branch) + * Crossfire v1.10.0 is in the process of being released + * Updated release of the CrossfireEditor (map editor from the Gridarta project now using a new name) + * Import of missing maps to complete City de Clouds region (trunk only) ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1173979437 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 17 10:28:00 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 17 Mar 2007 10:28:00 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174145280.475388.5856.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/17 10:27 User : ryo Edit Summary: step by step instructions @@ -163,4 +163,19 @@ A plugin should never change directly a value in a Crossfire object (player structure, ...), but use provided wrapping functions. Ideally, a plugin should not access directly that structure's memory to read values, either. The simplest way is to look at the template plugin, available in[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/template/|plugins/template directory of the server sources]] FIXME {expand} + + Here are step by step instructions to create a basic plugin. Plugin name will be assumed to be ''cftest''. Paths are relative to server root. + * create your plugin directory ''cftest'', in ''plugins'' + * copy ''plugins/template/plugin_template.c'' to ''plugins/template/cftest.c'' + * copy ''plugins/template/include/plugin_template.h'' to ''plugins/cftest/include/cftest.h'' + * modify ''plugins/cftest/cftest.c'' and ''plugins/cftest/include/cftest.h'' to correct the file names in the includes and such. You may also want to change the plugin's name + * copy ''plugins/template/Makefile.am'' to ''plugins/cftest/Makefile.am'' + * edit this file, to change all occurrences of ''plugin_template'' to ''cftest'' (that fixes paths and a few macros) + * edit ''configure.ac'' + * find the line ''AC_OUTPUT([Makefile'' + * somewhere in between other lines, add ''plugins/cftest/Makefile'' + * run ''autoconf && automake && configure && make && make install'' + * your plugin should be installed and ready to run + + Now you need to write your actual plugin logic. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1173294964 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 17 10:31:32 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 17 Mar 2007 10:31:32 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174145492.087711.5865.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/17 10:31 User : ryo Edit Summary: some more @@ -162,15 +162,15 @@ A plugin should never change directly a value in a Crossfire object (player structure, ...), but use provided wrapping functions. Ideally, a plugin should not access directly that structure's memory to read values, either. The simplest way is to look at the template plugin, available in[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/template/|plugins/template directory of the server sources]] - FIXME {expand} Here are step by step instructions to create a basic plugin. Plugin name will be assumed to be ''cftest''. Paths are relative to server root. * create your plugin directory ''cftest'', in ''plugins'' * copy ''plugins/template/plugin_template.c'' to ''plugins/template/cftest.c'' * copy ''plugins/template/include/plugin_template.h'' to ''plugins/cftest/include/cftest.h'' * modify ''plugins/cftest/cftest.c'' and ''plugins/cftest/include/cftest.h'' to correct the file names in the includes and such. You may also want to change the plugin's name + * in particular, ''PLUGIN_NAME'' should be set to a unique identifier that will be your plugin's name for the ''slaying'' field of events. * copy ''plugins/template/Makefile.am'' to ''plugins/cftest/Makefile.am'' * edit this file, to change all occurrences of ''plugin_template'' to ''cftest'' (that fixes paths and a few macros) * edit ''configure.ac'' * find the line ''AC_OUTPUT([Makefile'' @@ -178,4 +178,6 @@ * run ''autoconf && automake && configure && make && make install'' * your plugin should be installed and ready to run Now you need to write your actual plugin logic. + + FIXME link to common plugin documentation (generated from doxygen hopefully) IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174145276 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 17 18:13:17 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 17 Mar 2007 18:13:17 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1174173197.590204.6588.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/17 18:13 User : ryo Edit Summary: updates @@ -16,8 +16,11 @@ * New shop in Brest for charging crystal and dispelling cursed or damaged magical items (trunk and branch) * Crossfire v1.10.0 is in the process of being released * Updated release of the CrossfireEditor (map editor from the Gridarta project now using a new name) * Import of missing maps to complete City de Clouds region (trunk only) + * DMs casting spells don't lose any sp/gr/time (trunk only) + * hidden DMs don't glow + * new DM command: dmtell, like 'tell' but can't be ignored by players ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1173979886 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 18 04:40:12 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 18 Mar 2007 04:40:12 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1174210812.028281.7706.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/18 04:40 User : ryo Edit Summary: update @@ -19,8 +19,10 @@ * Import of missing maps to complete City de Clouds region (trunk only) * DMs casting spells don't lose any sp/gr/time (trunk only) * hidden DMs don't glow * new DM command: dmtell, like 'tell' but can't be ignored by players + * turning on/off a lamp will now update light sight correctly even when not moving + * initial player armor, shield and weapon (given by race and class) will be initially applied ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1174173194 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 19 02:09:14 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 19 Mar 2007 02:09:14 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1174288154.748489.10075.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/19 02:09 User : Edit Summary: @@ -60,16 +60,17 @@ === Client === Start in branches/1.x * Update configure.in with new version number + * Update ChangeLog file, putting in break for new version * re-run autoconf * Re-run configure (needed so new version number gets embedded in Makefiles) * Update crossfire-client.spec with new version * Run ''svn commit'' to commit configure, Changelog, crossfire-client.spec changes. * Make a copy of the repository. Note this does a copy on the server, so if your local copy is a out of sync, it won't matter. svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/branches/1.x \ - https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/tags/1.10 -m "1.10 branch" + https://crossfire.svn.sourceforge.net/svnroot/crossfire/client/tags/1.10.0 -m "1.10.0 branch" * cd into the tags directory, do svn update to check out newly created branch: cd ../../tags @@ -108,9 +109,9 @@ * Make sounds archive - may seem pointless since sounds are not changing, but the the rpm build process basically requires that there be a sounds archive with the same release number. * Make copy of the repository: svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/trunk \ - https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/tags/1.10.0 -m "1.10 branch" + https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/tags/1.10.0 -m "1.10.0 branch" * Run svn update in sounds/tags to download the sounds. * Like the arch area above, we expect the sounds to be in a directory called sounds, not 1.10.0 @@ -148,5 +149,90 @@ * If there are errors, rpmbuild will tell you. * Rpms would be put in _rpmdir/ * Upload the RPMS, architecture is the architecture, type is rpm. + == Server == + Start in branches/1.x + * Update configure.ac with new version number + * Update ChangeLog file, putting in break for new version + * re-run autoconf + * Re-run configure (needed so new version number gets embedded in Makefiles) + * Run ''svn commit'' to commit configure, Changelog, configure.ac changes. + * Make a copy of the repository. Note this does a copy on the server, so if your local copy is a out of sync, it won't matter. + + svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/branches/1.x \ + https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/tags/1.10.0 -m "1.10.0 branch" + + * cd into the tags directory, do svn update to check out newly created branch: + + cd ../../tags + svn update + + * Clean up ChangeLog - remove top of SVN line, instead just have ''Changes for 1.10.0'' be at the top. + * Run configure. Options are not really important. + * Since distributions include prebuilt archetypes, need to rebuild them: + cd lib + ln -s ../../../../arch/tags/1.10.0 arc + make collect + * Run ''make distcheck''. This will pack up the distribution and then unpack it and compile it - a pretty good complete test. + + * Unpack the archive, and verify it works: + + gtar xvfz crossfire-client-1.10.0.tar.gz + cd crossfire-client-1.10.0 + ./configure -prefix=/tmp/test + make -s (make sure no errors) + make install (will install where specified above) + + * run cfclient, gcfclient, gcfclient2 and make sure they are not braindead - being able to connect to a server and log in is usually what I do + + cd /test/bin + ./cfclient + ./gcfclient + ./gcfclient2 + + * If all OK, upload the crossfire-client-1.10.0.tar.gz + + ncftp upload.sourceforge.net + ncftp / > cd incoming + ncftp /incoming > put crossfire-1.10.0.arch.tar.gz + + + * Clean up some files: + + rm -rf /tmp/test + rm -rf /crossfire-client-1.10.0 + + * Make sounds archive - may seem pointless since sounds are not changing, but the the rpm build process basically requires that there be a sounds archive with the same release number. + * Make copy of the repository: + + svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/trunk \ + https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/tags/1.10.0 -m "1.10 branch" + + * Run svn update in sounds/tags to download the sounds. + * Like the arch area above, we expect the sounds to be in a directory called sounds, not 1.10.0 + + rm -f sounds + ln -s 1.10.0 sounds + gtar -chvz --exclude=.svn -f crossfire-client-sounds-1.10.0.tar.gz sounds + + * Upload sounds file to sourceforge - same as other files - same steps, same value + + * Make an image archive for the client. Needed for RPM building. Need a server tree with a properly linked arch tree. + * ''cd server/lib; adm/collect_images.pl -archive'' + * that will create a ../crossfire-images.tar file + * rename file: ''mv crossfire-images.tar crossfire-client-images-1.10.0.tar'' + * compress to file: ''gzip -v9 crossfire-client-images-1.10.0.tar'' + * upload file to sourceforge, same steps, same type + + * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] + * Add a release to crossfire-client + * Release name is 1.10.0 + * For release notes, generally do something like ''1.10.0 release or archetype tree for crossfire''. I'll also include notable changes + * For Changelog, copy portion of CHANGES that has changed since last release + * Check button to preserve preformatted text. + * Hit checkbox to preserve preformatted text. + * Hit refresh before continuing onto selecting file to upload. + * Select crossfire-1.10.0.client.tar.gz from list of files, hit Add Files button. + * Select Any for processor type, Source.gz for file type, hit Update/refresh. + * Check box to send e-mail to users monitoring, hit button to send e-mail IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1173165684 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 19 02:10:09 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 19 Mar 2007 02:10:09 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1174288209.752622.10084.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/19 02:10 User : Edit Summary: @@ -200,30 +200,8 @@ * Clean up some files: rm -rf /tmp/test rm -rf /crossfire-client-1.10.0 - - * Make sounds archive - may seem pointless since sounds are not changing, but the the rpm build process basically requires that there be a sounds archive with the same release number. - * Make copy of the repository: - - svn copy https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/trunk \ - https://crossfire.svn.sourceforge.net/svnroot/crossfire/sounds/tags/1.10.0 -m "1.10 branch" - - * Run svn update in sounds/tags to download the sounds. - * Like the arch area above, we expect the sounds to be in a directory called sounds, not 1.10.0 - - rm -f sounds - ln -s 1.10.0 sounds - gtar -chvz --exclude=.svn -f crossfire-client-sounds-1.10.0.tar.gz sounds - - * Upload sounds file to sourceforge - same as other files - same steps, same value - - * Make an image archive for the client. Needed for RPM building. Need a server tree with a properly linked arch tree. - * ''cd server/lib; adm/collect_images.pl -archive'' - * that will create a ../crossfire-images.tar file - * rename file: ''mv crossfire-images.tar crossfire-client-images-1.10.0.tar'' - * compress to file: ''gzip -v9 crossfire-client-images-1.10.0.tar'' - * upload file to sourceforge, same steps, same type * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] * Add a release to crossfire-client * Release name is 1.10.0 IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1174288151 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Mar 19 06:45:59 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 19 Mar 2007 06:45:59 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174304759.687203.10725.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/19 06:45 User : ryo Edit Summary: script @@ -152,8 +152,9 @@ A plugin can register a custom game command. This command will work exactly like other commands from the player's point of view, accepting arguments and such. A plugin can override an existing Crossfire command simply by declaring a command with the same name. Server command will be ignored. + ====== Creating a plugin ====== Plugins should use the ''common'' plugin helper library, and use provided functions to manipulate Crossfire data. @@ -161,11 +162,13 @@ A plugin should never use ''free'' or equivalent on data the server allocated. A plugin should never directly link to Crossfire library and call functions. This may work on some platforms, but will crash on others (example is Windows). A plugin should never change directly a value in a Crossfire object (player structure, ...), but use provided wrapping functions. Ideally, a plugin should not access directly that structure's memory to read values, either. - The simplest way is to look at the template plugin, available in[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/template/|plugins/template directory of the server sources]] + The simplest way is to look at the template plugin, available in [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/template/|plugins/template directory of the server sources]] + + In trunk, there now is a script, ''plugins/template/create_plugin.sh'', that will automate all steps below, excluding running ''configure && make && make install''. The syntax is: ''create_plugin.sh cftest "Test plugin"'' from the ''plugins/template'' directory. - Here are step by step instructions to create a basic plugin. Plugin name will be assumed to be ''cftest''. Paths are relative to server root. + In case you want to create a plugin manually, here are step by step instructions to create a basic plugin. Plugin name will be assumed to be ''cftest''. Paths are relative to server root. * create your plugin directory ''cftest'', in ''plugins'' * copy ''plugins/template/plugin_template.c'' to ''plugins/template/cftest.c'' * copy ''plugins/template/include/plugin_template.h'' to ''plugins/cftest/include/cftest.h'' * modify ''plugins/cftest/cftest.c'' and ''plugins/cftest/include/cftest.h'' to correct the file names in the includes and such. You may also want to change the plugin's name IP-Address : 172.184.115.61 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174145488 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 20 09:09:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 20 Mar 2007 09:09:39 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:eracc Message-ID: <1174399779.599447.13413.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/20 09:09 User : eracc Edit Summary: @@ -1,6 +1,8 @@ |Name IRL: | Gene Alexander| - |E-Mail | //[[poof at eracc.com|poof at eracc dot com]]//| + |E-Mail | //[[poof at eracc.com|poof at eracc dot com]]//\\ //[[galahadf at eracc.com|galahad at eracc dot com]]//| |Instant Messaging | ''AIM .... eraccjcktn\\ Jabber . eraccjcktn at jabber.org\\ MSNIM .. eraccjcktn at hotmail.com''| Owner of [[http://www.eracc.com/|ERA Computers & Consulting]], Open Source and Closed Source, personal and business computers\\ - Crossfire Developer for map creating, map updating and map repairing + Crossfire Developer for map creating, map updating and map repairing. + + Gene wants you to know that he does **not** change dungeon maps just because someone beats them. Maps are changed by Gene to fix bugs or to add features only. IP-Address : 72.4.41.2 Old Revision: http://wiki.metalforge.net/doku.php/user:eracc?rev=1155926865 New Revision: http://wiki.metalforge.net/doku.php/user:eracc -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 20 09:10:44 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 20 Mar 2007 09:10:44 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:eracc Message-ID: <1174399844.467915.13425.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/20 09:10 User : eracc Edit Summary: @@ -1,8 +1,8 @@ |Name IRL: | Gene Alexander| |E-Mail | //[[poof at eracc.com|poof at eracc dot com]]//\\ //[[galahadf at eracc.com|galahad at eracc dot com]]//| - |Instant Messaging | ''AIM .... eraccjcktn\\ Jabber . eraccjcktn at jabber.org\\ MSN IM .. eraccjcktn at hotmail.com''| + |Instant Messaging | ''AIM .... eraccjcktn\\ Jabber . eraccjcktn at jabber.org\\ MSN IM . eraccjcktn at hotmail.com''| Owner of [[http://www.eracc.com/|ERA Computers & Consulting]], Open Source and Closed Source, personal and business computers\\ Crossfire Developer for map creating, map updating and map repairing. Gene wants you to know that he does **not** change dungeon maps just because someone beats them. Maps are changed by Gene to fix bugs or to add features only. IP-Address : 72.4.41.2 Old Revision: http://wiki.metalforge.net/doku.php/user:eracc?rev=1174399821 New Revision: http://wiki.metalforge.net/doku.php/user:eracc -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 20 09:10:23 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 20 Mar 2007 09:10:23 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:eracc Message-ID: <1174399823.146450.13422.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/20 09:10 User : eracc Edit Summary: @@ -1,8 +1,8 @@ |Name IRL: | Gene Alexander| |E-Mail | //[[poof at eracc.com|poof at eracc dot com]]//\\ //[[galahadf at eracc.com|galahad at eracc dot com]]//| - |Instant Messaging | ''AIM .... eraccjcktn\\ Jabber . eraccjcktn at jabber.org\\ MSNIM .. eraccjcktn at hotmail.com''| + |Instant Messaging | ''AIM .... eraccjcktn\\ Jabber . eraccjcktn at jabber.org\\ MSN IM .. eraccjcktn at hotmail.com''| Owner of [[http://www.eracc.com/|ERA Computers & Consulting]], Open Source and Closed Source, personal and business computers\\ Crossfire Developer for map creating, map updating and map repairing. Gene wants you to know that he does **not** change dungeon maps just because someone beats them. Maps are changed by Gene to fix bugs or to add features only. IP-Address : 72.4.41.2 Old Revision: http://wiki.metalforge.net/doku.php/user:eracc?rev=1174399777 New Revision: http://wiki.metalforge.net/doku.php/user:eracc -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 20 09:12:19 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 20 Mar 2007 09:12:19 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:eracc Message-ID: <1174399939.264143.13428.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/20 09:12 User : eracc Edit Summary: @@ -1,8 +1,8 @@ |Name IRL: | Gene Alexander| - |E-Mail | //[[poof at eracc.com|poof at eracc dot com]]//\\ //[[galahadf at eracc.com|galahad at eracc dot com]]//| + |E-Mail | //[[poof at eracc.com|poof at eracc dot com]]//\\ //[[galahad at eracc.com|galahad at eracc dot com]]//| |Instant Messaging | ''AIM .... eraccjcktn\\ Jabber . eraccjcktn at jabber.org\\ MSN IM . eraccjcktn at hotmail.com''| Owner of [[http://www.eracc.com/|ERA Computers & Consulting]], Open Source and Closed Source, personal and business computers\\ Crossfire Developer for map creating, map updating and map repairing. Gene wants you to know that he does **not** change dungeon maps just because someone beats them. Maps are changed by Gene to fix bugs or to add features only. IP-Address : 72.4.41.2 Old Revision: http://wiki.metalforge.net/doku.php/user:eracc?rev=1174399843 New Revision: http://wiki.metalforge.net/doku.php/user:eracc -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 20 09:25:12 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 20 Mar 2007 09:25:12 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: people Message-ID: <1174400712.230700.13453.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/20 09:25 User : eracc Edit Summary: @@ -15,9 +15,9 @@ | Joshua Wilson | majorwoo | majorwoo | [[http://sourceforge.net/users/majorwoo|majorwoo]] | | | | Yann Chachkoff | | gros,\\ lauwenmark | [[http://sourceforge.net/users/gros|gros]] | | | | Nicolas Weeger | ryo | ryo_ / Nicolas | [[http://sourceforge.net/users/ryo_saeba|ryo_saeba]] | | http://nicolas.weeger.free.fr | | Knut Ahlers | | Luzifer (Euirc),\\ Luziferus (freenode, ircnet) | [[http://sourceforge.net/users/k_ahlers|k_ahlers]] | | | - | Gene Alexander | [[user:eracc]] | eracc\\ galahadcf\\ (hosts cfbot) | [[http://sourceforge.net/users/eracc|eracc]] | | [[http://www.eracc.com|www.eracc.com]] | + | Gene Alexander | [[user:eracc]] | eracc\\ galahadcf\\ (hosts cfbot on #crossfire) | [[http://sourceforge.net/users/eracc|eracc]] | | [[http://www.eracc.com|www.eracc.com]] | | Ruben Safir | [[user:mrbrklyn]] | mrbrklyn\\ ruben\\ (runs xchat at al) | | | [[http://www.mrbrklyn.com]] | | Kurt Fitzner | [[user:kfitzner]] | Fortiscue\\ Reven (forums) | [[http://sourceforge.net/users/kfitzner|kfitzner]] | | [[http://www.excelcia.org]] | | Christian Hujer | | Cher | [[http://sourceforge.net/users/christianhujer|christianhujer]] | | [[http://www.riedquat.de]] | | Maarten Vanraes | [[user:alien]] | AL13N | [[http://sourceforge.net/users/alien999999999|alien999999999]] | | | IP-Address : 72.4.41.2 Old Revision: http://wiki.metalforge.net/doku.php/people?rev=1171147021 New Revision: http://wiki.metalforge.net/doku.php/people -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 17:53:37 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 17:53:37 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1174517617.209040.20729.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 17:53 User : ryo Edit Summary: update @@ -256,14 +256,8 @@ * More: next archetype linked to current archetype. Will be ''None'' for last item Methods: * NewObject: returns a ''Crossfire.Object'' having this archetype as type - - - - - - ===== Crossfire.Object methods and attributes ===== FIXME link to dev:objects 's fields? split flag & such info. Make a table with property / mapping to object / Python type @@ -292,8 +286,10 @@ * **WC**: weapon class * **Dam** * Luck * Exp + * PermExp + * ExpMul * **Message**: ''String'' * **Slaying**: ''String'' * **Cursed**: ''Boolean'' * **Damned**: ''Boolean'' IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1173784478 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 19:10:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 19:10:39 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174522239.790865.20861.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 19:10 User : leaf Edit Summary: Adding summary details for package requirements @@ -24,10 +24,12 @@ * libgd2-xpm * libgd2-noxpm * python2.4-gd * libgd2-xpm-dev - * subversion - * sudo + * subversion - advanced version control system (aka. svn) + * libapr0 - the Apache Portable Runtime (required by subversion) + * libsvn0 - shared libraries used by Subversion (aka. svn) (required by subversion) + * sudo - Provide limited super user privileges to specific users ==== START HERE ==== This is the starting point and confirms you are located in your home directory IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1173225850 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 19:16:18 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 19:16:18 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174522578.130501.20870.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 19:16 User : leaf Edit Summary: Updated the provided SVN checkout examples @@ -47,12 +47,16 @@ The steps have you download trunk, but you could also use branches/1.x or tags/1.10.0 as well. For instance: $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/branches/1.x server.svn + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/branches/1.x maps.svn + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/branches/1.x arch.svn Or $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/tags/1.10.0 server.svn + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/tags/1.10.0 maps.svn + $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10.0 arch.svn ==== SETUP ==== This confirms that you are still in your home directory IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174522237 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 19:22:51 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 19:22:51 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174522971.808630.20882.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 19:22 User : leaf Edit Summary: Alert people on the risks of mixing and matching file checkouts @@ -55,8 +55,10 @@ $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server/tags/1.10.0 server.svn $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps/tags/1.10.0 maps.svn $ svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch/tags/1.10.0 arch.svn + + *IMPORTANT* - One should be consistant with what they check out; meaning use all trunk server & archetypes & maps or branches/1.x server & archetypes & maps or tags/1.10.0 server & archetypes & maps otherwise you run the risk of incompatibilities (broken maps, missing graphics, etc.) ==== SETUP ==== This confirms that you are still in your home directory IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174522572 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 19:32:02 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 19:32:02 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174523522.207254.20898.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 19:32 User : leaf Edit Summary: Updating and improving the setup instructions @@ -79,8 +79,16 @@ $ sudo ln -s maps /home//maps.svn This step "links" two directories to each other which makes the compile process more automated and is used by the server once Crossfire server is up and running. This links the server to the map files which you downloaded earlier. + + First, create the necessary directory tree for the map files with this command: + + $ sudo mkdir /usr/games/crossfire;sudo mkdir /usr/games/crossfire/share; sudo mkdir /usr/games/crossfire/share/crossfire; sudo mkdir /usr/games/crossfire/share/crossfire/maps + + What that does, is it creates a directory located here: /usr/games/crossfire/share/crossfire/maps + + Now this step "links" two directories to each other which makes the compile process more automated $ sudo ln -s /home//maps.svn /usr/games/crossfire/share/crossfire/maps Now change directory (hence the cd) to the directory that contains the library files IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174522968 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 19:42:27 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 19:42:27 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174524147.966336.20922.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 19:42 User : leaf Edit Summary: Updating requirement packages with summaries @@ -4,10 +4,10 @@ FIXME -- requirements list needs to be tested and confirmed * libpng3-dev - * make - * flex + * make - The GNU version of the "make" utility + * flex - A fast lexical analyzer generator * libgd2-xpm * libgd2-xpm-dev * libgd-tools * check IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174523520 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 19:48:57 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 19:48:57 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174524537.185530.20931.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 19:48 User : leaf Edit Summary: Updating required packages with a summary @@ -6,8 +6,9 @@ * libpng3-dev * make - The GNU version of the "make" utility * flex - A fast lexical analyzer generator + * m4 - a macro processing language (required by flex) * libgd2-xpm * libgd2-xpm-dev * libgd-tools * check IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174524145 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 19:51:00 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 19:51:00 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174524661.015599.20940.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 19:51 User : leaf Edit Summary: Removed duplicated package name @@ -17,9 +17,8 @@ * libgtk2.0-0 * libgtk1.2 * libgtk2.0-dev * libgtk1.2-dev - * libgd-dev * gdk-imlib11 * imlib-progs * libgd-dev * libgd2-xpm IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174524535 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 20:13:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 20:13:53 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174526033.689528.20976.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 20:13 User : leaf Edit Summary: More updates for the required packages @@ -19,17 +19,31 @@ * libgtk2.0-dev * libgtk1.2-dev * gdk-imlib11 * imlib-progs - * libgd-dev + * libgd-dev - GD Graphics Library (transitional package) + * libfreetype6-dev + * libgd-noxpm-dev + * libgd1-noxpm + * libjpeg62-dev + * libpng12-dev + * zlib1g-dev + * libfreetype6-dev + * libgd-dev + * libgd-noxpm-dev + * libgd1-noxpm + * libjpeg62-dev + * libpng12-dev + * zlib1g-dev * libgd2-xpm * libgd2-noxpm * python2.4-gd * libgd2-xpm-dev * subversion - advanced version control system (aka. svn) * libapr0 - the Apache Portable Runtime (required by subversion) * libsvn0 - shared libraries used by Subversion (aka. svn) (required by subversion) * sudo - Provide limited super user privileges to specific users + * lsqlite3 ==== START HERE ==== This is the starting point and confirms you are located in your home directory IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174524659 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 20:18:52 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 20:18:52 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174526332.151822.20988.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 20:18 User : leaf Edit Summary: Remove more duplicate entries @@ -7,10 +7,8 @@ * libpng3-dev * make - The GNU version of the "make" utility * flex - A fast lexical analyzer generator * m4 - a macro processing language (required by flex) - * libgd2-xpm - * libgd2-xpm-dev * libgd-tools * check * g++ * bison IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174526031 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Mar 21 20:26:54 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 21 Mar 2007 20:26:54 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174526814.712654.21003.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/21 20:26 User : leaf Edit Summary: New section, Recommended Packages @@ -8,9 +8,8 @@ * make - The GNU version of the "make" utility * flex - A fast lexical analyzer generator * m4 - a macro processing language (required by flex) * libgd-tools - * check * g++ * bison * libgtk2.0-0 * libgtk1.2 @@ -33,15 +32,18 @@ * libpng12-dev * zlib1g-dev * libgd2-xpm * libgd2-noxpm - * python2.4-gd * libgd2-xpm-dev * subversion - advanced version control system (aka. svn) * libapr0 - the Apache Portable Runtime (required by subversion) * libsvn0 - shared libraries used by Subversion (aka. svn) (required by subversion) * sudo - Provide limited super user privileges to specific users - * lsqlite3 + + === Recommended Packages === + * libsqlite3-0 - SQLite 3 shared library (used by cflogger) + * python2.4-gd - Python module wrapper for libgd (used by game features such as bank, post office, slot machines, etc.) + * check - unit test framework for C (used by the unit tests) ==== START HERE ==== This is the starting point and confirms you are located in your home directory IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174526329 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 04:49:12 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 04:49:12 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174556952.654823.21908.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 04:49 User : ryo Edit Summary: question @@ -1,5 +1,6 @@ This is a generalized quide on how to download source files from SVN and compile a server (under *nix) for local use or testing. + ==== Requirements ==== FIXME -- requirements list needs to be tested and confirmed @@ -41,8 +42,9 @@ === Recommended Packages === * libsqlite3-0 - SQLite 3 shared library (used by cflogger) * python2.4-gd - Python module wrapper for libgd (used by game features such as bank, post office, slot machines, etc.) + * are you sure about that one?? unless i'm mistaking it's a graphic library, and i don't see where it'd be used in the scripts... --- //Ryo 2007/03/22 04:48// * check - unit test framework for C (used by the unit tests) ==== START HERE ==== IP-Address : 172.152.107.10 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174526813 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 04:55:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 04:55:53 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: plugin_python Message-ID: <1174557353.548082.21923.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 04:55 User : ryo Edit Summary: emphazise obsolescence @@ -1,9 +1,9 @@ ====== CFPython version 1.0 ====== - This documentation is about the old plugin system. It is obsolete and should not be used, except for historical purposes. + **This documentation is about the old plugin system. It is obsolete and should not be used, except for historical purposes. - Documentation for current Python plugin can be found [[cfpython|here]]. + Documentation for current Python plugin can be found [[cfpython|here]].** ==== How do I hook a script to an object? ==== Use the **''event_xxx''** to specify the script to use. The base directory for the scripts is the **''map''** directory. IP-Address : 172.152.107.10 Old Revision: http://wiki.metalforge.net/doku.php/plugin_python?rev=1163608133 New Revision: http://wiki.metalforge.net/doku.php/plugin_python -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 05:44:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 05:44:53 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174560293.225355.22001.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 05:44 User : ryo Edit Summary: update @@ -152,17 +152,30 @@ A plugin can register a custom game command. This command will work exactly like other commands from the player's point of view, accepting arguments and such. A plugin can override an existing Crossfire command simply by declaring a command with the same name. Server command will be ignored. + ====== Creating a plugin ====== - Plugins should use the ''common'' plugin helper library, and use provided functions to manipulate Crossfire data. + ===== Coding ===== - A plugin should never use ''free'' or equivalent on data the server allocated. A plugin should never directly link to Crossfire library and call functions. This may work on some platforms, but will crash on others (example is Windows). + Creating a plugin requires some knowledge of Crossfire's internals. - A plugin should never change directly a value in a Crossfire object (player structure, ...), but use provided wrapping functions. Ideally, a plugin should not access directly that structure's memory to read values, either. + Plugins should use the ''common'' plugin helper library (located in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/common/|plugins/common]]'' directory), and use provided functions to manipulate Crossfire data. This library handles the actual communication with the server, and does some runtime checks on values. + + **Warning:** a plugin can easily crash the server and/or corrupt files if care is not taken in data manipulation. Some checks are done through ''assert'', but there are times checks can't be done, thus it's the responsability of the plugin writer to take care of the plugin logic. + + Some rules for plugin writing: + * a plugin should never use ''free'' or equivalent on data the server allocated. Use provided free functions. + * a plugin should never directly link to the Crossfire libraries (''common'', ''socket'', ...) and call functions. This may work on some platforms (Linux seems to handle that just fine), but will not work on others (example is Windows). Thus always use provided common plugin interface + * a plugin should never change directly a value in a Crossfire object (player structure, ...), but use provided wrapping functions. Ideally, a plugin should not access directly that structure's memory to read values, either. + + ===== Client updating ===== + FIXME expand/check: is an object removed automatically from player's inventory? is view updated? is fix_object() called? + + ===== Creating plugin skeleton ===== The simplest way is to look at the template plugin, available in [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/template/|plugins/template directory of the server sources]] In trunk, there now is a script, ''plugins/template/create_plugin.sh'', that will automate all steps below, excluding running ''configure && make && make install''. The syntax is: ''create_plugin.sh cftest "Test plugin"'' from the ''plugins/template'' directory. @@ -177,10 +190,105 @@ * edit this file, to change all occurrences of ''plugin_template'' to ''cftest'' (that fixes paths and a few macros) * edit ''configure.ac'' * find the line ''AC_OUTPUT([Makefile'' * somewhere in between other lines, add ''plugins/cftest/Makefile'' + + Whether you used the script or manually created a plugin, you need to do the following steps: * run ''autoconf && automake && configure && make && make install'' * your plugin should be installed and ready to run Now you need to write your actual plugin logic. FIXME link to common plugin documentation (generated from doxygen hopefully) + + FIXME specific Windows stuff / workspace/project issue + + ===== Plugin internals === + This paragraph only concerns people wishing to write a plugin without using the ''common'' interface, or extending it. It is not intended for everyday use. + + All functions available to plugins share the same prototype, ''f_plug_api'', defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]''. + + ==== Basic data access ==== + Access (get/set) to properties of the Crossfire objects, maps, structures is done through property wrappers. + + Syntax for wrapper is eg ''cf_object_get_property(int* type, object* ob, int propcode, (property type)* value)''. + + FIXME expand + + ==== Function wrapping ==== + This wraps specific Crossfire functions. The calling convention (not enforced everywhere, but being worked on FIXME remove when finished) is to send parameters in the same order as the wrapped function, and add as the last parameter a pointer to a variable of the same type as the return value which will receive the actual function return value. The hook return value will be a constant indicating whether the function was called or another error occurred (FIXME expand/check/make that true in the code ;p) + + Let's take for example the wrapper for ''get_ob_key_value''. + + The function prototype is: + const char *get_ob_key_value(const object *op, const char *const key) + (the return value is a shared string FIXME link when the relevant part exists) + + The ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/server/plugins.c?view=markup|server-side]]'' hook is (note the NULL return value, since this is being worked on FIXME remove when fixed): + + void* cfapi_object_get_key(int* type, ...) + { + va_list args; + const char* keyname; + const char** value; + object* op; + + va_start(args, type); + op = va_arg(args, object*); + keyname = va_arg(args, const char*); + value = va_arg(args, const char**); + va_end(args); + + *value = get_ob_key_value(op, keyname); + *type = CFAPI_SSTRING; + return NULL; + } + + + The plugin wrapper function, defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/common/plugin_common.c?view=markup|the common library]]'', is: + + + const char* cf_object_get_key(object* op, const char* keyname) + { + int type; + const char* value; + cfapiObject_get_key(&type, op, keyname, &value); + return value; + } + + + where ''cfapiObject_get_key'' is the matching hook. + + ==== Linked list handling ==== + FIXME correct when changed for other types + + In some cases, objects are linked through the use of a ''next'' field, with a ''first_'' pointer somewhere (includes objects, friendly list, maps, archetypes). Since the ''next'' field will certainly be a property for the object, a convention for getting the ''first_'' field is to call this property getter with a NULL value for the object. + + Thus, for the ''partylist'' linked list, the server-side functions looks like (parts edited out): + + void* cfapi_party_get_property(int* type, ...) + { + [snipped] + + case CFAPI_PARTY_PROP_NEXT: + *type = CFAPI_PPARTY; + rv = (party ? party->next : get_firstparty()); + break; + + + and the common library's function is: + + partylist* cf_party_get_first(void) + { + int type; + return cfapiParty_get_property(&type, NULL, CFAPI_PARTY_PROP_NEXT); + } + + + whereas access to the next party is done through: FIXME fix when updated for wrapping syntax + + partylist* cf_party_get_next(partylist* party) + { + int type; + return cfapiParty_get_property(&type, party, CFAPI_PARTY_PROP_NEXT); + } + IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174304756 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 05:47:51 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 05:47:51 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174560471.901865.22010.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 05:47 User : ryo Edit Summary: fix header @@ -38,9 +38,9 @@ Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments that need to be set to that object. When an object-specific event is raised, affected object is sent to the plugin. - For some events, returning a non-zero value will prevent the default server processing to take place, allowing to override things. + For some events, returning a non-zero value will prevent the default server processing to take place, allowing to override things. FIXME be more specific :) The plugin registered function will get the following parameters. See specific events for the meaning of the field. * op: ''object*'' which is the current object containing the event. * eventcode: ''int'' representing the EVENT_xxx constant of the current event. @@ -201,21 +201,21 @@ FIXME link to common plugin documentation (generated from doxygen hopefully) FIXME specific Windows stuff / workspace/project issue - ===== Plugin internals === + ====== Plugin internals ====== This paragraph only concerns people wishing to write a plugin without using the ''common'' interface, or extending it. It is not intended for everyday use. All functions available to plugins share the same prototype, ''f_plug_api'', defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]''. - ==== Basic data access ==== + ===== Basic data access ===== Access (get/set) to properties of the Crossfire objects, maps, structures is done through property wrappers. Syntax for wrapper is eg ''cf_object_get_property(int* type, object* ob, int propcode, (property type)* value)''. FIXME expand - ==== Function wrapping ==== + ===== Function wrapping ===== This wraps specific Crossfire functions. The calling convention (not enforced everywhere, but being worked on FIXME remove when finished) is to send parameters in the same order as the wrapped function, and add as the last parameter a pointer to a variable of the same type as the return value which will receive the actual function return value. The hook return value will be a constant indicating whether the function was called or another error occurred (FIXME expand/check/make that true in the code ;p) Let's take for example the wrapper for ''get_ob_key_value''. @@ -257,9 +257,9 @@ where ''cfapiObject_get_key'' is the matching hook. - ==== Linked list handling ==== + ===== Linked list handling ===== FIXME correct when changed for other types In some cases, objects are linked through the use of a ''next'' field, with a ''first_'' pointer somewhere (includes objects, friendly list, maps, archetypes). Since the ''next'' field will certainly be a property for the object, a convention for getting the ''first_'' field is to call this property getter with a NULL value for the object. IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174560289 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 05:48:51 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 05:48:51 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174560531.249483.22013.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 05:48 User : ryo Edit Summary: slaying @@ -29,14 +29,15 @@ Events are either //global// or //object-specific//. Examples of global events include a player joining or exiting the game, a map being loaded. Examples of object-specific events include an item being applied, a player attacking a monster. FIXME check parameters and such :) + ===== Hooking to an object-specific event ===== - Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments that need to be set to that object. + Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments that need to be set to that object. Note that the ''slaying'' field must be set too. When an object-specific event is raised, affected object is sent to the plugin. For some events, returning a non-zero value will prevent the default server processing to take place, allowing to override things. FIXME be more specific :) IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174560466 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 05:57:14 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 05:57:14 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174561034.415140.22028.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 05:57 User : ryo Edit Summary: fix @@ -121,8 +121,9 @@ ==== Timer ==== Archetype: event_timer Generated when the timer connected triggered. + ===== Hooking to global events ===== @@ -143,9 +144,9 @@ | Mapleave | Generated whenever someone leaves a map. | ''object*'' pointing to the player, ''map*'' pointing to the map | | | Mapload | Generated when a map is loaded in memory. | ''map*'' pointing to the map | | | Mapreset | Generated each time a map is reset. | ''map*'' pointing to the map | | | Mapunload | Generated when a map is being unloaded from memory. | ''map*'' pointing to the map | | - | Muzzle | Generated when a player was muzzled by a DM. | ''object*'' pointing to kicked player, ''const char*'' containing the parameter the DM used to muzzle | | + | Muzzle | Generated when a player was muzzled by a DM. | ''object*'' pointing to muzzled player, ''const char*'' containing the parameter the DM used to muzzle | | | Remove | Generated when a player character is removed from the game ("quit" command). | ''object*'' pointing to the player | | | Shout | Generated whenever someone shouts something. | ''object*'' pointing to talking player, ''const char*'' containing the message, ''int'' containing the priority | | | Tell | Generated whenever someone tells something. | | not implemented for now | IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174560528 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:09:01 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:09:01 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174561742.000864.22043.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:09 User : ryo Edit Summary: update @@ -202,13 +202,28 @@ FIXME link to common plugin documentation (generated from doxygen hopefully) FIXME specific Windows stuff / workspace/project issue + ====== Plugin internals ====== This paragraph only concerns people wishing to write a plugin without using the ''common'' interface, or extending it. It is not intended for everyday use. All functions available to plugins share the same prototype, ''f_plug_api'', defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]''. + + ===== Parameters sending ===== + All parameters are sent through the use of variable argument lists, using the macros ''va_start'', ''va_arg'' and ''va_end''. + + ===== Data type ===== + All functions accept as first parameter an ''int* type''. This parameter is used by server and plugin to exchange the type of a modified/returned value. Apart its presence for the variable argument list handling, it is used to check data coherence. + + Data is exchanged as either a value or a pointer to a Crossfire structure. When the server needs to return a value to the plugin (for function wrapping, properties getting, ...), it expects the last argument to be a pointer to a variable of the returned value's type. + + Data types available are defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]''. + + Special case: when a ''CFAPI_STRING'' needs to be transferred, 2 parameters are expected, a pointer to the buffer and an integer to the buffer's size (which can't be always be determined automatically). + + Note that signed/unsigned variables are transferred as signed, and should be cast appropriately when needed. ===== Basic data access ===== Access (get/set) to properties of the Crossfire objects, maps, structures is done through property wrappers. IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174561030 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:10:36 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:10:36 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174561836.534282.22061.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:10 User : ryo Edit Summary: link to dev_todo:python_guilds @@ -7,9 +7,9 @@ Current examples include: * message boards, on which players can leave messages * Imperial Post Office, that lets players exchange ingame mail * playing slot machines at casinos - * improved guild system - currently being tested + * [[:dev_todo:python_guilds|improved guild system]] - currently being tested ===== Existing plugins ===== IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174561738 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:14:24 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:14:24 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174562064.165358.22064.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:14 User : ryo Edit Summary: s/field/item for clarity @@ -273,13 +273,14 @@ } where ''cfapiObject_get_key'' is the matching hook. + ===== Linked list handling ===== FIXME correct when changed for other types - In some cases, objects are linked through the use of a ''next'' field, with a ''first_'' pointer somewhere (includes objects, friendly list, maps, archetypes). Since the ''next'' field will certainly be a property for the object, a convention for getting the ''first_'' field is to call this property getter with a NULL value for the object. + In some cases, objects are linked through the use of a ''next'' field, with a ''first_'' pointer somewhere (includes objects, friendly list, maps, archetypes). Since the ''next'' field will certainly be a property for the object, a convention for getting the ''first_'' item is to call this property getter with a NULL value for the object. Thus, for the ''partylist'' linked list, the server-side functions looks like (parts edited out): void* cfapi_party_get_property(int* type, ...) IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174561833 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:17:11 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:17:11 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: development_and_informational_links Message-ID: <1174562231.619055.22076.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:17 User : ryo Edit Summary: update @@ -4,8 +4,11 @@ * [[dev:object_fields]] * [[dev:random-maps]] * [[dev:random-styles]] * [[dev:runes]] + * [[server_plugin]] + * [[cfpython]] + * [[plugin_python]] (obsolete) * [[dev:shops]] * [[dev:skills]] * [[dev:spells]] * [[dev:weather]] IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/development_and_informational_links?rev=1167829250 New Revision: http://wiki.metalforge.net/doku.php/development_and_informational_links -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:18:21 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:18:21 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: development_and_informational_links Message-ID: <1174562301.112767.22079.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:18 User : ryo Edit Summary: shared string information @@ -7,8 +7,9 @@ * [[dev:runes]] * [[server_plugin]] * [[cfpython]] * [[plugin_python]] (obsolete) + * [[dev:shared_strings]] * [[dev:shops]] * [[dev:skills]] * [[dev:spells]] * [[dev:weather]] IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/development_and_informational_links?rev=1174562228 New Revision: http://wiki.metalforge.net/doku.php/development_and_informational_links -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:29:25 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:29:25 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: dev:shared_strings Message-ID: <1174562965.293367.22193.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:29 User : ryo Edit Summary: basics To minimize memory use, Crossfire uses a shared string mechanism. This is intended to be used for strings whose contents is not expected to change during the server's life. Those strings are used like regular ''const char*'', but should not be changed via ''strcpy'', ''snprintf'' or other means because it would affect **all** structures using the shared string. Internally, they use a counter to track at how many places they are used. When it reaches 0, string is freed. To alter such a string, the right behaviour is: * write new value in a ''char[] new_value'' variable * use ''free_string(str)'' * call ''str = add_string(new_value)'' FIXME replace with sstring when done in code To manipulate them, the following functions (defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/common/shstr.c?view=markup|common/shstr.c]]'') are available: * ''const char* add_string(const char *str)'', used to share a string. Returned value is a string with the same contents that can be shared with other objects * ''const char* add_refcount(const char *str)'', equivalent of ''add_string'' when the string is already a shared string * ''const char* find_string(const char *str)'', to search if a string is shared or not * ''void free_string(const char *str)'', to decrement the use counter. After it's called, ''str'' should not be used anymore. IP-Address : 172.186.46.252 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/dev:shared_strings -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:30:26 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:30:26 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174563026.908508.22202.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:30 User : ryo Edit Summary: link @@ -229,17 +229,18 @@ Syntax for wrapper is eg ''cf_object_get_property(int* type, object* ob, int propcode, (property type)* value)''. FIXME expand + ===== Function wrapping ===== This wraps specific Crossfire functions. The calling convention (not enforced everywhere, but being worked on FIXME remove when finished) is to send parameters in the same order as the wrapped function, and add as the last parameter a pointer to a variable of the same type as the return value which will receive the actual function return value. The hook return value will be a constant indicating whether the function was called or another error occurred (FIXME expand/check/make that true in the code ;p) Let's take for example the wrapper for ''get_ob_key_value''. The function prototype is: const char *get_ob_key_value(const object *op, const char *const key) - (the return value is a shared string FIXME link when the relevant part exists) + (the return value is a [[dev:shared_strings|shared string]]) The ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/server/plugins.c?view=markup|server-side]]'' hook is (note the NULL return value, since this is being worked on FIXME remove when fixed): void* cfapi_object_get_key(int* type, ...) IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174562060 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:38:14 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:38:14 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1174563494.281050.22214.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:38 User : ryo Edit Summary: trunk warning @@ -3,8 +3,9 @@ The latest version, 2.0, is a major rewrite which introduces Python objects to represent maps, Crossfire objects and players. The hooking system also changed. Old plugin's reference can be found on [[plugin_python]]. + **Important note:** the API, and other parts, are valid for code's ''trunk''. While it may still be correct for ''branch'', one should ensure it works the same way. Some functions will only exist in trunk. However, the syntax itself should not change between ''trunk'' and ''branch''. ====== General information ====== The plugin has access to all built-in functions of Python, and its regular libraries. Python version being used depends on the platform the server was built, but should be 2.3 or higher. FIXME {is that always true?} IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1174517610 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:36:51 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:36:51 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174563411.675416.22211.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:36 User : ryo Edit Summary: trunk warning @@ -206,8 +206,11 @@ ====== Plugin internals ====== This paragraph only concerns people wishing to write a plugin without using the ''common'' interface, or extending it. It is not intended for everyday use. + + **Important note:** the API, and other parts, are valid for the ''trunk''. While it may still be correct for the ''branch'', one should ensure it works the same way. In particular, ''branch'' uses returned ''void*'' value to return values to plugin, whereas ''trunk'' uses an additional pointer parameter. + All functions available to plugins share the same prototype, ''f_plug_api'', defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]''. ===== Parameters sending ===== IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174563024 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:57:28 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:57:28 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174564648.795115.22256.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:57 User : ryo Edit Summary: move sudo to install only, not required for compilation :) @@ -130,14 +130,15 @@ Double check that you are in the correct directory which is the server directory $ pwd /home//server.svn + ==== COMPILE ==== Now you are going to begin the compile process - $ sudo ./configure && make && make install + $ ./configure && make && sudo make install Any missing dependencies, errors or similar problems during the compile process will be listed. Each should be addressed or resolved accordingly. ===== Microsoft (c) Windows ===== IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174564554 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:55:57 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:55:57 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174564557.284384.22250.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:55 User : ryo Edit Summary: MSW build, tweak around @@ -1,6 +1,9 @@ - This is a generalized quide on how to download source files from SVN and compile a server (under *nix) for local use or testing. + This is a generalized quide on how to download source files from SVN and compile a server (under different platforms) for local use or testing. + FIXME make the svn checkout part common, things like that; split requirements between server and client; list only "top-level" requirements (ie SVN), don't go into details unless required + + ===== *nix ===== ==== Requirements ==== FIXME -- requirements list needs to be tested and confirmed @@ -10,16 +13,16 @@ * flex - A fast lexical analyzer generator * m4 - a macro processing language (required by flex) * libgd-tools * g++ - * bison - * libgtk2.0-0 + * bison //not sure of that one// + * libgtk2.0-0 //for client, not server// * libgtk1.2 * libgtk2.0-dev * libgtk1.2-dev - * gdk-imlib11 + * gdk-imlib11 //client only?// * imlib-progs - * libgd-dev - GD Graphics Library (transitional package) + * libgd-dev - GD Graphics Library (transitional package) //is it required, apart for mapper?// * libfreetype6-dev * libgd-noxpm-dev * libgd1-noxpm * libjpeg62-dev @@ -135,4 +138,15 @@ $ sudo ./configure && make && make install Any missing dependencies, errors or similar problems during the compile process will be listed. Each should be addressed or resolved accordingly. + + ===== Microsoft (c) Windows ===== + The following tools are used to compile the server: + * Microsoft Visual Studio 6 (service pack 4 probably). Server has not been tested with other versions. + * [[http://www.python.org|Python]] to build the Python plugin. Any version starting from 2.3 should do the trick, if not [[http://sourceforge.net/tracker/?func=add&group_id=13833&atid=113833|report a bug please]] + * to build the installer, you need [[http://nsis.sourceforge.net|NSIS]], and [[http://www.perl.org|PERL]] (for maps installer). + + The following tools are used to compile the client: + * [[http://www.gtk.org|GTK]]. An installer with all required dependencies can be found at the [[http://gladewin32.sourceforge.net/modules/news/|Glade/GTK+ project]]. **Warning**: you'll need to add ~10 directories to include list, and rename some files around (like copy ''libpng.lib'' to ''png.lib''). Don't ask why here, ask Glade/GTK+ project instead :) + * current SVN (end of 2006) is somewhat broken, and requires some tweaking to build (need to ''undef HAVE_SDL'', comment out lines, add files, and such). That may be fixed or not eventually. + IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174556949 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 06:56:29 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 06:56:29 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:misc Message-ID: <1174564589.978021.22253.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 06:56 User : ryo Edit Summary: move Windows part to crossfire_compile_guide @@ -3,12 +3,4 @@ FIXME should be put in other pages, more adapted to the subject :) - * to make the client-side images archives: in server sources, run ''adm/lib/collect_images.pl -archive''. This will generate ''crossfire-images.tar'' in the server root, containing wanted files. - * Windows users need the following to compile the server: - * Microsoft Visual Studio 6 (service pack 4 probably). Server has not been tested with other versions. - * [[http://www.python.org|Python 2.3]] to build the Python plugin. Warning: using a more recent version will make the server crash at startup, due to incompatibilities in memory allocation routines - * to build the installer, you need [[http://nsis.sourceforge.net|NSIS]], and [[http://www.perl.org|PERL]] (for maps installer). - * Windows users need the following to compile the client: - * [[http://www.gtk.org|GTK]]. An installer with all required dependencies can be found at the [[http://gladewin32.sourceforge.net/modules/news/|Glade/GTK+ project]]. **Warning**: you'll need to add ~10 directories to include list, and rename some files around (like copy ''libpng.lib'' to ''png.lib''). Don't ask why here, ask Glade/GTK+ project instead :) - * current SVN (end of 2006) is somewhat broken, and requires some tweaking to build (need to ''undef HAVE_SDL'', comment out lines, add files, and such). That may be fixed or not eventually. * if making new archetypes and faces, remember your face must be called ''myface.base.111.png'', not ''myface.111.png'' (''base'' is the image set) IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/dev:misc?rev=1167470051 New Revision: http://wiki.metalforge.net/doku.php/dev:misc -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 07:02:17 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 07:02:17 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: coding_style_guide Message-ID: <1174564937.665382.22265.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 07:02 User : ryo Edit Summary: update @@ -1,15 +1,15 @@ The following is a wikified mirror of //crossfire/doc/Developers/programming_guide// from the server source. ====== Section 1 - currently used conventions/hints for new code writers: ====== - - variable abbreviations - op is short for object pointer, ob is for object, and pl is for player. - - Some functions are named using the conventions above - the naming effects what options they take (insert_ob_in_ob takes 2 object structures) - - Identation is either 2 spaces or 4 spaces. This can be a pain to read, but most functions should be consistent through the function. + - variable abbreviations - ''op'' is short for object pointer, ''ob'' is for object, and ''pl'' is for player. + - Some functions are named using the conventions above - the naming effects what options they take (''insert_ob_in_ob'' takes 2 object structures) + - Identation is 4 spaces. This can be a pain to read, but most functions should be consistent through the function. - Some structure elements should never be accessed directly - rather, there are other functions to use the values. - * object->owner: This contains the owner id for this object. Use set_owner and get_owner instead. Directly using object->owner is likely to get unpredictable results. - * object->nrof: This contains the number of an object. Since changing this will change the weight of an object, direct access should also be avoided. Use decrease_ob_nr, split_ob, and insert_ob_in_... - the later will merge the objects if applicable. - - If using insert_ob_in_map and plan to do further actions with the object, check and make sure the object still exists after insertion - it is possible that the object gets destroyed while being inserted. + * ''object->owner'': This contains the owner id for this object. Use ''set_owner'' and ''get_owner'' instead. Directly using object->owner is likely to get unpredictable results. + * ''object->nrof'': This contains the number of an object. Since changing this will change the weight of an object, direct access should also be avoided. Use ''decrease_ob_nr'', ''split_ob'', ''and insert_ob_in_...'' - the later will merge the objects if applicable. + - If using ''insert_ob_in_map'' and plan to do further actions with the object, check and make sure the object still exists after insertion - it is possible that the object gets destroyed while being inserted (eaten by an altar or such). ====== Section 2 - Style guide for new additions: ====== @@ -21,9 +21,9 @@ - Try to use the [s/u]int[8/16/32] whenever possible. Use the one of appropriate size/type. If not sure, go for the next size up. Do not ever write code assuming that any of those will have an exact number of bits - those types only mean that you will get at least that many bits - you may get more. - The exception to #5 above is strings. Continue to use 'char', since the signedness of functions that take string options can differ system to system, and generate excessive warnings if the wrong sign is used. - When adding new function, include a comment of what the function is supposed to do, what options it takes, and what if any value it returns. This makes debugging of such functions easier, and also makes it better known to other developers if that function might be useful to them. - Try to keep lines to less than 80 columns when possible. This is not a strict requirement - don't break up some complex comparison because the line would otherwise be 83 characters long. Xterms can be resized to most any width. However, use your judgement on whether breaking up a long line would make something more or less readable. - - Assume all names use one namespace. For example, if there is a struct called spell, don't make the name of an optional parameter spell. This will break on ANSI C compilers that follow the spec strictly (gcc does not, even with -strict -ansi) + - Assume all names use one namespace. For example, if there is a struct called ''spell'', don't make the name of an optional parameter spell. This will break on ANSI C compilers that follow the spec strictly (gcc does not, even with -strict -ansi) - As a followup on 9 above, don't use nonstandard gcc extensions (// for comment lines, ability to nest functions, declare arrays with variable bounds, etc.) Likewise, don't use special system functions - don't assume the target system will be bsd or svr4 - if using a potentially non standard function, add checks in the autoconf script and include a version of the function in case it is not on that system. They key word here is portability - don't assume everyone else has the same system as you do. - Write code that can easily be maintained in the future, not code that is easiest to write at that second. This basically means don't do the quick and ugly hack, but instead fix it properly. - Use 4 space indentation. While a lot of old code may have 2 space, the move to 4 space will make future readability easier. - /* @@ -69,17 +69,17 @@ ====== Section 3 - sending in patches: ====== - - Please send patches on a bug fix or feature enhancement basis individually, and not make mega patches. A diff that changes 10 things is first more difficult for me to look over and understand as unrelated changes might be going on. It is also harder for me to reject part of a patch (feature X is nice, but Y doesn't work). - - Please state in the message included with the patch what it fixes/changes. Too often, I get patches which is just a bunch of source code, and I have no idea if I want to incorporate it, or even if the bug is still there. Please also state what version of crossfire the diff is for. + - Please send patches on a bug fix or feature enhancement basis individually, and not make mega patches. A diff that changes 10 things is first more difficult for developers to look over and understand as unrelated changes might be going on. It is also harder to reject part of a patch (feature X is nice, but Y doesn't work). + - Please state in the message included with the patch what it fixes/changes. Too often, we get patches which is just a bunch of source code, and we have no idea if I want to incorporate it, or even if the bug is still there. Please also state what version of crossfire the diff is for. - I will assume any patches mailed directly to me are to be included. If posting a patch on the mailing list (either source or ftp location), please explicity state whether or not you want that patch incorporated into the master source. Many times, a patch may be made available on an expiremental basis which is not ready for widespread distribution. - When making patches, please make context diffs. Please also include the directory that the file is in (run the diff in the top level directory). Please make 5 line context diffs - large line context diffs are fine if you think that may make it easier.\\ Example: diff -c5 (oldfile) (newfile)You can also do diffs of entire directories. Do do this, type: diff -c5 -r (old_directory) (new_directory)An example: diff -c5 -r crossfire-0.90.1 crossfire-0.90.2 - Gnu diff will include files that did not exist before. Other diff programs may not do this. - If your diff looks excessively long and you made a lot of formatting changes, you can add -w to the diff options to have it ignore whitespace. Note that this will then mean that those formatting changes will then be lost. - There is no need to make a seperate diff file for each file different (ie, treasure.diff, player.diff, etc). Assuming you follow steps 1-6, all the diffs can be contained in one file, and patch will deal with it just fine. - - If you need to send a map, new archetypes, or other new files where a diff doesn't make since, a uuencoded tar file will work just fine. + - If you need to send a map, new archetypes, or other new files where a diff doesn't make sense, a uuencoded tar file will work just fine. Submit all patches to the Sourceforge patch tracker on http://sourceforge.net/projects/crossfire, and mail an announcement to [[crossfire-devel at lists.real-time.com]]. IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/coding_style_guide?rev=1167417785 New Revision: http://wiki.metalforge.net/doku.php/coding_style_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 07:07:31 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 07:07:31 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1174565251.405406.22274.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 07:07 User : ryo Edit Summary: fixme @@ -3,5 +3,7 @@ [[dev:object fields|Description of the fields of the object structure]] + + FIXME rename to ''archetype''? merge info with [[dev:object fields]]. document all ''type'' and ''subtype''. fix & check everything ====== How to create new archetypes and bitmaps ====== - Determine if you really need a new archetype. Archetypes are only needed if you are adding new images, or the archetype you are creating will be of general interest. Don't make a new arch if all you really need to do is customize an existing archetype. - Figure out which directory/category the object will belong to. This will determine the appropriate location for it inside the 'arch' directory. For objects with many animations or that are very large, you may want to make a new subdirectory. IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1171824690 New Revision: http://wiki.metalforge.net/doku.php/dev:objects -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 08:19:42 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 08:19:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:shared_strings Message-ID: <1174569582.102034.22394.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 08:19 User : ryo Edit Summary: merge stuff from dev:objects @@ -1,5 +1,5 @@ - To minimize memory use, Crossfire uses a shared string mechanism. This is intended to be used for strings whose contents is not expected to change during the server's life. + To minimize memory use, Crossfire uses a shared string mechanism. This is intended to be used for strings whose contents is not expected to change during the server's life. Using shared strings saves memory and improved performance. Those strings are used like regular ''const char*'', but should not be changed via ''strcpy'', ''snprintf'' or other means because it would affect **all** structures using the shared string. Internally, they use a counter to track at how many places they are used. When it reaches 0, string is freed. To alter such a string, the right behaviour is: @@ -13,4 +13,6 @@ * ''const char* add_string(const char *str)'', used to share a string. Returned value is a string with the same contents that can be shared with other objects * ''const char* add_refcount(const char *str)'', equivalent of ''add_string'' when the string is already a shared string * ''const char* find_string(const char *str)'', to search if a string is shared or not * ''void free_string(const char *str)'', to decrement the use counter. After it's called, ''str'' should not be used anymore. + + Because shared strings will return a pointer to a string if it exists, one can see if the strings are equal by comparing the shared string address they point to (ie ''str == str2'' directly). IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/dev:shared_strings?rev=1174562962 New Revision: http://wiki.metalforge.net/doku.php/dev:shared_strings -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 08:19:56 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 08:19:56 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1174569596.653233.22397.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 08:19 User : ryo Edit Summary: merge shared strings to dev:shared_string @@ -1821,38 +1821,19 @@ 6) Update other areas of the code that you presumably know about that will use these flag values. 7) As appropriate, update the arch files and rebuild. + ====== Programming notes ====== This section provides some specific programming notes about objects. If you don't actually work with the C code, there is no need to read this section. - Basically, all the char* pointers in the object structure use a shared - string library. Using shared strings saves memory and improved performance. - - To use the share string library, it is as simple as calling add_string(char - *cp), where *cp is the pointer to the string you want to add. You can pass - defined strings also. The function the finds the string, if it exists, - increases the referecne count, and returns a pointer to the existing string. - If the string does not exist in the table, it allocates space for it, copies - the data into the space, and returns that new pointer. - - free_string should be called to free these strings. - - strdup and free should never be used on these shared strings. + Almost all the char* pointers in the object structure use a shared + string library. See [[shared_strings]] for more details. When copying objects, the copy_object routine should always be used. It will add reference counts to the copied strings. - Because shared strings will return a pointer to a string if it - exists, one can see if the strings are equal by comparing the shared - string address they point to. - - Shared string data should never be modified by any means - eg, - strcpy(op->name, "new value") will update all the objects that use the same - shared string as op does for its name. Even without shared strings, this - should never be done, because you can not be sure of the space allocation for - op->name is long enough. - + Shared string data should never be modified by any means - eg, strcpy(op->name, "new value") will update all the objects that use the same shared string as op does for its name. IP-Address : 172.186.46.252 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1174565240 New Revision: http://wiki.metalforge.net/doku.php/dev:objects -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 09:37:02 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 09:37:02 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:shops Message-ID: <1174574222.076361.22520.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 09:37 User : ryo Edit Summary: fix greed @@ -85,13 +85,11 @@ ==== shoprace ==== If the player matches shoprace, this has no effect, if they do not, the price offered is only 80% of what it would otherwise be. - ==== shopgreed ==== - This is a multiplier on all prices offered, items brought from the player are done so at a price divided by the greed, items sold to a player are overcharged by a factor of shopgreed. - FIXME percent value like 75? or 7.5? - (shopgreed 1.1 will make the shop alittle bit more greedy) + ==== shopgreed ==== + This is a multiplier on all prices offered, items brought from the player are done so at a price divided by the greed, items sold to a player are overcharged by a factor of shopgreed. Decimal number, 1.0 for regular price. ===== Recognising different types of shops ===== Whilst a hit and miss approach will work if there are items of known value to measure prices with, it is possible to also guage the manner in which a shop will trade with the bargaining skill. Merely use_skill bargaining on an appropriate shop, and the details about the shop will be displayed. IP-Address : 172.152.151.223 Old Revision: http://wiki.metalforge.net/doku.php/dev:shops?rev=1172379674 New Revision: http://wiki.metalforge.net/doku.php/dev:shops -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 09:39:20 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 09:39:20 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:shops Message-ID: <1174574360.375559.22532.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 09:39 User : ryo Edit Summary: remove question @@ -69,13 +69,12 @@ skillscroll building material + ==== shopmin ==== This is an integer value. It is the minimum value that the object must have in order to be considered by purchase for a shop. This is not the same as the price offered, which can be substantially below shopmin. - - FIXME in what currency? ==== shopmax ==== This is an integer value. It uses value like shopmin does, however it is not a fixed upper limit. IP-Address : 172.152.151.223 Old Revision: http://wiki.metalforge.net/doku.php/dev:shops?rev=1174574219 New Revision: http://wiki.metalforge.net/doku.php/dev:shops -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 09:43:08 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 09:43:08 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: spells:praying Message-ID: <1174574588.150007.22541.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 09:43 User : ryo Edit Summary: been fixed @@ -614,8 +614,9 @@ === Daylight === ^ Level: | 18 ^ GP: | 120 ^ Path: | Light | ^ Attack Types: | N/A |^ Sources: | Gaea, Valriel || ^ Notes: | Lights up the area. ||||| + ===== Notes & Comments ===== @@ -625,14 +626,14 @@ * Retributive Strike -- The description in the spoiler section of the web site is very different from the description in the arch, used here. * The arch description is the correct one. The spoiler one is VERY outdated. IMHO though Retributive strike nowadays is much much too weak, however that's something beyond the scope of this page ;-) - * Perhaps there should be two sections: god granted and prayerbook obtained. - * I was thinking that too, in retrospect. When I started the page, I didn't realize how many god-granted prayers there are. Now I think dividing them up would make more sense, like dividing up the magic spells into disciplines did. There, it's done. + * Perhaps there should be two sections: god granted and prayerbook obtained. + * I was thinking that too, in retrospect. When I started the page, I didn't realize how many god-granted prayers there are. Now I think dividing them up would make more sense, like dividing up the magic spells into disciplines did. There, it's done. - * FIXME Perceive Self (and maybe others) can't be obtained in a prayerbook (unless i'm totally wrong) :) //Ryo 2006/12/19 07:25// - * How is this determined? I'm trying to find the code which selects spells for spellbooks, but not having much luck so far. - * Never mind; I found the *_book.trs files in the arch directory. + * Perceive Self (and maybe others) can't be obtained in a prayerbook (unless i'm totally wrong) :) //Ryo 2006/12/19 07:25// + * How is this determined? I'm trying to find the code which selects spells for spellbooks, but not having much luck so far. + * Never mind; I found the *_book.trs files in the arch directory. ===== Credits ===== * All information retrieved from the archetype files in the [[http://crossfire.real-time.com/svn/index.html|SVN repository]], or from the [[http://crossfire.real-time.com/spoiler/spells/index.html|Spells]] section of the main Crossfire site. IP-Address : 172.152.151.223 Old Revision: http://wiki.metalforge.net/doku.php/spells:praying?rev=1168523498 New Revision: http://wiki.metalforge.net/doku.php/spells:praying -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Mar 22 20:09:40 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 22 Mar 2007 20:09:40 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174612180.320177.23539.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/22 20:09 User : Edit Summary: Reply to question in regards to python2.4-gd @@ -46,8 +46,9 @@ === Recommended Packages === * libsqlite3-0 - SQLite 3 shared library (used by cflogger) * python2.4-gd - Python module wrapper for libgd (used by game features such as bank, post office, slot machines, etc.) * are you sure about that one?? unless i'm mistaking it's a graphic library, and i don't see where it'd be used in the scripts... --- //Ryo 2007/03/22 04:48// + * I'm not positive, but it was the only reference to python that I saw in my bash history during the initial install and setup. --- //Leaf 2007/03/22 20:10// * check - unit test framework for C (used by the unit tests) ==== START HERE ==== @@ -149,5 +150,4 @@ The following tools are used to compile the client: * [[http://www.gtk.org|GTK]]. An installer with all required dependencies can be found at the [[http://gladewin32.sourceforge.net/modules/news/|Glade/GTK+ project]]. **Warning**: you'll need to add ~10 directories to include list, and rename some files around (like copy ''libpng.lib'' to ''png.lib''). Don't ask why here, ask Glade/GTK+ project instead :) * current SVN (end of 2006) is somewhat broken, and requires some tweaking to build (need to ''undef HAVE_SDL'', comment out lines, add files, and such). That may be fixed or not eventually. - IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174564646 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 07:46:12 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 07:46:12 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1174740372.156108.27302.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 07:46 User : ryo Edit Summary: windows part, start @@ -212,5 +212,7 @@ * Hit refresh before continuing onto selecting file to upload. * Select crossfire-1.10.0.client.tar.gz from list of files, hit Add Files button. * Select Any for processor type, Source.gz for file type, hit Update/refresh. * Check box to send e-mail to users monitoring, hit button to send e-mail + + === Windows specific things === IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1174288207 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 07:57:50 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 07:57:50 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1174741070.205356.27317.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 07:57 User : ryo Edit Summary: info @@ -215,4 +215,27 @@ * Check box to send e-mail to users monitoring, hit button to send e-mail === Windows specific things === + See also [[crossfire_compile_guide#microsoft_c_windows]] for requirements. + + == Client == + * get latest sources + * open Visual Studio project file ''gtk/win32/GTKClient.dsw'' + * alter ''gtk/win32/config.h'' to set version number (line 92) + * switch to 'Release' build mode + * build + * ensure client works correctly + * open ''gtk/win32/Win32Changes.txt'' + * fix and fill information (from Crossfire traffic, from Changelog, ...) + * open NSI project file ''gtk/win32/gtkclient.nsi'' + * change version number (lines 8, 13, 15) + * create installer + * rename installer to ''crossfire-client-1.10.0.exe'' + * upload to Sourceforge + * create a release + * paste ''Win32Changes.txt'' to readme part, Changelog to changelog part + * release + + == Server == + + == Map installer == IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1174740369 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 09:56:20 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 09:56:20 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1174748180.496063.27506.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 09:56 User : ryo Edit Summary: flex, batch @@ -144,10 +144,14 @@ ===== Microsoft (c) Windows ===== The following tools are used to compile the server: * Microsoft Visual Studio 6 (service pack 4 probably). Server has not been tested with other versions. + * flex, from [[http://gnuwin32.sourceforge.net/packages/flex.htm]]. + * you need it to build ''common/loader.c'' and ''random_maps/reader.c'' from their respective .l. Syntax is: ''flex -oloader.c -i loader.l'', ''flex -oreader.c -i -P rm reader.l'' respectively. The ''-P rm'' seems to be required to not have duplicate symbol issues * [[http://www.python.org|Python]] to build the Python plugin. Any version starting from 2.3 should do the trick, if not [[http://sourceforge.net/tracker/?func=add&group_id=13833&atid=113833|report a bug please]] * to build the installer, you need [[http://nsis.sourceforge.net|NSIS]], and [[http://www.perl.org|PERL]] (for maps installer). + * to build archetypes, you need PERL + * once you got the server sources, open a command prompt, go to ''make_win32'' directory, run the ''installwin32.bat'' file. It will create required directories The following tools are used to compile the client: * [[http://www.gtk.org|GTK]]. An installer with all required dependencies can be found at the [[http://gladewin32.sourceforge.net/modules/news/|Glade/GTK+ project]]. **Warning**: you'll need to add ~10 directories to include list, and rename some files around (like copy ''libpng.lib'' to ''png.lib''). Don't ask why here, ask Glade/GTK+ project instead :) * current SVN (end of 2006) is somewhat broken, and requires some tweaking to build (need to ''undef HAVE_SDL'', comment out lines, add files, and such). That may be fixed or not eventually. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1174612178 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 12:28:15 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 12:28:15 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: world:darcap Message-ID: <1174757295.805374.27743.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 12:28 User : Edit Summary: @@ -11,4 +11,5 @@ ===== Places outside Darcap ===== * [[world:darcap:Woodhouse]] * [[world:darcap:Cave]] + * [[world:darcap:Temple Justice]] IP-Address : 70.224.225.41 Old Revision: http://wiki.metalforge.net/doku.php/world:darcap?rev=1160942119 New Revision: http://wiki.metalforge.net/doku.php/world:darcap -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 12:37:43 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 12:37:43 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: world:darcap:temple_justice Message-ID: <1174757863.755380.27758.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 12:37 User : Edit Summary: created ====== Temple Justice ====== The temple is a tower located to the West of Darcap. It is said the guardians of the temple are protectors of keys. Temple Justice is part of the Strange Old Wizard Quest. IP-Address : 70.224.225.41 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/world:darcap:temple_justice -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 12:42:03 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 12:42:03 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: world:navar Message-ID: <1174758123.606045.27776.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 12:42 User : Edit Summary: @@ -1,2 +1,8 @@ ====== The Kingdom of Navar ====== Straddling the corner of the Imperial highway as it turns North near the Eastern border of the known world, and surrounded by dangerous territory, Navar is an unlikely site for one of the world's grandest cities. Yet there it stands, dominating the skyline for miles around and showing the same bustling activity expected of any thriving market town. + + ===== Places in Navar ===== + * [[world:navar:collosium]] + + ===== Places outside Navar ===== + * [[world:navar:trollcanyon]] IP-Address : 70.224.225.41 Old Revision: http://wiki.metalforge.net/doku.php/world:navar?rev=1160939499 New Revision: http://wiki.metalforge.net/doku.php/world:navar -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 12:44:09 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 12:44:09 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: world:navar:trollcanyon Message-ID: <1174758249.836393.27779.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 12:44 User : Edit Summary: created ====== Troll Canyon ====== Troll Canyon is located South West of Navar or South of the training center. Powerful trolls inhabit the area. Troll Canyon is part of the Strange Old Wizard Quest. IP-Address : 70.224.225.41 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/world:navar:trollcanyon -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 24 19:58:17 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 24 Mar 2007 19:58:17 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1174784297.177511.28454.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/24 19:58 User : leaf Edit Summary: Updated to list the Ruins of Euthville region @@ -8,10 +8,10 @@ ===== Changes to be merged ===== ==== March 2007 ==== * Player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. - * Items can now have a fixed price, independant of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). - * Python plugin can use Crossfire.FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. + * Items can now have a fixed price, independent of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). + * Python plugin can use Crossfire. FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. * New updates and additional maps to Zorn Castle in Brest (trunk and branch) * New random map can be found in the Mostrai Temple in Scorn (trunk and branch) * New shop in Brest for charging crystal and dispelling cursed or damaged magical items (trunk and branch) * Crossfire v1.10.0 is in the process of being released @@ -21,8 +21,9 @@ * hidden DMs don't glow * new DM command: dmtell, like 'tell' but can't be ignored by players * turning on/off a lamp will now update light sight correctly even when not moving * initial player armor, shield and weapon (given by race and class) will be initially applied + * Implemented a new region, Ruins of Euthville (trunk only) ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1174210810 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 25 06:46:52 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 25 Mar 2007 06:46:52 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1174823212.148701.29722.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/25 06:46 User : ryo Edit Summary: final @@ -229,13 +229,42 @@ * fix and fill information (from Crossfire traffic, from Changelog, ...) * open NSI project file ''gtk/win32/gtkclient.nsi'' * change version number (lines 8, 13, 15) * create installer + * ensure it works correctly * rename installer to ''crossfire-client-1.10.0.exe'' * upload to Sourceforge * create a release * paste ''Win32Changes.txt'' to readme part, Changelog to changelog part * release == Server == + + * get sources + * open Visual Studio workspace ''make_win32/crossfire32.dsw'' + * alter ''include/win32.h'' to change version number (line 13) + * switch to ''ReleaseLog'' build mode + * build the ''crossfire32'' project + * build the ''plugin_python'' project + * build the ''plugin_animator'' project + * ensure server works correctly + * edit the ''make_win32/Release_notes.txt'' file + * open the NSIS project file ''make_win32/cfserver.nsi'' + * fix version number (lines 4, 9, 11) + * build installer + * ensure installer works correctly + * rename exe to ''crossfire-server-1.10.0.exe'' + * upload to Sourceforge + * create release + * copy ''Changelog'' to changelog part, ''Release_notes.txt'' to readme + * release + * send notification (if not doing map release) == Map installer == + * from server code, run the ''make_win32/make_maps_nsi.pl'' file (syntax: ''make_maps_nsi.pl "Big World maps" ..\..\share\maps'' if you installed maps in share) + * build generated .NSI file + * ensure installer works fine + * rename executable to ''crossfire-server-bigworld-maps-1.10.0.exe'' + * upload to Sourceforge + * add to previous release + * send notification + IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1174741067 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 25 11:09:26 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 25 Mar 2007 11:09:26 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1174838966.139719.30377.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/25 11:09 User : ryo Edit Summary: checked :) @@ -91,9 +91,9 @@ ==== WhatIsMessage ==== Returns the ''String'' that was sent as part of the event, corresponds to the "message" parameter of the event. ==== ScriptName ==== - Returns the path of the currently executing script. Relative to maps directory FIXME check + Returns the absolute path of the currently executing script. ==== ScriptParameters ==== ==== MapDirectory ==== Returns the system directory containing the maps. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1174563488 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 25 11:33:34 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 25 Mar 2007 11:33:34 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1174840414.567312.30413.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/25 11:33 User : ryo Edit Summary: missing Makefile.am to change @@ -189,8 +189,9 @@ * modify ''plugins/cftest/cftest.c'' and ''plugins/cftest/include/cftest.h'' to correct the file names in the includes and such. You may also want to change the plugin's name * in particular, ''PLUGIN_NAME'' should be set to a unique identifier that will be your plugin's name for the ''slaying'' field of events. * copy ''plugins/template/Makefile.am'' to ''plugins/cftest/Makefile.am'' * edit this file, to change all occurrences of ''plugin_template'' to ''cftest'' (that fixes paths and a few macros) + * edit ''plugins/Makefile.am'', add ''cftest'' to the ''SUBDIRS'' line * edit ''configure.ac'' * find the line ''AC_OUTPUT([Makefile'' * somewhere in between other lines, add ''plugins/cftest/Makefile'' IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174563408 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 25 21:56:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 25 Mar 2007 21:56:05 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: people Message-ID: <1174877765.186883.31396.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/25 21:56 User : leaf Edit Summary: link to my user page @@ -6,9 +6,9 @@ | Mark Wedel | [[user:mwedel]] | mwedel | [[http://sourceforge.net/users/mwedel/|mwedel]] | | | | Brendan Lally | | cavehippo | [[http://sourceforge.net/users/cavesomething/|cavesomething]] | [[https://launchpad.net/people/brenlally | brenlally]] | | | Lalo Martins | [[user:lalomartins]] | lalo | [[http://sourceforge.net/users/lalo/|lalo]] | [[https://launchpad.net/people/lalo.martins|lalo.martins]] | | | David Delbecq | | tchize | | | [[http://www.tchize.be]] | - | Rick Tanner | Leaf | Leaf | [[http://sourceforge.net/users/rjtanner|rjtanner]] | | | + | Rick Tanner | [[user:leaf]] | Leaf | [[http://sourceforge.net/users/rjtanner|rjtanner]] | | | | Ketche | | Ketche | | | [[http://meeg.elvenrealms.net/]] | | Andrew Fuchs | [[user:techolous]] | TechII | [[http://sourceforge.net/users/bbotbuilder/|bbotbuilder]] | [[https://launchpad.net/people/fuchs.andy|fuchs.andy]] | | | Alex Schultz | [[user:rednaxela]] | Rednaxela | [[http://sourceforge.net/users/qal21/|qal21]] | [[https://launchpad.net/people/rednaxela|rednaxela]] | | | Rapha?l Quinet | [[user:raphael]] | raphael (gimpnet),\\ RaphaelQ (freenode) | [[http://sourceforge.net/users/quinet/|quinet]] | [[https://launchpad.net/people/raphael-gimp|raphael-gimp]] | | IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/people?rev=1174400709 New Revision: http://wiki.metalforge.net/doku.php/people -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 25 22:29:37 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 25 Mar 2007 22:29:37 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:leaf Message-ID: <1174879777.870735.31447.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/25 22:29 User : leaf Edit Summary: created ====== Leaf's 'Simple' Wiki Page ====== Place hold for things I am working on or hope to work on someday along with some misc. information ===== Details ===== Since this is a common question and often mistaken assumptions are made.. What do I do with Crossfire? * First and foremost, Administration with the following: * Mailinglists * Crossfire Announcement list * Crossfire Development list * Wiki * One of the wiki Admins and server host * Webforum * Webmaster, one of the forum Admins and server host * Server crossfire.metalforge.net * DM and server host * Websites * crossfire.real-time.com -- Webmaster and server host * www.metalforge.net -- Webmaster and server host * Crossfire project at SourceForge * Assistant Admin -- My role includes: * Setting up SVN access for project members for map development * Crossfire CVS mailing list administration * Crossfire Maps mailing list administration * Posting news announcements when there is a new release available * Misc. duties as they come up * IRC channel * One of the channel Ops * A few other things that I am probably forgetting More recently, I have started on Map development. * I am focusing mostly on fixing issues and improving existing maps * I also review new maps that are submitted to the Maps mailing list or uploaded to SourceForge's Patch area While I may provide feedback and comments and coding direction and actual code - I'm not a developer in that sense. I do not have the necessary coding background. I do not see that changing in the forseeable future either. ;-P ===== My TODO List ===== In no particular order... * Add more features to the Python based Guild Templates * Made the craft tables individual rooms for space purposes and so that the craft "table" (workbench, cauldron, et al) can be swapped out during a map reset if/when it because broken or cursed * Add a new level or area that contains teleporters to other areas within the game * Add a new level or area that is themed or unique to each cult's altar (ex: underground theme for Mostrai's altar) * Improve the basement map since it contains features no one has been able to understand their intent (ex: kennels) * Mapper template improvements * Update the output templates to use HTML format that is more easier to customize with CSS * Spell Report * Assemble a sortable table of all existing spells in Crossfire showing the spells level, school or path, 'kind' (cone, exploding ball, bullet, etc.) and attack type (anything else?) so that developers can see where there are gaps in available spells * Holiday Themed Quest Maps * Some sort of holiday themed quest maps with a prize or reward system * Theme the Wiki * Update the dokuwiki templates to use the same theme that is already in place on the forum and crossfire website IP-Address : 65.165.40.73 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:leaf -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Mar 25 22:34:33 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 25 Mar 2007 22:34:33 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:leaf Message-ID: <1174880073.928116.31456.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/25 22:34 User : leaf Edit Summary: SVN access clarification @@ -20,9 +20,9 @@ * crossfire.real-time.com -- Webmaster and server host * www.metalforge.net -- Webmaster and server host * Crossfire project at SourceForge * Assistant Admin -- My role includes: - * Setting up SVN access for project members for map development + * Setting up SVN access, and adding project members, for map development * Crossfire CVS mailing list administration * Crossfire Maps mailing list administration * Posting news announcements when there is a new release available * Misc. duties as they come up IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/user:leaf?rev=1174879775 New Revision: http://wiki.metalforge.net/doku.php/user:leaf -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 27 01:12:27 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 27 Mar 2007 01:12:27 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_guide Message-ID: <1174975947.362423.1708.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/27 01:12 User : Edit Summary: @@ -149,9 +149,9 @@ * If there are errors, rpmbuild will tell you. * Rpms would be put in _rpmdir/ * Upload the RPMS, architecture is the architecture, type is rpm. - == Server == + === Server === Start in branches/1.x * Update configure.ac with new version number * Update ChangeLog file, putting in break for new version * re-run autoconf @@ -176,44 +176,58 @@ * Run ''make distcheck''. This will pack up the distribution and then unpack it and compile it - a pretty good complete test. * Unpack the archive, and verify it works: - gtar xvfz crossfire-client-1.10.0.tar.gz - cd crossfire-client-1.10.0 + gtar xvfz crossfire-1.10.0.tar.gz + cd crossfire-1.10.0 ./configure -prefix=/tmp/test make -s (make sure no errors) make install (will install where specified above) - * run cfclient, gcfclient, gcfclient2 and make sure they are not braindead - being able to connect to a server and log in is usually what I do + * Link in the maps to the destination area specified. Make sure you use maps the correspond to release: - cd /test/bin - ./cfclient - ./gcfclient - ./gcfclient2 + cd /test/share/crossfire + ln /path/to/maps maps + + * Run the server, connect with a client, and make sure you can log in and walk around scorn (basic not completely dead test) + /test/bin/crossfire + (in another window) + gcfclient + (create character, walk around scorn briefly) + + * Upload to sourceforge - * If all OK, upload the crossfire-client-1.10.0.tar.gz ncftp upload.sourceforge.net ncftp / > cd incoming - ncftp /incoming > put crossfire-1.10.0.arch.tar.gz + ncftp /incoming > put crossfire-1.10.0.tar.gz * Clean up some files: rm -rf /tmp/test - rm -rf /crossfire-client-1.10.0 + rm -rf /crossfire-1.10.0 * Make a file release on sourceforge. Go to [[ http://sourceforge.net/project/admin/editpackages.php?group_id=13833|File Release System]] * Add a release to crossfire-client * Release name is 1.10.0 - * For release notes, generally do something like ''1.10.0 release or archetype tree for crossfire''. I'll also include notable changes + * For release notes, generally do something like ''Release of 1.10.0 of the crossfire game server. You do not need this if you just want to play on a remote server.''. * For Changelog, copy portion of CHANGES that has changed since last release * Check button to preserve preformatted text. * Hit checkbox to preserve preformatted text. * Hit refresh before continuing onto selecting file to upload. - * Select crossfire-1.10.0.client.tar.gz from list of files, hit Add Files button. + * Select crossfire-1.10.0.tar.gz from list of files, hit Add Files button. * Select Any for processor type, Source.gz for file type, hit Update/refresh. - * Check box to send e-mail to users monitoring, hit button to send e-mail + * Check box to send e-mail to users monitoring, hit button to send e-mail + + ==== Final Notes ==== + After all the components are bundled up, an official announcement is sent to crossfire-announce at lists.real-time.com. I usually use the announcement of the last release as a template. + * Update 1.9.1 to 1.10.0 + * generate a sum of the files. I put all of them in one directory, so it is just a simple ''sum *'' and remove any extra entries that shouldn't be there. + * Same for md5sums - ''md5sum *'' + * At the top of the file, put in the notable changes - note you may already have these from the steps above. + * At end of file, put in complete changelog file. + * Send mail to crossfire-announce at lists.real-time.com. Note it is a moderated alias, so there may be some time lag in the message actually appearing. === Windows specific things === See also [[crossfire_compile_guide#microsoft_c_windows]] for requirements. IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide?rev=1174823210 New Revision: http://wiki.metalforge.net/doku.php/crossfire_release_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 27 15:02:27 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 27 Mar 2007 15:02:27 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:change_player_speed Message-ID: <1175025747.257982.3212.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/27 15:02 User : Edit Summary: @@ -2,11 +2,11 @@ Both of these cause problems - high level players outrun lightning bolts, and low level players spend large amounts of time just moving slowly from point a to point b. My general thoughts: - * Player speed is adjusted to go from 0.25 to 0.75. Fully loaded, player moves at 0.75. Lightly loaded, player moves at 0.75 (maybe let them carry 25% of capacity without any penalty). + * Player speed is adjusted to go from 0.25 to 0.75. Fully loaded, player moves at 0.25. Lightly loaded, player moves at 0.75 (maybe let them carry 25% of capacity without any penalty). * Strength does not directly affect speed, but indirectly does so because you can carry more stuff. So if player is carrying same amount of weight, but has higher strength, would move faster because character is at less a total percentage of his load. * Dexterity may have some minor speed benefit (0.01/point above 10?) * Max speed of armor is a hard limit without magic, it is a hard limit - if max speed is 0.6, you can't move faster than 0.6, no matter str or dex. * magic speed bonuses will let player move faster, but should be some upper limit or stacking penalties (two 0.2 items should maybe give 0.3, not 0.4 bonus) IP-Address : 64.124.107.50 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:change_player_speed?rev=1158476109 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:change_player_speed -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 27 15:26:42 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 27 Mar 2007 15:26:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:leaf Message-ID: <1175027202.773993.3257.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/27 15:26 User : leaf Edit Summary: map updates (only..) for metalforge server @@ -14,9 +14,9 @@ * One of the wiki Admins and server host * Webforum * Webmaster, one of the forum Admins and server host * Server crossfire.metalforge.net - * DM and server host + * DM and server host, map updates (only..) * Websites * crossfire.real-time.com -- Webmaster and server host * www.metalforge.net -- Webmaster and server host * Crossfire project at SourceForge @@ -57,5 +57,4 @@ * Some sort of holiday themed quest maps with a prize or reward system * Theme the Wiki * Update the dokuwiki templates to use the same theme that is already in place on the forum and crossfire website - IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/user:leaf?rev=1174880071 New Revision: http://wiki.metalforge.net/doku.php/user:leaf -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 27 15:31:45 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 27 Mar 2007 15:31:45 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:leaf Message-ID: <1175027505.570159.3266.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/27 15:31 User : leaf Edit Summary: Minor clarifications @@ -14,22 +14,23 @@ * One of the wiki Admins and server host * Webforum * Webmaster, one of the forum Admins and server host * Server crossfire.metalforge.net - * DM and server host, map updates (only..) + * One of the server DMs and server host, map updates (only..) * Websites * crossfire.real-time.com -- Webmaster and server host * www.metalforge.net -- Webmaster and server host * Crossfire project at SourceForge * Assistant Admin -- My role includes: * Setting up SVN access, and adding project members, for map development * Crossfire CVS mailing list administration * Crossfire Maps mailing list administration - * Posting news announcements when there is a new release available + * Posting news/announcements when there is a new release available * Misc. duties as they come up * IRC channel * One of the channel Ops * A few other things that I am probably forgetting + More recently, I have started on Map development. * I am focusing mostly on fixing issues and improving existing maps IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/user:leaf?rev=1175027199 New Revision: http://wiki.metalforge.net/doku.php/user:leaf -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Mar 27 23:58:06 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 27 Mar 2007 23:58:06 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1175057886.265378.4054.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/27 23:58 User : leaf Edit Summary: Updates for recent checkins @@ -13,17 +13,17 @@ * Python plugin can use Crossfire. FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. * New updates and additional maps to Zorn Castle in Brest (trunk and branch) * New random map can be found in the Mostrai Temple in Scorn (trunk and branch) * New shop in Brest for charging crystal and dispelling cursed or damaged magical items (trunk and branch) - * Crossfire v1.10.0 is in the process of being released - * Updated release of the CrossfireEditor (map editor from the Gridarta project now using a new name) + * Two updated release of the CrossfireEditor (map editor from the Gridarta project now using a new name) * Import of missing maps to complete City de Clouds region (trunk only) * DMs casting spells don't lose any sp/gr/time (trunk only) - * hidden DMs don't glow - * new DM command: dmtell, like 'tell' but can't be ignored by players - * turning on/off a lamp will now update light sight correctly even when not moving - * initial player armor, shield and weapon (given by race and class) will be initially applied + * Hidden DMs don't glow + * New DM command: dmtell, like 'tell' but can't be ignored by players + * Turning on/off a lamp will now update light sight correctly even when not moving + * Initial player armor, shield and weapon (given by race and class) will be initially applied * Implemented a new region, Ruins of Euthville (trunk only) + * Crossfire v1.10.0 was released! ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1174784295 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 10:30:57 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 10:30:57 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1175355057.535374.12581.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 10:30 User : ryo Edit Summary: MapHasBeenLoaded @@ -241,8 +241,14 @@ * -1: invalid timer identifier. ==== GetFriendlyList ==== Returns a ''list'' of ''[[cfpython#crossfire.object_methods_and_attributes|Crossfire.Object]]'' representing all items on the friendly list. Individual objects can be added/removed through their ''Friendly'' flag. + + ==== MapHasBeenLoaded ==== + Parameter: + * map path (''String'') + + Returns the ''[[cfpython#crossfire.map_methods_and_attributes|Crossfire.Map]]'' with specified path, or ''None'' if such a map isn't loaded. Will not try to load the map, see ''[[cfpython#readymap|Crossfire.ReadyMap]]'' for that. ===== Crossfire.Archetype methods and attributes ===== This represents an archetype, from which all objects are derived. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1174838962 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 10:55:03 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 10:55:03 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1175356503.063929.12619.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 10:55 User : ryo Edit Summary: fix comment @@ -129,15 +129,17 @@ ==== CostFlagSell ==== ==== CostFlagNoBargain ==== ==== CostFlagIdentified ==== ==== CostFlagNotCursed ==== + ==== ReadyMap ==== Parameter: - * map name (string) + * map name (''String'') + * optional: flags (''Number'') Loads specified map, and returns a ''Crossfire.Map'' object wrapping it. Will return ''None'' if map couldn't be found. - FIXME what about unique player map? Or only maps in /maps? + ''Flags'' specifies what kind of map should be loaded. It matches the 2nd argument of ''ready_map_name()'' {FIXME} add flags and such ==== FindPlayer ==== Parameter: * player name (string) FIXME partial? IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1175355051 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 11:03:49 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 11:03:49 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1175357029.097300.12633.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 11:03 User : ryo Edit Summary: fix list @@ -278,13 +278,10 @@ } where ''cfapiObject_get_key'' is the matching hook. - ===== Linked list handling ===== - FIXME correct when changed for other types - In some cases, objects are linked through the use of a ''next'' field, with a ''first_'' pointer somewhere (includes objects, friendly list, maps, archetypes). Since the ''next'' field will certainly be a property for the object, a convention for getting the ''first_'' item is to call this property getter with a NULL value for the object. Thus, for the ''partylist'' linked list, the server-side functions looks like (parts edited out): @@ -292,26 +289,34 @@ { [snipped] case CFAPI_PARTY_PROP_NEXT: + rparty = va_arg(args, partylist**); + *rparty = (party ? party->next : get_firstparty()); *type = CFAPI_PPARTY; - rv = (party ? party->next : get_firstparty()); break; - and the common library's function is: + The common library's function for first party is: partylist* cf_party_get_first(void) { int type; - return cfapiParty_get_property(&type, NULL, CFAPI_PARTY_PROP_NEXT); + partylist* value; + cfapiParty_get_property(&type, NULL, CFAPI_PARTY_PROP_NEXT, &value); + assert(type == CFAPI_PPARTY); + return value; } - whereas access to the next party is done through: FIXME fix when updated for wrapping syntax + whereas access to the next party is done through: partylist* cf_party_get_next(partylist* party) { int type; - return cfapiParty_get_property(&type, party, CFAPI_PARTY_PROP_NEXT); + partylist* value; + cfapiParty_get_property(&type, party, CFAPI_PARTY_PROP_NEXT, &value); + assert(type == CFAPI_PPARTY); + return value; } + IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1174840411 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 14:38:30 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 14:38:30 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1175369910.547599.12970.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 14:38 User : ryo Edit Summary: release, arrow/bolt @@ -5,10 +5,13 @@ ===== Changes to be merged ===== + Please put most recent on top. ==== March 2007 ==== + * Monsters will now fire arrows/bolts more smartly. + * server 1.10.0 release * Player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. * Items can now have a fixed price, independent of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). * Python plugin can use Crossfire. FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. * New updates and additional maps to Zorn Castle in Brest (trunk and branch) IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1175057883 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 14:39:16 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 14:39:16 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1175369956.463097.12982.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 14:39 User : ryo Edit Summary: release, arrow/bolt @@ -5,13 +5,11 @@ ===== Changes to be merged ===== - Please put most recent on top. + Please put most recent on bottom for month. ==== March 2007 ==== - * Monsters will now fire arrows/bolts more smartly. - * server 1.10.0 release * Player will be warned when spell effects are about to expire. This works for protections, stats changing, xray, ..., but not for invisibility. * Items can now have a fixed price, independent of player's charisma. Key/values price_adjustment, price_adjustment_sell and price_adjustment_buy are used (trunk only). * Python plugin can use Crossfire. FriendlyList to get access to objects on friends list (pets and such), and also use Object.Owner to get the object's owner. * New updates and additional maps to Zorn Castle in Brest (trunk and branch) @@ -25,8 +23,9 @@ * Turning on/off a lamp will now update light sight correctly even when not moving * Initial player armor, shield and weapon (given by race and class) will be initially applied * Implemented a new region, Ruins of Euthville (trunk only) * Crossfire v1.10.0 was released! + * Monsters will now fire arrows/bolts more smartly. ==== Febuary 2007 ==== * new server setting, allow_denied_spells_writing, for inscription * two new settings are added, pk_max_experience and pk_max_experience_percent. Check settings file to see how they work. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1175369907 New Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 15:31:52 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 15:31:52 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1175373112.684183.13063.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 15:31 User : ryo Edit Summary: info @@ -94,8 +94,13 @@ ==== ScriptName ==== Returns the absolute path of the currently executing script. ==== ScriptParameters ==== + This ''String'' variable contains: + * for a global event, the name of the event (''born'', ''gkill'', ...) + * for an event hooked to an object, the ''name'' field of the object + * for a custom command, the parameters the player sent + ==== MapDirectory ==== Returns the system directory containing the maps. ==== UniqueDirectory ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1175356498 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 15:33:02 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 15:33:02 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1175373182.877029.13066.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 15:33 User : ryo Edit Summary: update @@ -103,9 +103,9 @@ ==== MapDirectory ==== Returns the system directory containing the maps. ==== UniqueDirectory ==== - Returns the system directory where unique items and maps are stored. FIXME? + Returns the system directory where unique items and maps are stored. ==== TempDirectory ==== Returns the system directory where temporary files are stored. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1175373108 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Mar 31 15:55:01 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 31 Mar 2007 15:55:01 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1175374501.659112.13102.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/03/31 15:55 User : ryo Edit Summary: update @@ -74,10 +74,8 @@ ===== Crossfire module methods ===== - - ==== WhoAmI ==== Returns the ''Crossfire.Object'' from which the event being handled was raised, corresponds to the "op" parameter of the event. Can be ''None''. For a map event, this is a ''Crossfire.Map'' @@ -109,18 +107,18 @@ ==== TempDirectory ==== Returns the system directory where temporary files are stored. ==== ConfigDirectory ==== - FIXME? + Returns the system directory containing configuration files. ==== LocalDirectory ==== - FIXME? + Returns the system directory containing read/write files. ==== PlayerDirectory ==== Returns the system directory containing player files. ==== DataDirectory ==== - Returns the system directory containing persistent data. + Returns the system directory containing read-only data. ==== DirectionNorth ==== ==== DirectionNorthEast ==== ==== DirectionEast ==== @@ -146,14 +144,14 @@ ''Flags'' specifies what kind of map should be loaded. It matches the 2nd argument of ''ready_map_name()'' {FIXME} add flags and such ==== FindPlayer ==== Parameter: - * player name (string) FIXME partial? + * player name (string) - Returns a ''Crossfire.Player'' object for specified player, based on name, or ''None'' if not found. + Returns a ''Crossfire.Player'' object for specified player, based on full name, or ''None'' if not found. ==== MatchString ==== - Parameters: FIXME check order + Parameters: * string to be searched * pattern to search for Returns ''1'' if string matches the pattern, ''0'' else. @@ -176,11 +174,11 @@ Returns an empty object which can then be manipulated and inserted in map. ==== CreateObjectByName ==== Parameters: - * archetype name (string) FIXME make sure + * object or archetype name (string) - Returns object of specified archetype, or ''None'' if archetype wasn't found. + Returns object with specified name or archetype, or ''None'' if no object has the name, and archetype wasn't found. ==== GetPrivateDictionary ==== Returns a Python ''dictionary'' the script can use to store data between runs. This data is not shared with other scripts. @@ -192,9 +190,8 @@ Note that data will be lost in case of server restart. ==== GetArchetypes ==== Returns a Python ''list'' containing ''Crossfire.Archetype'' objects representing all archetypes the server knows. Should not be called lightly, as this can take some time. - ==== GetMaps ==== Returns a Python ''list'' containing ''[[cfpython#Crossfire.Map methods and attributes|Crossfire.Map]]'' objects, one for each map currently being loaded. This includes random and unique maps. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1175373178 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/