From no-reply_wiki at metalforge.org Sat Dec 1 03:53:44 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 01 Dec 2007 03:53:44 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1196502824.174863.17609.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/01 03:53 User : ryo Edit Summary: add some fields @@ -1267,9 +1267,8 @@ | other_arch | obsolete now, means nothing | | maxsp | has to do with turning walls. The wall will turn by 'maxsp' every time it fires, changing face. To make a wall turn, it is sufficient to set this to 1. Setting it to 8 or any multiple thereof is an exercise in futility | | level | the level the spell will cast spells at. Level 1 walls will cast spells at minimal strength. Level 100 walls will cast deadly spells | | connected | either rotate the wall or trigger it. If triggering, set speed to 0 for best results | - ===== Containers ===== FIXME expand/fix @@ -1279,8 +1278,12 @@ | weight_limit | the maximum weight the container can hold | | Str | reduces the weight of the objects in the container, 0 == no reduction, 100 = weightless | | slaying | only let items of this type in the container | + Key/value fields that can be used (trunk only): + + | face_opened | face name (including the final ''.111'') to use when the container is opened. Will default to ''other_arch->face'' if not defined. | + | face_closed | face name to use when the container is closed. Will automatically be set if a custom face is defined, so not required to set it manually. | ===== Mood Floors ===== ("Brian Thomas" ) IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1195926731 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 Sun Dec 2 11:41:25 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Dec 2007 11:41:25 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1196617285.208648.765.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/02 11:41 User : ryo Edit Summary: death_animation @@ -1066,8 +1066,12 @@ === Special player notes === Player can only pick up items if MOVE_WALK is set (this may need to be expanded down the road). Basic idea is that if you are flying, can't reach the ground, if swimming, don't really have any free hands to grab anything. + ==== Misc fields ==== + Those fields are kind of used by all objects, but aren't really in the previous parts. + + * death_animation (key/value): should point to a valid archetype name that will be inserted in the map when the object dies. It should probably be a one-time animation (''is_used_up 1''). ====== Special objects ====== ===== Maps ===== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1196502812 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 Sun Dec 2 12:00:55 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Dec 2007 12:00:55 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:random-maps Message-ID: <1196618455.661171.911.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/02 12:00 User : ryo Edit Summary: final_exit_archetype @@ -84,8 +84,9 @@ | origin_y | Like origin_x | | random_seed | Set the random seed number used. This number completely determines the random numbers: a map with the same random seed and other parameters will always produce exactly the same map. | | final_map | When dungeon_level >= dungeon_depth, another exit isn't usually made. However, if final_map is set to a map's name, then an exit to this map will be made. | | exit_on_final_map | The default action is to place an exit on the final map. When explicitly set to 'no' this will not place a return exit on the final_map. If you use this setting YOU MUST PROVIDE A WAY BACK IN THE FINAL MAP! | + | final_exit_archetype | If there is a final map, this field lets you specify the exact archetype to use for the final exit (trunk only). | ===== Exit style ===== ^ Value ^ Meaning ^ IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:random-maps?rev=1177884188 New Revision: http://wiki.metalforge.net/doku.php/dev:random-maps -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 2 13:58:28 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Dec 2007 13:58:28 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests Message-ID: <1196625508.845937.1231.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/02 13:58 User : tchize Edit Summary: @@ -61,8 +61,12 @@ ====== In progress / Suggested ====== This lists quests that are suggested to add to crossfire or are currently in the state of adding ===== Blood Bond ===== Link: [[quests:the blood of the vampire]] + Short description: long quest (several maps / subquests to achieve), to meet a very powerfull vampire in center of bigworld + Suggested level: 80+ + Quest item: blood bond spell + IP-Address : 91.177.211.207 Old Revision: http://wiki.metalforge.net/doku.php/quests?rev=1196625476 New Revision: http://wiki.metalforge.net/doku.php/quests -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 2 13:57:58 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Dec 2007 13:57:58 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests Message-ID: <1196625478.938797.1228.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/02 13:57 User : tchize Edit Summary: @@ -55,5 +55,14 @@ Level: ability to kill goblins/orcs. Items: Unforgettable Banquet of Lursendis, non combat / utilitarian item. + + + ====== In progress / Suggested ====== + This lists quests that are suggested to add to crossfire or are currently in the state of adding + ===== Blood Bond ===== + Link: [[quests:the blood of the vampire]] + Short description: long quest (several maps / subquests to achieve), to meet a very powerfull vampire in center of bigworld + Suggested level: 80+ + Quest item: blood bond spell IP-Address : 91.177.211.207 Old Revision: http://wiki.metalforge.net/doku.php/quests?rev=1187426122 New Revision: http://wiki.metalforge.net/doku.php/quests -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 2 14:45:54 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 Dec 2007 14:45:54 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: quests:the_blood_of_the_vampire Message-ID: <1196628354.771120.1507.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/02 14:45 User : tchize Edit Summary: created ====== The blood of the vampire ====== The main idea being this quest is to have player find a way to locate and get access to the mansion of a very powerfull vampire in the center of bigworld. Informations about this vampire are spread at various place in the world. The player may need to fight some other vampire to get information and maybe usefull items in his quest. When the user finally reaches the blood vampire, he can come with 2 purposes * either as a "friend", that means he has done all the quests as a sort of proof of valor for the vampire, and want to become a servant of the vampire. 40+ level should be enough to become a blood bond * either he came to kill the vampire. The more player online are servant of the vampire, the more difficult it will be to kill it (see below). You should be high level to kill it! (90+ i guess, depends on how many blood bonds there are) ===== Location ===== The quest will be located at various places in the bigworld. The blood vampire has a strong influence in an unexplored part of bigworld. He has various NPCs servant you will need to get items from in order to get access to the vampire mansion. The quest should be build in such a way that, after killing the vampire, you will need to kill again all his NPCs servants to get back to the mansion. Also, the vampire regenerates slowly, it can take days before the map resets. Some subquests should be only faisable during night (and make then use of time based quests). Example, the path the the lair of the Gurthel, the vampire servant, could be only visible at night, when it's full moon :) ===== Gains ===== ==== As a servant ==== Short lists of what you get as a servant - The spell of blood bond. This spell is to cast on another player so that players share temporarily a common pool of life points. When player life goes below 0, it propagates it's points to the caster and survives. This is to be seen as a healing spell where the caster uses his life to heal other peoples on demand. (Paladins should probably be repelled from that spell!). This spell is given "learned". That mean no book is to ever be created with that spell. People knowing that spell could probably write it on scroll for others and sell that scrolls. - You are now linked to a creature of the night. As a result, your regneration is higher at night, and lower at days. - Access to some parts of vampire mansion (like somehow a guild). This could be used to close doors and access to other players trying to kill vampire. This should be done in such a way that it's compatible with Non-PVP servers. It also contains a short library. - You are blood bond to the vampire. That means the vampire can use your life points for his survival, and he won't hesitate to do so. When the vampire is under a deadly attack, his life points ad mana points will be restored to max and a random online servant player will be killed instantly. The vampire will not kill you twice between map resets. ==== As a killer ==== Items you get as a killer - The "cape of the blood vampire", a powerfull rare item. Rumour as it that whoever wear it at night can fly and gain life from killing monsters. - Access to the vampire treasure room (classical) - Access to the vampire library and research stories about the first vampire. - XP (of course :p) IP-Address : 91.177.211.207 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/quests:the_blood_of_the_vampire -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Dec 3 14:04:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 03 Dec 2007 14:04:53 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests:the_blood_of_the_vampire Message-ID: <1196712293.576329.12186.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/03 14:04 User : Edit Summary: @@ -2,10 +2,14 @@ The main idea being this quest is to have player find a way to locate and get access to the mansion of a very powerfull vampire in the center of bigworld. Informations about this vampire are spread at various place in the world. The player may need to fight some other vampire to get information and maybe usefull items in his quest. When the user finally reaches the blood vampire, he can come with 2 purposes * either as a "friend", that means he has done all the quests as a sort of proof of valor for the vampire, and want to become a servant of the vampire. 40+ level should be enough to become a blood bond * either he came to kill the vampire. The more player online are servant of the vampire, the more difficult it will be to kill it (see below). You should be high level to kill it! (90+ i guess, depends on how many blood bonds there are) + ===== Location ===== The quest will be located at various places in the bigworld. The blood vampire has a strong influence in an unexplored part of bigworld. He has various NPCs servant you will need to get items from in order to get access to the vampire mansion. The quest should be build in such a way that, after killing the vampire, you will need to kill again all his NPCs servants to get back to the mansion. Also, the vampire regenerates slowly, it can take days before the map resets. Some subquests should be only faisable during night (and make then use of time based quests). Example, the path the the lair of the Gurthel, the vampire servant, could be only visible at night, when it's full moon :) + + + A nice spot for the vampire mansion could be at 114x112 map, around 2x47 ===== Gains ===== ==== As a servant ==== Short lists of what you get as a servant IP-Address : 91.177.193.4 Old Revision: http://wiki.metalforge.net/doku.php/quests:the_blood_of_the_vampire?rev=1196628353 New Revision: http://wiki.metalforge.net/doku.php/quests:the_blood_of_the_vampire -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Dec 6 00:52:06 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 06 Dec 2007 00:52:06 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:fancy_generators Message-ID: <1196923926.463205.25386.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/06 00:52 User : Edit Summary: @@ -38,13 +38,16 @@ * The other key would allow spawner to get into slower mode - where it works twice slower, but probably with the same max capacity. Please add new ideas here. + ==== Implementation ==== So far, I've added the ability for generators to create monsters within a radius, which is set with the ''generator_radius'' field in the object. This defaults to 1 if not set. Patch for this is at [[http://baugher.pikenet.net/cf/generator_radius.patch]]. The limit has been implemented. Patch is here: [[http://baugher.pikenet.net/cf/generator_radius.patch]]. If a generator has ''generator_max'' set, it will only create new objects when there are less than that many objects belonging to it already on the map. This works a little funny at the edges of tiled maps: If the generator creates a monster on the neighboring map, it won't be counted, so it could end up creating more than the limit. I'm not sure whether this is really a problem, but if it is, it could be fixed by preventing the generator from creating monsters on other maps. + + Note from mwedel: current implementation of finding out how many monsters a generator has generated is highly inefficient - looking at all objects on the map can be a very time consuming process if there are large piles of treasure. A better approach would be to look on the active object list, on the basis all monsters are active objects, and then narrow the search criteria. Even on maps without treasure lists, this may be a gain - taking a quick look at metalforge, there were 3205 active objects when I logged in. A 50x50 world map is sure to have at least 2500 objects. Both these changes have been committed to trunk. IP-Address : 209.204.178.229 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:fancy_generators?rev=1171728636 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:fancy_generators -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Dec 6 01:07:23 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 06 Dec 2007 01:07:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:fancy_generators Message-ID: <1196924843.030566.17455.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/06 01:07 User : Edit Summary: Add comment @@ -48,6 +48,7 @@ The limit has been implemented. Patch is here: [[http://baugher.pikenet.net/cf/generator_radius.patch]]. If a generator has ''generator_max'' set, it will only create new objects when there are less than that many objects belonging to it already on the map. This works a little funny at the edges of tiled maps: If the generator creates a monster on the neighboring map, it won't be counted, so it could end up creating more than the limit. I'm not sure whether this is really a problem, but if it is, it could be fixed by preventing the generator from creating monsters on other maps. Note from mwedel: current implementation of finding out how many monsters a generator has generated is highly inefficient - looking at all objects on the map can be a very time consuming process if there are large piles of treasure. A better approach would be to look on the active object list, on the basis all monsters are active objects, and then narrow the search criteria. Even on maps without treasure lists, this may be a gain - taking a quick look at metalforge, there were 3205 active objects when I logged in. A 50x50 world map is sure to have at least 2500 objects. + Reply from Rednaxela: Perhaps one thought, is maybe we should have per-map active object lists? This would increase efficiency of such searches by quite a bit. It would also benefit spells like Charm Monster and Destruction Both these changes have been committed to trunk. IP-Address : 136.159.134.152 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:fancy_generators?rev=1196923923 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:fancy_generators -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 9 11:51:59 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 09 Dec 2007 11:51:59 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:gfx_needing_fixing Message-ID: <1197222719.856455.6622.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/09 11:51 User : ryo Edit Summary: update angel @@ -39,9 +39,9 @@ | a_guard_l | | monster/humanoid/Arabic/a_guard_l.* | | a_guard_m | | monster/humanoid/Arabic/a_guard_m.* | | a_priest | | monster/humanoid/Arabic/a_priest.* | | acidsphere | | monster/acid/acidsphere.* | - | angel | | monster/angel/angel.* | + | angel | 4 facings, diagonals missing | monster/angel/angel.* | | ape | | monster/animal/ape.* | | archangel | | monster/angel/highangel.* | | beggar | | monster/humanoid/Arabic/beggar.* | | behemoth | | monster/animal/Behemoth/behemoth.* | IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing?rev=1193263607 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Dec 10 17:39:13 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 10 Dec 2007 17:39:13 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:gfx_needing_fixing Message-ID: <1197329953.277639.14845.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/10 17:39 User : ryo Edit Summary: comment @@ -135,4 +135,6 @@ | close_schest | ===== Classic Tileset ===== This tileset is missing LOTS of faces, thus people see question marks replacing those faces. + + > false, actually, server will fall back to standard set if classic is not defined... but should be filled anyway :) --- //[[nicolas.weeger at laposte.net|Ryo Saeba]] 2007/12/10 17:37// IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing?rev=1197222717 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 08:16:35 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 08:16:35 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides Message-ID: <1197728195.709248.2130.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 08:16 User : kbulgrien Edit Summary: Add a link to a new graphics guide page. @@ -116,15 +116,17 @@ * [[DM Commands]] ===== Dev Guides ===== This information is not exactly meant for most players, just people making their own maps, or modifications to crossfire. This section is more likely to get outdated. + ==== Maps and Archetypes ==== Documentation on various aspects of modifing and creating maps or archetypes. * [[Custom Item Creation]] - Information and guidelines about creating custom items. * [[Custom Creature Creation]] - Information and guidelines about creating custom creatures. + * [[Graphics Guide]] - Information to aid the creation of achetypical art. * [[Item Type Guide]] - Information about how different types and attributes affect objects. * [[Map Scale]] - A note about the scale of maps * [[Map-Making Guide]] - Notes, details and suggestions on making maps * [[Spell Numbers]] - The "spellnumber" works like an ID, it is needed to specify spells in various object-types. E.g. spellbooks, rods/wands/scrolls, firewalls... etc. IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/guides?rev=1192181338 New Revision: http://wiki.metalforge.net/doku.php/guides -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 08:30:06 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 08:30:06 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: graphics_guide Message-ID: <1197729006.202006.2154.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 08:30 User : kbulgrien Edit Summary: Created initial page for collecting information about drawing graphics. ======Overview====== From no-reply_wiki at metalforge.org Sat Dec 15 08:35:42 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 08:35:42 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:gfx_needing_fixing Message-ID: <1197729342.339203.2163.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 08:35 User : kbulgrien Edit Summary: Reference new page that talks about perspective. @@ -6,8 +6,10 @@ ===== The Newer "standardized" tileset ===== === Change Perspective === Graphics that need the angle they appear at to be changed (and possibly other things). Most of these where probably not converted from the classic tileset yet. + + See the [[:graphics guide|Graphics Guide]] for information about perspective. ^ What ^ Why ^ | bagpipe | Needs new perspective Doesn't fit in, lacks detail, ugly. | | the cannons (cannon_0.111, etc) | Only left/right facing but archetypes for aiming in every direction, all look flat. | IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing?rev=1197329949 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 08:40:32 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 08:40:32 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: faq Message-ID: <1197729632.541253.2181.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 08:40 User : kbulgrien Edit Summary: Replace "Graphics Guide ... in progress" with link to new page. @@ -589,12 +589,13 @@ Can you replicate it? If so, use the bug tracker at [[http://sourceforge.net/tracker/?group_id=13833&atid=113833]] If the bug is tough to track down, see if anyone else is experiencing something similar by sending an email to the Crossfire mailing list or by asking on the Crossfire IRC Channel or by posting on the Crossfire Forum. + ==== 6.5 What are the requirements for creating new graphics? ==== - The Graphic Guide is currently in progress. + See the [[Graphics Guide]] for information relating to Crossfire art. ==== 6.6 I've created some new graphics, how do I test them? ==== IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/faq?rev=1194540220 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 Sat Dec 15 08:42:48 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 08:42:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: join Message-ID: <1197729768.025703.2184.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 08:42 User : kbulgrien Edit Summary: Add reference to Graphics Guide page. @@ -18,9 +18,9 @@ Map and Graphic contributions are much more "free form" then client or server development. As long as the maps follow the [[map_making|Map Guidelines]] and there are no obvious exploits, errors or problems -- many maps (nearly all..) are added to the official distribution. For more information, see the expanded section on [[map_making#map_contributions|Map Contributions]] - Graphics have a pretty good track record of being added as well - just make sure the" style" and "look" of the graphics blend nicely with the existing graphic set. It's best to test new graphics (preview them) in a sample in-game screen shot. Note: There is more to graphics then a .png file - there's also Archetypes. + Graphics have a pretty good track record of being added as well - just make sure the" style" and "look" of the graphics blend nicely with the existing graphic set. It's best to test new graphics (preview them) in a sample in-game screen shot. See the [[Graphics Guide]] for more information. Note: There is more to graphics then a .png file - there's also Archetypes. Archetypes are the specifications that determines many aspects and features of graphics. To name a few; things like the graphic animation sequence, in game features such as how much damage a weapon causes, if an item can be walked on (ex: floor tile) or not walked on (ex: much of the water graphics), and if the object performs a special function (ex: cult altars, money conversion tables) is all determined through archetypes. While adjusting or creating archetypes can be quite a task, the development team can assist on that. Graphics however, are always needed and appreciated. When you want to submit content, please put it on the ([[http://sourceforge.net/tracker/?group_id=13833&atid=313833|patch tracker]]), and optionally leave a note on the discussion mailing list. IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/join?rev=1177476786 New Revision: http://wiki.metalforge.net/doku.php/join -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 09:02:13 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 09:02:13 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo Message-ID: <1197730933.633311.2330.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 09:02 User : kbulgrien Edit Summary: Typo fixes. @@ -1,9 +1,9 @@ ====== TODO List ====== This is a general TODO list for the crossfire project. As brainstormed by [[user:Rednaxela]], and [[user:techolous]] on irc. ====== Development TODO List ====== - This page contains a list of things that are being worked on, or may be implimented in the future. And a place to discuss in depth how a particular feature or change will be implemented. + This page contains a list of things that are being worked on, or may be implemented in the future. And a place to discuss in depth how a particular feature or change will be implemented. An other place to check out would be the [[https://sourceforge.net/tracker/?group_id=13833|sf.net tracker]]. ===== General TODO ===== @@ -28,26 +28,26 @@ === General/Server: === * [[dev_todo:Plugin_Logger]] - Fix the logger plugin, and possibly add more features to make it useful on small machines. It can latter be used for stuff like the [[dev_todo:News Paper]], and placing server statistics on a website. * [[dev_todo:LandPlots|Land Plots]] - Allow a player to purchase land and build on it. * [[dev_todo:buildableshops|Buildable shops]] - Allow a player to build and run shops. - * [[dev_todo:News Paper]] - A newspaper that hilights interensting events on a server (impliment with a script) - * [[dev_todo:Player Clothing]] - Actualy show what the player is wearing, allow them to modify their apperance. - * [[dev_todo:Time of day based events]] - Stuff happining based on the time of day. - * [[dev_todo:Player Economy]] - Let players have more influence on the economy. Need failsafes to prevent runaway inflation (smart npc shops), etc. (will probably need more players to make this work...) + * [[dev_todo:News Paper]] - A newspaper that highlights interesting events on a server (implement with a script) + * [[dev_todo:Player Clothing]] - Actually show what the player is wearing, allow them to modify their appearance. + * [[dev_todo:Time of day based events]] - Stuff happening based on the time of day. + * [[dev_todo:Player Economy]] - Let players have more influence on the economy. Need fail-safes to prevent runaway inflation (smart npc shops), etc. (will probably need more players to make this work...) * [[dev_todo:Quest management system]] - Track, and provide information about quests. * [[dev_todo:Companions]] - Player-owned monsters, behave (mostly) like pets, but longer-lived. * [[dev_todo:Random Name Generator]](script) - Generate random names, for objects, and monsters. === General/Client: === (many of these have a server component, but they're primarily client features) * [[dev_todo:music|Ambient Music]] - Background sounds and music. * Revise [[dev_todo:char_creation|Character Creation]] - Redo character creation, probably with fixed points instead of random, may be in game. - * [[dev_todo:Improved Player Communication]] - Allow chating between servers, and connections just for chatting. + * [[dev_todo:Improved Player Communication]] - Allow chatting between servers, and connections just for chatting. * Joystick support, maybe, if someone has a few hours to throw away ;) === Maps: === * [[:landforms]] - The naming of various landmarks and features in bigworld (should it be done, or left until someone uses one area?) * [[dev_todo:Auction House]] - Place to auction items. * Bigworldify [[dev_todo:Pupland]] - Move pupland onto the world maps - * Fix up and relink [[dev_todo:Kandora]] - Kandora was left out of the conversion from [[:smallworld]] to [[:bigworld]]. It is now one of the many residents of the [[:unlinked]] directory of maps. I think it would be nice if someone fixed up these maps, and reintergrated them into the game. + * Fix up and relink [[dev_todo:Kandora]] - Kandora was left out of the conversion from [[:smallworld]] to [[:bigworld]]. It is now one of the many residents of the [[:unlinked]] directory of maps. I think it would be nice if someone fixed up these maps, and reintegrated them into the game. ==== Technical: ==== Things more related to the internals of the game, that players won't ususaly notice. @@ -57,9 +57,9 @@ ==== Cleanup ==== Things that someone should look at and simplify. * [[dev_todo:Game Balance]] - stuff currently in the game that seems to effect balance, and probably should be discussed - * [[dev_todo:Map Cleanup]] - Go through the maps and take care of broken mechanisms and athstetics. Also simplify and convert old hacks if they are obsolete. + * [[dev_todo:Map Cleanup]] - Go through the maps and take care of broken mechanisms and aesthetics. Also simplify and convert old hacks if they are obsolete. * Server code [[dev_todo:server_cleanup|Cleanup]] - Find, and fix redundant and unused code. Simplify other things. * [[dev_todo:Archetype Cleanup]] - Clean up the Archetypes. ===== Concepts ===== IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo?rev=1161541570 New Revision: http://wiki.metalforge.net/doku.php/dev_todo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 09:05:51 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 09:05:51 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: join Message-ID: <1197731151.827367.2339.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 09:05 User : kbulgrien Edit Summary: Add reference to various todo documents. @@ -10,19 +10,22 @@ * Project documentation (like on this wiki) * Bug testing ([[http://sourceforge.net/tracker/?atid=113833&group_id=13833&func=browse|Report Bugs Here]]. * Graphic development * Creating Maps + ===== Help & Contribute ===== Map and Graphic contributions are much more "free form" then client or server development. As long as the maps follow the [[map_making|Map Guidelines]] and there are no obvious exploits, errors or problems -- many maps (nearly all..) are added to the official distribution. For more information, see the expanded section on [[map_making#map_contributions|Map Contributions]] - Graphics have a pretty good track record of being added as well - just make sure the" style" and "look" of the graphics blend nicely with the existing graphic set. It's best to test new graphics (preview them) in a sample in-game screen shot. See the [[Graphics Guide]] for more information. Note: There is more to graphics then a .png file - there's also Archetypes. + Graphics have a pretty good track record of being added as well - just make sure the" style" and "look" of the graphics blend nicely with the existing graphic set. It's best to test new graphics (preview them) in a sample in-game screen shot. See the [[Graphics Guide]] for more information Note: There is more to graphics then a .png file - there's also Archetypes. Archetypes are the specifications that determines many aspects and features of graphics. To name a few; things like the graphic animation sequence, in game features such as how much damage a weapon causes, if an item can be walked on (ex: floor tile) or not walked on (ex: much of the water graphics), and if the object performs a special function (ex: cult altars, money conversion tables) is all determined through archetypes. While adjusting or creating archetypes can be quite a task, the development team can assist on that. Graphics however, are always needed and appreciated. + + For some ideas of what to work on, consider [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/TODO|arch/TODO]] or [[dev_todo:gfx_needing_fixing]]. When you want to submit content, please put it on the ([[http://sourceforge.net/tracker/?group_id=13833&atid=313833|patch tracker]]), and optionally leave a note on the discussion mailing list. FIXME - Adjustments, updates and changes made to the client or server code requirements IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/join?rev=1197729764 New Revision: http://wiki.metalforge.net/doku.php/join -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 09:19:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 09:19:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: graphics_guide Message-ID: <1197731945.290929.2366.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 09:19 User : kbulgrien Edit Summary: Link technical perspective definition; cross-link graphical todo. @@ -4,6 +4,15 @@ ^ Some coloring/perspective hints/clarifications from David Sundqvist: ^ | Perspective in Crossfire is based on the XY coordinate system of possible player movements, with a slight tilting of the graphics to allow for greater detail and more interesting graphics, since walls have to be in that perspective to allow joining. X and Y in graphics should correspond to X and Y in the object. Z in the object is represented with 2 Y/X. \\ \\ Keeping perspective consistency is mainly important in fixed objects like buildings, walls and other background. | | Light should generally come from the right side, so the left side of buildings should be darker or shaded, as needed. | - | Wind is generally coming from the left side, so smoke or other things affected by wind should be travelling towards the right side. | + | Wind is generally coming from the left side, so smoke or other things affected by wind should be traveling towards the right side. | + ======Reference====== + + =====Technical===== + + The viewpoint used to draw Crossfire perspective is an [[http://en.wikipedia.org/wiki/Oblique_projection|oblique projection]], or, more specifically, a [[http://en.wikipedia.org/wiki/Cavalier_perspective|cavalier perspective]]. + + =====To Do===== + + * [[dev_todo:gfx_needing_fixing|Graphics that need to be fixed]]. IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/graphics_guide?rev=1197729002 New Revision: http://wiki.metalforge.net/doku.php/graphics_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 09:27:48 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 09:27:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:gfx_needing_fixing Message-ID: <1197732469.006141.2381.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 09:27 User : kbulgrien Edit Summary: Some text rework; add link to arch/TODO. @@ -1,8 +1,12 @@ ====== Graphics Needing Fixing ====== - This page is meant to hold a list of faces (graphics) that at least one person thinks sucks badly, or just doesn't fit in with everything else. + This page is meant to hold a list of faces (graphics) that at least one person thinks need improvement, or just doesn't fit in with everything else. - It could be interesting to put the path to the file for easy access :) + For easy access, consider including path information or an [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk|SVN]] link to the referenced . + + ===== SVN TODO ===== + + In addition to using this page, check the SVN [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/TODO TODO]] file for suggested improvements. ===== The Newer "standardized" tileset ===== === Change Perspective === IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing?rev=1197729339 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 09:33:49 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 09:33:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:gfx_needing_fixing Message-ID: <1197732829.506674.2390.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 09:33 User : kbulgrien Edit Summary: Markup corrections. @@ -4,9 +4,9 @@ For easy access, consider including path information or an [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk|SVN]] link to the referenced . ===== SVN TODO ===== - In addition to using this page, check the SVN [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/TODO TODO]] file for suggested improvements. + In addition to using this page, check the SVN [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/TODO|TODO]] file for suggested improvements. ===== The Newer "standardized" tileset ===== === Change Perspective === @@ -52,53 +52,53 @@ | beggar | | monster/humanoid/Arabic/beggar.* | | behemoth | | monster/animal/Behemoth/behemoth.* | | belzebub | | monster/giant/Belzebub/belzebub.* | | big_slave | | monster/humanoid/Arabic/big_slave.* | - | bone_head | Just use skull's image? | + | bone_head | Just use skull's image? | | | byakie | | monster/giant/byakie/byakie.* | - | chicken | - | cold_drag | + | chicken | | | + | cold_drag | | | | cupid | | monster/angel/cupid.* (cherub.arc) | - | dark_elf2 | + | dark_elf2 | | | | djinn | | monster/giant/djinn/djinn.* | | djinn_magenta | | monster/giant/djinn/djinn_magenta.* | | djinn_magenta_big | | monster/giant/djinn/djinn_magenta_big.* | - | drake | - | elec_drag | + | drake | | | + | elec_drag | | | | evil_master | | monster/demon/evil_master.* | | evil_master2 | | monster/demon/evil_master2.* | | evil_master3 | | monster/demon/evil_master3.* | | evil_master4 | | monster/demon/evil_master4.* | - | fae_drag | - | fire_drag | + | fae_drag | | | + | fire_drag | | | | fungus | | monster/animal/fungus.* | | giant_bat | | monster/animal/giant_bat.* | - | giantrat | - | goose | - | hellhound | - | holy_priest | + | giantrat | | | + | goose | | | + | hellhound | | | + | holy_priest | | | | liteangel | | monster/angel/liteangel.* | - | mastif | - | mouse | - | neko | | monster/animal/Neko/neko.* + | mastif | | | + | mouse | | | + | neko | | monster/animal/Neko/neko.* | | ologhi | | monster/goblin/ologhi.* | | para_air | | monster/elemental/Para/para_air.* | | para_earth | | monster/elemental/Para/para_earth.* | | para_ice | unless my version is too bad :) Ryo | monster/elemental/Para/para_ice.* | | para_lava | | monster/elemental/Para/para_lava.* | - | para_light | | monster/elemental/Para/para_light.* | + | para_light | | monster/elemental/Para/para_light.* | | para_mud | | monster/elemental/Para/para_mud.* | | para_water | | monster/elemental/Para/para_water.* | | pet_necro | | monster/acid/pet_necro.* | | pup | | monster/animal/Dog/pup.* | - | sheep | - | slave | - | slimecrawler | + | sheep | | | + | slave | | | + | slimecrawler | | | | snake | | monster/animal/snake.* | | veiled_woman | | monster/humanoid/Arabic/veiled_woman.* | | veiled_woman2 | | monster/humanoid/Arabic/veiled_woman2.* | | veiled_woman3 | | monster/humanoid/Arabic/veiled_woman3.* | - | worthless_dragon | + | worthless_dragon | | === The Ugly === Put stuff here that you think is just plain ugly, thus you think it should be redone. IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing?rev=1197732466 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 10:50:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 10:50:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:gfx_needing_fixing Message-ID: <1197737405.116347.2711.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 10:50 User : kbulgrien Edit Summary: Add mailing list reference to tomato. @@ -28,8 +28,9 @@ | booze.111 | Perspective messed up | | coffee.111 | Perspective messed up | | bag_popcorn.111 | messed up perspective | | ch_burger.111 | messed up perspective | + | [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/food/tomato.base.111.png?revision=4975&view=markup|tomato.base.111]] \\ [[http://mailman.metalforge.org/pipermail/crossfire/2005-December/009747.html|tomato_big.base.111]] | Scale down? Green part on the top as per CF perspective? [[http://mailman.metalforge.org/pipermail/crossfire/2005-December/009747.html|*]] | Don't forget to make these look like their counterpart: ^ what ^ IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing?rev=1197732826 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:gfx_needing_fixing -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 11:10:17 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 11:10:17 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: graphics_guide Message-ID: <1197738617.522500.2867.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 11:10 User : kbulgrien Edit Summary: Add graphics related threads in mailing list archive (to 2005). @@ -15,4 +15,17 @@ =====To Do===== * [[dev_todo:gfx_needing_fixing|Graphics that need to be fixed]]. + + =====Mailing List===== + + ^Archive Link / Date ^ Thread ^ + | [[http://mailman.metalforge.org/pipermail/crossfire/2007-December/thread.html|2007-December]] | Arch repository: layered art files? | + | [[http://mailman.metalforge.org/pipermail/crossfire/2007-April/thread.html|2007-April]] | Getting more artists | + | [[http://mailman.metalforge.org/pipermail/crossfire/2007-February/thread.html|2007-February]] | House sizes | + | [[http://mailman.metalforge.org/pipermail/crossfire/2006-October/thread.html|2006-October]] | Graphics, was Re: IRC traffic for Sunday Oct 22 | + | [[http://mailman.metalforge.org/pipermail/crossfire/2006-May/thread.html|2006-May]] | Modelling monsters, longer animations? \\ On item perspective and monster size \\ Partial transparency | + | [[http://mailman.metalforge.org/pipermail/crossfire/2006-March/thread.html|2006-March]] | Indexed PNGS, was Re: Protocol & compression. | + | [[http://mailman.metalforge.org/pipermail/crossfire/2006-January/thread.html|2006-January]] | Does crossfire now support partial tranparancy of PNG? | + | [[http://mailman.metalforge.org/pipermail/crossfire/2005-December/thread.html|2005-December]] | burned or charred objects (was: More server speed reducing the objects number) | + IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/graphics_guide?rev=1197731943 New Revision: http://wiki.metalforge.net/doku.php/graphics_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 11:22:15 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 11:22:15 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: linux Message-ID: <1197739335.662637.2885.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 11:22 User : kbulgrien Edit Summary: Add a section for emulators like QEMU; link for QEMU example. @@ -171,8 +171,15 @@ (Minor Note: gcfclient stands for **G**TK **C**ross**F**ire **client**) FIXME - Add or update with a GUI install HOWTO for Fedora + + =====Emulators===== + + ====QEMU==== + + * The [[qemu]] page contains information how to use qemu to test/run crossfire on a virtual host. + * The example is based on a Mandriva OS from the [[http://www.oszoo.org/|Free OS Zoo]]. ===== "Others" ===== FIXME - more information for the following "short list" of other Linux distros IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/linux?rev=1196200814 New Revision: http://wiki.metalforge.net/doku.php/linux -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 11:24:10 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 11:24:10 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: qemu Message-ID: <1197739450.480949.2888.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 11:24 User : kbulgrien Edit Summary: Created by moving content from user:kbulgrien This page contains information how to use **qemu** to test **crossfire** on a virtual host. - See [[user:kbulgrien#Mandriva qemu setup for Crossfire testing|Mandriva qemu setup for Crossfire testing]] for instructions on setting a Mandriva virtual system. - Perform the [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]] to create scripts and get Crossfire sources. - Once setup is complete, proceed to [[user:kbulgrien#Development and testing|Development and testing]] to get started on the fun stuff. ======Development and testing====== Choose a package to work on. Processes are described for: * [[user:kbulgrien#Client|Client]] * [[user:kbulgrien#Server|Server]] See the side bar for specific tasks. =====Client===== Boot the virtual machine and open a terminal session. ====Install client dependencies==== ===X11 Client=== ===GTK1 Client=== ===GTK2/Libglade Client=== ==--disable-metaserver2== These are the minimum requirements: $ sudo urpmi libglade2.0_0-devel To satisfy dependencies, the following packages are going to be installed: glib-gettextize libatk1.0_0-devel libcairo2-devel libfontconfig1-devel libfreetype6-devel libgdk_pixbuf2.0_0-devel libglade2.0_0-devel libglib2.0_0-devel libgtk+2.0_0-devel libice6-devel libpango1.0_0-devel libpng3-devel libsm6-devel libx11_6-devel libxau6-devel libxcursor1-devel libxdmcp6-devel libxext6-devel libxfixes3-devel libxft2-devel libxi6-devel libxinerama1-devel libxml2-devel libxrandr2-devel libxrender1-devel x11-proto-devel zlib1-devel Proceed with the installation of the 27 packages? (48 MB) (Y/n) y ====Client configure==== To begin with freshly checked out sources, or to properly process recent modifications to **configure.in**, **configure.ac**, or **Makefile.am** files, a configuration process is invoked as follows: $ cd ~/svn/trunk/client $ bash ../../config.sh Feel free to append build options as arguments to the config.sh command. To find out about what options may be used, try the following command. A few of the more interesting options are shown here. $ ./configure --help --disable-sound Disable sound support default=implement sound support if supported libraries exist --disable-alsa9 Disable ALSA9 sound support default=use alsa9 sound support if alsa9 libraries exist --disable-alsa Disable ALSA sound support default=use alsa sound support if alsa libraries exist --disable-gtkv1 Do not make original gtk client default=make it if available --disable-gtkv2 Do not make gtk-v2 client default=make it if available --enable-cfgtk2 Enable building the original gtkv1 client with GTK+ 2 --disable-sdl Disable linking with the SDL library, default is to use it if available --disable-metaserver2 Do not build in metaserver2 support --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer =====Server===== Boot the virtual machine and open a terminal session. ====Install server dependencies==== ====Server configure==== $ cd ~/svn/trunk/server $ bash ../../config.sh ======Notes about the virtual system environment====== =====Konsole shell===== * On the Mandriva One 2007 virtual machine, the **Konsole** terminal shell seems to have some issues. - In the vi editor, it seems especially difficult to type quote characters (**"**). * A workaround may be to use another editor. One possibility is the **Start | Office | Text Editor**. * Also, installing vim-enhanced as part of the tool set seems to make the situation better. ======Crossfire development workspace setup====== Start the virtual system in a manner similar to: $ cd ~/qemu/mandriva-one-2007-qemu-image $ bash launch.sh Boot the virtual machine. Launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. =====Create a work area for the development sources===== Set up a work area for the crossfire sources. $ cd ~ $ mkdir -p svn/trunk $ cd svn =====Create some utility scripts===== ====Scripts to facilitate use of svn==== This example will presume the use of //trunk// sources. Feel free to deviate from these instructions to reduce the size of the workspace and the amount of data that must be downloaded. Create a shell script called **svn-co.sh** that contains the following: ===svn-co.sh=== #!/bin/bash # for dir in arch client maps server sounds do svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/${dir}/trunk trunk/${dir} done echo ===svn-up.sh=== Create another shell script called **svn-up.sh** as follows: #!/bin/bash # for co in trunk do for dir in arch client maps server sounds do WORKING=${co}/${dir} if [ -d ${CWD}/${WORKING} ] then echo; echo ${WORKING}; echo cd ${CWD}/${WORKING} svn update cd ${CWD} done done echo ====Scripts to facilitate development==== ===config.sh=== Create yet another shell script called **config.sh** as follows: #!/bin/bash # export CFLAGS="-ggdb -g -O0" bash autogen.sh --prefix=${HOME} ${*} echo ====Backup scripts on the host box==== Just to be safe, save the scripts just created outside of the virtual box to make it easier to recover them if the virtual box is rebuilt. Furthermore, they are as useful there as they are on the virtual system... In the following example, replace **** with your user account on the host system. Do not include the less-than and greater-than symbols. $ cd ~/svn $ scp *.sh @10.0.2.2:/home//qemu =====Checkout the Crossfire sources===== Execute the **svn-co.sh** script to check out the development sources. $ cd ~/svn $ bash svn-co.sh Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. Make a backup of the virtual box that only has the Crossfire sources installed on it and **//does not//** have the client or server dependencies installed. On the host computer, execute the following commands: $ cd ~/qemu $ tar -cjf mandriva-one-2007-qemu-image.cfsvn.tar.bz2 mandriva-one-2007-qemu-image The reason to do this backup is so that it becomes possible to undo the installation of libraries that the Crossfire sources depend on. The main reason to do it is to avoid having to re-checkout the svn sources just to retry dependency checking. Proceed to [[user:kbulgrien#Development and testing|Development and testing]]. =======Mandriva qemu setup for Crossfire testing====== =====What packages are there?===== $ urpmq --fuzzy qemu\\ [[user:kbulgrien#dkms-kqemu|dkms-kqemu]]\\ [[user:kbulgrien#qemu|qemu]]\\ [[user:kbulgrien#qemu-img|qemu-img]]\\ [[user:kbulgrien#qemu-launcher|qemu-launcher]]\\ =====Installation===== $ sudo urpmi qemu dkms-kqemu qemu-img qemu-launcher To satisfy dependencies, the following packages are going to be installed: dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64 perl-Gtk2-GladeXML-1.005-1mdk.x86_64 qemu-0.9.0-6mdv2007.0.x86_64 qemu-img-0.9.0-6mdv2007.0.x86_64 qemu-launcher-1.7.0-1mdv2007.0.noarch Proceed with the installation of the 5 packages? (11 MB) (Y/n) y ... installing qemu-launcher-1.7.0-1mdv2007.0.noarch.rpm perl-Gtk2-GladeXML-1.005-1mdk.x86_64.rpm dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64.rpm qemu-0.9.0-6mdv2007.0.x86_64.rpm qemu-img-0.9.0-6mdv2007.0.x86_64.rpm from /var/cache/urpmi/rpms Preparing... ############################################# 1/5: qemu-img ############################################# 2/5: dkms-kqemu ############################################# + /usr/sbin/dkms --rpm_safe_upgrade add -m kqemu -v 1.3.0pre11-3 Creating symlink /var/lib/dkms/kqemu/1.3.0pre11-3/source -> /usr/src/kqemu-1.3.0pre11-3 DKMS: add Completed. + /usr/sbin/dkms --rpm_safe_upgrade build -m kqemu -v 1.3.0pre11-3 Preparing kernel 2.6.17-14mdv for module build: (This is not compiling a kernel, just preparing kernel symbols) Storing current .config to be restored when complete Running Mandrakelinux style preparation routine make clean....(bad exit status: 2) using /proc/config.gz make oldconfig....(bad exit status: 2) running dkms_mkkerneldoth.... Building module: cleaning build area....(bad exit status: 2) ./configure --kernel-path=/lib/modules/2.6.17-14mdv/source && make....... cleaning build area.... DKMS: build Completed. + /usr/sbin/dkms --rpm_safe_upgrade install -m kqemu -v 1.3.0pre11-3 Running module version sanity check. kqemu.ko.gz: - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/2.6.17-14mdv/kernel/3rdparty/kqemu/ depmod..... DKMS: install Completed. + /sbin/modprobe kqemu 3/5: perl-Gtk2-GladeXML ############################################# 4/5: qemu-launcher ############################################# 5/5: qemu ############################################# $ =====Verification===== $ sudo lsmod | grep qemu kqemu 163368 0 Note: Using the kernel plug-in may or may not work well. The author's experience was that the mouse froze and X on the host machine needed to be restarted. Therefore, this example does not actually use the kernel plug-in, though your mileage may vary. To try using the plug-in, refer to **README.txt** in the virtual box directory, and alter launch.sh to include the command argument //-kernel-kqemu//. =====OS Setup===== Operating system images may be found at [[http://www.oszoo.org/wiki/index.php/Main_Page|oszoo.org]]. This example uses [[http://www.oszoo.org/wiki/index.php/Mandriva-one-2007-qemu-image.zip|Mandriva-One-2007]]. Download the .zip file... for purposes of this example to /home//Download/mandriva-one-2007-qemu-image.zip $ cd ~ $ mkdir qemu $ cd qemu $ unzip ~/Download/mandriva-one-2007-qemu-image.zip Archive: /home/krb/Download/mandriva-one-2007-qemu-image.zip creating: mandriva-one-2007-qemu-image/ inflating: mandriva-one-2007-qemu-image/mandriva-one-2007.qcow.img inflating: mandriva-one-2007-qemu-image/mandriva-one-screen-shot.gif inflating: mandriva-one-2007-qemu-image/README.txt $ cd mandriva-one-2007-qemu-image NOTE: If you are not using an x86_64 system, the qemu command will vary based on your system. $ ls -l /usr/bin/qemu* lrwxrwxrwx 1 root root 18 Sep 2 11:20 /usr/bin/qemu -> qemu-system-x86_64* -rwxr-xr-x 1 root root 355832 Apr 18 09:40 /usr/bin/qemu-arm* -rwxr-xr-x 1 root root 359552 Apr 18 09:40 /usr/bin/qemu-armeb* -rwxr-xr-x 1 root root 513648 Apr 18 09:40 /usr/bin/qemu-i386* -rwxr-xr-x 1 root root 123872 Apr 18 09:40 /usr/bin/qemu-img* -rwxr-xr-x 1 root root 58646 Aug 14 2006 /usr/bin/qemu-launcher* -rwxr-xr-x 1 root root 454416 Apr 18 09:40 /usr/bin/qemu-ppc* -rwxr-xr-x 1 root root 487968 Apr 18 09:40 /usr/bin/qemu-sparc* -rwxr-xr-x 1 root root 744880 Apr 18 09:40 /usr/bin/qemu-system-arm* -rwxr-xr-x 1 root root 1209152 Apr 18 09:40 /usr/bin/qemu-system-i386* -rwxr-xr-x 1 root root 1094848 Apr 18 09:40 /usr/bin/qemu-system-mips* -rwxr-xr-x 1 root root 995632 Apr 18 09:40 /usr/bin/qemu-system-ppc* -rwxr-xr-x 1 root root 871688 Apr 18 09:40 /usr/bin/qemu-system-sparc* -rwxr-xr-x 1 root root 1366240 Apr 18 09:40 /usr/bin/qemu-system-x86_64* NOTE: The following echo command will create a launch script to start up the virtual system. Please note that the //-m 1024// option allocates 1Gb of RAM to the virtual system. If the host system does not have that much free RAM, you must lower the number accordingly. $ echo qemu-system-x86_64 -L . -hda mandriva-one-2007.qcow.img -m 1024 -boot c >launch.sh $ cp /usr/share/qemu/*.bin . $ bash launch.sh A QEMU/KQEMU window appears with a Mandriva boot menu. Select **linux-nonfb** and press //Enter//. The virtual system will boot up and eventually present you with a KDE desktop. You are auto-logged in as a user named ''tux''. If you click inside that window, your mouse pointer will be trapped inside the window until you press //Ctrl-Alt//, so keep this in mind whenever you wish to switch back and forth between the host and the virtual system. A **Mandriva Linux** window will pop up. Uncheck the **Open this window on startup** box, and press the **Close** button. On a 3.6 Ghz CoreDuo system with 1Gb of RAM, the virtual system runs very fast, and it is very difficult to use the keyboard because keys repeat. The first thing to do, then, is to slow down or disable the key repeat. Start the **KDE Control Center** by clicking **Star | System | Control Center**. Navigate to **Peripherals | Keyboard** and set **Delay** to about //1000 msec//, or uncheck the **Enable keyboard repeat** check box. Click the **Apply** button, and close the **KDE Control Center** with **File | Quit**. =====About your virtual system===== * The ''tux'' and ''root'' account passwords are both ''qemuisgreat''. * The system's IP address is ''10.0.2.15''. * The host system's IP address is ''10.0.2.2''. * The virtual system has access the internet if the host system has access. =====About your host system===== This example makes certain presumptions about your host system set up. Among them are: * It is possible to //ssh// into your user account on the host system from **localhost**, and, that //scp// is installed. * Your host system has internet access. =====About your skills===== This example does presume some things about your skills. * You can use the **vi** editor, or can figure out how to find and use a different text editor on your own. * You are reasonably comfortable with using a BASH command-line when directed about what to type. =====Setting up the tool chain===== ====Give tux sudo privileges==== First, you will need ''root'' access from time to time, so set that up first. Open up a terminal session by clicking the **Terminal Program** icon on the start bar. Size and configure it to taste, and settle in for a session at the command prompt. The prompt will look like: [tux at localhost ~]$ $ su -l root -c urpmi\ sudo Password: ftp://ftp.u-strasbg.fr... installing sudo... Preparing... 1/1: sudo... Remember, the password was documented above in [[user:kbulgrien#About your virtual system|About your virtual system]]. $ su -l root -c visudo You are in the //vim// editor. Use the arrow keys to move down to the first character of the line that reads: # %wheel ALL=(ALL) ALL Press ''xx:wq''. Teaching you how to use ''vim'' is outside of the scope of this tutorial, so from here on, you are on your own. When you did it correctly, the above line will look like: %wheel ALL=(ALL) ALL To finally give ''tux'' sudo rights, enter the following command. $ su -l root -c usermod\ -G\ wheel\ tux ====Set up a toolchain==== $ sudo urpmi autoconf2.5 automake cproto gcc gdb libtool make subversion To satisfy dependencies, the following packages are going to be installed: autoconf2.1... autoconf2.5... automake1.8... binutils... cproto... gcc... glibc-devel... libapr-util1... libapr1... libbinutils2... libsvn0... libtool... libtool-base... m4... make subversion... Proceed with the installation of the 17 packages? (43 MB) (Y/n) y ... $ sudo urpmi makedepend patch tree $ sudo urpmi vim-enhanced To satisfy dependencies, the following packages are going to be installed: vim-common... vim-enhanced... Proceed with the installation of the 2 packages? (20 MB) (Y/n) y ... $ exit Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. Make a backup of a clean virtual box that only has the development tools installed on it. On the host computer, execute the following commands: $ cd ~/qemu $ tar -cjf mandriva-one-2007-qemu-image.devel.tar.bz2 mandriva-one-2007-qemu-image The reason to do this backup is so that it becomes possible to checkout, build, and test Crossfire sources on a clean system. It also gives us a backup that we can modify in the event that other tools need to be added to the clean development image. Proceed to [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. ======qemu packages====== The following Mandriva packages are available via urpmi. =====qemu===== QEMU is a FAST! processor emulator. By using dynamic translation it achieves a reasonnable speed while being easy to port on new host CPUs. QEMU has two operating modes: * User mode emulation. In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. Linux system calls are converted because of endianness and 32/64 bit mismatches. Wine (Windows emulation) and DOSEMU (DOS emulation) are the main targets for QEMU. * Full system emulation. In this mode, QEMU emulates a full system, including a processor and various peripherials. Currently, it is only used to launch an x86 Linux kernel on an x86 Linux system. It enables easier testing and debugging of system code. It can also be used to provide virtual hosting of several virtual PC on a single server. This QEMU package provides support for KQEMU, the QEMU Accelerator module. This QEMU package provides support for KVM (Kernel-based Virtual Machine), a full virtualization solution for Linux on x86 hardware containing virtualization extensions (AMD-v or Intel VT). =====qemu-img===== This package contains the QEMU disk image utility that is used to create, commit, convert and get information from a disk image. =====qemu-launcher===== A launcher for Qemu that manages Qemu configs and creates disk images Qemu-launcher provides a point and click interface to Qemu. It also allows you to create, save, load, and run multiple Qemu VM configurations. It has a basic interface for creating or convertering disk images. =====dkms-kqemu===== QEMU Accelerator (KQEMU) is a driver allowing the QEMU PC emulator to run much faster when emulating a PC on an x86 host. Full virtualization mode can also be enabled (with -kernel-kqemu) for best performance. This mode only works with the following guest OSes: Linux 2.4, Linux 2.6, Windows 2000 and Windows XP. WARNING: for Windows 2000/XP, you cannot use it during installation. Use "qemu-system-x86_64" to benefit from the QEMU Accelerator Module. ====== IP-Address : 70.254.39.97 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/qemu -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 11:36:14 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 11:36:14 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:kbulgrien Message-ID: <1197740174.962850.2909.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 11:36 User : kbulgrien Edit Summary: Remove content to [[qemu]]; add simple introduction. @@ -1,487 +1,9 @@ - This page contains information how to use **qemu** to test **crossfire** on a virtual host. + ======Long Live Crossfire!====== - - See [[user:kbulgrien#Mandriva qemu setup for Crossfire testing|Mandriva qemu setup for Crossfire testing]] for instructions on setting a Mandriva virtual system. - - Perform the [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]] to create scripts and get Crossfire sources. - - Once setup is complete, proceed to [[user:kbulgrien#Development and testing|Development and testing]] to get started on the fun stuff. + * The Absolutely Real Thing - ======Development and testing====== + ======Introduction====== - Choose a package to work on. Processes are described for: + * Long-time player, patcher, documenter, coder... + * Non-prolific contributor with primarily low-profile changes, but a long-standing fan and contributor... - * [[user:kbulgrien#Client|Client]] - * [[user:kbulgrien#Server|Server]] - - See the side bar for specific tasks. - - =====Client===== - - Boot the virtual machine and open a terminal session. - - - - ====Install client dependencies==== - - ===X11 Client=== - - ===GTK1 Client=== - - ===GTK2/Libglade Client=== - - ==--disable-metaserver2== - - These are the minimum requirements: - - $ sudo urpmi libglade2.0_0-devel - To satisfy dependencies, the following packages are going to be installed: - glib-gettextize - libatk1.0_0-devel - libcairo2-devel - libfontconfig1-devel - libfreetype6-devel - libgdk_pixbuf2.0_0-devel - libglade2.0_0-devel - libglib2.0_0-devel - libgtk+2.0_0-devel - libice6-devel - libpango1.0_0-devel - libpng3-devel - libsm6-devel - libx11_6-devel - libxau6-devel - libxcursor1-devel - libxdmcp6-devel - libxext6-devel - libxfixes3-devel - libxft2-devel - libxi6-devel - libxinerama1-devel - libxml2-devel - libxrandr2-devel - libxrender1-devel - x11-proto-devel - zlib1-devel - Proceed with the installation of the 27 packages? (48 MB) (Y/n) y - - - - ====Client configure==== - - To begin with freshly checked out sources, or to properly process recent modifications to **configure.in**, **configure.ac**, or **Makefile.am** files, a configuration process is invoked as follows: - - $ cd ~/svn/trunk/client - $ bash ../../config.sh - - Feel free to append build options as arguments to the config.sh command. To find out about what options may be used, try the following command. A few of the more interesting options are shown here. - - $ ./configure --help - - --disable-sound Disable sound support default=implement sound support if supported libraries exist - --disable-alsa9 Disable ALSA9 sound support default=use alsa9 sound support if alsa9 libraries exist - --disable-alsa Disable ALSA sound support default=use alsa sound support if alsa libraries exist - --disable-gtkv1 Do not make original gtk client default=make it if available - --disable-gtkv2 Do not make gtk-v2 client default=make it if available - --enable-cfgtk2 Enable building the original gtkv1 client with GTK+ 2 - --disable-sdl Disable linking with the SDL library, default is to use it if available - --disable-metaserver2 Do not build in metaserver2 support - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - - =====Server===== - - Boot the virtual machine and open a terminal session. - - ====Install server dependencies==== - - ====Server configure==== - - $ cd ~/svn/trunk/server - $ bash ../../config.sh - - ======Notes about the virtual system environment====== - - - =====Konsole shell===== - - * On the Mandriva One 2007 virtual machine, the **Konsole** terminal shell seems to have some issues. - - In the vi editor, it seems especially difficult to type quote characters (**"**). - * A workaround may be to use another editor. One possibility is the **Start | Office | Text Editor**. - * Also, installing vim-enhanced as part of the tool set seems to make the situation better. - - ======Crossfire development workspace setup====== - - Start the virtual system in a manner similar to: - - $ cd ~/qemu/mandriva-one-2007-qemu-image - $ bash launch.sh - - Boot the virtual machine. - - Launch a terminal by clicking the **Terminal Program** icon on the **Start Bar**. It is the icon that looks like a monitor. Size and/or configure the terminal to taste as it will be used heavily. - - - =====Create a work area for the development sources===== - - Set up a work area for the crossfire sources. - - $ cd ~ - $ mkdir -p svn/trunk - $ cd svn - - =====Create some utility scripts===== - - ====Scripts to facilitate use of svn==== - - This example will presume the use of //trunk// sources. Feel free to deviate from these instructions to reduce the size of the workspace and the amount of data that must be downloaded. Create a shell script called **svn-co.sh** that contains the following: - - ===svn-co.sh=== - - #!/bin/bash - # - for dir in arch client maps server sounds - do - svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/${dir}/trunk trunk/${dir} - done - echo - - ===svn-up.sh=== - - Create another shell script called **svn-up.sh** as follows: - - #!/bin/bash - # - for co in trunk - do - for dir in arch client maps server sounds - do - WORKING=${co}/${dir} - if [ -d ${CWD}/${WORKING} ] - then - echo; echo ${WORKING}; echo - cd ${CWD}/${WORKING} - svn update - cd ${CWD} - done - done - echo - - ====Scripts to facilitate development==== - - ===config.sh=== - - Create yet another shell script called **config.sh** as follows: - - #!/bin/bash - # - export CFLAGS="-ggdb -g -O0" - bash autogen.sh --prefix=${HOME} ${*} - echo - - - ====Backup scripts on the host box==== - - Just to be safe, save the scripts just created outside of the virtual box to make it easier to recover them if the virtual box is rebuilt. Furthermore, they are as useful there as they are on the virtual system... - - In the following example, replace **** with your user account on the host system. Do not include the less-than and greater-than symbols. - - $ cd ~/svn - $ scp *.sh @10.0.2.2:/home//qemu - - - =====Checkout the Crossfire sources===== - - Execute the **svn-co.sh** script to check out the development sources. - - $ cd ~/svn - $ bash svn-co.sh - - Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. - - Make a backup of the virtual box that only has the Crossfire sources installed on it and **//does not//** have the client or server dependencies installed. On the host computer, execute the following commands: - - $ cd ~/qemu - $ tar -cjf mandriva-one-2007-qemu-image.cfsvn.tar.bz2 mandriva-one-2007-qemu-image - - The reason to do this backup is so that it becomes possible to undo the installation of libraries that the Crossfire sources depend on. The main reason to do it is to avoid having to re-checkout the svn sources just to retry dependency checking. - - Proceed to [[user:kbulgrien#Development and testing|Development and testing]]. - - =======Mandriva qemu setup for Crossfire testing====== - - =====What packages are there?===== - - $ urpmq --fuzzy qemu\\ - [[user:kbulgrien#dkms-kqemu|dkms-kqemu]]\\ - [[user:kbulgrien#qemu|qemu]]\\ - [[user:kbulgrien#qemu-img|qemu-img]]\\ - [[user:kbulgrien#qemu-launcher|qemu-launcher]]\\ - - =====Installation===== - - $ sudo urpmi qemu dkms-kqemu qemu-img qemu-launcher - To satisfy dependencies, the following packages are going to be installed: - dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64 - perl-Gtk2-GladeXML-1.005-1mdk.x86_64 - qemu-0.9.0-6mdv2007.0.x86_64 - qemu-img-0.9.0-6mdv2007.0.x86_64 - qemu-launcher-1.7.0-1mdv2007.0.noarch - Proceed with the installation of the 5 packages? (11 MB) (Y/n) y - ... - installing qemu-launcher-1.7.0-1mdv2007.0.noarch.rpm perl-Gtk2-GladeXML-1.005-1mdk.x86_64.rpm dkms-kqemu-1.3.0-0.pre11.3mdv2007.0.x86_64.rpm - qemu-0.9.0-6mdv2007.0.x86_64.rpm qemu-img-0.9.0-6mdv2007.0.x86_64.rpm from /var/cache/urpmi/rpms - Preparing... ############################################# - 1/5: qemu-img ############################################# - 2/5: dkms-kqemu ############################################# - + /usr/sbin/dkms --rpm_safe_upgrade add -m kqemu -v 1.3.0pre11-3 - - Creating symlink /var/lib/dkms/kqemu/1.3.0pre11-3/source -> - /usr/src/kqemu-1.3.0pre11-3 - - DKMS: add Completed. - + /usr/sbin/dkms --rpm_safe_upgrade build -m kqemu -v 1.3.0pre11-3 - - Preparing kernel 2.6.17-14mdv for module build: - (This is not compiling a kernel, just preparing kernel symbols) - Storing current .config to be restored when complete - Running Mandrakelinux style preparation routine - make clean....(bad exit status: 2) - using /proc/config.gz - make oldconfig....(bad exit status: 2) - running dkms_mkkerneldoth.... - - Building module: - cleaning build area....(bad exit status: 2) - ./configure --kernel-path=/lib/modules/2.6.17-14mdv/source && make....... - cleaning build area.... - - DKMS: build Completed. - + /usr/sbin/dkms --rpm_safe_upgrade install -m kqemu -v 1.3.0pre11-3 - Running module version sanity check. - - kqemu.ko.gz: - - Original module - - No original module exists within this kernel - - Installation - - Installing to /lib/modules/2.6.17-14mdv/kernel/3rdparty/kqemu/ - - depmod..... - - DKMS: install Completed. - + /sbin/modprobe kqemu - 3/5: perl-Gtk2-GladeXML ############################################# - 4/5: qemu-launcher ############################################# - 5/5: qemu ############################################# - $ - - - =====Verification===== - - $ sudo lsmod | grep qemu - kqemu 163368 0 - - Note: Using the kernel plug-in may or may not work well. The author's experience was that the mouse froze and X on the host machine needed to be restarted. Therefore, this example does not actually use the kernel plug-in, though your mileage may vary. To try using the plug-in, refer to **README.txt** in the virtual box directory, and alter launch.sh to include the command argument //-kernel-kqemu//. - - - =====OS Setup===== - - Operating system images may be found at [[http://www.oszoo.org/wiki/index.php/Main_Page|oszoo.org]]. - - This example uses [[http://www.oszoo.org/wiki/index.php/Mandriva-one-2007-qemu-image.zip|Mandriva-One-2007]]. - - Download the .zip file... for purposes of this example to /home//Download/mandriva-one-2007-qemu-image.zip - - $ cd ~ - $ mkdir qemu - $ cd qemu - $ unzip ~/Download/mandriva-one-2007-qemu-image.zip - Archive: /home/krb/Download/mandriva-one-2007-qemu-image.zip - creating: mandriva-one-2007-qemu-image/ - inflating: mandriva-one-2007-qemu-image/mandriva-one-2007.qcow.img - inflating: mandriva-one-2007-qemu-image/mandriva-one-screen-shot.gif - inflating: mandriva-one-2007-qemu-image/README.txt - $ cd mandriva-one-2007-qemu-image - - NOTE: If you are not using an x86_64 system, the qemu command will vary based on your system. - - $ ls -l /usr/bin/qemu* - lrwxrwxrwx 1 root root 18 Sep 2 11:20 /usr/bin/qemu -> qemu-system-x86_64* - -rwxr-xr-x 1 root root 355832 Apr 18 09:40 /usr/bin/qemu-arm* - -rwxr-xr-x 1 root root 359552 Apr 18 09:40 /usr/bin/qemu-armeb* - -rwxr-xr-x 1 root root 513648 Apr 18 09:40 /usr/bin/qemu-i386* - -rwxr-xr-x 1 root root 123872 Apr 18 09:40 /usr/bin/qemu-img* - -rwxr-xr-x 1 root root 58646 Aug 14 2006 /usr/bin/qemu-launcher* - -rwxr-xr-x 1 root root 454416 Apr 18 09:40 /usr/bin/qemu-ppc* - -rwxr-xr-x 1 root root 487968 Apr 18 09:40 /usr/bin/qemu-sparc* - -rwxr-xr-x 1 root root 744880 Apr 18 09:40 /usr/bin/qemu-system-arm* - -rwxr-xr-x 1 root root 1209152 Apr 18 09:40 /usr/bin/qemu-system-i386* - -rwxr-xr-x 1 root root 1094848 Apr 18 09:40 /usr/bin/qemu-system-mips* - -rwxr-xr-x 1 root root 995632 Apr 18 09:40 /usr/bin/qemu-system-ppc* - -rwxr-xr-x 1 root root 871688 Apr 18 09:40 /usr/bin/qemu-system-sparc* - -rwxr-xr-x 1 root root 1366240 Apr 18 09:40 /usr/bin/qemu-system-x86_64* - - NOTE: The following echo command will create a launch script to start up the virtual system. Please note that the //-m 1024// option allocates 1Gb of RAM to the virtual system. If the host system does not have that much free RAM, you must lower the number accordingly. - - $ echo qemu-system-x86_64 -L . -hda mandriva-one-2007.qcow.img -m 1024 -boot c >launch.sh - $ cp /usr/share/qemu/*.bin . - $ bash launch.sh - - A QEMU/KQEMU window appears with a Mandriva boot menu. Select **linux-nonfb** and press //Enter//. The virtual system will boot up and eventually present you with a KDE desktop. You are auto-logged in as a user named ''tux''. - - If you click inside that window, your mouse pointer will be trapped inside the window until you press //Ctrl-Alt//, so keep this in mind whenever you wish to switch back and forth between the host and the virtual system. - - A **Mandriva Linux** window will pop up. Uncheck the **Open this window on startup** box, and press the **Close** button. - - On a 3.6 Ghz CoreDuo system with 1Gb of RAM, the virtual system runs very fast, and it is very difficult to use the keyboard because keys repeat. The first thing to do, then, is to slow down or disable the key repeat. Start the **KDE Control Center** by clicking **Star | System | Control Center**. Navigate to **Peripherals | Keyboard** and set **Delay** to about //1000 msec//, or uncheck the **Enable keyboard repeat** check box. Click the **Apply** button, and close the **KDE Control Center** with **File | Quit**. - - =====About your virtual system===== - - * The ''tux'' and ''root'' account passwords are both ''qemuisgreat''. - * The system's IP address is ''10.0.2.15''. - * The host system's IP address is ''10.0.2.2''. - * The virtual system has access the internet if the host system has access. - - =====About your host system===== - - This example makes certain presumptions about your host system set up. Among them are: - - * It is possible to //ssh// into your user account on the host system from **localhost**, and, that //scp// is installed. - * Your host system has internet access. - - =====About your skills===== - - This example does presume some things about your skills. - - * You can use the **vi** editor, or can figure out how to find and use a different text editor on your own. - * You are reasonably comfortable with using a BASH command-line when directed about what to type. - - =====Setting up the tool chain===== - - - - ====Give tux sudo privileges==== - - First, you will need ''root'' access from time to time, so set that up first. Open up a terminal session by clicking the **Terminal Program** icon on the start bar. Size and configure it to taste, and settle in for a session at the command prompt. The prompt will look like: - - [tux at localhost ~]$ - - $ su -l root -c urpmi\ sudo - Password: - - ftp://ftp.u-strasbg.fr... - installing sudo... - Preparing... - 1/1: sudo... - - Remember, the password was documented above in [[user:kbulgrien#About your virtual system|About your virtual system]]. - - $ su -l root -c visudo - - You are in the //vim// editor. Use the arrow keys to move down to the first character of the line that reads: - - # %wheel ALL=(ALL) ALL - - Press ''xx:wq''. Teaching you how to use ''vim'' is outside of the scope of this tutorial, so from here on, you are on your own. When you did it correctly, the above line will look like: - - %wheel ALL=(ALL) ALL - - To finally give ''tux'' sudo rights, enter the following command. - - $ su -l root -c usermod\ -G\ wheel\ tux - - ====Set up a toolchain==== - - $ sudo urpmi autoconf2.5 automake cproto gcc gdb libtool make subversion - To satisfy dependencies, the following packages are going to be installed: - autoconf2.1... - autoconf2.5... - automake1.8... - binutils... - cproto... - gcc... - glibc-devel... - libapr-util1... - libapr1... - libbinutils2... - libsvn0... - libtool... - libtool-base... - m4... - make - subversion... - Proceed with the installation of the 17 packages? (43 MB) (Y/n) y - ... - $ sudo urpmi makedepend patch tree - $ sudo urpmi vim-enhanced - To satisfy dependencies, the following packages are going to be installed: - vim-common... - vim-enhanced... - Proceed with the installation of the 2 packages? (20 MB) (Y/n) y - ... - $ exit - - Shut down the virtual system with **Star | Log Out... | Turn Off Computer**. - - Make a backup of a clean virtual box that only has the development tools installed on it. On the host computer, execute the following commands: - - $ cd ~/qemu - $ tar -cjf mandriva-one-2007-qemu-image.devel.tar.bz2 mandriva-one-2007-qemu-image - - The reason to do this backup is so that it becomes possible to checkout, build, and test Crossfire sources on a clean system. It also gives us a backup that we can modify in the event that other tools need to be added to the clean development image. - - Proceed to [[user:kbulgrien#Crossfire development workspace setup|Crossfire development workspace setup]]. - - ======qemu packages====== - - The following Mandriva packages are available via urpmi. - - =====qemu===== - - QEMU is a FAST! processor emulator. By using dynamic translation it - achieves a reasonnable speed while being easy to port on new host - CPUs. QEMU has two operating modes: - - * User mode emulation. In this mode, QEMU can launch Linux processes - compiled for one CPU on another CPU. Linux system calls are - converted because of endianness and 32/64 bit mismatches. Wine - (Windows emulation) and DOSEMU (DOS emulation) are the main targets - for QEMU. - - * Full system emulation. In this mode, QEMU emulates a full system, - including a processor and various peripherials. Currently, it is - only used to launch an x86 Linux kernel on an x86 Linux system. It - enables easier testing and debugging of system code. It can also be - used to provide virtual hosting of several virtual PC on a single - server. - - This QEMU package provides support for KQEMU, the QEMU Accelerator - module. - - This QEMU package provides support for KVM (Kernel-based Virtual - Machine), a full virtualization solution for Linux on x86 hardware - containing virtualization extensions (AMD-v or Intel VT). - - =====qemu-img===== - - This package contains the QEMU disk image utility that is used to - create, commit, convert and get information from a disk image. - - =====qemu-launcher===== - - A launcher for Qemu that manages Qemu configs and creates disk images - Qemu-launcher provides a point and click interface to Qemu. It also - allows you to create, save, load, and run multiple Qemu VM - configurations. It has a basic interface for creating or convertering - disk images. - - =====dkms-kqemu===== - - QEMU Accelerator (KQEMU) is a driver allowing the QEMU PC emulator to - run much faster when emulating a PC on an x86 host. - - Full virtualization mode can also be enabled (with -kernel-kqemu) for - best performance. This mode only works with the following guest OSes: - Linux 2.4, Linux 2.6, Windows 2000 and Windows XP. WARNING: for - Windows 2000/XP, you cannot use it during installation. - - Use "qemu-system-x86_64" to benefit from the QEMU Accelerator Module. - - ====== IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien?rev=1188861211 New Revision: http://wiki.metalforge.net/doku.php/user:kbulgrien -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 13:50:19 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 13:50:19 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: start Message-ID: <1197748219.835896.3369.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 13:50 User : kbulgrien Edit Summary: Add a humor page link. @@ -30,8 +30,9 @@ * [[dev_todo_new|Unified TODO list]] - Unified TODO list of everything that should be done in crossfire. * [[People]] - Developers and other active members of the Crossfire community. * [[Servers]] - Information about various servers (guilds, etc). * [[wiki:Style Guide]] - Loose guidelines of style for the wiki. + * [[Humor]] - Is there any humor in Crossfire? * [[FAQ]] - Frequently Asked Questions. [[http://crossfire.real-time.com|Crossfire]] is a [[client-server]] based game. \\ The current version for the server is 1.10.0\\ IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/start?rev=1192486760 New Revision: http://wiki.metalforge.net/doku.php/start -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 15 13:53:25 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 Dec 2007 13:53:25 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: humor Message-ID: <1197748405.173770.3372.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/15 13:53 User : kbulgrien Edit Summary: Created initial content... Tag... You're it. ======Mailing List====== =====Here a fork, there a fork, everywhere a fork, fork...====== * [[http://shadowknight.real-time.com/pipermail/crossfire/2006-April/010387.html|[crossfire] Yet another crossfire fork. Recruiting.]] IP-Address : 70.254.39.97 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/humor -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 05:44:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 05:44:39 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython:tod Message-ID: <1197805479.948732.5099.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 05:44 User : tchize Edit Summary: @@ -62,17 +62,18 @@ For demonstration of the scripts, mapmakers are invited to take a look at the demo maps at [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/test/tod|test/tod]] and [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/test/tod2|test/tod2]] ===== Available scripts ===== + ==== Filtering ==== **Script** /python/tod/filter.py - **Description** TODO + **Description** Prevent the event this filter is attached to to occurs at specific period of the day. This can stop a lever (event_apply) from working, prevent a magic hear (event_say) from hearing anything, prevent a gate (event_trigger) from opening. **Parameters** * **when**(list): periods of day when this filter lets event it is attached to happen. - * **match**: one or all, whethever only one match in list is needed or all must match current time - * **inverse**: if true, a match is seen as a non-match and vice version. See that as a "everytime except when ...." rule + * **match**: "one" or "all", whethever only one match in list is needed or all must match current time + * **inverse**: if true, a match is seen as a non-match and a non-match is seen as a match. See that as a "everytime except when ...." rule ==== Pushing ==== **Script** /python/tod/push.py IP-Address : 87.67.125.144 Old Revision: http://wiki.metalforge.net/doku.php/cfpython:tod?rev=1195772285 New Revision: http://wiki.metalforge.net/doku.php/cfpython:tod -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 05:46:28 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 05:46:28 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython:tod Message-ID: <1197805588.738717.5108.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 05:46 User : tchize Edit Summary: @@ -19,8 +19,9 @@ "match" : "one" } I hope to see gridarta editor be able to edit such structure for you, but until then you will have to do it by hand. It's not very complex to understand anyway. + ==== Period type parameter values ==== All time based scripts use the notion of period name, as can be found in following table. The names are case sensitive. ^ name of period ^ description ^ @@ -59,9 +60,9 @@ |Noon| Between 13:00 am and 1:00 pm | |Evening| Between 1:00 pm and 6:00 pm | |Dusk| Between 6:00 pm and 9:00 pm | - For demonstration of the scripts, mapmakers are invited to take a look at the demo maps at [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/test/tod|test/tod]] and [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/test/tod2|test/tod2]] + For demonstration of the scripts, mapmakers are invited to take a look at the demo maps at [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/test/tod|/test/tod]] and [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/test/tod2|/test/tod2]] in the default crossfire maps ===== Available scripts ===== ==== Filtering ==== IP-Address : 87.67.125.144 Old Revision: http://wiki.metalforge.net/doku.php/cfpython:tod?rev=1197805477 New Revision: http://wiki.metalforge.net/doku.php/cfpython:tod -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 05:49:08 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 05:49:08 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython:tod Message-ID: <1197805748.589541.5111.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 05:49 User : tchize Edit Summary: @@ -73,14 +73,15 @@ **Parameters** * **when**(list): periods of day when this filter lets event it is attached to happen. * **match**: "one" or "all", whethever only one match in list is needed or all must match current time * **inverse**: if true, a match is seen as a non-match and a non-match is seen as a match. See that as a "everytime except when ...." rule + ==== Pushing ==== **Script** /python/tod/push.py - **Description**: Schedules a map trigger at a specific period of time. It runs a "connected" list inside the current map, at a specific time. This script could be used by any event, however it is typical to use it in the EVENT_TIME of a living object, so as to ensure the script is run often enough to react on time. However you could, without trouble, use it in EVEN_DEATH or a monster, EVENT_APPLY of a button, etc. Just keep in mind the script can't do anything unless it get called ;) This script keep information on it's current push state, so it won't push twice the connected list and will release the connected list when needed. + **Description**: Schedules a map trigger at a specific period of time. It runs a "connected" list inside the current map, at a specific time. This script could be used by any event, however it is typical to use it in the EVENT_TIME of a living object, so as to ensure the script is run often enough to react on time. However you could, without trouble, use it in EVEN_DEATH or a monster, EVENT_APPLY of a button, etc. Just keep in mind the script can't do anything unless it gets called ;) This script keep information on it's current push state, so it won't push twice the connected list and will release the connected list when needed. That way, it will behave nicely with map swapping and when connected to non regular events. **Parameters** * **when**(list): periods of day when this script will stay "pushed". * **match**: one or all, whethever only one match in list is needed or all list must match current time IP-Address : 87.67.125.144 Old Revision: http://wiki.metalforge.net/doku.php/cfpython:tod?rev=1197805586 New Revision: http://wiki.metalforge.net/doku.php/cfpython:tod -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 05:50:57 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 05:50:57 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:time_of_day_based_events Message-ID: <1197805857.536716.5120.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 05:50 User : tchize Edit Summary: @@ -3,10 +3,12 @@ [[https://sourceforge.net/tracker/index.php?func=detail&aid=1318639&group_id=13833&atid=363833|On the sourceforge tracker]] + ====== Time of Day based events ====== Allow map makers to utilize date and time for their maps. Developper working on it: [[user:tchize]] + Implementation documentation: [[cfpython:tod]] ==== Possible Uses ==== IP-Address : 87.67.125.144 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events?rev=1195322642 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 05:53:14 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 05:53:14 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:time_of_day_based_events Message-ID: <1197805994.769240.5123.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 05:53 User : tchize Edit Summary: @@ -7,17 +7,18 @@ Developper working on it: [[user:tchize]] Implementation documentation: [[cfpython:tod]] + ==== Possible Uses ==== * Stores open and close. -> script uploaded that can close/open gates depending on time * Monsters sleep at different times of day -> mood floor + scheduled trigger could probably make it... * Holidays * Stores can have sales - * NPCs that move to different locations + * NPCs that move to different locationsEither activate move floors depending on time, either use werewolf mecanism to make NPC 1 disappear and NPC2 appear. * Alchemy formulae that will only yeild a result at a certain time (night, full moon, etc) -> could filter on event_trigger be used on alchemy object? * Dungeons only accessable at certain times -> gates can close/open depending on time * Monsters like Werewolfs->script build that can change monster depending on time of day * Can we (is it copyrighted?) have monsters turn to stone based on the time? IP-Address : 87.67.125.144 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events?rev=1197805855 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 07:02:25 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 07:02:25 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:time_of_day_based_events Message-ID: <1197810145.345758.5905.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 07:02 User : tchize Edit Summary: @@ -7,15 +7,16 @@ Developper working on it: [[user:tchize]] Implementation documentation: [[cfpython:tod]] + ==== Possible Uses ==== * Stores open and close. -> script uploaded that can close/open gates depending on time - * Monsters sleep at different times of day -> mood floor + scheduled trigger could probably make it... + * Monsters sleep at different times of day -> see python/tod/sleep.py (add various moods?) * Holidays * Stores can have sales * NPCs that move to different locationsEither activate move floors depending on time, either use werewolf mecanism to make NPC 1 disappear and NPC2 appear. * Alchemy formulae that will only yeild a result at a certain time (night, full moon, etc) -> could filter on event_trigger be used on alchemy object? IP-Address : 87.67.125.144 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events?rev=1197805992 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 07:05:36 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 07:05:36 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:time_of_day_based_events Message-ID: <1197810336.734652.5914.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 07:05 User : tchize Edit Summary: @@ -25,15 +25,16 @@ * Can we (is it copyrighted?) have monsters turn to stone based on the time? * Items being affected by the time of day -> Demo weapons in test/tod that attack only at night / during day * Perhaps connected values alter/default, so scorn gates are open during the day, closed at night. -> predefined python filters can be used on event, object can bythemself trigger some connected value at specific time * Add Gridarta UI to easily use prebuild python scripts -> asked to gridarta team, they are thinking about script UI + ==== current stage ==== - Approximatively 80% work done on this. Still need to build a few script, like one to alter the destination of a map depending on hour and another to freeze/make alive all monster in map at a certain time. + Approximatively 90% work done on this. Still need to build a few script, like one to alter the destination of a map depending on hour and another to freeze/make alive all monster in map at a certain time. Note: some things below may only be working currently on developper's computer and may not yet have been commited === C code === - * Transfert of Month/weekday/season names to plugins - * Add notions for periods of the day? (night, dawn, morning, noon, evening, dusk/sunset) + * Transfert of Month/weekday/season names to plugins. + * Add notions for periods of the day. (night, dawn, morning, noon, evening, dusk/sunset) * provide a name->index hastable for periods of day/year === python === Example (verbose) python code using time based informations @@ -60,16 +61,5 @@ if (set(parameters) & set(current)): Crossfire.SetReturnValue(0) === filter event === - First stage plans to give possibility for event fitlering using ad hoc python library. example trigger that works only during New Year and/or the Day of the Moon: - - arch button_trigger - x 2 - y 5 - connected 10 - arch event_apply - name The Season of New Year,the Day of the Moon - title Python - slaying /python/tod/moment_only.py - end - + Prebuild scripts are available in /python/tod/sleep.py. IP-Address : 87.67.125.144 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events?rev=1197810144 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:time_of_day_based_events -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 16 16:07:43 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 16:07:43 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1197842863.051625.9667.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 16:07 User : ryo Edit Summary: update @@ -458,9 +458,10 @@ * **IsPet**: if the object is on the friendly list or not * **AttackMovement** * **Duration** * **Skill** - + * **NoDamage**: ''Boolean'' (trunk) + * **RandomMovement**: ''Boolean'' (trunk) FIXME document all parameters. Link to relevant Crossfire function. Split in "standard function" and "helper function"? ==== ActivateRune ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1195772039 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 Dec 16 16:15:34 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 Dec 2007 16:15:34 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1197843334.462413.9691.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/16 16:15 User : ryo Edit Summary: update @@ -458,10 +458,10 @@ * **IsPet**: if the object is on the friendly list or not * **AttackMovement** * **Duration** * **Skill** - * **NoDamage**: ''Boolean'' (trunk) - * **RandomMovement**: ''Boolean'' (trunk) + * **NoDamage**: ''Boolean'' + * **RandomMovement**: ''Boolean'' FIXME document all parameters. Link to relevant Crossfire function. Split in "standard function" and "helper function"? ==== ActivateRune ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1197842856 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 Dec 19 19:15:46 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 Dec 2007 19:15:46 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: client_side_scripting:client_scripting_interface-basic_howto Message-ID: <1198113346.727156.25525.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/19 19:15 User : buzzsaw Edit Summary: @@ -4,8 +4,11 @@ This Howto covers the scripting interface present in gtk and x11 client under linux and Windows (see notes at end). === What is the Client Scripting Interface? === Basically, the Client Scripting Interface is a way to have an external program (the script) interact client-side with your in-game behaviour. The script can have a copy of messages sent from the server to your client (there is a wide variety of such messages), can have a copy of messages sent from your client to the server (there are also lots of them), may request information (on a item, a map square ...) and finally can issue commands to the server. Lets call those actions, respectively, server-client spying, client-server spying, examining and interacting. + + === How do I run my script === + Most of the time it is basically straight forward. The command script would be entered to start the script. How ever that only works if you write your script in a shell script or C/++. If you write you script in Java it get a bit more tricky but no worries its not that hard. After you write your program and compile you must create a shell script to run the program from the client. As long as you have your shell script in the same directory as your .class file a simple "java " will do. Don't forget to chmod +x your shell script :-) === Pipes, stdout, stdin === (If this section causes you to consider puking by the second line, jump to the next section.) IP-Address : 75.167.150.233 Old Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto?rev=1155919960 New Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Dec 19 19:53:29 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 Dec 2007 19:53:29 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: making_archetypes Message-ID: <1198115609.892072.25582.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/19 19:53 User : kbulgrien Edit Summary: Typo fixes. @@ -10,9 +10,9 @@ * Perl. ===== Items ===== - FIXME -- Modify Exising Potion section is a draft and work in progress + FIXME -- Modify Existing Potion section is a draft and work in progress ==== Modify Existing Potion ==== - Locate the //object name// of the potion in question. You can find this while in game and in DM mode by using the //dump// command on an existing potion id number. @@ -60,9 +60,9 @@ more arch potion_ chance - ===== Monters ===== + ===== Monsters ===== ==== Modify Existing Monster (Example) ==== IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/making_archetypes?rev=1191015996 New Revision: http://wiki.metalforge.net/doku.php/making_archetypes -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Dec 19 20:15:17 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 Dec 2007 20:15:17 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: making_archetypes Message-ID: <1198116917.331527.25816.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/19 20:15 User : kbulgrien Edit Summary: Outline changes; add section for buildings. @@ -61,9 +61,8 @@ arch potion_ chance ===== Monsters ===== - ==== Modify Existing Monster (Example) ==== We will create a new goblin called "Goblin War Lord". @@ -119,8 +118,14 @@ body_waist 1 body_arm 2 body_range 1 end + + =====Buildings===== + + FIXME describe multi-tile building special requirements and address how to specify which tile is the "head", and what/where attributes are placed. Some note s describing object types seem to imply that it is not necessary to replicate properties on parts other than the "head". + + ======Testing Archetypes====== - If you have compiled before, - go into the crossfire/lib directory - type, "rm archetypes" @@ -131,4 +136,5 @@ FIXME describe more in detail, explain about the manual ''perl collect.pl'' method then make install, stuff like that :) To see what you have made, either put it in a map, or create it using a Dungeon Master command. + IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/making_archetypes?rev=1198115606 New Revision: http://wiki.metalforge.net/doku.php/making_archetypes -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Dec 19 21:39:38 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 Dec 2007 21:39:38 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1198121978.151032.26069.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/19 21:39 User : kbulgrien Edit Summary: Typo fixes; merge SVN 6974, 6985 @@ -6,13 +6,13 @@ ====== 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. - - Create a bitmap. It must be dividable by 32 in both height and width. The file format should be .PNG 256 colour and use transparancy. + - Create a bitmap. It must be dividable by 32 in both height and width. The file format should be .PNG 256 colour and use transparency. - create additional bitmaps if you want animation or directional facing. - - split the bitmaps up into 32x32 bitmaps and named according to the naming.doc conventions in the arch tar package. Note, this is not really necessary at current time - non splitted images should work properly, but some older clients may have problems with it. (you can use the script "splitxbm" which is included below). + - split the bitmaps up into 32x32 bitmaps and named according to the naming.doc conventions in the arch tar package. Note, this is not really necessary at current time - non-split images should work properly, but some older clients may have problems with it. (you can use the script "splitxbm" which is included below). - Create an archetype entry. The file should be called object.arc, where object is whatever the new object is. This is by far the most complicated step. First read "crossfire.doc" for an introduction on how to create archetypes. - * Look at other similary archetypes to see how they have been done. + * Look at other similarly archetypes to see how they have been done. * If you only made one 32x32 bitmap, you will only need one archetype, but if you made a larger bitmap which is cut down to several 32x32 bitmaps, you will need to use "linked" archetypes. To create a linked archetype, add a 'More' line filed by the next piece. The X and Y coordinates in this next piece determine the offset from the head (first) object. * When making multipart objects, they should be rectangular. Non rectangular may work, but has not been tested. Note that for these multipart objects, in most cases, only the values in the head portion are used (eg, hp, damage, etc for monsters). * See the section later in this document about animations. - If your archetype is a creature or NPC you might want to give it abilities such as firebreathing or magical attacks. You put these abilities into the treasures file in the appropriate entry as invisible objects. This is also how you can give inventory like bows or swords as well. Look at the other entries in the treasures file for the format. Note that if an existing entry in the treasures file does what you want, use it for your new archetype. There is no requirement that each archetype has a unique treasure list. @@ -81,9 +81,9 @@ damage). The attack code goes through all the attacktypes, and calculates the damage that each will cause. It uses the highest damage total that any of these attacktypes will use. - For attacktypes that don't deal phyiscal damage but instead effect + For attacktypes that don't deal physical damage but instead effect the creature in some way (drain, slow, paralyze, etc), the resistance in general reduces the effect (duration, amount drained, etc). @@ -100,9 +100,9 @@ /* if the attack_variable movement is left out of the monster archetype, or is*/ /* set to zero */ /* the standard mode of movement from previous versions of crossfire will be */ /* used. the upper four bits of movement data are not in effect when the monst*/ - /* er has an enemy. these should only be used for non agressive monsters. */ + /* er has an enemy. these should only be used for non aggressive monsters. */ /* to program a monsters movement add the attack movement numbers to the movem*/ /* ment numbers example a monster that moves in a circle until attacked and */ /* then attacks from a distance: */ /* CIRCLE1 = 32 */ @@ -330,16 +330,16 @@ sleep + (any) = sleep until woken, then do any of the other things... neutral + random_movement = move randomly around all the time. neutral (alone) = stand still until attacked, then attack and move. - stand_still + (any) = do anything except moveing + stand_still + (any) = do anything except moving In addition it can have run_away set to which percentage of full hit-points the npc will run away at. And then there is the NPC features made by Karl Holland (see attack_movement) - Note that scared creatures will become unscared at some point, so it + Note that scared creatures will become unafraid at some point, so it is typically not useful to set this in maps or in archetypes. ===== NPC's Speak out ===== @@ -695,9 +695,9 @@ FLAG_ANIMATE is not set is for arrows and other objects in which the anim field is instead used to determine what face to draw for different facings of the object. - facings is used in conjunctin with FLAG_ANIMATE. This is a states + facings is used in conjunction with FLAG_ANIMATE. This is a states the number of facing the objects has (2, 4, or 8 - 1 is the default). The number of faces in the anim/mina sequence must be a multiple of num facings.. @@ -720,9 +720,9 @@ order is kept. So with only 2 facings, the first half in the group will be used when the creature is pointing to the right, second half to the left. - anim_speed is used to determine how often the object is animated. IF + anim_speed is used to determine how often the object is animated. If anim_speed is 0, then the object is animated anytime it gets an action. If anim_speed is nonzero, then every anim_speed ticks, the object is animated (irregardless of how fast the item is) last_anim is used internally only to determine how many ticks have passed since the item was last @@ -924,9 +924,9 @@ * hp, sp = (x,y) of the destination on the new map. ===== Lore ===== - Lore is a free form text field similiar to the msg bug. Its syntax is + Lore is a free form text field similar to the msg bug. Its syntax is lore .. .. @@ -958,17 +958,17 @@ It is possible to use string names instead of the numeric bitmask in the move_fields below. It is strongly encouraged that the string names be used for improved readability. In addition, using string names, especially - 'all', will result in easier maintability in the future. For example, if you - specify 'move_block 31' right now, that is equivalant of all. However, if new + 'all', will result in easier maintainability in the future. For example, if you + specify 'move_block 31' right now, that is equivalent of all. However, if new move types are added, using a numeric option will not block the new movement types, where if 'move_block all' was used, it continue to block everything. The string names are same as the MOVE_ defines, but with the MOVE_ portion removed, eg, 'walk', 'fly_low', 'fly_high', etc. Multiple types can be - listed, seperated by a space. In addition, a - (minus) can precede the name, - which means to negate that type. These are all equivalant: + listed, separated by a space. In addition, a - (minus) can precede the name, + which means to negate that type. These are all equivalent: move_block 6 move_block fly_low fly_low @@ -976,9 +976,9 @@ move_block all -swim -walk -boat Note the order when using the -(negation) is important - the string is parsed - left to right. This is not equivalant to the above: + left to right. This is not equivalent to the above: move_block -swim -walk -boat all @@ -1027,9 +1027,9 @@ These bitmasks represents for what movement types this object is activated on/off. Replaces the walk/fly_on/off values === move_slow === - Like move_block, but represents what movement types are slowed on this space. Note that it is not possible to specifiy different penalties for different movement types in the same object. However, multiple objects with different move_slow values (and penalties) can be put on the same space. This replaced FLAG_SLOW_MOVE, which is converted to only slow down walking movement. + Like move_block, but represents what movement types are slowed on this space. Note that it is not possible to specify different penalties for different movement types in the same object. However, multiple objects with different move_slow values (and penalties) can be put on the same space. This replaced FLAG_SLOW_MOVE, which is converted to only slow down walking movement. === move_slow_penalty (was slow_move) === How much the player is slowed down. @@ -1059,10 +1059,8 @@ * FLAG_FLY_OFF -> move_off * FLAG_PASS_THRU -> was unused, would be move_type * FLAG_CAN_PASS_THRU -> was unused, would be move_type - === Load/Save behaviour and backward compatability === - The loader knows about certain old flags (walk_on, blocked, etc) and sets up the appropriate bitmasks. When data is saved, it is saved as the move_... with actual bitmasks. === Special player notes === Player can only pick up items if MOVE_WALK is set (this may need to be expanded down the road). Basic idea is that if you are flying, can't reach the ground, if swimming, don't really have any free hands to grab anything. @@ -1137,11 +1135,11 @@ * food: if negative, disease is permanent. Otherwise, decreases at , disease goes away at food=0, set to "maxgrace" on infection. * speed is the speed of the disease, how fast "disease moves" occur. * last_sp is the lethargy imposed on the player by the disease. A lethargy of "1" reduces the players speed to 1% of its normal value. * maxsp how much mana is sapped per "disease move". if negative, a %-age is taken. - * ac: every "disease move" the severity of the symptoms are increased by ac/100. Therefore severity = 1 + (accumlated_progression)/100 + * ac: every "disease move" the severity of the symptoms are increased by ac/100. Therefore severity = 1 + (accumulated_progression)/100 * last_eat increases food usage if negative. - * last_grace: reduction in the diseases' contageousness every time it infects someone new. This limits how many generations a disease can propagate. + * last_grace: reduction in the diseases' contagiousness every time it infects someone new. This limits how many generations a disease can propagate. ==== Symptoms ==== | Stats | Modify stats | | hp | Modify regen | @@ -1163,9 +1161,9 @@ ===== Bows & arrows ===== - Missile weapons (type BOW) can be used to shoot missiles (type ARROW). The most common wepons are bows and crossbows but other weapons are also easy to implement (e.g. a sling). The following variables have the same meaning for both weapons and bullets: + Missile weapons (type BOW) can be used to shoot missiles (type ARROW). The most common weapons are bows and crossbows but other weapons are also easy to implement (e.g. a sling). The following variables have the same meaning for both weapons and bullets: | race | type of missile (identifies weapon and missile pairs) | | dam | the basic damage | | wc | the basic wc | @@ -1208,9 +1206,9 @@ Player movers are objects which move objects above them. These objects must be alive. They are directional, so players can be made to move in a pattern, and so can monsters. Motion is involuntary. Additionally, players or monsters can be paralyzed so that they MUST move along a chain of movers. - Multisquare monsters can be moved by movers, however enough space is required. + Multi-square monsters can be moved by movers, however enough space is required. Here is the meaning of various fields: | attacktype | if nonzero, paralyzes anyone it moves (so they are forced to move along a chain). Default values is 0 | | maxsp | the number of moves that the paralysis will rob the player of, if unset, and attacktype is nonzero, this becomes 2. By default, it is zero | @@ -1394,9 +1392,9 @@ Whenever an object that is connected gets activated, all other objects with the same connected tag also gets pushed. For some objects (pedestals, inventory checkers) this is likely to be meaningless. However, if something like an altar is pushed in this fashion, it will no longer - be usuable (only take one sacrifice, and being activated in this fashion + be usable (only take one sacrifice, and being activated in this fashion makes it so that it looks to have been activated.) One trick for connected objects that you want activated once: Set your initial connects to a set (or multiple sets) of iron spikes that are in @@ -1534,14 +1532,14 @@ | applied | set if object is readied/worn/etc. | | unpaid | set if object is unpaid (internal) | | no_pick <1> | set if O can't be taken | | no_pass <1> | set if O can't be passed. (eg, a closed door) | - | walk_on <1> | O is applied by anything walking onto it | - | walk_off <1> | O is applied by anything walking off it | - | fly_on <1> | O is applied by anything flying onto it | - | fly_off <1> | O is applied by anything flying off it | + | walk_on <1> | O is applied by anything walking onto it (obsolete -- use move_on walk instead) | + | walk_off <1> | O is applied by anything walking off it (obsolete -- use move_off walk instead) | + | fly_on <1> | O is applied by anything flying onto it (obsolete -- use move_on fly_low instead) | + | fly_off <1> | O is applied by anything flying off it (obsolete -- use move_off fly_low instead) | | is_animated <1> | set if O is animated | - | flying <1> | set if O is flying (used in fly_on/fly_off) | + | flying <1> | set if O is flying (obsolete -- use move_off fly_low instead) | | monster <1> | set if O is a monster | | friendly <1> | set if O will make a monster help player instead of attacking | | generator <1> | set if O is a generator | | auto_apply <1> | O is applied when it is loaded (for instance, some chests open automatically when the map is loaded) | IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1196617274 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 Dec 20 00:39:49 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 Dec 2007 00:39:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: faq Message-ID: <1198132789.816598.27627.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/20 00:39 User : Edit Summary: changed the URLs for the SVN checkouts (SF changed them a little while ago, again...) @@ -55,13 +55,13 @@ === 2.2.2 Via SVN === The general commands to check out a module (archtypes, client, maps, server map editor, et al) is the following: - * ''svn co https://svn.sourceforge.net/svnroot/crossfire/arch'' - * ''svn co https://svn.sourceforge.net/svnroot/crossfire/client'' - * ''svn co https://svn.sourceforge.net/svnroot/crossfire/maps'' - * ''svn co https://svn.sourceforge.net/svnroot/gridarta'' - * ''svn co https://svn.sourceforge.net/svnroot/crossfire/server'' + * ''svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/arch'' + * ''svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/client'' + * ''svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/maps'' + * ''svn co https://crossfire.svn.sourceforge.net/svnroot/gridarta'' + * ''svn co https://crossfire.svn.sourceforge.net/svnroot/crossfire/server'' ==== 2.3 How can I get help compiling Crossfire on my platform? ==== IP-Address : 64.235.219.19 Old Revision: http://wiki.metalforge.net/doku.php/faq?rev=1197729628 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 Dec 20 11:24:41 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 Dec 2007 11:24:41 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: humor Message-ID: <1198171481.079321.27389.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/20 11:24 User : leaf Edit Summary: The Great Famine of MajorWoo - missed on the migraiton from the original wiki @@ -2,4 +2,18 @@ =====Here a fork, there a fork, everywhere a fork, fork...====== * [[http://shadowknight.real-time.com/pipermail/crossfire/2006-April/010387.html|[crossfire] Yet another crossfire fork. Recruiting.]] + + =====The Great Famine of MajorWoo===== + + //A somewhat comical summary of a rather serious incident...// + + It started off as a typical day, with orcs and kobolds falling beneath our blades. The great wizard MajorWoo cast a powerful spell, as great wizards often do. Unfortunately, the great wizard had miscalculated the effects of his spell, and thusly the great famine started. + + The first thing we noticed was that the orcs and kobolds started attacking very quickly, and in huge quantities. A great number of heroes were slain in the first horrible few minutes, as monsters quickly took advantage of their new power. The wizard Majorwoo called for all heroes to return to Scorn, to wait until he had figured out how to reverse his spell. Then the great famine began. Citizens who had just eaten moments ago began to fall over dead, apparently of starvation. There was panic in the streets, until several rich adventurers bought enough food to feed the starving citizens, and placed it all in a large pile in Scorn's central square. This helped some, but many were unable to get there before the famine overtook them. + + Finally, Majorwoo managed to call forth the great wizard Leaf. Leaf quickly saw the pandemonium in the streets, and found out what Majorwoo's tragic mistake had been. He then spoke a quick incantation, and all was well again, and we, the citizens of Scorn, were once again left to clean up the corpses littering the streets. + + Because of this incident, many have condemned the chronomancers, the time wizards of the realm, to many a horrible fate. (...not that they weren't immune to trials by fire and mana blast and godly retribution...) + + In other related news, the Scorn Tribune reports a stream of visitors to the Kitchen and the Olde Lake Country Inn all apparently stockpiling steak. IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/humor?rev=1197748403 New Revision: http://wiki.metalforge.net/doku.php/humor -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Dec 20 11:29:26 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 Dec 2007 11:29:26 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: humor Message-ID: <1198171766.937731.27398.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/20 11:29 User : leaf Edit Summary: Added a heading for Server Events @@ -2,8 +2,10 @@ =====Here a fork, there a fork, everywhere a fork, fork...====== * [[http://shadowknight.real-time.com/pipermail/crossfire/2006-April/010387.html|[crossfire] Yet another crossfire fork. Recruiting.]] + + ======Server Events====== =====The Great Famine of MajorWoo===== //A somewhat comical summary of a rather serious incident...// IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/humor?rev=1198171476 New Revision: http://wiki.metalforge.net/doku.php/humor -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Dec 20 17:49:23 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 Dec 2007 17:49:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: people Message-ID: <1198194563.849601.29633.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/20 17:49 User : Edit Summary: added myself @@ -13,8 +13,9 @@ | 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]] | | | Joshua Wilson | majorwoo | majorwoo | [[http://sourceforge.net/users/majorwoo|majorwoo]] | | | | Yann Chachkoff | | gros,\\ lauwenmark | [[http://sourceforge.net/users/gros|gros]] | | | + | Tony Harrison | | webstrand | | | | | Nicolas Weeger | ryo | ryo_ / Nicolas | [[http://sourceforge.net/users/ryo_saeba|ryo_saeba]] | | http://nicolas.weeger.org | | Knut Ahlers | | Luzifer (Euirc),\\ Luziferus (freenode, ircnet) | [[http://sourceforge.net/users/k_ahlers|k_ahlers]] | | | | 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]] | IP-Address : 76.235.204.40 Old Revision: http://wiki.metalforge.net/doku.php/people?rev=1196209903 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 Thu Dec 20 19:16:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 Dec 2007 19:16:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: client_side_scripting:client_scripting_interface-basic_howto Message-ID: <1198199765.063604.30091.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/20 19:16 User : buzzsaw Edit Summary: @@ -6,9 +6,18 @@ === What is the Client Scripting Interface? === Basically, the Client Scripting Interface is a way to have an external program (the script) interact client-side with your in-game behaviour. The script can have a copy of messages sent from the server to your client (there is a wide variety of such messages), can have a copy of messages sent from your client to the server (there are also lots of them), may request information (on a item, a map square ...) and finally can issue commands to the server. Lets call those actions, respectively, server-client spying, client-server spying, examining and interacting. === How do I run my script === - Most of the time it is basically straight forward. The command script would be entered to start the script. How ever that only works if you write your script in a shell script or C/++. If you write you script in Java it get a bit more tricky but no worries its not that hard. After you write your program and compile you must create a shell script to run the program from the client. As long as you have your shell script in the same directory as your .class file a simple "java " will do. Don't forget to chmod +x your shell script :-) + Most of the time it is basically straight forward. The command script would be entered to start the script. How ever that only works if you write your script in a shell script or C/++. If you write you script in Java it get a bit more tricky but no worries its not that hard. + + We are going to create a shell script that will run out scripts in Java for us. + + #!/bin/bash + cd /dir/to/java.class + java $1 + + Remember to chmod +x the script so that its executable. + Now to run your script this is all you have to do is "script /path/to/bashScript blah" blah being your .class file - .class and /path/to/bashScript being the executable bash script. === Pipes, stdout, stdin === (If this section causes you to consider puking by the second line, jump to the next section.) IP-Address : 207.225.37.112 Old Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto?rev=1198113342 New Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 22 13:58:00 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 22 Dec 2007 13:58:00 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1198353480.248612.4514.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/22 13:57 User : ryo Edit Summary: update @@ -6,13 +6,25 @@ ===== Changes to be merged ===== Please put most recent on bottom for month. Unless specified otherwise, changes are in both trunk and branch. + + ==== December 2007 ==== + * (trunk) add death animations + * (trunk) smarter path algorithm for monsters + * (trunk, and jxclient) new sound support + + ==== November 2007 ==== + * (trunk) multiple language support, with the new ''language'' command + * (trunk) Added support for compound attack animations (displaying a custom animation sequence in some cases) ==== September 2007 ==== * (trunk) Several new **glade-2** Glade Designer main window layouts are available for the libglade client. * (trunk) The GTK V2 client now uses libglade to allow changing the main window without re-compiling the code. * new ''empty'' command, to empty a container, or all, onto ground or into opened container + * fix wrong key placement in random maps, should now always be able to open all locked doors + * hiscore is now updated while playing + * Renamed "potion of invulnerability" to "potion of shielding" ==== August 2007 ==== * (trunk) metaserver2 support through curllib * make map saving more robust, warn online DMs if failure IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_traffic?rev=1189367639 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 Dec 23 08:21:27 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 Dec 2007 08:21:27 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests:the_blood_of_the_vampire Message-ID: <1198419687.714116.8123.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/23 08:21 User : tchize Edit Summary: @@ -2,14 +2,16 @@ The main idea being this quest is to have player find a way to locate and get access to the mansion of a very powerfull vampire in the center of bigworld. Informations about this vampire are spread at various place in the world. The player may need to fight some other vampire to get information and maybe usefull items in his quest. When the user finally reaches the blood vampire, he can come with 2 purposes * either as a "friend", that means he has done all the quests as a sort of proof of valor for the vampire, and want to become a servant of the vampire. 40+ level should be enough to become a blood bond * either he came to kill the vampire. The more player online are servant of the vampire, the more difficult it will be to kill it (see below). You should be high level to kill it! (90+ i guess, depends on how many blood bonds there are) + ===== Location ===== The quest will be located at various places in the bigworld. The blood vampire has a strong influence in an unexplored part of bigworld. He has various NPCs servant you will need to get items from in order to get access to the vampire mansion. The quest should be build in such a way that, after killing the vampire, you will need to kill again all his NPCs servants to get back to the mansion. Also, the vampire regenerates slowly, it can take days before the map resets. Some subquests should be only faisable during night (and make then use of time based quests). Example, the path the the lair of the Gurthel, the vampire servant, could be only visible at night, when it's full moon :) A nice spot for the vampire mansion could be at 114x112 map, around 2x47 + There is a crypt access in the mountains, (114x111, 47x44) ===== Gains ===== ==== As a servant ==== Short lists of what you get as a servant IP-Address : 91.177.197.232 Old Revision: http://wiki.metalforge.net/doku.php/quests:the_blood_of_the_vampire?rev=1196712291 New Revision: http://wiki.metalforge.net/doku.php/quests:the_blood_of_the_vampire -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 23 09:20:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 Dec 2007 09:20:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests:the_blood_of_the_vampire Message-ID: <1198423205.898635.8356.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/23 09:20 User : tchize Edit Summary: @@ -8,10 +8,11 @@ ===== Location ===== The quest will be located at various places in the bigworld. The blood vampire has a strong influence in an unexplored part of bigworld. He has various NPCs servant you will need to get items from in order to get access to the vampire mansion. The quest should be build in such a way that, after killing the vampire, you will need to kill again all his NPCs servants to get back to the mansion. Also, the vampire regenerates slowly, it can take days before the map resets. Some subquests should be only faisable during night (and make then use of time based quests). Example, the path the the lair of the Gurthel, the vampire servant, could be only visible at night, when it's full moon :) - A nice spot for the vampire mansion could be at 114x112 map, around 2x47 - There is a crypt access in the mountains, (114x111, 47x44) + * A nice spot for the vampire mansion could be at 114x112 map, around 2x47 + * There is a crypt access in the mountains, (114x111, 47x44) + * There is a small village near the 3 sisters valley that could serve as reference point for lores (world 115_110) ===== Gains ===== ==== As a servant ==== Short lists of what you get as a servant IP-Address : 91.177.197.232 Old Revision: http://wiki.metalforge.net/doku.php/quests:the_blood_of_the_vampire?rev=1198419686 New Revision: http://wiki.metalforge.net/doku.php/quests:the_blood_of_the_vampire -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 23 23:42:47 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 Dec 2007 23:42:47 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: known_client_issues Message-ID: <1198474967.242729.12516.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/23 23:42 User : kbulgrien Edit Summary: Double keypresses reported for GTK 2nd gen client and Mandriva 2008. @@ -3,13 +3,16 @@ ===== All Versions ===== In case you don't get a metaserver list: * If you're using ISDN or DSL verify that your MTU is 1492, not 1500. * Do not use a nameserver of Deutsche Telekom or T-Online. + + =====1.10===== + * A Mandriva 2008 user reports doubled up keypresses in crossfire-client-gtk2 that were previously only reported for version 1.9.1 on ubuntu. The report indicates gtk2 2.12.1-2.1 was present. ===== 1.9.1 ===== crossfire-client-gtk2 under Ubuntu Edgy (v1.9.1-1) and Feisty (v1.9.1-2) (untested on other versions or releases) - * We've heard there's a weird seemingly ubuntu-specific bug in ubuntu's package of gcfclient2, with it repeating each keypress twice when typing... nobody except ubuntu package users seem to be able to reproduce this + * We've heard there's a weird seemingly ubuntu-specific bug in ubuntu's package of gcfclient2, with it repeating each keypress twice when typing. * Feb-22-2007: Bug reported at LaunchPad, https://launchpad.net/ubuntu/+source/crossfire-client/+bug/87194 * Sept-18-2007: Player feedback indicates this problem has been "resolved" in v1.10.0 of the client or if the client is built from SVN source ===== 1.9.0 ===== IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/known_client_issues?rev=1190134007 New Revision: http://wiki.metalforge.net/doku.php/known_client_issues -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 23 23:44:29 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 Dec 2007 23:44:29 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: known_client_issues Message-ID: <1198475069.188848.12519.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/23 23:44 User : kbulgrien Edit Summary: Add date of Mandriva report. @@ -5,9 +5,9 @@ * If you're using ISDN or DSL verify that your MTU is 1492, not 1500. * Do not use a nameserver of Deutsche Telekom or T-Online. =====1.10===== - * A Mandriva 2008 user reports doubled up keypresses in crossfire-client-gtk2 that were previously only reported for version 1.9.1 on ubuntu. The report indicates gtk2 2.12.1-2.1 was present. + * Dec-23-2007: A Mandriva 2008 user reports doubled up keypresses in crossfire-client-gtk2 that were previously only reported for version 1.9.1 on ubuntu. The report indicates gtk2 2.12.1-2.1 was present. ===== 1.9.1 ===== crossfire-client-gtk2 under Ubuntu Edgy (v1.9.1-1) and Feisty (v1.9.1-2) (untested on other versions or releases) IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/known_client_issues?rev=1198474965 New Revision: http://wiki.metalforge.net/doku.php/known_client_issues -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 23 23:48:39 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 Dec 2007 23:48:39 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: known_client_issues Message-ID: <1198475319.199545.12528.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/23 23:48 User : kbulgrien Edit Summary: Add additional observation about double keypress error. @@ -5,9 +5,9 @@ * If you're using ISDN or DSL verify that your MTU is 1492, not 1500. * Do not use a nameserver of Deutsche Telekom or T-Online. =====1.10===== - * Dec-23-2007: A Mandriva 2008 user reports doubled up keypresses in crossfire-client-gtk2 that were previously only reported for version 1.9.1 on ubuntu. The report indicates gtk2 2.12.1-2.1 was present. + * Dec-23-2007: A Mandriva 2008 user reports doubled up keypresses in crossfire-client-gtk2 that were previously only reported for version 1.9.1 on ubuntu. The report indicates gtk2 2.12.1-2.1 was present. The reporter indicates that the doubled up keypresses DID NOT occur when typing in the metaserver dialog. The GTK1 client is unaffected. ===== 1.9.1 ===== crossfire-client-gtk2 under Ubuntu Edgy (v1.9.1-1) and Feisty (v1.9.1-2) (untested on other versions or releases) IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/known_client_issues?rev=1198475068 New Revision: http://wiki.metalforge.net/doku.php/known_client_issues -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Dec 24 11:59:34 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 24 Dec 2007 11:59:34 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: client_side_scripting:client_scripting_interface-basic_howto Message-ID: <1198519174.965306.14983.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/24 11:59 User : meflin Edit Summary: minor shell script enchancement @@ -12,9 +12,9 @@ We are going to create a shell script that will run out scripts in Java for us. #!/bin/bash cd /dir/to/java.class - java $1 + java $* Remember to chmod +x the script so that its executable. Now to run your script this is all you have to do is "script /path/to/bashScript blah" blah being your .class file - .class and /path/to/bashScript being the executable bash script. IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto?rev=1198199762 New Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Dec 24 12:09:10 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 24 Dec 2007 12:09:10 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: client_side_scripting:scripts:perl Message-ID: <1198519750.265874.15126.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/24 12:09 User : meflin Edit Summary: @@ -18,5 +18,7 @@ * [[:user:mhoram:scripts:healup]] -- Bring grace and hit points to maximum. * [[:user:mhoram:scripts:subs.pl]] -- Subroutines used by most of my other scripts. + + * [[:user:meflin:scripts:charge.pl]] -- Manage the charge/discharging of Power Crystals IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:scripts:perl?rev=1171930030 New Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:scripts:perl -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Dec 25 19:46:48 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 25 Dec 2007 19:46:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:buzzsaw Message-ID: <1198633608.773051.22212.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/25 19:46 User : Edit Summary: @@ -1,5 +1,14 @@ Um I am buzzsaw the only thing that I have realy contributed thus far would be the cool looking books for the spells. I plan on creating music and such. I relay don't have skills other that stumbling across dumb stuff. - More to come... + Ok here we go I am creating a todo list for myself: + - Create ideas for basic sounds + * Skills: Find traps, disarm traps, jeweler, lock picking, oratary, evocation, karate, praying, inscription, x handed weapons + * Spells: + - Create ideas for music + - Look into making npc's talk and also magic mouths. + + + + IP-Address : 68.104.206.200 Old Revision: http://wiki.metalforge.net/doku.php/user:buzzsaw?rev=1196210032 New Revision: http://wiki.metalforge.net/doku.php/user:buzzsaw -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Dec 25 19:47:56 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 25 Dec 2007 19:47:56 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:buzzsaw Message-ID: <1198633676.390443.22215.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/25 19:47 User : Edit Summary: @@ -2,13 +2,13 @@ I relay don't have skills other that stumbling across dumb stuff. Ok here we go I am creating a todo list for myself: - - Create ideas for basic sounds + 1 Create ideas for basic sounds * Skills: Find traps, disarm traps, jeweler, lock picking, oratary, evocation, karate, praying, inscription, x handed weapons * Spells: - - Create ideas for music - - Look into making npc's talk and also magic mouths. + 2 Create ideas for music + 3 Look into making npc's talk and also magic mouths. IP-Address : 68.104.206.200 Old Revision: http://wiki.metalforge.net/doku.php/user:buzzsaw?rev=1198633606 New Revision: http://wiki.metalforge.net/doku.php/user:buzzsaw -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Dec 27 13:30:52 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 27 Dec 2007 13:30:52 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1198783852.650565.29006.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/27 13:30 User : kbulgrien Edit Summary: Minor archetype related edits and new link for object types. @@ -4,19 +4,20 @@ 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. - - Create a bitmap. It must be dividable by 32 in both height and width. The file format should be .PNG 256 colour and use transparency. - - create additional bitmaps if you want animation or directional facing. - - split the bitmaps up into 32x32 bitmaps and named according to the naming.doc conventions in the arch tar package. Note, this is not really necessary at current time - non-split images should work properly, but some older clients may have problems with it. (you can use the script "splitxbm" which is included below). - - Create an archetype entry. The file should be called object.arc, where object is whatever the new object is. This is by far the most complicated step. First read "crossfire.doc" for an introduction on how to create archetypes. - * Look at other similarly archetypes to see how they have been done. - * If you only made one 32x32 bitmap, you will only need one archetype, but if you made a larger bitmap which is cut down to several 32x32 bitmaps, you will need to use "linked" archetypes. To create a linked archetype, add a 'More' line filed by the next piece. The X and Y coordinates in this next piece determine the offset from the head (first) object. - * When making multipart objects, they should be rectangular. Non rectangular may work, but has not been tested. Note that for these multipart objects, in most cases, only the values in the head portion are used (eg, hp, damage, etc for monsters). + + - Determine if new archetype is really needed. Archetypes are only needed to add new images, or if the archetype simplifies creation of a very common item. Don't make a new arch to simply customize an existing archetype. + - Figure out which directory/category the object will belong to. This determines an appropriate location for it inside the 'arch' directory. For objects with many animations or that are very large, new subdirectory may be advisable. + - Create a bitmap. It must be divisible by 32 in both height and width. The file format should be .PNG 256 colour with transparency. + - Create additional bitmaps if you want animation or directional facing. + - Split the bitmaps up into 32x32 bitmaps and named according to the naming.doc conventions in the arch tar package. Note, this is not really necessary at current time - non-split images should work properly, but some older clients may have problems with it. (the script "splitxbm" may be used and is included below). + - Create an archetype entry. The file should be called object.arc, where object is whatever the new object is. This is the most complicated step. See "crossfire.doc" for an introduction on how to create archetypes. + * Look at other similar archetypes to see how they have been made. + * If a single 32x32 bitmap is created, only one archetype is needed, but if a larger bitmap is made which is cut down to several 32x32 bitmaps, use "linked" archetypes are needed. To create a linked archetype, add a 'More' line filed by the next piece. The X and Y coordinates in this next piece determine the offset from the head (first) object. + * When making multipart objects, they should be rectangular. Non rectangular may work, but has not been tested. Note that for multi-part objects, in most cases, only the values in the head portion are used (eg, hp, damage, etc for monsters) so it is generally unnecessary to put a copy of all the head tags in the other parts. * See the section later in this document about animations. - - If your archetype is a creature or NPC you might want to give it abilities such as firebreathing or magical attacks. You put these abilities into the treasures file in the appropriate entry as invisible objects. This is also how you can give inventory like bows or swords as well. Look at the other entries in the treasures file for the format. Note that if an existing entry in the treasures file does what you want, use it for your new archetype. There is no requirement that each archetype has a unique treasure list. + - If the archetype is a creature or NPC, and if it has abilities such as firebreathing or magical attacks, these abilities are put into the treasures file in the appropriate entry, and as invisible objects. This is also how inventory like bows or swords is given. Look at the other entries in the treasures file for the format to use. Note that if an existing entry in the treasures file does what you want, reuse it for the new archetype. There is no requirement that each archetype have a unique treasure list. ===== What is an archetype and what is an object? ===== Objects are directly derived from archetypes. Everything the player sees in the game is an object. The player never deals with archetypes. @@ -169,9 +170,8 @@ Note also that if can_use_armor, can_use_weapon, can_use_ring, can_use_wand, can_cast_spell, can_use_bow are set, then the creature will pick up the matching items even if the pick_up element is not set to pick up those items. This only applies to monsters. The player pickup method is much different. - ===== Using other objects (will_apply) ===== @@ -194,10 +194,9 @@ Treasure lists are also used to give spell and skill abilities to creatures. - - ===== Usage of certain flags for monsters ===== + =====Monster Flag Usage===== ==== Damage (dam) ==== Damage determines the amount of damage the creature does. The form this @@ -455,46 +454,46 @@ These name values are what the player sees for the name. As the player sees it, the name may have the title appended to it, and may also have other per type specific information added in (spell contained within the spellbook for example). - - ===== Types (type) & Subtypes (subtype) ===== - Specified in defines.h. A type determines how an item operates/what it does. A type only needs to be added for a new archetype if in some area of the program, it is actually used. Addition of new types is generally a rare event. + Specified in defines.h, the type field determines how an item operates/what it does. - For example, if adding a new monster, there is no need to add a new type in defines.h if crossfire never checks the type element in the object structure for that new type. + A new type only needs to be added for a new archetype if it is actually used in some part of the program. Addition of new types is generally a rare event. For example, if adding a new monster, there is no need to add a new type in defines.h if the crossfire-server never checks the type element in the object structure for that new type. Most types are set for items that are applied, items that have special properties. - You should look at the include/defines.h file for the latest type information. Note that within maps, you should almost never change the type field of an object - instead, you should start with an object of the appropriate type and change the fields of the object to appear as you want it. + You should look at the include/defines.h file for the latest type information. When making a map, you should almost never change the type field of an object - instead, start with an object of an appropriate type, then change the fields of the object to appear as you want it to. + + See [[dev:object_types]] for a wiki version of the defines.h type definitions. Subtypes are related to types, in that it narrows down the scope of the type of object. For example, the type may be the value for skill, with subtype being the different skill it uses. Or for spell objects, subtype could be the spell identifier. Subtype is a new field as of April 2003. It's use needs to be extended. As example of this is with all equipment items - they should get moved to be of type 'equipment', with subtype specifying exactly what it does (ring, helm, armor, etc). Note that the meaning of the subtype is specific to the type itself - they are not unique across all types. For example, for type equipment, subtype 1 might be a helm. But for type skills, subtype 1 might be smithery. One should not rely on subtype to convey any meaningful information unless the type of the object is known or also examined. - The question may then be asked - when making a new arch, how do I know if I need a new type, or if I should be the subtype of an existing type. + The question may then be asked - when making a new arch, when is a new type is needed as opposed to a new subtype? When to add a new type: - If code to support applying the object is completely different than what exists in apply.c (eg, not reusing existing functions), or - If code to support movement of the type does not reuse existing functions (server/time.c) When to make a new subtype: - - Your behaviour is _close_ to that of an existing type, but you want it to be slightly different (eg, teleporters that don't work on players), or - - You need to be able to differentiate between objects of the same type. Eg, adding a new skill would add a new subtype, not a new type. + - New behavior is _close_ to that of an existing type, but is slightly different (eg, teleporters that don't work on players), or + - It is necessary to differentiate between objects of the same type. Eg, addition of a new skill adds a new subtype, not a new type. - If your not sure, drop a mail to the crossfire developers list. + When unsure, drop a mail to the crossfire developers list. If there is a header file that contains all the other information related to the object type, the subtype should be defined there. Otherwise, subtypes should be defined in define.h. The subtype definitions should include be prefixed by what they are a subtype for. Eg, SKILL_SMITHERY, SKILL_JEWELER, etc, and not just SMITHERY and JEWELER. It is acceptable to abbreviate the prefix if it is very long. ===== Client Types (client_type) ===== - Client type information in public information communicated to the client. Client type differes from the type in several ways: + Client type information in public information communicated to the client. Client type differs from the type in several ways: - It is more specific than the type information. - The numbers used for client type are more logically grouped (all armor related client_types are in the same range) - client type info does not have a functional component in the server - it only conveys information - the server does not determine what an object may or may not do based on this. At current time, the server does not even look at the client_type for any information. IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1198121966 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 Dec 27 15:43:06 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 27 Dec 2007 15:43:06 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1198791786.233535.29528.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/27 15:43 User : kbulgrien Edit Summary: Typo fix. @@ -474,9 +474,9 @@ Subtype is a new field as of April 2003. It's use needs to be extended. As example of this is with all equipment items - they should get moved to be of type 'equipment', with subtype specifying exactly what it does (ring, helm, armor, etc). Note that the meaning of the subtype is specific to the type itself - they are not unique across all types. For example, for type equipment, subtype 1 might be a helm. But for type skills, subtype 1 might be smithery. One should not rely on subtype to convey any meaningful information unless the type of the object is known or also examined. - The question may then be asked - when making a new arch, when is a new type is needed as opposed to a new subtype? + The question may then be asked - when making a new arch, when is a new type needed as opposed to a new subtype? When to add a new type: - If code to support applying the object is completely different than what exists in apply.c (eg, not reusing existing functions), or - If code to support movement of the type does not reuse existing functions (server/time.c) IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1198783841 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 Dec 27 18:27:05 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 27 Dec 2007 18:27:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: dev:object_types Message-ID: <1198801625.326527.31061.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/27 18:27 User : kbulgrien Edit Summary: Created copy of type information from define.h for reference. ======Notice====== * This content was extracted from source code and may not be up-to-date. * SVN Revision 8051; 2007-12-27 18:17:01 -0600 (Thu, 27 Dec 2007) ======See Also====== * Wiki * [[dev:objects#Types (type) & Subtypes (subtype)|dev:objects Types (type) & Subtypes (subtype)]] * SVN * [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h|server/include/define.h]] ======server/include/define.h Excerpt====== /** * @defgroup OBJECT_TYPE Object types. * * Only add new values to this list if somewhere in the program code, it is * actually needed. Just because you add a new monster does not mean it has to * have a type defined here. That only needs to happen if in some .c file, it * needs to do certain special actions based on the monster type, that can not * be handled by any of the numerous flags. Also, if you add new entries, try * and fill up the holes in this list. Additionally, when you add a new entry, * include it in the table in common/item.c * * type 0 is undefined and indicates non-valid type information. */ /*@{*/ #define PLAYER 1 #define TRANSPORT 2 /* see doc/Developers/objects */ #define ROD 3 #define TREASURE 4 #define POTION 5 #define FOOD 6 #define POISON 7 #define BOOK 8 #define CLOCK 9 /*#define FBULLET 10 */ /*#define FBALL 11 */ /*#define LIGHTNING 12 */ #define ARROW 13 #define BOW 14 #define WEAPON 15 #define ARMOUR 16 #define PEDESTAL 17 #define ALTAR 18 /*#define CONFUSION 19 */ #define LOCKED_DOOR 20 #define SPECIAL_KEY 21 #define MAP 22 #define DOOR 23 #define KEY 24 /*#define MMISSILE 25 */ #define TIMED_GATE 26 #define TRIGGER 27 #define GRIMREAPER 28 #define MAGIC_EAR 29 #define TRIGGER_BUTTON 30 #define TRIGGER_ALTAR 31 #define TRIGGER_PEDESTAL 32 #define SHIELD 33 #define HELMET 34 #define HORN 35 #define MONEY 36 #define CLASS 37 /* object for applying character class * modifications to someone */ /*#define GRAVESTONE 38 */ #define AMULET 39 #define PLAYERMOVER 40 #define TELEPORTER 41 #define CREATOR 42 #define SKILL 43 /* also see SKILL_TOOL (74) below */ #define EXPERIENCE 44 /* This is basically obsolete now. * It used to contain experience for * broad skill categories. This * value is now automatically * converted at load time. */ #define EARTHWALL 45 #define GOLEM 46 /*#define BOMB 47 */ #define THROWN_OBJ 48 #define BLINDNESS 49 #define GOD 50 #define DETECTOR 51 /* peterm: detector is an object */ /* which notices the presense of */ /* another object and is triggered */ /* like buttons. */ #define TRIGGER_MARKER 52 /* inserts an invisible, weightless */ /* force into a player with a * specified string WHEN TRIGGERED. */ #define DEAD_OBJECT 53 #define DRINK 54 #define MARKER 55 /* inserts an invisible, weightless * force into a player with a * specified string. */ #define HOLY_ALTAR 56 #define PLAYER_CHANGER 57 #define BATTLEGROUND 58 /* battleground, by Andreas Vogl */ #define PEACEMAKER 59 /* Object owned by a player which can * convert a monster into a peaceful * being incapable of attack. */ #define GEM 60 /*#define FIRECHEST 61 */ /* FIRECHEST folded into FIREWALL */ #define FIREWALL 62 /*#define ANVIL 63 */ #define CHECK_INV 64 /* b.t. thomas at nomad.astro.psu.edu */ #define MOOD_FLOOR 65 /* b.t. thomas at nomad.astro.psu.edu * values of last_sp set how to * change: * 0 = furious, all monsters become * aggressive * 1 = angry, all but friendly become * aggressive * 2 = calm, all aggressive monsters * calm down * 3 = sleep, all monsters fall asleep * 4 = charm, monsters become pets */ #define EXIT 66 #define ENCOUNTER 67 #define SHOP_FLOOR 68 #define SHOP_MAT 69 #define RING 70 #define FLOOR 71 /* Floor tile -> native layer 0 */ #define FLESH 72 /* animal 'body parts' -b.t. */ #define INORGANIC 73 /* metals and minerals */ #define SKILL_TOOL 74 /* Allows the use of a skill */ #define LIGHTER 75 /* The trap_part, wall, light_source, misc_object, monster, and spawn_generator * types are not used in any archetypes, and should perhaps be removed. */ /*#define TRAP_PART 76 */ /* Needed by set traps skill -b.t. */ #define WALL 77 /* Wall. Put it always in layer 1 if * not set is_floor */ /*#define LIGHT_SOURCE 78 */ /* torches, lamps, etc. */ #define MISC_OBJECT 79 /* misc. objects are for objects * without a function in the engine. * Like statues, clocks, chairs... * If perhaps we create a function * where we can sit on chairs, we * create a new type and remove all * chairs from here. */ #define MONSTER 80 /* A real, living creature */ /*#define SPAWN_GENERATOR 81 */ /* Spawn point or monster generator */ #define LAMP 82 /* Lamp */ #define DUPLICATOR 83 /* Duplicator/multiplier object */ /*#define TOOL 84 */ /* Tool for building objects */ #define SPELLBOOK 85 /*#define BUILDFAC 86 */ /* Facilities for building objects */ #define CLOAK 87 /*#define CONE 88 */ /*#define AURA 89 */ /* Aura spell object */ #define SPINNER 90 #define GATE 91 #define BUTTON 92 #define CF_HANDLE 93 #define HOLE 94 #define TRAPDOOR 95 /*#define WORD_OF_RECALL 96 */ /*#define PARAIMAGE 97 */ #define SIGN 98 #define BOOTS 99 #define GLOVES 100 #define SPELL 101 #define SPELL_EFFECT 102 #define CONVERTER 103 #define BRACERS 104 #define POISONING 105 #define SAVEBED 106 /*#define POISONCLOUD 107*/ /*#define FIREHOLES 108*/ #define WAND 109 /*#define ABILITY 110*/ #define SCROLL 111 #define DIRECTOR 112 #define GIRDLE 113 #define FORCE 114 #define POTION_EFFECT 115 /* A force, holding the effect of a * potion */ #define EVENT_CONNECTOR 116 /* Lauwenmark: an invisible object * holding a plugin event hook */ #define CLOSE_CON 121 /* Eneq(@csd.uu.se): Id for * close_container archetype. */ #define CONTAINER 122 #define ARMOUR_IMPROVER 123 #define WEAPON_IMPROVER 124 /* unused: 125 - 129 * type 125 was MONEY_CHANGER */ #define SKILLSCROLL 130 /* can add a skill to player's * inventory -bt.*/ #define DEEP_SWAMP 138 #define IDENTIFY_ALTAR 139 /*#define CANCELLATION 141*/ /* not used with new spell code */ #define SHOP_INVENTORY 150 /* Mark Wedel (mark at pyramid.com) Shop * inventories */ /*#define BALL_LIGHTNING 151*/ /* peterm: ball lightning and color * spray */ /*#define SWARM_SPELL 153*/ #define RUNE 154 #define TRAP 155 #define POWER_CRYSTAL 156 #define CORPSE 157 #define DISEASE 158 #define SYMPTOM 159 #define BUILDER 160 /* Generic item builder, see subtypes * below */ #define MATERIAL 161 /* Material for building */ #define OBJECT_TYPE_MAX 161 /* Update if you add new types */ /* END TYPE DEFINE */ /*@}*/ IP-Address : 70.254.39.97 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/dev:object_types -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Dec 28 17:18:23 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 28 Dec 2007 17:18:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:objects Message-ID: <1198883903.562414.2867.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/28 17:18 User : Edit Summary: FIXME - Add information for legs @@ -825,9 +825,8 @@ effects an item has may reduce the item power. Eg, a 'sword +4 (str +2)(wis -3)' would really be 3 enchantments. FIXME add settings explanation, ensure information is correct :) - ===== Body Location ===== The body locations information determines where the item is equipped onto @@ -860,8 +859,10 @@ | body_foot | 2 | boots | | body_hand | 2 | gloves | | body_wrist | 2 | bracers | | body_waist | 1 | girdle | + + FIXME - Add information for legs ==== Using body information ==== Using this information is quite easy - for objects, just add the appropriate IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev:objects?rev=1198791774 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 Fri Dec 28 18:33:42 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 28 Dec 2007 18:33:42 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1198888422.468909.3173.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/28 18:33 User : kbulgrien Edit Summary: ln -s command had reversed parameters for maps/maps.svn @@ -98,8 +98,9 @@ $ 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 @@ -117,9 +118,9 @@ /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 + $ sudo ln -s /home//maps.svn 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. First, create the necessary directory tree for the map files with this command: IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1194916245 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 Fri Dec 28 23:08:32 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 28 Dec 2007 23:08:32 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_types Message-ID: <1198904912.342479.4271.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/28 23:08 User : kbulgrien Edit Summary: Add type 94 (HOLE) information. @@ -9,9 +9,38 @@ * [[dev:objects#Types (type) & Subtypes (subtype)|dev:objects Types (type) & Subtypes (subtype)]] * SVN * [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h|server/include/define.h]] - ======server/include/define.h Excerpt====== + ======Type Information====== + + =====HOLE (94)===== + + Holes send objects that fall through them to a new location on the current map. + + * The destination after falling through the hole is random. + * Become "full" (Can stop working) if destination is blocked. + * May be opened and closed via connection. + * Monsters, spells, etc. can fall through. + * Can trigger on all movement types. + + **Special Object Attributes** + + | connection | When a connection value is set, the pit can be opened/closed by activating the connection. | + | destination X \\ destination Y | The pit will transport creatures (and items) randomly into a two-square radius of the destination coordinates. If the destination square becomes blocked, the pit will act like it is filled up and will not work any more. | + | position state | The position state defines the position of the gate: Zero means completely open/down, the "number of animation-steps" (usually about 6 or 7) means completely closed/up state. The default value is usually recommended. | + | affected movement | Make creatures using these movement types fall into the pit. Movement types other than walking is not the behavior expected from a pit, and other settings should only be used for map-mechanisms (e.g. for transporting flying monsters). An interesting side-effect is if this flag is enabled, spell effects like fire/snow also make their way through the pit. | + + =====Common Object Attributes===== + + | name | The name of the object displayed to players. | + | image | The image name defines what image is displayed for this object. | + | glow radius | If glow radius is set to a value greater than zero, the object appears lit up on dark maps. It can be a value between 0 and 4 with higher values emitting greater amounts of light. | + | smooth level | If smooth level is set to a value greater than zero, the object will be drawn partially over adjacent squares having a lower smooth level. The value must be between 0 and 255 (inclusive) where 0 means "never overlap adjacent squares". | + | elevation | The elevation, or height above sea level) of this tile. It is used for weather calculations and should be in the range -32000 to 32000. The elevation of a tile must be set in the bottom-most game object; elevation values for non-bottom-most game objects are ignored by the Crossfire server. | + | invisible | Makes the object invisible. Depending on the object type, some can be made visible by the show_invisible spell. If in doubt, test it. Putting an invisible object under the floor always prevents it from being shown. | + | block view | If set, players (and monsters) cannot see beyond the object unless they cross it or manage to stand on top of it. | + + ======Server define.h Object Type Excerpt====== /** * @defgroup OBJECT_TYPE Object types. * * Only add new values to this list if somewhere in the program code, it is IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_types?rev=1198801621 New Revision: http://wiki.metalforge.net/doku.php/dev:object_types -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 00:27:36 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 00:27:36 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:object_fields Message-ID: <1198909656.751734.5441.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 00:27 User : kbulgrien Edit Summary: Add crosslink to dev:object_types @@ -211,13 +211,16 @@ ==== facing ==== Type: sint8 Meaning: + ==== type ==== Type: uint8 Meaning: + + See Also: [[dev:object types|dev:object types]] ==== subtype ==== Type: uint8 IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/dev:object_fields?rev=1177366565 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 Sat Dec 29 08:19:55 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 08:19:55 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: making_archetypes Message-ID: <1198937995.426115.4516.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 08:19 User : kbulgrien Edit Summary: Add a tips section; number sign used as a comment character in .arc files. @@ -7,8 +7,14 @@ * if you are under Linux {FIXME other architectures}, you need to have the server built * a working Crossfire server * the archetypes collection * Perl. + + =====Tips===== + + ====Commenting .arc Files==== + + * The number sign (#) may be used as a comment character in .arc files. ===== Items ===== FIXME -- Modify Existing Potion section is a draft and work in progress IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/making_archetypes?rev=1198116915 New Revision: http://wiki.metalforge.net/doku.php/making_archetypes -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 08:32:19 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 08:32:19 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: making_archetypes Message-ID: <1198938739.987850.4537.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 08:32 User : kbulgrien Edit Summary: Rework the outline to better organize information. @@ -1,4 +1,10 @@ + ====== Information and Tips ====== + + ===== Commenting .arc Files ===== + + * The number sign (#) may be used as a comment character in .arc files. + ====== Making Archetypes ====== Monsters, walls, tiles, and practically everything else in Crossfire are Archetypes. Archetype is often abbreviated to "arch". @@ -7,36 +13,14 @@ * if you are under Linux {FIXME other architectures}, you need to have the server built * a working Crossfire server * the archetypes collection * Perl. - - =====Tips===== - - ====Commenting .arc Files==== - - * The number sign (#) may be used as a comment character in .arc files. ===== Items ===== - FIXME -- Modify Existing Potion section is a draft and work in progress + ==== Potions === - ==== Modify Existing Potion ==== - - - Locate the //object name// of the potion in question. You can find this while in game and in DM mode by using the //dump// command on an existing potion id number. - - Locate or search for the object name in the archetype files. You can use the grep command or search for text in the Archetype files that contains a key word in the potion name, this will probably require some trial and error. - - Edit the .arc file with the changes you want to make. Examples include changing the name, modifying the potion duration, the potion appearance (aka graphic), and so on. - - Save the file with your changes. - - === If the potion name changed === - - * You will need to update the shop file. This file is located in the **archetypes** directory at: shop/Floors/shop_potion.trs - * FIXME - where is the shop_potion.trs file in branch? - * You will need to update the alchemy formula file. This file is located in the **server** directory at: lib/formulae - * You will need to update the treasure generation file. This is located in the **server** directory at: lib/treasures - * You will need to search through all the **map** files and update any references to the old (object) name as well. - * Let the developers on the Gridarta (map editor) project know about the change so they can update the pickmap (ex: trunk/crossfire/resource/pickmaps/treasure) - - ==== Making a New Potion ==== + === Making a New Potion === Some may find it easier to take an existing potion and tweak all the stats on it to ultimately create a "new potion." * If you want it to show up in shops, the shop file needs to be updated. This file is located in the **archetypes** directory at: shop/Floors/shop_potion.trs @@ -65,8 +49,32 @@ more arch potion_ chance + + === Modify Existing Potion === + + FIXME -- Modify Existing Potion section is a draft and work in progress + + - Locate the //object name// of the potion in question. You can find this while in game and in DM mode by using the //dump// command on an existing potion id number. + - Locate or search for the object name in the archetype files. You can use the grep command or search for text in the Archetype files that contains a key word in the potion name, this will probably require some trial and error. + - Edit the .arc file with the changes you want to make. Examples include changing the name, modifying the potion duration, the potion appearance (aka graphic), and so on. + - Save the file with your changes. + + == If the potion name changed == + + * You will need to update the shop file. This file is located in the **archetypes** directory at: shop/Floors/shop_potion.trs + * FIXME - where is the shop_potion.trs file in branch? + * You will need to update the alchemy formula file. This file is located in the **server** directory at: lib/formulae + * You will need to update the treasure generation file. This is located in the **server** directory at: lib/treasures + * You will need to search through all the **map** files and update any references to the old (object) name as well. + * Let the developers on the Gridarta (map editor) project know about the change so they can update the pickmap (ex: trunk/crossfire/resource/pickmaps/treasure) + + ===== Map Features ===== + + ==== Buildings ==== + + FIXME describe multi-tile building special requirements and address how to specify which tile is the "head", and what/where attributes are placed. Some note s describing object types seem to imply that it is not necessary to replicate properties on parts other than the "head". ===== Monsters ===== ==== Modify Existing Monster (Example) ==== @@ -125,13 +133,9 @@ body_arm 2 body_range 1 end - =====Buildings===== - - FIXME describe multi-tile building special requirements and address how to specify which tile is the "head", and what/where attributes are placed. Some note s describing object types seem to imply that it is not necessary to replicate properties on parts other than the "head". - - ======Testing Archetypes====== + ====== Testing Archetypes ====== - If you have compiled before, - go into the crossfire/lib directory - type, "rm archetypes" IP-Address : 70.254.39.97 Old Revision: http://wiki.metalforge.net/doku.php/making_archetypes?rev=1198937992 New Revision: http://wiki.metalforge.net/doku.php/making_archetypes -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 09:14:48 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 09:14:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1198941288.483386.4725.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 09:14 User : meflin Edit Summary: @@ -113,4 +113,32 @@ These maps are now working, you can download them here https://sourceforge.net/tracker/index.php?func=detail&aid=1782975&group_id=13833&atid=313833. There is still some work to do, the kennel for example is still as it was, it seems pretty well useless, but it wasn't hurting anything so I left it alone. > should be mostly fixed --- //[[nicolas.weeger at laposte.net|Ryo Saeba]] 2007/10/20 05:18// + + ===== Issues related to the Laughing Skull deployment of MF ==== + + * buy guild house : + *sign wants 1000 imperials, alter wants 100 amber + + * guildmaster / oracle + *the oracle promote script does not add the guildmaster + object to the player who has been promoted to guildmaster + + + * main floor + *the guild dues script adds the dues to the guild coffers even + when they dues are not taken from the player for insuficent funds + + + + *non-functioning pass gates + * tool gate x4 y21 + * garde gate x18 y 4 + + + + *second floor - + * morning after buying second floor the stairs are closed + * blocking further testing of second floor + + IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1192875969 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 09:17:16 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 09:17:16 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1198941436.958692.4737.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 09:17 User : meflin Edit Summary: @@ -128,8 +128,9 @@ * main floor *the guild dues script adds the dues to the guild coffers even when they dues are not taken from the player for insuficent funds + *morning after buying the stairs down to the kennel are missing *non-functioning pass gates * tool gate x4 y21 @@ -139,6 +140,8 @@ *second floor - * morning after buying second floor the stairs are closed * blocking further testing of second floor + + IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1198941285 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 09:20:45 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 09:20:45 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1198941645.794509.4746.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 09:20 User : meflin Edit Summary: @@ -140,8 +140,11 @@ *second floor - * morning after buying second floor the stairs are closed * blocking further testing of second floor + + *big chest + * exits in the big chest go back to the orginal LS guild (old unique maps ) IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1198941434 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 09:25:35 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 09:25:35 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1198941936.017626.4755.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 09:25 User : meflin Edit Summary: @@ -138,13 +138,14 @@ *second floor - + * guild dues level / room can not be exited from no WOR ( needed DM help ) * morning after buying second floor the stairs are closed - * blocking further testing of second floor + blocking further testing of second floor *big chest * exits in the big chest go back to the orginal LS guild (old unique maps ) IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1198941642 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 10:03:21 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 10:03:21 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1198944201.870410.5001.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 10:03 User : meflin Edit Summary: Laughing Skull deployment of MF @@ -129,14 +129,8 @@ *the guild dues script adds the dues to the guild coffers even when they dues are not taken from the player for insuficent funds *morning after buying the stairs down to the kennel are missing - - - *non-functioning pass gates - * tool gate x4 y21 - * garde gate x18 y 4 - *second floor - * guild dues level / room can not be exited from no WOR ( needed DM help ) IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1198941931 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Dec 29 18:27:46 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 Dec 2007 18:27:46 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1198974466.662782.7744.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/29 18:27 User : Edit Summary: @@ -138,8 +138,11 @@ blocking further testing of second floor *big chest * exits in the big chest go back to the orginal LS guild (old unique maps ) + + *toolshed + *You can dimension door through the windows, granting you free use of the services, and access to the grass outside and across the river even. Just need to make the tiles under the windows deny magic. IP-Address : 69.106.107.144 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1198944198 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 30 08:51:53 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 30 Dec 2007 08:51:53 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1199026313.422603.9412.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/30 08:51 User : meflin Edit Summary: @@ -129,8 +129,11 @@ *the guild dues script adds the dues to the guild coffers even when they dues are not taken from the player for insuficent funds *morning after buying the stairs down to the kennel are missing + + *cosmetic : That is You must capture a Hellhound for a basement + remains after buying the stairs to the basement *second floor - * guild dues level / room can not be exited from no WOR ( needed DM help ) IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1198974462 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Dec 30 09:50:37 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 30 Dec 2007 09:50:37 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1199029837.083842.9627.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/30 09:50 User : meflin Edit Summary: @@ -127,8 +127,11 @@ * main floor *the guild dues script adds the dues to the guild coffers even when they dues are not taken from the player for insuficent funds + + *"Jack says: Let me know how many imperial you want to pay. Say pay " + needs to be changed to jade , and does not accept jade payments *morning after buying the stairs down to the kennel are missing *cosmetic : That is You must capture a Hellhound for a basement IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1199026311 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Dec 31 11:56:58 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 31 Dec 2007 11:56:58 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1199123818.403419.16178.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/31 11:56 User : meflin Edit Summary: @@ -147,8 +147,10 @@ * exits in the big chest go back to the orginal LS guild (old unique maps ) *toolshed *You can dimension door through the windows, granting you free use of the services, and access to the grass outside and across the river even. Just need to make the tiles under the windows deny magic. + + */pup_land/guilds/laughing_skull/guild_toolshed has reset back to orginal new cleaning ladys and the craft stations are un-bought IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1199029835 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Dec 31 11:58:58 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 31 Dec 2007 11:58:58 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1199123938.489268.16181.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/31 11:58 User : meflin Edit Summary: @@ -148,9 +148,9 @@ *toolshed *You can dimension door through the windows, granting you free use of the services, and access to the grass outside and across the river even. Just need to make the tiles under the windows deny magic. - */pup_land/guilds/laughing_skull/guild_toolshed has reset back to orginal new cleaning ladys and the craft stations are un-bought + */pup_land/guilds/laughing_skull/guild_toolshed 100pp for entry alters are missing ? ( yesterday they where there IP-Address : 71.229.157.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1199123815 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Dec 31 18:37:03 2007 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 31 Dec 2007 18:37:03 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: client_side_scripting:client_scripting_interface-basic_howto Message-ID: <1199147823.075118.18630.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2007/12/31 18:37 User : buzzsaw Edit Summary: @@ -8,9 +8,9 @@ === How do I run my script === Most of the time it is basically straight forward. The command script would be entered to start the script. How ever that only works if you write your script in a shell script or C/++. If you write you script in Java it get a bit more tricky but no worries its not that hard. - We are going to create a shell script that will run out scripts in Java for us. + We are going to create a shell script that will run our scripts in Java for us. #!/bin/bash cd /dir/to/java.class java $* IP-Address : 68.104.206.200 Old Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto?rev=1198519171 New Revision: http://wiki.metalforge.net/doku.php/client_side_scripting:client_scripting_interface-basic_howto -- This mail was generated by DokuWiki at http://wiki.metalforge.net/