--- Log opened Sat May 02 00:00:18 2009 --- Day changed Sat May 02 2009 20090502 00:00:18< zookeeper> i'm not gonna to go the possibility of teleport ;) i'm not even perfectly sure anymore how vision and teleport interact 20090502 00:01:35< Crab_> zookeeper: but the main idea it that sighted events are unreliable. see the example from https://gna.org/bugs/index.php?13323 - it's from UtBS - the event is triggering by seeing unit A, and it changes unit B, and unit B can be attacked without seeing unit A, since A and B are apart 20090502 00:02:23< Crab_> zookeeper: with necromancer example, it is "when you see the necromancer, he surrounds his altar with skeletons" event, and necromancer is staying in a few squares from his altar 20090502 00:02:47< ilor> uh, can someone take a look at variable.cpp:315? 20090502 00:02:56< mordante> Chusslove, it has a nice README ;-) 20090502 00:03:00< Crab_> zookeeper: but some units will be able to step on the altar without spotting the necromancer first 20090502 00:03:14< Chusslove> It has a README? 20090502 00:03:26< Chusslove> Oh, it has one :) 20090502 00:03:55< ilor> it's calling the config&,bool version of vconfig's ctor but uses a pointer that gets bool'd 20090502 00:03:57< Crab_> in https://gna.org/bugs/index.php?13323 , that lead to 'crash and lost attacks' because WML event changed the unit on move+attack. and we fixed it only partially (fixed the crash part) 20090502 00:04:37< zookeeper> Crab_, well, i think in the necro case it's the author's responsibility to make sure that can't happen, but the UtBS case is as usual more complicated :P 20090502 00:04:50< mordante> hmm it can also unfuzzy translations 20090502 00:04:52< Chusslove> mordante: doc/html/index.html is a more reasonable starting point :) There you can look for doc on posieve, and for find_messages sieve 20090502 00:05:03< Crab_> well, necro case and UtBS case are, roughly speaking, equal :) 20090502 00:05:29< ilor> silene around? 20090502 00:05:40< silene> ilor: yes 20090502 00:06:14< zookeeper> Crab_, what goes wrong in the UtBS case except the crash? 20090502 00:06:19< ilor> silene: not sure but variable.cpp:315 looks fishy 20090502 00:06:26< zookeeper> the report wasn't exactly clear on that 20090502 00:06:36< ilor> and possibly related to your changes in config (getting rid of cfg pointers) 20090502 00:07:24< Crab_> zookeeper: at first, a screenshot... 20090502 00:07:36< silene> ilor: why does it look fishy? 20090502 00:07:51< ilor> it calls the config,bool version using a pointer as the second arg 20090502 00:08:04< Crab_> zookeeper: ftp://ftp.terraninfo.net/wesnoth/sc01.png 20090502 00:09:12-!- wesbot changed the topic of #wesnoth-dev to: accepted students for SoC: http://socghop.appspot.com/org/home/google/gsoc2009/wesnoth | 61 bugs, 236 feature requests, 11 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090502 00:09:36< ilor> silene: when the first arg was a config*, a config*,config* version of vconfig's cgtor was called 20090502 00:09:44< silene> ilor: indeed, that's wrong; but strangely enough, it should work just fine 20090502 00:09:57< Crab_> zookeeper: the intent of the author was "add some dialogue connected with seeing the Black Lieutenant which stand in the shroud near the oasis" 20090502 00:10:27< Crab_> zookeeper: and this dialogue changed the bandits (replacing units) 20090502 00:11:03< ilor> silene: looks strange though 20090502 00:11:04< zookeeper> Crab_, frankly, i think the author was being silly when he didn't consider this possibility 20090502 00:11:13< silene> ilor: please commit the obvious fix 20090502 00:11:44< Crab_> zookeeper: but, the author has discovered that this doesn't always work as intented, and he duplicated this event as a moveto event 20090502 00:11:48< mordante> Chusslove, you're also one of the developers or pology? 20090502 00:11:53< Crab_> s/intented/intended 20090502 00:11:55< Chusslove> Yes. 20090502 00:12:02< ilor> silene: add a & to call the proper ctor? not sure if that's what you have in mind :) 20090502 00:12:14< silene> ilor: yes, that's what i had in mind 20090502 00:12:52< ilor> silene: ok thanks will do 20090502 00:13:35< mordante> it looks interesting 20090502 00:13:37< Crab_> zookeeper: and this lead to another problem, which is still present in trunk 20090502 00:13:58< Crab_> zookeeper: you can load the savegame and check (A unit that doesn't clear quite enough shroud will not cause a crash, but will not successfully attack the thug either! (Try attacking with the dust devil from 12, 46 to see this. He misses with all 7 attacks every time.)) 20090502 00:16:48< Crab_> zookeeper: this happens since the 'unit substitution by another' happens before the unit actually attacks and kills it but after the attack starts. 20090502 00:16:56< Crab_> zookeeper: so, all attacks are wasted 20090502 00:17:38< zookeeper> my suggestion: whack the author with something sharp. 20090502 00:18:16< Crab_> zookeeper: if the author had 'working' sighted event, he would not need such perversions :) 20090502 00:18:27< zookeeper> absolutely 20090502 00:19:16< zookeeper> that's why the other event in my suggestion would be exactly that ;) 20090502 00:19:38-!- ancestral [n=ancestra@32.151.155.124] has joined #wesnoth-dev 20090502 00:20:12< Crab_> zookeeper: so, current 'sighted' event is hard to use correctly. 20090502 00:20:15-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has quit [Client Quit] 20090502 00:20:55< Crab_> zookeeper: since there's no guarantee that it will fire at proper time. 20090502 00:21:32< zookeeper> yeah 20090502 00:21:32-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090502 00:22:13< Crab_> especially in corner cases when 'the sighted event is triggered during stepping on a last hex of attack-move' 20090502 00:22:17< zookeeper> (because "proper time" is different in different cases) 20090502 00:23:46< Crab_> zookeeper: that's why I think 'sighted' event needs a redefinition. For example, "move-in-range" semantics is a good redefinition of a 'sighted' event. 20090502 00:23:54< zookeeper> Crab_, the only reason why i really don't want to only have the move-in-range kind of sighted event is because it's nasty to invalidate undo when the player thinks he's free to mess around with his units in delay shroud updates mode. 20090502 00:23:58< mordante> I'm off night 20090502 00:24:07< Crab_> zookeeper: but, moveto events fire 20090502 00:24:20-!- mordante [n=mordante@wesnoth/developer/mordante] has quit ["Leaving"] 20090502 00:24:25< Crab_> zookeeper: so, "player thinks he's free to mess around with his units in delay shroud updates mode.", then he steps on a certain hex, then BOOM, no unit :) 20090502 00:24:26< zookeeper> yes, and having unexpected moveto events sucks too :) 20090502 00:25:03< Crab_> zookeeper: it's ok (by itself) to delay sighted events. 20090502 00:25:22< Crab_> zookeeper: but it is wrong to delay them without delaying other events, such as moveto events 20090502 00:25:35< Crab_> zookeeper: since that leads to lots of evil stuff... 20090502 00:25:40< zookeeper> i'm very much an opponent of using moveto events to trigger undo-invalidating things unless there's really no alternative 20090502 00:26:23< zookeeper> often you could for example trigger those things at the start of the next turn after you've moved into some area 20090502 00:26:35< Crab_> zookeeper: yes, "start of next turn" makes it all less buggy... 20090502 00:27:17< zookeeper> it has other benefits too, like allowing the player to move all his units after those enemy spawns or whatever, instead of perhaps having one of his units stuck close to them without support 20090502 00:28:11< Crab_> zookeeper: yes 20090502 00:29:37< CIA-30> ilor * r35403 /trunk/src/variable.cpp: make the code call the proper vconfig ctor -- config*,config* instead of config&,bool 20090502 00:30:04< Crab_> zookeeper: but, even mainline campaigns have this kind of stuff... 20090502 00:30:13< CIA-30> ilor * r35404 /trunk/src/gui/widgets/text.cpp: fix some harmless vc9 warnings 20090502 00:30:25< zookeeper> for example, the UtBS bandits should rather be spawned at the start of the turn after you've moved somewhere near the oasis, or something like that. 20090502 00:30:37< CIA-30> ilor * r35405 /trunk/src/ (game_events.cpp gui/widgets/window.hpp multiplayer.cpp): fix some msvc warnings 20090502 00:30:43< zookeeper> Crab_, oh yes, there's plenty of that. i should fix much more of it ;) 20090502 00:31:23< Crab_> zookeeper: but for each one you fix, two more arise :) because if the language allows to do stupid/unreliable things, people will do them :) 20090502 00:31:29< zookeeper> but right now i really gotta be going 20090502 00:31:39< Crab_> ok. good luck ) 20090502 00:32:02< zookeeper> Crab_, sure, but that's halfway solved if it's clearly specified and documented how those things work 20090502 00:32:18< Crab_> and how those things don't work... 20090502 00:32:31< zookeeper> no one cares if a newbie doesn't read how the event works and messes something up, but it's a problem when almost no one can figure it out ;) 20090502 00:32:47< zookeeper> (or when it's just impossible to do stuff in a good way) 20090502 00:32:56< Crab_> well, a sighted event in it's current incantation is a candidate for deprecation, imo :) 20090502 00:33:03< zookeeper> oh yes 20090502 00:33:22< zookeeper> you should ask sapient how long he's been saying that :P 20090502 00:33:54< Crab_> why it's still not deprecated, then ? 54 usages in mainline campaigns :) 20090502 00:34:30< zookeeper> mostly because there's been no other good way of doing what they do 20090502 00:35:30< Crab_> a question: will 'move-in-range' be a better way to to what they do ? 20090502 00:35:49< zookeeper> i think sapient tends to suggest using moveto events and filtering with [filter_vision], but IIRC i had some good reason of not liking that 20090502 00:36:00< zookeeper> some 20090502 00:36:08-!- noy [n=Noy@70.70.128.133] has joined #wesnoth-dev 20090502 00:36:39< zookeeper> move-in-range is better for triggering ambushes, regular sighted is better for triggering the "Look, there they are!" messages and such 20090502 00:37:37-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090502 00:37:38< zookeeper> anyway, i think i was supposed to be going, good night 20090502 00:37:41< Crab_> zookeeper: night 20090502 00:37:48-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090502 00:41:26-!- ancestral [n=ancestra@32.151.155.124] has quit ["Get Colloquy for iPhone! http://mobile.colloquy.info/"] 20090502 00:48:34-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Remote closed the connection] 20090502 00:57:10-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit [Remote closed the connection] 20090502 01:03:06-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090502 01:08:14< ilor> night 20090502 01:08:20-!- ilor [n=user@wesnoth/developer/ilor] has quit [] 20090502 01:08:38-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090502 01:11:02-!- Zen_Clark [n=user@99-136-80-191.lightspeed.rcsntx.sbcglobal.net] has joined #wesnoth-dev 20090502 01:13:04-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit [Remote closed the connection] 20090502 01:15:24-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzz"] 20090502 01:16:02-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090502 01:17:38-!- DDR [n=chatzill@66.183.125.196] has joined #wesnoth-dev 20090502 01:19:44-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 01:20:16-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090502 01:30:00-!- ancestral [n=ancestra@32.151.171.120] has joined #wesnoth-dev 20090502 01:34:09-!- ancestral [n=ancestra@32.151.171.120] has quit [Client Quit] 20090502 01:35:39-!- Sapient [n=sapien-x@wesnoth/developer/sapient] has joined #wesnoth-dev 20090502 01:52:43-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090502 02:18:14< Shadow_Master> ah, YogiHH's not around to give him some congrats :( 20090502 02:27:28-!- cjhopman [n=chris@wesnoth/developer/cjhopman] has quit [Remote closed the connection] 20090502 02:30:11-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["ChatZilla 0.9.84 [Firefox 3.0.10/2009042316]"] 20090502 02:30:16-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090502 02:33:25-!- ancestral [n=ancestra@32.129.150.65] has joined #wesnoth-dev 20090502 02:40:11-!- ancestral [n=ancestra@32.129.150.65] has quit [Read error: 104 (Connection reset by peer)] 20090502 02:40:52-!- ancestral_ [n=ancestra@32.129.150.65] has joined #wesnoth-dev 20090502 02:40:52-!- ancestral [n=ancestra@32.129.150.65] has joined #wesnoth-dev 20090502 02:40:52-!- ancestral_ [n=ancestra@32.129.150.65] has quit [Remote closed the connection] 20090502 02:47:48-!- Elvish_Pillage2 [n=eli@24-183-181-144.dhcp.oxfr.ma.charter.com] has quit ["Hi! I'm a quit message virus vaccine. If you see a quit message virus, don't replace your quit message with it!"] 20090502 02:50:02-!- noy [n=Noy@wesnoth/developer/noy] has quit [Read error: 110 (Connection timed out)] 20090502 02:55:19-!- ancestral [n=ancestra@32.129.150.65] has quit [Read error: 104 (Connection reset by peer)] 20090502 03:04:35< CIA-30> crab * r35406 /trunk/src/ (15 files in 2 dirs): (log message trimmed) 20090502 03:04:35< CIA-30> Swapped places of ai_interface and ai_readwrite_context in ai superclass 20090502 03:04:35< CIA-30> hierarchy. This will allow to make the ai module interface more independent from 20090502 03:04:35< CIA-30> the ai module implementation and reduce compile times. For now, only 20090502 03:04:35< CIA-30> ai/ai_manager.hpp (class managing the ai lifecycle), ai/ai_interface.hpp 20090502 03:04:38< CIA-30> (individual ai contract) ai/game_info.hpp (information about the game state 20090502 03:04:40< CIA-30> passed to the ai), ai/testing.hpp (ai/testing log domain) are exposed to the 20090502 03:15:14< Sapient> if silene's improvements to the pathfind code offer a huge improvement like he stated, that will knock out the single most annoying thing about v1.6 20090502 03:16:09< Crab_> Sapient: +3-4% for now (~600 test runs of ai-vs-ai on a small map) 20090502 03:16:38< Sapient> ok... nice but not ground shaking 20090502 03:18:06< Crab_> Sapient: cjhopman got +19% on testing 'just pathfinding' on a big map 20090502 03:18:09 * Shadow_Master shakes the ground of the scale model 20090502 03:18:26< Sapient> that is quite impressive 20090502 03:18:30 * Shadow_Master steps on it 20090502 03:18:32< Sapient> how are your changes coming along, Crab? 20090502 03:18:54-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090502 03:19:03< Sapient> I see you have done a lot of refactoring 20090502 03:19:48< Sapient> BTW: this new music by Tyler is quite good 20090502 03:19:58< Crab_> Sapient: good ) with the ai testing framework working, I can create a second ai from a copy of default ai and finally make something useful to the end-user ) 20090502 03:20:55< Sapient> "copy of default ai" ? you mean you have exposed the different components of the default AI to forumla AI ? 20090502 03:21:04< Crab_> Sapient: this is the intent. 20090502 03:21:10< Sapient> very nice 20090502 03:22:07< Crab_> Sapient: I want to expose the different components of default_ai as 'candidate actions' for 'candidate action execution loop'. so, it will be possible to use both formula-based and c++-based pieces to make an ai 20090502 03:22:38< Sapient> Crab_: now that Lua is becoming more influential in the codebase, how difficult will it be to allow Lua AI's in your system? 20090502 03:24:20< Crab_> Sapient: the core of the system we're trying to create is a 'candidate action execution loop' written in c++. it uses pieces called 'candidate actions' which have a simple c++ interface. implementation details of those 'candidate actions' doesn't matter to 'candidate action execution loop' - so they can be written in lua with a simple c++ proxy implementing said 'candidate action' interface. 20090502 03:24:56< Sapient> of course, this isn't part of your project, but I just want to make sure you are keeping that future development possibility in mind 20090502 03:25:24< Crab_> Sapient: also, src/ai/game_info.hpp must be exposed to lua to allow lua to 'see' the state of the game. 20090502 03:26:03< Sapient> ok, that is useful to know 20090502 03:26:14< Crab_> Sapient: also, helper functions in src/ai/contexts.hpp must be exposed to lua or re-implemented in it (functions such as 'move unit' or 'calculate_possible_moves') 20090502 03:26:54< Sapient> mind if I post these comments in the Lua development thread? 20090502 03:27:07< Crab_> Sapient: ok 20090502 03:28:37< Crab_> Sapient: note that if anyone seriously starts implementing an ai in lua, they should contact me to make sure they're not hit by my refactoring removing some piece of code they come to depend on. 20090502 03:28:56< Sapient> it occurs to me that we may need a "Lua Workshop" subforum eventually 20090502 03:29:52< Crab_> Sapient: I expect that I'll have a prototype of 'default ai as a candidate action AI' next week. 20090502 03:30:02< Sapient> noted 20090502 03:30:07-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090502 03:34:41< Sapient> Crab_: http://www.wesnoth.org/forum/viewtopic.php?p=355066#p355066 20090502 03:34:51< Crab_> Sapient: yes, I've already read it 20090502 03:35:41< Sapient> cya later, have fun. 20090502 03:35:41-!- Sapient [n=sapien-x@wesnoth/developer/sapient] has left #wesnoth-dev [] 20090502 03:36:00-!- fabi [n=fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20090502 03:49:17-!- ikarius [n=ross@c-98-207-18-148.hsd1.ca.comcast.net] has quit [] 20090502 03:51:31-!- fendrin [n=fabi@wesnoth/developer/fendrin] has quit [Read error: 110 (Connection timed out)] 20090502 03:55:35< Polarina> Why ask if one may quote a conversation here on the forum? Everything here is already publicly logged. 20090502 03:56:36-!- Crab_ [n=Crab_@wesnoth/developer/crab] has quit [Read error: 60 (Operation timed out)] 20090502 04:08:49-!- karl_m1 [n=u3468067@dubhe.anu.edu.au] has joined #wesnoth-dev 20090502 04:15:15-!- Sapient [n=sapien-x@c-71-204-10-166.hsd1.ga.comcast.net] has joined #wesnoth-dev 20090502 04:15:41-!- BenUrban [n=benurban@c-68-49-10-243.hsd1.md.comcast.net] has joined #wesnoth-dev 20090502 04:16:26-!- noy [n=Noy@d75-157-39-176.bchsia.telus.net] has joined #wesnoth-dev 20090502 04:22:01-!- Doppp [i=Doppp@DOPPP.RES.CMU.EDU] has joined #wesnoth-dev 20090502 04:22:12< CIA-30> sapient * r35407 /trunk/src/scripting/lua.cpp: log_domain must be declared in each .cpp file 20090502 04:23:14-!- Ivanovic_ [n=ivanovic@dtmd-4db2d6c0.pool.einsundeins.de] has joined #wesnoth-dev 20090502 04:31:07-!- Lord_Aether [n=castle@206.170.190.49] has joined #wesnoth-dev 20090502 04:32:09-!- crimson_p [n=irchon@64.201.60.216] has joined #wesnoth-dev 20090502 04:35:45-!- crimson_p [n=irchon@64.201.60.216] has quit [Remote closed the connection] 20090502 04:38:44-!- Ivanovic [n=ivanovic@wesnoth/developer/ivanovic] has quit [Read error: 110 (Connection timed out)] 20090502 04:39:12-!- Ivanovic_ is now known as Ivanovic 20090502 04:39:17-!- Sapient [n=sapien-x@wesnoth/developer/sapient] has quit [] 20090502 04:51:17-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 04:58:58-!- Lord_Aether [n=castle@206.170.190.49] has quit [] 20090502 05:02:18-!- boucman [n=rosen@wesnoth/developer/boucman] has quit [Remote closed the connection] 20090502 05:05:24-!- karl_m1 [n=u3468067@dubhe.anu.edu.au] has left #wesnoth-dev [] 20090502 05:10:27-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has quit [Read error: 60 (Operation timed out)] 20090502 05:26:31-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090502 05:30:04-!- Chusslove [n=caslav@brsg-d9bee9d0.pool.mediaWays.net] has quit [Read error: 110 (Connection timed out)] 20090502 05:30:15-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [Client Quit] 20090502 05:40:23-!- DDR [n=chatzill@66.183.125.196] has quit [Read error: 110 (Connection timed out)] 20090502 05:46:13-!- candide_ [n=candide@ool-4354678f.dyn.optonline.net] has joined #wesnoth-dev 20090502 05:48:55-!- Gnutoo [n=gnutoo@host70-36-dynamic.117-80-r.retail.telecomitalia.it] has quit [Read error: 113 (No route to host)] 20090502 05:59:51-!- candide_ [n=candide@ool-4354678f.dyn.optonline.net] has quit [Remote closed the connection] 20090502 06:19:16-!- Zen_Clark [n=user@99-136-80-191.lightspeed.rcsntx.sbcglobal.net] has quit ["Too many shadows lead to Amber, and I'm sure glad I'm not a Gamma."] 20090502 06:40:19-!- ikarius [n=ross@c-98-207-225-178.hsd1.ca.comcast.net] has joined #wesnoth-dev 20090502 06:42:37-!- busfahrer [n=busfahre@ulmg-5f70c931.pool.einsundeins.de] has joined #wesnoth-dev 20090502 06:44:33-!- chains [n=Rylar@adsl-69-209-64-30.dsl.chcgil.sbcglobal.net] has quit [Remote closed the connection] 20090502 06:44:50-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090502 06:53:43-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090502 07:53:48-!- maxy [n=maxy@80-219-0-199.dclient.hispeed.ch] has joined #wesnoth-dev 20090502 07:55:23-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 07:57:57-!- ancestral [n=ancestra@h66-222-31-8.mdsnwi.broadband.dynamic.tds.net] has joined #wesnoth-dev 20090502 08:01:02-!- mordante [n=mordante@wesnoth/developer/mordante] has joined #wesnoth-dev 20090502 08:01:25< mordante> hi 20090502 08:11:12-!- Sirp [n=me@wesnoth/developer/dave] has quit ["leaving"] 20090502 08:14:21-!- ancestral [n=ancestra@h66-222-31-8.mdsnwi.broadband.dynamic.tds.net] has quit ["And that’s the end of THAT chapter."] 20090502 08:36:32-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090502 08:56:36-!- EdB [n=edb@79.88.117.209] has joined #wesnoth-dev 20090502 08:59:03-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090502 09:04:06-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090502 09:18:46-!- EdB [n=edb@79.88.117.209] has quit [Remote closed the connection] 20090502 09:32:44-!- turin [n=turin@168.215.250.18] has quit [Read error: 60 (Operation timed out)] 20090502 09:35:32-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090502 09:35:35< euschn> hi 20090502 09:38:03-!- Dragonking [n=dk@wesnoth/developer/dragonking] has quit [] 20090502 09:44:44-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090502 09:53:38-!- silene [n=plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20090502 09:53:41< silene> hi 20090502 09:58:50-!- Appleman1234 [n=Appleman@131.181.47.5] has joined #wesnoth-dev 20090502 10:04:47< Ivanovic> moin 20090502 10:08:53< euschn> hi Ivanovic 20090502 10:10:00< Ivanovic> euschn: any idea about the status of https://gna.org/patch/?1148 ? 20090502 10:10:51< euschn> Ivanovic: I talked to boucman 2 days ago and he said he was gonna sort it soon 20090502 10:10:59< Ivanovic> ah, okay 20090502 10:18:40-!- Chusslove [n=caslav@brsg-d9bee363.pool.mediaWays.net] has joined #wesnoth-dev 20090502 10:19:17-!- Reisiger [n=Reisiger@adsl-84-226-5-104.adslplus.ch] has joined #wesnoth-dev 20090502 10:19:36< Reisiger> Good morning :) 20090502 10:39:26-!- boucman [n=rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20090502 10:39:31-!- loonybot [n=loonybot@79.139.247.143] has joined #wesnoth-dev 20090502 10:39:54< boucman> hey all 20090502 10:40:14-!- loonycyborg [n=sergey@79.139.247.143] has joined #wesnoth-dev 20090502 10:44:15< Reisiger> Morning boucman 20090502 10:44:23-!- giusef [n=giusef@unaffiliated/giusef] has joined #wesnoth-dev 20090502 10:45:16< Ivanovic> hi boucman 20090502 10:45:32< Ivanovic> boucman: any idea when you will find time to have a look at the open items at patches.w.o? 20090502 10:45:38< Reisiger> ilor: Are you on? 20090502 10:45:55< Ivanovic> (especially those by velory should somehow be handled, they are in there already for a "while") 20090502 10:45:57< boucman> Ivanovic: wil try to have a look today 20090502 10:46:00< Ivanovic> great 20090502 10:46:05< Ivanovic> i am afk nor for some hours, cu 20090502 10:46:16< boucman> gu 20090502 10:46:18< boucman> cu 20090502 10:46:45< CIA-30> silene * r35408 /trunk/src/ (7 files): Removed waypoints from routes, as they are not used there. 20090502 10:56:12< Reisiger> wesbot seen ilor 20090502 10:56:12< wesbot> Reisiger: Queried user last spoke 9h 47m ago. ilor is currently here and on the channel #wesnoth. 20090502 10:57:26< boucman> cjhopman: around ? 20090502 10:59:02< CIA-30> silene * r35409 /trunk/src/ (game_display.cpp pathfind.hpp): Oops, previous commit missed the cleaning part. 20090502 11:50:49-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has quit [Read error: 60 (Operation timed out)] 20090502 12:26:51-!- Elvish_Pillager [n=eli@68-116-172-101.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090502 12:29:06< Ivanovic> re 20090502 12:31:14-!- Crab_ [n=Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20090502 12:31:34< Crab_> hi 20090502 12:32:58< Ivanovic> hi Crab_ 20090502 12:33:09< boucman> morning Crab_ 20090502 12:33:26< boucman> Crab_: you might want to have a look at http://www.wesnoth.org/wiki/WritingYourOwnAI 20090502 12:34:01< Crab_> boucman: you're suggesting that I should rewrite it according to latest info ? 20090502 12:34:06< boucman> it's probably very outdated, but you might want either to keep it in line with your work, or just upgrade it one big time at the end... 20090502 12:34:29< boucman> Crab_: either rewrite it now or later, as you wish, just pointing it out so it isn't forgoten 20090502 12:34:33-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has joined #wesnoth-dev 20090502 12:34:33< Crab_> I'm in favor 'upgrade it one big time when the refactoring phase is complete' 20090502 12:34:41< boucman> ok, makes sense 20090502 12:35:29-!- EdB [n=edb@79.88.117.209] has joined #wesnoth-dev 20090502 12:35:30< Crab_> boucman: and since now I'm looking at refactoring my own stuff written one month ago, refactoring phase is nearing completion :) 20090502 12:35:41< Crab_> at least for now :) 20090502 12:35:49< Reisiger> ilor: about? 20090502 12:35:54< boucman> hehe 20090502 12:37:47< Soliton> Reisiger: the easiest is probably to just ask your question and then ilor can answer when he is back. 20090502 12:38:16< Reisiger> Soliton: M'kay ;) 20090502 12:41:28< Reisiger> ilor: When you commited the maintenance patch I prepared, 4 obsolete additional dependencies snuck in. Made a new patch to remove them (http://www.wesnoth.org/forum/viewtopic.php?p=355120#p355120 ). Also, is it possible to merge the VC9 folder from trunk to the 1.6 Branch? I noticed it has an outdated revision from before the spring-cleaning and also misses the readme.txt. 20090502 12:45:55< Ivanovic> Reisiger: merging the folders will be difficult 20090502 12:46:21< Ivanovic> because the project files themselves are different due to *lots* of changes in the source tree (new/moved files) 20090502 12:48:23< Reisiger> I see... I copied the trunk folder into the local branch-1.6 folder. So far wesnothd compiles without problems. I'm currently compiling the wesnoth project and will have a look at what needs to be changed. 20090502 12:48:47< Ivanovic> wesnothd should not be affected 20090502 12:48:54< Ivanovic> but especially the gui and ai stuff were changed 20090502 12:49:17< Reisiger> TortoiseMerge has no issues showing the differences :) 20090502 12:49:48< Ivanovic> ah, okay, you merged using svn diff 20090502 12:49:52< Ivanovic> this might work 20090502 12:50:14< Reisiger> No. I slapped the trunk versions I have into the branch folder ;) 20090502 12:50:57< Reisiger> Now TortoiseMerge shows exactely what's missing/new, so doing the necessary changes should be - relatively - easy. 20090502 12:51:51-!- Elvish_Pillage2 [n=eli@68-116-172-101.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090502 12:56:36-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090502 13:02:13 * Reisiger goes hunting for food :) 20090502 13:08:02-!- Elvish_Pillager [n=eli@68-116-172-101.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090502 13:32:09-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit [Read error: 110 (Connection timed out)] 20090502 13:32:49< CIA-30> mordante * r35410 /trunk/src/tests/gui/test_save_dialog.cpp: 20090502 13:32:49< CIA-30> Disable more savegame testcases. 20090502 13:32:49< CIA-30> Now the cases no longer return a failure due to the partial disabling before. 20090502 13:49:28< boucman> lumiere 20090502 13:49:40< boucman> nm 20090502 13:50:05 * loonycyborg has dejavu 20090502 13:52:15 * mordante too 20090502 13:53:39< Reisiger> ^^ 20090502 13:54:41< Reisiger> Ivanovic: Got a successfull compile with the merged vcproj files. Going to play the tutorial :) 20090502 14:00:12< Ivanovic> Reisiger: sounds good 20090502 14:01:02< Reisiger> Ivanovic: The tutorial works :) I'll be posting the patch in the forum thread. 20090502 14:06:22-!- Gnutoo [n=gnutoo@host70-36-dynamic.117-80-r.retail.telecomitalia.it] has joined #wesnoth-dev 20090502 14:22:34< CIA-30> silene * r35411 /trunk/src/ (13 files in 2 dirs): Separated A* routes from Dijkstra routes. Renamed move_left to move_cost along the way. 20090502 14:22:40< CIA-30> silene * r35412 /trunk/src/ (9 files in 2 dirs): Reduced memory consumption of Dijkstra's solution from quadratic to linear with respect to movement points. 20090502 14:23:07< Crab_> silene: thanks for that rename 20090502 14:23:45< silene> Crab_: when you have time, could you give a run to the AI? it will give yet another speed up, hopefully as noticeable as yesterday 20090502 14:24:18< Crab_> ok 20090502 14:26:23< Soliton> silene: can these optimizations safely be backported to 1.6? there are a couple of people who complain about much worse performance of 1.6 vs 1.4 maybe that'd help. 20090502 14:27:35-!- Reisiger_ [n=Reisiger@adsl-84-226-132-52.adslplus.ch] has joined #wesnoth-dev 20090502 14:27:37< silene> Soliton: it should be safe, but this is no small work, since the patch won't apply at all 20090502 14:29:11-!- fabi [n=fabi@wesnoth/developer/fendrin] has quit [Read error: 104 (Connection reset by peer)] 20090502 14:29:44< Soliton> ah, i see. 20090502 14:30:41-!- zookeeper2 [n=l@dsl-tkubrasgw1-fe9ff800-215.dhcp.inet.fi] has joined #wesnoth-dev 20090502 14:31:14-!- Appleman1234 [n=Appleman@131.181.47.5] has quit ["Leaving"] 20090502 14:35:30< Crab_> silene: note that after 2302 runs, speedup ofwas not-so-big as at start ( 1.26 sec / turn from 1.31 sec / turn, -3.8% ). but that's on small maps. 20090502 14:35:44< Crab_> s/ofwas/of the previous patch was/ 20090502 14:36:22< silene> okay, thanks, then let's hope it's better this time ;-) 20090502 14:37:27< Crab_> we'll see :) I've started the test of current trunk. 20090502 14:37:54-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [Read error: 148 (No route to host)] 20090502 14:42:01< CIA-30> mordante * r35413 /trunk/src/mouse_events.cpp: Fix a compiler warning. 20090502 14:43:58< Crab_> silene: I've added turn duration info to my web interface - http://wesnoth.terraninfo.net/index.php?dim1=svn_release - but note that only 'total' time is counted, not 'per-ai'. 20090502 14:44:12-!- Reisiger [n=Reisiger@adsl-84-226-5-104.adslplus.ch] has quit [Read error: 110 (Connection timed out)] 20090502 14:44:33-!- giusef [n=giusef@unaffiliated/giusef] has quit [Remote closed the connection] 20090502 14:45:51-!- busfahrer is now known as duschfahrer 20090502 14:52:51-!- Baufo [n=Unknown@62-47-139-34.adsl.highway.telekom.at] has joined #wesnoth-dev 20090502 14:59:21< Polarina> https://gna.org/bugs/?13467 20090502 15:03:54-!- Baufo [n=Unknown@wesnoth/developer/baufo] has quit ["Leaving"] 20090502 15:06:19-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 15:11:25-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090502 15:12:20-!- duschfahrer is now known as busfahrer 20090502 15:17:08-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has quit [Read error: 60 (Operation timed out)] 20090502 15:19:00< CIA-30> silene * r35414 /trunk/src/pathfind.cpp: Added precise preallocation for Dijkstra solution. 20090502 15:20:14< Crab_> silene: so far (r35413, 250 games), it looks quite good, better than last time. 1.14 sec/turn from 1.26 sec/turn, -10% to average time. 20090502 15:20:30< Polarina> Now try r35414 20090502 15:20:48< Crab_> Polarina: too early - to few r35413 tries, imo. 20090502 15:21:27< silene> agreed, better wait, and i think the improvement of 35414 will be in the noise 20090502 15:21:55< Polarina> I find Dijkstra's Algorithm a bit complicated... 20090502 15:23:00< Crab_> Polarina: why ? 20090502 15:23:18< Polarina> Crab_: Nothing on the Internet explains it in human language. 20090502 15:23:46< Polarina> Crab_: And if anything, in crappy pseudo-code. 20090502 15:24:26-!- jmunro[a] is now known as jmunro 20090502 15:26:05-!- zookeeper2 is now known as zookeeper 20090502 15:34:20-!- EdB [n=edb@79.88.117.209] has quit [Remote closed the connection] 20090502 15:46:49< Crab_> zookeeper, silene: regarding our yesterday's discussion about sighted events - see http://wesnoth.pastebin.com/m28a50ed7 for a proposal 20090502 15:57:39< CIA-30> boucman * r35415 /trunk/src/ (mapgen.cpp terrain_translation.cpp terrain_translation.hpp): add support for terrain regexp inp in village naming, patch by euschn 20090502 15:57:49< boucman> Crab_: around ? 20090502 15:57:54< Crab_> yes 20090502 15:58:25< boucman> could you have a look/commit patch https://gna.org/patch/index.php?1170 ? 20090502 16:00:13< Crab_> boucman: ok. brw, afaik, silene already looked at that patch. 20090502 16:00:17< Crab_> s/brw/btw 20090502 16:00:55< boucman> he didn't comment, so I wouldn't know... 20090502 16:03:19< Crab_> boucman: 2009-04-26 irc, "21:37 benetnash: seems good, i will wait till tomorrow evening in case someone that knows formula ai better has comments, otherwise i will commit it then" 20090502 16:05:41-!- Reisiger__ [n=Reisiger@adsl-84-227-178-104.adslplus.ch] has joined #wesnoth-dev 20090502 16:06:14< Reisiger__> Oi... I see myself double o_O Brb 20090502 16:06:19-!- Reisiger__ [n=Reisiger@adsl-84-227-178-104.adslplus.ch] has quit [Client Quit] 20090502 16:06:31-!- Reisiger [n=Reisiger@adsl-84-227-178-104.adslplus.ch] has joined #wesnoth-dev 20090502 16:11:16< Crab_> boucman: imo, the patch is only a partial solution. since we have gamemap_calllable, team_callable, attack_analysis, ai_readonly_context, terrain_callable, location_callable, move_callable, move_partial_callable,move_map_callable, attack_type_callable, unit_callable, unit_type_callable. 12 callables. only location_callable has do_compare. fixing +2 of them leaves us with 3/12 fixed. not good. 20090502 16:14:56< Crab_> boucman: a better solution is to make "formula_callable::do_compare" pure virtual, since comparing pointers in current formula_callable::do_compare() is not good 20090502 16:17:33< Crab_> boucman: of course the patch is still good, but it does only 18% of work needed to fix the bug. 20090502 16:19:03< boucman> at least it points out the problem 20090502 16:19:11< boucman> benetnash: around ? 20090502 16:22:22-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090502 16:23:56-!- Reisiger_ [n=Reisiger@adsl-84-226-132-52.adslplus.ch] has quit [Read error: 110 (Connection timed out)] 20090502 16:29:51-!- Elvish_Pillage2 [n=eli@68-116-172-101.dhcp.oxfr.ma.charter.com] has quit ["Hi! I'm a quit message virus vaccine. If you see a quit message virus, don't replace your quit message with it!"] 20090502 16:30:18-!- giusef [n=giusef@unaffiliated/giusef] has joined #wesnoth-dev 20090502 16:30:30< Crab_> boucman: left a note and a question in the patch 20090502 16:30:50< boucman> k 20090502 16:33:38< Crab_> boucman: also note that we need to deterministically compare different objects, such as 'moves' to 'attacks', too. 20090502 16:34:13< boucman> Crab_: yeah, but that's less of a worry, any order will do 20090502 16:34:28< Crab_> boucman: any *deterministic* order will do :) 20090502 16:34:47< Crab_> current ordering is semi-random 20090502 16:35:23< Crab_> boucman: for example, when comparing moves to moves, any deterministic order would be ok, too. 20090502 16:35:44< boucman> Crab_: yeah, that's what I meant 20090502 16:36:00-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090502 16:55:34-!- Sapient [n=sapien-x@wesnoth/developer/sapient] has joined #wesnoth-dev 20090502 16:56:43< Sapient> Crab: we don't necessarily need a move-in-range event, since that behavior can already be emulated by moveto and [filter_vision] 20090502 16:57:27< Sapient> I am reviewing your "sighted" proposal, and my first impression is that it violates KISS 20090502 16:58:21< Sapient> I kind of disagree with zookeeper on this one 20090502 16:58:29-!- Doppp [i=Doppp@DOPPP.RES.CMU.EDU] has quit [Read error: 104 (Connection reset by peer)] 20090502 16:58:54< Crab_> Sapient: well, i'm in favor of removing the 'sighted' event at all (let sighted=move-in-range). 20090502 16:59:10< Sapient> violating the undo stack and clearing the fog would be far simpler in the C++ and for the campaign authors as well 20090502 16:59:11-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 16:59:55< Sapient> then we can keep the other special behaviors that are implied by "sighted", such as sighting things during recalls or recruits, teleports, etc 20090502 17:01:42< silene> boucman, Crab_: what does that mean to compare a terrain_callable and an attack_type_callable? will it happens in practice? does the order matter? 20090502 17:02:04< boucman> silene: we return list of objects in ai, all sorts of objects 20090502 17:02:14< boucman> so we need to guarentee that the order is kept 20090502 17:02:22< Crab_> silene: basically, then can be put in a same list by .fai creator. so, it doesn't matter how we compare them, but we need to do it deterministically. 20090502 17:02:26< boucman> the order doesn't really matter as long as it doesn't change 20090502 17:02:59< Sapient> Crab: also, I haven't checked the code, but I'm fairly certain that Delay Shroud instructions are not saved to the replay or interpreted, thus savegames and MP are broken by the complex implementation (as well as the current one) 20090502 17:03:02< silene> shouldn't we just forbid list to contain mixed types? it most certainly is an error 20090502 17:03:20< Crab_> silene: list of 'attacks' and 'moves' is a valid thing. 20090502 17:03:30< Crab_> silene: since both are 'actions' 20090502 17:03:56< Crab_> silene: althrough I agree that it doesn't happen in practice. 20090502 17:04:34< Crab_> Sapient: well, current delay shroud\sighted event\moveto event interactions can segfault the game. 20090502 17:05:03< Sapient> it doesn't surprise me... there are many known bugs in sighted event since its inception 20090502 17:05:34< Sapient> I have been contemplating to deprecate it for a long time, but the fact is that authors like it 20090502 17:05:43< Crab_> Sapient: this is because 'moveto' events break undo, and 'sighted' event do not break undo. 20090502 17:06:01< Sapient> that's not the reason for its popularity 20090502 17:06:14< Crab_> Sapient: that's about 'there are many known bugs' 20090502 17:06:35< Sapient> yes, there are other bugs in it as well 20090502 17:06:44< Sapient> its bugs are legion 20090502 17:07:17< Crab_> Sapient: yes. so, the easiest way to fix it is to make it work like 'moveto' - triggering instantly and breaking the undo stack, regardless of the delayed_shroud_updates. 20090502 17:07:18< boucman> Sapient: you might want to interview zookeeper on the subject 20090502 17:07:35< boucman> yes, sighted is a pain and I am starting to believe we will never fix them completely 20090502 17:08:00< Crab_> Sapient: but there's "(01:21:39 AM) zookeeper: Crab_, the only reason why i really don't want to only have the move-in-range kind of sighted event is because it's nasty to invalidate undo when the player thinks he's free to mess around with his units in delay shroud updates mode." 20090502 17:08:04< boucman> otoh the high usage shows that they do cover a real need, we need to figure out that need to find a better, more robust way to cover that need 20090502 17:08:16< Sapient> I think regardless of what zookeeper prefers, we simply can't preserve the undo stack without causing a great headache to developers and content creators 20090502 17:09:11< Sapient> I may in fact take a look at fixing it today 20090502 17:09:35< Crab_> Sapient: well, without preserving the undo stack it is simple. 20090502 17:09:58< Sapient> KISS ;) 20090502 17:10:34< Crab_> that is "sighted as move-in-range" event: triggers when secondary unit moves so that primary unit ends up in its vision range. Doesn't care whether delay shroud updates is on or not, just about the underlying vision ranges. 20090502 17:11:07< Sapient> right 20090502 17:11:11< Crab_> it triggers immediately (like moveto), so there's no possibility to violate causality with interacting events. 20090502 17:11:37< Crab_> and it is equal to current behavior of sighted events if delayed_shroud_updates is OFF. 20090502 17:11:56< Sapient> it occurs to me that "moveto" event with [filter_vision] could have some of the same problems you described 20090502 17:12:43< Sapient> not triggering for all MP players, or being broken in the replay, if Delay Shroud was on 20090502 17:13:56< Crab_> but note that there's possibility to do 'a sighted event that will not break undo', if we accept certain restrictions on that event, and add apply_shroud_changes BEFORE those events which can 'kill' a unit. 20090502 17:15:05< Sapient> that's too much complication for a very small gain, IMO 20090502 17:15:37< Crab_> those 'certain restrictions' are quite simple "DO NOT modify the game state on the turn they are fired", "DO NOT expect that primary unit still present", "DO NOT expect that secondary unit is still present" 20090502 17:15:55< Crab_> and "add apply_shroud_changes BEFORE those events which can 'kill' a unit" is needed anyway. 20090502 17:16:06< Crab_> since otherwise we have segfaults. 20090502 17:16:26-!- Ambushsabre [n=ambushsa@75.67.216.121] has joined #wesnoth-dev 20090502 17:17:16< Crab_> since if we apply_shroud_changes AFTER those events, and killed unit is referenced from undo stack, we are unable to 'trackback' the moves of that unit, so we have an assertion failure ( https://gna.org/bugs/?13256 ) 20090502 17:18:38< Crab_> so, that's why I've proposed two kinds of 'sighted' event - those which 'break the stack and fire immediately', and those which 'work exactly like sighted events do now, but accept those conditions I've mentioned' 20090502 17:19:14< Sapient> are you offering to code it? 20090502 17:20:30< Crab_> Sapient: if we decide about 'what is to be done', yes, i'll code it. 20090502 17:20:52< Sapient> ok, then I give you full license to implement whichever you prefer 20090502 17:21:50< Sapient> the sighted event is a simple gimic and I'd like us to not have any solution in place which represents a maintenance burden however 20090502 17:22:33< Crab_> Sapient: I'll see what zookeeper thinks about that proposal 20090502 17:22:51< Sapient> cya later, have fun. 20090502 17:22:51-!- Sapient [n=sapien-x@wesnoth/developer/sapient] has left #wesnoth-dev [] 20090502 17:27:24-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has joined #wesnoth-dev 20090502 17:38:47-!- Doppp [i=Doppp@DOPPP.RES.CMU.EDU] has joined #wesnoth-dev 20090502 17:39:49-!- BenUrban [n=benurban@unaffiliated/benurban] has quit ["Power failu"] 20090502 17:40:25-!- busfahrer is now known as buzZzZzfahrer 20090502 17:40:58-!- Reisiger [n=Reisiger@adsl-84-227-178-104.adslplus.ch] has quit [Read error: 104 (Connection reset by peer)] 20090502 17:41:47-!- giusef [n=giusef@unaffiliated/giusef] has quit [Read error: 113 (No route to host)] 20090502 17:55:02-!- BenUrban [n=benurban@c-68-49-10-243.hsd1.md.comcast.net] has joined #wesnoth-dev 20090502 18:02:58-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has quit [Read error: 110 (Connection timed out)] 20090502 18:04:26< ilor> mordante: regarding gsoc project progress, I didn't do anything from the original list yet, but I did set up git-svn which should be helpful ;) 20090502 18:04:43< mordante> it works on windows? 20090502 18:05:12< mordante> other in the news, I didn't look at the tabsheets yet, got distracted with templates 20090502 18:05:15< ilor> after some duct tape and a hammer applied to some places, it does 20090502 18:06:01< mordante> sounds like Windows ;-) 20090502 18:06:03< ilor> file permissions confuse it and newline conversion makes it die, but otherwise I made 3 commits yesterday using git and it worked 20090502 18:06:34-!- giusef [n=giusef@unaffiliated/giusef] has joined #wesnoth-dev 20090502 18:07:46< ilor> so... when do we plan to switch to git entirely? ;P 20090502 18:09:12-!- wesbot changed the topic of #wesnoth-dev to: accepted students for SoC: http://socghop.appspot.com/org/home/google/gsoc2009/wesnoth | 62 bugs, 236 feature requests, 9 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090502 18:09:34< Soliton> once someone evaluated the other DVCSs as well. 20090502 18:10:29< boucman> ilor: once git is usable by non-coders 20090502 18:10:33< mordante> I still think git is more difficult to learn as svn, which is a disadvantage for contributors 20090502 18:11:28< Crab_> it's bad that there's no svn-git ( 20090502 18:12:20< Polarina> ilor: I hope never. 20090502 18:13:07-!- giusef [n=giusef@unaffiliated/giusef] has quit [Remote closed the connection] 20090502 18:14:29-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 18:34:05< CIA-30> crab * r35416 /trunk/src/ai/ai_manager.hpp: removed inneccessary include 20090502 18:48:12< silene> boucman: i don't think git is that bad for non-coders; i doubt anyone could argue that "svn up" is simpler than "git pull" 20090502 18:48:57< boucman> silene: svn is borderline too cimplicated, the best thing would be a web interface, and I don't really care about what the backend is 20090502 18:49:27< silene> a web interface? to do what? 20090502 18:49:48< loonycyborg> To upload new files :P 20090502 18:50:46-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has quit [Read error: 110 (Connection timed out)] 20090502 18:53:15< Soliton> the problem with git so far is the missing tortoise-git. 20090502 18:53:22-!- stikonas [n=quassel@ctv-213-164-108-14.vinita.lt] has joined #wesnoth-dev 20090502 18:53:45< silene> Soliton: what do you mean missing? there is one, and it works quite well i feel 20090502 18:54:11< Soliton> i didn't know there was one yet. 20090502 18:54:20< silene> Soliton: http://code.google.com/p/tortoisegit/ 20090502 18:54:35< Soliton> cool. 20090502 18:55:15< Soliton> does it also have git-svn capabilities? 20090502 18:55:44< silene> Soliton: i don't know 20090502 18:57:46< zookeeper> Crab_, i was away, reading the log... 20090502 18:57:55< Crab_> zookeeper: ok. 20090502 19:02:45< zookeeper> Crab_, i think your proposal is ok. to me, he sighted event sounds pretty complicated to implement, but then again that's your problem i guess ;) 20090502 19:03:52< Crab_> zookeeper: it's not that complicated, since it's very simular to current sighted event behavior 20090502 19:04:36< Crab_> zookeeper: it can be thought as 'store information about sighted units and uncovered hexes in undo list' 20090502 19:05:28< Crab_> zookeeper: so, we can fire those sighted events and uncover hexes regardless of the unit condition 20090502 19:06:28< Crab_> zookeeper: note that 'MUST NOT change the state of the game on the turn in which it is activated.' constraint is critical. 20090502 19:06:35< zookeeper> i'm not sure how much that really differs from the current sighted events from the author's or player's POV. 20090502 19:06:48< zookeeper> right 20090502 19:06:59< Crab_> zookeeper: it differs by the definition. 20090502 19:07:05< Crab_> zookeeper: by that constraint. 20090502 19:07:31< Crab_> note that this is perfectly ok to set a variable from that event, if that variable will be used only next turn. 20090502 19:08:31< zookeeper> i don't understand that constraint. how could an event change the state of the game on any other turn than the one on which it's activated..? 20090502 19:09:43< Crab_> zookeeper: bad wording on my part. basically, "is perfectly ok to set a WML variable from that event, if that variable will be used only next turn." 20090502 19:10:39< Crab_> zookeeper: but no changes to units, terrain, etc. 20090502 19:11:48< zookeeper> so just to be clear, what happens if i do some change like that? 20090502 19:11:48< Crab_> zookeeper: for example, it will be forbidden to spawn a unit from 'sighted' event. 20090502 19:11:55< zookeeper> or what might happen 20090502 19:12:11< Crab_> zookeeper: OOS if it is a mp game and players have different shroud settings. 20090502 19:12:48-!- giusef [n=giusef@95.234.252.113] has joined #wesnoth-dev 20090502 19:13:01< Crab_> zookeeper: basically, if the constraint is violated, the event will leave the game in a different state depending on delayed_shroud setting. 20090502 19:13:27< zookeeper> so basically OOS is the only major concern? 20090502 19:13:59< zookeeper> unless you do something really complicated like in UtBS and enable things to get messed up depending on shroud settings 20090502 19:14:13< Crab_> zookeeper: yes, there is possibility to mess up 20090502 19:14:26< Crab_> zookeeper: remember my example about 'teleporting-sighted-event' ? 20090502 19:14:42< Crab_> http://wesnoth.pastebin.com/m5ce40672 20090502 19:14:46< zookeeper> yeah 20090502 19:15:10< zookeeper> but that's fine, people shouldn't be doing complex stuff with those events anyway 20090502 19:15:11< Crab_> a 'sighted' event which teleports a unit will succeed without delayed shroud 20090502 19:15:38< zookeeper> i'm happy as long as there's no regressions of what kind of things you can do from an author's POV 20090502 19:15:51< zookeeper> and it doesn't seem like there is 20090502 19:16:06< Crab_> and fail with delayed_shroud (since the 'sighted' event will actually fire only when unit will be at C) 20090502 19:16:17< zookeeper> and yes, i should probably go through sighted events in mainline campaign and try to refactor them a bit in various ways 20090502 19:17:25< Crab_> so, we explicitly ask the authors: "if you want to modify the units, map, ..., from a sighted event, please use move-in-range unstead of sighted) 20090502 19:18:36< Crab_> and if it is simple 'story dialog' and you don't want to kill the undo stack for delayed_shroud player - use a sighted event 20090502 19:18:59< Crab_> note that 'delayed' game-state changes is fine. 20090502 19:19:37< Crab_> since, with both delayed_shroud=YES and delayed_shroud=NO they will happen after applying shroud changes 20090502 19:20:09< Crab_> zookeeper: btw, have WML authors a way to easily specify "fire this event next turn" ? 20090502 19:20:19< zookeeper> well, i'd rather simply tell the authors that the sighted event can trigger at different times depending on the shroud setting (and add that if they don't understand the implications of that, they shouldn't try to do any gamestate-changing stuff in them) 20090502 19:20:39< zookeeper> it sounds like it'd be perfectly safe to do all sorts of gamestate-changing things in sighted events in SP content 20090502 19:20:52< zookeeper> just not the kind that can mess things up, like in UtBS 20090502 19:21:18< zookeeper> i think the latter case is in a clear minority 20090502 19:21:31< Crab_> zookeeper: most of them are ambushes. 20090502 19:21:54< Crab_> zookeeper: (most of the latter case) 20090502 19:22:39< Crab_> (as in UtBS case - units are killed-recreated from a 'sighted' event) 20090502 19:23:06-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Remote closed the connection] 20090502 19:23:20< Crab_> this usage will need "move-in-range" to work properly. 20090502 19:24:26< CIA-30> silene * r35417 /trunk/src/attack_prediction_display.hpp: Removed useless dependency. 20090502 19:25:01< Crab_> zookeeper: well, regarding " i'd rather simply tell the authors" - since there's no way to enforce 'the right thing' with 'sighted', imo it's better to explicitly forbid it in the documentation, explain why, and suggest alternative. so, if anyone still tries to do and does it incorrectly, that's his problem. 20090502 19:25:27< zookeeper> i guess that's fine 20090502 19:25:34< zookeeper> going afk again -> 20090502 19:25:44< Crab_> zookeeper: how should "move-in-range" event be named ? or it should be a property of 'sighted event' - as in: [event] name=sighted immediate=true [/event] 20090502 19:27:01-!- ettin [n=jorda@wesnoth/developer/ettin] has quit [Read error: 110 (Connection timed out)] 20090502 19:31:52-!- buzZzZzfahrer is now known as busfahrer 20090502 19:32:22-!- turin [n=turin@168.215.250.18] has joined #wesnoth-dev 20090502 19:49:11-!- stikonas [n=quassel@ctv-213-164-108-14.vinita.lt] has joined #wesnoth-dev 20090502 20:05:07< zookeeper> Crab_, i guess better to have a separate event, not sure about the names 20090502 20:06:23< zookeeper> (and away again..) 20090502 20:09:55< Crab_> zookeeper: ok. how about "approach" ? 20090502 20:11:32< euschn> im off, see you tommorow 20090502 20:11:33-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit ["ChatZilla 0.9.84 [Firefox 3.0.7/2009030423]"] 20090502 20:13:07-!- silene [n=plouf@wesnoth/developer/silene] has quit [Read error: 104 (Connection reset by peer)] 20090502 20:13:33-!- silene [n=plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20090502 20:16:15-!- maxy [n=maxy@80-219-0-199.dclient.hispeed.ch] has quit [] 20090502 20:19:19< Soliton> zookeeper: sounds like sotbe is too easy now: http://www.wesnoth.org/forum/viewtopic.php?p=355165#p355165 20090502 20:23:25< Crab_> silene: a question: why we have both boost::scoped_ptr (36 usages) and util::scoped_ptr (18 usages) ? What should I use ? 20090502 20:24:37< Crab_> (sorry, usage numbers are boost:: 27, util:: 17) 20090502 20:25:24< silene> Crab_: util::scoped_ptr is from a time we were not depending on boost; i don't know why boost::scoped_ptr came later (i was no longer there) and which one is the preferred one 20090502 20:26:43< silene> i guess using boost::scoped_ptr is better: if it offers the same functionalities, we could just remove util::scoped_ptr 20090502 20:27:06-!- noy [n=Noy@d75-157-39-176.bchsia.telus.net] has joined #wesnoth-dev 20090502 20:28:11< Crab_> silene: ok, thanks. btw, after 1016 ai-vs-ai trials, -11.5% time improvement (using 35412: Reduced memory consumption of Dijkstra's solution from quadratic to linear with respect to movement points.) 20090502 20:29:23< silene> great 20090502 20:29:51< Crab_> yes. and that's with game start-up overhead :) 20090502 20:30:15< silene> what's the unit? seconds? 20090502 20:30:34< Crab_> yes 20090502 20:31:30< silene> so yes, i guess the starting time matters 20090502 20:44:05< Crab_> silene: is it ok to have a log domain like "ai/composite/stages" ? or only one "/" is supported ? 20090502 20:45:10< silene> Crab_: if it isn't supported, it isn't volontary; you should be able to use several slashes 20090502 20:45:22< Crab_> ok 20090502 20:47:16< CIA-30> mordante * r35418 /trunk/src/ (CMakeLists.txt lexical_cast.hpp tests/test_lexical_cast.cpp): 20090502 20:47:16< CIA-30> Add a new initial implementation for lexical_cast. 20090502 20:47:16< CIA-30> The code is only used in the unit test at the moment. It would be nice if 20090502 20:47:16< CIA-30> others can test whether the code works on all supported platforms since it 20090502 20:47:16< CIA-30> makes more use of templates. If there are no reports of issues, I'll start to 20090502 20:47:19< CIA-30> use this code to replace the old lexical cast. 20090502 20:49:52< mordante> crimson_penguin, Crab_, ilor can you test this commit ^ 20090502 20:50:05< Crab_> mordante: ok 20090502 20:50:07< mordante> loonycyborg, too ^^ 20090502 20:50:08< crimson_penguin> ok 20090502 20:50:26< mordante> thanks 20090502 20:50:48< Crab_> mordante: what's the best way to test it ? 20090502 20:51:06-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 20:51:09< mordante> run the unit tests and see how many fail (should be 0) 20090502 20:51:15< crimson_penguin> hmm, I'm still on branches/1.6/, but I seem to get to 35418, so I guess it should work 20090502 20:51:36< crimson_penguin> ...except those files weren't updated 20090502 20:51:41< mordante> ah wait I forgot to add the test to the other build systems 20090502 20:51:58< crimson_penguin> mordante: wait, but, I don't use any of the included build systems 20090502 20:52:48< Crab_> mordante: ok, I'll test on FreeBSD and Debian as soon as you commit scons recipe for it. 20090502 20:54:02 * crimson_penguin is confused 20090502 20:54:17< CIA-30> mordante * r35419 /trunk/ (po/wesnoth-test/POTFILES.in src/Makefile.am src/SConscript): Add the new file to all build systems. 20090502 20:54:26< mordante> Crab_, I tested on Debian Lenny, more worried about FreeBSD, not sure which compiler you use there 20090502 20:54:59< mordante> crimson_penguin, the whole svn repo has 1 version number but commits to trunk won't show up in 1.6 20090502 20:55:06-!- EdB [n=edb@209.117.88-79.rev.gaoland.net] has joined #wesnoth-dev 20090502 20:55:41< mordante> crimson_penguin, but you can copy the files manually and add it to the unit test project and test it there 20090502 20:55:41< crimson_penguin> ok 20090502 20:55:48< crimson_penguin> so I'd have to switch to trunk then 20090502 20:56:07< Crab_> mordante: nothing too fancy, scons with g++ 4.2.1 (automake works too) 20090502 20:56:38< mordante> I just want to make sure all compilers like that code, since templates can confuse compilers 20090502 20:57:02< mordante> Crab_, ok, well then I guess it should work nicely for you 20090502 20:58:05< crimson_penguin> I don't wanna switch to trunk :-/ 20090502 20:58:47< mordante> crimson_penguin, like I said you can copy the two new files and build the unit test with 1.6 20090502 20:59:25< Crab_> mordante: works :) 20090502 20:59:43< loonycyborg> mordante: All asserts pass for me. 20090502 21:00:13< crimson_penguin> mordante: oh, ok 20090502 21:01:31< mordante> thanks Crab_ loonycyborg 20090502 21:03:16< loonycyborg> mordante: Why are you using a custom lexical_cast instead of boost one? 20090502 21:03:54< mordante> since this one is more fun ;-) 20090502 21:04:29< mordante> once this one works I can also change lexical_cast_default to these templates 20090502 21:04:57-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Remote closed the connection] 20090502 21:06:04< mordante> also I want to add some wesnoth specific versions using t_string 20090502 21:06:28< loonycyborg> Though there's one shortcoming about boost's lexical_cast: it doesn't seem to pick up non-member operator<<() . 20090502 21:06:48< crimson_penguin> mordante: ok, i've got the files, now what? :P 20090502 21:07:00 * crimson_penguin doesn't know how to do tests 20090502 21:07:19< mordante> crimson_penguin, you never compiled the unit tests? 20090502 21:07:26< crimson_penguin> mordante: nope 20090502 21:07:48< silene> loonycyborg: that would be surprising, since operator<< for streams is necessarily non-member, so it would never work 20090502 21:08:51< loonycyborg> mordante: AFAIK MacOS uses stock gcc so it's unlikely to have problems if Debian doesn't. 20090502 21:09:18< crimson_penguin> yeah, that's what I'm thinking too 20090502 21:09:27< mordante> crimson_penguin, any idea how hard it will be add the project to your buildsystem 20090502 21:09:52< crimson_penguin> mordante: well, what does it involve? 20090502 21:09:53< mordante> loonycyborg, I prefer to be sure before I rewrite the rest of the code and some compiler can't use it 20090502 21:10:37< crimson_penguin> does it basically just have a main function in the .cpp file? 20090502 21:11:01< loonycyborg> silene: Well.. I remember that once boost::lexical_cast refused to work for me when a simpler implementation of lexical_cast worked just fine. 20090502 21:11:44-!- stikonas [n=quassel@ctv-213-164-108-14.vinita.lt] has joined #wesnoth-dev 20090502 21:11:58< mordante> crimson_penguin, you can see it in src/Makefile.am starting at line 294 (only misses the new test_lexical_cast.cpp) 20090502 21:12:31-!- Espreon [n=quassel@wesnoth/developer/espreon] has joined #wesnoth-dev 20090502 21:13:11< crimson_penguin> mordante: oh I see 20090502 21:14:10< crimson_penguin> I should be able to add that not too hard, just like adding the server 20090502 21:15:03< mordante> nice 20090502 21:21:38< crimson_penguin> mordante: bit tedious though; I compiled all the files, but now there's tons of link errors because now I have to figure out what to link it with (and which game files need to be compiled too) 20090502 21:22:13< mordante> it compiles all game files but game.cpp 20090502 21:22:14< crimson_penguin> also, wait a second... how is anything in these new files gonna be called if no other files are changed? 20090502 21:22:20< crimson_penguin> oh wow 20090502 21:22:51< crimson_penguin> only 159 link errors though :P 20090502 21:23:23< mordante> and it should thus link all game libs as well and the boost unit test library 20090502 21:29:29-!- ettin [n=jorda@wesnoth/developer/ettin] has joined #wesnoth-dev 20090502 21:30:44< crimson_penguin> well, let's see if that works 20090502 21:31:08< crimson_penguin> 420 source files... 20090502 21:31:46-!- fendrin [n=fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20090502 21:31:49< crimson_penguin> (it would be only 210, but it's 2 architectures) 20090502 21:34:44< crimson_penguin> it sure does compile in random order... 20090502 21:41:07-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has quit [Read error: 60 (Operation timed out)] 20090502 21:43:03< crimson_penguin> I'm getting compile errors about image and get_image, from the widget files 20090502 21:45:44< Crab_> wesbot: seen Dragonking 20090502 21:45:44< wesbot> Crab_: The person with the nick Dragonking last spoke 1d 5h ago. 12h 7m ago was here and on the channels #wesnoth and #wesnoth-umc-dev with the message: 20090502 21:46:30< crimson_penguin> seems weird, since I don't think I did anything special with the widgets... but I guess it must be something to do with the two image.[hc]pp files 20090502 21:47:28< ilor> crimson_penguin: VS craps by default if you have two cpp files with the same name in different dirs 20090502 21:47:48< ilor> crimson_penguin: look at how the existing vcproj file has extra config for these cases 20090502 21:48:59< mordante> I'm off bye 20090502 21:49:14-!- mordante [n=mordante@wesnoth/developer/mordante] has quit ["Leaving"] 20090502 21:49:27< crimson_penguin> ilor: I'm using XCode though, and it worked fine for the other target 20090502 21:49:44< ilor> oh, sorry, got confused ;) 20090502 21:51:32< Crab_> boucman: around ? 20090502 21:52:25< boucman> yup, what's up ? 20090502 21:53:20< boucman> Crab_: ^^ 20090502 21:53:39< Crab_> at the moment, i'm preparing to create a 'candidate-action-evaluation-loop' stage for my new composite ai, 20090502 21:53:56-!- jmunro is now known as jmunro[a] 20090502 21:54:06< Crab_> so, basically, i need a ai-and-language-independent candidate action manager 20090502 21:54:56< Crab_> and so, I've looked at ../formula_candidates.hpp and it's tied to formula_ai, so I need to make my own one 20090502 21:55:09< Soliton> boucman, zookeeper: the wolf rider acts as if in water (wolf raises head) on any terrain it seems. 20090502 21:55:25< Crab_> and so, I became interested in some design decisions that went into formula_candidates 20090502 21:55:39< Crab_> and since Dragonking is not around, I've pinged you 20090502 21:55:49< Crab_> firstly, about candidate action.. 20090502 21:56:04< Crab_> why score of candidate action is a int, not a double ? 20090502 21:56:22< boucman> Crab_: because the FAI language is int only afaik 20090502 21:56:32< boucman> and score should be returned by formulas, so no floats 20090502 21:56:51< boucman> Soliton: weird, I can't recall any recent changes that would cause that... 20090502 21:56:52< Crab_> but from the manager's point of view it doesn't matter, isn't it ? 20090502 21:57:00< Crab_> since int can be converted to float 20090502 21:57:18< boucman> I guess not, but the manager was FAI only when designed, thus the decision 20090502 21:57:52< Crab_> another question: what's a filter (candidate_action_with_filters::candidate_action_with_filters)? 20090502 21:58:11< boucman> Crab_: I don't know but I can have a look 20090502 22:00:05< boucman> Crab_: that's the logic to reduce complexity through early filtering 20090502 22:00:17< boucman> you want me to explain how it works ? 20090502 22:00:41< Crab_> boucman: no, I remember something about it.. 20090502 22:00:47< boucman> ok 20090502 22:01:11< boucman> look at move_candidate_aciont::evaluate if you need a reminder (though it's not with move that it makes most sense) 20090502 22:01:16< Crab_> boucman: what's the purpose of update_callable_map ? 20090502 22:01:18< Crab_> (function) 20090502 22:01:23< Soliton> boucman: actually it changes randomly when i select the unit and sometimes stays in the normal position. 20090502 22:02:05< boucman> Soliton: ok, we have issue with the standing anim, please open a bug, assign to zookeeper, add a not telling to forward bug to me if it's engine side 20090502 22:03:56< boucman> Crab_: no idea exactly why it was designed that way, but we talking of RCA types, and it set the env variables that are nescessary through a virtual method 20090502 22:04:11< Crab_> boucman: ok, another one: in formula_ai.cpp , in RCA loop : const_formula_ptr move_formula(candidate_action_manager_.get_best_action_formula()); make_action(move_formula, callable); 20090502 22:04:13< boucman> so my guess is that it's here for dispatching reasons from the RCA manager class 20090502 22:04:31< Crab_> why not " make_action(candidate_action_manager_.get_best_action_formula(),callable)" ? 20090502 22:04:48< boucman> line number plz ? 20090502 22:05:13< Crab_> :1792 20090502 22:05:22< boucman> ok 20090502 22:05:53< boucman> no idea.. 20090502 22:05:55< boucman> :) 20090502 22:06:01< Crab_> ok 20090502 22:06:09< boucman> might simply be a stylistic issue 20090502 22:06:24< Crab_> what is name_ and type_ of candidate action ? 20090502 22:07:22< boucman> name_ is from the RCA wml block and is a name usefull for debugging purpose 20090502 22:07:33< Crab_> and type_ ? 20090502 22:07:39< boucman> type_ is the type of_ RCA move IIUC and is more or less unused 20090502 22:07:45< Crab_> ok. 20090502 22:07:51< Crab_> why execute_formula returns int ? 20090502 22:08:39< Crab_> (why not bool , for example) 20090502 22:09:18< boucman> no idea 20090502 22:09:38< boucman> it's suposed to be the result of the evaluated formula as int, not sure why at this point 20090502 22:09:42< boucman> exploring some more... 20090502 22:09:59< boucman> ok, 20090502 22:10:11< boucman> see formula_candidates.cpp around line 147 20090502 22:10:28< boucman> execute_formula is used to get the score of the candidate move 20090502 22:10:33< boucman> so it has to be an int there 20090502 22:10:58< Crab_> why ? 20090502 22:11:06< Crab_> if ( !execute_formula( me_filter->second, callable, ai ) ) 20090502 22:11:19< boucman> line 151 20090502 22:11:39< boucman> that's where we use it as a numeric 20090502 22:12:20< Crab_> interesting... 20090502 22:13:17< Crab_> so, execute_formula doesn't actually execute it.... 20090502 22:13:23< Crab_> it just evaluates it... 20090502 22:13:36< Crab_> thanks 20090502 22:13:44< boucman> depends 20090502 22:14:15< boucman> what you mean by execute vs evaluate 20090502 22:14:25< boucman> it takes a formula, runs it, returns the result 20090502 22:15:22< Crab_> boucman: i mean 'no actual moves/attacks are done' by base_candidate_action::execute_formula 20090502 22:15:33< boucman> then yes, that's it 20090502 22:15:43< boucman> execute_formula is only used in the scoring phase 20090502 22:15:45< Crab_> that it is a simple wrapper for executing a formula 20090502 22:15:52< boucman> yes 20090502 22:16:31< Crab_> boucman: why it is located in base_candidate_action ? 20090502 22:16:55< Crab_> it can be a static function somewhere far away.... 20090502 22:17:06< boucman> no idea, for the specific error message maybe 20090502 22:17:08-!- nital [n=nital@mion.elka.pw.edu.pl] has quit [SendQ exceeded] 20090502 22:17:33< Crab_> its error message doesn't depend on candidate action state... 20090502 22:18:00< Crab_> but ok, understood.. 20090502 22:18:39< Crab_> boucman: ok, thanks. 20090502 22:19:25< Crab_> I'll use this info to construct a small alternative candidate action manager which will not depend on specific implementation details of candidate actions (so, they can be backed by c++, fai, lua, etc..) 20090502 22:20:04< Crab_> later, when DK appears, we'll integrate it with his one. 20090502 22:23:08< boucman> Crab_: the big question is how do you intend to integrate the idea of types and filters 20090502 22:23:26< boucman> are these specific to the FAI implementation of RCA or are they more generic ? 20090502 22:23:47< Crab_> i'll outsource the actual construction of candidate action from config to the c++/fai/lua specific manager. 20090502 22:24:03< Crab_> and they'll return me a pointer to the base candidate action 20090502 22:25:37< Crab_> so, it'll be specific to fai implementation of rca. 20090502 22:26:29-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["KVIrc 3.4.2 Shiny http://www.kvirc.net/"] 20090502 22:26:38< Crab_> if 'fai implementation of rca' implements 'the idea of filters' in a reusable way - that's good, but it shouldn't matter to candidate action manager. 20090502 22:27:06-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090502 22:29:51< Crab_> boucman: btw, there's a slightly related question about the RCA loop.. 20090502 22:30:22< Crab_> if one of the formulas in RCA loop throws exception during the 'make action' part, what should be done ? 20090502 22:30:36< boucman> hmm 20090502 22:30:56< Crab_> note that this means that this 'action' which throws the exception has the highest score 20090502 22:30:58< boucman> disuqalify the whole candidate move with a big flashy message, and take the second best move ? 20090502 22:31:16< Crab_> so, if we just ignore that error, we'll get in a loop 20090502 22:31:45< boucman> that's why I said disqualify it 20090502 22:31:52< boucman> after all, it is a bug... 20090502 22:31:55< Crab_> so, we need to 'log + drop that candidate move' first ? 20090502 22:32:16< Crab_> (so, it'll be disqualified till the rest of the game) 20090502 22:32:34< boucman> hmm 20090502 22:32:44< boucman> we could reallow it at the next turn 20090502 22:33:09< Crab_> so, we need to 'log + skip that candidate move for 1 turn' ? 20090502 22:33:09< boucman> or even reallow it every time a unit has moved (hoping the situation that cause problem was solved by someone else) 20090502 22:33:21< boucman> it's just a choice, there is no "good solution" here 20090502 22:33:34< Crab_> boucman: yes, that's I'm asking :) 20090502 22:33:56< boucman> I'd say reenable at the next turn is the most balanced choice 20090502 22:33:59< Crab_> ok 20090502 22:37:52 * Crab_ thinks that it's bad that pastebin hasn't got WML syntax highlighting 20090502 22:38:21< Crab_> boucman: configuration of composite AI will look like this - http://wesnoth.pastebin.com/m1adee031 20090502 22:38:55< Crab_> (with no [side] tags if it is in its own file) 20090502 22:39:00< boucman> ok, it doesn't tell me much but it sounds sensible 20090502 22:39:27< Crab_> so, it'll be backward-compatible 20090502 22:40:39-!- YogiHH [n=chatzill@c211055.adsl.hansenet.de] has joined #wesnoth-dev 20090502 22:41:33< Crab_> boucman: ok, thanks, that's all for now ) 20090502 22:41:48< boucman> np 20090502 22:42:52< crimson_penguin> ok, anyone here know about the unit tests? I've got it all compiling, but no main function is defined 20090502 22:44:24-!- cjhopman [n=cjhopman@wesnoth/developer/cjhopman] has joined #wesnoth-dev 20090502 22:47:38< crimson_penguin> also, I'm not sure how mordante's 2 new files are supposed to do anything, without any other files changing 20090502 22:49:31< YogiHH> Ivanovic: ping 20090502 22:52:22< silene> crimson_penguin: main is provided by boost; and the two files don't do anything except for themselves 20090502 22:53:29< crimson_penguin> silene: right, but I'm linking to (and including) boost, and there's no errors about that 20090502 22:53:45< crimson_penguin> and that's what I thought... so how am I supposed to test them? 20090502 22:54:43< silene> crimson_penguin: you compile the test file, link it with boost, run the resulting executable 20090502 22:55:29< crimson_penguin> I thought all the tests were compiled at once :-/ 20090502 22:56:22< YogiHH> Soliton, you there? 20090502 22:56:22< silene> crimson_penguin: if you use autotools, sure, there are an executable called "tests" that is created; for other build systems, i don't know 20090502 22:57:27< Soliton> YogiHH: yes. 20090502 22:58:23< YogiHH> Soliton: Any idea how to do wiki pages with graphics? Html ? And where do i put the graphic files, then? 20090502 22:59:35< Soliton> YogiHH: an excellent question, no idea. 20090502 23:00:31< Soliton> YogiHH: are there a lot of images? 20090502 23:01:01< ilor> YogiHH: I guess file uploads are disabled in the wiki for some reason and I was advised to use the forums. Never got round to it though. 20090502 23:01:07-!- Espreon [n=quassel@wesnoth/developer/espreon] has quit [Remote closed the connection] 20090502 23:01:36< YogiHH> Soliton: not really, i wanted to upload UML diagrams, like 2 or 3 maybe 20090502 23:02:09< Crab_> YogiHH: I've heard somewhere that wesnoth's wiki has uploads disabled. so, you can host the images anywhere else (eg. create a topic in the far corner of the forums and ask the moderators to make this topic 'undeletable and uncommentable' 20090502 23:02:53< YogiHH> hmm, ok 20090502 23:03:04-!- boucman [n=rosen@wesnoth/developer/boucman] has quit [Remote closed the connection] 20090502 23:03:09< Soliton> YogiHH: if you can hand me the images someway i can put them where you want on wesnoth.org. 20090502 23:03:59< YogiHH> Soliton: cool, i'll send them to you then. Might take a while, though, i still have to create them. 20090502 23:04:05-!- loonybot [n=loonybot@79.139.247.143] has joined #wesnoth-dev 20090502 23:04:36-!- loonycyborg [n=sergey@79.139.247.143] has joined #wesnoth-dev 20090502 23:04:42< Soliton> YogiHH: send to soliton at wesnoth.org then. 20090502 23:04:50< YogiHH> ok 20090502 23:06:32-!- EdB [n=edb@209.117.88-79.rev.gaoland.net] has quit [Remote closed the connection] 20090502 23:09:04< Crab_> YogiHH: what are the steps to do if I want to add some new files *in a new directory* to MSVC project file? for example, I want to add src/ai/composite/ai.cpp 20090502 23:09:41< YogiHH> Crab_: Wait a minute... 20090502 23:10:01< Crab_> ok, i'm not in hurry :) 20090502 23:10:08 * YogiHH never did this anywhere else than in the IDE ;-) 20090502 23:10:27< Crab_> YogiHH: so maybe i'll ping you just before I commit and tell what I've changed ? 20090502 23:10:41-!- Sirp [n=me@wesnoth/developer/dave] has quit [Read error: 113 (No route to host)] 20090502 23:11:00< loonycyborg> Crab_: .vcproj files seem to be relatively simple. 20090502 23:11:39< loonycyborg> Probably you'll just need to add a tag. 20090502 23:12:02< Crab_> loonycyborg: that's easy, and that's with new files in exising dirs. 20090502 23:12:04< loonycyborg> Though it may not be enough after all and you'll break the projectfile instead :P 20090502 23:12:39< Crab_> loonycyborg: but I want to add some new dirs, and so I need at least a Crab_: you add a Filter tag like this 20090502 23:13:22< YogiHH> 20090502 23:13:35< Crab_> YogiHH: 1) what should I put in UniqueIdentifier ? some random hexadecimal crap ? 2) Should I reference this filter somewhere else ? 20090502 23:14:25< Crab_> or no UniqueIdentifier is necessary ? 20090502 23:14:26< YogiHH> Crab_: i think you can omit the GUID, subsequent filters don't seem to have it 20090502 23:14:32< Crab_> ok 20090502 23:15:26< Crab_> YogiHH: also note that some filters have more stuff than others 20090502 23:15:56< Crab_> YogiHH: Name="AI"filter is simple, but other filters, such as serialization have FileConfiguration parts 20090502 23:16:46< YogiHH> Crab_: The files have that FileConfiguration info, the filter does not 20090502 23:17:32< Crab_> ok. 20090502 23:18:22< Crab_> so, it seems that I need to 1) add a filter per each directory 2) add the files with corresponding FileConfiguration parts 20090502 23:18:39< zookeeper> Crab_, oops, i never noticed your "have WML authors a way to easily specify "fire this event next turn" ?" question until now 20090502 23:18:56< Crab_> zookeeper: yes, there was such question ) 20090502 23:19:04-!- WishMasterNND [n=WishMast@p5B0A3904.dip.t-dialin.net] has joined #wesnoth-dev 20090502 23:19:55< YogiHH> Crab_: I suppose you can skip the FileConfiguration as well. Probably the file belongs to all Configurations then 20090502 23:19:59< Crab_> since it allows easy-to-write stuff like "on sighting this unit, fire this event at start of next *ai* turn", "on sighting this, fire this event at start of next *player* turn" 20090502 23:20:12< Crab_> YogiHH: I'm wondering because i've got multiple ai.cpp's :) 20090502 23:20:31< zookeeper> Crab_, yes, it's usually very easy 20090502 23:20:40< zookeeper> hmm... 20090502 23:20:56< YogiHH> alright, i am off, good night 20090502 23:20:58< Crab_> YogiHH: i've got multiple ai.cpp's in different dirs. and also I will rename src/ai/ai_actions.cpp to src/ai/actions.cpp which is the same filename as src/actions.cpp 20090502 23:21:08< Crab_> YogiHH: night :) 20090502 23:21:11< zookeeper> Crab_, would there be a problem if i spawned a new event in the sighted event? 20090502 23:21:11< WishMasterNND> Hello there, is there somebody here who contributed bigger parts to Wesnoth and would like to give a short interview on that topic? 20090502 23:22:08< Crab_> zookeeper: we have *the problem* if the game state ends up different with and without delayed_shroud 20090502 23:22:35< YogiHH> Crab_: Shouldn't be a problem, this is independent of the FileConfiguration information, which tells VC++ which files belong to your current project configuration. 20090502 23:22:40-!- Zen_Clark [n=user@99-136-80-191.lightspeed.rcsntx.sbcglobal.net] has joined #wesnoth-dev 20090502 23:22:47< Crab_> YogiHH: ok, thanks ) 20090502 23:22:56< YogiHH> np 20090502 23:23:01-!- YogiHH [n=chatzill@c211055.adsl.hansenet.de] has left #wesnoth-dev [] 20090502 23:23:17< zookeeper> Crab_, yeah, i'm just wondering whether a new event qualifies for that. i guess it won't if the event is such that it only triggers after the current turn. 20090502 23:23:19< Crab_> zookeeper: so, firing an event is ok, if it doesn't have immediate effect on unit info/team info 20090502 23:23:50< zookeeper> Crab_, not firing an event, but creating a new one 20090502 23:24:04< Crab_> yes, this is also ok 20090502 23:24:08< zookeeper> roger 20090502 23:24:25< Crab_> what matters is things that can affect the outcome of unit/attack/recruit actions. 20090502 23:24:40< zookeeper> WishMasterNND, maybe they're all busy contributing right now ;) 20090502 23:25:08< Crab_> zookeeper: for example, changing the gold is not ok, since it can change the possibility of recruit action. 20090502 23:25:51< WishMasterNND> zookeeper: That'd be sad^^ 20090502 23:26:49< Crab_> zookeeper: imagine a sighted event that sets player gold to 0. with delayed shroud update, player can move unit A (which doesn't trigger a sighted event because of delayed shroud), recruit a unit B, apply shroud updates and end with 2 units and 0 gold. without delayed shroud update, player will not be able to recruit a unit B after moving unit A - since he'll already have 0 gold. hence possibilities for OOS. 20090502 23:27:14< zookeeper> Crab_, yes, i get that part 20090502 23:27:55< Crab_> so, "the event is such that it only triggers after the current turn." will not be different both with and without delayed shroud if nothing touches that event until shroud updates are applied 20090502 23:28:05< zookeeper> yep 20090502 23:28:55< Crab_> basically, "both with and without shroud we must arrive at same game state at the moment when undo stack is cleared." 20090502 23:29:12< zookeeper> Soliton, i'm not surprised about the SotBE difficulty 20090502 23:30:37< zookeeper> Soliton, i'd prefer to not just up enemy gold, since i suppose that results in simply more units and a big slugfest which gets boring quickly 20090502 23:30:50< Crab_> zookeeper: so, a quite safe way of using the 'sighted event' is "display any fluff messages now, schedule a event for start of next turn" 20090502 23:32:32< Crab_> zookeeper: and what is your opinion about naming that 'move-in-range' event "approach" ? 20090502 23:33:12< zookeeper> Crab_, sounds good to me 20090502 23:33:14-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090502 23:33:43< Crab_> as in "on approaching the necromancer, he summoned a host of ghosts..." 20090502 23:34:18< zookeeper> WishMasterNND, unless you'd like to hang around longer (people are online at quite varying hours), maybe you'd like to post on the forums or the dev mailing list 20090502 23:39:41< Zen_Clark> Is there a way to get past the multiple unit problem in the sighted event? 20090502 23:40:48< Crab_> Zen_Clark: fire a sighted event for each pair of units ? 20090502 23:40:53-!- Sirp [n=me@wesnoth/developer/dave] has quit [Read error: 60 (Operation timed out)] 20090502 23:41:59< Crab_> Zen_Clark: or state the 'multiple unit problem' in more detail, in case that I'm misinterpreting what you are talking about 20090502 23:42:02-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090502 23:43:28< Zen_Clark> (Note: it appears that when a sighted event is triggered because an enemy unit moves into your field of view, the game engine cannot determine which unit (on your side) sees the unit that moved, and so it fires a name=sighted event without setting $second_unit. This means that, for example, using speaker=second_unit inside a message tag may fail.) 20090502 23:43:41< Zen_Clark> (From the wiki) 20090502 23:44:22< Crab_> Zen_Clark: well, we can use either 'random' unit or 'all units' (firing the event multiple times) 20090502 23:44:29-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090502 23:44:43< Zen_Clark> O.k. 20090502 23:45:01< Crab_> 'all units' is better, imo. 20090502 23:46:10< Zen_Clark> O.k. 20090502 23:47:26-!- _2i [n=chatzill@ppp91-76-146-205.pppoe.mtu-net.ru] has joined #wesnoth-dev --- Log closed Sun May 03 00:00:05 2009