--- Log opened Thu Apr 05 00:00:39 2012 20120405 00:01:02-!- negusnyul [~negusnyul@BC0628D2.dsl.pool.telekom.hu] has quit [Quit: Konversation terminated!] 20120405 00:01:33< dream_lane> Crab_: The largest things I've done on FOSS are bugfixes and small feature requests. Which were just git or diff patches submitted to a bugzilla bug report. For these GSoC projects I imagine they will be branches that get merged to the trunk after completion/integration testing? 20120405 00:01:53< dream_lane> sorry for the convo hijack by the way 20120405 00:02:10-!- faryshta [~faryshta@201.137.85.118] has joined #wesnoth-dev 20120405 00:02:17< Crab_> dream_lane: it's ok to hijack, as long as it's kept on topic 20120405 00:02:40< Ayne> hm no, no questions at the moment... writing a more detailed timeline for this will be difficult though i think, as it's really mostly one big task :S 20120405 00:02:54< Crab_> dream_lane: I would prefer the student to work directly on trunk. real coders break trunk (tm) :) 20120405 00:03:35< Crab_> dream_lane: I would need to ensure that any mess is fixable/revertable, if something goes wrong, of course. 20120405 00:03:51< dream_lane> I like that, real coders break trunk haha 20120405 00:03:53< Crab_> dream_lane: but, the student would learn some large-scale refactorings 20120405 00:04:19< Crab_> Ayne: for the timeline, try to figure out a minimal set of changes 20120405 00:04:38< Crab_> Ayne: i.e. try to determine the list of 'mandatory' things to do 20120405 00:07:07< Crab_> Ayne: for example, try to code (in pseudocode) the minimalistic 'determine next scenario' function 20120405 00:07:17-!- mjs-de [~mjs-de@f053188110.adsl.alicedsl.de] has quit [Remote host closed the connection] 20120405 00:07:54< Crab_> Ayne: and then show it to me. I'll tell you some thing like 'we should also do X there', but, as it's pseudocode, it can be fairly high-level. 20120405 00:08:17< Crab_> Ayne: and then, you can compare your pseudocode with current state of playcampaign.cpp 20120405 00:08:35< Crab_> Ayne: but I understand the difficulty of putting a proper timeline here. 20120405 00:08:46< dream_lane> Crab_: I'm for sure going to submit an application for 1 or more of the ideas on the idea page, When I create a timeline, would you and the other mentors like the timeline to start at May 21st? or Sometime during the "Community Bonding Period"? 20120405 00:09:05< Crab_> dream_lane: the timeline should be realistic, it's ok to start on May 21 20120405 00:09:26< Crab_> dream_lane: however, note that to get accepted, you should do quite an amount of work during the application period, as well. 20120405 00:09:36< Crab_> dream_lane: since you're basically doing a 'demo-version' of yourself :) 20120405 00:09:53< Crab_> dream_lane: so, 'May 21: start investigating what to do' is usually bad. 20120405 00:10:05< dream_lane> For sure 20120405 00:10:31< dream_lane> I'm going with the notion in my mind that what I am doing right this second is part of the bonding period 20120405 00:10:33< Crab_> Ayne: if you compare the pseudocode with current state, you can get a list of timeline items from the comparison, by just listing the differences 20120405 00:10:56< Crab_> Ayne: or, you can try other approaches of getting a list of 4-5 'key' items 20120405 00:11:36< Crab_> Ayne: the main point in the timeline, actually, is to determine the 'key' result for the midterm evaluation, and 'key' result for the gsoc project. so, think about 'what should I do to, personally, consider this project a success?' 20120405 00:11:49< Ayne> Crab_: I'll try to add a little more detail to my application and keep familiarizing myself with things, but I can't promise any pseudo code at this point. I'll have to work on my university projects a bit more, deadlines are soon. 20120405 00:12:26< Crab_> Ayne: as I've said earlier, if you feel that there's not enough time, then just create a small 2 scenario campaign for yourself - you'll learn the most this way. 20120405 00:13:12< Crab_> Ayne: since, by doing that, you'll know a lot of issues scenario designers face like 'how should the gold carry over?', 'how to auto-recall a unit by id?' 20120405 00:13:16< Crab_> and it's easier than coding. 20120405 00:14:04-!- csarmi [~csarmi@2E6B859D.catv.pool.telekom.hu] has quit [] 20120405 00:18:18< Ayne> Crab_: I definitely want to do that, I'm just not sure if I'll be able to before Easter. But if the project (and I) get accepted then I have 3 weeks between my last exam and the beginning of GSOC where I can focus completely on familiarizing myself with Wesnoth and the campaigns without any lectures or other projects to get in the way. 20120405 00:18:30-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120405 00:20:19< Crab_> Ayne: be sure to state that part about 3 weeks in your application, it might be considered by other mentors 20120405 00:20:38< Crab_> Ayne: right now it only says that you finish uni in early may 20120405 00:21:06< Ayne> Crab_: ok, I will add that 20120405 00:23:45< Crab_> Ayne: ok, good luck. Just to repeat, creating (or copying) a small campaign seems like the best use of the time as of now. 20120405 00:24:41< Ayne> Crab_: I will remember that. Thanks for your tips and your time. 20120405 00:25:07< Nephro> Crab_, did you get a chance to skim through my page? 20120405 00:25:39-!- MeccaGod [~majs@host189-199.bornet.net] has quit [] 20120405 00:25:57-!- tyrannodogg [~tyrannodo@ip-106-17.travedsl.de] has joined #wesnoth-dev 20120405 00:29:17< Crab_> Nephro: reading 20120405 00:31:30-!- gabba [~gabba@wesnoth/developer/gabba] has joined #wesnoth-dev 20120405 00:33:06< mattsc> Hi. I'm back. 20120405 00:34:02< Crab_> Nephro: read. basically, I agree with most points, but, I would say that it's not really necessary for autowiring of candidate actions to work. a simple wesnoth.ai_for_side(1).register_candidate_action(evaluate_func, execute_func) would be ok. 20120405 00:34:19< Crab_> mattsc: btw, what do you think about syntax like ^ ? 20120405 00:35:17< Nephro> Crab_, isn't this syntax implemented already? 20120405 00:35:39< Crab_> Nephro: make it work if there's no engine=lua at all 20120405 00:35:58< Crab_> Nephro: i.e., with 0 boilerplate code. 20120405 00:36:33< Crab_> some solutions for making this work use global variables and tables, and they do not always work with 2+ ais at the same time 20120405 00:37:11< Crab_> so, doing a 'official' way of making it happen would be good, and autowiring by name is not that important (and autowiring by name is harder to understand) 20120405 00:38:04< mattsc> Crab_, that's fine with me, as long as evaluate_func and execute_func can be "shortcuts" in some way (functions names, included files, etc.) 20120405 00:38:39< mattsc> As in, I'd like to avoid having to use a ) 100s of lines after the opening ( 20120405 00:39:06< Crab_> mattsc: lua has first-class functions 20120405 00:39:31< Crab_> mattsc: so, you can store functions in variables, and later pass them (by name) 20120405 00:39:36< mattsc> yep. so your saying that's built-in already? 20120405 00:39:49< mattsc> Crab_: right. Thanks 20120405 00:39:53< Crab_> yes, it's built-in in lua 20120405 00:39:57< ejls> gabba: Hi 20120405 00:40:24< gabba> Hi ejls 20120405 00:40:50< ejls> gabba: I'm writing my proposal right now and I was wondering, what's remaining of the mapbuilder problem? 20120405 00:41:20< ejls> 'cause actually, after the visitor refactoring and the transfer of the action hierarchy, there not much left. 20120405 00:41:42< Nephro> Crab_, ok, other than that, any suggestions, or maybe you noticed something missing from the original idea? 20120405 00:42:01< ejls> Appart from the porting to the new API, is there something to change in the mapbuilder ? 20120405 00:42:12< Crab_> Nephro: no, it's ok if you consider the mandatory points to be a 'startring point' 20120405 00:42:54< Crab_> Nephro: i.e., it's not ok if you just do the mandatories as quickly as possible and then try to sit around doing nothing because 'all is already done', but it's ok if you do the mandatories quickly and then try to make something fun. 20120405 00:43:08< gabba> ejls: good question 20120405 00:43:15< Crab_> Nephro: And you know that summer is short, so the project doesn't have to be that long 20120405 00:43:16< ejls> (knowing that the validation logic will be in the action hierarchy and that enable_visit_all will be replaced) 20120405 00:43:31-!- Gambit [~gambit@wesnoth/developer/grickit] has quit [Remote host closed the connection] 20120405 00:43:37< ejls> mapbuilder looks fine to me. ;) 20120405 00:43:59< Crab_> Nephro: however, you have an extra challenge to beat because of your last-year gsoc participation - i.e. you should try to impress us somehow. 20120405 00:44:14< gabba> ejls: well, there's still the caching issue 20120405 00:45:06< ejls> What need to be cached? 20120405 00:45:16< gabba> for instance, the highlighter needs to know which is the first action of each unit, and the corresponding hex; 20120405 00:45:40< gabba> as well as the last one, and the last one for this turn 20120405 00:45:48< ejls> Yeah, that's fixed with the replacement of enable_visit_all. 20120405 00:46:12< ejls> What, I thought that the use of an hash was quick enough. 20120405 00:46:19< Crab_> Nephro: I mean , that your knowledge of the codebase is bigger than for all other students, but that means that simply displaying this knowledge and fixing some good bugs tells us little new - we already know how you work and how you program, and so on. 20120405 00:46:27< gabba> enable_visit_all is just an iteration mechanism 20120405 00:46:56< Crab_> Nephro: that means that you still have a good chance of getting in, but, simply keeping the level from previous year might not be enough, you should try to aim higher. 20120405 00:47:00< gabba> I do want it to be replaced with something simpler to follow in the code and to debug, 20120405 00:47:06< ejls> Yeah, but I wanted to replace it with a (badly named) class action_inquirer that was allowing query of action by hex or unit. 20120405 00:47:14< gabba> but it's not the same thing as caching 20120405 00:47:44< gabba> Yeah, please find a better name for that :P 20120405 00:47:58< ejls> yeah, ok, but is hashing necessary? Access by hash is really quick. :D 20120405 00:48:00< gabba> I'm not even sure what's the word you're thinking of in French 20120405 00:48:36< ejls> eheh, I don't know either, I was looking for something "which is doing queries" 20120405 00:48:44< gabba> What I call "caching" is basically updating your hashtables 20120405 00:49:10< anonymissimus> gabba: hi; which file did you add to the project file btw ? 20120405 00:49:36< gabba> query of action by hex or unit is fine, but you need more specific ones like "find first/last action of unit X" 20120405 00:49:39< ejls> I'm not following you, the hash is over all actions, the hashtable is updated when an action is changed. 20120405 00:50:01< Crab_> Nephro: also, some notes on your 'concepts' ai idea 20120405 00:50:19< ejls> yes, for now, the best I can do for this kind of querry is "get all actions of this unit, look at which happen first". 20120405 00:50:38< Crab_> Nephro: the problem with them is that if you're looking for concepts before everything else, you might only find concepts available at the start of the turn, but miss those that would appear to be useful later in the turn 20120405 00:50:47< Crab_> that's the problem with having stages instead of CAs 20120405 00:51:01< ejls> should I use a cache for each unit? 20120405 00:51:03< gabba> ejls: well, you update it whenever you want, but remember that periodically the "gamestate changed" flag is gonna be set, and that means you have to assume that nothing is valid anymore until you check them 20120405 00:51:36< Nephro> Crab_, sounds reasonable(about the idea). But I would have to step off the LuaAI to provide something more exciting. At least I don't see any really exciting things I could do with the LuaAI 20120405 00:52:03< gabba> so let's say you update the action->unit hashtable when an attack is added, and the target unit is removed by a WML event, what are you gonna do about that? 20120405 00:52:43< ejls> the action will be removed at the next validation 20120405 00:52:54< Crab_> Nephro: I meant more about 'doing something exciting during the application period' 20120405 00:53:18< ejls> but it has to be detected before? e.g. on a call to find_first_action_of? 20120405 00:53:33< ejls> (I don't see how to do this even by caching) 20120405 00:53:56< Crab_> gabba: why do you need that action->unit hashtable ? 20120405 00:54:27< mattsc> Nephro: if I understand the concepts concept correctly, I don't see why this cannot be done with LuaAI. In fact, I think I have done (simple) things along those lines. 20120405 00:54:34< Nephro> Crab_, oh, I see... But again, I'd have to step off LuaAI... The caching thingy I'm working on now isn't nothing too sophisticated, the bugs mattsc discovered are kind of trivial too 20120405 00:54:44< ejls> Oh actually, it's an unit->action one. 20120405 00:54:48< CIA-69> alarantalara * r53778 /trunk/data/campaigns/Under_the_Burning_Suns/scenarios/01_The_Morning_After.cfg: apply some variable cleanup from UtBS:Eftboren 20120405 00:54:49< gabba> ejls: the way I do it now is by making sure all calls to the whiteboard include a preliminary validation 20120405 00:55:11< Crab_> ok, unit->action is slightly more useful 20120405 00:55:15< gabba> Crab_: yeah, maybe not the best example 20120405 00:55:16< mattsc> I haven't had time to read it in detail yet though... 20120405 00:56:01< gabba> that is, validation if the gamestate changed flag has been set 20120405 00:56:14< ejls> Hum, yeah I saw this in manager::validate_actions_if_needed. 20120405 00:56:16-!- Johannes13 [~Johannes@unaffiliated/johannes13] has quit [Ping timeout: 276 seconds] 20120405 00:56:37< Nephro> mattsc, well, yes, the framework is ready for that, I just wanted to move the management part to C++, for higher performance, and wire that to the current system, so that it's "something that already is there" not "something you have to setup each time" 20120405 00:56:53< Crab_> gabba: the way I do it in AI is to make sure all 'access' to data structures that can be no longer valid is automatically triggering reevalation if gamestate_change event was fired before 20120405 00:57:14< Crab_> gabba: so the caller can just call the function without caring if it's valid or not 20120405 00:57:18< mattsc> Nephro: ok 20120405 00:58:04< Crab_> gabba: i.e., if I need to get a srcdst map, I just call get_srcdst() (and dont' cache the results), and I know that I'll get a preevaluated copy if nothing has changed, or I'll get a newly evaluated copy if there were changes. 20120405 00:58:17< gabba> Crab_: that's pretty much what I do, except that the places where I make my validation fire could maybe be better chosen (presumably closer to the side_actions object) 20120405 00:58:37< Crab_> gabba: yes, close to the object which contains the data 20120405 00:59:24< gabba> ejls: well, to come back to your original question, I don't think there's much else to change in the mapbuilder 20120405 00:59:51< Crab_> gabba: I had it like http://pastebin.mozilla.org/1554047 20120405 01:00:08< ejls> Ok, I'll include a week in my timetable for it, but otherwise, most of the work on it will be done when refactoring other parts. 20120405 01:00:17< gabba> besides checking the use of the visitor pattern to make sure it's closer to the GoF design pattern or at least well-explained if it differs 20120405 01:02:27< ejls> Ok, yes. Also, it makes sense to move it to the core with the action hierarchy, this will allow other modules to use it without modifying the actions classes. 20120405 01:03:23< gabba> you mean the mapbuilder functionality? I don't see what else would use it besides the whiteboard. 20120405 01:05:45< ejls> I don't know how others modules could use it, but anyway if the action hierarchy is moved to the core, the visitor needs to be moved there too… 20120405 01:06:09< ejls> It doesn't "need" it but it makes more sense. 20120405 01:06:32< gabba> well it's true that a visitor is intrusive 20120405 01:06:41< gabba> so the actions will have a reference to it either way 20120405 01:06:44< ejls> Crab_: could you give an example on how you would like to use the actions classes? 20120405 01:07:17< Nephro> Crab_, so, any suggestions of what I might try to tackle during the period? I had nothing planned besides the caching system and the bugfixes 20120405 01:07:23< gabba> But you can just have the abstract visitor in the core and then the whiteboard-specific implementation in well, the whiteboard 20120405 01:07:33< anonymissimus> gabba: could you please answer my question ? (the diffviewer doesnt work for that case) 20120405 01:07:42< gabba> anonymissimus: sorry, kinda missed it 20120405 01:07:42< ejls> gabba: yes, of course. 20120405 01:07:43< Crab_> ejls: see src/ai/testing/ca.cpp, i.e., search for check_attack_action() 20120405 01:07:49< ejls> Crab_: thanks. 20120405 01:08:25< gabba> anonymissimus: checking 20120405 01:08:25< Crab_> ejls: combat_phase::execute is the most interesting place, since there I do two actions at once if it's an attack-move. 20120405 01:08:55< Crab_> Nephro: ask other mentors like mordante, gabba, and boucman 20120405 01:09:15< ejls> Crab_: hum, yes but you would use it only for action validation/execution? 20120405 01:09:36< Crab_> ejls: what else do you need from an action ? 20120405 01:10:00-!- thethomaseffect [~thethomas@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has quit [Ping timeout: 246 seconds] 20120405 01:10:11< Crab_> ejls: also note, that actions fire gamestate change events automatically during execution 20120405 01:10:14< ejls> Crab_: Well, the AI I don't know, but the whiteboard needs to highlight them for example. 20120405 01:10:28< Crab_> ejls: you can just do a foreach on a list :) 20120405 01:10:59< Crab_> or you can wrap them in your 'actions' 20120405 01:11:07< Crab_> note that wrapping does avoid duplication of concerns 20120405 01:11:46< Crab_> i.e., action might handle validation/execution, but some other class/function might contain info needed to draw them 20120405 01:12:12-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20120405 01:12:24< gabba> Nephro: well, one thing I had in mind was extracting the AI gamestate change events and making them more generic so the whiteboard and other parts of the code can subscribe to notifications of when a unit, the gamemap, the unit map, etc, changes. 20120405 01:12:34< ejls> yes, but then you would have to use specific function for child classes (recall, moves, ...), and that's needing a visitor. Which is why I was asking you. :) 20120405 01:12:35< Crab_> Nephro: for me, I would like to see old bugs fixed, insofar as possible; and I would like to have some useful examples of as-boilerplateless-as-possible lua AI in mainline 20120405 01:13:09< ejls> Crab_: thanks. 20120405 01:13:22< gabba> ejls: btw, what I just told to Nephro could be added to your optional/"If I'm twiddling my thumbs" list, but I think you have your plate full already :P 20120405 01:13:31< mattsc> Nephro: I second that second part by Crab. Not that my opinion counts anything for this. :) 20120405 01:13:48< Crab_> mattsc: well, we do love our users :) 20120405 01:14:04< Crab_> mattsc: that's why we provide a brand new set of bugs to them every new release :))) 20120405 01:14:33< mattsc> I already got the impression that you guys are a friendly bunch. :D 20120405 01:14:43< Crab_> ejls: why do you need a visitor there? 20120405 01:15:10-!- thethomaseffect [thethomase@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has joined #wesnoth-dev 20120405 01:15:11< ejls> gabba: yes, it would be great though, but most of my tasks are dependent on each others, so I'll have to hurry. 20120405 01:15:37< ejls> Crab_: if everyone has to add their virtual function to the action class it'll quickly become messy. 20120405 01:15:59< ejls> The visitor will allow easy addition of function. :) 20120405 01:16:23< gabba> ejls: yes, and I really insist on 95% of the work being finished by midterms, otherwise I know from experience that the end of GSoC will be rushed and not fun 20120405 01:17:25< Crab_> ejls: yes, if you want to do something truly distinct for each action, having actions visitable would make things easier 20120405 01:17:28< Nephro> Crab_, you've confused me :) Do you want me to provide boilerplateless Lua in mainline before 8th of April? I thought getting rid of bc is the main idea for the summer project. About the bugs, I'll fix them, but there's really nothing impressive there(if we're talking about the AI bugs) 20120405 01:17:41< gabba> anonymissimus: unit_animation.hpp 20120405 01:18:00< Crab_> Nephro: ' Do you want me to provide boilerplateless Lua in mainline before 8th of April?' that would surely impress me :)) 20120405 01:18:25< Nephro> gabba, do I understand correctly, that the gamestate change code is currently specific for the AI, but other parts want to use that code? 20120405 01:18:27< Crab_> Nephro: but, on a more serious note, I would recommend to talk with other mentors just in case they'll suggest something interesting 20120405 01:18:29 * ejls kneel. 20120405 01:18:35< ejls> gabba: I'll do my best, Oh whiteboard master! ;) 20120405 01:18:59< gabba> anonymissimus: somehow WinMerge correctly diffs the files while TortoiseMerge doesn't, I guess I screwed up something like encoding with the commit, but I don't know how... Windows shenanigans. 20120405 01:19:09-!- Samual [diotecktec@c-71-195-88-69.hsd1.pa.comcast.net] has quit [Ping timeout: 260 seconds] 20120405 01:19:22< Crab_> ejls: however, a question is, why do you need to visit the actions? 20120405 01:19:48< Crab_> ( I mean, "what is the 'root cause'?" ) 20120405 01:19:50 * gabba strikes a lordly pose (and then slips on a nearby banana peel, completely destroying the effect) 20120405 01:20:17< Crab_> gabba: use planning mode to not step on bananas :) 20120405 01:20:19< anonymissimus> gabba: alright 20120405 01:20:33< gabba> Crab_: :D 20120405 01:20:41< Nephro> Crab_, I might as well accept that challenge, but then caching and bugs will have to wait... Also, one of the 3 summer tasks will be gone 20120405 01:20:57< Crab_> Nephro: we'll find other stuff to be do, it's ok. 20120405 01:21:00< anonymissimus> gabba: np, due to my local EOL settings I the diffing doesnt work for me in this case 20120405 01:21:31-!- Gambit [~gambit@wesnoth/developer/grickit] has joined #wesnoth-dev 20120405 01:21:33< ejls> Right now the visitor in the whiteboard is not really looking like a visitor :). But the root cause is simply, "add function easily", it's the goal of the visitor… 20120405 01:21:43< anonymissimus> (unfortunately, MSVC forces to write CRLF in its projectfiles while writing) 20120405 01:21:46< ejls> (read virtual functions) 20120405 01:22:07< anonymissimus> while that's not the case for source files 20120405 01:22:08< gabba> Nephro: yes, basically Crab_ self-notifies himself that the game state changed, and I'd like some sharing of that goodness ;) 20120405 01:22:54< Crab_> gabba: it'd be harder for you, because I do it only on AI turn, so I know that the only changes possible are caused by AIs own actions. 20120405 01:23:21< ejls> Otherwise, you could use multiple inhertance… like class whiteboard_attack: public attack, public whiteboard_action{… you think it would be better? 20120405 01:23:36< Crab_> ejls: no, I'm just thinking. 20120405 01:24:08< Crab_> ejls: And the question is, what do you need to do with those actions that needs visiting them? just let some other part of the whiteboard do some drawing for each action, based on type of the action? 20120405 01:24:39-!- Samual [diotecktec@c-71-195-88-69.hsd1.pa.comcast.net] has joined #wesnoth-dev 20120405 01:24:41< ejls> yes, it's in highlighter_visitor. 20120405 01:24:52< Crab_> do you have any other visitors? 20120405 01:25:18< ejls> Right now, the validation is done by a visitor, but it'll be moved in the action hierarchy. 20120405 01:26:10< ejls> Actually, I though it'll be easier to extends it, but I've to admit that I don't see any other part which would need it, so… 20120405 01:26:34< Crab_> ok, so just adding a accept()... to the actions would solve all the needs? 20120405 01:26:51< gabba> Nephro, Crab_: well, maybe I'm wrong, but I saw potential in the mechanism the AI uses to be extended to run during more than the AI turn, and to notify about a bit more specific things. Currently I have to insert wb::manager::on_gamestate_change() calls all over the place, and it seems like a waste of possibly good infrastructure. 20120405 01:27:30< Crab_> gabba: well, unfortunately, once something changes in game state, it's fair game to assume all hell broke loose (WML :) ) 20120405 01:27:44< ejls> It looks like yes, but maybe multiple inhertance is a more elegant way of solving it… 20120405 01:28:06< Crab_> ejls: I don't think so. 20120405 01:28:22< Crab_> reason: imagine a whiteboard with a different set of rules and a different gui 20120405 01:28:33< Crab_> it would still be able to reuse a 'pure' action list 20120405 01:28:37< ejls> Crab_: You made me doubt, and now I'm doubting about my doubts. 20120405 01:29:15< ejls> Ok, yes, I'll think a bit more about it, but I think I'll stick to the visitor then. 20120405 01:29:15< Crab_> ejls: that is my usual way of thinking - I'll try to figure out if something is needed or not by asking silly questions to myself or others. 20120405 01:30:13< ejls> hehe, thanks that's helping actually. 20120405 01:30:50< Crab_> ejls: btw, have you heard about my (not-so-soon-to-be-implemented) plans of using the whiteboard to emulate delayed shroud updates? 20120405 01:31:34< Crab_> ejls: basically, delayed shroud updates can be emulated by using whiteboard, but with different commands and with different graphics display 20120405 01:31:43< Crab_> ejls: the main feature of delayed shroud updates is autocommit 20120405 01:31:44< ejls> I've heard about it, but I haven't understood it. 20120405 01:31:52-!- dream_lane1 [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has joined #wesnoth-dev 20120405 01:32:06< Crab_> ejls: basically, with delayed shroud updates, you just do actions without revealing shroud 20120405 01:32:20< Crab_> ejls: (that's possible because vision range is determined by move range) 20120405 01:32:33< Crab_> and you can revert your actions 20120405 01:32:44< Crab_> just like in the whiteboard, but with less features 20120405 01:32:58< Crab_> and, the gui displays the moves as 'already done' after you make them 20120405 01:33:02< ejls> hum, ok, but you less information compared to the "press t" stuff currently in place. 20120405 01:33:03-!- dream_lane [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has quit [Ping timeout: 265 seconds] 20120405 01:33:10< ejls> you have* 20120405 01:33:11< Crab_> yes, less features, less info 20120405 01:33:22< Crab_> but, the main feature is autocommit 20120405 01:33:41< ejls> autocommit? 20120405 01:34:27< Crab_> if you do something which can't be undoed (attack an enemy, hit an ambush, notundoable event, etc), then the moves you've done before are considered 'committed' (done, executed, whatever you name) 20120405 01:34:53< Crab_> I used the term 'autocommit' because whiteboard is similar to the version control system in many regards 20120405 01:35:13< Crab_> whatever is sent over the network is 'committed' 20120405 01:35:21< Crab_> and your local planned moves are your local commits 20120405 01:35:30< Crab_> and once you execute them, they become committed 20120405 01:35:48< Crab_> while you've not executed them, you can reorder them just like git merge -i allows you 20120405 01:36:01< gabba> Crab_: well, "all hell broke lose" is kind of an overstatement, as it can only break loose on units, gamemap or unit map afaik. Using the same reasoning as before ("close to the data structure") we could monitor access to those and 1- at minimum at least know if the WML event changed something important, i.e. not only opened a menu or whatever 2- know which unit was changed so for instance the whiteboard can avoid wasting an update if that unit h 20120405 01:36:35< ejls> gabba: IRC message length has a limit of 512. 20120405 01:36:46< gabba> Fail. Where did it cut off for you? 20120405 01:36:49< ejls> gabba: your message got cut at « update if that unit h » 20120405 01:36:50< Crab_> gabba: that's prone to mistakes, since WML is very fun. i.e. time of day schedule can change, and some abilitie s might not work anymore, and some moves might not be valid anymore because of that : ) 20120405 01:37:16< gabba> Surely you mean !!Fun!! :/ 20120405 01:37:36< Crab_> gabba: fun in DwarfFortress sense of fun :) 20120405 01:37:57-!- thethomaseffect [thethomase@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has quit [Quit: Leaving] 20120405 01:38:42< Crab_> also, continuing the analogy with GUI - if a new move arrives from upstream (from the networks), guess what? some of your moves can become invalid (just like some commits might get conficts). so, after getting a new move from upstream, you do a rebase of your local commits (moves/attacks/etc) to see if they are still valid. 20120405 01:38:55< Crab_> s/GUI/git 20120405 01:39:52< Crab_> ejls: so, returning to delayed shroud updates - it has autocommit, your planned actions are autoexecuted just before you do something that can't be reversed. 20120405 01:40:05< Nephro> alright, feeling really tired and not productive right now. I'll head to bed, since I need to be up early tomorrow, with all this challenge business I accepted :). 20120405 01:40:07< ejls> Ok, put you push your change only when it's your turn and that 1- you end your turn 2- an action become undoable ? 20120405 01:40:16< Crab_> Nephro: ok, good luck. bye. 20120405 01:40:24< ejls> s/put/but 20120405 01:40:42< Crab_> ejls:when the action becomes not undoable 20120405 01:40:42< ejls> Well, you just answered… 20120405 01:40:52< ejls> heuu… yes. 20120405 01:41:18< Crab_> ejls: but, that means that it's still a form of 'whiteboard', just with different set of rules and with different GUI - so, if whiteboard would have a good separation of concepts, you can emulate DSU on top of whiteboard 20120405 01:41:22< Nephro> gabba, I will hit you up, when I am done with my other current stuff, if Crab_ allows you to extract the goodness, I'll do that :) 20120405 01:41:49< Crab_> Nephro: but, most of all, have fun :) 20120405 01:41:57< ejls> Ok, ok, I see, I'll keey this in mind when coding. 20120405 01:42:01< ejls> keep* 20120405 01:42:09< Crab_> ejls: thanks 20120405 01:42:25< Crab_> ejls: getting rid of current DSU implentation would be a great thing 20120405 01:42:39< Crab_> whiteboard doesn't cheat , while DSU 'cheats' 20120405 01:42:48< gabba> Nephro: allright, thanks - from what Crab_ says I'm not so sure anymore it's a good idea, but maybe we can take a closer look together later on. 20120405 01:42:59< Crab_> (the form of cheating affects 'sighted' event mostly) 20120405 01:43:24< Crab_> (it's possible to violate causality with DSU and sighted events) 20120405 01:43:34< Nephro> Crab_, the fun usually ends, when challenges get accepted. But the satisfaction of completion compensates for the loss 20120405 01:44:26< gabba> Crab_: love how you managed to sneak it your DSU emulation in my project while simultaneously keeping it on-topic/benefitting it ;) 20120405 01:44:30< Crab_> Nephro: I mean, that in any case you're welcome to work on wesnoth and get fun from it. if you will be selected by the mentors to become a gsoc student this year again, even better. 20120405 01:44:50< Crab_> gabba: well, it's just something to keep in mind while refactoring. 20120405 01:44:52< ejls> Ok, thanks, I suppose there has been a lot of discussion about it (I remember reading one here, some times ago). 20120405 01:45:04< Nephro> :) Alrighty, I'm really gone now, gn 20120405 01:45:09-!- Nephro [~neph@02de475b.bb.sky.com] has quit [Quit: Leaving] 20120405 01:45:18< ejls> gabba: yeah, he is completly hijacking your idea. 20120405 01:45:23< Crab_> gabba: because, frankly speaking, the thing which has prevented me from trying to code it was the perception that whiteboard had too many bugs at that point :) 20120405 01:45:42< Crab_> gabba: so, I thought 'okay, I'll let them fix their whiteboard and *then* try to hijack it' :) 20120405 01:45:57< Crab_> gabba: so, I definitely want the whiteboard to become better and cleaner piece of code :) 20120405 01:46:02< Crab_> with no bugs :) 20120405 01:46:11< gabba> evil master plan, "build me a whiteboard worthy or Mordor", etc 20120405 01:46:18< gabba> s/or/of 20120405 01:46:30< ejls> wofthy or Mordor ? :D 20120405 01:46:33< Crab_> yes :) and then start my own blackboard project using the bug-free whiteboard engine :) 20120405 01:46:58< Crab_> gabba: so, I'll be happy to help you :) 20120405 01:47:25< Crab_> and, I want to get rid of some mess in src/actions.cpp as well 20120405 01:47:39< gabba> ejls: well, I definitely don't mind this friendly hijacking, as having Crab_ helping out will definitely be a big asset 20120405 01:48:38< ejls> Ok, I'm not sure about the Mordor and the blackboard part, that's sound good. 20120405 01:49:49-!- wesbot changed the topic of #wesnoth-dev to: 1.10.2 planned for April 7th, string freeze for branches/1.10 | Wesnoth accepted in GSoC 2012 | http://wiki.wesnoth.org/SummerOfCodeIdeas | 165 bugs, 328 feature requests, 17 patches | Logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://pastebin.com | http://imagebin.org 20120405 01:51:45< gabba> Regarding whiteboard bugs, btw, I hope the bad reputation has cleared away. I think we're down to a single one regarding observers, and no new reports for a long while. It's just that to prevent it from breaking very easily in the future, the current refactoring project is needed. 20120405 01:52:07< Crab_> great! :) 20120405 01:52:43< anonymissimus> good job gabba 20120405 01:53:01 * gabba says thanks and crosses fingers 20120405 01:53:25< anonymissimus> lol blackboard 20120405 01:54:34< anonymissimus> well, not sure about the WB; perhaps I should do some intense testing again to give gabba some work 20120405 01:54:39< Crab_> :) 20120405 01:54:43< Crab_> bye 20120405 01:54:50-!- Crab_ [~Crab___@wesnoth/developer/crab] has quit [Quit: Do it for joy and you can do it forever] 20120405 01:54:51< gabba> bye Crab_ 20120405 01:55:37< anonymissimus> I suspect the MP community isn't very active at reporting bugs; especially not in that area 20120405 01:56:28< Alarantalara> gabba: I ran into a temporary inability to move a unit with the whiteboard, but it fixed itself the same turn 20120405 01:56:42< gabba> yeah, at lot more 2v2 testing would be needed before I'm really confident 20120405 01:56:43< Alarantalara> If I can figure out what happened, I'll file a bug report 20120405 01:56:58< gabba> Alarantalara: that'd be appreciated :) 20120405 01:57:11-!- enchilado [~enchilado@219-88-25-160.dialup.xtra.co.nz] has joined #wesnoth-dev 20120405 02:00:19-!- mattsc [~mattsc@fw.hia.nrc.ca] has left #wesnoth-dev [] 20120405 02:00:44< gabba> I know some people don't like to be "spied" on, but sometimes I wish Wesnoth had the kind of feature the Steam API has where the dev can gather statistics on how the game's used. 20120405 02:01:25-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20120405 02:01:29< gabba> It's a bit annoying to not know how many people use the whiteboard and how... I can always do a forum poll, but those are biased from the start to a certain type of more vocal forum-user. 20120405 02:03:35-!- akzfowl [~akzfowl@1.186.11.110] has quit [Ping timeout: 252 seconds] 20120405 02:03:45< Alarantalara> gabba: I haven't figured out what the problem is yet, but I can see opponent's planned moves in a local game 20120405 02:04:04< Alarantalara> so you get another bug 20120405 02:12:57-!- enchilado [~enchilado@219-88-25-160.dialup.xtra.co.nz] has quit [Changing host] 20120405 02:12:57-!- enchilado [~enchilado@defocus/yummy/enchilado] has joined #wesnoth-dev 20120405 02:15:01< Ayne> Crab_: I updated my wikipage and google appliaction with a new description, timeline and more technical detail. could you have have a look sometime and give me feedback, please? 20120405 02:16:30-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20120405 02:16:36-!- Ayne [~Ayne@cpc2-sgyl34-2-0-cust493.sgyl.cable.virginmedia.com] has left #wesnoth-dev [] 20120405 02:17:54< fendrin> Alarantalara: Trunk? 20120405 02:17:54< Alarantalara> gabba: an image from a local game: I don't know what's happening http://imagebin.org/206728 20120405 02:18:14< Alarantalara> fendrin: for the flickering bug, yes 20120405 02:19:00< fendrin> Might be related to my display refactoring. 20120405 02:19:37< gabba> Alarantalara: are those just graphical artifacts, or is gameplay affected in any way? 20120405 02:20:05< Alarantalara> they seem to be graphical artifacts, since they go away when you click on them 20120405 02:20:19< Alarantalara> but some of them are ghost images of opponent's units 20120405 02:21:04< gabba> Alarantalara: regarding seeing the opponent's moves, I'd really like the parameters to reproduce 20120405 02:21:25< Alarantalara> plan a move for one side, end turn 20120405 02:22:05< gabba> Well, any specific scenario, how many players, and so on. 20120405 02:24:14< gabba> Alarantalara: also, is that in trunk or 1.10 branch? 20120405 02:24:39< Alarantalara> Well, the bug report mentions 1.10.1, and local multiplayer as relevent 20120405 02:25:11< Alarantalara> I'm currently rebuilding trunk again, so haven't tried it there yet 20120405 02:26:04< gabba> Can I have a link to the bug report? 20120405 02:26:14< Alarantalara> https://gna.org/bugs/index.php?19615 20120405 02:26:18< gabba> thx 20120405 02:26:43< anonymissimus> there's also this which I have juts assigned to you gabba https://gna.org/bugs/?19613 20120405 02:27:02< gabba> keep'em coming! 20120405 02:27:30< anonymissimus> *never say "no wb bugs" since whenever tsktsk* 20120405 02:28:02< gabba> well, it seems I should say it when I want bug reports - it's a kind of trigger 20120405 02:29:02< Alarantalara> and I just crashed Wesnoth with the whiteboard 20120405 02:29:04< gabba> err anonymissimus, I have the eerie feeling of having already fixed the bug you linked to 20120405 02:29:50< gabba> so either a regression (oh god why) or was fixed between 1.10.0 and the current 1.10.x 20120405 02:30:00< gabba> anyways, I'll have a look 20120405 02:31:30-!- enchilado is now known as Kesh1 20120405 02:33:13< Alarantalara> trying to duplicate the crash has got me into a situation where I can't end the turn 20120405 02:33:29-!- Kesh1 is now known as enchilado 20120405 02:33:37< gabba> Alarantalara: I suspect the two bugs you mention might be the same one... looks like a graphical glitch persists between turns and allows you to see leftover of the opponent's planning 20120405 02:33:48< gabba> You're testing under which version right now? 20120405 02:33:52< Alarantalara> 1.10.1 20120405 02:36:18< anonymissimus> gabba: regarding https://gna.org/bugs/?19613, there's vertainly a problem; I just got a crash in trunk 20120405 02:36:56< gabba> Oh well. All of those sound like regressions of bugs I fixed in the past. If people change stuff and don't bother testing the whiteboard, I'm fighting a losing battle. 20120405 02:38:00< gabba> Gonna try to find the cause of all those of course, but for now, I'm off. 20120405 02:39:06< anonymissimus> nope, getting int 1.10.1 as well 20120405 02:42:25-!- gabba [~gabba@wesnoth/developer/gabba] has left #wesnoth-dev [] 20120405 02:56:35-!- anonymissimus [~chatzilla@HSI-KBW-078-042-163-105.hsi3.kabel-badenwuerttemberg.de] has quit [Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120312181643]] 20120405 03:12:02-!- thethomaseffect [thethomase@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has joined #wesnoth-dev 20120405 03:15:23-!- ancestral [~ancestral@97-127-62-183.mpls.qwest.net] has joined #wesnoth-dev 20120405 03:21:36-!- loonybot [~loonybot@wesnoth/bot/loonybot] has quit [Remote host closed the connection] 20120405 03:22:18-!- faryshta [~faryshta@201.137.85.118] has quit [Read error: Connection reset by peer] 20120405 03:31:15-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has quit [Quit: Computer has gone to sleep.] 20120405 03:36:24-!- faryshta [~faryshta@189.242.37.115] has joined #wesnoth-dev 20120405 03:37:39-!- enchilado [~enchilado@defocus/yummy/enchilado] has quit [Ping timeout: 260 seconds] 20120405 03:38:50-!- PolarPanda [~quassel@unaffiliated/peterporty] has quit [Read error: Connection reset by peer] 20120405 03:39:19-!- PolarPanda [~quassel@unaffiliated/peterporty] has joined #wesnoth-dev 20120405 03:41:13-!- dream_lane1 [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has left #wesnoth-dev [] 20120405 03:43:32-!- Danceman [~Danceman@a94-132-158-220.cpe.netcabo.pt] has quit [Quit: Leaving] 20120405 03:45:44-!- Elvish_Pillager [~eli@dhip-149.coburn.residences.colby.edu] has quit [Ping timeout: 246 seconds] 20120405 03:49:53< Gambit> I wonder if synchronize_choice() can be used to MP-safely get a date from the host... 20120405 03:55:47< Gambit> I just had some thoughts to making GambCiv play differently based on the day of the week 20120405 03:58:45-!- PolarPanda [~quassel@unaffiliated/peterporty] has quit [Read error: Connection reset by peer] 20120405 04:05:52-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 04:17:47-!- faryshta [~faryshta@189.242.37.115] has quit [Quit: Saliendo] 20120405 04:19:07-!- tyrannodogg [~tyrannodo@ip-106-17.travedsl.de] has quit [Quit: Leaving.] 20120405 04:26:02-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has joined #wesnoth-dev 20120405 04:45:43-!- bloodycoin_m [~bloodycoi@193.170.135.78] has quit [Ping timeout: 264 seconds] 20120405 04:54:10-!- gabba [~gabba@wesnoth/developer/gabba] has joined #wesnoth-dev 20120405 04:55:21-!- Ivanovic_ [~ivanovic@dtmd-4db2ce40.pool.mediaWays.net] has joined #wesnoth-dev 20120405 04:58:22-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has quit [Ping timeout: 272 seconds] 20120405 04:59:17-!- Ivanovic_ is now known as Ivanovic 20120405 05:10:09-!- mattsc [~mattsc@d50-92-196-35.bchsia.telus.net] has joined #wesnoth-dev 20120405 05:13:09< mattsc> Nephro (and anybody else who's interested): I don't know what it takes to impress Crab_ and the other mentors, but here's an idea of something that is (probably) non-trivial and (maybe?) not impossible on a short timescale: 20120405 05:14:27< mattsc> The other huge advantage of Formula AI over Lua AI (in addition to the not needing boilerplate code) is that all the variables (and the engine itself, in fact) are always available. 20120405 05:15:30-!- thethomaseffect [thethomase@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has quit [Quit: Leaving] 20120405 05:15:31-!- dream_lane [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has joined #wesnoth-dev 20120405 05:16:01-!- dream_lane [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has left #wesnoth-dev [] 20120405 05:16:21< mattsc> In Lua, in order to use ai.get_dstsrc(), I need to make sure that the AI has been initialized. That is, it either needs to be an AI turn, or (if I want to have human control for testing), I need to let the AI play through a turn of that side and then change the controller to 'human'. 20120405 05:16:53< mattsc> That's why my test scenario contains all those extra events. 20120405 05:17:29< mattsc> Then, if you make a move as human player during the turn, the content of ai.get_dstsrc() does not change, it will always contain the situation from the beginning of the turn. 20120405 05:19:03< mattsc> By contrast, in Formula AI, whenever you use the my_moves variable, it gives you the *current* state of the available moves, no matter who controls it, who was in control before, what has already happened on this turn etc. 20120405 05:22:13< mattsc> IMHO, I believe that making Lua AI behave like that is necessary to make it as attractive as Formula AI (at least for testing purposes). And maybe it is something that is reasonably independent of the other mods needed? 20120405 05:22:23< mattsc> Just an idea. Again, I'll have to claim ignorance of the inner workings of the c++ code, so maybe doing this is much more complicated than I imagine. 20120405 05:23:00-!- Gambit [~gambit@wesnoth/developer/grickit] has quit [Remote host closed the connection] 20120405 05:25:44< mattsc> Oh, and just to clarify, I think that having the equivalent of the Formula AI variables always be up to date would be a great first step if the whole thing is too big a project. 20120405 05:36:04-!- akzfowl [~akzfowl@1.186.11.110] has joined #wesnoth-dev 20120405 05:36:53< mattsc> And finally, if this is part of what you've been talking about all along, I've just revealed once more that I don't understand these things at all and will shut up from now on. :) 20120405 06:09:11-!- oldtopman [~oldtopman@unaffiliated/oldtopman] has quit [Remote host closed the connection] 20120405 06:11:08-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has joined #wesnoth-dev 20120405 06:15:56-!- gabba [~gabba@wesnoth/developer/gabba] has quit [Quit: Leaving.] 20120405 06:38:53-!- ancestral [~ancestral@97-127-62-183.mpls.qwest.net] has quit [Quit: i go sleeps kthxbai] 20120405 06:48:20-!- ancestral [~ancestral@97-127-62-183.mpls.qwest.net] has joined #wesnoth-dev 20120405 06:48:23-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has quit [Quit: Page closed] 20120405 06:48:55-!- esr [~chatzilla@wesnoth/developer/esr] has quit [Read error: Operation timed out] 20120405 06:51:31-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20120405 07:01:08-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has quit [Ping timeout: 240 seconds] 20120405 07:03:44-!- gabba [~gabba@wesnoth/developer/gabba] has joined #wesnoth-dev 20120405 07:14:06-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Remote host closed the connection] 20120405 07:15:06-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20120405 07:15:36-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20120405 07:17:06-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Quit: Leaving.] 20120405 07:18:49-!- trademark_ [~trademark@mon69-1-82-67-23-185.fbx.proxad.net] has joined #wesnoth-dev 20120405 07:34:34-!- Ivanovic [~ivanovic@dtmd-4db2ce40.pool.mediaWays.net] has quit [Changing host] 20120405 07:34:34-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20120405 07:38:25-!- mattsc [~mattsc@d50-92-196-35.bchsia.telus.net] has quit [Quit: bye] 20120405 07:48:11< vultraz_laptop> crap 20120405 07:48:19< vultraz_laptop> got an error building on windows 20120405 07:48:21< vultraz_laptop> LINK : fatal error LNK1104: cannot open file 'VCOMPD.lib' 20120405 07:49:49-!- wesbot changed the topic of #wesnoth-dev to: 1.10.2 planned for April 7th, string freeze for branches/1.10 | Wesnoth accepted in GSoC 2012 | http://wiki.wesnoth.org/SummerOfCodeIdeas | 169 bugs, 328 feature requests, 17 patches | Logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://pastebin.com | http://imagebin.org 20120405 07:50:04< vultraz_laptop> any ideas? 20120405 08:00:48-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120405 08:03:44< Ivanovic> non constructive tip: try using a linux system, they make less problems when building/running things! 20120405 08:03:46< Ivanovic> ;) 20120405 08:10:13-!- MeccaGod [majs@host189-199.bornet.net] has joined #wesnoth-dev 20120405 08:18:26-!- HelloIRC [~Hello@wireless-165-124-145-153.nuwlan.northwestern.edu] has joined #wesnoth-dev 20120405 08:18:27-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has joined #wesnoth-dev 20120405 08:20:40< vultraz_laptop> Ivanovic: :P well my Mac builds crash with that string disposal error and the laptop with linux on it is sorta falling apart :P 20120405 08:21:12< Ivanovic> then use windows as host for a linux VM 20120405 08:23:41< vultraz_laptop> don't think this computer can handle VMs 20120405 08:23:43< HelloIRC> Hello, I'm a sophomore looking for a way to contribute to the project over GSoC, but my experience with AI is still a bit limited... Did love Wesnoth though. =) Is there anywhere that I could start or dip my feet into? 20120405 08:24:55< Ivanovic> 1) make sure to submit a proposal to google *very* soon 20120405 08:25:15< Ivanovic> you have to submit the proposal until tomorrow or you got no chance *at all* (those are the rules!) to even be considered for gsoc 20120405 08:25:32< Ivanovic> (though you are always free to participate in wesnoth development anyway) 20120405 08:25:47< Ivanovic> 2) not sure how to start on AI development these days 20120405 08:25:57< Ivanovic> but some other people should be able to help you some time soon 20120405 08:28:26-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 260 seconds] 20120405 08:36:06< HelloIRC> All right, thank you. The ideas list is a bit intimidating. Should I mention the ones that jump out at me as most immediately interesting? 20120405 08:38:50-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20120405 08:38:57-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has quit [Remote host closed the connection] 20120405 08:42:58-!- boucman_mobile [~boucman@80.214.4.172] has joined #wesnoth-dev 20120405 08:42:58-!- boucman_mobile [~boucman@80.214.4.172] has quit [Changing host] 20120405 08:42:58-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has joined #wesnoth-dev 20120405 08:48:51< boucman_mobile> Hey all 20120405 09:01:25-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has quit [Quit: Leaving] 20120405 09:03:22-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20120405 09:03:31-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 09:11:04-!- stikonas [~gentoo@ctv-217-147-37-55.vinita.lt] has joined #wesnoth-dev 20120405 09:11:04-!- stikonas [~gentoo@ctv-217-147-37-55.vinita.lt] has quit [Changing host] 20120405 09:11:04-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120405 09:13:34-!- loonybot [~loonybot@46.138.73.65] has joined #wesnoth-dev 20120405 09:13:34-!- loonybot [~loonybot@46.138.73.65] has quit [Changing host] 20120405 09:13:34-!- loonybot [~loonybot@wesnoth/bot/loonybot] has joined #wesnoth-dev 20120405 09:14:41-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20120405 09:21:17< vultraz_laptop> wesbot: seen anonymissimu 20120405 09:21:17< wesbot> vultraz_laptop: Sorry, I don't know of anonymissimu. 20120405 09:21:31< vultraz_laptop> wesbot: seen anonymissimus 20120405 09:21:31< wesbot> vultraz_laptop: The person with the nick anonymissimus last spoke 6h 42m ago. 6h 24m ago they left with the message: Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120312181643] 20120405 09:30:33-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20120405 09:31:15-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 260 seconds] 20120405 09:37:36-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20120405 09:39:16-!- negusnyul [~negusnyul@dsl4E5CD33A.pool.t-online.hu] has joined #wesnoth-dev 20120405 09:42:02-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 09:47:49-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 246 seconds] 20120405 09:49:09-!- Crendgrim [~crend@77-22-112-72-dynip.superkabel.de] has joined #wesnoth-dev 20120405 09:50:04-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has joined #wesnoth-dev 20120405 09:52:18-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 09:56:09-!- HappyKsuh [~ksu.nyaka@217.118.78.122] has joined #wesnoth-dev 20120405 09:58:38-!- khoover [~crazy1010@69.159.23.64] has quit [Ping timeout: 240 seconds] 20120405 09:59:59-!- khoover [~crazy1010@69.159.23.64] has joined #wesnoth-dev 20120405 10:01:39-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 246 seconds] 20120405 10:02:31-!- Blueblaze [~Blueblaze@adsl-99-158-46-32.dsl.hstntx.sbcglobal.net] has quit [Quit: Blueblaze] 20120405 10:05:38-!- HelloIRC [~Hello@wireless-165-124-145-153.nuwlan.northwestern.edu] has quit [Ping timeout: 240 seconds] 20120405 10:05:56-!- MeccaGod [majs@host189-199.bornet.net] has quit [] 20120405 10:22:02-!- negusnyul [~negusnyul@dsl4E5CD33A.pool.t-online.hu] has quit [Quit: Konversation terminated!] 20120405 10:24:25-!- liviuc [~liviu@p5.eregie.pub.ro] has joined #wesnoth-dev 20120405 10:24:31-!- liviuc [~liviu@p5.eregie.pub.ro] has left #wesnoth-dev [] 20120405 10:37:11-!- Johannes13 [~Johannes@unaffiliated/johannes13] has joined #wesnoth-dev 20120405 10:38:29-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 10:49:17-!- akzfowl [~akzfowl@1.186.11.110] has quit [Ping timeout: 252 seconds] 20120405 10:50:42-!- mjs-de [~mjs-de@d120201.adsl.hansenet.de] has joined #wesnoth-dev 20120405 10:56:11-!- Elvish_Hunter [5ea09592@gateway/web/freenode/ip.94.160.149.146] has joined #wesnoth-dev 20120405 10:59:35< CIA-69> elvish_hunter * r53779 /trunk/ (changelog data/core/macros/interface-utils.cfg): CLEAR_FOG and UNCLEAR_FOG are retrofitted to use [lift_fog] and [reset_fog]. The Fog Clearer unit is now unused in mainline 20120405 11:01:07-!- Upth is now known as Upthorn 20120405 11:03:16-!- Elvish_Hunter [5ea09592@gateway/web/freenode/ip.94.160.149.146] has quit [Quit: Ciao!] 20120405 11:20:54-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20120405 11:22:41-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20120405 11:35:31-!- ancestral [~ancestral@97-127-62-183.mpls.qwest.net] has quit [Quit: i go sleeps kthxbai] 20120405 11:38:12-!- MeccaGod [majs@host189-199.bornet.net] has joined #wesnoth-dev 20120405 11:42:38-!- HappyKsuh [~ksu.nyaka@217.118.78.122] has quit [Read error: Connection reset by peer] 20120405 11:59:54-!- Johannes13_ [~Johannes@unaffiliated/johannes13] has joined #wesnoth-dev 20120405 12:03:42-!- Johannes13 [~Johannes@unaffiliated/johannes13] has quit [Ping timeout: 252 seconds] 20120405 12:22:32-!- Crab_ [Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20120405 12:33:42-!- bloodycoin_m [~bloodycoi@193.170.135.78] has joined #wesnoth-dev 20120405 12:51:20-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has quit [Read error: Connection reset by peer] 20120405 12:55:10-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has joined #wesnoth-dev 20120405 12:55:39-!- horon [~horon@nttkyo322045.tkyo.nt.ngn2.ppp.infoweb.ne.jp] has joined #wesnoth-dev 20120405 12:58:43-!- Johannes13_ is now known as Johannes13 20120405 13:04:27< CIA-69> gabba * r53780 /trunk/src/whiteboard/ (5 files): Consolidated and improved the validation code for attack and move. Fixes bug #19613. 20120405 13:04:28< CIA-69> gabba * r53781 /trunk/src/ (7 files in 2 dirs): Changed the method for fading out units that have planned moves to a somewhat safer one: I apply the "ghosted" animation right before drawing happens and remove it afterwards. Fixes bug #19619. 20120405 13:04:34< CIA-69> gabba * r53782 /trunk/ (changelog players_changelog): Changelog entries for last two commits. 20120405 13:08:26-!- gabba [~gabba@wesnoth/developer/gabba] has left #wesnoth-dev [] 20120405 13:09:41-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has quit [Ping timeout: 248 seconds] 20120405 13:15:12-!- mage666 [~palladin@188.40.110.5] has quit [Ping timeout: 246 seconds] 20120405 13:15:57-!- mage666 [~palladin@188.40.110.5] has joined #wesnoth-dev 20120405 13:17:08-!- trademark_ [~trademark@mon69-1-82-67-23-185.fbx.proxad.net] has quit [Ping timeout: 240 seconds] 20120405 13:40:44-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has joined #wesnoth-dev 20120405 13:42:51-!- e7th04sh [3e3d3ab7@gateway/web/freenode/ip.62.61.58.183] has joined #wesnoth-dev 20120405 13:45:30< Crab_> e7th04sh: hello. I'd just want to note that if you want to have a chance of being accepted, you need to submit your proposal to google, the deadline for that is coming (6th april) 20120405 13:45:44< Crab_> (and it's not the 'end' of 6th april, it's more near) 20120405 13:46:16< Crab_> (disregard that if you have already submitted a proposal using a different nickname) 20120405 13:46:24< e7th04sh> Crab_: i know, i have a complicated situatio here, unfortunately. 20120405 13:46:35< Crab_> e7th04sh: submit *something*. 20120405 13:46:43< e7th04sh> Oh. Ok. 20120405 13:46:52< Crab_> e7th04sh: you can always see if you'd want to make an attempt to impress us or not 20120405 13:47:16< Crab_> e7th04sh: but, you need a proposal 'on file' because otherwise google won't let us accept you, at all 20120405 13:47:18< e7th04sh> I am pretty sure I would want to, the thing is I wanted to submit something well thought. 20120405 13:47:36< Crab_> e7th04sh: so, submit a dummy proposal and mark it on a first line with big letter 'will fix later, sorry' 20120405 13:47:43< e7th04sh> wow 20120405 13:47:52< e7th04sh> and how long do i have till it has to be corrected? 20120405 13:48:49< Crab_> e7th04sh: we've publicly guaranteed that we would consider all changes at least till 8th April (basically, easter weekend). but, in practice, we'll try to use all the info we have, and the students are only announced closer to the end of april 20120405 13:49:13< Crab_> e7th04sh: but, at least you'll have a choice or you'll be able to just ask us if it still makes sense to try 20120405 13:49:22< Crab_> e7th04sh: but, if you dont' submit till google's deadline, your're out for sure. 20120405 13:49:37< e7th04sh> Well, I will write a description for the ai project likely then. 20120405 13:49:40-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 246 seconds] 20120405 13:49:40< boucman_mobile> Back.. 20120405 13:49:49< Crab_> boucman_mobile: welcome back :) 20120405 13:50:22< Crab_> e7th04sh: yes, that'll be good enough for start. you'll be surprised to learn how many student proposal are only 'small description + basic answers to questionnaire' 20120405 13:50:39< Crab_> e7th04sh: most importantly, you'll be able to make your choices later. 20120405 13:51:25< e7th04sh> A few questions... what defensive capabilities Wesnoth AI already has? Can it create defensive formations, do the village rotation etc.? 20120405 13:51:44< Akihara> Crab_: thanks for your comment on my application :) As I said, I will write a description of my idea tomorrow probably (dont have enough time for the moment). Is it ok? 20120405 13:51:49< Crab_> e7th04sh: no. it can retreat wounded units to villages, but that's all 20120405 13:52:11< e7th04sh> Does it try to asses tactically whether it's time for entire group to defend or assault? 20120405 13:52:15< Crab_> Akihara: so far, our public guarantee 'all stuff and changes made before-or-on 8th april would definitely be considered by all mentors' 20120405 13:52:19< Crab_> e7th04sh: no 20120405 13:52:29< e7th04sh> Ok, so I have a starting point for proposal i think. 20120405 13:52:57-!- wesbot changed the topic of #wesnoth-dev to: 1.10.2 planned for April 7th, string freeze for branches/1.10 | Wesnoth accepted in GSoC 2012 | http://wiki.wesnoth.org/SummerOfCodeIdeas | 171 bugs, 0 feature requests, 17 patches | Logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://pastebin.com | http://imagebin.org 20120405 13:53:01< Crab_> e7th04sh: basically, that's the first root of the problem - if it is defensive, then units with good attacks attack, and other units don't, leaving those first units isolated 20120405 13:53:26< Crab_> (please mention GSoC submission deadline in the topic, it's more important than release, since it's tomorrow) 20120405 13:54:10< e7th04sh> I suppose in addition to coding, one would have to play wesnoth extensively throughout summer as part of GSoC :p possibly during lengthy compilations... 20120405 13:54:29< Crab_> e7th04sh: definitely :) 20120405 13:54:32< e7th04sh> Perhaps a good idea for the beginning would be to match default ai against default based defensive ai 20120405 13:54:39< e7th04sh> and work on improving the odds of latter. 20120405 13:54:50< Crab_> e7th04sh: yes, sounds like a good approach 20120405 13:55:04< Crab_> e7th04sh: a second problem - AI doesn't properly consider the risks of next-turn retaliation 20120405 13:55:18< e7th04sh> doesn't it count exposure at all? 20120405 13:56:00< Crab_> e7th04sh: it tries (see how power_projection is calculated). but it sucks at that. 20120405 13:56:23< Crab_> e7th04sh: it's rather trivial to get ai attack your units from the water, for example 20120405 13:56:50< e7th04sh> I remember that in Civ1 the ai treated every city or perhaps even every military unit speerately, sort of like the ants and pheromones. The question, seems to me, is whether it's better to create a good set of signals for units, or try to treat them as formations. 20120405 13:57:07< e7th04sh> How does it, generally, work at the moment? 20120405 13:57:12< Crab_> for now, it works separately 20120405 13:57:24< Crab_> "if SITUATION LOOKS LIKE THAT then do THIS with priority SCORE" 20120405 13:57:41< Crab_> the first part usually checks something for each unit, or for each leader 20120405 13:57:49< Crab_> or for each possible attack 20120405 13:58:00-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 13:58:02< Crab_> for attacks, attacks of up to 6 attackers vs 1 defender are considered 20120405 13:58:10< Crab_> and AI is rather good at attacking and killing things 20120405 13:58:32< Crab_> c_nevin92, TorminaTor, vaulttech - please submit your proposals to google, if you want to have a chance of participating in a GSoC with wesnoth. you have 1 day to do so till google's deadline. 20120405 14:00:40-!- anonymissimus [~chatzilla@HSI-KBW-078-042-163-105.hsi3.kabel-badenwuerttemberg.de] has joined #wesnoth-dev 20120405 14:01:45< anonymissimus> Gambit: you can use synch_choice to MP-safely get a date; you don't knoe whether it is the one from the host though 20120405 14:02:11-!- Elvish_Hunter [1fbc3fc5@gateway/web/freenode/ip.31.188.63.197] has joined #wesnoth-dev 20120405 14:02:59-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 252 seconds] 20120405 14:03:39< anonymissimus> since in wesnoth there is currently no way to detect which side is the host (you could only exclude some sides by checking whether they have the files, and in case there is only one side with the files you would actually have found out that this side must be the host :)) 20120405 14:04:09-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 14:04:14< anonymissimus> but as soon as there is another side with the files you don't know which of them is the host ;) 20120405 14:04:29-!- Cookiee [~quassel@unaffiliated/cookiee] has joined #wesnoth-dev 20120405 14:06:52-!- Cookiee [~quassel@unaffiliated/cookiee] has quit [Read error: Connection reset by peer] 20120405 14:08:42< Crab_> for some stats spam, if anyone's interested, here's the submitted idea counts at this moment : 20120405 14:08:46< Crab_> Addon Server [1] 20120405 14:08:48< Crab_> Whiteboard: Refactor the backend [1] 20120405 14:08:50< Crab_> Improve wesnoth's engine to allow better transitions between scenarios [1] 20120405 14:08:52< Crab_> AI: Make lua AI development and usage easier [2] 20120405 14:08:54< Crab_> Whiteboard: Multiple Chance-to-kill calculations and interface polish [3] 20120405 14:08:56< Crab_> AI: teach the AI to play Wesnoth's mainline campaigns [3] 20120405 14:08:58< Crab_> Make your own ideas [4] 20120405 14:09:00< Crab_> Implement a particle engine in the animation engine [4] 20120405 14:09:02< Crab_> AI: Refactor recruitment algorithm [5] 20120405 14:09:04< Crab_> AI: Implement a 'total defense' strategy [12] 20120405 14:09:31< Crab_> (sorry for spamming not via a pastebin, but I want to attract student's attention that there *is* some competition, and activity and patches are important) 20120405 14:10:48-!- Elvish_Pillager [~eli@dhip-149.coburn.residences.colby.edu] has joined #wesnoth-dev 20120405 14:10:57< Crab_> especially for highly-contested projects. Not each project would get a student (we only have a limited number of slots, as given by google), but, if your project is highly-contested, it's especially important to show that you are the best. 20120405 14:11:52-!- Crab_ [Crab_@wesnoth/developer/crab] has quit [Quit: Crab_] 20120405 14:19:40-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has joined #wesnoth-dev 20120405 14:21:04-!- bloodycoin_m [~bloodycoi@193.170.135.78] has quit [Ping timeout: 265 seconds] 20120405 14:23:15< CIA-69> anonymissimus * r53783 /trunk/data/core/units/fake/Fog_Clearer.cfg: add a warning to the Fog Clearer to not remove it solely because it's now unused 20120405 14:23:33< CIA-69> anonymissimus * r53784 /trunk/data/core/macros/interface-utils.cfg: remove some garbage breaking the wml parser 20120405 14:24:16-!- bloodycoin [~bloodycoi@193.170.132.181] has joined #wesnoth-dev 20120405 14:25:03< anonymissimus> vultraz_laptop: MSVC needs some OMP lib 20120405 14:26:11< vultraz_laptop> anonymissimus: oh...where do I get that 20120405 14:27:04< anonymissimus> vultraz_laptop: not sure atm; you can disable OMP in teh project settings alternatively 20120405 14:27:18< vultraz_laptop> I did that 20120405 14:30:00< anonymissimus> well then it should no longer need it...perhaps you need to remove ot from the linked libs as well (or perhaps you only need to do that) 20120405 14:30:26< anonymissimus> but then you may get linker errors in case you have the OMP support still enabled 20120405 14:32:54< anonymissimus> vultraz_laptop: hm, it seems that this lib is part of my MSVC10 installation 20120405 14:32:56-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has joined #wesnoth-dev 20120405 14:33:04< Elvish_Hunter> anonymissimus: here there is what happens with store_shroud on 1.11: error scripting/lua: [string "wesnoth.wml_actions.store_shroud {side=1,vari..."]:1: attempt to call field 'store_shroud' (a nil value) 20120405 14:33:18< anonymissimus> so for some reason your installation is a bit broken 20120405 14:33:43< anonymissimus> you may still get away with disabling OMP in the project file 20120405 14:34:05< anonymissimus> or perhaps you disabled OMP while installing MSVC ? 20120405 14:34:44< anonymissimus> Elvish_Hunter: yeah, report it as a bug pls 20120405 14:34:56< anonymissimus> I think I know when it was introduced 20120405 14:35:34< Elvish_Hunter> Unless for some reason the tag wasn't executed corretly... I'll double check before reporting. 20120405 14:38:17< Elvish_Hunter> Ah, I loaded the wrong scenario... shroud_data seems to work fine. 20120405 14:38:44< Elvish_Hunter> However, it's still missing from the :inspect dialog. 20120405 14:40:43-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has quit [Quit: Page closed] 20120405 14:40:49< anonymissimus> jamit is the suspect here so you can assign to him then 20120405 14:41:53< Elvish_Hunter> OK then. I'll go and prepare a report. 20120405 14:45:05-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has quit [Ping timeout: 250 seconds] 20120405 14:46:30-!- Appleman1234 [~Appleman1@ppp59-167-222-56.qld.adsl.internode.on.net] has joined #wesnoth-dev 20120405 14:47:01< vultraz_laptop> anonymissimus: LINK : fatal error LNK1104: cannot open file 'Debug\liblua.lib' 20120405 14:48:08< e7th04sh> Ok, i submitted a proposal to google. Could someone confirm that for me? I will move on to setting up msvc express to compile me wesnoth 1.9. As a GSoCer do I need to work with stable or development code? 20120405 14:48:52< vultraz_laptop> anonymissimus: there is a file there called liblua, but it says it's a text file 20120405 14:50:48< anonymissimus> vultraz_laptop: if a file search shows no file with that name you probably need to build the respective project 20120405 14:53:27< e7th04sh> which free tool for svn do You recommend, for windows? 20120405 14:53:40< e7th04sh> is tortoise ok? 20120405 14:54:11< vultraz_laptop> e7th04sh: it's what I use for Windows. it seems pretty good 20120405 14:54:18< vultraz_laptop> for svn on windows* 20120405 14:55:20< e7th04sh> oh btw, i have 64 bit windows here, and i haven't a clue about implications 20120405 14:55:24-!- Nephro [~Dmitry@02de475b.bb.sky.com] has joined #wesnoth-dev 20120405 14:55:43< anonymissimus> boucman: I supposed you should still backport r53683 ? 20120405 14:55:48-!- boucman_mobile [~boucman@80.214.4.43] has joined #wesnoth-dev 20120405 14:55:48-!- boucman_mobile [~boucman@80.214.4.43] has quit [Changing host] 20120405 14:55:48-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has joined #wesnoth-dev 20120405 14:56:10< anonymissimus> boucman_mobile: I suppose you should still backport r53683 ? 20120405 14:56:14< e7th04sh> Mordante hmmm i just read the logs. That's quite an idea. 20120405 14:56:41< e7th04sh> Mordante: the thing is, i wonder how long would Wesnoth compile with that. 20120405 14:57:36-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20120405 14:57:39< boucman_mobile> wesbot: log 53683 20120405 14:57:40< wesbot> boucman * r53683 : fix bug 19563 (patch 3196 by jamit) 20120405 14:57:40< wesbot> URL: http://svn.gna.org/viewcvs/wesnoth?view=rev&rev=53683 20120405 14:58:20< boucman_mobile> wesbot: bug 19563 20120405 14:58:21< wesbot> Bug #19563 Assigned to: Jérémy Rosen Status: Fixed Priority: 5 - Normal 20120405 14:58:24< wesbot> Summary: Replay doesn't show all units when it should 20120405 14:58:26< wesbot> Original submission: If a player chooses 'point of view: full map' then no fog 20120405 14:58:29< wesbot> is shown, but still units that would be under fog are not shown on the main map 20120405 14:58:32< wesbot> URL: https://gna.org/bugs/?19563 20120405 14:58:49< boucman_mobile> Yes, probably, 20120405 14:59:21< anonymissimus> there will supposedly be many duplicate reports if you don't 20120405 15:00:19-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120405 15:00:19< vultraz_laptop> anonymissimus: ok, crashes at launch: "Debug assertion failed! Program: C:\\Users/Vulraz/Documents/My Games/wesnoth/projectfiles/VC10/Debug/wesnoth.exe 20120405 15:01:20< vultraz_laptop> anonymissimus: "Expression: string iterator not dereferencable" 20120405 15:02:52< vultraz_laptop> File: c:\\program files\microsoft visual studio 10.0\vc\include\xstring Line 78 20120405 15:05:21< Nephro> anonymissimus, morning. Do you know, what this things actually does http://pastebin.com/D5S0E2xS ? I made some tests today, seems it is running out of context of the AI, but yet, the LuaAI contexts benefit from it. Do I understand correctly, that this is something global to the whole Lua environment? If yes, why isn't it defined when the Lua environment is created 20120405 15:05:45-!- mattsc [~mattsc@S0106000352077632.gv.shawcable.net] has joined #wesnoth-dev 20120405 15:06:58< Nephro> mattsc, sent you a message privately, because it's a copy of a message I sent 20 seconds, before you joined :) 20120405 15:07:10< Elvish_Hunter> Nephro: that block is useful if you didn't call the Lua stuff in the _main.cfg 20120405 15:07:24< mattsc> Nephro: morning. Got it. 20120405 15:07:47< Elvish_Hunter> The two metatable lines can be omitted, if you are available to write longer code. 20120405 15:08:15< Elvish_Hunter> The textdomain line serves to handle translatable Lua strings. 20120405 15:08:16< bloodycoin> boucman_mobile: mind checking my proposal? I updated it a bit. Also, how granular timeline should be? Is weeklong periods enough? 20120405 15:08:44< Elvish_Hunter> mattsc: hi! 20120405 15:08:49< bloodycoin> anyone, what is unit halos? and how can I see it in game? 20120405 15:09:01< mattsc> Elvish_Hunter: hi! 20120405 15:09:05-!- nagafono [~kvirc@178.19.254.1] has joined #wesnoth-dev 20120405 15:09:42< Nephro> Elvish_Hunter, ok, that makes sense. Am I right, that that stuff is done globally and has to be done only once for a Lua environment? 20120405 15:10:09< vultraz_laptop> bloodycoin: you know that big white circle around the Mage of Light? that's a halo 20120405 15:10:10< mattsc> Elvish_Hunter: I've been hanging around here for the last few days following the discussion on AI student project. (And making uninformed comments :) ) 20120405 15:10:54< Elvish_Hunter> Nephro: If you call the Lua stuff directly in the _main.cfg, this is required only once. 20120405 15:11:24< boucman_mobile> Url to your proposal plz, and halos are a bit hard to explain on an android keyboard, they are define in haloes.*pp and if you grec the data dir you will see how they are used 20120405 15:11:33< Elvish_Hunter> But it depends pretty much on your coding style and on your needs. 20120405 15:12:57< bloodycoin> oh, thanks 20120405 15:13:38< bloodycoin> any other unit, that's easier to get? xD 20120405 15:13:57< Nephro> Elvish_Hunter, I pretty much need to get rid of it, but keep its functionality. Tell me more about _main.cfg. Is that some sort of file, that get included in all scenarios by default? 20120405 15:15:20< mattsc> Nephro: I have some Lua AI scenarios that don't use a preload event in "AI Modification Demos". You could look up an example there. 20120405 15:16:14< bloodycoin> boucman_mobile: this one http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/justast_bc/25002 20120405 15:16:35< mattsc> Actually, just checked it out, I got rid of all preload events some while ago... 20120405 15:16:35< Elvish_Hunter> Nephro: _main.cfg is, we can say, the "base file" of every add-on. Everything (scenarios, macros...) must be included here in order to work. 20120405 15:16:36-!- negusnyul [~negusnyul@dsl4E5CD33A.pool.t-online.hu] has joined #wesnoth-dev 20120405 15:17:28< boucman_mobile> Looking... 20120405 15:17:33< Nephro> Elvish_Hunter, can we move that preload event stuff into _main.cfg 20120405 15:18:34< Nephro> mattsc, how exactly? Did you keep the functionality or you just deleted the events and worked around it afterwards? 20120405 15:18:43< Elvish_Hunter> In TSoG, I have this block in the _main.cfg to call all the Lua stuff: http://pastebin.com/4TuzdJ52 20120405 15:19:08< Elvish_Hunter> Then, I have a wml_tags.lua that contains all the Lua code that I need. 20120405 15:20:24< mattsc> Nephro: the reasons why you'd want a preload event are essentially if you need to set up global variables that get reloaded in save/load cycles. 20120405 15:21:30< mattsc> You can avoid that if you define your global variables elsewhere (such as in _main.cfg), or make them local to the AI; and make sure that anything that needs to be reloaded is in the ai.data structure. 20120405 15:23:46< mattsc> e7th04sh: Hi 20120405 15:23:55< e7th04sh> hi mattsc 20120405 15:24:16< mattsc> I saw the questions you asked Crab about defensive strategies etc. 20120405 15:24:49< Nephro> mattsc, well, yes, that was the plan. We make a persistent data structure in the AI context, so elements can communicate and store stuff in it. 20120405 15:24:54-!- thethomaseffect [~thethomas@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has joined #wesnoth-dev 20120405 15:25:49< e7th04sh> mattsc: true, I've submitted proposal about the ai 20120405 15:26:20< Nephro> Elvish_Hunter, oh, so every campaign has it's own _main.cfg too 20120405 15:26:25-!- mattsc_ [~mattsc@S0106000352077632.gv.shawcable.net] has joined #wesnoth-dev 20120405 15:26:31-!- mattsc [~mattsc@S0106000352077632.gv.shawcable.net] has quit [Read error: Connection reset by peer] 20120405 15:26:32-!- mattsc_ is now known as mattsc 20120405 15:26:34< e7th04sh> I've got tortoise svn now and I want to pull Wesnoth. Should it be 1.9? 20120405 15:26:52< mattsc> All: sorry, I just got kicked out by the server... 20120405 15:27:27< Elvish_Hunter> Nephro: I'll tell you more, you can write a campaign completely inside a _main.cfg, but without it you have only a bunch of useless files. 20120405 15:28:11< mattsc> e7th04sh: what I was going to say is that I've thought about these things (defensive formations etc.) a lot and would be happy to discuss strategies. (I'm a Lua AI user, not a c++ programmer) 20120405 15:28:33< Nephro> Elvish_Hunter, would you mind, if I run the code in the preload event, globally, when a Lua environment is created? 20120405 15:28:50< e7th04sh> mattsc: that's great. I thought that discussing with a user of a product is next best to market dynamics. ;] And You don't have these in OO. 20120405 15:28:58< mattsc> I do have one Lua scenario out there that uses a simple methoed of next-turn retaliation calculation 20120405 15:29:24< e7th04sh> But I am not well versed in how things work now, so I'm not ready to talk about technical details. :/ 20120405 15:29:27< Elvish_Hunter> Nephro: but... why do you want to put a preload event in each scenario, when you can do it in a simpler way? 20120405 15:29:58< e7th04sh> mattsc: what's the idea behing the algorithm You've implemented? 20120405 15:30:09< Nephro> Elvish_Hunter, no no no, I want to get rid of that preload event. I want C++ to run the code on the creation of the Lua environment. 20120405 15:30:34< Nephro> So that everything that uses Lua already, sort of, has that preload event done 20120405 15:30:36< mattsc> Nephro: if I understand correctly, yes, the ai.data structure is there already and I use it quite a bit. 20120405 15:30:55< Nephro> mattsc, did you have any problems with it? 20120405 15:31:21< mattsc> Nephro: no, works perfectly 20120405 15:32:02< Elvish_Hunter> Nephro: add-ons cannot contain C++ stuff. 20120405 15:32:09 * e7th04sh is doing a checkout from trunk to a local directory... hopefully after following the guide i will have Wesnoth compiled and working' 20120405 15:32:38-!- avrilfanomar [~omar@host-70-116.emplot.net] has joined #wesnoth-dev 20120405 15:32:45< e7th04sh> one more question, if i checkout head trunk revision, is it working at the moment? 20120405 15:33:03< mattsc> e7th04sh: which one? where I avoid retalliation? 20120405 15:33:07< e7th04sh> yes 20120405 15:35:08< mattsc> That's one where I let the AI play the first scenario of 'Heir to the Throne'. 20120405 15:35:24< Nephro> Elvish_Hunter, one of us is confused, I am not sure which :D My proposition: every single bit of Lua code that needs to be run, is run on the very same Lua State object. THere's only one Lua environment kept by C++, in which C++ pushes in code and makes it run. I propose, to run the three lines of code of the preload event, on the creation moment of the Lua state 20120405 15:35:36< mattsc> You need to move to units (Konrad and Delfador) to a signpost while keeping them safe. 20120405 15:35:38< boucman_mobile> Ok, you have à good proposal here, i would like to discuss technical détails with you, but it is hard over mobile keyboard... Will you be here tonight at 23h Europe time ? 20120405 15:35:50< avrilfanomar> could somebody give me a link to description how to take a bug and make a patch? 20120405 15:36:04< mattsc> But at the same time, esp. Delfador is a strong unit, so if you can attack safely with him, you want to do so. So that's what the retaliation calc. is for. 20120405 15:36:14< bloodycoin> yep, I am currently in Autria, and go to sleep at about 2 am xD 20120405 15:36:43< bloodycoin> so, no problem 20120405 15:36:45< Elvish_Hunter> Nephro: C++ is not my area. 20120405 15:37:56< Nephro> Elvish_Hunter, lets put it this way. If I do what I am planning to, then every single snippet of Lua you write, will be executed in an environment, where the three lines of the preload event are executed. 20120405 15:38:16< boucman_mobile> Ok, good. However at this point, submitting patches is definitely the thing to do. It can be trivial, it doesn't have to be animation related, and it'd worth a lot in our evaluation :) 20120405 15:38:40< e7th04sh> mattsc: so you've made a fully ai scenario from first HttT scenario, and you calculate enemy possibility of retaliation, to maximize use of Delfador without endangering him? What's your algorithm for this retaliation, something fancy? 20120405 15:38:51< bloodycoin> I am working on that 20120405 15:39:01< boucman_mobile> Good :) 20120405 15:39:12< Elvish_Hunter> Nephro: so the preload event will be automatically executed for every [lua] tag that I write, right? 20120405 15:39:43< Nephro> Elvish_Hunter, it will be executed only once, when you launch the game 20120405 15:40:03< mattsc> e7th04sh: no it's trivial. It calculates the max. possible damage on the current turn. Then figures out how many enemies can reach the unit on the next turn and the maximum damage each of them could do. If the sum is > unit hitpoints, don't attack. So it's super conservative. 20120405 15:40:43< e7th04sh> Thought so. Did it take much effort? 20120405 15:40:46< Elvish_Hunter> Ah, so a global preload event that applies to every add-on. 20120405 15:42:10< mattsc> e7th04sh: not too much. Check out scenario 'The Elves Besieged' in add-on 'Ai Modification Demos' 20120405 15:42:25< anonymissimus> vultraz_laptop: interesting; could be a valid issue, can you pastebin a backtrace ? also, you can try executing a release build 20120405 15:42:36< e7th04sh> mattsc: sure thing. thank you. 20120405 15:42:44< Elvish_Hunter> Well, now I have to go, so if you have any detail, example of code, how should I use it as campaign developer, etc. please drop me a PM. 20120405 15:42:45< mattsc> Note that I am doing all this at the moment in figuring out the concepts. So elegant and efficient programming is not my priority. :) 20120405 15:42:48< Elvish_Hunter> Bye! 20120405 15:42:52< Nephro> Elvish_Hunter, just to be clear, you call all the game content add-ons? Because if no, then, there's a no from my side too... The event will be run for absolutely everything that uses Lua 20120405 15:43:09< Nephro> Ok, Bye, I'll get in touch 20120405 15:43:50< Elvish_Hunter> Nephro: I call add-on every campaign, multiplayer scenario, resource pack... Even mainline campaign can be considered add-ons, because the game can run just fine without them. 20120405 15:43:57< mattsc> Nephro: A comment on putting those lines into a global environment: Which files you include and use and how you call them is very dependent on your exact use. 20120405 15:44:13< anonymissimus> Nephro: in the pastebinned script it's global (no local keyword) 20120405 15:44:50< mattsc> Nephro: so putting them into a global environment that applies to all add-ons doesn't make too much sense, if I understand this correctly. 20120405 15:44:51< anonymissimus> Nephro: well, the lua scriptor shall be allowed to use or to not use it so it's not in the environment 20120405 15:45:22< mattsc> And setting them up for one add-on is not necessary because it can already be done (in _main.cfg) 20120405 15:45:38-!- Elvish_Hunter [1fbc3fc5@gateway/web/freenode/ip.31.188.63.197] has quit [Quit: Ciao!] 20120405 15:45:41< mattsc> But maybe I misunderstand what you are trying to do 20120405 15:46:58< mattsc> Just as an example: 'H = wesnoth.require "lua/helper.lua"' loads the Lua helper functions (a library, essentially) 20120405 15:47:19< mattsc> It the lets you call those with H.function_name(). 20120405 15:47:35 * anonymissimus should not answer before reading the following log 20120405 15:47:51< mattsc> But which libraries you call, and how you want to access them depends on the scenario you're using. 20120405 15:48:37-!- aknahs [~aknahs@cisne-cn10.upc.es] has joined #wesnoth-dev 20120405 15:48:49< mattsc> For example, in the test scenario I sent you a couple days ago, I am also including debug_utils from WLP. I need that for debugging, but it's unnecessary once you're done. 20120405 15:50:07< mattsc> Anyways: I need to go offline for ~30min, and will then be really busy for the next couple hours. Will be back in contact again after that. 20120405 15:50:19< Nephro> anonymissimus, mattsc : well, then the question becomes, is it considered boilerplate code if we have to call that every time we want to use it 20120405 15:51:31< mattsc> Nephro: My opinion: this one is not. The engine definition is the big BP item. 20120405 15:51:48< Nephro> if not, I just leave it there, cause right now I am working on getting rid of boilerplate code, and having a 10+ line preload event is kinda harsh to include one library 20120405 15:52:12< Nephro> mattsc, do you like the "planned" way of defining the engine i described in my wiki 20120405 15:52:13< Nephro> ? 20120405 15:52:42< mattsc> Nephro: Let me say this differently: the preload event (library defs etc.) are a Lua thing, they have nothing to do with Lua AI. 20120405 15:52:53< Nephro> mattsc, I agree 20120405 15:53:48< mattsc> The only boilerplate Lua AI thing that's there in that is the need for ca_counter (but you'll take care of that) and the inclusion of ai_stdlib (forgot what it is called exactly), and that doesn't currently do anything. 20120405 15:54:37< mattsc> And as I said, I already do my Lau AI scenarios without any preload events at all. 20120405 15:54:59< anonymissimus> Nephro: that code is perfectly fine IMHO 20120405 15:55:12< mattsc> As for your wiki, I read over it once quickly and it looks good in general. I can go over it more carefully again in 3 or 4 hours if you want me too. 20120405 15:55:24< anonymissimus> also note that wesnoth.require does not re-read and recompile the file in case it's already loaded 20120405 15:55:44< mattsc> I've had a couple busy days at work, so not much time (except for the chatting I've done here) 20120405 15:55:54< anonymissimus> but just returns the stored stuff 20120405 15:56:24< e7th04sh> I can't download from ftp://ftp.terraninfo.net/wesnoth/msvc9/external_19.zip, anyone has got that zip package to share? 20120405 15:56:26< anonymissimus> fendrin: lol; I imagine you burning a tree xD 20120405 15:56:31< mattsc> ok, I really have to be off now. 20120405 15:56:33< mattsc> bye 20120405 15:56:40-!- mattsc [~mattsc@S0106000352077632.gv.shawcable.net] has quit [Quit: bye] 20120405 15:59:43-!- tyrannodogg [~tyrannodo@ip-178-16.travedsl.de] has joined #wesnoth-dev 20120405 16:00:36< e7th04sh> ok, i'll go with the second guide 20120405 16:00:38-!- aknahs [~aknahs@cisne-cn10.upc.es] has quit [Ping timeout: 265 seconds] 20120405 16:02:42-!- aknahs [~aknahs@cisne-cn07.upc.es] has joined #wesnoth-dev 20120405 16:04:12-!- Crab_ [~Crab___@74.125.57.18] has joined #wesnoth-dev 20120405 16:04:58-!- thethomaseffect [~thethomas@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has quit [Ping timeout: 276 seconds] 20120405 16:11:25< vultraz_laptop> anonymissimus: is this the backtrace? http://pastebin.com/HSagZgEQ 20120405 16:16:51-!- Crab_ [~Crab___@74.125.57.18] has quit [Ping timeout: 246 seconds] 20120405 16:18:09-!- Crab_ [~Crab___@74.125.57.18] has joined #wesnoth-dev 20120405 16:18:11-!- naman22 [naman22@1.22.184.170] has joined #wesnoth-dev 20120405 16:18:38-!- mattsc [~mattsc@fw.hia.nrc.ca] has joined #wesnoth-dev 20120405 16:18:46< Nephro> Hi Crab_ ... After all the discussions, lots of thinking and a conversation with some devs here in the morning, we sort of came to a conclusion, that the only real boilerplate code is the engine definition part. If that's so, then it seems to be that can be solved with a nasty workaround in like 4 lines, maybe a little more with a clean solution. 20120405 16:19:15< Crab_> well, I've expected that :) 20120405 16:20:20< Nephro> Crab_, yes, I was surprised that you didn't tell me, that 1/3 of my GSoC project is 4 code lines :D 20120405 16:20:34-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 276 seconds] 20120405 16:20:43< mattsc> Nephro: I'm back on, although with lots of other things to do for the next couple hours. Did you see what I posted at ~5:10? 20120405 16:21:00< Crab_> Nephro: you've done the hardest part last year, so it's now easier for you to see simple solutions. 20120405 16:21:53< Nephro> mattsc, not really, where was the post? here? 20120405 16:22:19< mattsc> Nephro, yes. Check out todays log at that time. 20120405 16:22:42< Nephro> mattsc, wait a second, 5:10 in what time? 20120405 16:22:44< tyrannodogg> i guess the improve lua ai gsoc idea is rather done then? 20120405 16:23:18< mattsc> Log time. I assume that's UTC? http://www.wesnoth.org/irclogs/2012/04/%23wesnoth-dev.2012-04-05.log 20120405 16:24:49< Nephro> Crab_, I'm kind of in a stalemate now 20120405 16:25:52< Crab_> tyrannodogg: no, there's still a lot to do 20120405 16:25:59-!- thethomaseffect [~thethomas@86-40-82-101-dynamic.b-ras1.mgr.mullingar.eircom.net] has joined #wesnoth-dev 20120405 16:26:13< Crab_> tyrannodogg: first improvements are easy because it's really some stuff that ought to be done last year 20120405 16:26:17< mattsc> tyrannodogg: from my point of view (as a user of Lau AI) there's a lot that still needs to b done. 20120405 16:26:17-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 16:26:27< mattsc> *Lua 20120405 16:26:28< Crab_> tyrannodogg: but, after that, we have a long road to follow. 20120405 16:26:56< Crab_> Nephro: why? 20120405 16:28:06< vultraz_laptop> anonymissimus: changing the config to release and running fails :S 20120405 16:28:10< vultraz_laptop> c:\users\vultraz\documents\my games\wesnoth\src\serialization\binary_or_text.hpp(24): fatal error C1083: Cannot open include file: 'boost/iostreams/filtering_stream.hpp': No such file or directory 20120405 16:28:16< vultraz_laptop> get a lot of similar errors 20120405 16:29:32< Nephro> Crab_, well, since the boilerplate problem may be solved in 4 lines, the bugfixes are somewhat trivial, my proposal becomes somewhat redundant 20120405 16:29:57< e7th04sh> oh yeah, compiling 20120405 16:30:01< Crab_> Nephro: ask mattsc, he just said that 'there's a lot to be done' :) 20120405 16:30:06< e7th04sh> wish me luck... the guide is from year ago, roughly 20120405 16:30:11< e7th04sh> and i use express studio 20120405 16:30:20< Crab_> e7th04sh: good luck :)) 20120405 16:30:43 * Nephro pokes mattsc 20120405 16:31:00< e7th04sh> Is it normal that i see errors in compilation log already, whole it continues nevertheless? 20120405 16:32:13< tyrannodogg> ok, any i got finally a lil bit into the code and tried the ai chatting feature, is there a way to not chat as human player? 20120405 16:32:19< vultraz_laptop> anonymissimus: and debug builds have been spitting stuff like 20120405 16:32:23< vultraz_laptop> server.cpp 20120405 16:32:25< vultraz_laptop> No FIFODIR set 20120405 16:32:26< vultraz_laptop> c:\users\vultraz\documents\my games\wesnoth\projectfiles\vc10\external\include\boost\function\function_template.hpp(539): error C2668: 'boost::mem_fn' : ambiguous call to overloaded function 20120405 16:32:43< vultraz_laptop> anonymissimus: I think it's causing fails or something..... 20120405 16:34:38< mattsc> Nephro: well, did you see what I posted up there? Making the engine and variables be available at all time, for all sides. How easy is that to do? 20120405 16:35:54< mattsc> And I didn't read your proposal as just being boilerplate removal. There's the setting up of concepts. There's the implementation of all the stuff that's missing. Etc. 20120405 16:36:15< Crab_> tyrannodogg: yes. you might need to track down the code and use more low-level routines 20120405 16:36:34 * vultraz_laptop wonders why he can't seem to make working builds on either Mac or Windows 20120405 16:36:44-!- oldtopman [~oldtopman@unaffiliated/oldtopman] has joined #wesnoth-dev 20120405 16:37:24< Nephro> mattsc, iirc, the AI initializes stuff only when it's needed... I'll have to check that out more closely. The fact that variables don't change probably means that invalidation and recalculation isn't called in the proper times, anyhow, I think it's doable with the current design 20120405 16:37:58< Crab_> tyrannodogg: menu_events.cpp, around line 3042, add_chat_message(time(NULL), cfg["id"], side, message, - try messing with side here 20120405 16:38:18< mattsc> Well, it is done in Formula AI and really easy to use. I think that's one o the main reasons why "lots" of people still prefer FAI over LAI. 20120405 16:38:21< Crab_> tyrannodogg: and also with "side" in cfg before it 20120405 16:38:55< mattsc> Also having the engine available without any definition at all... 20120405 16:39:45< Crab_> mattsc: note that the engine's context shouldn't be available globally - i.e., the ai table should be passed as a parameter to registered candidate action evaluation/execution functions. 20120405 16:39:58< tyrannodogg> ok i allready send side through the action as parameter, ill look i further down the road 20120405 16:40:15< Crab_> tyrannodogg: check cfg["side"] a line before, as well 20120405 16:40:38< Crab_> mattsc: but the engine's AI modification routines (to add/view/modify parameters and actions) should be available globally, to use in non-ai wml events 20120405 16:40:54< mattsc> Crab_: So then how is it done in FAI? I can have a human controlled side there and use the AI actions, IIRC. 20120405 16:41:01< Crab_> mattsc: also, there should not be a need to define an engine. 20120405 16:41:23< Crab_> mattsc: yes, but it's ok, because you have an AI for each side 20120405 16:41:33< Crab_> mattsc: and cross-side actions are not alloved 20120405 16:41:37< Crab_> *allowed 20120405 16:41:42< mattsc> Crab_: but in Lua AI, at the moment, there is a need to define the engine. I have tried without, it crashes. 20120405 16:41:49< Crab_> mattsc: it's just that there fai engine is autocreated on demand 20120405 16:42:08< Nephro> mattsc, I'll fix that, it's trivial 20120405 16:42:12< Crab_> mattsc: yes, you're right. the need to define an engine should be eliminated. 20120405 16:42:43< mattsc> Crab_, Nephro: ok, thanks. I think I understand. 20120405 16:42:47< Nephro> actually, my 4 line patch will remove boilerplate code and eliminate the need of engine definition 20120405 16:43:13< Nephro> (not sure if it's 4 lines, but should be quite short anyway) 20120405 16:43:31< mattsc> Nephro: ok. So I have lots of "little" things like that, but as I mentioned before, I do not know if those are trivial changes or require full reqrites of the code. 20120405 16:44:11< mattsc> E.g. making all the attacks information available. :) 20120405 16:45:19-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120405 16:45:35-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120405 16:46:05-!- Crab_ [~Crab___@74.125.57.18] has quit [Quit: Do it for joy and you can do it forever] 20120405 16:46:24< Nephro> matthiaskrgr, Crab_ that's not impressive and I really want to get in this GSoC :D 20120405 16:46:29< Nephro> Crab_ said* 20120405 16:48:08< matthiaskrgr> ? 20120405 16:48:24< Nephro> woops, sorry that was meant for mattsc 20120405 16:52:14-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120405 16:52:39< aknahs> does anyone know when does mordante come online? 20120405 16:52:45-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has quit [Read error: No route to host] 20120405 16:54:53-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20120405 16:55:18-!- esr [~chatzilla@static-71-162-243-5.phlapa.fios.verizon.net] has quit [Changing host] 20120405 16:55:18-!- esr [~chatzilla@wesnoth/developer/esr] has joined #wesnoth-dev 20120405 16:55:25-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20120405 16:57:02< mattsc> Nephro, Crab_: another stupid question: the times I have been poking around in the c++ AI code, it always seemed to me that there are things all over the place. The current AI seems to use a mix from the old default AI, and the new AI, lots of things that are now standard are still called 'testing' etc. 20120405 16:58:04< Nephro> Yes, they seem to have a symbiotic relationship 20120405 16:58:22< mattsc> Is that intended to be that way or simply still left over from developing and comparing different AIs? For me it looks like a big clean_up job that could be done. (Of course, that's probably not a very exciting project...) 20120405 17:01:41-!- horon [~horon@nttkyo322045.tkyo.nt.ngn2.ppp.infoweb.ne.jp] has quit [Quit: Leaving...] 20120405 17:02:33-!- avrilfanomar [~omar@host-70-116.emplot.net] has left #wesnoth-dev [] 20120405 17:02:57< nagafono> hi there, i have a question: what is the deadline for submitting the patch for GSoC participiants? i'm a bit confused about the time frame 20120405 17:05:59-!- csarmi [~csarmi@2E6B859D.catv.pool.telekom.hu] has joined #wesnoth-dev 20120405 17:13:18< naman22> wanted to know that how would i manage the artwork if i had to make demos of my particle system 20120405 17:13:53< naman22> would wesnoth be helpful 20120405 17:21:17< anonymissimus> vultraz_laptop: builts on win or Mac just don't work it's as simply as that ;) 20120405 17:21:51-!- nagafono [~kvirc@178.19.254.1] has quit [Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/] 20120405 17:22:07< anonymissimus> vultraz_laptop: regarding the includes; thats genrally easy to solve, you probably need to tell MSVC correctly where to look for these files which it doesn't find 20120405 17:22:47< anonymissimus> the boost::mem_fn is a known thing; it only affects wesnothd 20120405 17:24:01-!- Danceman [~Danceman@a94-132-158-220.cpe.netcabo.pt] has joined #wesnoth-dev 20120405 17:24:12< anonymissimus> vultraz_laptop: no, you pastebinned the output 20120405 17:24:43< anonymissimus> I think the window is called "callstack" in MSVC's english version, you may need to translate that into your language 20120405 17:25:01< boucman_mobile> Naman22: not sûre i understand your question... 20120405 17:25:17< naman22> what if i want to make demos 20120405 17:25:25< naman22> and i need some artwork 20120405 17:25:27< naman22> like 20120405 17:25:39< naman22> if i want to generate fire effect 20120405 17:25:48< naman22> i might need some logs 20120405 17:26:08< boucman_mobile> Crappy art wouldn't be à problem, it motivates artists to replace it :) 20120405 17:26:22< zookeeper> yeah, just use "programmer art" 20120405 17:26:31< naman22> sure 20120405 17:26:47< naman22> :) 20120405 17:28:36< zookeeper> besides, in the case of particle systems, even very very simple art will do just fine for the purposes of demonstrating what it can do 20120405 17:29:51-!- nagafono [~kvirc@178.19.254.1] has joined #wesnoth-dev 20120405 17:32:09< anonymissimus> vultraz_laptop: I'm sure you know the backtraces wesnoth displays to you if you make an error in your lua code; MSVC's callstack window is basically the exact same thing for C++ 20120405 17:33:11< AI0867> mattsc: when RCA was implemented, its first real test was reimplementing the old AI using the new framework 20120405 17:33:37< AI0867> and after that, some improvements were made, but not too many 20120405 17:36:25< mattsc> AI0867: ok, thanks. I just found it confusing when I was trying to figure out what functions/files were being used, e.g. when trying to figure out what aspects were relevant for what candidate action. 20120405 17:36:31-!- HappyKsuh [~ksu.nyaka@217.118.78.41] has joined #wesnoth-dev 20120405 17:37:52< mattsc> But as I've said many times by now, I'm not a C++ programmer, so that's probably the main reason. 20120405 17:42:43< anonymissimus> I don't think it matters whether you are a programmer of any kind, the wesnoth source confuses you no matter what :) 20120405 17:44:36-!- liviuc [~liviu@p5.eregie.pub.ro] has joined #wesnoth-dev 20120405 17:44:54-!- boucman_mobile [~boucman@wesnoth/developer/boucman] has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )] 20120405 17:45:33-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has quit [Quit: Computer has gone to sleep.] 20120405 17:48:20< vultraz_laptop> anonymissimus: ok...um...I can't find the callstack window :( 20120405 17:48:23< mattsc> anonymissimus: :) I did manage to muddle through in the end, it was fun actually. 20120405 17:51:51< mattsc> nagafono: I'm not one of the mentors (or directly involved with the GSoC projects), but I've seen Crab_ say that they will accept patches for sure until April 8, and probably for "some time" after that. 20120405 17:52:31-!- optics2 [~spitzj3TW@barton-288.dynamic2.rpi.edu] has quit [Ping timeout: 252 seconds] 20120405 17:52:52< nagafono> mattsc: thx, i will ask him directly then when he will be online 20120405 17:56:24< anonymissimus> vultraz_laptop: it shoudl appear automatically when launchinf the debugger 20120405 17:56:35-!- Nephro [~Dmitry@02de475b.bb.sky.com] has quit [Remote host closed the connection] 20120405 17:56:57< anonymissimus> if not debug>windows> there it should be 20120405 17:57:20< anonymissimus> only in the debug perspective it seems though 20120405 17:58:22< vultraz_laptop> anonymissimus: it's empty 20120405 17:58:57-!- IvanSav [~IvanSav@ns2.ultranet.com.ua] has joined #wesnoth-dev 20120405 17:59:30< anonymissimus> you need to launch wesnoth...reproduce the crash...click retry... 20120405 18:00:00< naman22> is the project timeline that i have proposed could be made flexible? or do we have to stick to it? 20120405 18:00:14< anonymissimus> launch it with F5 or debug>start debugging 20120405 18:01:35< vultraz_laptop> anonymissimus: got a message saying a brakepoint was triggered 20120405 18:03:04< anonymissimus> yeah... 20120405 18:03:40< anonymissimus> press retry IIRC and copy-paste the callstack window content 20120405 18:04:09< vultraz_laptop> anonymissimus: http://pastebin.com/yuBBnnfm 20120405 18:06:14< anonymissimus> vultraz_laptop: looks like an issue with mordante's buffer thing 20120405 18:07:02< anonymissimus> compiling in 2010 would take an hour or more for me now so I can't investigate; VC9 launches fine 20120405 18:07:46< anonymissimus> but I'm guessing that I should get that as well 20120405 18:07:50-!- gabba [~gabba@ip-96-43-227-197.dsl.netrevolution.com] has joined #wesnoth-dev 20120405 18:07:57-!- gabba [~gabba@ip-96-43-227-197.dsl.netrevolution.com] has quit [Changing host] 20120405 18:07:57-!- gabba [~gabba@wesnoth/developer/gabba] has joined #wesnoth-dev 20120405 18:09:00< anonymissimus> although perhaps it's something language related there's this fontconfig call 20120405 18:09:47< anonymissimus> rather fonts, not language 20120405 18:10:50< anonymissimus> vultraz_laptop: perhaps you can find out with the debugger what it's trying to load and/or why that fails 20120405 18:12:26-!- crimson_penguin [~ben@wesnoth/developer/crimsonpenguin] has joined #wesnoth-dev 20120405 18:13:29-!- liviuc [~liviu@p5.eregie.pub.ro] has quit [Quit: Leaving.] 20120405 18:14:31< vultraz_laptop> anonymissimus: ok...I clicked on the callbacks until I got a file within wesnoth: preprocessor.cpp 20120405 18:15:45< vultraz_laptop> anonymissimus: seems to point to this function(?) http://pastebin.com/jYFdFFvv 20120405 18:16:22< vultraz_laptop> specifically, the little arrow's pointing to line 42 20120405 18:17:02< anonymissimus> vultraz_laptop: well, yes; you have reached the point where I can't help you now 20120405 18:17:51-!- ancestral [~ancestral@97-127-62-183.mpls.qwest.net] has joined #wesnoth-dev 20120405 18:17:52< anonymissimus> pls investigate...or curse wesnoth for being hardly developed on anything else than Linux :) 20120405 18:18:58< anonymissimus> though I may try myself once I can compile 20120405 18:20:10< vultraz_laptop> so annoying...can't get builds working on either Mac OR Windows :P 20120405 18:23:27-!- avrilfanomar [~omar@91.202.129.160] has joined #wesnoth-dev 20120405 18:26:57< gabba> anonymissimus: speaking of linux development, is it me or the debug build is horrendously slow under Windows? 20120405 18:27:02< mattsc> vultraz_laptop: I nuilt Wesnoth recently on a Mac with Xcode without problems 20120405 18:27:16< anonymissimus> gabba: nope, it is painfuly slow 20120405 18:27:49< gabba> seriously, it loads 5-6 times faster under Ubuntu, I ended up rebooting just so I could test in peace 20120405 18:28:14< anonymissimus> yes sounds normal 20120405 18:28:20< vultraz_laptop> mattsc: well..I get it built with no problems with XCode, but when I launch it it crashes because of some string disposal error 20120405 18:28:42< anonymissimus> gabba: VC9 is faster than VC10 20120405 18:28:50< anonymissimus> not much though 20120405 18:29:07< gabba> Oh really? So it can get even worse? (I'm under VS2008) 20120405 18:29:13< anonymissimus> yes 20120405 18:29:20< mattsc> vultraz_laptop: hmm, didn't happen for me. It launched just fine. This is with Snow Leopard 10.6.8. 20120405 18:29:21< gabba> Man, I now pity the Windows devs :/ 20120405 18:29:58< anonymissimus> you can curse wesnoth's templat-ish Linux-ish codebase for this 20120405 18:31:19< anonymissimus> not sure why it's so slow though; I only know for sure that it's related to the wml loading phase 20120405 18:31:31< mattsc> vultraz_laptop: is this something recent (within last 36h or so)? Sorry, didn't follow the whole thread. Do you want me to try of I can compile trunk right now? 20120405 18:31:41< gabba> templates can't be blamed, those aren't there anymore after preprocessing 20120405 18:32:00< vultraz_laptop> mattsc: it happens on Lion (10.7) Snow Leopard works fine 20120405 18:32:15< vultraz_laptop> and it seems I'm not the only one with building wesnoth on lion 20120405 18:32:30< mattsc> vultraz_laptop: I see. Sorry to bug you then... 20120405 18:32:37< vultraz_laptop> no prob 20120405 18:33:02< mattsc> And yes, in principle I would have upgraded to Lion by now as well, I've just been too lazy for it so far. 20120405 18:33:22-!- Nephro [~Dmitry@02de475b.bb.sky.com] has joined #wesnoth-dev 20120405 18:33:44-!- tyrannodogg [~tyrannodo@ip-178-16.travedsl.de] has quit [Quit: Leaving.] 20120405 18:35:09-!- trademark_ [~trademark@mon69-1-82-67-23-185.fbx.proxad.net] has joined #wesnoth-dev 20120405 18:35:15< vultraz_laptop> I had snow leopard for a few days while downloading Lion, and it was the ONLY time I got a working build of wesnoth 20120405 18:35:26-!- avrilfanomar1 [~omar@91.202.129.146] has joined #wesnoth-dev 20120405 18:35:33< vultraz_laptop> after the Lion upgrade I started getting this error 20120405 18:35:41< vultraz_laptop> and I can only access the editor 20120405 18:35:56< vultraz_laptop> so now I'm trying to compile on WIndows and failing there too -__- 20120405 18:35:57-!- avrilfanomar2 [~omar@91.202.129.160] has joined #wesnoth-dev 20120405 18:36:20-!- avrilfanomar2 [~omar@91.202.129.160] has left #wesnoth-dev [] 20120405 18:36:23< anonymissimus> vultraz_laptop: thats not right; compilation did work 20120405 18:36:32< vultraz_laptop> well, yeah. 20120405 18:36:37< vultraz_laptop> LAUNCHING failed 20120405 18:36:39-!- optics2 [~spitzj3TW@rpi-wl-120.dynamic.rpi.edu] has joined #wesnoth-dev 20120405 18:36:42< anonymissimus> you got past the linking step which is the most difficult one 20120405 18:37:11< anonymissimus> and this crash is likely to happen nto only for you so you just need to wait until it is fixed 20120405 18:37:44< anonymissimus> you could try the 1.10 source; if that works we know that it's probably that file loading buffer 20120405 18:39:00-!- avrilfanomar [~omar@91.202.129.160] has quit [Ping timeout: 252 seconds] 20120405 18:39:42-!- avrilfanomar1 [~omar@91.202.129.146] has quit [Ping timeout: 252 seconds] 20120405 18:41:55< vultraz_laptop> anonymissimus: I don't really want to wait another 4,5,6 hours to get the 1.10 source downloaded ;) 20120405 18:42:17< anonymissimus> vultraz_laptop: you could also try reverting r53626 (and related revisions) 20120405 18:42:34< anonymissimus> to see whether it was introduced by that 20120405 18:44:10< anonymissimus> more specifically, revert 53626, 53625 and then 53624 which should work without conflicts hopefully 20120405 18:44:26< anonymissimus> and then try again 20120405 18:44:39< vultraz_laptop> how do I revert specific revisions 20120405 18:45:54< anonymissimus> well you would also need to adapt the project files 20120405 18:46:09< anonymissimus> I dunno, depends on your VCS 20120405 18:47:22< anonymissimus> vultraz_laptop: it's "revert changes from this revision" in tortoiseSVN 20120405 18:47:47< anonymissimus> right click in the log viewer 20120405 18:48:17< anonymissimus> and remove the added files from the project file otherwise MCVS fails 20120405 18:48:37-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20120405 18:54:19< vultraz_laptop> WOW 20120405 18:54:50< vultraz_laptop> TortoiseSVN can really do some cool stuff 20120405 18:55:46< vultraz_laptop> anonymissimus: do I remove the added files from inside MSVC? 20120405 18:57:05< vultraz_laptop> seems only buffered_istream.hpp was the only one added 20120405 18:59:33< vultraz_laptop> anonymissimus: huh....can;t seem to find that file in MSVC 20120405 19:00:51-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20120405 19:06:31< gabba> lol, actually its SVN (Subversion) which can do some cool stuff. TortoiseSVN is only a nifty (and sometimes confusing) frontend to it. 20120405 19:06:58< vultraz_laptop> lol 20120405 19:07:04< gabba> If svn impresses you, I can guarantee git will blow your mind (but it's harder to learn) 20120405 19:08:22< Nephro> gabba, hi, did you came to some sort of conclusion yesterday with Crab? 20120405 19:08:49-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has joined #wesnoth-dev 20120405 19:08:54< vultraz_laptop> so far my experiences with git have been largely negative 20120405 19:08:54< gabba> Nephro: not really, we went back to discussing ejls' project 20120405 19:09:44< gabba> vultraz_laptop: really? I find it much more reliable than svn. There are more ways to screw up, but unlike svn you can come back from any mistake. 20120405 19:10:18< Nephro> gabba, do you might have any other ideas of what I could tackle during pre-GSoC? 20120405 19:10:32< vultraz_laptop> yup. I have a git checkout of FlightGear, and it's given me oh so much frustration 20120405 19:10:38< gabba> Nephro: how much time do you have to spend on a side-project 20120405 19:10:41-!- mordante [~mordante@roadie.xs4all.nl] has joined #wesnoth-dev 20120405 19:10:41-!- mordante [~mordante@roadie.xs4all.nl] has quit [Changing host] 20120405 19:10:41-!- mordante [~mordante@wesnoth/developer/mordante] has joined #wesnoth-dev 20120405 19:10:56< mordante> servus 20120405 19:11:02< gabba> hi mordante 20120405 19:11:16< mordante> hi gabba 20120405 19:11:45< Nephro> gabba, I can move things around. A couple of days would be ok. 20120405 19:11:55-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120405 19:12:31< gabba> Oh, btw guys, really off-topic but if you like old-school rpgs, take a look at this: http://www.kickstarter.com/projects/1613260297/shadowrun-returns 20120405 19:13:08< vultraz_laptop> anonymissimus: ok..I really can't find that file to remove it 20120405 19:13:15< Nephro> hi mordante ! I'll ask you the same question I asked gabba, do you might have any other ideas of what I could tackle during pre-GSoC? 20120405 19:13:17< gabba> Nephro: I had a couple ideas floating in my head, let's see if I can recall some small project 20120405 19:14:33< gabba> Nephro: what have you worked on so far in Wesnoth? Any other part of the code you know well besides the AI? 20120405 19:15:20< Nephro> gabba, No, AI only. I suppose I'll have to learn. 20120405 19:15:42< gabba> That's fine, it just affects the size of what I can propose 20120405 19:15:52< Nephro> (learning more about game development might benefit someone who plans to become a gamedev ) 20120405 19:16:48< vultraz_laptop> anonymissimus: log says last commit to the VC10 stuff was r53616 20120405 19:17:16< Nephro> mordante, gabba, anonymissimus also, as mentors, feel free to check out my page, ask questions if you find something confusing or interesting. 20120405 19:17:28< vultraz_laptop> which was 'recreated the VC10 solution from the VC9 one' 20120405 19:17:43< vultraz_laptop> and that file didn't get added until r53624 20120405 19:17:55-!- nagafono [~kvirc@178.19.254.1] has quit [Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/] 20120405 19:18:02< vultraz_laptop> anonymissimus: ^ 20120405 19:18:03< gabba> Nephro: well, there's this revamped attack dialog that displays multiple attackers (up to 6) and the overall chance-to-kill... from one of my ideas, but up to now nobody did a satisfactory application 20120405 19:18:38< gabba> it's pure GUI work, since Crab_ told me the CTK algorithm already exists and is used by the AI (so, easy for you to find) 20120405 19:19:19< gabba> Nephro: very cool feature, and even if you only prototype it, it would already be helpful 20120405 19:19:46< gabba> For my other ideas, I'll have to dig a bit in the code and my notes to see if I can recall an interesting one 20120405 19:20:02-!- nagafono [~kvirc@178.19.254.1] has joined #wesnoth-dev 20120405 19:22:13< mordante> e7th04sh, how long it takes to compile in a VM depends on the machine and whether it has virtual machine extensions 20120405 19:22:22< mordante> e7th04sh, I would also advice to use ccache 20120405 19:22:57< Nephro> gabba, isn't that the idea for a whole gsoc for some1? 20120405 19:23:02< mordante> Nephro, no ideas at the moment, will check out your page later tonight (if I have time no idea how many new proposals we have) 20120405 19:23:05< gabba> Nephro: another idea would be doing a lot of testing to detect and tackle a few minor annoyances in the whiteboard interface - I kinda run out of steam with testing eventually 20120405 19:23:27< gabba> Nephro: not really, I would've added a lot of misc tasks to complete the scope of a GSoC project 20120405 19:26:08< mordante> mattsc, log time it UTC+2 20120405 19:26:33< gabba> Nephro: A smaller idea that requires more thought and design than coding, perhaps: finding a good UI for the "suppose dead" action and implementing it 20120405 19:27:03< mordante> aknahs, you're looking for me? 20120405 19:27:12< gabba> Even smaller (one-day task): take this patch, update it, test it and commit it (probably less than one day work, actually): https://gna.org/patch/?1381 20120405 19:27:51< gabba> can never bring myself to finish it since I burn out on the whiteboard before, typically 20120405 19:28:04< anonymissimus> vultraz_laptop: forget what I said about file removing 20120405 19:28:45 * anonymissimus feels like student not mentor 20120405 19:28:49< gabba> Nephro: in the same vein of long-standing FR that I can't finish, there's the Name local players feature. Much needed, but it requires a bit of thought and architecture work: https://gna.org/bugs/?4154 20120405 19:29:15< gabba> Two or three days work, this last one I think 20120405 19:30:09< gabba> Pick your poison! I probably have even more ideas if I dig into my notes. 20120405 19:30:18< vultraz_laptop> anonymissimus: ok...but now I'm getting errors trying to build 20120405 19:30:48< mordante> vultraz_laptop, what issue do you exactly have? 20120405 19:30:58< mattsc> mordante: thanks 20120405 19:31:35< vultraz_laptop> mordante: http://pastebin.com/yuBBnnfm so I reverted the relative commits and am trying again 20120405 19:32:11< mordante> vultraz_laptop, what does the debug message say? 20120405 19:32:42< vultraz_laptop> anonymissimus: now I'm getting C:\Users\Vultraz\Documents\My Games\wesnoth\projectfiles\VC10\liblua.vcxproj : error MSB4014: The build stopped unexpectedly because of an internal failure. 20120405 19:33:08< vultraz_laptop> mordante: the output or the callstack? 20120405 19:33:34< mordante> vultraz_laptop, the output, you already gave the callstack ;-) 20120405 19:33:57< mordante> gabba, IIRC in debug mode MSVC also uses debug iterators, which are slow(er) 20120405 19:34:12< vultraz_laptop> mordante: lol http://pastebin.com/HSagZgEQ 20120405 19:34:56< Samual> oh, did you guys get into google summer of code? 20120405 19:35:08< vultraz_laptop> mordante: so I reverted r53624-53626 and am trying again 20120405 19:35:19< Samual> (i'm guessing that's what this is going on right now :P heh) 20120405 19:35:20< mordante> vultraz_laptop, your callstack ends with _Debug_message ... I assume it shows a message, that is what I would like to see 20120405 19:35:39< mordante> Samual, indeed Wesnoth participates in GSoC 20120405 19:35:55< Samual> mordante: ah 20120405 19:36:05< gabba> mordante: is that the _HAS_ITERATOR_DEBUGGING=1 setting? And what's the consequence of turning that off? 20120405 19:36:13< Samual> mordante: I was just curious -- I heard they cut down this year 20120405 19:36:29< Samual> we didn't even try to get in this year (Xonotic), seemed too difficult 20120405 19:36:38< vultraz_laptop> mordante: I'm a bit confused hete 20120405 19:36:38< anonymissimus> vultraz_laptop: upon your previous launch attempts, dod you have set ../.. in wesnoth>properties>working directory ? 20120405 19:36:39< vultraz_laptop> here* 20120405 19:36:48< gabba> Haven't seen it explicitly defined, maybe I can try setting it to zero and see how it affects debugging... 20120405 19:36:53< mordante> gabba, not sure haven't used MSVC that much, most knowledge is second hand 20120405 19:37:02< vultraz_laptop> anonymissimus: um......not sure. lemme check 20120405 19:37:11-!- Alarantalara [~Adium@CPEc0c1c09e8055-CM00252eac6d62.cpe.net.cable.rogers.com] has quit [Quit: Leaving.] 20120405 19:37:27< mordante> Samual, yeah we got in again and heard they cut down again 20120405 19:37:41< mordante> Samual, I would suggest to try next year 20120405 19:38:03< gabba> Samual: Xonotic? Nice project, I played a bit of Nexuiz a few years ago. 20120405 19:38:07< anonymissimus> gabba: HAS_ITERATOR_DEBUGGING is interesting; it was already tried turning that off in wesnoth 20120405 19:38:32< mordante> vultraz_laptop, wasn't there some kind of error message? 20120405 19:38:33< vultraz_laptop> anonymissimus: can't find that option 20120405 19:38:34< anonymissimus> I don't recall whether I tried myself; at least there are som compilation errors then 20120405 19:38:44< Samual> mordante: hopefully we'll be at 1.0 by next year hehe 20120405 19:38:49< Samual> gabba: thanks 20120405 19:38:53< gabba> This article talks about this setting and another which supposedly slows down debug builds like hell: http://www.codeproject.com/Articles/212856/Head-to-head-benchmark-Csharp-vs-NET 20120405 19:39:25< vultraz_laptop> mordante: oh, that: "Expression: string iterator not dereferencable" 20120405 19:39:50< anonymissimus> vultraz_laptop: right-click project wesnoth>properties>configuration properties>debugging>workind directory 20120405 19:40:20< anonymissimus> you need to have ../.. there so that the execution dir is wesnoth root 20120405 19:40:36< vultraz_laptop> anonymissimus: it's set to $(project_dir) 20120405 19:40:52< mordante> Samual, I haven't played Xonotic but the presentation at the FOSDEM was nice 20120405 19:41:09< Samual> oh yeah, merlijn gave that 20120405 19:41:13< anonymissimus> yup thats wrong fix it 20120405 19:41:23< Samual> I heard a LOT of you wesnoth guys go to that event :P 20120405 19:41:36< mordante> vultraz_laptop, ok, that helps me 20120405 19:41:39< Samual> wish I could, but too expensive considering i'm American 20120405 19:41:44< anonymissimus> you should also put -t -d in the command arguments filed 20120405 19:42:06< mordante> Samual, yeah we have quite a lot of European devs and we use the FOSDEM as our annual meeting 20120405 19:42:15< Samual> I see I see 20120405 19:42:17< anonymissimus> so that wesnoth is in debug mode, and t to launch directly the test scenario so it is a bit less painfully long until a scenario is up 20120405 19:42:34< mordante> vultraz_laptop, if you have a way to reproduce it I'd like to know 20120405 19:43:03< vultraz_laptop> anonymissimus: do I add ../.. next to $(project_dir) or do I replace $(project_dir) with ../.. 20120405 19:43:52< mordante> afk, dinner time 20120405 19:44:12-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has quit [Quit: Page closed] 20120405 19:44:55< anonymissimus> replace 20120405 19:45:17< anonymissimus> vultraz_laptop: ok well, VC10 launches correctly into the test scenario for me 20120405 19:45:35< vultraz_laptop> mordante: I'm trying on windows as I can't get mac builds working. I did this: http://wiki.wesnoth.org/CompilingWesnothOnWindows#Compiling_Wesnoth_on_Windows_.282.29 then dealt with some OMP stuff (unrelated), then pressed F5 to launch, and got that 20120405 19:45:48< vultraz_laptop> anonymissimus: :S 20120405 19:45:59< anonymissimus> vultraz_laptop: did you setup your environmtn variables so that MSVC finds the dlls ? 20120405 19:46:14< vultraz_laptop> yes 20120405 19:46:42< anonymissimus> if you did that but didnt have the execution directory correctly set it may have been the reason for why that fontconfig thing wasnt found 20120405 19:49:49-!- wesbot changed the topic of #wesnoth-dev to: 1.10.2 planned for April 7th, string freeze for branches/1.10 | Wesnoth accepted in GSoC 2012 | http://wiki.wesnoth.org/SummerOfCodeIdeas | 171 bugs, 328 feature requests, 17 patches | Logs: http://irclogs.wesnoth.org | Don't paste on IRC! Use a pastebin: http://pastebin.com | http://imagebin.org 20120405 19:49:54< vultraz_laptop> well..now it seems to be launching.....but painfully slow 20120405 19:50:09< vultraz_laptop> ssssllllllloooooowwwwww 20120405 19:50:24< anonymissimus> ok 20120405 19:50:30< anonymissimus> well yes its slow 20120405 19:51:38< anonymissimus> but at least it works; and the slow phase is only when loading wml 20120405 19:52:21< anonymissimus> once you have a scenario up you can reload and execute action wml/lua on the fly to debug the engine in-depth, so as long as you don't need to change code it's great 20120405 19:52:27< Nephro> anonymissimus, if a Lua function from wml-tags.lua is called from a LuaAI context, is it able to use variable local to that context? 20120405 19:52:53< anonymissimus> Nephro: no idea 20120405 19:53:04< anonymissimus> what is "LuaAI contex" ? 20120405 19:53:24< vultraz_laptop> anonymissimus: ok, it works only when launching from MSVC 20120405 19:53:33< vultraz_laptop> not from the explorer 20120405 19:53:35< Ivanovic> hi 20120405 19:53:39< vultraz_laptop> I get that error 20120405 19:53:48< Ivanovic> ahhh, easter weekend, 4 free days in a row! 20120405 19:54:21< Nephro> anonymissimus, hmm, i think that doesn't really matter. What matters is, a Lua function can see the local variables of function that call them, right? 20120405 19:54:25< anonymissimus> you can do some wesnoth work then I assume 20120405 19:54:57< vultraz_laptop> anonymissimus: and when I try to recompile it gives me C:\Users\Vultraz\Documents\My Games\wesnoth\projectfiles\VC10\liblua.vcxproj : error MSB4014: The build stopped unexpectedly because of an internal failure. 20120405 19:55:09< anonymissimus> Nephro: um, no, should not 20120405 19:55:36< anonymissimus> hm good question 20120405 19:56:10< Nephro> I'll ask the guys in Lua to make sure 20120405 19:56:48< mattsc> Nephro: the answer to that is definitely no 20120405 19:56:51< Nephro> *#Lua 20120405 19:57:38-!- dream_lane [~benjamin@99-93-250-85.lightspeed.chtnsc.sbcglobal.net] has joined #wesnoth-dev 20120405 19:57:38< anonymissimus> Nephro: no, this gives me nil: http://pastebin.com/6KpXCkqM 20120405 19:57:44< vultraz_laptop> anonymissimus: http://pastebin.com/wGEnQP5A 20120405 19:58:03< Nephro> anonymissimus, mattsc ok thanks 20120405 19:59:11< Nephro> mattsc, then I'll have to ask you. Have you used the wml_actions.add_ai_behavior(cfg) and if yes, where did you place the code the calls this function? 20120405 19:59:18< anonymissimus> vultraz_laptop: no idea, looks like one of those things which make me prefer VC9 20120405 19:59:53< mattsc> I've used it in an event, using WML 20120405 20:00:50< dream_lane> Random question, does Wesnoth have a testing harness? 20120405 20:01:47< Nephro> mattsc, did you predefine all the needed stuff in the engine or you wrote all of the needed code inside the event? 20120405 20:02:13< vultraz_laptop> anonymissimus: LOL I quit and restarted MSVC and not it works *rolls eyes* 20120405 20:02:18< vultraz_laptop> now* 20120405 20:02:31< anonymissimus> vultraz_laptop: it is often a good idea to delete files which MSVC generates automatically; namely the whole Debug/ folder 20120405 20:02:44< mattsc> Nephro: I'm a bit confused. ... Oh, you mean the eval/exec functions? 20120405 20:02:53< Nephro> mattsc, yes 20120405 20:02:58< vultraz_laptop> anonymissimus: but that;s where the exe is 20120405 20:03:10< mattsc> Umm, let me just look up an example... 20120405 20:03:15< anonymissimus> and *I think* this *.xdf file which is probably the successor of *.ncb 20120405 20:03:54< anonymissimus> *.sdf 20120405 20:04:53< mattsc> Nephro: check out the coward AI special here: 20120405 20:04:54< mattsc> http://wiki.wesnoth.org/Lua_AI_Code_Library#Coward_AI_special 20120405 20:05:28< anonymissimus> yup, sdf replaces the ncb file which contains the intellisense info 20120405 20:05:34< mattsc> It does not use [add_ai_behavior] (because I didn't want to have the ca_counter issue), but [modify_ai] in an equivalent way 20120405 20:05:42-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has joined #wesnoth-dev 20120405 20:07:07-!- bwrsandman [~sandy@132.205.240.53] has joined #wesnoth-dev 20120405 20:07:49< anonymissimus> vultraz_laptop: yes, the exe in Debug/ is generated upon compilation so you can delete it safely 20120405 20:08:07< Nephro> mattsc, I see, but that one doesn't use the sticky ca mechanism, right? You basically have a ca that filters off a unit and moves it around, instead of assigning behavior to a unit? 20120405 20:08:52< anonymissimus> so well, you have a fully working build system don't you ? time to celebrate 20120405 20:09:08< mattsc> Nephro, no, it's sticky. 20120405 20:09:33< mattsc> I use exactly what you programmed into [add_ai_behavior], just that I am doing it "manually" rather than using that tag 20120405 20:09:48< bwrsandman> Hi guys! I'm currently applying for your GSoC. 20120405 20:10:03-!- vultraz_laptop [~chatzilla@124.109.10.221] has quit [Ping timeout: 245 seconds] 20120405 20:10:03< bwrsandman> Just would like to introduce myself. 20120405 20:13:27< Nephro> mattsc, but that looks like pretty clean code. What part of it would you like to get rid of? 20120405 20:13:49< Nephro> hi bwrsandman 20120405 20:15:20< mattsc> Nephro: do you mean for boilerplate stuff or for the add_ai_behavior bug? 20120405 20:15:37< Nephro> mattsc, the boilerplate code in that particular example 20120405 20:15:50< aknahs> if one would like both addon server or AI projects.. would it be possible to apply to more than one? (SOC) 20120405 20:16:01< aknahs> lol 20120405 20:16:36-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has quit [Read error: Connection reset by peer] 20120405 20:16:53< Nephro> aknahs, you can apply for more than one, but the orgs usually recommend to focus on one application and make it really good. 20120405 20:17:21< aknahs> thanks 20120405 20:17:27-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120405 20:17:29< mattsc> Nephro: the fact that the engine _has to_ be defined 20120405 20:18:28< Nephro> mattsc, but where would you write your functions if you don't define an engine? 20120405 20:18:33< mattsc> What I would like to do is have 'evaluation = function()' 20120405 20:18:43-!- aknahs [~aknahs@cisne-cn07.upc.es] has quit [] 20120405 20:18:56< mattsc> inside the [candidate_action] tag 20120405 20:19:35< mattsc> The function can then be defined in a global environment (preload; main.cfg; whatever) or simply be included from a file with wesnoth.dofile() 20120405 20:19:41< CIA-69> ivanovic * r53786 /trunk/ (3 files in 2 dirs): updated French translation 20120405 20:19:42< CIA-69> ivanovic * r53785 /branches/1.10/ (3 files in 2 dirs): updated French translation 20120405 20:20:19-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has quit [Remote host closed the connection] 20120405 20:20:20< Ivanovic> mordante: anything pandoraspecific for me to test (especially regarding 1.10.2) 20120405 20:20:23< Ivanovic> ? 20120405 20:21:12-!- aknahs [~aknahs@cisne-cn07.upc.es] has joined #wesnoth-dev 20120405 20:21:14< Nephro> mattsc, functions can't float around out of context, the LuaAI context provides the functionality. 20120405 20:22:11-!- aknahs [~aknahs@cisne-cn07.upc.es] has quit [Client Quit] 20120405 20:22:30< Nephro> mattsc, you see, each LuaAI gets its own context with the "ai" table, that provides access to .move(), .attack() etc 20120405 20:22:34< gabba> dream_lane: we do have a set of unit tests, that are not as comprehensive as they should ideally be. 20120405 20:22:42< mattsc> AFAIK, it provides the context here through use of the (...), but I can have Lua functions in the global scenario environment. 20120405 20:22:58< dream_lane> gabba: Okay, thanks 20120405 20:23:05-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120405 20:23:05< Nephro> mattsc, yes, you can, but you won't be able to access the "ai" table 20120405 20:23:15< Nephro> mattsc, and I think that should work now 20120405 20:23:23-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has quit [Read error: Connection reset by peer] 20120405 20:23:40< mattsc> Nephro: what should work now? 20120405 20:23:42< Nephro> mattsc, I mean there shouldn't be anything stopping you from doing evaluation="function" 20120405 20:24:09< mattsc> Nephro: I agree. That should work. 20120405 20:24:26< mattsc> But I think the goal is to get rid of the engine definition, and that is not possible. 20120405 20:24:36< Nephro> mattsc, or, wait... it will still try to push the context onto the stack, but if you don't define the engine there is no context 20120405 20:25:06< mattsc> I see. 20120405 20:25:32-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120405 20:25:49< mattsc> So, I think it comes down to what I wrote you in the log there at 5:20 (UTC+2). 20120405 20:25:54< Nephro> mattsc, well, a context is something an AI should have... I can modify the code, so that if you don't define the engine it will just create an empty one 20120405 20:26:11< mattsc> I'd like to be able to define CAs without having to define an engine. 20120405 20:26:33< mattsc> And I'd like to be able to access the ai.whatever() functions for the side in that way. 20120405 20:26:38< Nephro> mattsc, but can you write useful CAs with no "ai" table functionality? 20120405 20:26:57< mattsc> Nephro: yes, see my second comment. 20120405 20:27:13< mattsc> It is done that way in Formula AI, so it must be possible somehow. 20120405 20:27:35< dream_lane> Has anyone worked on implementing C++11 move semantics in Wesnoth? I recently attended a talk where C++11 was discussed and move semantics seems like it could provide a nice performance increase... Although now that I think of it, I haven't noticed any performance issues with Wesnoth 20120405 20:27:59-!- Danceman [~Danceman@a94-132-158-220.cpe.netcabo.pt] has quit [Quit: Leaving] 20120405 20:29:43< Nephro> mattsc, this is kind of confusing, but I'll try to break it down (1) you want to omit definition of the LuaAI engine; (2) you want to use CAs that are not in the LuaAI context; (3) you want to use the "ai" table without defining the engine code. Is all that correct? 20120405 20:30:37< mattsc> (1) and (3) are definitely correct. (2) is correct if I understand what it means correctly. 20120405 20:31:01< mattsc> Let me make an example from FAI: 20120405 20:31:38< mattsc> For testing some FAI code, I just have a simple scenario in which I control Side 1 as human player. 20120405 20:31:50-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has quit [Remote host closed the connection] 20120405 20:32:32< mattsc> I can go on the Formula command line and type: 'my_moves' or 'enemy_moves' and it gives me that information 20120405 20:32:56-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has quit [Ping timeout: 245 seconds] 20120405 20:32:56-!- e7th04sh [3e3d3ab7@gateway/web/freenode/ip.62.61.58.183] has quit [Ping timeout: 245 seconds] 20120405 20:33:09< mordante> Ivanovic, nothing for 1.10.2 to test on the Pandora, I'm working on some experimental stuff for trunk, but gsoc drains my time 20120405 20:33:23< mattsc> I can, at the Formula command line, type: attacks[some parameter], and it will do the attack 20120405 20:33:42< mattsc> Then, if I type 'my_moves' again, it will give me the updated list. 20120405 20:33:57< mordante> dream_lane, we don't want C++11 yet compiler support isn't good enough yet 20120405 20:34:01-!- Gallaecio [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120405 20:34:06< mattsc> You can also do this with more complicated code by including code from a file (right there at the command line) 20120405 20:34:16< mordante> I like C++11, but it's too new for an established project 20120405 20:34:26< mattsc> It is really, really convenient, and does not require you to define anything at all in the scenario code. 20120405 20:35:23< mattsc> So, very selfishly, I'd like to see that kind of functionality in Lua AI as well. (just that I'd not use the command line here, but execute the code with a right-click menu option; but that's a technicality) 20120405 20:35:32< mattsc> Does that make any sense? 20120405 20:35:47< Nephro> mattsc, ok, I understand. The problem with this is that LuaAI is highly dependent on its context. It basically lives in it. 20120405 20:36:20< Nephro> mattsc, all the LuaAI code, all of it, uses the engine(context), for functioning 20120405 20:36:22< mattsc> Nephro: Ok. Can the context be the global scenario environment? Split up by side? 20120405 20:36:48< mattsc> Or can the engine context be set up automatically at the beginning of the turn? 20120405 20:37:06< mattsc> whether the engine is defined manually or not? 20120405 20:37:29< mattsc> I'd have no issue with typing ai.my_moves instead of just my_moves, that's fine. 20120405 20:37:39< dream_lane> mordante: That makes sense, I guess if you were working on a new project altogether it would be a different story. 20120405 20:38:16< mattsc> I'd just like it to be there, even if the side is control by a human, rather than having to let it play through an ai turn first. 20120405 20:38:44< mattsc> And, as I said, I'd like it to be updated if I do something manually, as it is done in FAI 20120405 20:39:24< Nephro> mattsc, well, Crab said in the morning 20120405 20:39:25< Nephro> mattsc: note that the engine's context shouldn't be available globally - i.e., the ai table should be passed as a parameter to registered candidate action evaluation/execution functions. 20120405 20:39:44< Nephro> and it looks that he designed that system specifically for such behavior 20120405 20:41:35< mordante> dream_lane, exactly for a new project it makes sense, I also feel you design things different with C++11 20120405 20:42:31< mattsc> Nephro: thinking ... 20120405 20:42:37< Nephro> mattsc, and about fai, the fai you use on the human side is a different context to the on used by the actual fai player 20120405 20:42:46< dream_lane> Interesting. I don't know C++11 well enough to agree or disagree with that one 20120405 20:43:08< mordante> well move support allows for different designs 20120405 20:43:28< mattsc> Nephro: concerning fai context: ok, but I can still test my code in whatever context I am in... 20120405 20:43:39< mordante> and template packs parameters are very nice 20120405 20:43:50< mattsc> Nephro: so would this work: 20120405 20:44:11-!- Crendgrim [~crend@77-22-112-72-dynip.superkabel.de] has quit [Quit: ...] 20120405 20:44:30< mordante> I also like how easy it is to default and delete the standard ctor, dtor, copy and move members 20120405 20:44:37< mattsc> 1. The engine is defined and initialized automatically at the side turn start 20120405 20:45:05-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20120405 20:45:38< mattsc> Ok, I am still too confused to go on to step 2. 20120405 20:46:23< Nephro> mattsc, what seems to cause you problems defining everything inside the engine? 20120405 20:46:59< mattsc> Nothing, really, it works just fine. 20120405 20:47:40< Nephro> mattsc, I'll ask it this way: are there things you can't do with the current design? 20120405 20:47:42< mattsc> I was just thinking that it should be possible to do this without an engine definition. 20120405 20:47:53< mattsc> Nephro: no 20120405 20:48:37< mattsc> But it requires a couple dozen lines of code to set up the functionality, whereas in FAI is requires zero lines of code 20120405 20:49:27< mattsc> Mind you, that code is always the same and I know how to do that now, but it is a hurdle to take when you get started and scares some people away. 20120405 20:50:27< Nephro> mattsc, can you show me exactly which lines you don't want to see? 20120405 20:52:03< Nephro> mattsc, the engine section is for defining your scenario unique candidate action function, or even better, including ones from premade libraries 20120405 20:52:43< Nephro> mattsc, getting rid of that, for the purpose of scattering the function definitions around the scenario file might not be such a good idea 20120405 20:53:53< mattsc> Nephro: if you want to keep things inside the engine context, then I guess I don't have much to add (exclude) 20120405 20:54:09-!- vultraz_laptop [~chatzilla@124.109.10.221] has joined #wesnoth-dev 20120405 20:54:10< mattsc> However, what I was previously imagining is something like this: 20120405 20:54:27< Nephro> mattsc, the C++ engine is like a brick wall, it just is there... all you can do is take some bricks out, or put some bricks on top. LuaAI lets you create your own bricks, that's why it seems so wordy to come up with something 20120405 20:54:49< mattsc> http://pastebin.com/BSxXaEc9 20120405 20:54:56< mordante> Nephro, when you update your proposal, makes sure you leave a note in melange 20120405 20:56:01< mattsc> In order to set up a candidate action, that's the _only_ code I need in the scenario. The actual lurker code gets included from a file. I don't have to worry about setting up the context or anything. 20120405 20:56:09-!- optics2 [~spitzj3TW@rpi-wl-120.dynamic.rpi.edu] has quit [Ping timeout: 265 seconds] 20120405 20:56:34< Nephro> mordante, I changed the desc on melange, I thought that would trigger some kind of notification system. 20120405 20:57:04< mattsc> The equivalent for Lua is what I was imagining, but you tell me that this isn't possible or desirable, if I understand you correctly. 20120405 20:57:14< dream_lane> mordante: yeah it seems like a nice evolution to the language. 20120405 20:57:28< mordante> Nephro, no idea, probably will, but since your page is in the wiki we don't get notified when that changes 20120405 20:57:44< mordante> dream_lane, indeed also the threading stuff is interesting 20120405 20:57:49< Nephro> mordante, well, that's why I pinged you today :) 20120405 20:58:07-!- optics2 [~spitzj3TW@rpi-wl-1024.dynamic.rpi.edu] has joined #wesnoth-dev 20120405 20:58:11< mattsc> That's fine, I guess, but there is a separate issue that makes testing a lot harder, and that's that the ai table does not get updated when I do something as human player. 20120405 20:58:25< mordante> Nephro, yeah no problem, just wanted to make sure you're aware of it 20120405 20:58:30< mordante> now reading it for the first time 20120405 20:59:04< mattsc> It makes testing some things _much_ harder than it is in FAI. 20120405 20:59:43< Nephro> mattsc, right now that can be done, by requiring the lua script in the engine, and setting the candidate action in the same way 20120405 21:00:37< mattsc> But it requires me to set up the engine and require it in there, right? 20120405 21:00:42< Nephro> mattsc, probably that was done because fai seems to be built-in wesnoth, and lua is something that needs compilation first. that is why lua engine is compiled with the ai table as a closure and then you can use it 20120405 21:01:03< Nephro> mattsc, yes, that is correct 20120405 21:01:46< mattsc> Nephro: on setting up the engine: so that is the part I considered boilerplate that could be gotten rid of. (As I said, it's not really such a big deal) 20120405 21:03:04< Nephro> mattsc, I don't see a way we can have a ai table floating around, that would make no sense at all. if you do ai.do_something() while you're a human player, you would have to have a luaai context for a human... a different one. I am not sure how fai does that, but it probably sets up its engine for the human player, so that you can use it's functionality 20120405 21:03:11< mattsc> on fai vs. Lua: I understand how that causes the difference. But the effect for the user is that testing some things in Lua is really difficult. It is really not very user friendly. If there's any way to do something about that, that would be great. 20120405 21:03:50< mattsc> I thought Crab said earlier that an ai is defined for all sides, even human controlled ones. 20120405 21:04:03< Nephro> mattsc, yes, testing and debugging the Lua stuff was another part of my project. We didn't get to talk to Crab_ about how deep we want to go there 20120405 21:04:09< mordante> Nephro, left a message in melange 20120405 21:04:29< Nephro> mattsc, well, yes, once you try using ai functionality, it sets itself up 20120405 21:04:33< Nephro> thanks mordante 20120405 21:05:21< mattsc> Nephro: slight misunderstanding here, I think: I don't mean testing the Lua AI functionality, but testing my own Lua AI code, in which I might implement some special AI behavior 20120405 21:05:44< Nephro> mattsc, yes, I meant the same, I probably didn't phrase it right 20120405 21:05:48< mattsc> It only sets itself up for an AI side, not for the human side. 20120405 21:06:25< mattsc> So I need to play through an AI turn for the side, then change the controller to AI, in order to be able to use the ai table. 20120405 21:07:21< Nephro> mordante, about the documentation that isn't part of GSoC: I wanted to write documentation to the whole AI system additionally to what I documenting parts I actually work on 20120405 21:07:25< mattsc> Again, let me give you an example of the part that's kind of hard to deal with: 20120405 21:08:13< mordante> Nephro, I also consider that development work so in the scope of GSoC 20120405 21:08:36< mattsc> Let's say I want to find the best hexes to move all my sides units to. I want to select them from what ai.get_dstsrc() returns. 20120405 21:08:46< mordante> I'd probably even a GSoC project that's only about documenting Wesnoth 20120405 21:09:02< Nephro> mordante, I think google prohibits that 20120405 21:09:23< mordante> Nephro, where does it state that? 20120405 21:09:34< Nephro> mordante, looking for it 20120405 21:09:39< ejls> I confirm, it's writen in the FAQ… 20120405 21:09:56< Nephro> http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/faqs#documentation mordante 20120405 21:10:06< mattsc> In order to test that, I take charge of a human controlled side, in which I move units around, or change their movement points etc. by hand (debug mode), then run my algorithm over the new situation. 20120405 21:10:30< mordante> ah ok 20120405 21:10:42< dream_lane> Yeah, GSoC is a code project rather than a documentation one I believe 20120405 21:10:50< mattsc> In FAI, my_moves uses the current situation. In LAI, ai.get_dstsrc() is stuck at what the situation was at the beginning of the scenario. 20120405 21:10:53< ejls> Well, you can tell them "I'm not documenting the code, I'm testing Doxygen". 20120405 21:10:57< Nephro> mordante, that's the reason I stated that I'll write docs as a bonus :) 20120405 21:11:23< mordante> properly documenting unknown code is also developing, I'm sure it will find bugs 20120405 21:11:29< mattsc> IFrom what I am hearing you say, it might be difficult to have this sort of auto-update done in Lua AI. But would it be possible to add an ai.update_ai_table() function? 20120405 21:11:59< mattsc> One that I can run manually, rather than the automatic updates it does on gamestate changes during the AI turn? 20120405 21:12:01< mordante> Nephro, but since you also want to develop things it should be no problem 20120405 21:12:07< Nephro> mattsc, that actually sounds more like a bug to me 20120405 21:12:27< mattsc> Oh... That'd be great! 20120405 21:14:04< mattsc> Do you want me to send you an example where this happens? 20120405 21:15:36-!- Gallaecio_ [~quassel@84.120.114.134.dyn.user.ono.com] has joined #wesnoth-dev 20120405 21:16:03< Nephro> mattsc, wait a sec, you are able to use LuaAI fine there, but the problem is that the movemaps are not updating? 20120405 21:16:38< mattsc> Nephro: yep 20120405 21:17:08< Nephro> I'll add that to my todo list, that definitely sounds like a bug to me 20120405 21:17:59< mattsc> Ok. Cool. From what I had understood from you and Crab_ I thought that was how it's supposed to be. 20120405 21:18:18< mattsc> In particular Crab_ said something earlier today or yesterday that I interpreted in that way. 20120405 21:19:12< mattsc> So, I guess, in summary, if you say we need to define the AI functions in the engine context, then there really isn't much (any?) boiler plate code to get rid of. 20120405 21:19:50-!- optics2 [~spitzj3TW@rpi-wl-1024.dynamic.rpi.edu] has quit [Ping timeout: 265 seconds] 20120405 21:19:51< mattsc> And if the above is a bug, and you can fix that, as well as some of my other bugs/feature requests, I'd be quite a happy camper. 20120405 21:20:00< Nephro> mattsc, I am not sure about anything myself now. Been doing so much thinking last few days, my head is like a boiling kettle 20120405 21:20:23< mattsc> I'm sorry if that means that I am killing part of your GSoC project with this. :( 20120405 21:20:38-!- optics2 [~spitzj3TW@rpi-wl-1024.dynamic.rpi.edu] has joined #wesnoth-dev 20120405 21:20:40< mattsc> Nephro: I know that feeling... 20120405 21:20:45-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has joined #wesnoth-dev 20120405 21:20:58< Nephro> mattsc, well, I'd rather define functions in separate files and only include them in the engine code. That will keep things (1) clean and (2) easily reusable 20120405 21:21:16< Nephro> mattsc, I don't think you will ever have the need to write a candidate action only for one scenario 20120405 21:21:58< mattsc> That's fine. That's how I am doing it in AI-Demos anyway (including files in the engine) 20120405 21:22:15< Nephro> mattsc, don't worry, Crab_ said we'll find things to do if I get accepted :D 20120405 21:22:53< Nephro> mattsc, I still can write a patch that will cut off a couple lines like "ai = ..." or "return my_ai" 20120405 21:23:18< mattsc> Nephro: ok. 20120405 21:23:20< Nephro> mattsc, but that will force you to use "my_ai" always 20120405 21:23:43< mattsc> Oh, yeah, that's a problem actually. 20120405 21:23:45< Nephro> that is, you will have to name your functions my_ai:something and my_ai:somethingelse. 20120405 21:24:07< mattsc> Actually, it causes a follow_up problem (which might also be a bug). 20120405 21:24:09< Nephro> mattsc, there are three solutions I see for this 20120405 21:24:31< mattsc> Nephro: I haven't said what the problem is yet. :) 20120405 21:25:11< Nephro> (1) you just name functions how you want, but they will have to have a self parameter without "my_ai:" at all (2) you predefine the name of the object outside the engine 20120405 21:25:13< mattsc> I have a scenario in which I have two different sides with two (different) special Lua AI code sections. 20120405 21:25:24< Nephro> mattsc, oh sorry, LuaAI is taking over my own actions 20120405 21:25:35< mattsc> If both of them use the same name for the ai, like 'my_ai', they interfere with each other. 20120405 21:25:43< mattsc> :) 20120405 21:25:43< Nephro> mattsc, really? 20120405 21:25:49< mattsc> yep. 20120405 21:26:05< Nephro> wow, that's not good 20120405 21:27:05< mordante> I'm off bye 20120405 21:27:10< Nephro> bye mordante 20120405 21:28:35< Nephro> mattsc, you'll have to send me that scenario... I don't see how this is even possible, since C++ deals with anonymous tables 20120405 21:29:01< mattsc> I think I made a note of it in a forum post. Currently looking for it... 20120405 21:29:30-!- MeccaGod [majs@host189-199.bornet.net] has quit [] 20120405 21:31:20< CIA-69> alarantalara * r53787 /trunk/data/campaigns/Under_the_Burning_Suns/scenarios/09_Blood_is_Thicker_Than_Water.cfg: more code simplification ported from Eftboren branch 20120405 21:31:34-!- mordante [~mordante@wesnoth/developer/mordante] has quit [Quit: Leaving] 20120405 21:32:02< CIA-69> alarantalara * r53788 /trunk/projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: display revision number in Debug builds with Xcode - currently works with svn only 20120405 21:33:01< mattsc> Oh, I remember where it is ... 20120405 21:38:35-!- niklabh [niklabh811@106.195.192.137] has joined #wesnoth-dev 20120405 21:38:46< niklabh> hi 20120405 21:42:13< mattsc> Nephro: oh, I remember now what is going on. In order to include code with wesnoth.require(), I need to make the AI variable global. And then, it interferes with those from other sides. 20120405 21:42:30< mattsc> in order to include it in the engine, I mean... 20120405 21:43:17< Nephro> why does it have to be global? 20120405 21:43:34< mattsc> So that's probably be bad practice, but how can I get around that? Maybe using wesnoth.dofile? 20120405 21:44:05< mattsc> Because otherwise it isn't known inside the file that I am including. 20120405 21:44:21< mattsc> Let me show you what I am doing, maybe this is not the right way. 20120405 21:45:12-!- optics2 [~spitzj3TW@rpi-wl-1024.dynamic.rpi.edu] has quit [Quit: Leaving.] 20120405 21:45:44< mattsc> http://pastebin.com/gaeYqi51 20120405 21:47:39 * dream_lane is afk 20120405 21:49:07-!- niklabh [niklabh811@106.195.192.137] has quit [] 20120405 21:49:57< mattsc> IIRC, this is the only way how I could manage to get it to work if I wanted to include the engine code from a file, rather than having it clutter up the scenario file. 20120405 21:51:40< Nephro> mattsc, ai = ... is a line that shouldn't be modified. In your scenario the ai_urudin = ... means that ai_urudin is becoming a copy of the ai table 20120405 21:52:05< mattsc> yes. there's no problem with that. 20120405 21:52:25< mattsc> In fact, it is a problem if I do not do it. 20120405 21:52:47< Nephro> ai = ... means "let ai be the table the table that is on top of the Lua stack" and on top of the stack is a anonymous table that contains the functions the ai table usually does 20120405 21:53:39< Nephro> mattsc, try removing the ai = ... from the globals and use ai = ... inside both engines 20120405 21:54:03< Nephro> that should let you name the table with your ai the same way in both ais 20120405 21:54:07< mattsc> that's what I am doing. Then they interfere with each other. 20120405 21:54:24< mattsc> until I change one to a different name, then everything works just fine. 20120405 21:55:15< Nephro> until you change one of the "ai" to something else or one of the "my_ai" to something else? 20120405 21:56:30< mattsc> if I have 'ai = ...' in both engines, they interfere with each other 20120405 21:56:43< mattsc> If I rename one of them as I did on this example, it works just fine. 20120405 21:57:14< mattsc> if I put 'local ai = ...' into both engines, it works just fine as well, but then I cannot (have not figured out how to?) include code from a file. 20120405 21:58:02< anonymissimus> gabba: , AI0867 : I've just noticed that the same MSVC installation compiles another project by using 2 cores effectively for me 20120405 21:58:03< bwrsandman> Alright, I submitted my proposal. I hope you guys like it! http://wiki.wesnoth.org/Bwrsandman_Whiteboard:_Multiple_Chance-to-kill_calculations_and_interface_polish 20120405 21:58:50< anonymissimus> so there must be something about the project or project file settings in wesnoth which hinders it 20120405 21:59:08< gabba> anonymissimus: yup, the log suggests that stuff is compiled out of order here, so there's more than one process after all. I hope it uses my 4 cores. 20120405 22:00:34< Nephro> mattsc, can you try to completely remove the global preload and do the work of preload inside of the engines? 20120405 22:01:49-!- naman22 [naman22@1.22.184.170] has quit [Ping timeout: 245 seconds] 20120405 22:02:05< mattsc> Nephro: there is no preload in those scenarios 20120405 22:03:16< Nephro> mattsc, ok, then the problem is that you can't access the functions that include files? 20120405 22:03:22< anonymissimus> gabba: well, when it compiles wesnoth, the 2 cores go only to about 50%, while in that other they were at 100 20120405 22:03:38< anonymissimus> naturally, my IDE settings are the same 20120405 22:03:59< gabba> I'm curious, I'll look at CPU usage as well 20120405 22:04:12< mattsc> That I cannot add function to the ai table from inside the file, yes. 20120405 22:05:05< Nephro> mattsc, what error does that cause? 20120405 22:05:12< mattsc> But besides that, I am remembering a few things now and I would like to argue against you removing the 'my_ai = ...' line for other reasons as well. 20120405 22:05:56< Nephro> mattsc, there shouldn't be a "my_ai = ..." line 20120405 22:06:04< mattsc> The testing of Lua code only works conveniently if you have the option of setting up this variable as a global variable. 20120405 22:06:25< Nephro> there should be "ai = ..." and your personal_ai table 20120405 22:06:34< Nephro> mattsc, that is very bad for lots of reasons 20120405 22:06:46-!- e7th04sh [3e3d3ab7@gateway/web/freenode/ip.62.61.58.183] has joined #wesnoth-dev 20120405 22:06:49< Nephro> you are basically exposing the ai context to the whole game 20120405 22:06:54< e7th04sh> crab_: crab: thanks for comment. I will read these accepted proposal from previous editions tommorrow. Also, my compilation of wesnoth failed today. So i will try again tommorrow, because logs couldn't be saved, and seek advice. If visual express fails me, i will try virtual box with debian perhaps. 20120405 22:07:11< Nephro> I think Crab would not like that to be done 20120405 22:07:36< mattsc> Umm... Ok. 20120405 22:08:01< mattsc> I can see that for the final code, however, for the testing of code it is essential that I am able to do something like that. 20120405 22:08:35< Nephro> mattsc, while it's ok if you do that for personal debugging purposes that's really bad if a scenario is published that way 20120405 22:08:37< mattsc> Otherwise I cannot do any manual testing of my code using ai functions as well. 20120405 22:09:05< mattsc> Ok. Nobody's ever told me that. :) 20120405 22:09:09< Nephro> mattsc, when Crab is here, we'll try to figure out a better way of granting access to the context to the debugger 20120405 22:09:20< mattsc> Ok. Cool. 20120405 22:09:23< Nephro> mattsc, i realised that only now myself 20120405 22:09:44< Nephro> It was me who actually added ai = ... to globals 20120405 22:09:49< mattsc> I really have to do something else now anyway... This is fascinating stuff, but ... 20120405 22:10:12< Nephro> I don't know why someone didn't kill me yet 20120405 22:10:32< mattsc> Because I'm the only one using it and I have no idea what I am doing? ;) 20120405 22:11:13< Nephro> mattsc, well, Crab probably saw how I posted that code. Either he didn't notice or he spared my life :D 20120405 22:11:14< mattsc> No, seriously, I think this discussion is great (very useful for me). I hope I haven't wasted too much of your time with it. 20120405 22:11:16-!- e7th04sh [3e3d3ab7@gateway/web/freenode/ip.62.61.58.183] has quit [Ping timeout: 245 seconds] 20120405 22:11:45< mattsc> Anyways, I need to do something else for a while, I'll be back later. 20120405 22:11:48< mattsc> Cheers. 20120405 22:11:54< Nephro> bye 20120405 22:12:03-!- mattsc [~mattsc@fw.hia.nrc.ca] has quit [Quit: bye] 20120405 22:26:49-!- Nephro [~Dmitry@02de475b.bb.sky.com] has quit [Ping timeout: 245 seconds] 20120405 22:27:51-!- timotei [~timotei@188.24.4.67] has joined #wesnoth-dev 20120405 22:27:57-!- timotei [~timotei@188.24.4.67] has quit [Changing host] 20120405 22:27:57-!- timotei [~timotei@wesnoth/developer/timotei] has joined #wesnoth-dev 20120405 22:30:07-!- aknahs [aknahs@174.pool85-50-123.dynamic.orange.es] has joined #wesnoth-dev 20120405 22:30:26-!- tyrannodogg [~tyrannodo@ip-29-16.travedsl.de] has joined #wesnoth-dev 20120405 22:30:53-!- HappyKsuh [~ksu.nyaka@217.118.78.41] has quit [Ping timeout: 244 seconds] 20120405 22:32:29< shadowm> there's no undocumented 'healed' event or some such that I'm missing, right? 20120405 22:32:45-!- HappyKsuh [~ksu.nyaka@217.118.78.41] has joined #wesnoth-dev 20120405 22:38:08-!- negusnyul [~negusnyul@dsl4E5CD33A.pool.t-online.hu] has quit [Quit: Konversation terminated!] 20120405 22:39:19-!- timotei [~timotei@wesnoth/developer/timotei] has quit [Quit: SIGKILL] 20120405 22:41:38-!- timotei [~timotei@wesnoth/developer/timotei] has joined #wesnoth-dev 20120405 22:42:42< tyrannodogg> hi there, does anyone know why mordante was looking for me? 20120405 22:47:50-!- HappyKsuh [~ksu.nyaka@217.118.78.41] has quit [] 20120405 22:49:13< trademark_> is there someone who can enlighten me on the difference between "is_keep" and "is_castle". When is it important ? 20120405 22:50:07< timotei> tyrannodogg: I think only mordante himself knows. Unless he asked publicly :P 20120405 22:50:58-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20120405 22:50:59-!- mattsc [~mattsc@fw.hia.nrc.ca] has joined #wesnoth-dev 20120405 22:51:02< shadowm> trademark_: I don't know about the code, but gameplay-wise it's important to know the difference between keeps and castles. 20120405 22:51:02< zookeeper> trademark_, a leader can only recruit when standing on a keep, and units can be recruited on any castle or keep tile that's connected to the leader's keep tile. 20120405 22:51:05< shadowm> that 20120405 22:51:08< tyrannodogg> ok 20120405 22:51:46< trademark_> zookeeper, thank you I just understood :) The keep is only one tile in most case ! 20120405 22:54:36-!- ghart2010 [a376f3e1@gateway/web/freenode/ip.163.118.243.225] has quit [Ping timeout: 245 seconds] 20120405 23:01:49-!- aknahs [aknahs@174.pool85-50-123.dynamic.orange.es] has quit [] 20120405 23:07:07-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20120405 23:11:44-!- skd [skd@174.pool85-50-123.dynamic.orange.es] has joined #wesnoth-dev 20120405 23:12:20-!- Ingeniumed [u5855@gateway/web/irccloud.com/x-lwrxthrnilnuiaqw] has joined #wesnoth-dev 20120405 23:15:28-!- nagafono [~kvirc@178.19.254.1] has quit [Quit: KVIrc 4.1.3 Equilibrium http://www.kvirc.net/] 20120405 23:16:19-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has quit [Ping timeout: 264 seconds] 20120405 23:17:11< CIA-69> ejls * r53789 /trunk/src/whiteboard/ (action.hpp move.hpp recall.hpp recruit.hpp suppose_dead.hpp): 20120405 23:17:11< CIA-69> Some const correctness for the whiteboard 20120405 23:17:11< CIA-69> Make wb::action::is_valid const 20120405 23:17:23-!- skd [skd@174.pool85-50-123.dynamic.orange.es] has quit [] 20120405 23:17:38< ejls> ok, git-svn is working. 20120405 23:17:44-!- aknahs [aknahs@174.pool85-50-123.dynamic.orange.es] has joined #wesnoth-dev 20120405 23:19:02-!- neph [~neph@02de475b.bb.sky.com] has joined #wesnoth-dev 20120405 23:19:08-!- aknahs is now known as aknahs7 20120405 23:19:10-!- aknahs7 is now known as aknahs 20120405 23:22:10< boucman> hey all 20120405 23:22:14< boucman> bloodycoin: around ? 20120405 23:23:23-!- HelloIRC [~Yokipi@wireless-165-124-145-107.nuwlan.northwestern.edu] has joined #wesnoth-dev 20120405 23:24:27-!- nagafono [~kvirc@178.19.254.1] has joined #wesnoth-dev 20120405 23:24:35-!- timotei [~timotei@wesnoth/developer/timotei] has quit [Read error: Connection reset by peer] 20120405 23:25:11< neph> Ivanovic, boucman, I've updated my wiki page. If you could take a look on it, and ask questions or discuss something you might find useful/interesting, I'd be thankful. (Lacks a timeline at the moment, but I need Crab to help me solve that one) 20120405 23:26:03< boucman> ok, url plz ? 20120405 23:26:40< neph> boucman, also, I got pointed out, that I should ask other mentors for ideas of what I could do during the pre-gsoc, to get the to like me :) If you have something not too big in your field, I could give it a try. Right now, only gabba shared a couple of his 20120405 23:26:44< neph> tasks* 20120405 23:27:07< neph> boucman, http://wiki.wesnoth.org/SoC2012_nephro 20120405 23:27:21< boucman> my area is rather solid, unfortunately, I guess someone pointed you to the EasyCoding page already... 20120405 23:28:44< bloodycoin> boucman, here 20120405 23:28:45< neph> boucman, well, I got also pointed out, that by solving easycoding I might not pull it off this year 20120405 23:29:14< nagafono> boucman: i asked this before but no menotrs nswered so i repeat my question: what is the deadline for submitting the patch for GSoC participiants? i'm a bit confused about the time frame 20120405 23:29:15< boucman> hmm, not sure what you mean on that one... 20120405 23:29:24< boucman> bloodycoin: ok, now that I have a real keyboard :) 20120405 23:29:41< bloodycoin> yep, real keyboard is good :) 20120405 23:29:57< boucman> I liked your library, you have good ideas, but I am not sure how well it would interact with our current drawing system, did you did a little into it ? 20120405 23:30:14< boucman> /did/dig 20120405 23:30:29-!- shadowm_laptop [ignacio@wesnoth/developer/shadowmaster] has joined #wesnoth-dev 20120405 23:30:52-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has joined #wesnoth-dev 20120405 23:31:18< bloodycoin> yep, I was trying to fix https://gna.org/bugs/index.php?19486, atalantara pointed out 20120405 23:31:45< boucman> nagafono: the "real" deadline is whenever we review your application, but we guarentee it won't be befor april 8 20120405 23:31:50< bloodycoin> but I think I am looking at wrong part of code... Had to trace program execution 20120405 23:32:21< boucman> bloodycoin: that's probably a triky one :) 20120405 23:32:25< bloodycoin> and actually still don't quite get where and how invalidation is done 20120405 23:32:46< boucman> yes, that's what it's tricky, did anybody point you to the :sunset command ? 20120405 23:32:56< bloodycoin> nop 20120405 23:33:26< boucman> ok, start a game in debug mode, enter :sunset and see what it does. it helps a lot to debug that sort of stuff 20120405 23:33:27< bloodycoin> only found out about debug mode today... xD was tracing with gdb 20120405 23:33:31-!- bwrsandman [~sandy@132.205.240.53] has quit [Ping timeout: 252 seconds] 20120405 23:34:05< boucman> so, invalidation logic... since it's probably related to your bug 20120405 23:34:06-!- gabba [~gabba@wesnoth/developer/gabba] has quit [Read error: Connection reset by peer] 20120405 23:34:08-!- csarmi [~csarmi@2E6B859D.catv.pool.telekom.hu] has quit [] 20120405 23:34:33< boucman> basically, we optimize drawing by only redrawing hexes that need to be redrawn. So our whole redrawing logic is in two phase. 20120405 23:34:37< nagafono> boucman: so sohuld i just add a couple of words on easycoding page that i'm developing the thing from the section or ir is not necessary? 20120405 23:34:49< boucman> 1) find all hexes needing a redraw (in no particular order) 20120405 23:35:12< boucman> 2) redraw what needs to be redrawn (in a very specific order, independant of the invalidation order 20120405 23:36:00-!- avrilfanomar3 [~omar@91.202.129.152] has joined #wesnoth-dev 20120405 23:36:27< avrilfanomar3> could somebody tell me how to take a bug to fix it 20120405 23:36:33< boucman> nagafono: it boils down to this "where can we see work you did on wesnoth" if it's not in but submitted, point us to the patch, if it's not submitted, link to a patch stating that it's not ready... we want to see what you did... 20120405 23:36:35< bloodycoin> but it invalidates only the part of the hex on which overlapping texture/surface is? or it just redraw hex background? 20120405 23:37:06< nagafono> boucman: thx, now its clear 20120405 23:37:38< boucman> bloodycoin: when we redraw a hex, we redraw the whole hex: background+unit (not sure I understand your question, though) 20120405 23:37:54< bloodycoin> because now I see that only animation invalidates the hex it's main unit is draw on 20120405 23:38:37-!- gabba [~gabba@wesnoth/developer/gabba] has joined #wesnoth-dev 20120405 23:38:38< boucman> interesting... it should compute the hexes it's on and invalidate all of them. if it doesn't, there is something wrong 20120405 23:39:08< boucman> does it happen for normal units too, or only ghosted units ? 20120405 23:39:19< bloodycoin> ye, that's what I have been trying to find in code 20120405 23:39:27< bloodycoin> on normal to 20120405 23:40:06< bloodycoin> actually, it happens on even standing unit if graphics gets out of hex area 20120405 23:40:16< boucman> ok, the "core" of it should be in unit_frame.cpp::get_overlaped_hex 20120405 23:40:34< boucman> "even standing units" or "only standing units" ? 20120405 23:41:03< bloodycoin> *even on standing units 20120405 23:41:03-!- Gambit [~gambit@wesnoth/developer/grickit] has joined #wesnoth-dev 20120405 23:41:24< boucman> and unit_frame.cpp::get_overlaped_hex should be consistant with unit_frame.cpp::redraw (inconsistancies could cause what you see... 20120405 23:43:19< boucman> ok, looking at the images with the bug, there might be something different... 20120405 23:43:41< boucman> there is one complicated case with invalidation, suppose we have a unit in hex A 20120405 23:43:57< boucman> this unit moves out of hex A 20120405 23:44:26< boucman> we call the invalidation code, which in turn asks the unit: "do we need to redraw any hex for you" 20120405 23:44:46-!- trademark_ [~trademark@mon69-1-82-67-23-185.fbx.proxad.net] has quit [Ping timeout: 244 seconds] 20120405 23:45:02< boucman> the unit will not tell about hex A (it's not there anymore) but hex A still needs to be redrawn, since we need to erase what was there previously 20120405 23:45:38< bloodycoin> and unit say "invalidate around me" but as unit has already moved, it check around new location and not the old? 20120405 23:45:56< boucman> there is a mechanism for that in display .cpp (we keep the list of hex invalidated at last redraw for that purpose) but it seems not to work correctly 20120405 23:46:01< boucman> bloodycoin: yes 20120405 23:46:08< ejls> Hum, bug #19486 seems to be a duplicate of #17989. 20120405 23:46:50< HelloIRC> I submitted an application for the AI project, but I'm not too sure what a good timeline should look like in this specific case... I feel like I haven't spent nearly enough time with the codebase yet. 20120405 23:46:56< HelloIRC> Do you have a recommendation of something I could look at? 20120405 23:46:59< boucman> ejls: thx, marking 20120405 23:47:27< bloodycoin> errm... any suggestion where to post image on net? I would show what I mean by standing unit too. 20120405 23:47:56-!- bwrsandman [~sandy@dyn-161-150.wireless.concordia.ca] has joined #wesnoth-dev 20120405 23:48:01< ejls> bloodycoin: the topic says http://imagebin.org 20120405 23:48:02< boucman> imagebin 20120405 23:48:22< bloodycoin> oh... ^^' not used to reading topic 20120405 23:48:27< boucman> hehe 20120405 23:50:07< boucman> bloodycoin: the anim engine is quite solid, I don't say it's foolproof, but I havn't has a bug like that for quite some time, so try to look if there isn't something interesting in the way ghosted units work wrt invalidation, or in the way the whiteboard uses these, that would be my best guess 20120405 23:51:45< boucman> neph: in your "known problems" section there are some stuff that are not too complicated and that you could code pre-GSoC if you are looking for stuff to code and show us... 20120405 23:51:56< boucman> (not sure if you already submitted stuff, sry) 20120405 23:53:48-!- bwrsandman [~sandy@dyn-161-150.wireless.concordia.ca] has left #wesnoth-dev [] 20120405 23:53:53< boucman> neph: I havn't much to say on your application, it is well beyond the stage where a generic mentor can give much advice, you will need to wait for Crab_ to look at it. it seems good from my point of view... 20120405 23:54:21< bloodycoin> this is what I mean: http://imagebin.org/206838 20120405 23:55:07< boucman> that is indeed a stading anim (or ghosted anim for the grey one) 20120405 23:55:18< neph> boucman, well, Crab saw it. And it was Crab who told me to bug you for coding ideas, since I proved my knowledge of C++ last year, and coding stuff from my application would just be showing off my knowledge of the current implementation, not my will to learn new things 20120405 23:55:29< neph> boucman, but anyway, thanks for the attention :) 20120405 23:55:45< boucman> oh, ok :P 20120405 23:56:02< bloodycoin> correct me if wrong, standing anim has one frame which gets repeated? 20120405 23:56:58< boucman> bloodycoin: that's not mandatory... flying drakes on water or any unit that wobble is also a standing anim 20120405 23:57:12< boucman> though most units are indeed single frame, and your drake example is 20120405 23:57:14< bloodycoin> also, these artefacts gets invalidated if I try to leave themon animated terrain hex, like village or water 20120405 23:57:49< bloodycoin> oh, so drake flying over water is considered stading anim too? 20120405 23:58:26< boucman> bloodycoin: standing anims are anims that are played when the unit has no specific action to do. 20120405 23:58:59< boucman> (not to be mixed with idle anims that are played randomly to show the unit being bored, but that's not relevant here) 20120405 23:59:09< bloodycoin> oh ok... seemed confused that flying is standing :) 20120405 23:59:56< boucman> and it makes sense that animated terrains don't display the bug since their animations force a redraw and most of them (specifically water) overlap on the neighbouring hex and thus force a redraw of that neighbouring hex --- Log closed Fri Apr 06 00:00:04 2012