--- Log opened Mon Jan 03 00:00:04 2011 --- Day changed Mon Jan 03 2011 20110103 00:00:04-!- eoc [~eoc@pD9560303.dip0.t-ipconnect.de] has quit [Quit: Leaving] 20110103 00:03:39-!- elias_ [~allefant@allefant.com] has joined #wesnoth-dev 20110103 00:03:39-!- anonymissimus [~chatzilla@HSI-KBW-095-208-006-134.hsi5.kabel-badenwuerttemberg.de] has joined #wesnoth-dev 20110103 00:04:46-!- Grimling [~floris_ki@91.181.60.216] has joined #wesnoth-dev 20110103 00:11:07-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Quit: recompile required] 20110103 00:11:57-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20110103 00:19:21-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20110103 00:21:05-!- Johannes13 [~Johannes@unaffiliated/johannes13] has quit [Ping timeout: 264 seconds] 20110103 00:27:04-!- phlaem [~a@e178060076.adsl.alicedsl.de] has quit [Quit: Leaving] 20110103 00:27:43-!- Netsplit *.net <-> *.split quits: esr, shikadibot, Tigge, clanehin, ABCD, kahoot, Ivanovic, chris|, skyfaller, loonycyborg, (+1 more, use /NETSPLIT to show all of them) 20110103 00:28:34-!- Crab_ [~Crab_@wesnoth/developer/crab] has left #wesnoth-dev [] 20110103 00:29:22-!- Netsplit over, joins: Ivanovic, loonycyborg, esr, shikadibot, CIA-84, clanehin, ABCD, kahoot, skyfaller, Tigge (+1 more) 20110103 00:29:25-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has joined #wesnoth-dev 20110103 00:30:04-!- eoc [~eoc@pD9560303.dip0.t-ipconnect.de] has joined #wesnoth-dev 20110103 00:43:14-!- Grimling_ [~floris_ki@91.181.60.216] has joined #wesnoth-dev 20110103 00:44:19-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20110103 00:45:38-!- Grimling [~floris_ki@91.181.60.216] has quit [Ping timeout: 276 seconds] 20110103 00:45:50-!- Grimling_ is now known as Grimling 20110103 00:59:43-!- noy [~Noy@wesnoth/developer/noy] has quit [Read error: Connection reset by peer] 20110103 01:00:46-!- iwontbecreative [~Thibault_@89-180-29-20.net.novis.pt] has quit [Ping timeout: 240 seconds] 20110103 01:01:14-!- Grimling [~floris_ki@91.181.60.216] has quit [Read error: Connection reset by peer] 20110103 01:04:11< CIA-84> espreon * r48186 /trunk/packaging/windows/ (SConscript Wesnoth.nsi.in wesnoth.rc wesnoth_editor.rc): Set svn:eol-style; unset svn:executable. 20110103 01:06:17-!- deathisundead [deathisund@c-76-122-128-198.hsd1.mi.comcast.net] has joined #wesnoth-dev 20110103 01:16:32-!- Grimling [~floris_ki@91.181.17.215] has joined #wesnoth-dev 20110103 01:21:45< CIA-84> espreon * r48187 /trunk/projectfiles/VC9/ (4 files): Ran dos2unix and set svn:eol-style. 20110103 01:35:42< CIA-84> anonymissimus * r48188 /trunk/projectfiles/VC9/wesnoth.vcproj: more MSVC project file update 20110103 01:38:57-!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20110103 01:54:10-!- loonycyborg [~sergey@wesnoth/developer/loonycyborg] has quit [Quit: Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz] 20110103 01:54:46-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20110103 02:00:44-!- eoc [~eoc@pD9560303.dip0.t-ipconnect.de] has quit [Quit: Leaving] 20110103 02:06:59< anonymissimus> Espreon:" external" binary data is nonsense 20110103 02:07:32< anonymissimus> that was a workaround for an engine bug created in 1.0 days or somewhen 20110103 02:08:13< Espreon> Really now? 20110103 02:08:28< anonymissimus> data/add-ons/A_Simple_Campaign/images/bookshelf-full.png 20110103 02:08:43< anonymissimus> thats how to refernce binaries from outside the ifdef 20110103 02:08:49< anonymissimus> yes really 20110103 02:09:18< anonymissimus> that bug was maybe there since ever; silene fixed it about 1 year ago 20110103 02:09:45< shadowmaster> is that a reply to what? 20110103 02:09:53< anonymissimus> to a forum thread 20110103 02:10:05< anonymissimus> http://forums.wesnoth.org/viewtopic.php?f=21&t=26152&p=472635#p472635 20110103 02:10:23< shadowmaster> Espreon: go test it. 20110103 02:10:25< Gambit> janebot: !forum-post 472635 20110103 02:10:26< janebot> Wesnoth Forums | WML Workshop | Re: Insane Hermit bugs by Espreon at 01-03-2011 00:39:47 http://forums.wesnoth.org/viewtopic.php?t=26152&p=472635#p472635 20110103 02:10:33< Espreon> shadowmaster: Very well. 20110103 02:10:51< shadowmaster> I can't be bothered to "fix" that in AtS though, so if you ask me about it later you'll suffer. 20110103 02:12:02< anonymissimus> ;) 20110103 02:12:51< anonymissimus> I'll run wmllint for you shadowmaster, and post its output :P 20110103 02:13:32< shadowmaster> and I'll ban you for that. 20110103 02:14:08< shadowmaster> the least I need at this point is more distractions such as wmllint conformance or "conformance with whatever the new practice for XYZ is" 20110103 02:15:59< shadowmaster> hm. it's too bad that [farm_unit] doesn't have a way to animate an attacker 20110103 02:16:04< shadowmaster> harm 20110103 02:18:27< anonymissimus> we decided against it since it would have been too much of a redundant structure 20110103 02:18:44< anonymissimus> you are supposed to use [animate_unit] then 20110103 02:18:54< anonymissimus> + other tags, what you need 20110103 02:19:34< shadowmaster> but animate_unit can't do damage at frame zero. 20110103 02:19:43< shadowmaster> it does animations, not unit modifications. 20110103 02:20:23< anonymissimus> why do you hate wmllint so much ? most of the functionalities are very helpful imo 20110103 02:20:53< anonymissimus> though some things like wmlsope's mismatched references thing is dirsturbing 20110103 02:21:58< shadowmaster> wmllint doesn't cope with my coding practices. 20110103 02:29:18< anonymissimus> the external binary path thing is only for a very small number of images relevant 20110103 02:30:36< anonymissimus> the ones from the difficulty selection menu, image in the campaign list, and the one in the addon list from the server (seemingly) 20110103 02:30:54< anonymissimus> so its not much that would need a fix 20110103 02:40:16-!- Upthorn [~ogmar@adsl-75-26-166-84.dsl.scrm01.sbcglobal.net] has joined #wesnoth-dev 20110103 02:42:17< shadowmaster> Gambit: oh, btw, silene uses Firefox 3.6.13 20110103 02:42:23< shadowmaster> Ubuntu 10.04 20110103 02:42:34< Gambit> err okay? 20110103 02:42:39 * Gambit resists asking how you know 20110103 02:42:56< shadowmaster> his UA string, of course. 20110103 02:43:22< shadowmaster> in the forums. 20110103 02:43:29< shadowmaster> in the Who Is Online section. 20110103 02:43:45< shadowmaster> of course, he is also hiding in the forums, so you can't see him there unless you are an admin. 20110103 02:44:03-!- Upth [ogmar@adsl-75-26-166-84.dsl.scrm01.sbcglobal.net] has quit [Ping timeout: 272 seconds] 20110103 02:45:48< Gambit> you also can't see his UA string unless you're an admin I'm guessing 20110103 02:48:53-!- Grimling [~floris_ki@91.181.17.215] has left #wesnoth-dev [] 20110103 02:50:00-!- Grimling [~floris_ki@91.181.17.215] has joined #wesnoth-dev 20110103 02:50:23-!- Grimling [~floris_ki@91.181.17.215] has left #wesnoth-dev [] 20110103 03:08:02-!- anonymissimus [~chatzilla@HSI-KBW-095-208-006-134.hsi5.kabel-badenwuerttemberg.de] has quit [Quit: ChatZilla 0.9.86 [Firefox 3.6.2/20100316074819]] 20110103 03:11:13-!- Upth [~ogmar@75.26.166.84] has joined #wesnoth-dev 20110103 03:16:34-!- }neb1{ [neb1@f79-118-251-89.pitesti.rdsnet.ro] has quit [] 20110103 03:31:38< ancestral> Is it easy to modify the recruit list or recall list during a turn? 20110103 03:32:08< shadowmaster> sur 20110103 03:32:14< shadowmaster> e 20110103 03:34:00< ancestral> [allow_recruit] ? 20110103 03:35:11-!- un214 [~un214@adsl-75-45-20-202.dsl.scrm01.sbcglobal.net] has joined #wesnoth-dev 20110103 03:38:50-!- un214 [~un214@adsl-75-45-20-202.dsl.scrm01.sbcglobal.net] has quit [Remote host closed the connection] 20110103 03:40:26< ancestral> Would it be possible to tie an event to when a particular unit is recruited? 20110103 03:41:32< ancestral> Espreon says "yes." Thanks, Espreon! 20110103 03:41:45< Espreon> No problem. 20110103 03:44:12-!- Blueblaze [~Blueblaze@adsl-76-202-20-217.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20110103 03:55:09-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-dev 20110103 03:56:49-!- Cookiee is now known as Cookie 20110103 03:57:19-!- Cookie is now known as Guest63404 20110103 03:57:26-!- Guest63404 [~quassel@unaffiliated/cookiee] has quit [Client Quit] 20110103 03:57:50-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-dev 20110103 04:10:05-!- PetePorty [~Pete@pc-8-253-120-200.cm.vtr.net] has joined #wesnoth-dev 20110103 04:17:40-!- Crab_ [~Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20110103 04:20:34-!- Elvish_Pillager [~eli@dhip-164.foss.residences.colby.edu] has quit [Ping timeout: 260 seconds] 20110103 04:41:00-!- vcap_ [~vcap@AReims-551-1-75-196.w90-58.abo.wanadoo.fr] has joined #wesnoth-dev 20110103 04:44:19-!- vcap [~vcap@AReims-551-1-118-187.w82-127.abo.wanadoo.fr] has quit [Ping timeout: 276 seconds] 20110103 04:46:11< CIA-84> crab * r48189 /trunk/ (8 files in 6 dirs): stub code for new candidate action for gnew ai lobal_fallback stage, 20110103 04:51:23-!- PetePorty [~Pete@pc-8-253-120-200.cm.vtr.net] has quit [Quit: Saliendo] 20110103 04:58:38-!- Ivanovic_ [~ivanovic@dtmd-4db2bc44.pool.mediaWays.net] has joined #wesnoth-dev 20110103 04:59:23-!- Aethaeryn [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Quit: ...] 20110103 05:01:51-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has quit [Ping timeout: 240 seconds] 20110103 05:02:34-!- Ivanovic_ is now known as Ivanovic 20110103 05:11:31-!- neb1 [neb1@f79-118-217-202.pitesti.rdsnet.ro] has joined #wesnoth-dev 20110103 05:12:33-!- neb1 is now known as ruxy 20110103 05:12:33-!- ruxy [neb1@f79-118-217-202.pitesti.rdsnet.ro] has quit [Client Quit] 20110103 05:13:36-!- ruxy [~laurion@f79-118-217-202.pitesti.rdsnet.ro] has joined #wesnoth-dev 20110103 05:19:23-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20110103 05:19:25-!- Gambit [~Gambit@wesnoth/developer/grickit] has quit [Read error: Connection reset by peer] 20110103 05:29:10-!- `ruxy [ruxy@f79-118-217-132.pitesti.rdsnet.ro] has joined #wesnoth-dev 20110103 05:31:11-!- ruxy [~laurion@f79-118-217-202.pitesti.rdsnet.ro] has quit [Ping timeout: 250 seconds] 20110103 05:33:41-!- `ruxy [ruxy@f79-118-217-132.pitesti.rdsnet.ro] has quit [Ping timeout: 264 seconds] 20110103 05:38:30-!- vcap [~vcap@AReims-551-1-80-100.w90-58.abo.wanadoo.fr] has joined #wesnoth-dev 20110103 05:41:26-!- vcap_ [~vcap@AReims-551-1-75-196.w90-58.abo.wanadoo.fr] has quit [Ping timeout: 240 seconds] 20110103 05:45:11-!- ruxy [~laurion@f79-118-216-227.pitesti.rdsnet.ro] has joined #wesnoth-dev 20110103 05:59:45-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 272 seconds] 20110103 06:01:06-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20110103 06:13:31-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has quit [Ping timeout: 246 seconds] 20110103 06:19:34-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 260 seconds] 20110103 06:26:00-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has joined #wesnoth-dev 20110103 06:35:05-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20110103 06:36:06-!- Crab_ [~Crab_@wesnoth/developer/crab] has quit [Quit: Leaving.] 20110103 06:43:59-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has quit [Ping timeout: 250 seconds] 20110103 06:44:46-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has joined #wesnoth-dev 20110103 06:50:36-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 246 seconds] 20110103 06:51:17-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has quit [Quit: crimson_penguin] 20110103 06:53:23< CIA-84> espreon * r48190 /trunk/utils/java/ (37 files in 6 dirs): Ran dos2unix. 20110103 07:50:42-!- zookeeper [~l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20110103 08:23:59-!- Blueblaze [~Blueblaze@adsl-76-202-20-217.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20110103 08:47:47-!- ancestral [~ancestral@174-30-237-85.mpls.qwest.net] has quit [Quit: ancestral] 20110103 08:49:02-!- ancestral [~ancestral@174-30-237-85.mpls.qwest.net] has joined #wesnoth-dev 20110103 08:52:59-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has quit [Ping timeout: 260 seconds] 20110103 08:54:24-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has joined #wesnoth-dev 20110103 09:25:43-!- phlaem [~a@g231227005.adsl.alicedsl.de] has joined #wesnoth-dev 20110103 09:31:31-!- Rose [~quassel@unaffiliated/cookiee] has joined #wesnoth-dev 20110103 09:33:59-!- Cookiee [~quassel@unaffiliated/cookiee] has quit [Ping timeout: 255 seconds] 20110103 09:39:13-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20110103 09:49:53-!- Ivanovic [~ivanovic@dtmd-4db2bc44.pool.mediaWays.net] has quit [Changing host] 20110103 09:49:53-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20110103 09:50:56< Ivanovic> moin 20110103 09:55:51-!- Rose is now known as Cookie 20110103 09:55:58-!- Cookie [~quassel@unaffiliated/cookiee] has quit [Quit: OH. LOOK ITS A COOKIE THERE, RIGHT THERE *runs away*] 20110103 09:56:20-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-dev 20110103 09:57:29< stikonas> Ivanovic: morning, can you add a couple of translators to about.cfg (http://stikonas.homelinux.org/files/aboutcfg.diff) 20110103 09:57:50< stikonas> I forgot to send this diff with the last translation update 20110103 09:58:07< Ivanovic> sure 20110103 09:58:13< Ivanovic> just give me some mins to wake up 20110103 09:58:15< Ivanovic> ;) 20110103 09:58:40-!- Grimling [~Grimling@91.181.231.149] has joined #wesnoth-dev 20110103 10:04:45-!- phlaem [~a@g231227005.adsl.alicedsl.de] has quit [Quit: Leaving] 20110103 10:07:15-!- EdB [~edb@tss37-1-89-84-18-220.dsl.club-internet.fr] has joined #wesnoth-dev 20110103 10:14:44< Espreon> stikonas: I got rid of the big, bad Windows line endings. 20110103 10:14:54< stikonas> thanks :) 20110103 10:15:00< Espreon> No prob. 20110103 10:15:20< stikonas> now the tarball should be smaller :D 20110103 10:47:36-!- FaceFox [~machine4@pool-74-111-197-200.lsanca.fios.verizon.net] has joined #wesnoth-dev 20110103 11:04:47-!- elias_ is now known as elias 20110103 11:14:43-!- ancestral [~ancestral@174-30-237-85.mpls.qwest.net] has quit [Quit: i go sleeps kthxbai] 20110103 11:22:20-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has quit [Ping timeout: 260 seconds] 20110103 11:24:29-!- MeccaGod [~majs@h14n4fls31o279.telia.com] has joined #wesnoth-dev 20110103 11:31:10-!- FaceFox [~machine4@pool-74-111-197-200.lsanca.fios.verizon.net] has quit [Quit: www.FaceFox.com] 20110103 11:32:11-!- FaceFox [~machine4@pool-74-111-197-200.lsanca.fios.verizon.net] has joined #wesnoth-dev 20110103 11:33:54-!- mjs-de [~mjs-de@p3EE24308.dip.t-dialin.net] has joined #wesnoth-dev 20110103 11:58:17-!- stikonas [~and@wesnoth/translator/stikonas] has quit [Ping timeout: 264 seconds] 20110103 12:04:42-!- stikonas [~and@ctv-213-164-112-88.vinita.lt] has joined #wesnoth-dev 20110103 12:04:42-!- stikonas [~and@ctv-213-164-112-88.vinita.lt] has quit [Changing host] 20110103 12:04:42-!- stikonas [~and@wesnoth/translator/stikonas] has joined #wesnoth-dev 20110103 12:12:57-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-dev 20110103 12:13:51-!- loonycyborg [~sergey@wesnoth/developer/loonycyborg] has joined #wesnoth-dev 20110103 12:31:11-!- ancestral [~ancestral@174-30-237-85.mpls.qwest.net] has joined #wesnoth-dev 20110103 12:47:09-!- Crendgrim [~crend@p54A07A2F.dip.t-dialin.net] has joined #wesnoth-dev 20110103 12:54:23-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has joined #wesnoth-dev 20110103 12:59:30-!- Gambit [~Gambit@wesnoth/developer/grickit] has joined #wesnoth-dev 20110103 13:01:25-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20110103 13:15:29-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has quit [Ping timeout: 272 seconds] 20110103 13:37:34-!- Netsplit *.net <-> *.split quits: ABCD, kahoot, Ivanovic, skyfaller 20110103 13:37:57-!- Netsplit *.net <-> *.split quits: shadowmaster, Rhonda, Grimling, Crendgrim, stikonas, clanehin, deathisundead, yann, zookeeper, CIA-84, (+28 more, use /NETSPLIT to show all of them) 20110103 13:38:02-!- Netsplit *.net <-> *.split quits: Ingmar, law_, Smar, FaceFox, erl 20110103 13:45:37-!- fendrin [~fabi@wesnoth/developer/fendrin] has quit [Ping timeout: 272 seconds] 20110103 13:54:45-!- fendrin [~fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20110103 13:54:47-!- Netsplit over, joins: Ivanovic, happygrue, shadowmaster, Gambit, Cookiee, mjs-de, elias, wesbot, Rhonda, janebot (+37 more) 20110103 13:54:48-!- Johannes13 [~Johannes@unaffiliated/johannes13] has joined #wesnoth-dev 20110103 14:06:39-!- ancestral [~ancestral@174-30-237-85.mpls.qwest.net] has quit [Quit: i go sleeps kthxbai] 20110103 14:15:55-!- FaceFox [~machine4@pool-74-111-197-200.lsanca.fios.verizon.net] has quit [Quit: www.FaceFox.com] 20110103 14:24:09-!- GNUtoo|laptop [~gnutoo@host7-149-dynamic.51-79-r.retail.telecomitalia.it] has joined #wesnoth-dev 20110103 14:37:21-!- iwaim_vs [~iwaim@p3033-ipbf6706marunouchi.tokyo.ocn.ne.jp] has joined #wesnoth-dev 20110103 14:39:39-!- eoc [~eoc@pD956154B.dip0.t-ipconnect.de] has joined #wesnoth-dev 20110103 14:45:11< AI0867> ancestral: probably not 20110103 14:53:51-!- iwontbecreative [~Thibault_@89.180.29.20] has joined #wesnoth-dev 20110103 15:14:08-!- Crab_ [~Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20110103 15:23:46-!- Elvish_Pillager [~eli@dhip-164.foss.residences.colby.edu] has joined #wesnoth-dev 20110103 15:24:03-!- MeccaGod [~majs@h14n4fls31o279.telia.com] has quit [] 20110103 15:41:54-!- `ruxy [ruxy@f79-118-216-227.pitesti.rdsnet.ro] has joined #wesnoth-dev 20110103 15:42:19-!- `ruxy [ruxy@f79-118-216-227.pitesti.rdsnet.ro] has quit [Client Quit] 20110103 15:43:11-!- mihai_ [mihai@f79-118-216-227.pitesti.rdsnet.ro] has joined #wesnoth-dev 20110103 15:43:18-!- mihai_ [mihai@f79-118-216-227.pitesti.rdsnet.ro] has left #wesnoth-dev [] 20110103 15:47:27-!- Cookiee [~quassel@unaffiliated/cookiee] has quit [Remote host closed the connection] 20110103 16:06:07-!- fendrin [~fabi@wesnoth/developer/fendrin] has quit [Remote host closed the connection] 20110103 16:11:15-!- phlaem [~a@g231227005.adsl.alicedsl.de] has joined #wesnoth-dev 20110103 16:20:57< Crab_> Grimling: hello 20110103 16:21:03< Grimling> Crab_: hi 20110103 16:21:45< Crab_> I'm thinking of yet another AI-related task, a thing similar to what you've done with recruitment, but for combat phase. are you interested ? 20110103 16:21:58< Grimling> sure 20110103 16:22:21-!- Blueblaze [~Blueblaze@adsl-76-202-20-217.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20110103 16:22:23< Crab_> do you have time to hear about it at the moment ? 20110103 16:23:04< Grimling> Crab_: yes 20110103 16:23:58< Crab_> great. so, imagine that there is a two-player battle, we are side 1, and our units are near the enemy units 20110103 16:24:31< Crab_> some of our units can get hit by enemy on his next turn 20110103 16:25:25< Crab_> we want to make a c++ function which will provide an estimated answer to the question 'how much damage the enemy is able to cause us if he does an all-out attack next turn?' 20110103 16:26:14< Crab_> in order to calculate it, we need to find out which enemy units will attack which our units, and find out the combat odds and expected damage, in each combat 20110103 16:26:37< Crab_> clear enough, so far ? 20110103 16:26:54-!- Crendgrim [~crend@p54A07A2F.dip.t-dialin.net] has quit [Remote host closed the connection] 20110103 16:27:06< Grimling> i think so 20110103 16:27:53< Crab_> we know that we already have a c++ code which can answer 'which combats are best', its our own combat phase class, plus attack analysis class 20110103 16:28:12< Crab_> so, the problem boils down to running a simulated combat phase for the enemy, using a temporary unit map. 20110103 16:28:57< Crab_> it's simular to what you've done with recruitment, where you run recruitment for the enemy 20110103 16:29:54< Crab_> combat phase works like 'find best groups of attack, do best attack, mark those units which have attacked and the unit which we have attacked as not available anymore, repeat' 20110103 16:30:20< Crab_> we want an estimation, so, for now, to gain more speed, we will assume no units will be killed during our estimated combat. 20110103 16:31:02< Crab_> this will allow us to get away without recalculation of enemy movement map after each set of combats, and the result will be more-or-less the same 20110103 16:31:27< Crab_> so, to simulate combat_phase for the enemy, we'll need : 20110103 16:31:59< Crab_> 1) get enemy movement map, get time of day for enemy next turn (for now, assume it's 1 enemy, thus, 1 time of day) 20110103 16:32:30< Crab_> 2) get a list of iterators to our units, get a list of iterators to enemy units 20110103 16:33:05< Crab_> 3) run combat simulation for the enemy to get something like an std::vector for the enemy 20110103 16:34:16< Crab_> 4) pick best attack from it, put it into 'attacks_done' vector, move enemy units (using a temporary unit map or storing the temporary modifications to original unit map somewhere) 20110103 16:34:17-!- Johannes13_ [~Johannes@unaffiliated/johannes13] has joined #wesnoth-dev 20110103 16:34:52< Crab_> 5) mark involved friendly units and enemy units as 'not available' (remove them from the lists in (2) ) 20110103 16:35:14< Crab_> 6) repeat from stage 3 unless no more good attacks are left 20110103 16:35:29< Grimling> what do you mean by not available? can't the enemy attack a unit twice? 20110103 16:36:16< Crab_> look at http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/testing/aspect_attacks.cpp?revision=48170&view=markup 20110103 16:36:59-!- Johannes13 [~Johannes@unaffiliated/johannes13] has quit [Ping timeout: 255 seconds] 20110103 16:37:42< Crab_> note that 'do_attack_analysis(j->get_location(), srcdst, dstsrc, fullmove_srcdst, fullmove_dstsrc, enemy_srcdst, enemy_dstsrc, adjacent,used_locations,unit_locs,*res,analysis);' line is done once for enemy and that each attack_analysis is for 'multiple units attacking one target' 20110103 16:37:59< Crab_> so, if the enemy will attack a unit twice, its 1 attack_analysis with multiple attacker and single defender 20110103 16:38:44< Crab_> so, in our simulation, on each iteration of combat_phase we will deal with enemy attacking our most-vulnerable unit by 1-6 units; after that, we forget about that unit and about enemies that have attacked it. 20110103 16:40:38< Grimling> ok 20110103 16:41:09< Crab_> 7) take attacks_done vector; if we have N units, it'll contain up to N elements, each of them will involve 1 our unit and some enemy attackers. we'll evaluate the attack analysis to see if it's good or bad for us. 20110103 16:42:58< Crab_> so, we need to modify wesnoth's code to allow it to be used both for 'our' combat phase and for 'enemy' simulated combat phase. 20110103 16:43:08< Crab_> preferrably, without copypasting the code 20110103 16:43:32< Crab_> that means, that, at first, we must figure out what we need to refactor in existing code 20110103 16:43:57< Crab_> that is for ' 3) run combat simulation for the enemy to get something like an std::vector for the enemy ' 20110103 16:44:16-!- dtiger [~dtiger@dynamic-vpdn-93-125-65-26.telecom.by] has joined #wesnoth-dev 20110103 16:44:20< Crab_> that is boost::shared_ptr aspect_attacks::analyze_targets() const in src/ai/testing/aspect_attacks.cpp 20110103 16:46:28< Crab_> note, that as of now, it uses get_side(), get_passive_leader(), current_team(), calculate_possible_moves in a way that is related to our side 20110103 16:48:22< Crab_> void aspect_attacks::do_attack_analysis() uses get_attack_depth(), get_side(), power_projection(), get_aggression(), resources::tod_manager->get_time_of_day() 20110103 16:48:24-!- MeccaGod [~majs@h14n4fls31o279.telia.com] has joined #wesnoth-dev 20110103 16:49:17< Grimling> ok, i think i understand what i need to do 20110103 16:50:09< Crab_> I'd probably copypaste aspect_attacks::analyze_targets() and have it call a modified version of aspect_attacks::do_attack_analysis, passing get_side(), get_attack_depth(), and time of day to it 20110103 16:50:54< Crab_> for the enemy, we can assume that get_attack_depth() is equal to our get_attack_depth(), it'll be ok because it's just a measure of ais smartness. if it gets too slow, we'll reduce it 20110103 16:51:05< Crab_> for the enemy, we can assume aggression ~ 0.4 or 0.3 20110103 16:51:57< Crab_> for now, to get time of day, we, in our particular test case, can use current time of day (we are running our tests as ai for side 1, so it's enemy will act on same turn, after us) 20110103 16:52:03< Crab_> so, that part can be left as is, for now. 20110103 16:52:56< Crab_> you will probably need to modify aspect_attacks::do_attack_analysis() to be a public static function, it's the easiest way to get to it at the moment. 20110103 16:56:06< Crab_> src/ai/testing/ca_global_fallback.cpp is the file to modify 20110103 16:57:10< Crab_> I will send you two saves via forum PM 20110103 16:57:30< Grimling> ok, thanks 20110103 16:57:58< Crab_> those are the saves provided by skyfaller, and slightly modified by me to have an AI which uses the global_fallback_phase 20110103 16:58:24< Crab_> the phase does nothing at the moment, but adds a label on each friendly unit, stating the 'expected' vulnerability to it. 20110103 16:59:02< Crab_> I'll commit it shortly 20110103 17:00:10< Crab_> right now, that vulnerability is not calculated, but it is to be calculated in step (7) of our algorithm from the attacks done by the enemy in whatever creative way you make it happen. 20110103 17:00:32< Crab_> but step (7) is still somewhat away 20110103 17:02:12< Crab_> after we get a function to calculate the 'expected' enemy damage, then the real work will start - we'll need to figure a way to place our units to minimize that expected damage. 20110103 17:03:04< Crab_> those two saves are the result of 'figure a way to place our units to minimize that expected damage' step done by human [ by skyfaller (nelson on forums) ] - save 'before retreat' and 'after retreat' 20110103 17:03:44< Grimling> ok 20110103 17:03:46< Crab_> ( the forum topic related to the idea is http://forum.wesnoth.org/viewtopic.php?f=10&t=32688&p=472235#p472235 ) 20110103 17:06:34< CIA-84> crab * r48191 /trunk/src/ (tod_manager.cpp tod_manager.hpp): add a function to tod_manager to get time of day at the next turn of a particular enemy team 20110103 17:06:38< CIA-84> crab * r48192 /trunk/src/ai/testing/ca_global_fallback.cpp: stub code for marking the vulnerability of each our unit with a label 20110103 17:07:01< Crab_> to test the code, get r48192, load one of the saves, (move units if necessary) the type :droid - the AI will kick in 20110103 17:07:17< Crab_> it will only play the 'global_fallback' stage, then end turn 20110103 17:07:43< Crab_> each of units of side 1 will be marked with a label 20110103 17:09:09< Crab_> to check that your code is working correctly, you might comment out the '(using a temporary unit map or storing the temporary modifications to original unit map somewhere)' part, then the enemy units will be moved when you move them to simulate attacks. 20110103 17:09:32< Crab_> (move with direct modifications to unit map, not via ai actions - you can't move enemy units via an action, anyway) 20110103 17:09:40< Crab_> any questions ? 20110103 17:11:42< Crab_> note that if you run wesnoth with ./wesnoth -d --log-debug='ai/ca/global_fallback', you'll see log output of LOG_AI, DBG_AI statements 20110103 17:12:19< Crab_> if needed, you can define multiple log domains and corresponding output macros there, if you need the ability to turn various parts of the logging off and on. 20110103 17:12:50< Grimling> i'll give it a try 20110103 17:13:59< Crab_> the first deliverable might be the patch to attack_analysis which makes it possible to use aspect_attacks::do_attack_analysis() both for our side (from aspect_attacks::analyze_targets()) and for enemy side (from global_fallback_phase::execute() ) 20110103 17:14:34< Crab_> ok, ping me when you'll have code for review 20110103 17:14:50< Crab_> or if there'll be any questions 20110103 17:15:03< Grimling> ok 20110103 17:15:40-!- mjs-de [~mjs-de@p3EE24308.dip.t-dialin.net] has quit [Remote host closed the connection] 20110103 17:19:02< Crab_> ping me when you'll need a GCI task created for that. 20110103 17:20:03< Grimling> i don't think i will be able to do it as a gci task, there's only one week left and i'm now waiting for review for a haiku translation task, and then i'd like to do another little task to have 12 task finished 20110103 17:20:34< Grimling> but while i'm waiting (and waiting takes much time) i can work on it 20110103 17:20:36< Grimling> and after the gci too 20110103 17:20:50< Crab_> well, 7 days are left; I will accept even a partial result if you'll have something useful done. 20110103 17:21:26< Crab_> so, lets say you'll try and if it works for you and you do something good in the GCI timeframe, we'll create a task for that 20110103 17:24:16< Grimling> ok, thanks 20110103 17:26:59-!- ancestral [~ancestral@174-30-237-85.mpls.qwest.net] has joined #wesnoth-dev 20110103 17:28:58-!- wesbot changed the topic of #wesnoth-dev to: FOSDEM2011: http://wiki.wesnoth.org/Fosdem2011 | 184 bugs, 302 feature requests, 21 patches | logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20110103 17:31:45-!- phlaem [~a@g231227005.adsl.alicedsl.de] has quit [Quit: Leaving] 20110103 17:36:51-!- EdB [~edb@tss37-1-89-84-18-220.dsl.club-internet.fr] has quit [Remote host closed the connection] 20110103 17:53:37-!- fendrin [~fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20110103 17:53:41< Grimling> Crab_: where do i need to put the savegames to open them? in what directory? 20110103 17:55:03< Ivanovic> Grimling: windows or linux? 20110103 17:55:25< Grimling> Ivanovic: linux, svn installed (not prepackaged) 20110103 17:55:40< Ivanovic> .wesnoth/saves 20110103 17:55:52< Ivanovic> probably some .wesnoth1.9 or such, wary the folder name a little 20110103 17:56:04< Crab_> ~/.local/share/wesnoth/1.9/saves 20110103 17:56:37< Grimling> ok, thanks 20110103 17:56:44< Ivanovic> ah, right, there was some change to FDO defaults 20110103 17:57:01< Crab_> Ivanovic: yes, I was surprised, too, when I first heard about that 20110103 17:57:46< iwontbecreative> ^ It's annoying to have +100 .application/ folders in your home, so it's a nice change :) 20110103 17:57:56< Ivanovic> though you can still use the preference dir param 20110103 17:58:17< Ivanovic> (in the build system) to define the folder to use 20110103 18:07:23-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has joined #wesnoth-dev 20110103 18:08:15< stikonas> Ivanovic: can you commit updated translators list in about.cfg (http://stikonas.homelinux.org/files/aboutcfg.diff)? 20110103 18:12:00-!- fendrin [~fabi@wesnoth/developer/fendrin] has quit [Remote host closed the connection] 20110103 18:12:22-!- Samm [~Samuel@89.43.196.13] has joined #wesnoth-dev 20110103 18:13:34< Ivanovic> stikonas: ah, right, completely forgot about it, committed it now 20110103 18:25:39-!- Samm [~Samuel@89.43.196.13] has quit [Ping timeout: 265 seconds] 20110103 18:26:51 * stikonas kicks CIA-84 20110103 18:27:02< CIA-84> ow 20110103 18:28:43< CIA-84> ivanovic * r48193 /trunk/data/core/about.cfg: updated Lithuanian credits entries 20110103 18:30:18< Gambit> I fear the day that CIA snaps and starts kicking back. 20110103 18:33:26< Crab_> Gambit: or starts committing things on its own :) 20110103 18:36:50-!- negusnyul [~negusnyul@dsl4E5CD915.pool.t-online.hu] has joined #wesnoth-dev 20110103 18:40:40-!- FaceFox [~machine4@pool-74-111-197-200.lsanca.fios.verizon.net] has joined #wesnoth-dev 20110103 18:46:32-!- EdB [~edb@tss37-1-89-84-18-220.dsl.club-internet.fr] has joined #wesnoth-dev 20110103 18:47:02-!- fendrin [~fabi@77-20-109-69-dynip.superkabel.de] has joined #wesnoth-dev 20110103 18:47:02-!- fendrin [~fabi@77-20-109-69-dynip.superkabel.de] has quit [Changing host] 20110103 18:47:02-!- fendrin [~fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20110103 18:50:22-!- fendrin [~fabi@wesnoth/developer/fendrin] has quit [Remote host closed the connection] 20110103 18:56:26-!- grzywacz [~grzywacz@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20110103 18:57:07< Grimling> Crab_: in what file is attack_analysis::analyze implemented? 20110103 18:57:29< Grimling> Crab_: the class is in contexts.hpp, but i can't find it in contexts.cpp 20110103 18:57:42< Crab_> src/ai/default/attack.cpp 20110103 18:57:49< Crab_> http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/default/attack.cpp?view=markup 20110103 19:01:10< Crab_> note that you can actually construct a readonly_context_impl for another team, it *might* even work 20110103 19:01:55< Grimling> ok 20110103 19:01:57< Crab_> to do so, you need a side and cfg, to construct 'side_context_impl(side,cfg_), and readonly_context_impl(*side_context_,cfg_)' 20110103 19:02:32-!- PetePorty [~Pete@pc-109-254-120-200.cm.vtr.net] has joined #wesnoth-dev 20110103 19:03:49< Crab_> but you can leave attack_analysis::analyze aside for the first step (just don't call it for your use of do_attack_analysis code ), and deal with aspect_attacks::do_attack_analysis() first 20110103 19:05:39-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20110103 19:08:24-!- Smar [~smar@freenet/translator/finnish/Smar] has quit [Ping timeout: 260 seconds] 20110103 19:15:35-!- Smar [~smar@a88-115-41-254.elisa-laajakaista.fi] has joined #wesnoth-dev 20110103 19:15:35-!- Smar [~smar@a88-115-41-254.elisa-laajakaista.fi] has quit [Changing host] 20110103 19:15:35-!- Smar [~smar@freenet/translator/finnish/Smar] has joined #wesnoth-dev 20110103 19:18:39< Crab_> Grimling: note that if you decide to go with 'fudge a readonly_context_impl for the enemy' route for parts of the refactoring, it'll be faster if you ask me to code it, since I'm familiar with that stuff. 20110103 19:20:01< Grimling> i'll first try to do as much as possible myself 20110103 19:22:35-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20110103 19:38:30-!- EdB [~edb@tss37-1-89-84-18-220.dsl.club-internet.fr] has quit [Remote host closed the connection] 20110103 19:45:38-!- PetePorty [~Pete@pc-109-254-120-200.cm.vtr.net] has quit [Quit: Saliendo] 20110103 19:50:13< Grimling> Crab_: get_side() != tmp_opposite_unit->side() should that be teams_[side - 1].is_enemy(tmp_opposite_unit->side()) ? 20110103 19:50:37< Grimling> in do_attack_analysis 20110103 19:50:44< Crab_> looking... 20110103 19:52:01< Grimling> Crab_: side = units_.find(loc)->side(); 20110103 19:52:03< Crab_> yes, you have spotted a bug in current code 20110103 19:52:15< Grimling> ok 20110103 19:53:12-!- mordante [~mordante@wesnoth/developer/mordante] has joined #wesnoth-dev 20110103 19:53:22< Crab_> the 'should be' is correct, the only thing that I'd get a reference to 'enemy' current_team explicitly 20110103 19:53:35< mordante> servus 20110103 19:54:06< Crab_> like 'team ¤t_team = teams_[side -1];' 20110103 19:55:39< mordante> Espreon, your script doesn't set the svn properties for .java files? 20110103 19:55:58< Grimling> yes, i was thinking about that too, but i thought side was used somwhere else in that method 20110103 19:57:00-!- phlaem [~a@g231110140.adsl.alicedsl.de] has joined #wesnoth-dev 20110103 20:01:50< mordante> iwontbecreative, the output posted looks good, what help do you need? 20110103 20:02:06-!- mjs-de [~mjs-de@wh.Uni-Dortmund.DE] has joined #wesnoth-dev 20110103 20:05:16< iwontbecreative> Mordante: The code is ugly :) 20110103 20:05:26< iwontbecreative> It's not actually parsing it, it was just an hack 20110103 20:05:43< iwontbecreative> I tried to parse it from description, but it was actually quite ugly 20110103 20:07:17< iwontbecreative> I'm thinking about using a different syntax 20110103 20:07:25< mordante> and this is the ugly code? http://wesnoth.pastebin.com/yUWd8zNP 20110103 20:07:30< iwontbecreative> Yes 20110103 20:07:42< iwontbecreative> The ugly part is the indent trick 20110103 20:07:53< iwontbecreative> The rest are just shortcuts 20110103 20:08:46< mordante> ok just for your information the indention is done the help readability not mandatory 20110103 20:09:08< iwontbecreative> Yep, that's why it's ugly 20110103 20:09:57< mordante> ok, just because some parts still depend on the number of spaces 20110103 20:09:58-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20110103 20:10:04< mordante> 8 spaces to join lines 20110103 20:10:28< mordante> but feel free to propose a different syntax 20110103 20:10:36< iwontbecreative> First idea was to re-run finding description regex in the functions 20110103 20:11:01< iwontbecreative> But it could be very ineficient 20110103 20:12:38< iwontbecreative> Ok, I know what I'll do 20110103 20:13:43< iwontbecreative> change process_body to process_tables + process_descriptions so you don't have 1000 output lines in stderr output when running in /src 20110103 20:14:17-!- anonymissimus [~chatzilla@HSI-KBW-095-208-006-134.hsi5.kabel-badenwuerttemberg.de] has joined #wesnoth-dev 20110103 20:14:51< iwontbecreative> Then just change the macro for process description and make it recursive 20110103 20:15:05< iwontbecreative> And had a nest_level maybe 20110103 20:15:32< anonymissimus> zookeeper: Does for MP addons the _server.pbl version of the pbl file not work ? 20110103 20:15:48< shadowmaster> _server.pbl is used for any kind of add-ons 20110103 20:15:53< anonymissimus> its what I'm experienceing with Settlers of Wesnoth 20110103 20:16:14< anonymissimus> hm ok but it wrote another pbl file automatically 20110103 20:16:39< anonymissimus> and changes I made in _server.pbl were not reflected 20110103 20:16:49< anonymissimus> afterwards; so this is a bug ? 20110103 20:17:07< shadowmaster> maybe you named it _Server.pbl. 20110103 20:17:18< anonymissimus> certainly not 20110103 20:17:19< shadowmaster> or some other weird combination of cases. 20110103 20:17:31< anonymissimus> thats not a mistake I make 20110103 20:17:40< anonymissimus> usually :P 20110103 20:21:39-!- PetePorty [~Pete@pc-109-254-120-200.cm.vtr.net] has joined #wesnoth-dev 20110103 20:22:02< zookeeper> anonymissimus, what wrote another pbl file automatically? 20110103 20:22:48< Grimling> Crab_: what should i do for the aggression? a constant in that method for now? 20110103 20:24:02< mordante> "change process_body to process_tables + process_descriptions so you don't have 1000 output lines in stderr output when running in /src" what do you exactly mean? 20110103 20:24:21< Crab_> yes, constant in the 0.2 - 0.4 range 20110103 20:24:36< Crab_> 0.4 is default for ai, but humans are usually less agressive 20110103 20:24:38< mordante> maybe not a nest level but a next prefix since it can become #** or *#* etc 20110103 20:24:49< mordante> s/next/nest 20110103 20:28:02< iwontbecreative> mordante: Gonna split process_body in two functions: 20110103 20:28:12< iwontbecreative> process_tables() 20110103 20:28:22< iwontbecreative> process_descriptions() 20110103 20:28:41< iwontbecreative> Then in process_descriptions I take care of the nest_level 20110103 20:28:49< iwontbecreative> And there should be no syntax problem 20110103 20:32:35< anonymissimus> zookeeper: the BfW engine 20110103 20:33:19< anonymissimus> and afterwards it ignored the one I had made; but it worked perfectly at the first upload 20110103 20:33:21< mordante> and process_tables() handles the @begin{{table} stuff and process_descriptions() the @begin{description} stuf 20110103 20:33:25< mordante> stuff? 20110103 20:33:28< Grimling> Crab_: if aspect_attacks::do_attack_analysis is static, how can i do raise_user_interact? 20110103 20:33:37< iwontbecreative> y 20110103 20:34:08< anonymissimus> you should have nitived with Proximity too I think 20110103 20:34:10< ancestral> Is there a way in an event to ask the player to choose a unit s/he controls? 20110103 20:34:13< anonymissimus> noticed 20110103 20:34:14< iwontbecreative> Actually I have an infinite loop in my recursion, but that's what is planned :) 20110103 20:34:59-!- noy [~Noy@wesnoth/developer/noy] has quit [Read error: Connection reset by peer] 20110103 20:36:01< ancestral> The idea being something happens to one unit, but the player would get to decide which 20110103 20:36:33< mordante> would that allow @begin{description} in tables ? 20110103 20:37:45< mordante> maybe also name the create_descriptions() create_lists since there might be more list types in the future 20110103 20:39:25< zookeeper> anonymissimus, i've never heard of the engine outputting anything to add-on dirs 20110103 20:39:35< zookeeper> sounds rather...odd 20110103 20:40:16-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has joined #wesnoth-dev 20110103 20:40:20< iwontbecreative> mordante: It should 20110103 20:41:14< anonymissimus> zookeeper: upon first upload, when not specifying a passphrase, it is supposed to generate one 20110103 20:41:36< anonymissimus> but to write it into the plb file given, not create a new pbl file 20110103 20:41:49-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has quit [Quit: crimson_penguin] 20110103 20:41:55-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20110103 20:42:15< mordante> ok 20110103 20:43:27< iwontbecreative> mordante: Going to eat now, I'll be back 20110103 20:45:41< mordante> ok, bon appetite 20110103 20:46:35< zookeeper> anonymissimus, right, so does the file it generates have the passphrase? 20110103 20:46:56< anonymissimus> yes 20110103 20:47:12< zookeeper> ok...so if it generates a new file, what's it named? 20110103 20:50:24-!- Crendgrim [~crend@p54A07A2F.dip.t-dialin.net] has joined #wesnoth-dev 20110103 20:59:05< anonymissimus> It's named like it should and in the right place (add-on-name.pbl) in the addons directory 20110103 20:59:19< anonymissimus> and it works too; it just should nto be generated 20110103 21:00:48< zookeeper> umm, but you said it's generated on upload. that means you must have had a _server.pbl in the right place already. 20110103 21:03:32< anonymissimus> yes, thats the bug 20110103 21:04:19-!- Samm [~Samuel@89.43.196.13] has joined #wesnoth-dev 20110103 21:05:38< zookeeper> but how can you have both your original and the new one if they're both at the right place? that's two _server.pbl's in the same dir which just can't happen. 20110103 21:09:53< anonymissimus> they're not in the same dir and don't have the same name 20110103 21:10:16< anonymissimus> https://gna.org/bugs/index.php?17419 20110103 21:10:20< zookeeper> then they can't be in the right place and have the same names 20110103 21:10:22< Grimling> Crab_: there are also a few other methods i can't access directly if do_attack_analysis is static 20110103 21:11:06< anonymissimus> I never said they'd have the same names 20110103 21:11:10< zookeeper> oh, now i see 20110103 21:11:15< zookeeper> nevermind then 20110103 21:12:02< Crab_> Grimling: which methods ? 20110103 21:13:16< Grimling> power_projection, attack_analysis::analyze 20110103 21:14:09< Grimling> (+raise_user_interact()) 20110103 21:14:40< Crab_> power projection is small and we most likely will need to modify it later, I'd just copypaste it 20110103 21:14:47< Grimling> ok 20110103 21:15:16< iwontbecreative> Back 20110103 21:15:25< Grimling> should i give it a special name? 20110103 21:15:52< Crab_> power_projection2 is ok; attack_analysis::analyze is public, so there's only the issue with 'const readonly_context& ai_obj' parameter 20110103 21:16:32< Grimling> yes 20110103 21:16:34< Crab_> raise_user_interact is special - it plays the game slice, so it draws up unit positions, so if you do any stuff to unit map, restore it before calling this method 20110103 21:16:55< Crab_> ( ai::manager::raise_user_interact() it is) 20110103 21:17:14< Crab_> any other methods ? 20110103 21:18:40< Crab_> for now, if you add 'const readonly_context *ai_obj' parameter to do_attack_analysis , you can call attack_analysis::analyze only if it is not NULL 20110103 21:19:31< Crab_> then, later, we will either need to create a readonly context for the enemy ai (this has consequences but makes some things easier), or pass all needed info instead of parameters 20110103 21:19:42< Crab_> *instead of readonly_context 20110103 21:20:16-!- negusnyul [~negusnyul@dsl4E5CD915.pool.t-online.hu] has quit [Remote host closed the connection] 20110103 21:21:25-!- Blueblaze [~Blueblaze@adsl-76-202-20-217.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20110103 21:23:25< Grimling> the compiler complains because ai_obj isn't initialized 20110103 21:24:34-!- Crendgrim [~crend@p54A07A2F.dip.t-dialin.net] has quit [Remote host closed the connection] 20110103 21:28:27-!- Crendgrim [~crend@p54A07A2F.dip.t-dialin.net] has joined #wesnoth-dev 20110103 21:29:09< Grimling> Crab_: isn't there a readonly_context for non-ai players? 20110103 21:29:45< Crab_> show the code example 20110103 21:30:20< iwontbecreative> mordante: Trying to do a regex that matches: Every @begin{description} that doesn't have any other @begin{description} in it 20110103 21:30:21< Crab_> for each player, there is a readonly_context stored in the ai manager, activated on first access 20110103 21:30:48< Grimling> Crab_: http://wesnoth.pastebin.com/P8u2cshG 20110103 21:30:57< iwontbecreative> So far I have "^@begin{description}\{(.*?)\}\n([@begin\{description\}]^)\n@end{description}$" but doesn't seem to work 20110103 21:31:06< Grimling> Crab_: can't I acces these readonly_context's? 20110103 21:31:54< Crab_> you should not; 20110103 21:32:10< Crab_> the issue is, we are ai of side 1, and we must not touch the actual ai for side 2 20110103 21:32:15< Crab_> it has its own state 20110103 21:32:30< Crab_> but we merely want to pretend that we are side 2, for a while 20110103 21:33:03< Crab_> http://wesnoth.pastebin.com/Jt2K8i7c 20110103 21:33:19< mordante> iwontbecreative, ^ matches the begin of the input 20110103 21:33:34< iwontbecreative> Yep, saw that in the doc just now 20110103 21:34:17< Crab_> modify a signature to expect the pointer, not a reference. a pointer can be NULL, so the compiler won't complain; your original code would lead to a segfault on a null pointer being dereferenced 20110103 21:34:39< mordante> iwontbecreative, http://docs.python.org/library/re.html look for the negative lookahead assertion 20110103 21:35:01< iwontbecreative> Also saw that and tested, doesn't seem to work too well 20110103 21:35:02< Grimling> Crab_: why do we need a pointer? the function definition of analyze is with 'const readonly_context& ai_obj' i think 20110103 21:36:10< Grimling> the original code was *this 20110103 21:36:25< Crab_> ah, sorry, we don't need a pointer there 20110103 21:36:43< Grimling> but it works now 20110103 21:37:00< Crab_> ( http://wesnoth.pastebin.com/XmwbUrum ) 20110103 21:37:19< Crab_> then it should be like this, with a reference, but avoiding to call the function if the context is NULL 20110103 21:37:43< Grimling> so for now, it never analyzes? 20110103 21:38:13< Crab_> for now, it should work exactly like it was working before for the original combat phase 20110103 21:38:19< Crab_> analyzing each time 20110103 21:38:58< Crab_> but, in our new code path, we don't have a correct context to pass there, so we pass a pointer to do_attack_analysis , and then we can call attack_analysis::analyze only if ai_obj is not NULL 20110103 21:39:29< Crab_> and we will fix it a bit later 20110103 21:40:29-!- Mussious [~kamil@dfv204.neoplus.adsl.tpnet.pl] has joined #wesnoth-dev 20110103 21:41:54< Grimling> Crab_: so now i should work on ca_global_fallback.cpp ? 20110103 21:42:40< Crab_> yes. the plan is on the forum, http://forum.wesnoth.org/viewtopic.php?f=10&t=32688&p=472235#p472235 20110103 21:42:59< Crab_> last message there 20110103 21:43:10< Crab_> we started with '3 ) run combat simulation for the enemy to get something like an std::vector for the enemy' 20110103 21:43:31-!- dtiger [~dtiger@dynamic-vpdn-93-125-65-26.telecom.by] has quit [Remote host closed the connection] 20110103 21:43:54< Crab_> if your code compiles, you need to call it from ca_global_fallback.cpp and then invent a way to inject a proper readonly_context in it (see ai::manager for the construction example) 20110103 21:44:28< Grimling> ok 20110103 21:44:48< Crab_> we can try the simplest thing and see if it works 20110103 21:45:16< Crab_> just create side context for the enemy side (side 2 is the enemy), and create readonly context for the enemy side 20110103 21:45:50-!- noy [~Noy@wesnoth/developer/noy] has quit [Read error: Connection reset by peer] 20110103 21:46:46< Crab_> then, call its on_readonly_context_create(); method, just in case 20110103 21:47:28< Crab_> then, pass that context to do_attack_analysis 20110103 21:47:47< Crab_> then, look at combat_phase::evaluate in src/ai/testing/ca.cpp 20110103 21:48:37-!- Octalot [~noct@host86-145-88-89.range86-145.btcentralplus.com] has joined #wesnoth-dev 20110103 21:49:21< Crab_> we need to use this code 20110103 21:49:29< Crab_> bonus points if you manage to do this without copypasting 20110103 21:50:24< Crab_> the way to do it, probably, is to extract most of the stuff into static helper function 20110103 21:50:50< Crab_> which will take a list of attacks and extra info, then produce the best attack_analysis 20110103 21:51:13< Crab_> then, the code in stage_fallback will do '4 ) pick best attack from it, put it into 'attacks_done' vector, move enemy units (using a temporary unit map or storing the temporary modifications to original unit map somewhere) '5 ) mark involved friendly units and enemy units as 'not available' (remove them from the lists in (2) ) 6 ) repeat from stage 3 unless no more good attacks are left' 20110103 21:51:13< Crab_> 20110103 21:51:45< Crab_> but, before you start doing that, clean up a little and show me the patch to do_attack_analysis 20110103 21:51:46< mordante> iwontbecreative, seems python can't use a recursive regex, pyparsing should be able to http://pyparsing.wikispaces.com/ 20110103 21:52:12< Crab_> so, I'll be able to commit the first part of your work (it's a simple refactoring, shouldn't break anything) 20110103 21:52:15< mordante> but I haven't tested the latter, just looked at what google returned 20110103 21:55:31< iwontbecreative> mordante: My problem is that the process_description regex uses re.M 20110103 21:56:19< iwontbecreative> Well, not only that 20110103 21:56:30< iwontbecreative> Gonna do some tests because I'm quite stuck 20110103 21:56:55< Grimling> Crab_: ok 20110103 21:59:02< Grimling> Crab_: forum pm? 20110103 21:59:10< Crab_> yes 20110103 22:00:37< Grimling> sent 20110103 22:01:50< mordante> iwontbecreative, would it be easier if the thing was one long line or do you want to parse per line? 20110103 22:02:54< iwontbecreative> mordante. Got something that should work better 20110103 22:04:50< Crab_> ok, looks good so far. a small note: avoid touching code that you don't intend to change; if you want to make things look prettier/more formatted, do it separately 20110103 22:05:17< Crab_> it's about aspect_attacks::analyze_targets 20110103 22:06:37< Grimling> oh, sorry, i forgot to delete that 20110103 22:06:49< Crab_> const int default_attack_depth = 1000; is wrong, if you want a default, use 5 20110103 22:06:50-!- Appleman1234 [~Appleman1@CPE-60-226-179-130.qld.bigpond.net.au] has quit [Ping timeout: 255 seconds] 20110103 22:07:20< Crab_> attack_depth is the number of attackers considered for single defender, and a unit has 6 adjacent hexes 20110103 22:08:44< Crab_> team ¤t_team = teams_[units_.find(loc)->side() - 1]; is wrong, it was current_team() before that, and loc is the 'enemy' unit from the PoV of this funciton 20110103 22:09:03< Crab_> instead, pass 'int side' or 'const team&' as a parameter 20110103 22:09:21< mordante> iwontbecreative, nice, I'm about to leave 20110103 22:09:58< Crab_> again, reformatting is very evil if you combine it with small refactorings, I can't easily see your changes 20110103 22:10:17< Crab_> (I can if I apply the patch and do another diff myself, ignoring whitespace) 20110103 22:12:54< Crab_> also, instead of doing 'const readonly_context *ai_obj = NULL;' , add it as parameter in the function 20110103 22:13:40< Crab_> that way, you can pass 'this' when calling from aspect_attacks::analyze_targets(), and NULL (or your custom readonly_context) if calling from global_fallback 20110103 22:14:04< Crab_> please fix those things, and PM me the patch again once it's ready, I'll be able to commit the first part 20110103 22:17:14< mordante> I'm off night 20110103 22:17:59-!- mordante [~mordante@wesnoth/developer/mordante] has quit [Quit: Leaving] 20110103 22:24:48-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20110103 22:26:00< Grimling> Crab_: sent 20110103 22:29:38-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has joined #wesnoth-dev 20110103 22:29:38-!- deathisundead [deathisund@c-76-122-128-198.hsd1.mi.comcast.net] has quit [Read error: Connection reset by peer] 20110103 22:29:43-!- theunforgiven [deathisund@c-76-122-128-198.hsd1.mi.comcast.net] has joined #wesnoth-dev 20110103 22:31:27< [Relic]> Hello :) 20110103 22:33:34< Crab_> Grimling: there's an issue with aggression handling - previously, it was get_aggression(), now you use default value 20110103 22:33:36-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 265 seconds] 20110103 22:34:10< Crab_> const double default_aggression = (ai_obj!=NULL) ? ai_obj->get_aggression() .3; 20110103 22:34:11< Grimling> ai_obj->get_aggression() ? 20110103 22:34:15< Crab_> yes 20110103 22:34:16< Grimling> ok :p 20110103 22:34:41< Crab_> (later we'll see that it's not needed at all) 20110103 22:35:01< Crab_> since if we'll make a stub readonly_context, we'll be able to hack its aggression to be 0.3 20110103 22:35:22-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20110103 22:38:14< Grimling> Crab_: i'll continue working on it tomorrow, need to go now 20110103 22:38:40-!- Grimling [~Grimling@91.181.231.149] has quit [Quit: Grimling] 20110103 22:39:01< Crab_> I'll fix the aggression issue, compile, check it out, and commit if all's ok 20110103 22:39:18< CIA-84> shadowmaster * r48194 /trunk/ (changelog src/game_events.cpp): 20110103 22:39:18< CIA-84> Implement the move_unit_fake.image_mods attribute 20110103 22:39:18< CIA-84> This attribute accepts a list of image path functions to be applied on 20110103 22:39:18< CIA-84> the fake moving unit, similar to how object.effect.apply_to=image_mod 20110103 22:39:18< CIA-84> works. 20110103 22:40:38< Crab_> boucman: can you remind me of the way gabba handled the need to keep a fake unit map around ? or where to look for the code ? 20110103 22:41:22< boucman> I honestly don't remember of the top of my head... 20110103 22:41:36< boucman> we discussed multiple ways of doing it, i'm not sure which one we kept :P 20110103 22:41:42< boucman> gimme a minute 20110103 22:42:12< Crab_> that's why I'm asking, I remember some discussions :) 20110103 22:42:34< Crab_> and I might need the same for the AI, albeit it looks like I can cheat and work around this time 20110103 22:43:34< boucman> basically it's the content of the whiteboard/ directory, you have a visitor class that modifies the map and can undo what it did 20110103 22:43:54< boucman> this class is implemented by multiple stiff to simulate every action (move, recruit etc...) 20110103 22:44:15< boucman> and we keep a stack of all the applied visitors (in the manager class iirc) 20110103 22:44:28< boucman> so we undo/redo our changes, we don't have a copy 20110103 22:47:32< Crab_> ok, thanks 20110103 22:50:11< CIA-84> elias * r48195 /trunk/data/tools/wesnoth/wmlparser2.py: [wmlunits] Delete directories created by mkdtemp after use as not to clutter up /tmp. 20110103 22:58:55-!- noy [~Noy@wesnoth/developer/noy] has quit [Ping timeout: 276 seconds] 20110103 22:59:38-!- Bocom [~Bocom@c-8dcde255.013-31-6b736412.cust.bredbandsbolaget.se] has joined #wesnoth-dev 20110103 22:59:47-!- Bocom [~Bocom@c-8dcde255.013-31-6b736412.cust.bredbandsbolaget.se] has left #wesnoth-dev [] 20110103 23:03:49< Crab_> can anyone proficient in WML describe how recruitment in TRoW is supposed to work? 20110103 23:04:28< Crab_> ie, in TRoW side 1 is missing recruit=, so, as of now, no recruiting possible 20110103 23:04:56< Crab_> but it definitely worked for the same WML some time ago, so something changed on the engine side (maybe the definition was inherited from scenario 1, who knows...) 20110103 23:05:16< Crab_> ( http://svn.gna.org/viewcvs/wesnoth/trunk/data/campaigns/The_Rise_Of_Wesnoth/scenarios/02_The_Fall.cfg?revision=47422&view=markup ) 20110103 23:05:52< Crab_> (scenario 1 is ok, in scenario 2 there's an issue. and recall list is missing somehow...) 20110103 23:08:56 * zookeeper looks 20110103 23:09:30< zookeeper> well, recruit lists carryover from previous scenarios 20110103 23:10:15< zookeeper> that's how you can use [allow_recruit] in some scenario to give the player new units and have them be available in later scenarios automatically 20110103 23:10:25< Crab_> ok, understood. I'll take a look at the carryover (currently, it looks like there was no carryover - i.e. no recall list available, etc) 20110103 23:10:26< zookeeper> of course someone might have broken that 20110103 23:11:13< zookeeper> what i don't know is whether the list is carried over as part of the side or the leader...probably the side, but who knows. 20110103 23:11:14< Crab_> yes, carryover over scenarios is broken at the moment 20110103 23:11:27< Crab_> thanks for the hint, I'll investigate further. 20110103 23:11:50< Crab_> (it's not TRoW-specific, affects all campaigns) 20110103 23:11:55-!- Mussious [~kamil@dfv204.neoplus.adsl.tpnet.pl] has quit [Quit: Ex-Chat] 20110103 23:12:51< zookeeper> please do, sounds like a pretty important bug to fix ;) 20110103 23:12:52-!- Crendgrim [~crend@p54A07A2F.dip.t-dialin.net] has quit [Remote host closed the connection] 20110103 23:12:55-!- zookeeper [~l@wesnoth/developer/zookeeper] has quit [] 20110103 23:13:13< Crab_> yes, any bug that prevents a dev from playing a game is critical :)) 20110103 23:15:06-!- Grimling [~floris_ki@91.181.17.215] has joined #wesnoth-dev 20110103 23:15:42-!- Grimling [~floris_ki@91.181.17.215] has left #wesnoth-dev [] 20110103 23:17:21-!- eoc [~eoc@pD956154B.dip0.t-ipconnect.de] has quit [Quit: Leaving] 20110103 23:18:25< Crab_> especially when it's me who has broken it :)) 20110103 23:19:44-!- PeterPorty [~Pete@pc-109-254-120-200.cm.vtr.net] has joined #wesnoth-dev 20110103 23:22:54-!- iwontbecreative [~Thibault_@89.180.29.20] has quit [Ping timeout: 265 seconds] 20110103 23:23:12-!- PetePorty [~Pete@pc-109-254-120-200.cm.vtr.net] has quit [Ping timeout: 240 seconds] 20110103 23:27:05-!- GNUtoo|laptop [~gnutoo@host7-149-dynamic.51-79-r.retail.telecomitalia.it] has quit [Ping timeout: 264 seconds] 20110103 23:28:57-!- wesbot changed the topic of #wesnoth-dev to: FOSDEM2011: http://wiki.wesnoth.org/Fosdem2011 | 185 bugs, 302 feature requests, 21 patches | logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20110103 23:29:42-!- ruxy [~laurion@f79-118-216-227.pitesti.rdsnet.ro] has quit [] 20110103 23:34:53-!- ShikadiLord [~ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20110103 23:36:57-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-dev 20110103 23:37:03-!- Netsplit *.net <-> *.split quits: shadowmaster, ettin 20110103 23:37:47-!- happygrue [~George@wesnoth/developer/wintermute] has quit [Read error: Connection reset by peer] 20110103 23:42:06-!- Netsplit over, joins: ettin 20110103 23:43:44-!- MeccaGod [~majs@h14n4fls31o279.telia.com] has quit [] 20110103 23:44:50-!- Samm [~Samuel@89.43.196.13] has quit [Quit: Leaving] 20110103 23:49:33< CIA-84> crab * r48196 /trunk/src/ai/testing/ (aspect_attacks.cpp aspect_attacks.hpp): refactoring of aspect_attacks to allow it to be used elsewhere 20110103 23:49:45< CIA-84> crab * r48197 /trunk/src/ (gamestatus.cpp play_controller.cpp): fix issue with broken scenario carrover caused by my yesterday's commit (usage of refs that went out of scope) --- Log closed Tue Jan 04 00:00:23 2011