--- Log opened Wed Apr 11 00:00:28 2012 --- Day changed Wed Apr 11 2012 20120411 00:00:28-!- _vdn [~nazgul-sa@ppp91-77-229-76.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 00:04:19-!- Johannes13 [~Johannes@unaffiliated/johannes13] has quit [Ping timeout: 264 seconds] 20120411 00:14:53< CIA-69> alarantalara * r53892 /trunk/data/campaigns/Under_the_Burning_Suns/scenarios/08_Out_of_the_Frying_Pan.cfg: delete another variable initialization made useless by r53890 20120411 00:16:04-!- oldtopman [~oldtopman@unaffiliated/oldtopman] has joined #wesnoth-dev 20120411 00:19:12-!- vcap [~vcap@AReims-551-1-25-44.w86-215.abo.wanadoo.fr] has quit [Quit: leaving] 20120411 00:19:27-!- IvanSav [~IvanSav@ns2.ultranet.com.ua] has quit [Quit: IvanSav] 20120411 00:20:09-!- vcap [~vcap@AReims-551-1-25-44.w86-215.abo.wanadoo.fr] has joined #wesnoth-dev 20120411 00:26:10-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 246 seconds] 20120411 00:27:00-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20120411 00:35:24-!- nagafono [~kvirc@178.19.254.1] has quit [Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/] 20120411 00:39:27-!- gabba [~gabba@wesnoth/developer/gabba] has joined #wesnoth-dev 20120411 00:58:49< fendrin> Alarantalara: Nice to see you giving UtBS some love. 20120411 01:06:30< Alarantalara> fendrin: there's still a long way to go. I'm still finding things in that scenario that can be improved 20120411 01:07:18< Alarantalara> most of it is replacing a store, test, clear sequence with just a direct test 20120411 01:10:14< fendrin> Alarantalara: Yes, I know. The WML is still at Wesnoth 0.6 level. 20120411 01:10:37< fendrin> Alarantalara: I was the maintainer of UtBS not that long ago. 20120411 01:11:26< Espreon> gabba: https://gna.org/bugs/?19636 ... Please make the big, scary bug go away. 20120411 01:12:25< gabba> Espreon: Will do. 20120411 01:12:51< Espreon> Thanks! :) 20120411 01:18:21-!- avrilfanomar [~omar@91.202.130.241] has left #wesnoth-dev [] 20120411 01:19:09-!- mattsc [~mattsc@fw.hia.nrc.ca] has quit [Quit: bye] 20120411 01:22:12< CIA-69> jamit * r53893 /trunk/data/core/macros/interface-utils.cfg: 20120411 01:22:12< CIA-69> Updating CLEAR_FOG and UNCLEAR_FOG for multiturn fog. 20120411 01:22:12< CIA-69> (Keeps them behaving as in 1.10, for compatibility.) 20120411 01:22:30-!- Gambit is now known as Gambit\ 20120411 01:22:37-!- Gambit\ is now known as Gambit 20120411 01:23:02< CIA-69> alarantalara * r53894 /trunk/data/campaigns/Under_the_Burning_Suns/scenarios/08_Out_of_the_Frying_Pan.cfg: simplify first meeting with humans 20120411 01:23:45-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120411 01:31:41< jamit> I think someone is going to end up starting that scenario over from the beginning. :) 20120411 01:33:35< Alarantalara> jamit: there is almost no change in how the scenario works, though I have fixed some minor bugs in the process 20120411 01:34:21< Alarantalara> which reminds me... 20120411 01:34:28< CIA-69> alarantalara * r53895 /branches/1.10/data/campaigns/Under_the_Burning_Suns/scenarios/08_Out_of_the_Frying_Pan.cfg: prevent Dust Devil from commenting about cuttlefish 20120411 01:34:44< jamit> I could come up with another excuse I guess.... :) 20120411 01:35:50< jamit> You're just taking away all of the devil's lines? Good thing it's not paid by the word. :) 20120411 01:36:29< Alarantalara> No, it's not supposed to speak, but the speaker wasn't changed unlike for the barnacles and hermit crab lines 20120411 01:36:52< jamit> I know. 20120411 01:37:17< Alarantalara> It looks like an oversight from the original grand muting 20120411 01:40:54-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20120411 01:45:20-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20120411 01:48:14< gabba> ejls: checked your newest updates, all good. I especially like that you really *evaluated* whether the PIMPL idiom was needed instead of just throwing it in because "hurrr gabba wants it" ;) . 20120411 01:49:13< CIA-69> alarantalara * r53896 /trunk/data/campaigns/Under_the_Burning_Suns/scenarios/08_Out_of_the_Frying_Pan.cfg: separate logic for speaker and message when first group of humans dies 20120411 01:49:49-!- wesbot changed the topic of #wesnoth-dev to: Wesnoth accepted in GSoC 2012 | http://wiki.wesnoth.org/SummerOfCodeIdeas | 174 bugs, 329 feature requests, 15 patches | Logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://pastebin.com | http://imagebin.org 20120411 01:51:35-!- ancestral [~ancestral@97-127-62-183.mpls.qwest.net] has joined #wesnoth-dev 20120411 02:05:46< fendrin> Alarantalara: There is some stuff in UtBS that should be ripped off. Nearly every scenario has some little details that the player will most likely not notice. 20120411 02:07:16< fendrin> Stuff like if you freed 3 instead of 2 dwarves there are only 4 waiting for you at the end instead of 5. Or vice versa. 20120411 02:08:03< Alarantalara> I don't remember seeing anything like that so far 20120411 02:08:43< fendrin> Alarantalara: I suspect that UtBS is best handled if someone takes the time to extract all game mechanics in prose, rip of what seems not needed and then the whole campaign should be recoded from scratch following the extraction without looking at the old code. 20120411 02:09:12< fendrin> Damn, I should use more of "," and "." 20120411 02:10:39-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20120411 02:10:43< Alarantalara> fendrin: I don't think it's that bad. There might be some details I've overlooked, but I'm completely happy with scenario 1 at the moment 20120411 02:11:13< Alarantalara> Though I can see your point for scenario 3 and it's 50 ways to kill Garak 20120411 02:11:18< CIA-69> gabba * r53897 /trunk/src/ (game_display.cpp resources.cpp): Ensure all pointers in resources.cpp are initialized as NULL. Then rely on resources::whiteboard being NULL to detect whether WB is initialized. Fixes bug #19632. 20120411 02:11:28< fendrin> Alarantalara: Well, scenario one is a big mess and tomato surprise. It should be redesigned, not repaired or polished. 20120411 02:11:37-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has quit [Quit: Computer has gone to sleep.] 20120411 02:12:05< gabba> Espreon: here you go :) 20120411 02:12:16< Espreon> Thanks. :) 20120411 02:12:47< fendrin> Alarantalara: Indead, scenario 3 is a good example. 20120411 02:12:57< fendrin> s/indead/Indeed 20120411 02:13:52-!- _vdn1 [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 02:14:17< fendrin> Alarantalara: Another thing that comes to my mind: There are many hardcoded encounters in UtBS. They are moveto events which place units and then do the speech and other stuff. 20120411 02:14:23< Alarantalara> I For scenario 1, I think starting with a smaller map and waiting until all/most of the elves are rescued before replacing the map with the original one and showing the necromancer would more or less deal with any surprise problems there 20120411 02:14:40< fendrin> Yeah 20120411 02:14:50< fendrin> Maybe scenario 1 could be split in two. 20120411 02:14:50-!- _vdn [~nazgul-sa@ppp91-77-229-76.pppoe.mtu-net.ru] has quit [Ping timeout: 246 seconds] 20120411 02:15:22< Espreon> gabba: http://pastebin.com/hhBNC4Mb ... :( 20120411 02:16:05< gabba> Espreon: um, really? That'll teach me to compile with MSVC, I guess 20120411 02:16:35< gabba> I guess there's a standard include missing, but which one? 20120411 02:16:57< fendrin> The hardcoded moveto events (filter for location) could be replaced with inactive units that are preset from the scenario start but inactive. When the player encounters them they get activated. Much cleaner in my opinion. 20120411 02:17:19< fendrin> Espreon, gabba: Strange, NULL works just everywhere in Wesnoth. 20120411 02:17:41< fendrin> Isn't it a macro which gets defined no matter what? 20120411 02:18:27< gabba> Espreon: try adding the following line as the first include in resources.cpp and recompile: 20120411 02:18:30< gabba> #include 20120411 02:19:29< Espreon> OK. 20120411 02:20:21< Alarantalara> fendrin: that would resolve any other complaints, but I'd want to check. It may cause some of the fights to get harder as they'd be detected earlier 20120411 02:20:50< Espreon> gabba: That did the trick. Shall I commit? 20120411 02:21:04< gabba> Espreon: yes, please 20120411 02:21:09< Espreon> Very well. 20120411 02:21:40< CIA-69> espreon * r53898 /trunk/src/resources.cpp: Added a missing include. 20120411 02:21:40< fendrin> Alarantalara: In that case one could filter for units of the player entering a certain range around the unit. That leads to no hardcoded location as well. 20120411 02:22:10< Espreon> Oh, it seems that I put it in the wrong order. 20120411 02:22:59< Espreon> ... Maybe... 20120411 02:23:12< gabba> I'll check, it probably doesn't matter 20120411 02:25:15< gabba> Espreon: yeah, don't worry it's fine 20120411 02:25:21< Alarantalara> Espreon: if I start doing things like what fendrin is suggesting, moving the changes to your Eftboren branch will start to become impossible 20120411 02:25:31< Alarantalara> would you mind if I started doing things like that 20120411 02:25:34< Alarantalara> ? 20120411 02:26:40< Espreon> Alarantalara: Well, I could apply the changes to Eftboren myself. 20120411 02:26:53< Espreon> ... but... 20120411 02:26:55< Espreon> ... I dunno... 20120411 02:27:06< Espreon> It'd be painful. 20120411 02:28:05< Espreon> Hmmmm... I don't like this... 20120411 02:29:26< Espreon> Alarantalara: But really, some are truly against splitting scenario files... 20120411 02:29:36< Espreon> ... and they took the time to... unsplit them... 20120411 02:30:59< fendrin> Alarantalara: Meaning only the location of the unit is hardcoded, inside the unit definition, the unit can be around at scenario start but deactivated in that case as well. This is much easier to check for units not appearing inside wall and stuff like that. 20120411 02:31:52< fendrin> Alarantalara: And the player gets an idea how many units are around, thus recruiting at scenario start against unknown enemies is no longer a problem. 20120411 02:32:10< Alarantalara> fendrin: not really. most of the scenarios use shroud 20120411 02:32:35< fendrin> Well, I only talk about shroud and fog scenarios. 20120411 02:32:44-!- tyrannodogg [~tyrannodo@ip-9-24.travedsl.de] has quit [Quit: Leaving.] 20120411 02:33:29< Alarantalara> the enemies are unknown for every scenario but 3, and it has an entire army appear halfway through 20120411 02:34:06< fendrin> I forgot that you can't see what units await you in the statistics if shroud/fog is enabled. 20120411 02:34:42< fendrin> The entire army in scenario 3 is a problem. 20120411 02:34:58< fendrin> The whole scenario is more or less. 20120411 02:35:43< Alarantalara> It's definitely the least pleasant when it comes to surprises 20120411 02:36:40< Alarantalara> I ended up changing the entire way I played scenarios 1 and 2 once I knew Garak was going to die 20120411 02:42:21-!- mattsc [~mattsc@d50-92-196-35.bchsia.telus.net] has joined #wesnoth-dev 20120411 02:42:23-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20120411 02:42:55-!- dream_lane [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has joined #wesnoth-dev 20120411 02:44:07-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has joined #wesnoth-dev 20120411 02:44:12< Alarantalara> regardless of what I end up doing, I think I'll stick to refactoring the existing code until it's in reasonably good shape before I starting changing any scenari behaviour 20120411 02:44:19< Alarantalara> *scenario 20120411 02:44:24-!- EdB [~edb@37-8-163-220.coucou-networks.fr] has joined #wesnoth-dev 20120411 02:45:28-!- _vdn1 [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 02:46:01-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 02:46:45< mattsc> Alarantalara, while you're talking about UtBS, I played 'Out of the Frying Pan' starting from the save jamit sent me (when the Elves exit the cave). When you come in with that many strong units, it is completely irrelevant what the AI does with the messenger. 20120411 02:47:30< mattsc> By the time the messenger appeared, I had all but one of Durstrag's units killed by the time, so the messenger never even got going. 20120411 02:47:59< dream_lane> Hey guys, is there a way to un-ignore someone? I've been messing around with the ignore with reason feature request, and I started thinking... I can't find a way to un-ignore someone 20120411 02:48:41< mattsc> So I am setting up a test scenario on a similar map (indeed loyalists and orcs), but with much fewer units and the messenger there from the beginning. I still think it's an interesting AI problem. 20120411 02:48:56< shadowm> dream_lane: They can be removed from the list in Preferences -> Multiplayer at least 20120411 02:50:00< dream_lane> shadowm: Ahh okay cool, I hadn't looked there... But there is no command to remove from ignore list? If not, would anyone be opposed to me writing a patch that adds one? 20120411 02:50:07< Alarantalara> mattsc: that could be changed... it's not that difficult to increase the size of the opponent's army so it won't be a pushover 20120411 02:50:13< mattsc> (Btw, this wasn't a complaint about UtBS, just a statement that that specific setup doesn't make for a particularly interesting AI test case) 20120411 02:50:16< jamit> mattsc: one thing I forgot to mention. I had been playing the middle difficulty, which could skew my army to the strong side. (I normally play hardest difficulty.) 20120411 02:51:23< mattsc> jamit: might be. The problem I am seeing is that this deep into a scenario and also into the sampaign, the strength of troops coming in will be vastly different for different players. 20120411 02:51:56< jamit> Seems like a reason to base the opponents' strength on the player's. 20120411 02:52:09< mattsc> I found it to be very difficult to balance something like that later in a campaign, especially situations when it's not just 'kill that army' 20120411 02:52:27< Alarantalara> jamit: it's likely a bad idea to punish people for doing wel 20120411 02:52:29< Alarantalara> l 20120411 02:52:31< dream_lane> jamit: wouldn't that defeat the purpose of a player playing smart 20120411 02:52:40< dream_lane> earlier on 20120411 02:52:50< mattsc> jamit: of course, if you know that, you could intentionally play badly to get to that point ;) 20120411 02:53:26< jamit> You wouldn't completely offset good play, just scale it up so it's not a pushover, yet still possible for those that had not been doing so well. 20120411 02:53:49< Alarantalara> it does look like a good place to create a human army consisting of more weaker units (LIMIT_RECRUIT) to make it harder to just surround them 20120411 02:53:55< mattsc> Another way would be to time the appearance of the messenger so that just the first couple units of the elves could reach him 20120411 02:54:23< mattsc> ... and the AI targeting those specifically. 20120411 02:55:51< mattsc> I'm going to set up my test scenario in that way. If you want, we can see how that works out and whether it might be useful to UtBS. 20120411 02:56:35< jamit> The loyal units make a big difference in this scenario. The elves do not have much income, so not paying upkeep means being able to recruit more at the cave exit. 20120411 02:57:38< Alarantalara> You don't really get a lot of loyal units except on the easiest difficulty 20120411 02:58:38< Alarantalara> jamit: could I get a copy of your save? I'm curious as to how overwhelming it was 20120411 02:58:51< jamit> Sure 20120411 03:00:12< mattsc> Alarantalara, just to give you an idea (and I was playing kind of carelessly and didn't even recruit with all the money I had): http://imagebin.org/207512 20120411 03:00:21< jamit> Nine loyal units. Hmm.. that was the easiest difficulty? I thought it was the middle one. 20120411 03:00:50< mattsc> This is the turn the messenger appeared and it shows all units left 20120411 03:02:42< jamit> OK, since I was messing around on the easiest difficulty, the result might be horribly skewed. 20120411 03:03:04< Alarantalara> yeah, that's the easiest difficulty 20120411 03:03:10< jamit> Maybe I'll start the entire campaign over instead of just that scenario. 20120411 03:03:43< mattsc> jamit: if you do, would you send me the save from the same point again? 20120411 03:04:02< jamit> Sure, but it will take some time. 20120411 03:04:07< Alarantalara> on normal, the messenger appears a turn earlier and you only have the heros + dust devil + possible golem as loyal units 20120411 03:04:16< mattsc> In either case, I am going to start with a simpler setup (and core units) anyway for my Lua AI Exercise 20120411 03:04:52< mattsc> A turn earlier wouldn't really have made a difference for the messenger. Fewer units probably would. 20120411 03:05:03< Alarantalara> and the enemy has more of course 20120411 03:05:53< mattsc> Anyways, I think if this is supposed to work with a "smarter" messenger AI (for different levels and different player skills), I think it needs a bit more than just the AI code. 20120411 03:06:13< mattsc> But let me see if I can produce a smarter AI in the first place first. 20120411 03:06:26< jamit> Oh, about the golem -- I learned about it, but not through playing. By the time I get near its secret room, I always get tired of checking every inch of wall. Is that the intended setup? 20120411 03:06:57< Alarantalara> as far as I know. I've never found it worth getting anyway 20120411 03:07:16< Alarantalara> you only get for this scenario and the next one, and if you don't get it killed there it turns against you anyway 20120411 03:07:57< Alarantalara> It's probably a good candidate for fendrin's list of things to get rid of 20120411 03:08:01-!- PolarPanda [~quassel@unaffiliated/peterporty] has quit [Read error: Connection reset by peer] 20120411 03:08:53-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 03:09:27-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 03:11:47< jamit> Alarantalara: you still want a copy of the save? 20120411 03:12:04-!- PolarPanda [~quassel@unaffiliated/peterporty] has joined #wesnoth-dev 20120411 03:18:29< Alarantalara> jamit: I guess not, that picture shows me most of what I need to know 20120411 03:21:41< Alarantalara> also fendrin: that image is the answer to your question you left as a comment in scenario 1. I wrote a text answer there, but the picture does a much better job 20120411 03:25:18-!- PolarPanda [~quassel@unaffiliated/peterporty] has quit [Read error: Connection reset by peer] 20120411 03:25:45-!- PolarPanda [~quassel@unaffiliated/peterporty] has joined #wesnoth-dev 20120411 03:31:19-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 03:31:51-!- EdB [~edb@37-8-163-220.coucou-networks.fr] has quit [Ping timeout: 246 seconds] 20120411 03:31:51-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 03:32:01-!- EdB [~edb@37-8-166-118.coucou-networks.fr] has joined #wesnoth-dev 20120411 03:32:07< fendrin> Alarantalara: image? 20120411 03:32:23< Alarantalara> mattsc posted it:  http://imagebin.org/207512 20120411 03:32:59< Alarantalara> it's not possible without storing all the units that were not found in scenario 1 20120411 03:33:07< Alarantalara> in the recall list 20120411 03:34:38< fendrin> Sorry, I don't really get what you are talking about. And I don't remember what I left in scenario1. 20120411 03:36:37< Alarantalara> I don't understand this. Why should a unit with no traits and no experience be a value for the player? 20120411 03:36:37< Alarantalara> Recruiting one that has traits is cheaper than recalling. -- Fabi 20120411 03:36:43< Alarantalara> is what you left 20120411 03:36:56< Alarantalara> and the answer on easy is that they are loyal 20120411 03:37:12< Alarantalara> which leads to the horde you see in scenario 8 20120411 03:38:12< Alarantalara> There are 6 of the units in that image, showing that they were preferentially recalled 20120411 03:41:47-!- PolarPanda [~quassel@unaffiliated/peterporty] has quit [Remote host closed the connection] 20120411 03:54:13< fendrin> Alarantalara: Okay. 20120411 03:59:40-!- neph_ [~neph@02de475b.bb.sky.com] has joined #wesnoth-dev 20120411 04:00:37< Crab_> neph_: hello. 20120411 04:01:39< Crab_> neph_ (and all other gsoc students): I've rated the proposals (not the final rating, of course), so, afterwards it's best to ping me if you'll have an update that you'll want me to look at. 20120411 04:02:49-!- neph [~neph@02de475b.bb.sky.com] has quit [Ping timeout: 260 seconds] 20120411 04:11:45-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 04:12:16-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 04:14:38-!- gabba [~gabba@wesnoth/developer/gabba] has quit [Read error: Connection reset by peer] 20120411 04:27:24-!- khoover [~crazy1010@70.51.111.75] has quit [Quit: Leaving] 20120411 04:27:50-!- khoover [~crazy1010@70.51.111.75] has joined #wesnoth-dev 20120411 04:31:51-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 04:32:25-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 04:33:41-!- Crab_ [~Crab_@wesnoth/developer/crab] has quit [Quit: Do it for joy and you can do it forever] 20120411 04:40:53< CIA-69> alarantalara * r53899 /trunk/data/campaigns/Under_the_Burning_Suns/scenarios/02_Across_the_Harsh_Sands.cfg: delete clear of unused variable 20120411 04:45:42-!- neph_ [~neph@02de475b.bb.sky.com] has quit [Ping timeout: 246 seconds] 20120411 04:51:43-!- neph_ [~neph@02de475b.bb.sky.com] has joined #wesnoth-dev 20120411 05:09:15-!- mattsc [~mattsc@d50-92-196-35.bchsia.telus.net] has quit [Quit: bye] 20120411 05:15:11-!- Gambit [~gambit@wesnoth/developer/grickit] has quit [Remote host closed the connection] 20120411 05:15:55-!- oldtopman [~oldtopman@unaffiliated/oldtopman] has quit [Quit: oldtopman has left the house] 20120411 05:40:49-!- {V} [~V@139-79-ftth.onsneteindhoven.nl] has quit [Ping timeout: 250 seconds] 20120411 05:41:56-!- EdB [~edb@37-8-166-118.coucou-networks.fr] has quit [Quit: Konversation terminated!] 20120411 05:51:51-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 05:52:23-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 06:00:08-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 06:00:41-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 06:04:55-!- Elvish_Pillager [~eli@dhip-149.coburn.residences.colby.edu] has quit [Ping timeout: 264 seconds] 20120411 06:07:50-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Quit: Leaving.] 20120411 06:12:04-!- {V} [~V@139-79-ftth.onsneteindhoven.nl] has joined #wesnoth-dev 20120411 06:13:03-!- neph_ [~neph@02de475b.bb.sky.com] has quit [Ping timeout: 252 seconds] 20120411 06:15:08-!- faryshta [~faryshta@189.242.73.114] has joined #wesnoth-dev 20120411 06:15:58< faryshta> Where can I find the makefile to compile the c++ source code? 20120411 06:17:08< shadowm> what operating system are you using? 20120411 06:18:21< faryshta> shadowm, linux/ubuntu 20120411 06:19:37< shadowm> the INSTALL file provides a lot of pointers 20120411 06:20:42-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has quit [Read error: Operation timed out] 20120411 06:23:39-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20120411 06:25:25-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20120411 06:31:58< CIA-69> alarantalara * r53900 /branches/1.10/changelog: update changelog 20120411 06:33:45-!- {V} [~V@139-79-ftth.onsneteindhoven.nl] has quit [Read error: Connection reset by peer] 20120411 06:36:44-!- {V} [~V@139-79-ftth.onsneteindhoven.nl] has joined #wesnoth-dev 20120411 06:50:36-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has quit [Read error: Operation timed out] 20120411 06:50:57-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20120411 06:59:20-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 06:59:53-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 07:03:04-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 260 seconds] 20120411 07:06:16-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20120411 07:10:26-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 07:11:02-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 07:27:37-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Read error: Connection reset by peer] 20120411 07:46:54-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20120411 07:49:49-!- wesbot changed the topic of #wesnoth-dev to: Wesnoth accepted in GSoC 2012 | http://wiki.wesnoth.org/SummerOfCodeIdeas | 172 bugs, 329 feature requests, 15 patches | Logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://pastebin.com | http://imagebin.org 20120411 07:56:31-!- Blah [Dick@137.132.255.100] has quit [Ping timeout: 264 seconds] 20120411 08:06:12-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20120411 08:10:02-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120411 08:26:04-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20120411 08:32:53-!- csarmi [csarmi@94-21-124-253.pool.digikabel.hu] has quit [] 20120411 08:38:30-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 08:38:40-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has quit [Quit: Leaving] 20120411 08:42:01-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has quit [Remote host closed the connection] 20120411 09:02:01-!- ancestral [~ancestral@97-127-62-183.mpls.qwest.net] has quit [Quit: And that’s the end of THAT chapter.] 20120411 09:02:51-!- Dokem [8176d78c@gateway/web/freenode/ip.129.118.215.140] has joined #wesnoth-dev 20120411 09:03:17< Dokem> hello 20120411 09:03:38< Dokem> just compiled Wesnoth. 20120411 09:03:56< Dokem> but it segfaults when I move the window. 20120411 09:11:08< matthiaskrgr> Dokem: move or resize? 20120411 09:11:14< matthiaskrgr> I get a segfault when I resize it :) 20120411 09:12:20< Dokem> both 20120411 09:13:02< matthiaskrgr> hehe ok 20120411 09:13:44< Dokem> oh, looks like a few bugs have already been reported 20120411 09:20:35-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [] 20120411 09:28:08-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120411 09:28:18-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 09:36:30-!- enchilado [~enchilado@defocus/yummy/enchilado] has joined #wesnoth-dev 20120411 09:46:39-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20120411 09:52:56-!- leonid [~leonid@220.113.2.146] has joined #wesnoth-dev 20120411 09:53:13-!- leonid [~leonid@220.113.2.146] has quit [Remote host closed the connection] 20120411 09:54:35-!- leonid [~leonid@220.113.2.146] has joined #wesnoth-dev 20120411 09:55:22-!- leonid [~leonid@220.113.2.146] has quit [Remote host closed the connection] 20120411 09:59:14-!- leonid [~leonid@220.113.2.146] has joined #wesnoth-dev 20120411 10:00:05-!- leonid [~leonid@220.113.2.146] has quit [Remote host closed the connection] 20120411 10:11:49-!- leonid [~leonid@220.113.2.146] has joined #wesnoth-dev 20120411 10:12:03-!- Crendgrim [~crend@77-22-112-72-dynip.superkabel.de] has joined #wesnoth-dev 20120411 10:20:25-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [] 20120411 10:21:52-!- enchilado [~enchilado@defocus/yummy/enchilado] has quit [Quit: leaving] 20120411 10:23:45-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20120411 10:25:20-!- enchilado [~enchilado@defocus/yummy/enchilado] has joined #wesnoth-dev 20120411 10:26:10< trademark_> Hello, I have a problem to run wesnoth on my laptop (everything was ok on another pc). The compilation is fine but if I try to run wesnoth I have the following error message: "20120411 10:24:48 error filesystem: Trying to open file with empty name. 20120411 10:26:11< trademark_> 20120411 10:24:48 error config: Could not open file 20120411 10:26:11< trademark_> could not initialize fonts 20120411 10:26:11< trademark_> ". 20120411 10:27:23-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120411 10:27:34-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 10:28:17< shadowm> trademark_: what else does it say? 20120411 10:28:25< shadowm> specifically, the data directory, is it correct? 20120411 10:29:04< trademark_> Data directory: /usr/local/share/wesnoth 20120411 10:29:05< trademark_> User configuration directory: /home/trademark/.config/wesnoth 20120411 10:29:05< trademark_> User data directory: /home/trademark/.local/share/wesnoth/1.11 20120411 10:29:05< trademark_> Cache directory: /home/trademark/.cache/wesnoth 20120411 10:29:17< trademark_> How can I know if it's "correct" ? 20120411 10:29:38< shadowm> did you install the same build to /usr/local ? 20120411 10:30:05< trademark_> I didn't install anything, I just compile and try to run wesnoth with ./wesnoth 20120411 10:30:27< shadowm> then try giving it the correct data directory path in the command line, since it's clearly using the wrong one 20120411 10:30:36< shadowm> e.g. ./wesnoth . (yes, that's a dot) 20120411 10:31:11< trademark_> it's replacing the data directory but I still have the same error. 20120411 10:31:20< shadowm> or wherever the correct data/ directory is contained 20120411 10:31:32< trademark_> how can I know where it is ? 20120411 10:31:45< shadowm> are you using a svn checkout? 20120411 10:32:18< trademark_> yes 20120411 10:32:25< shadowm> the checkout contains the src/, data/, images/, sounds/, etc. directories 20120411 10:32:37< shadowm> so the checkout is the data directory that should be given as the last command line argument 20120411 10:33:09< trademark_> Hmm it's working. 20120411 10:33:21< trademark_> thank you :) 20120411 10:33:22-!- enchilado [~enchilado@defocus/yummy/enchilado] has quit [Quit: leaving] 20120411 10:33:23< shadowm> alternatively, you can move or link the wesnoth binary at the checkout directory so it will be able to guess it. 20120411 10:33:49< trademark_> How can we link it ? 20120411 10:34:21< shadowm> if you are on a Unix system (maybe a linux distribution) and the filesystem supports it, you can make a symbolic link with ln -s 20120411 10:35:24< shadowm> actually, never mind, that won't work unless it's a hard link or a copy 20120411 10:35:46< trademark_> ok :) 20120411 10:36:06< shadowm> but basically, wherever the wesnoth binary is stored, that's the first path wesnoth will try to use as its data directory 20120411 10:36:48< trademark_> thank, btw resizing the windows cause segfault either preference > close. 20120411 10:36:49< shadowm> scons builds are stored at the root of the svn checkout, so that allows them to work as expected out of the box; cmake builds are usually stored in different directories where Wesnoth won't find its data 20120411 10:37:19< shadowm> so it will fallback to its compiled-in default, such as /usr/local/share/wesnoth above 20120411 10:37:21< trademark_> thank, btw resizing the windows cause segfault either preference > close. 20120411 10:37:28< shadowm> yeah, I read that :p 20120411 10:37:35< trademark_> oups 20120411 10:37:39-!- enchilado [~enchilado@defocus/yummy/enchilado] has joined #wesnoth-dev 20120411 10:37:58< trademark_> thank you for these explanations ;-) 20120411 10:38:53< shadowm> I also mentioned some of this in a more dense fashion here, since I wouldn't be able write user-level documentation to save my life: http://shadowm.rewound.net/blog/archives/212-Miscellaneous-Wesnoth-loading-tricks-on-Linux.html 20120411 10:41:25< shadowm> hm, the Preferences -> Close bug was supposedly fixed 20120411 10:41:56< shadowm> in r53897, to be specific 20120411 10:51:35< trademark_> shadowm, I updated, it's ok now :) 20120411 10:51:59< shadowm> ah, all right then 20120411 10:56:35< trademark_> Do you have a map or a way, where I can test an algorithm for multiple leaders ? 20120411 11:23:38-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120411 11:23:50-!- stikonas [~gentoo@ctv-213-164-114-240.vinita.lt] has joined #wesnoth-dev 20120411 11:23:50-!- stikonas [~gentoo@ctv-213-164-114-240.vinita.lt] has quit [Changing host] 20120411 11:23:50-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 11:33:59-!- Klyto` [~Klyto@dr.lv0.in] has joined #wesnoth-dev 20120411 11:34:47-!- Klyto` is now known as Akihara 20120411 11:34:56< Akihara> :P Sorry for the nickname 20120411 11:41:17-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20120411 11:41:29-!- stikonas [~gentoo@ctv-213-164-114-240.vinita.lt] has joined #wesnoth-dev 20120411 11:41:29-!- stikonas [~gentoo@ctv-213-164-114-240.vinita.lt] has quit [Changing host] 20120411 11:41:29-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 11:44:01-!- leonid [~leonid@220.113.2.146] has quit [Quit: Leaving] 20120411 11:52:40-!- Teugon [~Teugon__@93-42-169-214.ip87.fastwebnet.it] has joined #wesnoth-dev 20120411 11:52:41-!- IvanSav [~IvanSav@ns2.ultranet.com.ua] has joined #wesnoth-dev 20120411 12:01:06-!- horon [~horon@nttkyo322045.tkyo.nt.ngn2.ppp.infoweb.ne.jp] has joined #wesnoth-dev 20120411 12:02:30-!- trademark__ [~trademark@cust-240-216-111-94.dyn.as47377.net] has joined #wesnoth-dev 20120411 12:06:11-!- trademark_ [~trademark@cust-72-169-111-94.dyn.as47377.net] has quit [Ping timeout: 260 seconds] 20120411 12:12:01< Teugon> given a map_location, how can I get others hex? do I have to change x,y coords? 20120411 12:23:46-!- faryshta [~faryshta@189.242.73.114] has quit [Quit: Saliendo] 20120411 12:29:47< Teugon> is there anyone who can help me, please? 20120411 12:30:40< zookeeper> doesn't look like it 20120411 12:31:06-!- Johannes13 [~Johannes@unaffiliated/johannes13] has joined #wesnoth-dev 20120411 12:32:02< trademark__> Teugon, see get_adjacent_tiles in map_location.hpp 20120411 12:35:33< Teugon> thx 20120411 12:36:56-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20120411 12:37:07-!- stikonas [~gentoo@ctv-213-164-114-240.vinita.lt] has joined #wesnoth-dev 20120411 12:37:07-!- stikonas [~gentoo@ctv-213-164-114-240.vinita.lt] has quit [Changing host] 20120411 12:37:07-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 12:43:01-!- EdB [~edb@tss37-1-89-82-194-231.dsl.sta.abo.bbox.fr] has joined #wesnoth-dev 20120411 12:46:02-!- Teugon [~Teugon__@93-42-169-214.ip87.fastwebnet.it] has quit [Quit: This computer has gone to sleep] 20120411 12:51:02-!- Teugon [~Teugon__@93-42-169-214.ip87.fastwebnet.it] has joined #wesnoth-dev 20120411 13:10:26< trademark__> In the AI code, when it searches if a value occurs in a container, the function "count" is often uses instead of "find", but "find" seems to be the more appropriate. why this choice ? 20120411 13:12:54-!- dream_lane [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has quit [Quit: Leaving.] 20120411 13:13:15-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-dev 20120411 13:17:14< Dokem> I have a patch to submit 20120411 13:17:32< Dokem> fixing the segfault on window resize bug 20120411 13:20:16-!- Teugon [~Teugon__@93-42-169-214.ip87.fastwebnet.it] has quit [Quit: This computer has gone to sleep] 20120411 13:22:05-!- leonid [~leonid@111.193.201.234] has joined #wesnoth-dev 20120411 13:22:06-!- leonid [~leonid@111.193.201.234] has quit [Remote host closed the connection] 20120411 13:23:21-!- leonid [~leonid@111.193.201.234] has joined #wesnoth-dev 20120411 13:26:16-!- EdB [~edb@tss37-1-89-82-194-231.dsl.sta.abo.bbox.fr] has quit [Quit: Konversation terminated!] 20120411 13:27:17-!- Teugon [~Teugon__@93-42-169-214.ip87.fastwebnet.it] has joined #wesnoth-dev 20120411 13:28:15< trademark__> Dokem, the segfault ? because in the r53900 I have not anymore this bug when I'm resizing, are you sure it's not already fixed ? 20120411 13:36:50< Dokem> I don't believe that it has been fixed 20120411 13:39:14< Dokem> I uploaded a patch 20120411 13:39:48< Dokem> I have applied to Google summer of Code and was asked to submit a few patches. 20120411 13:40:16< Dokem> Do you guys look through the submissions or should I inform someone? 20120411 13:41:45< Akihara> Dokem: they will look at it but it might take some time :) 20120411 13:42:24< Akihara> do you write into your proposal that you have made one? 20120411 13:43:09< Dokem> no, the proposals were due before we were asked to submit a few patches 20120411 13:44:11< Akihara> update your proposal, and put a link on it :) so mentors know that you have done one 20120411 13:47:27-!- Crab_ [Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20120411 13:47:59< Crab_> Dokem: submit a patch, leave a link at your proposal, yes. 20120411 13:48:29< Crab_> trademark__: provide code file:line pairs, I'll try to tell more (I know about the history of the AI code since 2009) 20120411 13:49:01< Crab_> (I'll read the logs) 20120411 13:49:04< Dokem> Will a link in my proposal comments suffice? I assume you will be notified as I was. 20120411 13:49:20< Crab_> Dokem: yes, a comment or a change of the proposal itself. 20120411 13:49:41< Crab_> Dokem: any other questions that I can help you with? 20120411 13:49:49-!- wesbot changed the topic of #wesnoth-dev to: Wesnoth accepted in GSoC 2012 | http://wiki.wesnoth.org/SummerOfCodeIdeas | 172 bugs, 329 feature requests, 16 patches | Logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://pastebin.com | http://imagebin.org 20120411 13:51:59< Crab_> Dokem: thanks, I've got the notification 20120411 13:53:18< Crab_> since it's gui-related, most likely, mordante is the best person to look at the patch, so I've reassigned the patch to him. 20120411 13:54:04< Dokem> Thanks Crab_ 20120411 13:54:38< trademark__> Crab_, ca.cpp:322 or 498 or 509 for examples. 20120411 13:57:40< Crab_> why do you consider find() to be better there? 20120411 13:58:31-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120411 13:58:39-!- Teugon [~Teugon__@93-42-169-214.ip87.fastwebnet.it] has quit [Quit: This computer has gone to sleep] 20120411 13:58:45-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 13:59:01-!- Appleman1234 [~Appleman1@ppp59-167-222-56.qld.adsl.internode.on.net] has joined #wesnoth-dev 20120411 13:59:45< trademark__> Crab_, because we don't care about counting but just finding. A count operation go though the entire container, a find operation stop at the first occurrence. 20120411 14:00:10< Crab_> trademark__: the containers there are std::set and std::map 20120411 14:00:51< Crab_> trademark__: if you were to implement count() in std::set or std::map, would you go through the entire container after the first occurrence? 20120411 14:02:04< trademark__> Crab_, of course no, I understand, thank you. 20120411 14:02:38< Crab_> on my particular implementation of stl, has size_type count(const key_type& __x) const { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } 20120411 14:03:04< Crab_> not the fastest implementation, but foolproof enough and just with 1 line of code. 20120411 14:03:33< Crab_> and since the is in the header file, compiler is able to inline the count() call. 20120411 14:04:14< Crab_> std::map here has the same code for count() 20120411 14:04:38< Dokem> Carb_: you say you know the AI code? 20120411 14:04:46< Crab_> Dokem: yes 20120411 14:04:50< trademark__> Crab_, I didn't think about the type of the container, my mistake for this stupid question :) 20120411 14:05:11< Crab_> trademark__: no, it's ok to ask questions, as long as you benefit from the answer and learn something new. 20120411 14:05:52< Dokem> Crab_: any pointers to familiarize myself with the code? 20120411 14:07:29< Crab_> 1) read http://wiki.wesnoth.org/Customizing_AI_in_Wesnoth_1.8#how_AI_works.2C_a_short_developer-oriented_overview , 2) for lua part, read http://wiki.wesnoth.org/Practical_Guide_to_Modifying_AI_Behavior and check out the sources and links. 20120411 14:07:33< trademark__> Crab_, but I've got another question, I saw that aspect_recruitment_phase::evaluate and recruitment_phase::evaluate() was similar. I'm not sure what is the goal of the aspect function and when is it call. It would be great if you could enlighten me on that subject. 20120411 14:08:25< Crab_> trademark__: there's around 3 independent copies of recruitment in the code, and, if you'll implement your own, there would be 4. 20120411 14:08:53< Crab_> trademark__: only one of them is used, it depends on default ai config, and the mapping on the cpp side is in src/registry.cpp 20120411 14:09:14< Crab_> trademark__: I'll be afk for ~20 minutes, I'll be glad to answer questions after that. 20120411 14:09:53< trademark__> Crab_, thank you, np. 20120411 14:10:04< Crab_> trademark__: aspect_recruitment delegates recruitment execution to a separate block of code called something like 'default ai recruitment', but provides it's own evaluation. 20120411 14:10:20< Crab_> that separate block of code is in src/ai/default/ directory 20120411 14:12:42-!- Elvish_Pillager [~eli@dhip-149.coburn.residences.colby.edu] has joined #wesnoth-dev 20120411 14:27:14< trademark__> Crab_, ok, and we select one of these algo in a WML tag ? Which one is used for the campaigns, and AI in local game ? Are there all used ? If I want to implement everything I propose in my proposal, should I modify one of these ? If yes, which one ? If no, should I restart from zero ? 20120411 14:33:18< Crab_> trademark__: yes, we use WML to select one of those. 20120411 14:33:32< Crab_> trademark__: check http://svn.gna.org/viewcvs/wesnoth/trunk/data/ai/utils/default_config.cfg?view=markup 20120411 14:34:18< Crab_> and http://svn.gna.org/viewcvs/wesnoth/trunk/data/ai/ais/testing_ai_default.cfg?view=markup 20120411 14:34:33< Crab_> and http://svn.gna.org/viewcvs/wesnoth/trunk/data/core/macros/ai_candidate_actions.cfg?view=markup 20120411 14:35:04< Crab_> testing_ai_default.cfg is the 'default config' at this time 20120411 14:35:19< Crab_> it has line 11, {AI_CA_RECRUITMENT} 20120411 14:35:54< Crab_> this macro, in ai_candidate_actions.cfg , line 57, resolves to engine=cpp name=testing_ai_default::aspect_recruitment_phase 20120411 14:36:44< Crab_> then, check http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/registry.cpp?view=markup 20120411 14:37:07< Crab_> WML string 'testing_ai_default::aspect_recruitment_phase' is handled by testing_ai_default::aspect_recruitment_phase C++ class 20120411 14:37:18< Crab_> this class delegates recruitment execution to an aspect of type 'stage' 20120411 14:37:33< Crab_> so, we look at testing_ai_default to see if the aspect has any value set, we find none 20120411 14:37:44< Crab_> then, we look into default_config.cfg to see if there's a default value 20120411 14:38:14-!- enchilado [~enchilado@defocus/yummy/enchilado] has quit [Quit: BBL->] 20120411 14:38:40< Crab_> default_config.cfg , line 65, has [aspect] with a default facet with value of engine=cpp name=ai_default::recruitment 20120411 14:38:58< Crab_> to find the "WML string => C++ class" mapping, we look into registry.cpp again 20120411 14:39:17-!- neph_ [~neph@02de475b.bb.sky.com] has joined #wesnoth-dev 20120411 14:39:41< Crab_> at registry.cpp, line 71, we find out that "ai_default::recruitment" is handled by ai_default_recruitment_stage 20120411 14:40:27< Crab_> then, we search for this class in the code, and find it in http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/default/ai.hpp?view=markup and http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/default/ai.cpp?view=markup 20120411 14:40:51< Crab_> trademark__: that's it. 20120411 14:41:12< Crab_> trademark__: for your proposal, I would ask you to add your own recruitment aspect 20120411 14:42:06< Crab_> trademark__: that would require (if coded in C++) adding a new .hpp file, a new .cpp file, a new registry.cpp entry, a new entry in AI config file 20120411 14:42:54< Crab_> trademark__: I suggest editing http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai/testing/ca_testing_recruitment.cpp?view=log (and .hpp) and deleting/changing everything inside 20120411 14:43:33< trademark__> this one is obsolete ? 20120411 14:43:34< Crab_> that way, the registry.cpp entry is already done for you, you'll use the same class name, but, you'll not need to add files to buildsystem at the start (since they're already in) 20120411 14:43:40< Crab_> trademark__: that one is not finished at all. 20120411 14:43:58< trademark__> and no one want to finish it ? 20120411 14:43:59< Crab_> trademark__: it's like a work-in-progress that was not completed, you can delete it's contents 20120411 14:44:11< trademark__> ok thanks for the tip. 20120411 14:44:19< trademark__> it's really exciting :D 20120411 14:44:22< Crab_> trademark__: I don't have enough time, so that's why I've added a GSoC project to help me with that. 20120411 14:45:12< trademark__> ok, you are the one who takes care of the entire AI or are there others who helps you that I don't know ? 20120411 14:45:33< Crab_> trademark__: also note that during the course of the project, there would be a need to create several AI recruitment versions, to see which one is better by letting them play against each other 20120411 14:46:12< trademark__> ok, shoudl we add tests in the AI arena too ? 20120411 14:46:21< Crab_> trademark__: if you would need them. 20120411 14:46:40< Crab_> basically, my approach to test is 'code them if you need them, if they would save time for you' 20120411 14:47:00< trademark__> ok :) 20120411 14:47:18< Crab_> i.e., it's rather easy to launch ai arena from command-line, saving you the time to set things up. 20120411 14:48:16< Crab_> trademark__: about the code - I would say that the C++ code is also know to Nephro (neph_), who was a gsoc student last year, and the lua ai code has some power users such as mattsc. 20120411 14:49:26< trademark__> ok, 20120411 14:49:36-!- Dokem [8176d78c@gateway/web/freenode/ip.129.118.215.140] has quit [Ping timeout: 245 seconds] 20120411 14:49:55< trademark__> I'm coming back in few times, if I have questions I'll leave a message for you ;) Thank you very much for all the helps. 20120411 14:54:02< Crab_> trademark__: ok. I would recommend you to continue to update the proposal, it's important. (but ping the mentors in the google's tracker after changes) 20120411 14:54:41-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 14:56:03< Crab_> Akihara, Teugon, HappyKsuh, Dokem, Maheshakya: ^ the explanation about the recruitment stage (slightly earlier in the logs) might be useful. 20120411 14:56:50-!- Crab_ [Crab_@wesnoth/developer/crab] has quit [Quit: Crab_] 20120411 15:07:03-!- bloodycoin [~bloodycoi@193.170.132.181] has quit [Ping timeout: 265 seconds] 20120411 15:07:55< matthiaskrgr> 20120411 15:02:47 error engine: A [recall] tag with the following content failed: 20120411 15:07:58< matthiaskrgr> id = Baglur 20120411 15:09:05< matthiaskrgr> during thot 20120411 15:13:16< AI0867> that can happen 20120411 15:13:20< AI0867> baglur is allowed to diee 20120411 15:13:23< AI0867> s/diee/die 20120411 15:13:43< matthiaskrgr> mh ok 20120411 15:13:47< AI0867> though I guess it could be wrapped in a test to see whether he's still alive 20120411 15:14:03< matthiaskrgr> so he wouldn't say anthing important? 20120411 15:14:04-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 15:14:10< AI0867> nope 20120411 15:14:17< matthiaskrgr> ok :) 20120411 15:14:23< matthiaskrgr> I also noticed there is some kind of flickering sometimes 20120411 15:14:38-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 15:14:51< matthiaskrgr> looks like neightbor terrain hexes overlaying the health bar or something like that 20120411 15:16:28-!- chpln [~chpln@ppp59-167-91-125.static.internode.on.net] has quit [Read error: Operation timed out] 20120411 15:21:36-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 15:22:08-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 15:29:48-!- chpln [~chpln@ppp59-167-91-125.static.internode.on.net] has joined #wesnoth-dev 20120411 15:41:06-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20120411 16:08:21-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20120411 16:12:04-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Read error: Connection reset by peer] 20120411 16:28:35-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has joined #wesnoth-dev 20120411 16:35:27-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has joined #wesnoth-dev 20120411 16:39:08-!- bloodycoin [~bloodycoi@193.170.124.203] has joined #wesnoth-dev 20120411 16:43:44-!- yigit [~yigit@139.179.175.121] has joined #wesnoth-dev 20120411 16:43:51-!- yigit is now known as Artemius23 20120411 16:44:44-!- horon [~horon@nttkyo322045.tkyo.nt.ngn2.ppp.infoweb.ne.jp] has quit [Quit: Leaving...] 20120411 16:46:24-!- bloodycoin [~bloodycoi@193.170.124.203] has quit [Ping timeout: 260 seconds] 20120411 16:48:03-!- Blah [Blah@nusnet-185-111.dynip.nus.edu.sg] has joined #wesnoth-dev 20120411 16:50:28-!- neXyon [~neXyon@84-119-56-88.dynamic.xdsl-line.inode.at] has joined #wesnoth-dev 20120411 16:55:11-!- leonid [~leonid@111.193.201.234] has quit [Quit: Leaving] 20120411 16:56:10-!- negusnyul [~negusnyul@dsl4E5CD33A.pool.t-online.hu] has joined #wesnoth-dev 20120411 17:01:13-!- Teugon [~Teugon__@93-42-149-239.ip87.fastwebnet.it] has joined #wesnoth-dev 20120411 17:03:29-!- vultraz [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120411 17:16:49-!- Elvish_Pillager [~eli@dhip-149.coburn.residences.colby.edu] has quit [Ping timeout: 245 seconds] 20120411 17:25:41-!- apoi [~andi@85-126-180-242.volume.xdsl-line.inode.at] has quit [Read error: No route to host] 20120411 17:28:04-!- apoi [~andi@85-126-180-242.volume.xdsl-line.inode.at] has joined #wesnoth-dev 20120411 17:43:29-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )] 20120411 17:50:25-!- bloodycoin [~bloodycoi@193.170.135.222] has joined #wesnoth-dev 20120411 17:53:50-!- aknahs [~aknahs@cisne-cn10.upc.es] has joined #wesnoth-dev 20120411 17:55:49-!- Upthorn [~ogmar@108-85-91-228.lightspeed.frokca.sbcglobal.net] has quit [Ping timeout: 260 seconds] 20120411 18:06:39-!- aknahs [~aknahs@cisne-cn10.upc.es] has quit [] 20120411 18:07:54-!- neph_ [~neph@02de475b.bb.sky.com] has quit [Read error: Connection reset by peer] 20120411 18:09:18-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has quit [Quit: Computer has gone to sleep.] 20120411 18:10:05-!- Nephro [~Dmitry@02de475b.bb.sky.com] has joined #wesnoth-dev 20120411 18:14:22< CIA-69> nephro * r53901 /trunk/src/ai/lua/core.cpp: LuaAI: renamed first and second to src and dst respectively, in the movements table of the exposed attacks vector 20120411 18:14:45-!- vultraz [~chatzilla@124.109.10.221] has quit [Ping timeout: 248 seconds] 20120411 18:33:37< Nephro> Are there any scenario developers online, who need/do AI customization for their scenarios? 20120411 18:35:21< Nephro> I would like to discuss your common problems and what tools might boost your work, e.g. ingame debug screens and/or AI current action/decision information dumps 20120411 18:38:14-!- Samual [diotecktec@c-71-195-88-69.hsd1.pa.comcast.net] has quit [Ping timeout: 248 seconds] 20120411 18:39:22-!- matthiaskrgr [matthiaskr@184.171.255.77] has quit [Quit: GeekBouncer - http://geekbouncer.co.uk] 20120411 18:45:57-!- Samual [diotecktec@c-71-195-88-69.hsd1.pa.comcast.net] has joined #wesnoth-dev 20120411 18:48:30-!- matthiaskrgr [matthiaskr@184.171.255.77] has joined #wesnoth-dev 20120411 18:49:44-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has joined #wesnoth-dev 20120411 18:56:50-!- avrilfanomar1 [~omar@91.202.129.129] has joined #wesnoth-dev 20120411 19:02:24-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20120411 19:02:42-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120411 19:05:16< CIA-69> nephro * r53902 /trunk/ (3 files in 3 dirs): LuaAI: rewired caching functions to ai.get_*() instead of ai.get_cached_*() 20120411 19:11:03-!- gabba [d8623925@gateway/web/freenode/ip.216.98.57.37] has joined #wesnoth-dev 20120411 19:12:09-!- gabba [d8623925@gateway/web/freenode/ip.216.98.57.37] has quit [Changing host] 20120411 19:12:09-!- gabba [d8623925@wesnoth/developer/gabba] has joined #wesnoth-dev 20120411 19:21:23-!- mattsc [~mattsc@fw.hia.nrc.ca] has joined #wesnoth-dev 20120411 19:22:27< Nephro> hi, mattsc, be sure to check out the latest revision, I did the renaming you asked for 20120411 19:22:59< mattsc> Hi, Nephro, I saw that. I'll check it out in a little while. 20120411 19:24:12-!- trademark__ [~trademark@cust-240-216-111-94.dyn.as47377.net] has quit [Ping timeout: 246 seconds] 20120411 19:25:39< Nephro> mattsc, also, please don't try to store attacks from the newly exposed vector anywhere. That may lead to segfaults, I haven't addressed this issue yet 20120411 19:26:17-!- happygrue_ [~quassel@wesnoth/developer/wintermute] has quit [Read error: Connection reset by peer] 20120411 19:26:45< mattsc> Nephro: thanks for the warning. It might segfault if the attack the pointer points to has changed, did I understand that correctly? 20120411 19:27:51< Nephro> yes, whilst you get an attack vector you may use it as you want, but if you store an attack somewhere else, and during the next turn you try to rate it, the dereferencing of the dead pointer will probably crash the game 20120411 19:28:55< mattsc> Nephro: ok. Just as a though, since the attack is uniquely identified by the 3 locations in the vector, could you change the rating function so that it uses that information rather than the pointer? 20120411 19:29:09< mattsc> *s/though/thought 20120411 19:30:05< Nephro> mattsc, that is a possible solution, but it would require to search the C++ vector for the right attack object 20120411 19:30:39< mattsc> Nephro: ok. Quite honestly, I don't really care how you do it as long as it works in the end. :D 20120411 19:31:42< Nephro> mattsc, thing is, storing attacks is quite unneeded. Why would someone store an attack for later use, when the attacks vector can be, and probably will be, invalidated 20120411 19:32:08< Nephro> but we have to isolate the possibility of the umc dev to segfault a game 20120411 19:32:56< mattsc> Nephro: agreed. I might store individual attacks out of the vector for the current move evaluation, but if I need it for the next move, I'll have to query it again. 20120411 19:33:04-!- Danceman [~Danceman@a94-132-158-220.cpe.netcabo.pt] has joined #wesnoth-dev 20120411 19:33:20< mattsc> FYI, I won't really get around to doing any hardcore testing of this for at least a few days, more likely it'll be a week or two. 20120411 19:34:17< mattsc> Actually, a question to all the developers out there related to this: 20120411 19:34:22< Nephro> mattsc, that's ok, I must do the testing myself 20120411 19:34:43< Nephro> the only thing I can ask from you is usability testing 20120411 19:34:56< mattsc> Nephro: I'll do some basic testing, but actually using it in a real scenario application is a different story 20120411 19:35:21< Nephro> like with the move maps, when I first exposed them, they worked and I didn't really bother anymore. But you as the user found them unusable. 20120411 19:35:53< mattsc> So, my question: do we have any idea when 1.11.0 might come out? I know there's no date, but are we talking a few weeks, a few months, half a year to a year? 20120411 19:36:01< AI0867> a few months 20120411 19:36:11< Teugon> I'm supposed to add a Lua function in addition to new AI functions. Do I have to add it inside the file "src/ai/lua/core.cpp", inside " static luaL_Reg const callbacks[]" (#591) ? 20120411 19:36:16< mattsc> AI0867, thanks! 20120411 19:36:40< AI0867> basically, the idea is that a release will be made when there's enough difference between it and 1.10 to actually matter 20120411 19:36:57< mattsc> The reason why I am asking: I would really like to start using some of Nephro's additions to Lua AI in my add-on, but I don't want to require the user to have to compile trunk. 20120411 19:37:25< AI0867> and when trunk has settled down a bit from the biggest changes people tend to make just after a stable version is branched off 20120411 19:37:50-!- trademark__ [~trademark@cust-88-232-111-94.dyn.as47377.net] has joined #wesnoth-dev 20120411 19:38:23< mattsc> AI0867: ok, thanks, that makes sense. For the time being, I'll probably just keep parallel version, esp. since I already have workarounds for most of the functionality that has been missing so far. 20120411 19:39:05< AI0867> in practice, it's whenever ivanovic is both available and thinks trunk is ready (and nobody objects) 20120411 19:39:20< AI0867> which means no earlier than may, as he doesn't have internet atm 20120411 19:40:22< mattsc> AI0867: sounds good. I am not trying to push for an early release, just wanted to know how I should plan work on the AI Mods add-on. 20120411 19:40:46-!- oldtopman [~oldtopman@unaffiliated/oldtopman] has joined #wesnoth-dev 20120411 19:41:05< Nephro> mattsc, if I get accepted in gsoc, I'll put all my effort to finalize the LuaAI by July 9th, including all the testing and documentation. I think that might be a good time to start using it for release content. If I don't get accepted I will have to look for a job, and then I'm not sure how much time I'll be able to invest 20120411 19:41:29< mattsc> Teugon: you mean a new Lua function that's written in C++? 20120411 19:41:52-!- avrilfanomar1 [~omar@91.202.129.129] has quit [Ping timeout: 276 seconds] 20120411 19:43:02< mattsc> Nephro: thanks, sounds good. Although I'd probably start using it (for real, I mean) before then, so that I can give you feedback while you're still working on it. 20120411 19:43:03-!- neXyon [~neXyon@84-119-56-88.dynamic.xdsl-line.inode.at] has quit [Quit: bye] 20120411 19:43:30< Nephro> Teugon, that structure is used to extend Lua with functions written in C++. If you want to register a new function written in Lua, you would have to do that in data/ai/lua/stdlib.lua 20120411 19:45:16-!- neXyon [~neXyon@84-119-56-88.dynamic.xdsl-line.inode.at] has joined #wesnoth-dev 20120411 19:46:42< Nephro> mattsc, a solution for that might be a version control system. You can use git for example, to have two branches of your scripts, one using the workarounds and one using clean new functionality. The first one, you can deploy immediately to the users, the second one would wait for the release, on which LuaAI becomes "official" 20120411 19:48:06< Teugon> Nephro: so, for the task: "Add an ai action (and add lua function to do that) to set a goto on a unit" do I have to write it like a lua one in data/ai/lua/stdlib.lua? Or should I do it it the file: "src/ai/lua/core.cpp" ? 20120411 19:48:17< mattsc> Nephro: thanks, that's an idea. It might be overkill for what I am doing though. :) I'll see how it goes and decide later. 20120411 19:49:10< Nephro> mattsc, well, it might seem like doing double work, but actually, if you have written workarounds for attacks for example, you just replace the whole block of code with ai.get_attacks() and that's all you have to do to maintain the 2nd branch 20120411 19:50:08< Nephro> it certainly is additional work, but it will be much easier, when LuaAI is released as official, no rewriting will have to be done then 20120411 19:50:38< Nephro> Teugon, what does "set a goto on a unit" mean? 20120411 19:50:53< mattsc> Nephro: yes, that's what I was thinking. The main "problem" is that I didn't know what format the attacks vector would have, so they aren't necessarily consistent atm. But that's really minor. 20120411 19:52:35< Nephro> yes, I am really feeling bad, for me being gone for almost a year. The LuaAI should have been completed already and you wouldn't have to invent all those workarounds. But that's a different story, it's not really my fault I couldn't be here 20120411 19:54:12< mattsc> Nephro: I wasn't complaining. What's there already is really useful. And it's hard to develop something that doesn't have users that can test it. 20120411 19:55:59< Teugon> it is one of the easyCoding stuff, I would like to be a GSoC too. Do you know anything about where to put? 20120411 19:56:30< Teugon> Nephro: it is one of the easyCoding stuff, I would like to be a GSoC too. Do you know anything about where to put? 20120411 19:56:33-!- avrilfanomar1 [~omar@91.202.129.145] has joined #wesnoth-dev 20120411 19:57:28< Nephro> :) Yes, there wasn't anyone around to actually use the system, but that's mostly because there was nothing to use. And last year I had a somewhat different mindset about LuaAI. As you maybe know, it was only the mandatory part of my project. I actually planned to implement and observer structure, that would work in a different thread and evaluate the move the AI is planning to make, but sadly I never got to that 20120411 19:57:52< Nephro> Teugon, I'll check out what's written on the page 20120411 19:58:38< Teugon> is there anyone else who knows about where to put new lua AI functions ? 20120411 19:59:39< mattsc> Teugon, if you write the function in Lua, I can help (but Nephro already answered it up there ^ for that case). If you write it in c++, I cannot. 20120411 20:00:43< Nephro> I really don't understand, what is meant by saying "setting a goto on a unit". Sounds more like a parameterized candidate action(sticky one) 20120411 20:01:10-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20120411 20:01:28< Nephro> something like ai.set_goto_on_a_unit(unit, map_location) and this function generates and adds the candidate action to do that 20120411 20:01:38< Teugon> mattsc: My problem is that I just don't know where to write that function and if I have to write it in C++ or in Lua. 20120411 20:02:06< mattsc> Teugon: at this stage, I think it is up to you. Whatever you are more comfortable with. 20120411 20:02:41< mattsc> Could you describe in a few sentence what functionality you want to accomplish (in a bit more detail than the line on the EasyCoding page). 20120411 20:03:01< mattsc> Between Nephro and myself, we can then probably tell you how you might want to do that. 20120411 20:03:18< Teugon> I've yet written the C++ functions like Crab_ told me inside my version of "src/ai/actions.?pp" and "src/ai/context.?pp" 20120411 20:03:53< Teugon> I've done it like a execute_move_action & Co. 20120411 20:06:31< mattsc> Teugon, ok, so your code is in C++. Which means that unfortunately I cannot help you. Maybe Nephro can, otherwise you might have to wait until Crab_ is back on. 20120411 20:06:52-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 20:07:30< Nephro> Teugon, can you pastebin your functions so I can see what you actually wrote? 20120411 20:08:06< Teugon> sure, just hold on for a sec 20120411 20:10:48-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20120411 20:11:00-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 20:12:50< Teugon> Nephro: here you can find all I've done so far: http://pastebin.com/GKZXezku 20120411 20:14:08< Teugon> tabspace has been screwed up 20120411 20:14:45< Nephro> well 20120411 20:14:58< Nephro> now you have to register it in core.cpp 20120411 20:15:31< Nephro> you will have to add a cfun_* callback function and add it to the callback array 20120411 20:16:08< Nephro> then the function will be accessible in tha ai.* table 20120411 20:16:35< Teugon> Nephro: good to know, thanks 20120411 20:16:36< Nephro> but I still don't understand how is the goto function different from a move function 20120411 20:22:37-!- Elvish_Pillager [~eli@dhip-029.kys.g-wl.colby.edu] has joined #wesnoth-dev 20120411 20:23:19< Nephro> mattsc, btw, I don't really see anything using actions checks. I'll go through the CA's once more to make sure 20120411 20:24:02< mattsc> Nephro: I got the idea from this page: 20120411 20:24:12< Nephro> we certainly need to determine WHY the system is complaining. Then 20120411 20:24:30< mattsc> http://wiki.wesnoth.org/LuaAI_Functions , which, I think, you wrote, didn't you? 20120411 20:24:52< mattsc> Let me dig out the exact error message ... 20120411 20:24:55< Teugon> IMHO It could be done by a kind hack, however if I had to "duplicate" some code for a more understandable function it is ok. 20120411 20:24:55< Teugon> however the function is supposed to be used to get another unit as close as possible to another one. To accomplish it you don't have to move to the "to" location, but to any1 of the 6 adjacent tiles 20120411 20:27:10< Nephro> mattsc, that page was made by me, but it was done like this: I copied the contents of the context header and stripped C++ specific declaration code. That's how I got the list of functions. THen I made the implemented ones bold. :) 20120411 20:27:33< mattsc> Ah, well, I might have been wrong anyway: "error ai/actions: Return value of AI ACTION was not checked. This may cause bugs!" I think that's something else. 20120411 20:28:03< Nephro> mattsc, I'll see what those functions actually do, and expose them if it makes sense 20120411 20:28:58< mattsc> Nephro: ok. My understanding of what they do is this: they take the same arguments as the move/attack/stop_unit functions, and verify whether that's a valid action (whether there is a unit there, whether it's one of yours, etc.) 20120411 20:29:00-!- anonymissimus [~chatzilla@HSI-KBW-078-042-163-105.hsi3.kabel-badenwuerttemberg.de] has joined #wesnoth-dev 20120411 20:29:47< mattsc> So essentially they are a safeguard against making mistakes. I do all those checks myself in the code, so I've never needed them. But there's always the possibility of bugs, of course. 20120411 20:30:19< Nephro> mattsc, ok, but how would the system know if you checked an action before executing it? 20120411 20:30:45< Nephro> a check certainly makes sense, but I don't know what could cause it to complain if something wasn't checked 20120411 20:30:50< mattsc> The system doesn't. But you could use it somehow like this: 20120411 20:30:51< Nephro> I'll dig deeper into it 20120411 20:31:40< mattsc> if check_attack_action() returns true, then do attack else give me a warning but don't crash the game 20120411 20:32:13-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120411 20:32:16< Nephro> mattsc, ok, I'll expose these functions then, they definitely are useful 20120411 20:32:23-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120411 20:33:26< mattsc> Nephro: I think the example above would actually not crash the game, but it would end the AI turn, so yes, it could be useful. 20120411 20:33:40< anonymissimus> a question for git gurus: Is there somethign like a "try revert" action; or something like a git revert --abort option (seems not); when doing git rebase for instance and there are conflicts I can choose to to git rebase --abort and that restores everything as is was before 20120411 20:33:54< mattsc> or at least it would end all attacks 20120411 20:35:23< anonymissimus> otherwise I need to abort the conflict solving process manually by deleting the file and reverting the changes to it (in case I don't choose to solve the conflict however) 20120411 20:35:34-!- yann [~dwitch@nan92-1-81-57-214-146.fbx.proxad.net] has quit [Read error: Connection reset by peer] 20120411 20:36:26-!- yann [~dwitch@nan92-1-81-57-214-146.fbx.proxad.net] has joined #wesnoth-dev 20120411 20:36:41< bloodycoin> Can't you just checkout to the version you want to, ignoring conflicts? 20120411 20:36:42< Nephro> mattsc, ok, the 5 functions will be available after I decide whether I want or don't want to eat and consecutively eat or starve. 20120411 20:37:10-!- Elvish_Pillager [~eli@dhip-029.kys.g-wl.colby.edu] has quit [Ping timeout: 246 seconds] 20120411 20:37:31< mattsc> Nephro: see my comment from a few days ago concerning sleep. It applies to eating also. :) 20120411 20:38:18-!- gabba [d8623925@wesnoth/developer/gabba] has quit [Quit: Page closed] 20120411 20:38:50< anonymissimus> bloodycoin: of course not since I only want to undo single changes 20120411 20:41:03< bloodycoin> you can do git checkout *version hash* *filename* to restore only one file 20120411 20:48:08< anonymissimus> no, seems git reset --hard HEAD pretty much does what I want 20120411 20:48:26-!- Johannes13 [~Johannes@unaffiliated/johannes13] has quit [Read error: Connection reset by peer] 20120411 20:49:40< bloodycoin> hmm... nother option would be "git revert -n" which reverts to revision, and leaves revision you reverted to in working directory. 20120411 20:49:50-!- PolarPanda [~quassel@unaffiliated/peterporty] has joined #wesnoth-dev 20120411 20:52:13-!- happygrue [~quassel@wesnoth/developer/wintermute] has joined #wesnoth-dev 20120411 20:52:43-!- Crendgrim [~crend@77-22-112-72-dynip.superkabel.de] has quit [Quit: Konversation terminated!] 20120411 20:52:50-!- Teugon [~Teugon__@93-42-149-239.ip87.fastwebnet.it] has quit [Quit: This computer has gone to sleep] 20120411 20:55:16-!- Elvish_Hunter [1fbc72bd@gateway/web/freenode/ip.31.188.114.189] has joined #wesnoth-dev 20120411 21:02:44-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has quit [Quit: Leaving.] 20120411 21:03:17-!- _vdn [~nazgul-sa@ppp91-77-237-56.pppoe.mtu-net.ru] has joined #wesnoth-dev 20120411 21:08:47< fendrin> hello 20120411 21:10:57-!- Elvish_Pillager [~eli@dhip-149.coburn.residences.colby.edu] has joined #wesnoth-dev 20120411 21:12:22< mattsc> Nephro: I quickly check your last 2 revisions (first, second -> src, dst) and replacing the get_dstsrc_etc.() functions by the caching system versions) and all seems to work as it should. 20120411 21:14:07< mattsc> A couple technicalities: 1) There are now a lot of different functions visible in the ai table. Such as 'dst_src_validator', 'is_src_dst_valid', 'get_new_...' as well as the ai.cache table itself. Do you want those to be visible like that? 20120411 21:14:41< mattsc> Some nosy user (like I) might try to use them for purposes that you hadn't intended. 20120411 21:15:42< mattsc> 2) sometimes you use 'dstsrc' in the function names, and sometimes 'dst_src'. I suggest making them all use the same format (and I vote for the former) 20120411 21:23:42< Nephro> mattsc, ok, I will move the validators and everything technical to a table, something like ai.cache_system(). The renamings will be done also. About the checkers, I certainly will expose them today, but there's a little problem in core.cpp with Crab's code. Not a problem, but a point that I don't understand about his design. So the ai.move and ai.attack functions might get their backed modified as well 20120411 21:25:28< Nephro> I think I'll take initiative and redo a bit of his code without discussing it first, in any case, it can always be reverted 20120411 21:26:01< mattsc> Nephro: I like the ai.cache_system table idea. Especially also because ai.cache can be rather large and makes it harder if one just wants to see the top level function 20120411 21:27:13< mattsc> And as I said, no rush on any of this. What I am currently doing (the messenger code for UtBS) is done with the 1.10 functionality anyway. It will be some time before I get to converting things to the new functionality. 20120411 21:28:51< Nephro> mattsc, to be honest, I don't see a single application of iterating through the ai.* table, besides debug purposes, but what you suggest is undoubtedly a better styling of the code and must be done. 20120411 21:29:42< Nephro> That's why I called it a first draft of the caching system, I just wanted to get it up and running as fast as I could, that's why I didn't bother about where I throw all the system functions 20120411 21:30:18< mattsc> mattsc: yes, debugging is what I mean. It is convenient, but not necessary, if the entire table fits onto the Wesnoth screen (and you don't have to go to the terminal or pop up a scrollable window) 20120411 21:30:54< mattsc> Oops, did I just address that to myself?! :\ 20120411 21:31:05-!- Teugon [~Teugon__@93-42-128-42.ip86.fastwebnet.it] has joined #wesnoth-dev 20120411 21:31:31< Nephro> mattsc, you did :) 20120411 21:32:03< mattsc> Nephro: understood, and it's great to have it. But me commenting on it is ok, right? ;) (You don't need to apologize all the time that it isn't perfect yet) 20120411 21:33:37< Nephro> mattsc, as I said, your comments have great value for me, because I often miss out on things like that. 20120411 21:34:30< Nephro> e.g. the inconsistency of naming (dst_src, dstsrc) would remain there forever if you wouldn't point it out. 20120411 21:34:45< mattsc> Nephro: cool. I'll keep bugging you then! 20120411 21:36:17-!- Elvish_Hunter [1fbc72bd@gateway/web/freenode/ip.31.188.114.189] has quit [Quit: Ciao!] 20120411 21:40:26-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20120411 21:43:40-!- Blah [Blah@nusnet-185-111.dynip.nus.edu.sg] has quit [] 20120411 21:48:09-!- naman22 [naman22@1.22.185.53] has joined #wesnoth-dev 20120411 21:50:28-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Read error: Connection reset by peer] 20120411 21:53:12-!- Crab_ [~Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20120411 21:53:16-!- Crab_ [~Crab_@wesnoth/developer/crab] has left #wesnoth-dev [] 20120411 21:53:21-!- Crab_ [~Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20120411 21:53:25-!- Crab_ [~Crab_@wesnoth/developer/crab] has left #wesnoth-dev [] 20120411 21:54:02-!- Crab_ [~Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20120411 21:54:59-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20120411 21:56:58< Crab_> Nephro, mattsc check_FOO is way better that any checks you can do yourself, because it should be more-or-less full list of checks (i.e., attack has 9+ checks, I doubt that your code checks all of them in lua, and if you miss a check, the CA would be blacklisted till end of turn if the failed action was everything that we've tried to do in this CA). 20120411 21:57:01< Crab_> also, if we ever manage to cleanup the mess with action validation in the code, then we'll have a proper unified system for checking action validity shared by AI/UI/whiteboard. 20120411 21:58:02< mattsc> Crab_: ok 20120411 21:58:08< Nephro> Crab_, hi. I wanted to ask: why do you call ai::actions::execute_* from core.cpp callbacks, instead of making the call through the context? 20120411 21:58:59< Nephro> Making these calls through the context seems like a more consistent design solution 20120411 22:01:12< Crab_> Nephro: I think that the stuff was done before context was exposed. 20120411 22:01:21< Nephro> Crab_, should I fix that up? 20120411 22:01:32< Crab_> yes, would make sense. 20120411 22:01:38< mattsc> Crab_: while you're talking about black listing, do you have time for a silly question about candidate actions? There's something that I apparently don't understand. 20120411 22:01:52< Crab_> mattsc: ask 20120411 22:02:25< mattsc> I read somewhere (on the wiki, I think), that CAs get blacklisted if they fail to change the game state during execution. Is that correct so far? 20120411 22:02:43< mattsc> blacklisted for the remainder of the turn, I mean 20120411 22:03:25< Crab_> Nephro: btw, in ai_execute_move, in core.cpp, there's a stray indent, please fix it when you'll have the chance 20120411 22:03:43< Nephro> Crab_, it's done already, I just didn't commit it yet 20120411 22:03:49< Crab_> Nephro: thanks 20120411 22:05:13< Crab_> mattsc: yes 20120411 22:06:13< mattsc> ok, I think I can explain best what I want to ask with an example. Let's say we're on Turn 2, beginning of an AI move, the leader having recruited a full keep on Turn 1. I'll only consider recruitment and move-to-targets. 20120411 22:06:51< Nephro> Crab_, about your comment on my application. There seems to be a misunderstanding about the "documentation" section. I've updated it, so it makes clear, what I meant. 20120411 22:07:16< mattsc> Turn 2, first AI move. recruitment CA has the higher eval score, so execution gets called first, but cannot do anything (because the keep is full). So the AI moves on to MTT, which clears a spot on the keep, where the AI then recruits a new unit. 20120411 22:07:34< mattsc> So, why was recruitment not blacklisted there, since it didn't do anything? 20120411 22:07:40-!- tyrannodogg [~tyrannodo@ip-131-23.travedsl.de] has joined #wesnoth-dev 20120411 22:07:49< Crab_> 'so execution gets called first' - wrong 20120411 22:08:45< Crab_> it won't get called, because recruitment CA only returns high eval score when it's possible to recruit. 20120411 22:08:55 * Nephro afk 30 minutes @ shop 20120411 22:09:10< Crab_> mattsc: look at http://pastebin.mozilla.org/1564486 20120411 22:10:25< mattsc> Ok, so that fact that the score is hard-coded in macros/candidate_actions.cfg does not mean that the evaluation always returns that score for the cpp engine CAs... 20120411 22:10:35-!- Upth [~ogmar@69.62.144.56] has joined #wesnoth-dev 20120411 22:10:35-!- Upth is now known as Upthorn 20120411 22:10:36< mattsc> That's what I had misunderstood. 20120411 22:10:45< mattsc> Ok, thanks! I get it now. 20120411 22:11:36< Crab_> mattsc: yes, that's the case 20120411 22:11:42< mattsc> That means that I had understood correctly how CAs work, just not how the cpp CAs are implemented. Thanks! 20120411 22:20:02-!- csarmi [csarmi@94-21-126-219.pool.digikabel.hu] has joined #wesnoth-dev 20120411 22:20:58-!- Artemius23 [~yigit@139.179.175.121] has quit [Quit: Ex-Chat] 20120411 22:24:23-!- Dokem [8176d798@gateway/web/freenode/ip.129.118.215.152] has joined #wesnoth-dev 20120411 22:31:15< Teugon> Crab_: I need to add the lua function in order to complete my task, I'm watch ai/lua/core.cpp but what's there it's simply undocumented. Is there any documentation I'm missing ? 20120411 22:32:04-!- neXyon [~neXyon@84-119-56-88.dynamic.xdsl-line.inode.at] has quit [Quit: bye] 20120411 22:33:03 * Nephro back 20120411 22:33:52< Crab_> Teugon: no, there's little documentation on specific wesnoth luaAi stuff. ask Nephro or me. 20120411 22:34:12< Crab_> Teugon: but, there's some docs on integrating lua with c++, they're on the lua homepage 20120411 22:34:47< Crab_> Teugon: to 'get it', you should understand the concept of 'lua stack' and see what is being done to the stack by each of the lua C api functions. 20120411 22:35:28-!- neXyon [~neXyon@84-119-56-88.dynamic.xdsl-line.inode.at] has joined #wesnoth-dev 20120411 22:39:45< Teugon> Crab_: sorry Crab, but I can't find this lua homepage you're talking about. Can you point me to the link, please? 20120411 22:39:55< trademark__> I'm off, bye bye. 20120411 22:40:16< mattsc> bye, trademark_ 20120411 22:40:27< Crab_> Teugon: http://www.lua.org/ 20120411 22:40:31< Crab_> Teugon: in particular, http://www.lua.org/manual/5.1/manual.html#3 20120411 22:41:45< Crab_> Some time ago, silene, who brought lua to wesnoth, coded a lot of good code (not-ai-related, mostly) in src/scripting/lua.cpp, you can take a look at how things there are implemented. 20120411 22:41:46< Teugon> Oh I thought u were talking about some lua page on wesnoth wiki. 20120411 22:42:06< Teugon> I'll do it 20120411 22:43:12< Crab_> we have some lua pages on wesnoth wiki, yes 20120411 22:43:21< Teugon> Crab_: is this Silene still inside the wesnoth team? 20120411 22:43:31< Crab_> no 20120411 22:43:41< Crab_> http://wiki.wesnoth.org/LuaWML 20120411 22:44:08-!- trademark__ [~trademark@cust-88-232-111-94.dyn.as47377.net] has quit [Ping timeout: 240 seconds] 20120411 22:47:56-!- Dokem [8176d798@gateway/web/freenode/ip.129.118.215.152] has quit [Ping timeout: 245 seconds] 20120411 22:53:53-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20120411 22:59:04-!- Ingeniumed [u5855@gateway/web/irccloud.com/x-lwrxthrnilnuiaqw] has quit [Ping timeout: 252 seconds] 20120411 23:01:14-!- EdB [~edb@37-8-160-97.coucou-networks.fr] has joined #wesnoth-dev 20120411 23:06:32-!- Ingeniumed [u5855@gateway/web/irccloud.com/x-lczngmcpwzigghof] has joined #wesnoth-dev 20120411 23:11:46-!- EdB_ [~edb@37-8-160-97.coucou-networks.fr] has joined #wesnoth-dev 20120411 23:13:10-!- IvanSav [~IvanSav@ns2.ultranet.com.ua] has quit [Quit: IvanSav] 20120411 23:13:28-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 244 seconds] 20120411 23:13:47-!- EdB [~edb@37-8-160-97.coucou-networks.fr] has quit [Ping timeout: 246 seconds] 20120411 23:27:52-!- noy_ [~Noy@S0106602ad0727b65.vw.shawcable.net] has joined #wesnoth-dev 20120411 23:28:01-!- noy_ [~Noy@S0106602ad0727b65.vw.shawcable.net] has quit [Changing host] 20120411 23:28:01-!- noy_ [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20120411 23:30:26-!- noy [~Noy@wesnoth/developer/noy] has quit [Ping timeout: 272 seconds] 20120411 23:30:26-!- noy_ is now known as noy 20120411 23:30:45-!- Appleman1234 [~Appleman1@ppp59-167-222-56.qld.adsl.internode.on.net] has quit [Read error: Connection reset by peer] 20120411 23:31:41-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20120411 23:42:05-!- Johannes13 [~Johannes@unaffiliated/johannes13] has joined #wesnoth-dev 20120411 23:47:14-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20120411 23:48:37-!- neXyon [~neXyon@84-119-56-88.dynamic.xdsl-line.inode.at] has quit [Ping timeout: 248 seconds] 20120411 23:51:47-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Quit: Leaving.] 20120411 23:51:51-!- negusnyul [~negusnyul@dsl4E5CD33A.pool.t-online.hu] has quit [Quit: Konversation terminated!] 20120411 23:53:43-!- Danceman [~Danceman@a94-132-158-220.cpe.netcabo.pt] has quit [Quit: Leaving] 20120411 23:58:16-!- Artemius23 [~yigit@139.179.207.58] has joined #wesnoth-dev --- Log closed Thu Apr 12 00:00:48 2012