--- Log opened Fri Aug 07 00:00:49 2009 20090807 00:09:15-!- wesbot changed the topic of #wesnoth-dev to: 70 bugs, 239 feature requests, 12 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090807 00:10:14-!- Chusslove [n=Chusslov@brsg-d9bef809.pool.mediaWays.net] has quit [Remote closed the connection] 20090807 00:16:44< ilor> night all 20090807 00:17:08-!- ilor [n=user@wesnoth/developer/ilor] has quit [] 20090807 00:17:10< noy> Ivanovic: around? 20090807 00:20:20< noy> ahh I guess you're in bed.. 20090807 00:23:53< Ivanovic> i am around a little though not too much 20090807 00:24:08< Ivanovic> (almost off to bed that is) 20090807 00:36:10-!- PK7 [n=pk@r74-192-44-206.vctrcmta01.vctatx.tl.dh.suddenlink.net] has quit ["Java user signed off"] 20090807 00:37:24-!- allefant_ [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090807 00:39:01-!- allefant [n=allefant@allegro/developer/allefant] has quit [Read error: 110 (Connection timed out)] 20090807 00:44:24-!- thespaceinvader [n=chatzill@cpc3-whit1-0-0-cust305.cdif.cable.ntl.com] has quit ["night all"] 20090807 00:45:51< shadowmaster> corn: nah, it turned out to be worse. The HDD now makes loud noises when spinning up/down 20090807 00:46:27< shadowmaster> and the manufacturer's test utility refuses to run because the error rate is above normal levels or something. 20090807 00:47:36< shadowmaster> I just removed it and put the old drive back. 20090807 00:47:48< Ivanovic> shadowmaster: does not sound good 20090807 00:48:02< Ivanovic> shadowmaster: you still got some gurantee from the manufaturer left? 20090807 00:48:10< shadowmaster> I'll ask about it. 20090807 00:49:12< Ivanovic> "hey, it is not working, i tried to partition the drive and all goes boom, no way to use it!!!" 20090807 00:49:52< Ivanovic> anyway, time for me to really head off to bed, n8 20090807 00:50:29< shadowmaster> it went boom before it even got to the step where I say "yeah, sure, write the partition table now" 20090807 00:52:03< Ivanovic> like i said: you *tried* to, but it was not possible to do 20090807 00:55:16< Ivanovic> since you were not even able to partition, they must have send you some broken disk 20090807 00:57:06-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has joined #wesnoth-dev 20090807 01:02:29-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"] 20090807 01:06:36-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090807 01:07:55-!- Sirp [n=user@wesnoth/developer/dave] has joined #wesnoth-dev 20090807 01:12:59-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has quit [Remote closed the connection] 20090807 01:21:05-!- fendrin [n=fabi@wesnoth/developer/fendrin] has joined #wesnoth-dev 20090807 01:54:23-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 20090807 01:57:43-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090807 02:21:23-!- blarumyrran [n=minaise@81-20-159-197.levira.ee] has quit [Read error: 113 (No route to host)] 20090807 02:22:37< CIA-62> soliton * r37529 /branches/1.6/src/server/ (game.cpp game.hpp player.cpp player.hpp server.cpp): 20090807 02:22:37< CIA-62> removed the admins_ set and added a moderator property to player instead 20090807 02:22:37< CIA-62> disallowed banning or kicking of moderators 20090807 02:22:45< CIA-62> soliton * r37530 /branches/1.6/src/server/player.cpp: little improvement of player construction 20090807 02:23:35< CIA-62> soliton * r37531 /trunk/src/server/ (7 files): 20090807 02:23:35< CIA-62> removed the admins_ set and added a moderator property to player instead 20090807 02:23:35< CIA-62> disallowed banning or kicking of moderators 20090807 02:23:58< CIA-62> soliton * r37532 /trunk/src/server/player.cpp: little improvement of player construction 20090807 02:30:25-!- ABCD_ [n=ABCD@gentoo/contributor/abcd] has joined #wesnoth-dev 20090807 02:30:33-!- ABCD [n=ABCD@gentoo/contributor/abcd] has quit [Read error: 104 (Connection reset by peer)] 20090807 02:54:59-!- BenUrban [n=benurban@c-68-50-54-86.hsd1.md.comcast.net] has joined #wesnoth-dev 20090807 03:08:58-!- ABCD_ is now known as ABCD 20090807 03:09:23-!- Netsplit clarke.freenode.net <-> irc.freenode.net quits: Tigge, nital 20090807 03:11:34-!- Netsplit over, joins: Tigge, nital 20090807 03:17:11-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090807 03:19:33-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection reset by peer] 20090807 03:19:48-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 03:47:08-!- ancestral [n=ancestra@97-116-126-165.mpls.qwest.net] has joined #wesnoth-dev 20090807 03:58:08-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 60 (Operation timed out)] 20090807 04:01:55-!- Valkier [n=karasawa@c-71-225-240-156.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090807 04:05:34-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 04:25:06-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 104 (Connection reset by peer)] 20090807 04:25:19< CIA-62> soliton * r37533 /branches/1.6/src/ (marked-up_text.cpp multiplayer_ui.cpp server/server.cpp): 20090807 04:25:19< CIA-62> implemented a private server message command 20090807 04:25:19< CIA-62> made the client side interpret markup in such messages 20090807 04:25:19< CIA-62> also made it easier to use parse_markup() to just cut off the markup 20090807 04:25:21-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 04:25:35< CIA-62> soliton * r37534 /trunk/src/ (marked-up_text.cpp multiplayer_ui.cpp server/server.cpp): 20090807 04:25:35< CIA-62> implemented a private server message command 20090807 04:25:35< CIA-62> made the client side interpret markup in such messages 20090807 04:25:35< CIA-62> also made it easier to use parse_markup() to just cut off the markup 20090807 04:53:08-!- Ivanovic_ [n=ivanovic@dtmd-4db26d31.pool.einsundeins.de] has joined #wesnoth-dev 20090807 04:55:59-!- crimson_penguin [n=ben@64.201.60.211] has joined #wesnoth-dev 20090807 05:10:22-!- Ivanovic [n=ivanovic@wesnoth/developer/ivanovic] has quit [Read error: 113 (No route to host)] 20090807 05:11:06-!- Ivanovic_ is now known as Ivanovic 20090807 05:43:49-!- germo [n=meemo@99.153.149.214] has joined #wesnoth-dev 20090807 05:45:20-!- Topic unset by germo on #wesnoth-dev 20090807 05:45:29-!- germo [n=meemo@99.153.149.214] has quit [Client Quit] 20090807 05:58:56-!- ancestral [n=ancestra@97-116-126-165.mpls.qwest.net] has quit ["And that’s the end of THAT chapter."] 20090807 06:09:15< wesbot> : 70 bugs, 239 feature requests, 12 patches 20090807 06:10:28-!- Soliton changed the topic of #wesnoth-dev to: 70 bugs, 239 feature requests, 12 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090807 06:21:21-!- Sirp [n=user@wesnoth/developer/dave] has quit ["leaving"] 20090807 06:22:36-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has joined #wesnoth-dev 20090807 06:23:00-!- ancestral [n=ancestra@97-116-126-165.mpls.qwest.net] has joined #wesnoth-dev 20090807 06:29:27-!- silene [n=plouf@AMarseille-251-1-96-229.w86-202.abo.wanadoo.fr] has joined #wesnoth-dev 20090807 06:34:52-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090807 06:37:04-!- PK9 [n=pk@r74-192-44-206.vctrcmta01.vctatx.tl.dh.suddenlink.net] has joined #wesnoth-dev 20090807 06:39:37-!- ancestral [n=ancestra@97-116-126-165.mpls.qwest.net] has quit [] 20090807 06:45:14-!- ancestral [n=ancestra@97-116-126-165.mpls.qwest.net] has joined #wesnoth-dev 20090807 06:52:25-!- PK9 [n=pk@r74-192-44-206.vctrcmta01.vctatx.tl.dh.suddenlink.net] has quit ["Java user signed off"] 20090807 07:09:50< corn> silene: can you look over the first version of a patch I created to log kill events and put them in upload logs? my approach was to add new logged data to statistics.hpp and then read the data back in upload_log.cpp . right now all the code that reads and writes to wml trees is stubbed, but I want to know if my approach is good and if I can make the style any better 20090807 07:09:56< corn> will upload to gna now 20090807 07:11:04< corn> https://gna.org/patch/index.php?1217 20090807 07:11:16< corn> I don't want to svn commit it before review because it is a lot of changes 20090807 07:12:59-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has quit [Read error: 104 (Connection reset by peer)] 20090807 07:13:17< corn> also afaik the 'master_stats' variable is persistent through campaigns, so I just assumed that the last stats struct in the vector would be the current campaign 20090807 07:13:42-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has joined #wesnoth-dev 20090807 07:21:46< silene> corn: technically it seems fine (though levels are redundant, and i'm not sure what this single location is); but i wonder if using the replay wouldn't be just as good; why using the statistics to duplicate these data? (it's not like we expect the user to access them) 20090807 07:22:48< corn> silene: levels are for filtering on the server side, so you can say for example show me the locations killed of all units over level 3 20090807 07:23:03< corn> silene: the location will be the spot where the other unit was killed 20090807 07:23:40< corn> and the idea of using the data from replays did not cross my mind. I haven't worked with replays so I don't know how they work 20090807 07:24:22< silene> corn: the fact that the server needs levels to work properly doesn't change the fact that they are redundant on client side ;-) 20090807 07:24:37< corn> that's true 20090807 07:27:28< corn> about replays: are they saved every game 20090807 07:28:02< silene> corn: replays are a sequence of [command] tags, the ones you are interested in contain the [attack] subtags; the [command] tags also contain [random] subtags, which themselves contain [results] subtags with "die" and "hits" fields 20090807 07:28:06< silene> corn: yes 20090807 07:28:16< corn> ah, I see 20090807 07:28:29< silene> take a look at one of your saved game, it should be more clear 20090807 07:28:33< corn> ok 20090807 07:30:19< silene> they may be missing some data (for instance, i'm sure it would make things a lot simpler for you if the results who was hitting), but imho it's a better idea to enhance replay rather than start from scratch with statistics 20090807 07:30:26< corn> http://pastebin.com/m128a26b4 20090807 07:30:42< corn> what does the list of randoms after the [recruit][/recruit] block mean 20090807 07:30:57< corn> I am reading the wikipage on this but it doesn't make sense to me 20090807 07:31:18< corn> and the nested [results] tag at the end of the command 20090807 07:31:52< silene> they are the values generated by the rng while processing the command; for instance, in the [recruit] case, the rng value allows to recompute the random traits of the recruited unit 20090807 07:32:32< corn> ah, I see 20090807 07:32:49< corn> if the user has autosaves turned off, are replays still recorded every turn? 20090807 07:33:53< silene> yes, the whole replay is stored in each savefile, be it an autosave or not 20090807 07:34:10< corn> well I meanm 20090807 07:34:22< corn> if the user quits on turn 10 and only has a savefile for turn 1 20090807 07:34:44< corn> hm 20090807 07:34:51< corn> well I can just call the functions to generate all the data anyway 20090807 07:35:21< silene> the actual files don't matter, the replay is in matter, whether the user saves it or not 20090807 07:35:29< silene> s/matter/memory/ 20090807 07:35:34< corn> ok 20090807 07:35:37< corn> that is what I was thinking about 20090807 07:36:10< corn> ok, this really is where I should be reading the data from for upload logs 20090807 07:36:53< silene> yes, i think so; and as long as you don't modify the existing fields, you can always add new fields to the [result] tags if it helps 20090807 07:38:49< corn> how long do you think it will take to code this? I am very time constrained since I want to work with crab later today and generate a lot of test data 20090807 07:38:56< corn> after this code is completed 20090807 07:40:36< corn> also, what is the state of the server-side multiplayer replays? 20090807 07:40:45< corn> I am looking at http://www.wesnoth.org/replays/1.7/20090807/ and they are there 20090807 07:42:07< silene> concerning the storage of mp replays, i don't know; you should ask Soliton about it 20090807 07:42:46< corn> ok 20090807 07:43:40< silene> for the time needed, it depends what you want to do; if you only need to visit a replay and extract kill data, it should be quite easy (except for knowing who died, but as i said, you can always add a field to the replay) 20090807 07:45:26< corn> ok. then I will add the extra data to the replay and extract it in upload_log.cpp for now. there are some other hackish things going on in upload_log.cpp that is more or less a duplication of data wrt replays and statistics, but I will make it a goal to simplify everything before 1.8 20090807 07:47:18< corn> looking at the ml, september seems to be the time when 1.8 preparations will be done? 20090807 07:49:22< silene> i guess 20090807 07:50:10< corn> ok 20090807 07:50:19< corn> is my plan for what to do now ok? 20090807 07:50:49< silene> by the way, adding fields to the replay is actions.cpp:1080 and 1440; accessing the replay is recorder.get_replay_data() 20090807 07:51:04< corn> ok, thanks a lot 20090807 07:52:07< corn> this: ? 20090807 07:52:11< corn> log_scope2(log_engine, "setting random results"); 20090807 07:52:14< corn> config cfg; 20090807 07:52:17< corn> cfg["hits"] = (hits ? "yes" : "no"); 20090807 07:52:19< corn> cfg["dies"] = (dies ? "yes" : "no"); 20090807 07:52:22< corn> cfg["damage"] = lexical_cast(damage_defender_takes); 20090807 07:52:25< corn> cfg["chance"] = lexical_cast(a_.cth_); 20090807 07:52:28< corn> set_random_results(cfg); 20090807 07:52:57< silene> yes, you have a block for the attacker striking, and another one for the defender 20090807 07:53:01< corn> ok 20090807 07:53:27-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has quit [Read error: 113 (No route to host)] 20090807 07:53:46-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has joined #wesnoth-dev 20090807 07:56:35< silene> corn: you may also need to modify the add_attack function in replay.cpp, so that it stores the type of the units too 20090807 07:56:40< corn> one last thing: do you think it would be good to move the loop in attack::attack() to another function such as do_attackloop()? the function is something like 600 lines right now 20090807 07:57:04-!- germo [n=meemo@99.153.149.214] has joined #wesnoth-dev 20090807 07:58:17< silene> corn: no, i don't think it would make much of a difference; what would have a dramatic effect would however to factor the attack and defense code, since it would divide the total size of the code by 2 20090807 07:59:08-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has quit [Read error: 104 (Connection reset by peer)] 20090807 07:59:32< corn> as in, refactor so that the code does not split for first strick? 20090807 07:59:34< corn> strike* 20090807 08:00:56< corn> ah 20090807 08:00:57< corn> I see 20090807 08:01:08< corn> it was hard to follow since I don't have code folding enabled by default :) 20090807 08:02:41< silene> from line 1086 and from line 1358, the code is structurally identical, so the two blocks should be merged into a single function 20090807 08:02:49< corn> ok 20090807 08:04:22< corn> it can be something like if(abs_n_attack % 2 == 0 && !defender_strikes_first) { call function for attacker } else { defender_strikes_first = false; call function for defender } 20090807 08:05:22< corn> also something to handle the case where one unit has attacks left and the other unit does not 20090807 08:05:38-!- germo [n=meemo@99.153.149.214] has quit [] 20090807 08:05:41-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090807 08:06:08< corn> ok, I will do that now 20090807 08:06:10-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has joined #wesnoth-dev 20090807 08:08:34< silene> corn: i was thinking even simpler: "if (a_.n_attacks && !defender_...) call; if (d_.n_attacks) call;", that is, keep the current conditionals 20090807 08:08:59< corn> ok 20090807 08:28:30< corn> going to bed now, will be back in 6 hours or so 20090807 08:33:14-!- allefant [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090807 08:33:38-!- allefant_ [n=allefant@allegro/developer/allefant] has quit [Read error: 110 (Connection timed out)] 20090807 08:55:50-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 20090807 09:05:30-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [Read error: 145 (Connection timed out)] 20090807 09:14:14-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090807 09:40:31-!- euschn [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090807 09:40:35< euschn> hi 20090807 09:46:01-!- Valkier [n=karasawa@c-71-225-240-156.hsd1.pa.comcast.net] has quit [] 20090807 10:18:33< Ivanovic> moin 20090807 10:19:13-!- Kenpachi [n=chatzill@CPE-121-220-213-222.sa.bigpond.net.au] has joined #wesnoth-dev 20090807 10:23:53-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090807 10:25:15-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090807 10:29:48< Soliton> euschn: can you also tell me what needs to be fixed in src/server/game.cpp:game::save_replay() to make reloaded replays work? i'm pretty sure those don't work either. 20090807 10:40:34-!- ancestral [n=ancestra@97-116-126-165.mpls.qwest.net] has quit ["And that’s the end of THAT chapter."] 20090807 10:42:04< euschn> Soliton: saving the games/replays was not the problem, loading was. the gamestate is populated in multiplayer_ui.cpp:level_to_gamestate(), the problem was that snapshots were merged into the starting pos, which i corrected by using the original starting_pos (when the game was started at turn1) snstad 20090807 10:42:15< euschn> s/snstad/instead 20090807 10:43:47-!- loonybot [n=loonybot@79.139.138.234] has joined #wesnoth-dev 20090807 10:44:27< euschn> also see multiplayer_connect.cpp:load_game(), where I added the starting_pos loaded from the save file to the level config (line 1567) 20090807 10:44:35-!- loonycyborg [n=sergey@79.139.138.234] has joined #wesnoth-dev 20090807 10:56:18-!- Kenpachi_ [n=chatzill@CPE-58-165-236-58.sa.bigpond.net.au] has joined #wesnoth-dev 20090807 11:13:27-!- Kenpachi [n=chatzill@CPE-121-220-213-222.sa.bigpond.net.au] has quit [Read error: 110 (Connection timed out)] 20090807 11:14:20-!- euschn_ [n=chatzill@wesnoth/developer/euschn] has joined #wesnoth-dev 20090807 11:24:28-!- euschn [n=chatzill@wesnoth/developer/euschn] has quit [Read error: 110 (Connection timed out)] 20090807 11:43:27-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090807 11:45:07< Crab_> is GNA svn working now ? anyone else getting errors similar to 'Committing to svn+ssh://crab@svn.gna.org/svn/wesnoth/trunk ... ssh_exchange_identification: Connection closed by remote host. Network connection closed unexpectedly: ' ? 20090807 11:48:12< loonycyborg> I do. 20090807 11:48:26< loonycyborg> Looks like another outage.. 20090807 11:48:26< Crab_> thanks 20090807 11:48:57< Crab_> they fixed the mailing lists, but broke svn :) 20090807 12:01:50-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090807 12:09:14-!- wesbot changed the topic of #wesnoth-dev to: 70 bugs, 239 feature requests, 13 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090807 12:19:18-!- MJ999 [n=msflower@80.154.28.81] has left #wesnoth-dev ["Buh-bye."] 20090807 12:28:02< Rhonda> Do we want to have jabber? :) 20090807 12:31:43-!- Kenpachi [n=chatzill@CPE-138-217-211-227.sa.bigpond.net.au] has joined #wesnoth-dev 20090807 12:45:59-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090807 12:46:44-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090807 12:47:14-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090807 12:50:42-!- Kenpachi_ [n=chatzill@CPE-58-165-236-58.sa.bigpond.net.au] has quit [Read error: 110 (Connection timed out)] 20090807 13:09:54-!- Crab_ [n=Crab_@wesnoth/developer/crab] has joined #wesnoth-dev 20090807 13:20:10-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 13:21:13< loonycyborg> What's jabber? :P 20090807 13:29:46-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection timed out] 20090807 13:30:21< corn> how do I return an iterator or vector of all wml nodes (configs) containing a particular tag from another wml config 20090807 13:35:47-!- euschn_ [n=chatzill@wesnoth/developer/euschn] has quit [Remote closed the connection] 20090807 13:35:48< corn> nevermind 20090807 13:40:14< Ivanovic> Crab_: gna has some harddrive failure (again) 20090807 13:40:47< corn> they seem to have all eggs in one basket 20090807 13:41:32< Crab_> Ivanovic: yes, I've seen the announcement... I hope they get it back online reasonably soon... 20090807 13:42:07< Ivanovic> looks like the normal repair run was not enough, they will probably work on things this evening 20090807 13:42:07< Crab_> corn: .child_range("tagname") 20090807 13:42:13< Ivanovic> (so in "some hours") 20090807 13:42:20< corn> Crab_: why not get_children()? 20090807 13:43:50-!- isaac_ [n=isaac@14.Red-88-26-177.staticIP.rima-tde.net] has joined #wesnoth-dev 20090807 13:44:15< Crab_> personal preference. .child_range returns a pair of iterators, get_children returns a reference to list of children 20090807 13:44:34< corn> ok 20090807 13:45:16< corn> is there any way to filter on a tag inside a tag? 20090807 13:45:48< corn> I had a discussion with silene when you were not in the channel and we decided it was best to extract attack data from replays 20090807 13:45:56< Crab_> I've seen it 20090807 13:46:05< corn> and in general, I can read most (all?) of the data I need from a replay 20090807 13:46:25< corn> ok 20090807 13:46:56< Crab_> especially if you add all that extra data you need to replay, too :) 20090807 13:47:06< corn> yep :) 20090807 13:48:51< corn> ok, I will just look for [command] tags and then check if the tag has an [attack] parameter 20090807 13:49:21< Crab_> 'is there any way to filter on a tag inside a tag' - no, but you can easily add a function to config.?pp that returns a std::vector (i.e. child_list), filtered by a predicate. 20090807 13:49:59< Crab_> and add a predicate that checks for the presence of a child with a certain name 20090807 13:50:46< Crab_> (just check with silene beforehand to see if there any better ideas) 20090807 13:50:50< corn> ex get_children_with(outertag, innertag); ? 20090807 13:50:58< corn> silene: ^ 20090807 13:52:12< Crab_> corn: I was thinking about something like 'find_children(predicate p)' 20090807 13:53:01< corn> so it would filter only by the inner tag and not by the outer? 20090807 13:53:20< Crab_> corn: that depends on the predicate 20090807 13:53:38< corn> what is predicate? not std::string? 20090807 13:56:12< Crab_> corn: a predicate can be thought as an interface which provides methods to 1) get a list of potential candidate children from a given config (this is to take advantage of existing config structure) 2) get a true/false answer on the question : 'do we need this particular child?' 20090807 13:56:23< Crab_> corn: see config.cpp:442 20090807 13:57:06-!- isaac [n=isaac@debian/developer/isaac] has quit [Read error: 110 (Connection timed out)] 20090807 13:57:09< corn> ah, I didn't know this existed 20090807 13:57:10< Crab_> corn: note the way tuple ( const std::string& key, const std::string& name, const t_string& value ) is used as a predicate 20090807 13:57:40< Crab_> at first, we do (1) get a list of potential candidate children by key ( children.find(key); ) 20090807 13:58:00< Crab_> corn: then, we use std::find_if to filter on config_has_value(name,value) 20090807 13:59:01< Crab_> so, for example, you can create an interface to abstract (1) and (2) 20090807 13:59:22< corn> I see 20090807 13:59:39< corn> this is pretty cool, I didn't know stl offered something like find_if 20090807 13:59:54< corn> I am used to reinventing the wheel in plain old C 20090807 13:59:55< corn> :) 20090807 14:00:09< shadowmaster> heh 20090807 14:00:23< Crab_> corn: or you can keep (1) as is, and just extract (2) to a parameter. it will be child_list &config::find_children(const std::string& key, const predicate &p) 20090807 14:01:13< Crab_> corn: where the predicate is simpler - it is just a unary function which returns true/false given a certain config element 20090807 14:02:27< corn> what is the function prototype for a predicate? 20090807 14:02:43< corn> bool blah(something) {}? 20090807 14:03:10< Crab_> corn: it all depends on which way go. it can be an object which overrides operator() 20090807 14:03:16< Crab_> s/go/you go 20090807 14:04:25< corn> operator()? 20090807 14:05:11< corn> is that any operator, or does it refer to a specific one I never knew existed 20090807 14:05:20< shadowmaster> it's the functional call operator 20090807 14:05:30< shadowmaster> *function 20090807 14:05:46< Crab_> corn: specific one. google for 'functor' 20090807 14:07:11< corn> ah I see 20090807 14:08:03< Crab_> corn: also note that if you need a find list of children, then you will need to use something else from find_if 20090807 14:08:33< corn> no, I can switch to using iterators 20090807 14:09:19< Crab_> corn: see, for example, http://www.sgi.com/tech/stl/remove_copy_if.html 20090807 14:10:54< corn> for find_if, it will basically return an iterator starting at the index of the first match, but you can iterate into non-matching values by accident? 20090807 14:12:01< Crab_> corn: nothing guarantees that the children you're searching for are adjacent to each other. 20090807 14:12:13< corn> ah 20090807 14:12:13< corn> ok 20090807 14:15:08< Crab_> corn: so, basically, something like 'take a list of candidate nodes, it is std::vector. then copy (using remove_copy_if) those nodes which you need (depending on your predicate), using back_inserter connected with another std::vector' will do the trick. 20090807 14:17:06-!- Doppp [n=Doppp@unaffiliated/doppp] has quit [Read error: 104 (Connection reset by peer)] 20090807 14:17:18< Crab_> corn: but, of course, other ways are possible, too. the main point is to write something once and then reuse it with different predicates. 20090807 14:17:28< corn> what is the purpose of an output iterator and an input iterator, why can't you just use one iterator? 20090807 14:19:09< Crab_> corn: one type of iterator is needed to get values from. a pair of them. 20090807 14:19:35< Crab_> corn: and another type is needed to abstract that 'where to put results' part of algorithm. 20090807 14:20:02< corn> ah 20090807 14:20:27< Crab_> note that you do not need to 'write' to the place where you read values from, and 'read' the place where you write values to. 20090807 14:21:26-!- Doppp [n=Doppp@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090807 14:21:37< Crab_> corn: so, having distinct types of iterators allow you to provide/expose only those operations which you need. 20090807 14:36:11-!- Max2008 [n=chatzill@188-23-7-172.adsl.highway.telekom.at] has joined #wesnoth-dev 20090807 14:42:24-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has joined #wesnoth-dev 20090807 15:00:45< Ivanovic> [14:59:41] 37GB restored out of 125GB restored 20090807 15:00:46< Ivanovic> [15:00:36] ETA 5 hours assuming nothing bad happens in between 20090807 15:00:56< Crab_> good 20090807 15:03:57< Ivanovic> rough guess: by midnight svn might be back up again... 20090807 15:20:22-!- ABCD [n=ABCD@gentoo/contributor/abcd] has quit [Read error: 104 (Connection reset by peer)] 20090807 15:20:50-!- ABCD [n=ABCD@gentoo/contributor/abcd] has joined #wesnoth-dev 20090807 15:24:06< loonycyborg> They mean restoring from backup and not with fsck I hope :P 20090807 15:24:29< silene> corn: get_children is deprecated; the only reason i haven't removed it yet is because cjhopman wanted to work on the config class; i'm not sure a function taking a predicate is worth it; the code will be much shorter and more readable if you just do a foreach on child_range and test if the current config has a given child 20090807 15:26:34-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090807 15:27:48< corn> silene: I already coded something that uses predicates although I it does not compile yet, I will put up a diff on pastebin now 20090807 15:28:42< silene> corn: if the resulting code is longer than two lines, then i'm against it (two lines is what is needed to hand-code the loop without a separate function) 20090807 15:29:10< corn> silene: yes, it is 20090807 15:29:10< corn> :/ 20090807 15:29:11< corn> ok 20090807 15:30:05< corn> so I should use child_range instead of get_children? 20090807 15:31:16< silene> yes, please 20090807 15:31:29< corn> ok 20090807 15:34:10< corn> I can only modify the contents of the [results] tag? 20090807 15:34:34< corn> s/modify/add to/ 20090807 15:34:53< corn> if I add things to the [attack] tag, will it break compatibility 20090807 15:34:54< silene> not necessarily, you can also modify the add_attack function to add things to the attack tag 20090807 15:35:00< corn> ah, ok 20090807 15:35:02< corn> that makes things simpler 20090807 15:35:36< corn> it takes more code to parse the [results] tag since it appears multiple times per attack sequence and I am only looking for one 20090807 15:35:41< silene> corn: as long as you add non-yet existing fields, the current code won't see a difference (you can even add new subtags, if you need to) 20090807 15:36:06< corn> ok 20090807 15:36:15< silene> afk 20090807 15:44:11-!- Max2008_ [n=chatzill@188-23-99-126.adsl.highway.telekom.at] has joined #wesnoth-dev 20090807 15:58:36-!- Aethaeryn [n=Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #Wesnoth-dev 20090807 15:58:46< ilor> Ivanovic: when renaming a source file, is there anything I should do regarding translations apart from fixing the entry in potfiles.in? 20090807 16:00:50< Ivanovic> no 20090807 16:02:33-!- Max2008 [n=chatzill@188-23-7-172.adsl.highway.telekom.at] has quit [Read error: 110 (Connection timed out)] 20090807 16:03:46< Aethaeryn> $ svn up 20090807 16:03:47< Aethaeryn> svn: Can't find a temporary directory: Internal error 20090807 16:03:57< Aethaeryn> ^ Is there a problem with SVN or is my local copy broken? 20090807 16:03:58< Crab_> Aethaeryn: gna is down today 20090807 16:04:20< Aethaeryn> Ah, okay. 20090807 16:04:55< Aethaeryn> A bit of a disappointment, I wanted to see what new portraits were in the trunk. 20090807 16:05:34-!- BenUrban [n=benurban@unaffiliated/benurban] has quit [Remote closed the connection] 20090807 16:07:43< Aethaeryn> http://www.wesnoth.org/forum/viewtopic.php?f=9&t=2014 <- contains broken link 20090807 16:07:49< Aethaeryn> http://wesnoth.slack.it/units.cgi?missing 20090807 16:13:08< Soliton> well, there is no real replacement i think but probably this could be used instead: http://wesnoth.org/units/trunk/animations.html 20090807 16:14:14-!- Max2008_ [n=chatzill@188-23-99-126.adsl.highway.telekom.at] has quit ["ChatZilla 0.9.85 [Firefox 3.5.2/20090729225027]"] 20090807 16:14:50-!- allefant [n=allefant@allegro/developer/allefant] has quit [Read error: 60 (Operation timed out)] 20090807 16:24:33< corn> silene, Crab_: how do I discover what the current turn is within mouse_handler::attack_enemy_ 20090807 16:24:55< Crab_> from resources::tod_manager 20090807 16:25:02< corn> ok, thanks 20090807 16:25:17< Crab_> ->turn() 20090807 16:27:27-!- allefant [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090807 16:27:59< Aethaeryn> zookeeper: Don't you agree that we need *some* kind of anti-bot measure for wiki registration? 20090807 16:28:15< Aethaeryn> Just found 6 pages that fell through the cracks :( 20090807 16:28:19< Aethaeryn> again 20090807 16:29:00< Ivanovic> Aethaeryn: zookeeper already said that he won't remove any more of the spam until we got some better "anti bot system" 20090807 16:29:11< Ivanovic> but it looks like we have noone working on the wiki internals 20090807 16:29:41< Aethaeryn> Ivanovic: Is MediaWiki php? 20090807 16:29:48< Crab_> Aethaeryn: yes 20090807 16:30:12< Ivanovic> yes 20090807 16:30:14< corn> Aethaeryn: I have no doubt that there are plugins/extensions that combat spam 20090807 16:30:22< Ivanovic> and the version we currently have installed is completely outdated IIRC 20090807 16:30:32< Aethaeryn> Most likely. 20090807 16:30:39< Aethaeryn> (to both comments) 20090807 16:30:48-!- lordbyron [n=analog@116.25.21.66] has joined #wesnoth-dev 20090807 16:30:56< Aethaeryn> Ivanovic: how hard is PHP? 20090807 16:31:18< Ivanovic> depends on what you know already 20090807 16:31:20< corn> Aethaeryn: that is a difficult question... 20090807 16:31:23< Ivanovic> i'd say "it's okay" 20090807 16:31:27< Aethaeryn> I know some html, some xml, some wml... 20090807 16:31:33< Aethaeryn> Is it along those lines? 20090807 16:31:33< Ivanovic> not too hard but no nobrainer either 20090807 16:31:42< corn> Aethaeryn: none of those are actually programming languages 20090807 16:31:47< Aethaeryn> yes, I know :P 20090807 16:32:05< Crab_> we're running mediawiki 1.12.0, which is from 2008-march-20 20090807 16:32:06< Aethaeryn> was just wondering if it was along those lines or an actual language as well 20090807 16:32:16< corn> it isn't particularly difficult, the syntax is something like html/xml 20090807 16:32:25< Ivanovic> it is not too much above that level 20090807 16:32:31< corn> yes, it is an actual programming language but it is designed to look like html markup 20090807 16:32:46< Aethaeryn> oh, good, then 20090807 16:32:54< Aethaeryn> I know some html, it's informal though... 20090807 16:32:55< corn> but that is an extremely broad generalization 20090807 16:33:01< Aethaeryn> aka. I never really bought a book or took a class 20090807 16:33:43< Crab_> Aethaeryn: to deal with wikispam, you don't need to known php 20090807 16:34:04< Ivanovic> to deal with wikispam it is probably best to just upgrade to the latest wiki version first 20090807 16:34:21< Aethaeryn> Crab_: I'm a wiki moderator 20090807 16:34:27< Ivanovic> and then find some good plugin to fight spam (and document well what exactly was added as plugin so that it is still easy to keep things up to date) 20090807 16:34:28< Aethaeryn> I'm dealing with it as we speak, on my second monitor 20090807 16:34:34< Crab_> ok :) 20090807 16:35:18< Aethaeryn> Crab_: In a week when my summer class ends I wouldn't mind learning some PHP just so I wouldn't have to waste so much time patrolling the wiki. 20090807 16:35:36< Aethaeryn> Preventable time usage = waste. 20090807 16:35:49< Ivanovic> Aethaeryn: how do you think does knowing php help in fighting spam? 20090807 16:36:00< corn> imo the quickest way to cut down on spam is to install a recaptcha plugin 20090807 16:36:10< Aethaeryn> Ivanovic: makes it easier to patch the wiki :P 20090807 16:36:20< Aethaeryn> corn: I suggested something along those lines the other day in this channel 20090807 16:36:25< Ivanovic> Aethaeryn: like i already said, patching the wiki is not a too good idea 20090807 16:36:30< corn> if spammers can defeat it then they will have created an excellent OCR system and the world will benefit 20090807 16:36:34< Aethaeryn> to which someone said something along the lines of the wiki has no active administrator 20090807 16:36:37< Ivanovic> using the latest official version and keeping it up to date will work better 20090807 16:36:52< Aethaeryn> Ivanovic: obviously, you have to do that first. 20090807 16:36:53< corn> Ivanovic: both approaches should be used at the same time 20090807 16:37:14< corn> using an old version is bad for security reasons + plugin incompatibility 20090807 16:37:15< Aethaeryn> Ivanovic: Use the latest versions, and and a plugin to fight spam as well. 20090807 16:37:27< Ivanovic> corn: the problem with patches to the wiki is if they are not well documented (as in patch files outside the wiki tree and the likes) it will end in a *hell* when trying to update things 20090807 16:37:29< Aethaeryn> if a plugin isn't compatible with an update, knowing php would be useful so one could update it 20090807 16:37:32< Crab_> Ivanovic: mediawiki has 'hook' points which allows to add some specific behavior without 'patching' the wiki itself. 20090807 16:37:37< Aethaeryn> Instead of being dependent on the upstream 20090807 16:37:39< Ivanovic> just ask shadowmaster how he swears when updating the forums 20090807 16:38:13< corn> Ivanovic: I think you misunderstand slightly, the patching is through semi-official plugins, not hand modification of source code 20090807 16:38:35< corn> knowing PHP will help though when breakage does occur though 20090807 16:38:45< corn> also afaik mediawiki uses php files for configuration as well 20090807 16:38:56< Crab_> well, if no one gets to it first, I can do that upgrade/antispam plugin installation after GSoC ends 20090807 16:39:05< corn> so even for the most basic administration, knowledge of the language will help you 20090807 16:40:38< Aethaeryn> well, brb 20090807 16:40:50< Aethaeryn> I'm glad we have a solution in the works though for the wiki. 20090807 16:41:19< Aethaeryn> I do intend to do more things on the wiki, most notably a bit of a cleanup in time for 1.8 20090807 16:41:56< Aethaeryn> But the more time spent deleting spammers, the less time can be spent on my wiki plans. 20090807 16:46:27-!- lordbyron [n=analog@116.25.21.66] has left #wesnoth-dev [] 20090807 16:54:45-!- crimson_penguin [n=ben@64.201.60.211] has joined #wesnoth-dev 20090807 17:10:54-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has joined #wesnoth-dev 20090807 17:12:56< corn> Crab_: ok, I think I finished adding all the necessary data to replays... I am going to test it now and then put a patch up for review 20090807 17:13:14< Crab_> ok. do you use git or svn ? 20090807 17:13:17< corn> svn 20090807 17:13:35< corn> I keep putting off learning how to use git 20090807 17:13:52< Crab_> ok 20090807 17:14:43< Ivanovic> [17:06:51] 74G restored out of 125G 20090807 17:15:18-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090807 17:15:46< corn> Crab_: ok, it works 20090807 17:15:48< Crab_> 37GB in 2h, 51GB left, so 2.75h left.. 20090807 17:17:17< corn> https://gna.org/patch/index.php?1218 20090807 17:17:30< corn> sorry 20090807 17:17:33< corn> wrong patch uploaded 20090807 17:17:34< Ivanovic> so maybe in 3h we got svn back 20090807 17:17:46-!- lordbyron [n=analog@116.25.21.66] has joined #wesnoth-dev 20090807 17:18:11< corn> https://gna.org/patch/index.php?1218 20090807 17:18:12< corn> there 20090807 17:18:25< corn> I changed the file 20090807 17:21:37< Crab_> corn: upload_log::read_replay() is incomplete in the patch. is this intended ? 20090807 17:21:58< corn> yes 20090807 17:22:06< corn> that part is still not done yet 20090807 17:22:27< Crab_> corn: 'const unsigned int attacker_lvl' - it's better to use 'int' there. 20090807 17:22:50< corn> level is stored as unsigned int inside of unit 20090807 17:22:58< Crab_> int level() const { return level_; } 20090807 17:22:58< corn> however, the constness is indeed redundant 20090807 17:23:02< corn> oh 20090807 17:23:03< corn> nevermind 20090807 17:23:05< corn> I must have misread 20090807 17:23:07< corn> sorry :) 20090807 17:24:11< Crab_> also, why do you make copies of the string in 'const std::string attacker_type = a_->type_name();' ? 20090807 17:24:54< corn> I wasn't sure what "may become invalidated later" meant in the above comment 20090807 17:26:23< corn> it is probably unnecessary 20090807 17:27:02< corn> ah I see 20090807 17:27:40< corn> it was because you could move the iterator forward and it would break the reference 20090807 17:30:37< corn> but I am still not very proficient with c++ so I could be completely wrong :) 20090807 17:32:23-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has quit ["Saurian Augur - I'll heal you by 4 hp if you leave next to me"] 20090807 17:33:43< Crab_> corn: well, firstly the attack is put into replay, then attack is resolved (which can invalidate iterators, yes). so, there should not be any action which may invalidate those units iterators before you add those strings to replay. 20090807 17:34:08< corn> ok 20090807 17:38:30< corn> ok, now I will finish read_replay() 20090807 17:38:42< corn> and all the client-side changes needed to support kill event logging will be complete 20090807 17:38:53< Crab_> ok 20090807 17:39:36< corn> I won't be able to do the server-side part today, I need to leave in 30-40 mins and I will only be back at maybe 5 pm est (bedtime for you) 20090807 17:40:18< Crab_> np. I'll be there tomorrow, as well 20090807 17:40:23< Crab_> s/there/here 20090807 17:40:28< corn> ok 20090807 17:40:56< Crab_> and (hopefully) svn will come back online. 20090807 17:41:01< corn> yep 20090807 17:41:46-!- Blarumyrran [n=villu@81-20-159-197.levira.ee] has joined #wesnoth-dev 20090807 17:42:44< corn> hm, how do I determine if the attacker died or if the defender died in an [attack]? 20090807 17:42:51-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has quit [Read error: 104 (Connection reset by peer)] 20090807 17:44:33< silene> corn: you can't, that's why i was suggesting putting in the [results] tag who is striking 20090807 17:45:01-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has joined #wesnoth-dev 20090807 17:45:11< corn> ah. I see 20090807 17:45:21< silene> corn: by the way, for the turn number, you just have to count the number of [end_turn] command you encountered till now, you don't have to waste space storing it 20090807 17:46:23< corn> ok 20090807 17:46:30< Crab_> silene: can't the turn number change in-flight ? ( via [modify_turns] ) 20090807 17:47:03< Crab_> ( the wiki says : "current: changes the current turn number after applying turn limit modifications, if any. It is possible to change the current turn number to a greater one than the current only; also, it is not possible to change the turn number to exceed the turn limit. " ) 20090807 17:48:29< silene> Crab_: yes, it can, but changing the turn number would break statistics anyway, so it doesn't matter much 20090807 17:48:34< silene> afk 20090807 17:50:46-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 17:51:34< corn> ok, I am going now 20090807 17:51:38< corn> thanks Crab_, silene 20090807 17:51:45< Crab_> corn: good luck 20090807 17:53:17-!- lordbyron [n=analog@116.25.21.66] has left #wesnoth-dev [] 20090807 17:55:18< corn> :q 20090807 17:55:21< corn> woops 20090807 18:03:16-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [Read error: 110 (Connection timed out)] 20090807 18:09:14-!- wesbot changed the topic of #wesnoth-dev to: 71 bugs, 239 feature requests, 14 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090807 18:13:42-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090807 18:15:16-!- Kenpachi [n=chatzill@CPE-138-217-211-227.sa.bigpond.net.au] has quit ["ChatZilla 0.9.85 [Firefox 3.0.13/2009073022]"] 20090807 18:16:44-!- Valkier [n=karasawa@c-71-225-240-156.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090807 18:17:40-!- Aethaeryn is now known as MikejB 20090807 18:17:42-!- MikejB is now known as MikeJB 20090807 18:20:18-!- ABCD [n=ABCD@gentoo/contributor/abcd] has quit [Read error: 54 (Connection reset by peer)] 20090807 18:20:43-!- ABCD [n=ABCD@gentoo/contributor/abcd] has joined #wesnoth-dev 20090807 18:26:24-!- mordante [n=mordante@wesnoth/developer/mordante] has joined #wesnoth-dev 20090807 18:26:39< mordante> servus 20090807 18:30:39< Ivanovic> rather afk for all the evening, cu 20090807 18:30:56< mordante> bye Ivanovic 20090807 18:34:06-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has quit [Read error: 113 (No route to host)] 20090807 18:35:33-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 18:36:40-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has joined #wesnoth-dev 20090807 18:37:38< Valkier> zomg IT'S tURUK 20090807 18:37:42< Valkier> and caps lock 20090807 18:40:12-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has joined #wesnoth-dev 20090807 18:43:44-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection timed out] 20090807 18:43:58< Soliton> " restore failed, machine hang" 20090807 18:44:10< Soliton> looks like svn won't be back anytime soon. 20090807 18:44:24< Crab_> fsck ( 20090807 18:53:06< mordante> :-( 20090807 18:53:25< MikeJB> Well, damn. 20090807 18:53:30-!- MikeJB is now known as Aethaeryn 20090807 18:55:09< Ivanovic> [18:47:48] this is going to be more difficult than the previous 3 hard disk failures 20090807 18:55:10< Ivanovic> [18:48:57] I'll need to restore the system in addition to the data 20090807 18:55:24< Aethaeryn> Noooooooo... 20090807 18:55:31< Aethaeryn> Does this mean some revisions are lost? 20090807 18:56:04< Crab_> Aethaeryn: depends on their backup procedure. but nothing is fully 'lost' 20090807 18:56:52< Aethaeryn> I'm sure their backup procedure is much better than my "backup procedure" for my laptop (tradition continued over from my old computers): once every six months when Fedora makes a new release :P 20090807 18:59:31< mordante> well we have some people using git, so we can't loose too much 20090807 19:00:07< Crab_> mordante: soliton committed last 20090807 19:00:14< Crab_> Soliton: are you using git ? 20090807 19:00:23< Soliton> yes. 20090807 19:00:33< shadowmaster> Ivanovic: the annoying part is having to apply the patches by hand, character by character, since there's no automated system to do it, not even plain patch(1) patches. 20090807 19:00:44< mordante> great, so in the worst case soliton can recommit the last commits 20090807 19:01:11< Crab_> yes 20090807 19:01:16< Soliton> shadowmaster: there is no need for any system for patch to work. 20090807 19:01:54< shadowmaster> well, of course that's why I have a git repository to generate proper patches. 20090807 19:03:09< shadowmaster> except that I still have to merge the 3.0.4 patches on 3.0.5, and proceed with a horribly outdated/unmaintained (not even certified) mod we use (the syndication thingy) and the forum styles 20090807 19:12:11-!- Netsplit clarke.freenode.net <-> irc.freenode.net quits: isaac_, Rhonda, lizard_r 20090807 19:12:44-!- Netsplit over, joins: Rhonda, lizard_r, isaac_ 20090807 19:18:23-!- melinath_ [n=melinath@pool-72-72-193-179.altnpa.east.verizon.net] has quit [Read error: 110 (Connection timed out)] 20090807 19:40:03-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has quit [Read error: 104 (Connection reset by peer)] 20090807 19:42:12< mordante> corn, how is your gsoc project going? 20090807 19:43:32< mordante> AI0867, what's the reason behind r37350? 20090807 19:43:46< shadowmaster> mordante: AI0867 won0t be available till next week. 20090807 19:43:53< shadowmaster> around Tuesday. 20090807 19:43:55< mordante> ok 20090807 19:44:00< mordante> thanks for the info 20090807 19:44:16< mordante> btw weren't you looking for me during my vacation? 20090807 19:45:17-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has joined #wesnoth-dev 20090807 19:45:33< shadowmaster> yes, thanks for reminding me. Do you know of any underlying differences between the ::blit_surface() and CVideo::blit_surface() ? namely the bitblting algorithm they use. 20090807 19:47:07< shadowmaster> I stumbled upon some problems when bitblting a rendered ttext using ::blit_surface(), so I had to use CVideo::blit_surface() instead. Left a comment on /src/storyscreen/render.cpp:465 20090807 19:48:38< shadowmaster> (the ttext class mentioned in the comment having something to do with /gui/auxiliary/canvas.cpp IIRC) 20090807 19:49:38< mordante> ::blit_surface is a specialized version for blitting semi transparent items on top of eachother 20090807 19:49:53< mordante> I need it for the widget library 20090807 19:49:59< mordante> most wesnoth code uses 20090807 19:50:23< mordante> SDL_Blitsurface instead, which is the best choice most of the time 20090807 19:50:48< shadowmaster> um, so it wasn't intended for blitting semitransparent items (the antialiased rendering from the font::ttext::render()) on top of completely opaque items, such as the CVideo surface? 20090807 19:50:57< mordante> it can be rendered on surfaces with bitdepth less as 32 and honours clipping rects 20090807 19:51:04-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection reset by peer] 20090807 19:51:19-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 19:51:25< mordante> CVideo::blit_surface is a specialized version for SDL_Blitsurface (no idea who wrote it and why) 20090807 19:52:05< mordante> no it's not meant for that and fails when somebody uses 16 bpp 20090807 19:53:09< mordante> so you can remove the comment in /src/storyscreen/render.cpp:465 and keep the code as-is 20090807 19:53:10< shadowmaster> um. So both methods are intended for such different cases and are named the same way.. 20090807 19:53:24< shadowmaster> yes, I'll do as soon as I can commit again. 20090807 19:54:07< mordante> to be honest I never heard of CVideo::blit_surface before so guess I might have duplicated the name 20090807 19:54:31< shadowmaster> I guess CVideo is legacy code. 20090807 19:54:58< shadowmaster> it's pretty handy anyway, specially if I don't need to crop the source surface. 20090807 19:55:21< mordante> no idea whether or not it's legacy 20090807 19:55:30 * shadowmaster notices that CVideo already existed in version 0.2 20090807 19:55:44< shadowmaster> no blit_surface() in it back then though 20090807 19:55:46-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20090807 19:59:36< shadowmaster> going back home, cya. 20090807 20:00:34< mordante> bye shadowmaster 20090807 20:13:55-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090807 21:13:19-!- amous [n=amous@221.223.122.173] has joined #wesnoth-dev 20090807 21:13:56-!- giusef [n=giusef@unaffiliated/giusef] has joined #wesnoth-dev 20090807 21:14:48-!- amous [n=amous@221.223.122.173] has left #wesnoth-dev ["Leaving..."] 20090807 21:31:28-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has quit [Read error: 60 (Operation timed out)] 20090807 21:31:32< ilor> mordante: too bad about gna today, I have an editor2->editor commit waiting ;) 20090807 21:32:36< mordante> ok, well they're at the letter w with restoring... 20090807 21:33:02< ilor> I wonder if w will take longer with wesnoth and warzone there ;) 20090807 21:34:47< lizard_r> you should have called your game "a battle for wesnoth" 20090807 21:34:59< mordante> :-) they just discussed that warzone takes quite a bit of disc space ;-) 20090807 21:35:31< mordante> I'm not sure whether they put up the restored repos yet 20090807 21:37:56< ilor> I'd rather they restored stuff properly tbh 20090807 21:38:24< mordante> me too 20090807 21:38:26< ilor> than bother with partially starting stuff up 20090807 21:38:53< mordante> exactly so I expect them to put svn up after restoring+testing everything 20090807 21:39:07< ilor> anyway, I'm so glad I got into git :) 20090807 21:40:00< lizard_r> btw, is there a way to align table cells on the right side, since my icon idea doesn't get much love? 20090807 21:40:22< lizard_r> or centering them 20090807 21:41:35-!- Tigge [n=tigge@bacchus.olf.sgsnet.se] has joined #wesnoth-dev 20090807 21:44:10< mordante> ilor, me too, and luckily the last commit for wesnoth was done by git, so no data lost :-) 20090807 21:45:47< ilor> lucky :) 20090807 21:46:54-!- Sapient [n=patrickp@wesnoth/developer/sapient] has joined #wesnoth-dev 20090807 21:55:56-!- Turuk_ [n=Turuk@wesnoth/forumsith/turuk] has joined #wesnoth-dev 20090807 22:03:32-!- Turuk [n=Turuk@wesnoth/forumsith/turuk] has quit [Connection timed out] 20090807 22:04:44< mordante> I'm off night 20090807 22:05:10-!- mordante [n=mordante@wesnoth/developer/mordante] has quit ["Leaving"] 20090807 22:15:29-!- Noyga [n=lame-z@wesnoth/developer/noyga] has left #wesnoth-dev ["Quitte"] 20090807 22:24:45-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has quit ["Saurian Augur - I'll heal you by 4 hp if you leave next to me"] 20090807 22:24:58-!- ettin_ [n=jorda@wesnoth/developer/ettin] has quit [Read error: 110 (Connection timed out)] 20090807 22:38:54-!- giusef [n=giusef@unaffiliated/giusef] has quit [Remote closed the connection] 20090807 22:40:41-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090807 22:47:05-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090807 22:48:12-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090807 22:48:50-!- silene1 [n=plouf@AMarseille-251-1-58-35.w83-197.abo.wanadoo.fr] has joined #wesnoth-dev 20090807 23:03:00-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090807 23:05:16-!- silene [n=plouf@wesnoth/developer/silene] has quit [Read error: 110 (Connection timed out)] 20090807 23:05:21-!- ettin [n=jorda@wesnoth/developer/ettin] has joined #wesnoth-dev 20090807 23:11:23-!- Blarumyrran [n=villu@81-20-159-197.levira.ee] has quit [Remote closed the connection] 20090807 23:14:07-!- ABCD_ [n=ABCD@gentoo/contributor/abcd] has joined #wesnoth-dev 20090807 23:14:58-!- ABCD [n=ABCD@gentoo/contributor/abcd] has quit [Read error: 104 (Connection reset by peer)] 20090807 23:17:47< fendrin> Crab_: around? 20090807 23:17:55< Crab_> yes 20090807 23:18:14< fendrin> Crab_: That new ai framework is quite huge, isn't it? 20090807 23:18:37< fendrin> I should go for the composite ai, right? 20090807 23:18:52-!- noy [n=Noy@wesnoth/developer/noy] has quit [Read error: 60 (Operation timed out)] 20090807 23:18:54< Crab_> fendrin: yes, and it will become bigger with time. for example, as soon as gna gets back online, I'm committing some new pieces 20090807 23:19:15< Crab_> fendrin: well, basically, there is only one ai - the composite ai :) 20090807 23:19:16< deekay> Crab_: Did you fix formula ai commandline? 20090807 23:19:33< Crab_> deekay: yes, will commit when gna gets back online 20090807 23:19:42< deekay> Crab_: Cool :) 20090807 23:20:03< deekay> Crab_: http://student.agh.edu.pl/~dks/test1.png http://student.agh.edu.pl/~dks/test2.png http://student.agh.edu.pl/~dks/test3.png 20090807 23:20:09< shadowmaster> gna is still offline? 20090807 23:20:31< fendrin> shadowmaster: yes 20090807 23:20:53-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090807 23:22:41< Crab_> fendrin: basically, the new ai config should consist of several [stage]'s. for example, see http://wesnoth.pastebin.com/m710eeecd 20090807 23:23:18< fendrin> Crab_: I am at 37259. Can I test with it? 20090807 23:23:21< fendrin> quite old 20090807 23:24:29< Crab_> fendrin: this ai will play its turn as 1) 'do unit formulas' (first stage, those unit formulas are those used for wolves in LoW), 2) fallback do default ai (second stage) 20090807 23:26:34< Crab_> fendrin: no, do not use 37259 :) 20090807 23:30:45< deekay> Crab_: Links tha I gave you are from my work on how to make AI aware of which part of map it is supposed to play on, it is based on possible recruits now 20090807 23:31:25< Crab_> deekay: btw, 'avoid' aspect (former [avoid] tag) now accepts SLF 20090807 23:32:03< fendrin> Crab_: that SLF thing is great 20090807 23:33:31< Crab_> deekay: 'make AI aware of which part of map it is supposed to play on' - how have you done that ? 20090807 23:34:07< deekay> Crab_: Based on movement cost, but with different "tollerancy" in case of enemies and allies 20090807 23:38:13-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090807 23:39:55< deekay> Crab_: It's not "perfect" now, but I think it will work for many cases 20090807 23:41:38< Crab_> deekay: ok. note the new way that you'll have in svn\next version : use an avoid aspect with an SLF, and that 'avoid' aspect will be recalculated once per turn, so you can dynamically limit the part of the map which will be reachable by ai. 20090807 23:45:31< deekay> Crab_: ok, thanks :) 20090807 23:49:57-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090807 23:55:24< Crab_> fendrin: also note that to effectively use the new ai syntax, some kind of 'global' macro library will be needed, to allow simpler syntax of common things. 20090807 23:57:26< fendrin> Crab_: If I start low just like it is now in svn 37259 will I get the new or the old ai? 20090807 23:58:25< Crab_> r37259 is before 'the big commit that introduced new ai syntax', so you'll get old ai. new ai is available there, but only if it is explicitly asked for. 20090807 23:58:55< Crab_> fendrin: imo, it's better to wait a bit, for gna to come back 20090807 23:59:35< fendrin> Crab_: Yes, right. --- Log closed Sat Aug 08 00:00:58 2009