--- Log opened Sun May 10 00:00:05 2009 --- Day changed Sun May 10 2009 20090510 00:00:04< boucman> maybe mordante 20090510 00:00:10< Crab_> boucman: I want to remove that gui_->draw(); call... 20090510 00:00:12< boucman> since it seems gui related 20090510 00:00:22< boucman> it looks weird 20090510 00:00:35< Crab_> see ftp://ftp.terraninfo.net/wesnoth/ai_01.jpeg 20090510 00:00:56< boucman> I mean... calling a display callback in AI to redraw the screen makes sense, but there seem to be some mouse+scroll handling in there, which seems weird 20090510 00:01:07< Crab_> and note how raise_user_interact gett's calling 20090510 00:01:40< Crab_> this is "while AI is thinking, from time to time pass control to user" 20090510 00:02:43< boucman> I can't find it, where is it ? 20090510 00:02:48< Crab_> from that profiling graph, I saw that display::draw is called twice from 'handle_user_interact' code, which seems an overkill to me... 20090510 00:03:03< Crab_> scroll down from _start 20090510 00:03:18< boucman> ok, I got the display::draw call 20090510 00:03:34< boucman> ok, I got it now 20090510 00:04:10< Crab_> ok, i'll wait for mordante, then 20090510 00:06:09< boucman> handle_generic_event is called 5178 time, and display::drawp is called 2506+2597 times from handle_generic_event 20090510 00:06:31< boucman> so these two look like different code path to me, not a double calling to display::draw at this point 20090510 00:06:45< Crab_> boucman: it's not a 'number of times' numbers 20090510 00:07:06< boucman> oh, what is it, then ? 20090510 00:07:27< Crab_> boucman: its 'number of times we were inside this when probing'. it's the same tool which was used by cjhopman, - google performance tools 20090510 00:08:26< boucman> ok, we can't really see if it's redundant, then 20090510 00:09:01< Crab_> from that graph - no. but look at the code 20090510 00:09:13-!- wesbot changed the topic of #wesnoth-dev to: stringfreeze for branches/1.6, 1.6.2 planned for next Sunday (10 May) | 57 bugs, 237 feature requests, 9 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090510 00:10:38< alink> maybe related to the problem when mouse leave the window + mouse scrolling. Depending settings, it sometimes give crazy fps number 20090510 00:10:56< Crab_> alink: this manifests only during ai turn ? 20090510 00:11:33< Crab_> alink: for the first part is called only when ai 'temporary passes control to user interface' 20090510 00:11:42< alink> mmh, ok, so that's probably not that :-/ 20090510 00:12:08< boucman> Crab_: in playsingle_controller, notice that gui_->draw() is always called after play_slice() 20090510 00:13:23< Crab_> and so I'm interested in 'why' ? 20090510 00:14:08< boucman> Crab_: that's definitely a question for mordante, sorry 20090510 00:14:16< Crab_> ok 20090510 00:14:48< Crab_> boucman: have you noted silene's todays' patch of the unit animation invalidation code? 20090510 00:15:15< boucman> Crab_: quickly, I skimmed through the 100+ commit mail 20090510 00:15:20< boucman> should I look at it in detail ? 20090510 00:16:05< Crab_> boucman: i remember that you're familiar with unit animation code. so, yes, maybe you'd suggest some better solution 20090510 00:16:05< alink> about that, does the off-screen standing anim catch up correctly when on screen again ? 20090510 00:16:55< boucman> alink: not sure what you mean 20090510 00:18:20< alink> i mean when anim is not allowed to play during some time, when we let it play again, it sometimes quickly play all the frames to catch up 20090510 00:18:26< boucman> Crab_: it's a change of policy : not animating units on the border was more a known limitation than a bg 20090510 00:18:28< boucman> bug 20090510 00:18:29< alink> but i will test it myself now 20090510 00:18:54< boucman> his fix is ok, though 20090510 00:19:10< boucman> alink: it should not be a problem, but feel free to check 20090510 00:19:15< Crab_> boucman: no, the patch before 20090510 00:19:26< boucman> esp with the new "don't scroll to action" option 20090510 00:19:38< boucman> Crab_: do you have a rev for me ? 20090510 00:19:40< Crab_> r35501 20090510 00:19:55< Crab_> http://svn.gna.org/viewcvs/wesnoth?view=rev&rev=35501 20090510 00:20:55< boucman> no, that one should be reverted indeed 20090510 00:21:10< Crab_> it should be discussed, as well. 20090510 00:21:13< boucman> a unit out of screen can have some particules on screen, so that optimisation is wrong 20090510 00:21:38< boucman> good catch 20090510 00:21:45< Crab_> it is not a 'catch' 20090510 00:22:51< Soliton> there was a policy of not animating units on the border but off screen they have to be animated? 20090510 00:23:13< Crab_> boucman: read http://www.wesnoth.org/forum/viewtopic.php?f=10&p=356213 20090510 00:23:14< boucman> Soliton: they are not animated 20090510 00:23:17< alink> boucman: what about sound associated with anim ? (if that 'don't scroll to action' option allow to have fight out of screen) 20090510 00:23:32< boucman> they are invalidated, it's a different concept, and yes they need to be invalidated 20090510 00:23:46< Crab_> boucman: I've tried to profile that map 20090510 00:23:56< Soliton> ah, i see. 20090510 00:24:10< boucman> alink: sounds are part of animations, so they will be skipped too 20090510 00:24:17< Crab_> boucman: and I've put ~80 small wing-flapping bats in a corner of that map 20090510 00:24:32< Crab_> boucman: my-player-controlled bats. 20090510 00:24:46< Crab_> boucman: and then I and silene tried to profile the ai turn 20090510 00:25:17< Crab_> boucman: the save is ftp://ftp.terraninfo.net/wesnoth/showdown_bats_orcturn.gz 20090510 00:25:29< boucman> Crab_: these bats will consume CPU cycles yes... but I don't really see how it can be avoided with the current anim implementation 20090510 00:25:38< Crab_> it took 33 minutes for 5 ai turns 20090510 00:25:57< Crab_> silene said that that invalidation of animations has O(n^2) complexity 20090510 00:26:09< alink> boucman: yes that what I thought, but not sure that it is wanted, but i must check this scroll-option first ;) 20090510 00:26:27-!- Polarina1 [n=polarina@85-220-26-48.dsl.dynamic.simnet.is] has quit [Read error: 54 (Connection reset by peer)] 20090510 00:26:44< boucman> invalidation is quite complicted, but yes, it might be o(n^2) 20090510 00:27:27< Crab_> and, if it is so, then total complexity of ai turn (WITH gui) is at least O(n^3), where n is number of 'enemy' units, since invalidation of animations is played once per raise_user_interact which is called once per several enemy units during search for targets 20090510 00:27:53< boucman> hmm 20090510 00:28:29< Crab_> silene has tried this optimization. it gave almost -50% speed. from 33 minutes to 19 minutes for 5 ai's (with scroll_to_moves disabled) 20090510 00:28:50< Crab_> so, almost +100% speed increase 20090510 00:28:57< boucman> Crab_: imagine a multi-hex unit which is not on the map 20090510 00:29:08< boucman> but is bordering the map 20090510 00:29:09< Crab_> boucman: I know. I said it in the morning :) 20090510 00:29:14< boucman> oh, ok 20090510 00:29:35< Crab_> so, *something* has to be done to reduce the compexity of invalidating animations ) 20090510 00:29:53< Soliton> the question is if we want to sacrifice 50% of performance for an imaginary unit. :-> 20090510 00:30:03< boucman> it's not imaginary 20090510 00:30:19< boucman> Soliton: units do overlap neighbouring hexes when flapping around 20090510 00:30:41< Crab_> since those scenarios with large number of enemy units will lag... x2 player's units -> x8 lag, x10 players units -> x1000 lag.... 20090510 00:31:30< boucman> Crab_: we can't change the way invalidation work 20090510 00:31:47< boucman> trust me it's a complicated beast and I don't think there is much to gain on that side 20090510 00:31:56< Crab_> boucman: so, maybe the solution is to provide an alternate mode of viewing ai turn ? 20090510 00:32:08< boucman> our best bet is to reduce the number of calls to display::draw 20090510 00:32:33< Crab_> boucman: i've tried to do that, and I see one suspicious call :) 20090510 00:32:39< boucman> hehe 20090510 00:32:55< boucman> Crab_: did you try to comment it and see if it increased perfs ? 20090510 00:33:04< Crab_> boucman: not yet 20090510 00:33:31< Soliton> boucman: well, show me the glitches you're talking about. i can't see anything with gryphons at the border. 20090510 00:33:53< boucman> Crab_: ok, I'll revert r35501 because it's a bug, could you try that ? 20090510 00:34:02-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has quit ["On the road again"] 20090510 00:34:18< Crab_> boucman: note that there's a 1.6.2 scheduled for tomorrow 20090510 00:34:19< boucman> Soliton: please trust me on that one, I chased qute a number of bugs in that area, and I remember trying that approch already, 20090510 00:34:37< boucman> Crab_: was r35501 backported ? 20090510 00:34:42< Crab_> boucman: of course. 20090510 00:34:47< boucman> ouch 20090510 00:34:55< boucman> well, I'll revert there too 20090510 00:35:36< Soliton> boucman: the point is not to believe that there are glitches but what their extent is. 20090510 00:35:55< Crab_> boucman: "alternate mode of viewing ai turn" -> to let a player say "I want to stare at the blank map with a hourglass during ai turn, and then I want to view a text summary of what the ai has done". 20090510 00:36:28< alink> alternatively put the fps control earlier in the drawing code. if we call draw more than 50 times per second, some invalidation drawing are probably wasted 20090510 00:36:34< boucman> Crab_: store all AI actions, and play them all at the end, maybe ? 20090510 00:37:01-!- giusef [n=giusef@unaffiliated/giusef] has quit ["exit (-1);"] 20090510 00:37:03< boucman> Soliton: large enought to have a bug report in the 1.5 period, 20090510 00:37:16< boucman> I know it's annoying but let's get it right be fore we make it fast 20090510 00:37:19< Crab_> boucman: no. just 'store the info' when the action is successfully executed, or reuse the replay. 20090510 00:37:32-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090510 00:37:34< alink> and if that idea works, maybe even lower the fps during the ai turn 20090510 00:37:41< Soliton> boucman: i thought it was right.. and now it's fast? :-P 20090510 00:37:45< boucman> Crab_: yes, I was more talking from a user point of view than an implementation pov 20090510 00:37:54< boucman> :P 20090510 00:38:06< Crab_> boucman: yes, you're right. we can do it that way. 20090510 00:38:29< Crab_> alink: during ai turn, fps is limited by a constant in src/ai/ai_manager.cpp. it's 30ms 20090510 00:38:45< Crab_> it's 'minimum time between raising a user interaction. 20090510 00:38:56< Crab_> so, that gives us max_fps=33 20090510 00:39:02< Crab_> actual fps is about 5. 20090510 00:39:07< Crab_> (for me) 20090510 00:39:17< Crab_> (during ai turn) 20090510 00:39:44< Crab_> boucman: since 50-70% of that ai turn time is user interaction. 20090510 00:39:44< alink> Crab_: I thought that you said that we call thousands of these "raising a user interaction" ? 20090510 00:39:56< Crab_> alink: yes. 20090510 00:39:59< alink> oh, maybe it is because it's a long turn 20090510 00:40:05< Crab_> yes 20090510 00:40:10< alink> i see 20090510 00:40:20< Crab_> alink: http://wesnoth.pastebin.com/m9f983ac 20090510 00:40:54< alink> so more slow is the AI, more times we redraw, and thus slowing things even more ? 20090510 00:41:03< Crab_> alink: yes 20090510 00:41:44< alink> what happen when minimizing the window during AI turn ? ;-p 20090510 00:41:49< Crab_> alink: so more slow is the AI, so more units the player has, more times we redraw (with O(n^2) of player's units of invalidate animation), and thus slowing things even more ? 20090510 00:42:06-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090510 00:42:22< Crab_> s/?/. 20090510 00:44:15< Crab_> boucman: and what about marking some animations as 'in_hex' ? 20090510 00:44:44< Crab_> boucman: or marking as 'affect only this hex and adj. hexs)' ? 20090510 00:45:37< Crab_> (for invalidation purposes) 20090510 00:45:49< boucman> Crab_: currently in_hex is a property of an image 20090510 00:45:56< boucman> not an animation 20090510 00:46:22< boucman> making it an animation property is too intrusive for 1.6 20090510 00:46:40< alink> which help for bats, only one frame is not 'in_hex' 20090510 00:47:02< alink> and it's only 2 or 3 pixels :-/ 20090510 00:47:50< boucman> i'm not even sure that would help much actually 20090510 00:48:14< alink> Crab_: maybe you can remove these 2 pixels and see if it help, a not-in_hex frame invalidate much more hexes 20090510 00:48:17< boucman> the idea of "invalidate" for unit is that we ask the animation if it wants to be refreshed 20090510 00:48:39< boucman> and the animation checks that all the hex it overlaps are on/off map and reacts accordingly 20090510 00:49:13< boucman> because bats are moving, the need to do that test at every redraw, and it's the test that is costy, little to no redraw actually takes place 20090510 00:49:23< alink> Crab_: I suspect that would help your bats case, and easy to port to 1.6, only 2 pixels to change :-) 20090510 00:49:25< Crab_> boucman: the problem is that the invalidate_animations loop restarts when unit->invalidate returns true.... 20090510 00:49:50< boucman> Crab_: yes, of course, it has to 20090510 00:50:09< boucman> however it's strictly convergent, since a unit can only be invalidated once 20090510 00:50:28< Crab_> boucman: yes. 20090510 00:51:11< Crab_> but, 'if unit is not onscreen and if none of it's animations affect anything on screen', why should we bother with it ? 20090510 00:51:53< Crab_> those 80+ bats decrease my fps even when I'm not looking at them ) 20090510 00:51:53< boucman> we don't 20090510 00:52:16< boucman> it's the "if unit is not onscreen and if none of it's animations affect anything on screen" that is long and that needs to be done at every redraw 20090510 00:52:52< Crab_> boucman: can't this can be cached ? or it's hard to get correctly ? 20090510 00:53:26< boucman> hmm 20090510 00:53:43< boucman> as I said, currently the in_hex info is at the image level 20090510 00:54:17< Crab_> ok 20090510 00:54:20< boucman> this might be moveable at the animation level (stating that a whole animation will never get out of hex) but it's quite tricky to implement and can't go in 1.6 20090510 00:55:06< boucman> because an animation itself can't be 100% sure it will never be out of hex, it depends also when and how it is called 20090510 00:55:21< alink> IMHO, just consider that anything at 1 or 2 hex from the edge of the screen is out is enough 20090510 00:55:43< Crab_> boucman: actually, even if we know that 'animation will not get out of this-hex-or-nearby-hexes' is enough. 20090510 00:56:23< boucman> alink: I also need to satisfy the artists, and they don't want such limits 20090510 00:58:04< alink> boucman: 2 hexes is not enough ? who draw sprites going more than 2 hexes from their location ? 20090510 00:58:53< Crab_> alink: Delfador's lightning bolt is longer then 2 hexes, afair 20090510 00:59:13< alink> grmblmlb 20090510 00:59:16< Crab_> alink: but most of the anims are not that big 20090510 00:59:47< alink> but ok, assuming that it's very rare, maybe just use a WML key 'big_anim=yes' 20090510 01:00:03< Soliton> boucman: nobody wants limits... it's a bout a trade-off between performance and flexibility. 20090510 01:00:19< Crab_> alink: well, there's nothing wrong with big animations on human turn... 20090510 01:00:33< Crab_> alink: since humans think *in parallel* with animations 20090510 01:00:41< Crab_> problem is with ai turn & animations 20090510 01:00:41< boucman> alink, Crab_ : ok, I'll revert r35501 to get back to a "correct" behaviour, but I agree we need to find a way to fix that problem 20090510 01:00:55< Crab_> since ai moves NOT in parallel with animations 20090510 01:01:30< Crab_> so, when there's animation (or invalidation of animation, or other kind of user interaction), ai doesn't think. 20090510 01:01:31< CIA-30> boucman * r35518 /trunk/src/game_display.cpp: revert r35501, this introduces bugs for large animations. The underlying perf problem is still there and need further fixing 20090510 01:02:01< boucman> ok, 1.6 is good, no need to fix there 20090510 01:02:30< Crab_> so, it's a tradeoff between "ai moves for 10 minutes and no animations at all" and "ai moves for 30 minutes but with all those fancy animations" 20090510 01:03:08< boucman> Crab_: there might be middle ground, but this needs some thinking 20090510 01:04:18< alink> Crab_: so, following this, all anim options could use an additional 'only during human turn' position 20090510 01:04:25< Crab_> boucman: yes. basically, this is "if we animate, then AI doesn't think" problem. 20090510 01:05:17< Crab_> alink: isn't it better to have one: "update screen only during ai actions" additional option ? 20090510 01:05:54< Crab_> so, if it's set, there'll be 'frozen screen with a hourglass', then 'animation of ai move', then 'frozen screen with a hourglass', then 'animation of next ai move' 20090510 01:06:20< alink> Crab_: maybe yes, but you mean map not screen, frozen mouse cursor are always bad 20090510 01:06:43< Crab_> alink: note ftp://ftp.terraninfo.net/wesnoth/ai_01.jpeg 20090510 01:07:24< Crab_> note display::draw 20090510 01:08:03< Crab_> if we do not invalidate animations during ai think time, we'll get a most significant performance boost 20090510 01:08:14-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"] 20090510 01:08:22-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["ChatZilla 0.9.84 [Firefox 3.0.10/2009042316]"] 20090510 01:08:22< boucman> hmm 20090510 01:08:59-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090510 01:09:01< Crab_> we can invalidate them during ai *actions*, of course, or when user scrolls... 20090510 01:09:39< Crab_> but when the user is *doing nothing and waiting patiently for that orc horde to finish it's turn*, we don't need much animation invalidation, imo 20090510 01:10:05< alink> need to also use more image_locator and less image url, a project that i often wanted to start 20090510 01:10:17-!- Polarina [n=polarina@wesnoth/translator/Polarina] has joined #wesnoth-dev 20090510 01:10:45< alink> (i see a 17% there) 20090510 01:10:59< alink> but i digress 20090510 01:11:58< boucman> Crab_: it's 1am and I need to get some sleep, I'll look into it later, with a fresher mind, just don't implement anything crazy while i'm asleep 20090510 01:12:11< boucman> there might still be some invalidation tricks that we can use 20090510 01:12:30< boucman> an animation-level in_hex parameter might be one 20090510 01:12:46< boucman> i'll dig into it tomorow 20090510 01:12:46< Crab_> boucman: don't worry, my priority is ai coding, not dirty animation tricks ) 20090510 01:12:51< boucman> hehe 20090510 01:12:53< boucman> night all 20090510 01:13:00-!- boucman [n=rosen@wesnoth/developer/boucman] has quit [Remote closed the connection] 20090510 01:16:34-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090510 01:21:44-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090510 01:31:54-!- alink [n=alink@wesnoth/developer/alink] has quit [Remote closed the connection] 20090510 01:36:27-!- gabm [n=gabriel@64.235.204.67] has joined #wesnoth-dev 20090510 01:39:56-!- Gnutoo [n=gnutoo@79.54.10.109] has quit [Read error: 148 (No route to host)] 20090510 01:42:14< Crab_> alink: regarding "what happen when minimizing the window during AI turn ? ": with BOTH silene's patch (which is now reverted) and with minimized window, I get 7 minutes per those 5xAI turns (-80% from 33 minutes). Without silene's patch but with minimized window, I get 17 minutes per 5xAI turns (-50% from 33 minutes) 20090510 01:44:01-!- gabm [n=gabriel@64.235.204.67] has quit [Remote closed the connection] 20090510 01:44:18-!- Crab_ [n=Crab_@wesnoth/developer/crab] has quit ["Leaving."] 20090510 01:47:49-!- Polarina [n=polarina@wesnoth/translator/Polarina] has quit [Remote closed the connection] 20090510 01:48:07-!- Chusslove [n=caslav@brsg-d9beebd9.pool.mediaWays.net] has quit [Read error: 110 (Connection timed out)] 20090510 02:00:35-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has joined #wesnoth-dev 20090510 02:33:59-!- alink [n=alink@wesnoth/developer/alink] has joined #wesnoth-dev 20090510 02:37:30< CIA-30> alink * r35519 /trunk/src/pathfind.cpp: 20090510 02:37:30< CIA-30> Little optimization of the A* cost function 20090510 02:37:30< CIA-30> (skip ZoC check when terrain already costs remaining moves) 20090510 02:39:26< CIA-30> alink * r35520 /trunk/src/pathfind.cpp: Fix dummy_path_calculator::cost (used 0, but A* heuristic need >= 1) 20090510 02:43:21< CIA-30> alink * r35521 /trunk/src/astarsearch.cpp: 20090510 02:43:21< CIA-30> Optimization of A*: 20090510 02:43:21< CIA-30> Skip cost function when its smallest possible value(1) is already too much 20090510 02:44:37< alink> ^that last one goes too my collection of 'sensible optimization done by changing 1 or 2 char' :-) 20090510 02:45:42-!- Polarina [n=polarina@wesnoth/translator/Polarina] has joined #wesnoth-dev 20090510 02:46:58< alink> Crab_: btw, same idea: I suppose that with silene patches, resizing your window during AI turn could help and let you see what's going on 20090510 02:47:31< alink> resizing or switching between fullscreen and (little) windowed mode 20090510 02:48:03 * Shadow_Master wonders if it would be possible to detect when wesnoth is minimized to stop screen updates 20090510 02:48:08< alink> or zooming a lot, so you can still see the combat 20090510 02:48:37< alink> (but only help invalidation, blitting will be the same) 20090510 02:49:02< alink> Shadow_Master: it seems that it already (partially at least) done 20090510 02:49:14< alink> s/it/it's 20090510 02:50:02< alink> or maybe it's just SDL which detect it when updating the framebuffer 20090510 03:17:05-!- Polarina [n=polarina@wesnoth/translator/Polarina] has quit [Connection timed out] 20090510 03:26:31-!- Polarina [n=polarina@wesnoth/translator/Polarina] has joined #wesnoth-dev 20090510 03:28:52-!- Elvish_Pillage2 [n=eli@71-10-228-131.dhcp.oxfr.ma.charter.com] has quit ["Hi! I'm a quit message virus vaccine. If you see a quit message virus, don't replace your quit message with it!"] 20090510 03:35:02-!- Polarina [n=polarina@wesnoth/translator/Polarina] has quit ["Leaving."] 20090510 03:37:48-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has quit [Read error: 60 (Operation timed out)] 20090510 03:43:46-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has joined #wesnoth-dev 20090510 03:46:41-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["Tengo que ir... Yeahzorz..."] 20090510 04:04:39-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has quit [Read error: 113 (No route to host)] 20090510 04:27:09-!- ancestral [n=masterpr@97-116-120-23.mpls.qwest.net] has left #wesnoth-dev [] 20090510 04:49:10-!- AndreLuiz is now known as thotypous 20090510 04:49:43-!- thotypous is now known as andreluiz 20090510 04:57:43-!- Appleman1234 [n=Appleman@131.181.47.4] has joined #wesnoth-dev 20090510 05:00:54-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090510 05:07:43-!- alink [n=alink@wesnoth/developer/alink] has quit [Remote closed the connection] 20090510 05:15:51-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090510 05:31:02-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090510 06:33:19< CIA-30> esr * r35522 /trunk/data/campaigns/Northern_Rebirth/scenarios/ (5 files): Follow through on a name change. 20090510 06:35:23-!- ancestral [n=masterpr@97-116-120-23.mpls.qwest.net] has joined #wesnoth-dev 20090510 06:35:34-!- ancestral [n=masterpr@97-116-120-23.mpls.qwest.net] has quit [Remote closed the connection] 20090510 06:35:50-!- ancestral [n=masterpr@97-116-120-23.mpls.qwest.net] has joined #wesnoth-dev 20090510 07:19:57-!- ancestral [n=masterpr@97-116-120-23.mpls.qwest.net] has quit [Read error: 104 (Connection reset by peer)] 20090510 07:20:58-!- ancestral [n=masterpr@97.116.120.23] has joined #wesnoth-dev 20090510 07:24:18< CIA-30> cornmander * r35523 /website/stats.wesnoth.org/ (dbsample.py devdata.sqlite wesstats/dbsample.py): finished subsample code, this will be put into a nightly cronjob to generate 100,000 and 1,000,000 row subsamples of main GAMES table 20090510 07:49:53< CIA-30> cornmander * r35524 /website/stats.wesnoth.org/ (TODO devdata.sqlite wesstats/controllers.py): added incomplete method that will use subsample tables instead of big GAMES table 20090510 07:56:19-!- ardesh_ [n=ardesh@port-92-206-77-165.dynamic.qsc.de] has joined #wesnoth-dev 20090510 07:57:16-!- ardesh [n=ardesh@port-92-206-117-7.dynamic.qsc.de] has quit [Read error: 113 (No route to host)] 20090510 08:04:09-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090510 08:34:31-!- Sirp [n=me@wesnoth/developer/dave] has quit [Read error: 113 (No route to host)] 20090510 08:42:59-!- silene [n=plouf@ASte-Genev-Bois-152-1-31-16.w83-114.abo.wanadoo.fr] has joined #wesnoth-dev 20090510 08:43:38-!- boucman [n=rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20090510 08:45:31-!- happygrue_ [n=George@c-67-176-145-41.hsd1.in.comcast.net] has joined #wesnoth-dev 20090510 08:51:16< silene> hi 20090510 08:52:27< boucman> morning all 20090510 08:54:46< silene> boucman: please revert the changelog entry too; ivanovic asked for one since a 50% speedup was noticeable 20090510 08:55:05< boucman> ok, will do right away 20090510 08:56:15-!- DDR [n=chatzill@66.183.125.196] has quit [Read error: 110 (Connection timed out)] 20090510 08:56:26< boucman> silene: is it the "improve perf a bit on maps with lot of units" line ? 20090510 08:56:33< silene> boucman: yes 20090510 08:56:38< boucman> k 20090510 08:57:20< CIA-30> boucman * r35525 /trunk/changelog: remove changelog entry relative to r35501 20090510 08:57:31< silene> boucman: that being said, it isn't clear to me in the logs; which animation can hit two hexes away and hence be broken by the patch? 20090510 08:57:53< boucman> defeldor's strike, and the future big dragon at least 20090510 08:59:20< silene> who care about delfador's strike if neither delfador nor the striked unit are on screen? and is the dragon really more than 7 hexes big? 20090510 09:00:16< boucman> silene: it's pretty complicate to fix, remember that the change he made affect all cases, not only the AI 20090510 09:00:50< boucman> so, for instance if a unit is completely out of screen, but neighbouring an in-screen unit, and they fight, only the on-screen unit would be animated 20090510 09:01:02< silene> boucman: no, you got the patch wrong 20090510 09:01:13< boucman> silene: the changelog entry ? 20090510 09:01:24< silene> only units that are two (!) hexes away from the screen are no longer animated 20090510 09:02:01< boucman> +                       if (!tile_on_screen(u->first)) continue; 20090510 09:02:06< silene> no, i mean you iddn't understand my patch 20090510 09:02:09< boucman> tile_on_scree is not two hex away 20090510 09:02:31< silene> boucman: the function is not tile_on_screen, it is tile_nearly_on_screen 20090510 09:03:02< boucman> silene: did you change that after r35501 ? 20090510 09:03:14< boucman> because in 35501 it's tile on_screen 20090510 09:03:39< silene> boucman: look at the patch you applied: http://svn.gna.org/viewcvs/wesnoth/trunk/src/game_display.cpp?rev=35518&r1=35517&r2=35518&view=diff 20090510 09:04:05< boucman> ok 20090510 09:05:37< boucman> silene: i need to think about it some more 20090510 09:06:48-!- happygrue [n=George@wesnoth/developer/wintermute] has quit [Read error: 110 (Connection timed out)] 20090510 09:08:53< boucman> silene: could you help me understand the fine details of tile_nearly_on_screen ? 20090510 09:09:13< silene> boucman: sure 20090510 09:09:22< boucman> what's the difference between hw and hs (and your formula seems non-symetric, there might be a typo in there) 20090510 09:10:37< silene> boucman: two adjacent hexes have an horizontal span of hw+hs; two adjacent hexes have a vertical span of hs+hs (hex-based games are a pain...) 20090510 09:10:58< boucman> ok 20090510 09:13:44< boucman> silene: because of the dragon, you would need to go one hex further, it might be better to add an extra parameter (with default value of one) to tell how many hex away from the screen we want to check... 20090510 09:15:06< silene> you sure? it is a bit hazy, but it seemed to me that the dragon was only hitting the adjacent hexes; it wasn't hitting any further 20090510 09:15:39< boucman> imagine the dragon is moving 20090510 09:16:04< boucman> it could be sliding 90% in it's neighbouring and thus its image sliding on map 20090510 09:18:01< silene> isn't i what the temporary unit is for? the temporary unit would actually be nearly on screen, wouldn't it? 20090510 09:18:52< boucman> no, temporary unit are here when we need to have two units in the same hex 20090510 09:19:04< boucman> movement uses it, but (IIRC) fighting doesn't 20090510 09:20:16-!- happygrue [n=George@wesnoth/developer/wintermute] has joined #wesnoth-dev 20090510 09:20:55< boucman> and animations can use sliding if they want to, so it's tricky to know when they'll slide out of hex 20090510 09:21:11< boucman> silene: with one more hex margin, the patch would still be very effective 20090510 09:21:30< boucman> the thing is that invalidation are very easy to get wrong, so I'm a bit conservative in that area 20090510 09:22:18< boucman> except for the implicit limitation on hex size, your patch seems fine, I need to think a bit more to convince me entirely, but with a wide enough margin, it might be workable 20090510 09:25:17-!- maxy [n=maxy@80-219-0-199.dclient.hispeed.ch] has joined #wesnoth-dev 20090510 09:25:55< silene> the fact that invalidation accounts for more than 50% of a profile makes me think that invalidation was flawed from the very beginning, sorry 20090510 09:27:50< boucman> silene: invalidation as a whole was chosen as the way to go at a time when wesnoth had no animations 20090510 09:28:02< boucman> it has outgrown its usage, so to speak 20090510 09:28:37< boucman> but the only alternative is to let the GPU do the job (i.e opengl and such) which has led to other problems 20090510 09:29:24< silene> no, that's not what i was talking about 20090510 09:29:48< silene> if you look at the profile, you will see that the time is not spent in drawing, but in computing parameters 20090510 09:30:21< silene> i don't know what these parameters, but it shouldn't take that much time and that often 20090510 09:32:37< boucman> you mean the calls to merge_parameters ? 20090510 09:32:58< silene> for instance, on my own profile (but it was similar on Crab_'s one), 20% of time is spent in merge_parameters or its descendants 20090510 09:33:01< silene> boucman: yes 20090510 09:33:26< boucman> hmm 20090510 09:33:30< silene> 20% of total time, so 40% of drawing time 20090510 09:34:53< boucman> k 20090510 09:36:50-!- happygrue_ [n=George@c-67-176-145-41.hsd1.in.comcast.net] has quit [Read error: 110 (Connection timed out)] 20090510 09:37:59< boucman> silene: ok, I think I have an optimisation idea that could help a lot, but I need to think about it further, just leave me some time... 20090510 09:38:09< silene> great 20090510 09:38:09< boucman> it might even remove the need for your patch 20090510 09:38:22< CIA-30> silene * r35526 /trunk/po/ (6 files in 6 dirs): Updated French translation. 20090510 09:44:07-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090510 09:46:25-!- ancestral [n=masterpr@97.116.120.23] has quit ["And that's the end of THAT chapter"] 20090510 09:51:10-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090510 10:03:32< Ivanovic> moin 20090510 10:04:09< boucman> moin 20090510 10:14:02< CIA-30> ivanovic * r35527 /trunk/po/ (wesnoth/zh_CN.po wesnoth-units/zh_CN.po): updated Chinese (Simplified) translation 20090510 10:15:48< CIA-30> ivanovic * r35528 /branches/1.6/po/ (wesnoth/zh_CN.po wesnoth-units/zh_CN.po): updated Chinese (simplified) translation 20090510 10:27:10-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090510 10:46:33-!- loonybot [n=loonybot@79.139.247.143] has joined #wesnoth-dev 20090510 10:47:23-!- loonycyborg [n=sergey@79.139.247.143] has joined #wesnoth-dev 20090510 10:50:53-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090510 10:54:09-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has joined #wesnoth-dev 20090510 10:58:03-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090510 11:11:02< boucman> stupid c++ question time 20090510 11:11:26< boucman> I have an iterator on a set, (I am not sure which set) how can I know if it is valid ? 20090510 11:14:01< loonycyborg> Trap SIGSEGV and dereference it :P 20090510 11:16:14< boucman> :) 20090510 11:16:45< boucman> more seriously, I build the set with the set_intersection algorithm, but I can't find how to test if the intersection is empty 20090510 11:19:01< loonycyborg> Doesn't set_intersection store result in a contaner? You can just call .empty() on it. 20090510 11:19:09< loonycyborg> *container 20090510 11:19:12< boucman> no, it return an iterator 20090510 11:19:33< boucman> template OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result); 20090510 11:20:28-!- Chusslove [n=caslav@brsg-d9bef38c.pool.mediaWays.net] has joined #wesnoth-dev 20090510 11:20:47< loonycyborg> OutputIterator result should be something like std::back_inserter(result_container) and then you call result_container.empty() :) 20090510 11:21:24< boucman> c++ is too complicated for me :P 20090510 11:21:34< loonycyborg> Iterator that it returns is just a convenience. 20090510 11:24:34< silene> no, it is not just a convenience; nothing prevents you to output in the middle of a vector; in that case you really want to know where it stopped; and as for knowing whether the intersection is empty or not, just compare the resulting iterator with the passed iterator 20090510 11:25:33< boucman> I pass four iterators from two sets, which one should I compare it to ? 20090510 11:25:48< silene> the fifth one 20090510 11:26:15< boucman> k 20090510 11:26:27< boucman> i'm totally confused now :P 20090510 11:26:40< boucman> I'll use loonycyborg's method, I understood it, though :D 20090510 11:27:02< silene> the fifth iterator says where the intersection should be stored; so if the resulting iterator is equal to the fifth one, it means nothing was stored 20090510 11:27:21< boucman> ok, makes sense 20090510 11:27:36< boucman> but loonycyborg's method of using a back_inserter does work, doesn't it ? 20090510 11:28:42< silene> no, loonycyborg's method is not about using a back_inserter (you have to, or something similar); it is about testing whether the container is empty, and yes it does work 20090510 11:29:03< boucman> k, that's good enough for me 20090510 11:30:01< silene> but if you want just want to know if the intersection is not empty (and you are not interested in the intersection itself), that's not how you should do it 20090510 11:30:28< silene> just create a dummy iterator that modifies a boolean variable when its ++ member is called 20090510 11:31:16-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090510 11:31:29< boucman> except sets don't have a push_back, and I can't use back_inserter on them :P 20090510 11:32:03< boucman> and yes, that's my case, I'm not interested in the content 20090510 11:32:03< loonycyborg> Then use a vector for result :) 20090510 11:32:13< boucman> ... 20090510 11:32:28< silene> boucman: it doesn't have anything to with sets, you don't have to use the same data structure 20090510 11:33:02< boucman> ok, it compiles now, thx 20090510 11:33:05< silene> you could for instance compute the intersection of a set and a vector and displays it on the standard output 20090510 11:33:11< boucman> I will test thouroughly now 20090510 11:39:00-!- Crab_ [n=Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20090510 11:39:06< Crab_> hi 20090510 11:39:13< boucman> hey Crab_ 20090510 11:42:30-!- Dragonking [n=dk@wesnoth/developer/dragonking] has joined #wesnoth-dev 20090510 11:44:31-!- ettin_ [n=jorda@wesnoth/developer/ettin] has joined #wesnoth-dev 20090510 11:52:00< boucman> Crab_: I am currently looking at the perf problem, I am attacking it through a completely different angle 20090510 11:52:25< Crab_> boucman: ok ) what's the idea ? 20090510 11:52:25< boucman> caching some intermediate results to avoid most of calculations 20090510 11:53:05< boucman> the costy part is calculating what rectangle we overlap, and this is calculated until the hex is invalidated 20090510 11:53:08< boucman> and it could be cached 20090510 11:53:13< boucman> so I am caching it :) 20090510 11:56:13< boucman> ok, afk for ~15' 20090510 11:56:24-!- ettin [n=jorda@wesnoth/developer/ettin] has quit [Read error: 110 (Connection timed out)] 20090510 11:56:28< boucman> Crab_: I'll probably need a little help with testing after that :) 20090510 11:59:32< Crab_> boucman: ok 20090510 11:59:49< CIA-30> zookeeper * r35529 /branches/1.6/ (changelog players_changelog): Updated changelogs. 20090510 12:02:51< CIA-30> zookeeper * r35530 /trunk/ (changelog players_changelog): Updated changelogs. 20090510 12:02:52< zookeeper> (i don't have anything pending for 1.6.2) 20090510 12:07:18-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has joined #wesnoth-dev 20090510 12:08:09-!- Appleman1234 [n=Appleman@131.181.47.4] has quit ["Leaving"] 20090510 12:08:38-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090510 12:08:50-!- silene [n=plouf@wesnoth/developer/silene] has quit [Read error: 104 (Connection reset by peer)] 20090510 12:08:59-!- silene [n=plouf@ASte-Genev-Bois-152-1-31-16.w83-114.abo.wanadoo.fr] has joined #wesnoth-dev 20090510 12:09:13-!- wesbot changed the topic of #wesnoth-dev to: stringfreeze for branches/1.6, 1.6.2 planned for next Sunday (10 May) | 56 bugs, 237 feature requests, 9 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090510 12:10:26-!- busfahrer is now known as busfahrer|essen 20090510 12:10:34< Ivanovic> AI0867, boucman, Chusslove, corn, Crab_, Dragonking, ettin_, freim, grzywacz, ilor, loonycyborg, Noyga, Shadow_Master, silene, Soliton, zookeeper, mordante, sirp, everybody else: keep in mind that i plan to get 1.6.2 out in ~8h 20090510 12:10:42-!- Ivanovic changed the topic of #wesnoth-dev to: stringfreeze for branches/1.6, 1.6.2 planned for TODAY | 56 bugs, 237 feature requests, 9 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090510 12:11:26< ilor> Ivanovic: unless someone runs to me with a last-minute bug, I'm not doing anything atm 20090510 12:12:17< Ivanovic> ilor: this is also a case of "feel free to test if it really works" 20090510 12:12:19< Ivanovic> ;) 20090510 12:12:29< ilor> point 20090510 12:12:33< Ivanovic> that is: your editor changes in branches/1.6 work as expected? 20090510 12:12:42< ilor> as far as I tested them, yes 20090510 12:13:03< Ivanovic> AI0867, boucman, Chusslove, corn, Crab_, Dragonking, ettin_, freim, grzywacz, ilor, loonycyborg, Noyga, Shadow_Master, silene, Soliton, zookeeper, mordante, sirp, everybody else: so please test, commit fixes and check if really everything is listed in the changelog8s) 20090510 12:13:20< Ivanovic> ilor: better this way? 20090510 12:13:22< Ivanovic> ;) 20090510 12:13:27< ilor> ;) 20090510 12:19:13< boucman> Crab_: ok, I have an optimisation attempt... do you have a test case ? 20090510 12:20:42< Ivanovic> boucman: i think the testcase is the map "showdown" late in NR 20090510 12:21:02< Crab_> boucman: ftp://ftp.terraninfo.net/wesnoth/showdown_bats_orcturn.gz 20090510 12:21:11< boucman> Ivanovic: no, Crab_ has built a savegame with lots of ofmap bats to play AI turn 20090510 12:22:02< Ivanovic> ah, okay 20090510 12:22:10< boucman> Crab_: got it, how do I test ? 20090510 12:22:12< Crab_> boucman: it is basically *the same* as NR:showdown with lots of units. but I was too lazy to recruit a lot of units, so I added ~80 my bats there 20090510 12:22:34< Crab_> boucman: test with --log-debug=ai/manager with and without your optimization 20090510 12:22:42< Ivanovic> Crab_: if you got enough money, just droid for some turns and lots of units are recuited 20090510 12:22:44< Ivanovic> ;) 20090510 12:23:11< Crab_> Ivanovic: putting bats is faster ;) 20090510 12:23:25< boucman> Crab_: I end turn right away ? 20090510 12:23:36< Crab_> boucman: we measure orc side turn time with all animations enabled. 20090510 12:23:46< Crab_> boucman: so, make sure all anims are enabled, and end turn 20090510 12:24:15< boucman> will the result be the last printed line ? (i.e no need to log the output ?) 20090510 12:24:33< Crab_> boucman: --log-debug=ai/manager will do the trick. 20090510 12:24:39< boucman> k 20090510 12:25:05< Crab_> boucman: example output: http://wesnoth.pastebin.com/m693af80e 20090510 12:25:34< Crab_> then, 13:21:26 - 12:48:39 ~ 33 minutes 20090510 12:26:05< Crab_> since your machine is different, you'll need to test both "with" and "without" your optimization 20090510 12:30:20< Crab_> my times were: base: 33 minutes, with yesterday's silene's patch - 19 minutes, with yesterday's silene's patch and with wesnoth minimized - 7 minutes, without silene's patch but with wesnoth minimized - 17 minutes 20090510 12:31:05< Ivanovic> Crab_: what are your machine specs (cpu+ram)? 20090510 12:31:15< Crab_> 2Ghz, 2Gb 20090510 12:31:43< boucman> that's a good question :P 20090510 12:31:51< Ivanovic> which 2ghz cpu? (a P4 at 2ghz is a lot slower than eg a core2 at 2ghz) 20090510 12:31:59< Crab_> pentium m 20090510 12:32:18< Crab_> (and with hdd aes-256-encrypted :) ) 20090510 12:32:33< boucman> amd 6400+ x2 @1GHZ 20090510 12:33:14< boucman> 2G of ram 20090510 12:33:44< boucman> Crab_: I can send you my change as a patch if you want to compare, thoug 20090510 12:33:53< Crab_> boucman: do so :) 20090510 12:35:21< boucman> http://wesnoth.pastebin.com/mdaf1057 20090510 12:40:41< ilor> how do I rebase a branch in git? 20090510 12:41:41< Crab_> ilor: rebase against latest upstream changes ? 20090510 12:41:58< ilor> sync it with svn, basically 20090510 12:42:06< Crab_> if you're about git-svn, make sure that there's no local modifications to tracked files and do a 'git svn rebase' 20090510 12:42:45< ilor> last time I did a svn rebase (on trunk) it hung for half an hour; I've been doing git svn fetch followed by git rebase trunk 20090510 12:43:20< Crab_> ilor: that's on windows ? 20090510 12:43:24< ilor> yes 20090510 12:44:09< Crab_> then sorry, I don't know if there's something windows specific. "git svn rebase" *should* work 20090510 12:45:23< ilor> I don't know maybe it was downloadung revisons from svn again, but it took a _lot_ of time and there was no progress indication so I killed it and would prefer to use something else 20090510 12:46:21< Crab_> ilor: it happens each time you try it ? or just once ? 20090510 12:46:55< ilor> haven't tried it since, anyway it doesn't display the rev names like git svn fetch does 20090510 12:47:03< ilor> so I can't see what's going on and that's annoying 20090510 12:47:22< ilor> ah, apparently git rebase remotes/1.6 did the trick ;) 20090510 12:48:26< Crab_> ilor: but you're now tracking 1.6, not trunk. is this intended ? :) 20090510 12:48:35< ilor> obviously 20090510 12:48:44< Crab_> ok ) 20090510 12:48:51< ilor> we're about to release 1.6 you know ;P 20090510 12:49:11< ilor> release in 1.6 even 20090510 13:05:34< boucman> Crab_: did the patch apply properly ? 20090510 13:05:53< Crab_> boucman: yes 20090510 13:06:01< Crab_> will test it in a few minutes.. 20090510 13:06:29< Crab_> boucman: I've needed to add @@, because pastebin mungled it a bit.. 20090510 13:06:52< Crab_> ( wesnoth.pastebin.org is not very bright ) 20090510 13:07:07< Crab_> s/org/com 20090510 13:10:21< loonycyborg> Crab_: AFAIK there's a link that allows to dowload the unmangled content. 20090510 13:12:15< Crab_> loonycyborg: yes, indeed. but, for example, pastebin.mozilla.org uses ~~ as a 'highlight sequence', thus avoiding the problem for diff's 20090510 13:13:07< Crab_> loonycyborg: and wesnoth.pastebin.com doesn't like cyrillic :) 20090510 13:13:59< silene> ilor: git (svn) rebase displays the progression; but if you have nothing to rebase (no local modifications) then there is nothing to display 20090510 13:14:11< ilor> silene 20090510 13:14:24< ilor> yes but svn rebase fetches the revisions apparently 20090510 13:14:42< ilor> and it takes a lot of time and there is no progress during that 20090510 13:14:58< silene> ilor: yes, it calls git svn fetch, and git svn fetch displays the progression too 20090510 13:15:30< ilor> well it just hung for me repeatedly, while svn fetch and then rebase worked fine 20090510 13:15:55< silene> i have no doubt that your git process was stuck; what i'm trying to say is that there was no progression to display 20090510 13:17:33< ilor> btw, is there anything I should pass to scons to make tests link? 20090510 13:26:09-!- elias [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090510 13:33:50-!- stikonas [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 13:35:39-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Remote closed the connection] 20090510 13:41:53-!- busfahrer|essen is now known as busfahrer 20090510 13:52:08-!- Polarina [n=polarina@wesnoth/translator/Polarina] has joined #wesnoth-dev 20090510 13:54:47< boucman> Crab_: how is it going ? 20090510 13:55:18< Crab_> not yet 20090510 13:55:24< boucman> k 20090510 13:55:43< boucman> mine has been running for hours now, but I don't think it's relevant, I had to renice it and such 20090510 13:55:55< boucman> so I'll stop it to do some more stressfull testing of the patch 20090510 14:01:41< CIA-30> noyga * r35531 /trunk/po/wesnoth-ei/fr.po: French translation update 20090510 14:05:02< CIA-30> noyga * r35532 /branches/1.6/po/wesnoth-ei/fr.po: Fench translation update 20090510 14:08:46-!- busfahrer is now known as buzZzZzfahrer 20090510 14:09:10-!- buzZzZzfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090510 14:10:57< CIA-30> silene * r35533 /trunk/data/campaigns/Son_Of_The_Black_Eye/scenarios/03_Towards_Mountains_of_Haag.cfg: Typo. 20090510 14:26:40< boucman> Crab_: done ? 20090510 14:27:10< Crab_> not yet 20090510 14:27:34< boucman> hmm 20090510 14:27:45< boucman> then it's probably not that good, is it ? 20090510 14:28:23< Crab_> boucman: I just hasn't got 0% cpu utilization atm. so, i'll test a bit later when nothing will run in the background 20090510 14:28:51< boucman> ok, makes sense 20090510 14:29:07< boucman> I'll have to leave soon, so I'll get your result later 20090510 14:29:17< Crab_> ok. i'll post a link. 20090510 14:29:31< boucman> note that the patch I gave you is a proof of concept to check that it does help, but the final patch will optimize it even better 20090510 14:36:35< Crab_> ok, i've started the test. result will be in <30 min 20090510 14:36:43< Ivanovic> boucman: so no way for it to be included in 1.6.2, right? 20090510 14:36:56< boucman> ... 20090510 14:37:05< boucman> 1.6.2 :no 20090510 14:37:09< Ivanovic> (since the 1.6.x tree can use some speed optimizations, even if this requires some more work for porting back (like maybe the a* stuff) 20090510 14:37:13< boucman> even 1.6 I'm not sure, 20090510 14:37:47< Ivanovic> and yeah, i would like to get away from "to optimize AI turn time, turn all animations off" 20090510 14:37:48< Ivanovic> ;) 20090510 14:37:55< boucman> Ivanovic: I'll give it some thought, it might be doable, the impact was smaller than I expected, but I'd rather have some more testing, so no 1.6.2 anyway 20090510 14:38:07< Ivanovic> boucman: more testing sounds fine to me 20090510 14:38:23< Polarina> ETA for 1.6.2 deployment? 20090510 14:38:57< boucman> deployment would be midle/end of week 20090510 14:39:11< Polarina> boucman: I meant for tagging. 20090510 14:39:22< boucman> tagging is tonight IIRC 20090510 14:44:25< Ivanovic> Polarina: "soon" 20090510 14:44:34< Polarina> Ivanovic: Ok. 20090510 14:49:11< Crab_> boucman: question: is there any way for player to make any decisions *on ai turn* ? 20090510 14:49:56< Crab_> (game decisions, so don't counting saving/loading/preference changes) 20090510 14:50:16< silene> Crab_: advancement (i thought it was not possible, but it happened to me recently) 20090510 14:52:48< Crab_> silene: thanks 20090510 14:58:10< CIA-30> ivanovic * r35534 /trunk/po/ (5 files in 5 dirs): updated Russian translation 20090510 14:58:17< CIA-30> ivanovic * r35535 /branches/1.6/po/ (5 files in 5 dirs): updated Russian translation 20090510 14:59:51< Crab_> boucman: not seeing much improvement from the patch. 20090510 15:00:28-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["Tengo que ir... Yeahzorz..."] 20090510 15:00:51< Soliton> Crab_: note that you can only choose advancements out of turn when you're the only player. 20090510 15:02:02< Crab_> Soliton: and what happens in other cases ? both healing and advancement are delayed ? 20090510 15:02:19-!- crimson_penguin [n=ben@64.201.60.216] has joined #wesnoth-dev 20090510 15:02:38< Soliton> Crab_: no, a random option is taken. 20090510 15:02:47< Crab_> ok 20090510 15:05:32< CIA-30> ivanovic * r35536 /trunk/po/ (wesnoth-low/sk.po wesnoth-thot/sk.po): updated Slovak translation 20090510 15:05:34< CIA-30> ivanovic * r35537 /branches/1.6/po/ (wesnoth-low/sk.po wesnoth-thot/sk.po): updated Slovak translation 20090510 15:06:10< Crab_> boucman: using the patch, I get 29 minutes (from 33 minutes). http://wesnoth.pastebin.com/m1ed15aa0 20090510 15:13:25< CIA-30> ivanovic * r35538 /branches/1.6/ (56 files in 6 dirs): 20090510 15:13:25< CIA-30> pot-update (no changed/new strings, only updated references) 20090510 15:13:25< CIA-30> regenerated doc files 20090510 15:14:48< Polarina> Ivanovic: Did you get my e-mail? 20090510 15:16:20< CIA-30> ivanovic * r35540 /trunk/po/ (3 files in 3 dirs): updated Icelandic translation 20090510 15:16:21< CIA-30> ivanovic * r35539 /branches/1.6/po/ (3 files in 3 dirs): updated Icelandic translation 20090510 15:16:27< Polarina> :D 20090510 15:19:42-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090510 15:20:05< Soliton> what do you call waiting with select()? i suppose that is not considered active waiting? 20090510 15:22:12< silene> sleeping 20090510 15:28:17< Soliton> hmm, is there a more technical term that is better for searching? :-) 20090510 15:28:55< Crab_> Soliton: blocking ? 20090510 15:30:56-!- giusef [n=giusef@unaffiliated/giusef] has joined #wesnoth-dev 20090510 15:34:39< Soliton> ah well, i'll paraphrase it. 20090510 16:06:16-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has left #wesnoth-dev ["Leaving"] 20090510 16:09:54-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090510 16:23:00-!- alink [n=alink@wesnoth/developer/alink] has joined #wesnoth-dev 20090510 16:23:03< alink> hi 20090510 16:23:18< Ivanovic> hi alink 20090510 16:23:29< alink> 'lo Ivanovic 20090510 16:23:58< Ivanovic> alink: since you have worked on some performance improvements lately, too, what do you think are the chances of porting them to branches/1.6 ? 20090510 16:24:17< Ivanovic> (okay, porting them before 1.6.2 (in some hours) won't work, talking more about "in general") 20090510 16:24:49< alink> the recruiting part was already backported in 1.6 20090510 16:24:58< Ivanovic> are the changes too intrusive, are they coupled too closely with other optimizations, do they break compatibility in any way, or should it work nicely? 20090510 16:25:38< alink> in fact, removing the FAI recruiting was 1.6 only 20090510 16:25:50-!- busfahrer is now known as busfahrer|afk 20090510 16:26:34< Ivanovic> :) 20090510 16:26:41< alink> Soliton: the removing of FAI from faction is compatible-safe, right? 20090510 16:28:04< alink> Ivanovic: my last pathfinding optimizations cannot be directly ported to 1.6, 1.7 pathfinding is already too much different 20090510 16:28:14< Soliton> alink: i think so. 20090510 16:28:24< Crab_> alink: yes, removing FAI from faction is compatible-safe 20090510 16:31:08< alink> btw I have another possibly good AI optimization for 1.6, seems to give nice results when AI has a lot of target but i need more time to evaluate its correctness 20090510 16:32:13< alink> (plus it's a bit hackish because it rely on an old (pre 1.4) AI bug) 20090510 16:32:16-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090510 16:32:55< Ivanovic> hi silene 20090510 16:32:59< Ivanovic> grml 20090510 16:33:01< Ivanovic> hi Sirp 20090510 16:40:41< CIA-30> alink * r35541 /branches/1.6/changelog: Mention AI recruiting optimization in changelogs 20090510 16:41:35< alink> I wonder if some add-on factions copied the FAI bits from mainline factions 20090510 16:43:13< Crab_> alink: yes, this is possible.. 20090510 16:43:18< alink> Soliton: do you think that the removal of FAI from mainline faction is changelog worthy (in WML section i guess) 20090510 16:45:07< silene> alink: was there a version released with FAI? i thought it had been disabled right from the start on 1.6? 20090510 16:45:24< silene> (in mainline factions i mean) 20090510 16:45:48< alink> Soliton: you mean it was added in 1.6.1 or 1.6+svn only? 20090510 16:45:56< alink> checking svn logs 20090510 16:46:39< silene> yes, i mean it was in 1.6+svn only (but i may be remembering incorrectly) 20090510 16:47:42< Soliton> alink: it's not noteworthy since it the rules were not used anyway. 20090510 16:47:52< Soliton> s/it // 20090510 16:50:33< alink> ah yes, i was thinking about MP perf and savegame cluttering, but indeed from the WML point-of-view, not used so probably not really important 20090510 16:52:35< alink> it seems that the FAI parts was in all 1.6.x but indeed dormant 20090510 16:53:24< alink> well, dormant as doing heavy computing but not doing anything in game 20090510 16:55:24< alink> assuming that the missing 'ai_algorithm=formula_ai' worked like excepted. That part is still not clear to me. I suppose it was parsing FAI but not executing it or something like that 20090510 16:55:40< Sirp> hmmm a site called ubuntumagazine.org wants to interview me 20090510 16:56:12< Crab_> alink: well, there was (is) a fallback mechanism, which allowed 1.6 default ai to fallback to 1.6 formula ai for recruitment 20090510 16:57:49< alink> Crab_: is it the ai_algorithm key ? 20090510 16:57:55< Crab_> no 20090510 16:58:33< Crab_> in 1.6, ai_algorithm says "which ai should the game create". and, on creation, this ai gets ai_interface::info struct 20090510 16:58:49< Crab_> in this struct, theres a boolean parameter named 'master' 20090510 16:59:06< Crab_> if it is true, then this ai is allowed to create other ai's (with master=false) 20090510 17:00:10< Crab_> and, if (master_), default ai attempted to create an instance of formula_ai and call it's do_recruitment method 20090510 17:01:57< alink> mmh still not all clear for me, I think I must check the code myself to see it and i am to hungry for that now 20090510 17:02:15< alink> Crab_ so what prevented 1.6 AI to execute FAI code ? 20090510 17:02:54-!- esr [n=chatzill@static-71-162-243-5.phlapa.fios.verizon.net] has joined #wesnoth-dev 20090510 17:04:30< alink> I am looking at the change done in (for example) http://svn.gna.org/viewcvs/wesnoth/branches/1.6/data/multiplayer/factions/drakes-default.cfg 20090510 17:06:49-!- elias [n=allefant@allegro/developer/allefant] has quit ["Leaving"] 20090510 17:12:14< Crab_> alink: in formula_ai.cpp: formula_ai::do_recruitment is executed only if recruit_formula_ is present. recruit_formula_ is created only if "recruit" ai parameter is set. in team.hpp : 'ai parameters' mean this->aiparams_, which (in team.cpp), mean ''active ai effective parameters set at start of each turn in set_time_of_day" which is only ai parameters inside relevant [ai] tags. there's no 'recruit" inside [ai] tag in faction config. 20090510 17:12:44< Crab_> alink: so, no recruitment formula should be created in that case. 20090510 17:14:45< Crab_> still, it will be parsed as a ["team_formula"] 20090510 17:14:48< alink> i was talking about [ai] [team_formula] rulebase="{ai/formula/recruitment.fai}" same thing ? 20090510 17:14:54< Crab_> yes 20090510 17:15:05< alink> ah ok so parsed but not executed 20090510 17:15:14< Crab_> imo, yes 20090510 17:16:36< Crab_> alink: imo, it will be parsed, but not as 'recruitment formula', but as 'move formula' 20090510 17:17:01< Crab_> but with ai_algorithm not formula_ai, it never gets executed. 20090510 17:17:48< Crab_> alink: see formula_ai constructor 20090510 17:18:04< alink> then a possible optimization is to check these use-FAI flags before parse FAI code ? 20090510 17:18:25< Crab_> the possible optimization is to remove fallback to formula ai from default ai. 20090510 17:18:40< Crab_> in 1.6, that is 20090510 17:19:11< alink> don't we want to allow 1.6 UMC to use FAI ? 20090510 17:19:40< Crab_> just comment out the block "Let formula ai to do recruiting first" in ai::do_recruitment() 20090510 17:19:46< Crab_> 1.6 UMC can still use formula_ai 20090510 17:19:48< alink> (the removal from faction.cfg was enough to fix the slowdown that i spotted ) 20090510 17:20:03< Crab_> the removal from faction.cfg is enough, too. 20090510 17:20:41< alink> for record, 1.6 ai.cpp:1905 was the slow call 20090510 17:20:57< Crab_> "if(static_cast(ai_manager::get_ai("formula_ai",info_).get())->do_recruitment()) { " ? 20090510 17:21:17< Crab_> or "ai_manager::get_ai("formula_ai", info_)->new_turn(); " ? 20090510 17:21:33< alink> the first one 20090510 17:21:57< Crab_> ok. afk 15 minutes. 20090510 17:22:12< alink> it's 1908 actually 20090510 17:23:00< Crab_> note that in 1.7, those fallback's will be deprecated, && replaced with explicit turn sequence, such as http://wesnoth.pastebin.com/m2bb3e31f 20090510 17:23:46< alink> ok will check that a little, but now i am afk too, sandwich time 20090510 17:23:56-!- EdB [n=edb@218.153.82-79.rev.gaoland.net] has joined #wesnoth-dev 20090510 17:26:46-!- Zen_Clark [n=user@99-136-80-191.lightspeed.rcsntx.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] 20090510 17:27:38-!- maxy [n=maxy@80-219-0-199.dclient.hispeed.ch] has quit [] 20090510 17:36:56-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [] 20090510 17:45:22< CIA-30> noyga * r35542 /branches/1.6/po/ (wesnoth-did/fr.po wesnoth-utbs/fr.po): French translation update 20090510 17:45:57< Polarina> esr: Maybe fix the fuzzy strings in en_GB for 1.6.2? 20090510 17:47:27< Polarina> esr: If you want, I can do that for you and send you the po files. 20090510 17:48:23< esr> Polarina: Go ahead, but no need to send me the .po files, I can check them out easily enough. 20090510 17:48:38< Polarina> esr: I do not have commit access. 20090510 17:49:07< esr> Oh, then I guess you have to send them :-) 20090510 17:49:31< Polarina> esr: :) 20090510 17:49:38< Polarina> esr: I'll be done in several minutes. 20090510 17:50:12-!- Elvish_Pillager [n=eli@71-10-228-131.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090510 17:50:52< CIA-30> noyga * r35543 /trunk/po/ (wesnoth-did/fr.po wesnoth-utbs/fr.po): French translation update 20090510 17:50:59< CIA-30> esr * r35544 /trunk/data/campaigns/Northern_Rebirth/scenarios/ (12a_Get_the_Gold.cfg 13a_Showdown.cfg): 20090510 17:50:59< CIA-30> Simplify side-hacking machinery and arrange for the elf regall list from Get 20090510 17:50:59< CIA-30> The Gold to be available in Showdown. Addresses the undone bit of bug #13502. 20090510 17:58:31-!- giusef [n=giusef@unaffiliated/giusef] has quit ["exit (-1);"] 20090510 18:05:03-!- ilor_ [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090510 18:05:29-!- Netsplit lindbohm.freenode.net <-> irc.freenode.net quits: wesbot, ilor, dfranke 20090510 18:05:48< esr> Soliton: ping? 20090510 18:08:06-!- Netsplit over, joins: wesbot 20090510 18:09:45< Polarina> esr: I sent you my revision. 20090510 18:09:58< esr> OK. 20090510 18:10:04< esr> PM or email? 20090510 18:10:42< Polarina> esr: E-mail. 20090510 18:11:04< esr> OK. 20090510 18:14:56< Soliton> esr: pong! 20090510 18:15:47-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090510 18:17:22-!- busfahrer|afk is now known as busfahrer 20090510 18:20:22< esr> Soliton: I'm thinking about mainlining the Dwarven Explorer unit from UtBS so Dwarven sides casn have a bit more tactical flexibility. Do you have an opinion about this? 20090510 18:20:42-!- dfranke [i=dfranke@wesnoth/developer/dfranke] has joined #wesnoth-dev 20090510 18:25:22< Soliton> esr: what exactly do you mean with mainlining? put him into core so addons/campaigns have easy access? 20090510 18:26:17< esr> Soliton: Yes. 20090510 18:26:25< CIA-30> esr * r35545 /branches/1.6/po/ (8 files in 8 dirs): en_GB translation update for 1.6, thanks to Polarina. 20090510 18:26:55< esr> Soliton: First new use would be in THOt. 20090510 18:27:06< Soliton> esr: fine by me. 20090510 18:27:48< esr> OK, I wanted to check with an MP dev to make sure it would intrinsicvally cause any issues over on that sidse. 20090510 18:28:02< esr> s/would/would not/ 20090510 18:29:23< Soliton> i think most campaign units we have are also somewhat generally balanced so it's ok to use them anywhere. 20090510 18:30:41< Soliton> more interesting are completely new units like the water serpent. ;-) 20090510 18:31:52< esr> Yeah, but that was a monster, so I didn't see an issue there. 20090510 18:31:59< esr> Should I have? 20090510 18:33:33-!- ilor_ [n=user@wesnoth/developer/ilor] has quit [Read error: 110 (Connection timed out)] 20090510 18:33:52< Soliton> it's not an issue at all and it seems fine now that i looked at it. i'd have to play a bit with it to suggest any tweaks anyway. 20090510 18:35:49< Polarina> esr: I have discovered other issues with the en_GB translation. I'll send you a diff in a moment. :) 20090510 18:46:04< Polarina> esr: I send you the patch. 20090510 18:47:22-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090510 18:47:27< Polarina> s/d/t/ 20090510 18:50:46-!- stikonas [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 18:57:03< zookeeper> esr, well, the sprites are still hideous. 20090510 18:58:00< zookeeper> i don't see any other problem with mainlining it. 20090510 18:59:05< CIA-30> ivanovic * r35546 /trunk/po/ (wesnoth/fi.po wesnoth-editor/fi.po wesnoth-manpages/fi.po): updated Finnish translation 20090510 18:59:06< CIA-30> ivanovic * r35547 /branches/1.6/po/ (wesnoth/fi.po wesnoth-editor/fi.po wesnoth-manpages/fi.po): updated Finnish translation 20090510 18:59:19< zookeeper> esr, oh btw, another thing we should really finally get done is properly mainlining the dwarvish runesmith line. 20090510 18:59:57< zookeeper> the core runemaster is just one unit with stupid stats, we should mainline the whole unit line from SoF. 20090510 19:00:13< Ivanovic> AI0867, alink, boucman, corn, Crab_, crimson_penguin, dfranke, Dragonking, esr, ettin_, freim, grzywacz, ilor, loonycyborg, Noyga, Shadow_Master, silene, Sirp, Soliton, stikonas, zookeeper, mordante, everybody else: are you ready for 1.6.2? 20090510 19:00:20< Ivanovic> if not, commit anything outstanding! 20090510 19:00:25-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090510 19:00:29< silene> Ivanovic: ready 20090510 19:00:30< zookeeper> Ivanovic, fine by me 20090510 19:00:31< Polarina> Ivanovic: Wait! 20090510 19:00:35< Noyga> fine too 20090510 19:00:36< Polarina> Ivanovic: Give me one minute. 20090510 19:00:39-!- busfahrer is now known as busfahrer|essen 20090510 19:00:49< Crab_> Ivanovic: all ok 20090510 19:01:14< zookeeper> Soliton, got any opinion on whether the runesmith line should be wired to the fighter line in core or not? 20090510 19:01:22< stikonas> Ivanovic: ok for me 20090510 19:02:09< Polarina> Ivanovic: I send you a revised translation. 20090510 19:02:11< Polarina> sent* 20090510 19:06:34-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090510 19:10:16< Polarina> Everyone died all of sudden... 20090510 19:13:10 * Turuk_ croaks. 20090510 19:13:35< Polarina> The en_GB patch I sent to esr and Icelandic revision to Ivanovic are still not in the branch. 20090510 19:13:56< Ivanovic> Polarina: relax... 20090510 19:14:03 * Polarina relaxes. 20090510 19:15:58-!- ilor_ [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090510 19:16:48< CIA-30> alink * r35548 /branches/1.6/src/ (astarsearch.cpp pathfind.cpp): 20090510 19:16:48< CIA-30> backport the equivalent of r35521 (small A* optimization) 20090510 19:16:48< CIA-30> also backport r35520 (fix dummy_path_calculator not respecting A* assumption) 20090510 19:17:48< alink> Ivanovic: I managed to backport one of my last pathfinding optimization (look less nice that just add a '+1' but it's the same idea) 20090510 19:18:02< Ivanovic> okay 20090510 19:19:34-!- busfahrer|essen is now known as busfahrer 20090510 19:19:58< alink> it seems to help nicely the AI targeting, but on my test case the impact is not huge on the whole AI turn. I suppose it will depend of each case (number of targets, complex map for pathfinding etc ) 20090510 19:20:00-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090510 19:20:29< crimson_penguin> Ivanovic: Sort of; I probably won't be able to do anything before tomorrow though 20090510 19:20:43< Ivanovic> crimson_penguin: okay 20090510 19:20:51< crimson_penguin> I don't have any changes that need to be made though 20090510 19:21:08< Soliton> zookeeper: you mean branch off the fighter? 20090510 19:21:17< zookeeper> Soliton, yeah 20090510 19:21:25< crimson_penguin> (It would be nice if preferences get changed to cmd+, though; cmd+p is normally print on Mac - I tried changing it myself but couldn't figure it out) 20090510 19:21:38< zookeeper> i'm not sure if it would make much sense, that's just how it works in SoF 20090510 19:21:52< Soliton> zookeeper: i wouldn't mind. 20090510 19:22:08< alink> I remember some talk about a possibility to fix the seed used by AI (for benchmark purpose), is it planned or do i need to hack something locally 20090510 19:22:12< Ivanovic> crimson_penguin: tell me what his to be changed which way 20090510 19:22:18< Soliton> zookeeper: maybe get some more opinions. 20090510 19:22:32-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090510 19:22:52< alink> Crab_: ^ I suppose that such seed hack could be usefull for your AI benchmarks 20090510 19:22:57< Ivanovic> in general this stuff is defined in data/core/hotkeys.cfg 20090510 19:23:08< Soliton> alink: --rng-seed seeds the random number generator with number 20090510 19:23:12< crimson_penguin> Ivanovic: Well on Mac preferences should be command+, 20090510 19:23:15< Ivanovic> but in some "special" way to remap ctrl to cmd 20090510 19:23:20< crimson_penguin> I think that's where I tried to change it, but it didn't seem to work 20090510 19:23:22< alink> Soliton: thanks 20090510 19:23:29-!- ilor [n=user@wesnoth/developer/ilor] has quit [Read error: 60 (Operation timed out)] 20090510 19:23:31< Ivanovic> have you removed your old hotkeys file? 20090510 19:23:33< alink> and glad that it exist already 20090510 19:23:38< Soliton> alink: not sure if that is the seed you're talking about though. 20090510 19:23:40< Ivanovic> (okay, part of preferences) 20090510 19:23:41< crimson_penguin> Ivanovic: yeah, in my user dir 20090510 19:23:49< Crab_> alink: no, fixed seed is not that useful for ai-vs-ai testing (we want things to be as random as possible there) 20090510 19:23:49< crimson_penguin> Anyway, no big deal, and doesn't have to get into this release 20090510 19:24:03< Ivanovic> crimson_penguin: i think you have to remove the preferences file in Library/ 20090510 19:24:14< crimson_penguin> Ivanovic: I did 20090510 19:24:54< crimson_penguin> I don't know, maybe I did something stupid though, like editing the wrong file (not the one in use); I'm not sure 20090510 19:25:31< Ivanovic> this one should be the one in use 20090510 19:25:46< Ivanovic> and i don't want to change it for mac since i have no way to test if it really changes anything 20090510 19:26:05< crimson_penguin> I mean, I copy it to the .app, so it's sort of possible I was editing the one in my svn, not in the .app, and not copying it over 20090510 19:26:13< crimson_penguin> yeah, makes sense 20090510 19:26:22< crimson_penguin> I'll try to figure it out again later 20090510 19:26:33-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has joined #wesnoth-dev 20090510 19:26:38< crimson_penguin> gonna go make some chocolate now I think, and then later I'm going to the jam 20090510 19:26:53< Ivanovic> oaky 20090510 19:27:09< alink> Crab_: I was thinking about benchmarking AI cpu perf, not AI skill 20090510 19:27:26< boucman> back 20090510 19:27:28< alink> --rng-seed is not in 1.6 :-( 20090510 19:27:32< Crab_> alink: yes, random is better there, as well 20090510 19:27:41< boucman> Crab_: oh, too bad :( I must have optimized for the wrong case 20090510 19:27:58< Crab_> boucman: but a bit better nevertheless. 20090510 19:28:28< Crab_> alink: we don't want to optimize the ai for a specific random seed. we want to optimize it 'in most cases' 20090510 19:28:31< boucman> Crab_: yes, I'll commit my change anyway, but it means I need to think some more about your problem to try to find a proper fix 20090510 19:28:56< CIA-30> ivanovic * r35549 /trunk/po/wesnoth-tutorial/is.po: updated Icelandic translation 20090510 19:28:56< CIA-30> ivanovic * r35550 /branches/1.6/po/wesnoth-tutorial/is.po: updated Icelandic translation 20090510 19:28:58< Crab_> boucman: if you need any info, tell we what to check 20090510 19:29:03< alink> Crab_: no, i mean i want to benchmark my pathfinding optimization for the AI usage, I don't want that it does different pathfinding request 20090510 19:29:14< Crab_> alink: why ? 20090510 19:29:33< boucman> Crab_: no, I think I know what's going on, the problem is that the algorithm is inherently complex, and finding a correct way to optimize is tricky 20090510 19:29:52< boucman> Crab_: did you produce a png like the previous ones woth my patch applied ? 20090510 19:30:27< alink> Crab_: to compare one run not-optimized to one optimized. If they do different actions, it's meaningless 20090510 19:30:52< Crab_> alink, imho,the right way to do it is to make everything as random as possible, collect MANY results, and then use any 'statistical significance test' to see if the improvement matters. 20090510 19:31:03< alink> (I don't want to do 100 tests and check the stats) 20090510 19:31:23< Crab_> alink: but if you check only one seed, you can optimize one case but 'pessimize' another. 20090510 19:31:58< Polarina> Ivanovic: Still time to make a small little patch? 20090510 19:32:17< Ivanovic> Polarina: i will start tagging in ~20 mins 20090510 19:32:29< Ivanovic> (then i run the last pot-update, generate doc files, stuff like this) 20090510 19:32:50-!- stikonas_ [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 19:33:26-!- Gnutoo [n=gnutoo@host109-10-dynamic.54-79-r.retail.telecomitalia.it] has left #wesnoth-dev ["Leaving"] 20090510 19:33:39< Polarina> Ivanovic: Could you apply this patch? http://simnet.is/gabrielp/is.patch 20090510 19:34:03< Ivanovic> just mail me the updated file, this is safer 20090510 19:34:09< Polarina> Ivanovic: Ok. 20090510 19:34:24< Crab_> boucman: i'll do that png now. expect in half-an-hour. 20090510 19:34:32< alink> Crab_: Agreed in general. But for an optimization which skip things (almost always wanted), an improvement on few standard cases is enough to me. And also sometimes i just want to check how effective it is (to see if it's a worthy direction to go) 20090510 19:34:41< boucman> thx, I'd very interested in any visible change 20090510 19:35:18< Crab_> alink: ok ) 20090510 19:36:02< Polarina> Ivanovic: Sent. 20090510 19:36:06-!- jmunro[a] is now known as jmunro 20090510 19:36:50< Ivanovic> esr: around? 20090510 19:37:14< Polarina> Ivanovic: Would you like to have the en_GB patch I sent him? 20090510 19:38:12< Soliton> Crab_: any idea whether there is a wiki page on ways to profile wesnoth? might be nice to make one if not and add instructions on how to produce nice graphs, etc. 20090510 19:38:20< Polarina> http://simnet.is/gabrielp/en_GB.patch 20090510 19:38:33< Ivanovic> Polarina: no 20090510 19:38:43< Polarina> Ivanovic: Ok. 20090510 19:38:51< zookeeper> Soliton, all right 20090510 19:40:04< Ivanovic> Polarina: especially because the patch for wesnoth/en_GB is likely not to apply cleanly 20090510 19:40:12< Ivanovic> (long line vs 80 char) 20090510 19:40:29< Polarina> Ivanovic: No problem then. 20090510 19:40:29< Crab_> Soliton: I and cjhopman have used google performance tools to profile wesnoth, so, there's the documentation of google performance tools about this. silene used a different method (oprofile, if I recall correct) 20090510 19:40:36< Ivanovic> but yes, your changes are valid, though one thing is borked: dst=terrain_flat text=Flat 20090510 19:40:36< Polarina> I'll just wait for esr to take a look at it. 20090510 19:40:43< Ivanovic> make sure to include the ' ' from the original 20090510 19:40:54< silene> yes, i'm using oprofile 20090510 19:41:10< Polarina> Ivanovic: Ok. The en_GB translation that was before didn't have those. 20090510 19:41:37< Ivanovic> Polarina: no reason not to fix it 20090510 19:41:37-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Read error: 110 (Connection timed out)] 20090510 19:41:38< Ivanovic> ;) 20090510 19:41:45< Polarina> Ivanovic: :D 20090510 19:42:23< Polarina> Ivanovic: I reuploaded that file now. :) 20090510 19:42:33< Ivanovic> esr: in general the patch from Polarina is fine and needed, would be nice if you applied it "soon" 20090510 19:42:44< Ivanovic> (and don't forget trunk, since the problems exist there, too...) 20090510 19:43:02< Soliton> Crab_: i know. there is also documentation for svn, etc. out there, still we have a page on how to get wesnoth from svn. ;-) 20090510 19:43:44< Crab_> Soliton: :) no,there's no such page for profiling, afaik. 20090510 19:44:06< CIA-30> ivanovic * r35551 /trunk/po/wesnoth-tutorial/is.po: updated Icelandic translation 20090510 19:44:13< CIA-30> ivanovic * r35552 /branches/1.6/po/wesnoth-tutorial/is.po: updated Icelandic translation 20090510 19:44:29< boucman> Crab_: do you still have yesterday's profile URL so I can study it some more ? 20090510 19:44:43< Crab_> boucman: yes. 20090510 19:44:59< Crab_> boucman:ftp://ftp.terraninfo.net/wesnoth/ai_01.jpeg 20090510 19:45:04< boucman> thx 20090510 19:46:56< boucman> Crab_: is there some doc about that image somewhere ? at this point I need to know exactly what each number means (is it part of the google profiling tool ? ) 20090510 19:47:05< Crab_> boucman: yes. 20090510 19:47:09< boucman> k 20090510 19:47:09< Crab_> boucman: btw, there's another (quite different) future way to solve 'ai doesn't think while user is interacting with the game or while animations are invalidated' problem, for some computers - make AI *think* in a different thread than user interaction. 20090510 19:47:13< Crab_> boucman: for example, 'candidate action evaluation" is naturally easy to do in parallel, since we need all candidate actions evaluated before picking 'best', and evaluation of each action is supposed to be read-only . 20090510 19:47:43< boucman> yes, but that's a totally different can of worm 20090510 19:47:53< boucman> if wesnoth was multi-thread that would be the way to go 20090510 19:48:42< Crab_> boucman: is there a problem with making a multithreaded version of rca loop somewhen in the future ? 20090510 19:48:56< boucman> Crab_: not inherently 20090510 19:49:27< boucman> but wesnoth is monothread right now, and I don't think most programmers assume multitasking when programming wesnoth, so it should be done cautiously 20090510 19:49:32< Crab_> for only calculations and read-only access to game state is needed in parallel... 20090510 19:50:28< silene> boucman: "monothread" is a bit too strong in the case of wesnoth; if you ask gdb you will notice there are actually two threads running in prarallel ;-) 20090510 19:50:43< alink> Soliton: I suppose that it would be better that --rng-seed also works when gui is active (I think it's currently not the case) 20090510 19:50:47< boucman> yes, the network thread IIRC 20090510 19:51:11< Crab_> silene: btw, have you finished profiling orc players turn yesterday ? 20090510 19:51:33< alink> (because some anim and sound stuff use rand() ) 20090510 19:51:47< silene> boucman: in fact, this is not the one i was thinking about, i was thinking about sdl threads 20090510 19:52:08< silene> Crab_: no, since i had a use for the computer, i didn't want another hard hang 20090510 19:52:15< Crab_> silene: ok. 20090510 19:53:36< Ivanovic> everybody ready for 1.6.2? 20090510 19:55:03< boucman> Crab_: ok, I think I found something 20090510 19:55:25< Dragonking> Ivanovic: I have nothing to add before 1.6.2 ;) 20090510 19:55:43< boucman> if you look at the call graph, we spend 16.8% cumulative creating image::locator objects 20090510 19:55:53< boucman> most of this time is spent in the init_index part 20090510 19:56:09-!- stikonas [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 19:56:14< Crab_> alink: you can try adding a console debug command to set rng value 20090510 19:56:28< alink> Ivanovic: I am ready 20090510 19:57:07< Ivanovic> Polarina: a small hint: normally not a pipe but a capital i is used in wesnoth-manpages 20090510 19:57:18< Ivanovic> had to correct three occurences 20090510 19:57:56< CIA-30> ivanovic * r35553 /trunk/po/wesnoth-manpages/is.po: fix errors in Icelandic translation 20090510 19:58:17< CIA-30> ivanovic * r35554 /branches/1.6/po/wesnoth-manpages/is.po: fix errors in Icelandic translation 20090510 19:58:37< silene> boucman: but note that we should not be calling image::locator for images we don't to display, yet we are; so before trying to improve the performance of image::locator, we should just avoid calling it 20090510 19:58:45< alink> Crab_: there is a --rng-seed launch parameter in 1.7, but I think to make it work with a gui, we need to use separate game-rule rand() calls to display rand() calls 20090510 19:58:59< Ivanovic> Polarina: beside this, they are not complete enough so far to have manpages generated: 20090510 19:59:01< Ivanovic> Discard ../../doc/man/is/wesnoth.6 (71 of 102 strings; only 69.6% translated; need 80%). 20090510 19:59:01-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090510 19:59:02< Ivanovic> Discard ../../doc/man/is/wesnothd.6 (73 of 112 strings; only 65.17% translated; need 80%). 20090510 19:59:08< boucman> silene: we need thos locators to know the image size 20090510 19:59:26< silene> boucman: why do we need the image size, if we are not going to display it? 20090510 19:59:38< boucman> because we need to calculate what hex it will overlap 20090510 20:00:04< silene> boucman: why do we need to know which hex it will overlap, if we don't display it? 20090510 20:00:23< boucman> how do you know you won't display it if you don't know which hex it overlaps ? 20090510 20:00:31< alink> boucman: i think the problem here is that we use image::locator(string) contructor instead of a cached image::locator 20090510 20:00:57< boucman> alink: indeed, I just noticed that, I'm testing a fix right now replacing image::locator("") with image_locator() 20090510 20:01:52< Crab_> alink: "we need to use separate game-rule rand() calls to display rand() calls" it should be done, sooner or later. because making multiplayer rng cheat-proof needs that a separate rng for game-changing actions. 20090510 20:02:04< alink> only image::locator(string) causes a search in image cache and a call to init_index() 20090510 20:02:19< silene> boucman: just because it is way out of screen; why do you think my patch was giving a 50% speedup? we really should stop assuming that a picture can be as big as the map 20090510 20:02:31< boucman> alink: yes, I know, and in the constructor it's always the empty string, which is stupid, I am fixing that 20090510 20:02:34< stikonas> Ivanovic: can I send you po file with spelling fix or it is too late now? 20090510 20:02:35< CIA-30> ivanovic * r35555 /branches/1.6/ (57 files in 9 dirs): 20090510 20:02:35< CIA-30> pot-update (preparing for 1.6.2, no new/changed strings) 20090510 20:02:35< CIA-30> regenerated doc files 20090510 20:03:01< alink> Crab_: indeed, and doesn't seems to be a lot of work 20090510 20:03:28< alink> Crab_: well for anim stuff, but there is few other rand() here and there to check 20090510 20:03:28< boucman> silene: people want big defeldor like effects, and they expect it to work 20090510 20:04:02< boucman> so let's try to get things right first, we'll introduce quirks if it doesn't work, but there are still low hanging fruits in there, no need to do radical stuff 20090510 20:04:31< boucman> Crab_: could you interrupt your current run and introduce a little change for me ? 20090510 20:04:37< Crab_> ok 20090510 20:04:40< CIA-30> ivanovic * r35556 /branches/1.6/ (changelog configure.ac players_changelog src/wesconfig.h): bump version to 1.6.2 20090510 20:04:42< stikonas> ok, my spelling fix will wait for 1.6.3 as pot update si already commited. 20090510 20:04:49< silene> boucman: come on, an AI turn that requires 33 minutes on a good computer, and we shouldn't go for radical things? 20090510 20:05:08< Ivanovic> stikonas: if i have the files in the next mins it can still go in 20090510 20:05:10< alink> Crab_: ah sorry stupid me, you obviously mean using some special rand() for game-rule and don't touch others rand() 20090510 20:05:14< boucman> line 182 and 183 of unit_frame.cpp please change image_ and image_diagonal_ to use a parameter-less constructor 20090510 20:05:43< boucman> silene: not until we have tried normal approches, why do you want to break things without trying anything else 20090510 20:05:45< Crab_> boucman: btw, can you create some kind of map "map_tile->"set_of_animations_which affect_this_tile" ? 20090510 20:05:50< boucman> there are other things we can do 20090510 20:05:50-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090510 20:05:54< silene> Crab_: no, you won't fix rnd cheating that way; the only way is to put the rng on the server 20090510 20:06:48< boucman> Crab_: the things is that it changes with every redraw (because it's animated) so it's pretty tricky to keep up to date, and it's the calculation of that mapping which is costy 20090510 20:06:49< silene> boucman: just show me one thing that was really broken by my patch and i will stand corrected 20090510 20:07:06< boucman> defeldor's thunderstrike 20090510 20:07:23< Ivanovic> alink, boucman, Crab_, silene: short guess: nothing of such an improvement will be ready in the next mins (and thus for 1.6.2), correct? 20090510 20:07:28-!- stikonas__ [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 20:07:30< Crab_> silene: we've discussed RNG cheating with ilor. I've proposed a solution which gives adds a boolean state, 'validity', into a rng. 20090510 20:07:32< Crab_> Ivanovic: correct 20090510 20:07:39< silene> boucman: as far as i can tell, delfador's thunderstrike works fine 20090510 20:07:52< boucman> Ivanovic: maybe the one Crab_ has just started testing, it's trivial to backport, but I'm not sure how efficiant it is 20090510 20:09:06< Crab_> boucman: compiling atm 20090510 20:09:09-!- ilor_ [n=user@wesnoth/developer/ilor] has quit [Read error: 113 (No route to host)] 20090510 20:09:27< alink> Ivanovic: not from me 20090510 20:09:28< silene> Ivanovic: afaic, the 50%-speedup patch is in 1.6.2 20090510 20:10:32< Ivanovic> silene: afaik it was reverted today 20090510 20:10:44< silene> Ivanovic: you sure? 20090510 20:10:53< Ivanovic> i think boucman has done so 20090510 20:11:03-!- yann [n=dwitch@nan92-1-81-57-214-146.fbx.proxad.net] has joined #wesnoth-dev 20090510 20:11:23< boucman> Ivanovic: I probably didn't revert 1.6 20090510 20:11:40< boucman> I would like to, but obviously silene and I disagree on that 20090510 20:11:52< boucman> I consider it introduces a bug, silene doesn't 20090510 20:12:07-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Read error: 60 (Operation timed out)] 20090510 20:12:12< boucman> no, I didn't revert 1.6 20090510 20:12:58< Crab_> boucman: ok, I've started test 20090510 20:14:41< Polarina> Ivanovic: I used a capital i 20090510 20:14:42< alink> an intermediate solution is to use a bigger value than 2 hexes for now, 5 or 6 hexes seems reasonable for sprites and should still help on any big map (compared to the screen size) 20090510 20:14:43< boucman> silene: if that's fine with you, i'll revert in 1.6, if we don't find a better way, it will be in the next release 20090510 20:15:03-!- stikonas_ [n=quassel@ctv-213-164-101-189.vinita.lt] has quit [Read error: 110 (Connection timed out)] 20090510 20:15:22< silene> no, it isn't fine with me, unless you can show me something that is broken (and delfador's animation is not) 20090510 20:15:28< Ivanovic> Polarina: have a look at revision 35554: http://svn.gna.org/viewcvs/wesnoth/branches/1.6/po/wesnoth-manpages/is.po?rev=35554&r1=35553&r2=35554&view=diff 20090510 20:15:44< Ivanovic> i replaced several pipe chars you used with capital I 20090510 20:16:05< Ivanovic> boucman: when should delfadors attack be broken? 20090510 20:16:21< Polarina> Ivanovic: Must've been an accident. 20090510 20:17:02< boucman> when defeldor is out of the map but his strike is partly on the map 20090510 20:19:01< boucman> silene: you've disabled a feature in a stable branch and I should be happy with that ? 20090510 20:19:07-!- stikonas__ is now known as stikonas 20090510 20:19:33< silene> boucman: you have made 1.6 way slower than 1.4 and i should be happy with that? 20090510 20:19:35< boucman> seriously, I've spent 4 years in that areas talking with our art devs about the features they need, I think I know what I'm talking about 20090510 20:19:53< boucman> I'm not saying you're wrong, I'm saying we need to look into other ways and you don't even want tha 20090510 20:20:11< boucman> ok, I'm gone, see you all later 20090510 20:20:16-!- boucman [n=rosen@wesnoth/developer/boucman] has left #wesnoth-dev [] 20090510 20:23:04< Crab_> silene: about the rng - http://wesnoth.pastebin.com/m53ccd5db 20090510 20:24:38< silene> Crab_: it's a bit more than that; at the time you ask for a seed to the server, the action that required the seed should already be known from all the other players 20090510 20:24:59< Crab_> yes. 20090510 20:25:05< Crab_> 1) is just that 20090510 20:25:45< Crab_> 'all decisions should be synced across the network' 20090510 20:25:50< Soliton> sounds like a full_map key is needed in animations so we don't have to default to that assumption. 20090510 20:26:03< silene> ok, it wasn't clear if it concerned past decisions or future decisions 20090510 20:26:25< Crab_> past decisions. 20090510 20:26:37< Ivanovic> boucman, silene: just checked with delfador (enemy unit!) attacking someone with his "huge area redrawn"-attack 20090510 20:26:54< Crab_> at the point rng seed is required, the decision to attack is already 'a past decision' :) 20090510 20:27:03< Ivanovic> delfador as well as the attacked unit were south of the display area shown to the user 20090510 20:27:20< Ivanovic> i saw no glitch with the attack, it was displayed correctly all the time 20090510 20:27:30< Soliton> 1.6 or trunk? 20090510 20:27:33< Ivanovic> 1.6 20090510 20:27:40< Soliton> heh. 20090510 20:27:42< Ivanovic> (since the stuff is still in there) 20090510 20:28:49< silene> Ivanovic: thanks for testing 20090510 20:29:49< alink> Ivanovic: more than 1 or 2 hexes out of the view ? 20090510 20:30:08< Ivanovic> alink: the attack is not this big 20090510 20:30:30< Ivanovic> that is: the attack itself only has about 4 hexes 20090510 20:31:00< alink> yes i know, it just that the patch only affect that case (>1 or 2) 20090510 20:32:41< Ivanovic> ah, okay 20090510 20:32:44< silene> alink: keep in mind that, if the user has *purposely* set the camera so that neither the attacker nor the defender can be seen on screen, we shouldn't try too hard ;-) 20090510 20:32:44< alink> (not that i really care about unit so far from the screen) 20090510 20:32:58< Ivanovic> i *tried* to see things far outside (as in 3 hex away) 20090510 20:33:02< alink> silene: yes I agree 20090510 20:33:07< Ivanovic> saw nothing there 20090510 20:34:05< alink> it's just that I think it is what boucman wanted to test 20090510 20:34:06< Soliton> yeah, that's the "broken feature". 20090510 20:35:41< Crab_> note that for ai turn speedup it is not that important to stop invalidation of "combat" animations. it is more important to stop invalidation of animations when the ai is *thinking* (ai targeting phase) and user is doing nothing, as well, waiting for the ai to finish its turn. 20090510 20:36:44-!- noy [n=Noy@wesnoth/developer/noy] has quit ["GO, GET TO THE CHOPPAH!!!"] 20090510 20:36:45< Crab_> minimizing the screen works best, of course :) but it is not good when the user is interested in seeing the ai moves. 20090510 20:38:04-!- andreluiz [n=deko__@unaffiliated/andreluiz] has quit [Read error: 110 (Connection timed out)] 20090510 20:38:25< Soliton> i think the simplest solution is a special WML key to disable the out of screen checks for animations that really should be shown even if the unit is far out of screen. 20090510 20:38:29< silene> Crab_: even so, you said that when minimizing, my patch was still a 150% speedup, right? 20090510 20:38:42< Crab_> yes. it was especially effective with minimizing :) 20090510 20:38:54< Crab_> i've got a turn in 7 minutes :) 20090510 20:38:55< Soliton> in general it is just not anything to worry about and that way we don't use the flexibility. 20090510 20:40:07< Crab_> since it looks like "ai has 100 targets to consider -> 100x ai considers each one, thinking for >30ms, calling 'raise_user_interact', (but nothing is changed in the game ), -> lots of time is spent on redrawing, invalidating, etc" 20090510 20:41:08< CIA-30> ivanovic * r35557 /branches/1.6/po/wesnoth-aoi/lt.po: updated Lithuanian translation 20090510 20:41:10< CIA-30> ivanovic * r35558 /trunk/po/wesnoth-aoi/lt.po: updated Lithuanian translation 20090510 20:41:12< Crab_> it will be even better to fully disable redraw if the user is not doing anything and the ai is not doing anything (thinking) for the last N seconds. 20090510 20:41:59< silene> it would be confusing, the user may think wesnoth is stuck 20090510 20:42:04< Crab_> say, "convert the current picture to grayscale and forget about recalculation of picture until either human does something or ai does something 20090510 20:42:29< Crab_> display a static "greyscale" image of a last situation, with a hourglass 20090510 20:42:38< Crab_> and if user moves a mouse it all gets back to normal 20090510 20:43:09< Crab_> or if ai decides to make a move - it goes back to normal, fully animates the move, and then returns to 'grayscale' 20090510 20:43:22< silene> it's even more confusing ;-) when a window becomes grayscale, it means that the program stopped responding to X and should be -KILL (compiz feature) 20090510 20:43:23< alink> no greyscale, can be expensive and blinky 20090510 20:44:21< alink> Crab_: btw just disabling map, standing and idle anims is not enough ? 20090510 20:44:54< Crab_> alink: will try. but in my proposal, moves and attack will be fully animated. 20090510 20:45:26< alink> there is also already a setting for that 20090510 20:45:47< Crab_> alink: i'll try and see how much time it takes. 20090510 20:46:17-!- AndreLuiz [n=deko__@unaffiliated/andreluiz] has joined #wesnoth-dev 20090510 20:46:25< alink> so all these slow 33min were done with all anim setting on ? 20090510 20:46:32< Crab_> yes 20090510 20:46:41-!- maxy [n=maxy@80-219-0-199.dclient.hispeed.ch] has joined #wesnoth-dev 20090510 20:46:42< alink> ah ok 20090510 20:47:05< Crab_> note that it doesn't matter that much if I scroll offscreen - since all animation is invalidated. 20090510 20:47:25< alink> cutting standing and idle should help a lot 20090510 20:47:28< Crab_> that was silene's patch - don't invalidate those animations which are far away 20090510 20:47:57-!- Elvish_Pillage2 [n=eli@71-10-228-131.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090510 20:48:59< alink> if it helps, an easy small and almost invisible optimization is to avoid starting new idle anim during AI turn. Since they are randomly started, no user will notice it 20090510 20:49:27< alink> temporary freezing standing anim is more visible 20090510 20:49:37< alink> but idle are more common than standing 20090510 20:49:40-!- flore [n=chatzill@par69-9-88-166-83-211.fbx.proxad.net] has joined #wesnoth-dev 20090510 20:50:25< flore> Hello 20090510 20:50:26< silene> alink: are you including flying animations when you are talking about idle animations? because that's partly what Crab_'s testcase is about 20090510 20:50:33< Ivanovic> oaky, so everything ready for 1.6.2? 20090510 20:50:35< alink> hi flore 20090510 20:50:52< alink> silene: flying is a standing anim 20090510 20:50:53< Ivanovic> silene: ehm, flying anims are not idle anims IIRC 20090510 20:51:02-!- Elvish_Pillager [n=eli@71-10-228-131.dhcp.oxfr.ma.charter.com] has quit [Read error: 60 (Operation timed out)] 20090510 20:51:08< alink> but only few units have standing anim 20090510 20:51:08-!- DDR [n=chatzill@66.183.125.196] has joined #wesnoth-dev 20090510 20:51:09< silene> alink: so would it be disabled or not? 20090510 20:51:10< flore> I have a question about the pictures and graphic artwork included in Battle for Wesnoth 20090510 20:51:38< flore> Under which license are they released? 20090510 20:51:42< Ivanovic> gpl 20090510 20:51:56< alink> silene: if we only disable idle, no, bats will still fly 20090510 20:52:51< Ivanovic> alink, Crab_, silene: so anything left *right now* in the pipeline for 1.6.2? 20090510 20:52:51< alink> silene: but we could also stop standing anim for unit out of the screen 20090510 20:52:57< Ivanovic> since i would like to get it out now 20090510 20:53:11< Crab_> Ivanovic: no. 20090510 20:53:17< silene> Ivanovic: no 20090510 20:53:33< flore> OK. And if someone takes some pictures, modifies them and uses them in its own online game? What should he do exactly, regarding the license (I'm not very familiar with this) 20090510 20:53:39< alink> Ivanovic: sill nothing 20090510 20:54:24< Soliton> flore: then he needs to put them under the GPL as well. 20090510 20:54:25< Ivanovic> flore: state where the images are from and which options the other has with them 20090510 20:54:35< Ivanovic> (all the rights provided by the gpl) 20090510 20:55:23< Ivanovic> okay, releasing 1.6.2 *NOW* 20090510 20:55:48-!- Ivanovic changed the topic of #wesnoth-dev to: releasing 1.6.2, using r35558 | 56 bugs, 237 feature requests, 9 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090510 20:56:19-!- ardesh [n=ardesh@port-92-206-77-165.dynamic.qsc.de] has joined #wesnoth-dev 20090510 20:56:31-!- ardesh_ [n=ardesh@port-92-206-77-165.dynamic.qsc.de] has quit [Connection reset by peer] 20090510 20:58:17< flore> Does he also have to provide the source image to Wesnoth? 20090510 20:59:38< Ivanovic> what do you mean with "provide the source image to Wesnoth"? 20090510 20:59:40< Soliton> you mean the modified version? 20090510 21:00:18< flore> yes, at least a high res picture which could be reused in Wesnoth if needed 20090510 21:00:49-!- ardesh_ [n=ardesh@port-92-206-77-165.dynamic.qsc.de] has joined #wesnoth-dev 20090510 21:00:58< alink> silene: you may want to try put your on-screen test in unit::set_standing, but need to reactivate standing anim when on screen again, maybe by the unit::refresh function 20090510 21:02:00< Soliton> flore: it's not only about wesnoth, it's about the public. it has to be publicly available (or made available on request). 20090510 21:02:08< alink> silene: (don't know how easy it is, but I know that disable standing anim helps a lot) 20090510 21:02:08< Crab_> alink: ok, 13 minutes with animations disabled. 20090510 21:02:31< alink> Crab_: map anim too ? 20090510 21:02:56< Crab_> alink: yes, disabled. 20090510 21:03:25< Crab_> animate_map:no; standing_animation:no; idle_unit_animation: no 20090510 21:03:33< alink> Crab_ btw a quick test to see if you avoid all invalidation is to use sunset mode 20090510 21:03:52-!- jmunro is now known as jmunro[a] 20090510 21:03:55< Crab_> how ? 20090510 21:04:06< CIA-30> ivanovic * r35559 /branches/1.6/ (changelog players_changelog): correct indention in changelogs 20090510 21:04:07< alink> Crab_: ":sunset" in debug mode 20090510 21:04:10-!- stikonas_ [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 21:04:35-!- Ivanovic changed the topic of #wesnoth-dev to: releasing 1.6.2, using r35559 | 56 bugs, 237 feature requests, 9 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090510 21:04:36< alink> wait when looking unit and village flag, don't scroll or use the mouse 20090510 21:05:12-!- stikonas_ [n=quassel@ctv-213-164-101-189.vinita.lt] has quit [Remote closed the connection] 20090510 21:06:04< alink> (screen become darker, only invalidation stay bright) 20090510 21:06:33< alink> use cpu, not for benchmark 20090510 21:06:39< Polarina> Ivanovic: The indentation was correct before... 20090510 21:06:48< Ivanovic> Polarina: no, it was not 20090510 21:07:03< Polarina> Ivanovic: My fault. 20090510 21:07:04< flore> Thank you Ivanovic and Soliton for your help. 20090510 21:07:35< alink> brb 20090510 21:08:02< flore> Thanks to every contributor to battle for Wesnoth for this wonderful game and spending time to make it better and better! 20090510 21:08:08< Crab_> alink: no visible effect form 'sunset' command 20090510 21:08:11< Polarina> flore: You're welcome. 20090510 21:09:01< flore> Have a nice evening / day wherever you are ;) 20090510 21:09:12< Polarina> flore: Would you like to contribute too? 20090510 21:09:30-!- stikonas_ [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 21:10:35< flore> Polarina: Oh I don't have very much time and contibuting to Mozilla is also taking time... 20090510 21:11:59< Polarina> flore: Assuming you are from French, you could point out errors in the French translation to the French translation team. 20090510 21:12:46< Polarina> France* 20090510 21:13:24< flore> Indeed, I'm french, but I have to confess that I play in English, because some texts are not localized and it's half english / half french... 20090510 21:13:28 * flore blushes 20090510 21:14:22-!- ardesh [n=ardesh@port-92-206-77-165.dynamic.qsc.de] has quit [Read error: 110 (Connection timed out)] 20090510 21:14:23< isaac> you are a traitor to your country 20090510 21:14:30< Polarina> flore: You can help fixing that. :) 20090510 21:14:53-!- jonathansizz [n=ian@216.16.222.80.dyn-cm-pool50.pool.hargray.net] has joined #wesnoth-dev 20090510 21:15:53< flore> isaac: Please do not denounce me! Especially not to the frenchmozilla Team 20090510 21:16:12< stikonas_> 96% translation is hardly half english/half french :) 20090510 21:16:21< flore> Polarina: you're right... 20090510 21:16:36< Polarina> stikonas_: What he means is that some words in the translation are straight from English, untranslated. 20090510 21:17:36< flore> stikonas: exactly, some texts contain 1 sentence in french and one in english... possibly the 4 remaining percents 20090510 21:18:52< flore> But it's mainly in the dialogs and between 2 scenarios in a campaign 20090510 21:21:23 * Polarina guesses it's too late to have more fixes applied before 1.6.2. 20090510 21:21:40-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Read error: 110 (Connection timed out)] 20090510 21:22:07< stikonas_> Polarina: tarball for 1.6.2 is already made 20090510 21:22:25< Polarina> :( 20090510 21:23:36-!- stikonas_ is now known as stikonas 20090510 21:23:38< flore> OK, how can I contact french localization team? 20090510 21:24:05< alink> Crab_: you mean no screen darkening ? 20090510 21:24:07-!- ardesh_ is now known as ardesh 20090510 21:24:08< Polarina> flore: It's all written at http://www.wesnoth.org/wiki/FrenchTranslation 20090510 21:24:11< Crab_> no 20090510 21:25:27< alink> Crab_: in debug mode, type first ":debug" 20090510 21:25:31< alink> ? 20090510 21:26:57< Crab_> 'Debug mode activated!' 20090510 21:27:02< Polarina> So, when is 1.6.3 expected? 20090510 21:27:04< Crab_> :sunset - still no effect 20090510 21:27:09< flore> Polarina: thank you 20090510 21:27:22< flore> Good night everyone ;) 20090510 21:27:33< alink> Crab_: you also need to wait few seconds 20090510 21:28:18< alink> plus it's a toggle 20090510 21:28:31-!- flore [n=chatzill@par69-9-88-166-83-211.fbx.proxad.net] has left #wesnoth-dev ["Bye"] 20090510 21:28:54< Crab_> (debug,sunset, 10 seconds wait)x3, no effect 20090510 21:29:18< alink> ok, that is weird 20090510 21:29:34< alink> thanks to have tested it 20090510 21:29:43< Crab_> tried both in windowed and fullscreen mode 20090510 21:29:49< alink> and :help sunset works 20090510 21:30:01< Crab_> yes 20090510 21:30:07< Ivanovic> okay, 1.6.2 seems to be working nicely 20090510 21:30:22< alink> Crab_: it works here, i am puzzled 20090510 21:32:45< Polarina> Ivanovic: Works here, too. 20090510 21:34:09< alink> Crab_: maybe ":sunset 1" (faster darkening) 20090510 21:34:35< CIA-30> ivanovic * r35560 /tags/1.6.2/: tagged 1.6.2, using rev 35559 20090510 21:34:42< Crab_> no effect 20090510 21:35:09< Polarina> I would prefer :sunset to limit how much it darkens tiles. 20090510 21:35:50-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Read error: 104 (Connection reset by peer)] 20090510 21:36:17< alink> Polarina: not easily possible, the core of the idea is to have a cumulative effect 20090510 21:37:44< CIA-30> ivanovic * r35561 /branches/1.6/ (changelog configure.ac players_changelog src/wesconfig.h): post release version bump to 1.6.2+svn 20090510 21:38:33-!- EdB [n=edb@218.153.82-79.rev.gaoland.net] has quit [Remote closed the connection] 20090510 21:39:32-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090510 21:42:06< CIA-30> silene * r35562 /branches/1.6/data/campaigns/Son_Of_The_Black_Eye/scenarios/03_Towards_Mountains_of_Haag.cfg: Typo. 20090510 21:42:37-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["KVIrc 3.4.2 Shiny http://www.kvirc.net/"] 20090510 21:43:12-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090510 21:45:51< Ivanovic> silene: bad one 20090510 21:45:59-!- loonycyborgw32 [i=kvirc@79.139.247.143] has joined #wesnoth-dev 20090510 21:46:01< Ivanovic> silene: you should have asked esr to include it in pofix.py 20090510 21:46:38< silene> so there is a script? last time i asked, there was none, i didn't know it had changed, sorry 20090510 21:47:10< silene> do you want me to revert it? 20090510 21:47:23-!- Tigge_ [n=tigge@bacchus.olf.sgsnet.se] has joined #wesnoth-dev 20090510 21:47:26< Ivanovic> silene: just make sure that esr adds it (and runs it on the po files) 20090510 21:47:31< Soliton> is pofix.py mentioned on the typo wiki page? 20090510 21:47:49< Ivanovic> silene: the main problem is that esr is basically not reading the backlogs 20090510 21:47:51< Ivanovic> Soliton: no idea 20090510 21:50:21-!- stikonas [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 21:52:00-!- ilor_ [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090510 21:55:18< alink> wow seems that we are constantly searching the string "" in image cache 20090510 21:56:12< alink> not sure if it's better to hunt all source of such calls, or make a special case for it in the search function 20090510 21:58:16< alink> i suspect that it's a big part of that 16% done by image::locator/init_index() that i saw in one of these graph 20090510 22:00:38< Ivanovic> hmm 20090510 22:01:38< alink> I added std::cout<second; in image.cpp::init_index() to see it 20090510 22:02:08< Ivanovic> i *think* hunting all sources is probably lost of work to do though it might make sense to do so since this should provide a bigger speedup 20090510 22:02:24-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has quit [Read error: 110 (Connection timed out)] 20090510 22:02:30< Ivanovic> s/lost/lots 20090510 22:02:54< alink> Ivanovic: well we only need to find the one(s) doing the call so often 20090510 22:03:32-!- stikonas_ [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 22:04:17< alink> but otoh detecting "" will optimize all stuff having missing images 20090510 22:07:01< Soliton> wouldn't you know the name of the missing image? 20090510 22:08:23< alink> no i mean c++ code try to display the image given by some randome WML key, but that key is missing, thus returning "" 20090510 22:09:09< alink> but that just a possibility, i am not sure how frequent this is in code 20090510 22:09:24< Soliton> ah, yes. 20090510 22:09:25-!- ilor [n=user@wesnoth/developer/ilor] has quit [Read error: 110 (Connection timed out)] 20090510 22:09:39-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090510 22:11:46-!- stikonas_ [n=quassel@ctv-213-164-101-189.vinita.lt] has quit [Read error: 60 (Operation timed out)] 20090510 22:12:34-!- happygrue [n=George@wesnoth/developer/wintermute] has quit [Read error: 104 (Connection reset by peer)] 20090510 22:13:46-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Read error: 110 (Connection timed out)] 20090510 22:14:42-!- stikonas [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 22:16:07-!- ilor_ [n=user@wesnoth/developer/ilor] has quit [Read error: 110 (Connection timed out)] 20090510 22:16:30-!- happygrue [n=George@wesnoth/developer/wintermute] has joined #wesnoth-dev 20090510 22:24:13-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090510 22:27:16-!- Ivanovic changed the topic of #wesnoth-dev to: 1.6.2 released, announcing "soon" | 56 bugs, 237 feature requests, 9 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090510 22:30:57-!- Dragonking [n=dk@wesnoth/developer/dragonking] has quit [] 20090510 22:31:54< Ivanovic> zookeeper: was this fixed in 1.6.2? https://gna.org/bugs/?13503 20090510 22:33:02 * Ivanovic is looking forward to the huge closing of bugreports and patches next week when 1.7.0 is tagged... 20090510 22:33:04< Ivanovic> ;) 20090510 22:35:33< zookeeper> Ivanovic, i have no idea, i don't follow LoW much 20090510 22:41:30-!- loonycyborgw32 [i=kvirc@79.139.247.143] has quit ["KVIrc 3.4.0 Virgo http://www.kvirc.net/"] 20090510 22:42:11-!- stikonas [n=quassel@wesnoth/translator/stikonas] has quit [Read error: 54 (Connection reset by peer)] 20090510 22:43:29-!- loonybot [n=loonybot@79.139.247.143] has joined #wesnoth-dev 20090510 22:44:32-!- loonycyborg [n=sergey@79.139.247.143] has joined #wesnoth-dev 20090510 22:47:30-!- stikonas [n=quassel@ctv-213-164-101-189.vinita.lt] has joined #wesnoth-dev 20090510 22:50:23-!- maxy [n=maxy@80-219-0-199.dclient.hispeed.ch] has quit [] 20090510 22:54:49< Polarina> Will 1.7.0 be branched? 20090510 22:57:37< Soliton> what for? 20090510 22:57:45-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Read error: 104 (Connection reset by peer)] 20090510 22:58:23< Polarina> Soliton: Ivanovic said it would some minutes ago. 20090510 22:58:40< loonycyborg> Polarina: What do you mean as 'branched'? 20090510 22:58:41< Soliton> do you mean tagged? 20090510 22:58:49< Polarina> Soliton: Why tag it? 20090510 22:59:02< Soliton> i have no idea! 20090510 22:59:10< Soliton> you're not making much sense. 20090510 22:59:28< Polarina> Oh, wait. I remember it from before 1.6. Development release! :D 20090510 22:59:58< Crab_> Polarina: do you see branches/1.5 ? or branches/1.3 ? 20090510 23:00:10< Polarina> Crab_: Haven't checked, but I guess there are none... 20090510 23:00:19< Crab_> Polarina: that's the answer to your question :) 20090510 23:00:38< loonycyborg> Each tag can be considered a branch, so in some sense it will indeed be branched :P 20090510 23:00:53< Polarina> loonycyborg: Technically speaking, yes. 20090510 23:02:35-!- ancestral [n=ancestra@97-116-120-23.mpls.qwest.net] has joined #wesnoth-dev 20090510 23:03:52-!- ardesh [n=ardesh@port-92-206-77-165.dynamic.qsc.de] has quit [""Eine Auswertung der Internetkommunikation findet nicht statt." (Ursula von der Leyen, 2009)... "Niemand hat die Absichty ein] 20090510 23:12:10-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [] 20090510 23:14:37< Ivanovic> "tagging" is what i do when i release 20090510 23:15:21< Polarina> For how long will the 1.6 serie be kept alive? 20090510 23:15:41< Ivanovic> till a new stable series (1.8) is out 20090510 23:16:01< Polarina> Ok. :) 20090510 23:17:13-!- YogiHH [n=chatzill@c204195.adsl.hansenet.de] has joined #wesnoth-dev 20090510 23:24:07-!- YogiHH [n=chatzill@c204195.adsl.hansenet.de] has left #wesnoth-dev [] 20090510 23:28:37 * Polarina wonders when that will be. 20090510 23:29:08-!- BenUrban_ [n=benurban@c-68-55-19-224.hsd1.md.comcast.net] has joined #wesnoth-dev 20090510 23:30:13-!- Sirp [n=me@wesnoth/developer/dave] has quit [Read error: 60 (Operation timed out)] 20090510 23:31:16< ancestral> Polarina: Before 2.0 is released :D 20090510 23:33:13< Polarina> ancestral: No 1.10? 20090510 23:33:40< ancestral> ancestral 20090510 23:34:17< ancestral> Polarina: No 1.C? 20090510 23:34:30< Polarina> C? 20090510 23:34:38< ancestral> That's a hexadecimal joke 20090510 23:34:45-!- Sirp [n=me@pool-173-74-2-179.dllstx.fios.verizon.net] has joined #wesnoth-dev 20090510 23:34:51< ancestral> Or 1.A maybe 20090510 23:35:02< Polarina> That made more sense. 20090510 23:35:09< ancestral> There we go, too bad I ruined it 20090510 23:35:17< ancestral> But 1.C would still be before 1.10 20090510 23:35:20< ancestral> :P 20090510 23:36:08< loonycyborg> Ivanovic: 1.6.2 installer is uploaded. 20090510 23:36:16-!- yann [n=dwitch@nan92-1-81-57-214-146.fbx.proxad.net] has quit [Remote closed the connection] 20090510 23:36:21< Polarina> That was fast. 20090510 23:36:21< wesbot> Polarina: Sometimes we are fast 20090510 23:36:34< Polarina> wesbot: Good point. 20090510 23:37:18< Ivanovic> loonycyborg: great 20090510 23:37:32< Ivanovic> so just got to wait for crimson_penguin who will probably be done tomoeeow 20090510 23:37:49< Polarina> Or today. :P 20090510 23:40:50< Ivanovic> i am off to bed, n8 20090510 23:44:50-!- BenUrban [n=benurban@unaffiliated/benurban] has quit [Nick collision from services.] 20090510 23:44:57-!- BenUrban_ is now known as BenUrban 20090510 23:48:27-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] --- Log closed Mon May 11 00:00:59 2009