--- Log opened Wed Jul 15 00:00:09 2009 20090715 00:00:48< Soliton> a week between releases and he's apologizing? 20090715 00:01:15< ilor> silene: thanks for the help, I'll try to get something working tomorrow (and will probably nug you some more about it ;) ) 20090715 00:01:53< silene> :-) 20090715 00:02:39< ilor> argh, s/nug/bug/ ;) 20090715 00:03:11< silene> it's getting late, good night 20090715 00:03:14< ilor> night 20090715 00:03:17< grzywacz> Soliton, :) 20090715 00:03:24-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090715 00:09:08-!- melinath [n=melinath@stud223115.studentenheim.uni-tuebingen.de] has joined #wesnoth-dev 20090715 00:09:15-!- wesbot changed the topic of #wesnoth-dev to: 1.7.2 planned for next Sunday (July 19th) | 64 bugs, 240 feature requests, 12 patches | logs: http://irclogs.wesnoth.org/ | Don't paste on IRC! Use a pastebin: http://wesnoth.pastebin.com | http://imagebin.org 20090715 00:17:54-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["WRYYYYYYYYYYYYYYYYYYYY!"] 20090715 00:18:01< YogiHH> night everyone 20090715 00:19:14-!- YogiHH [n=chatzill@d052091.adsl.hansenet.de] has left #wesnoth-dev [] 20090715 00:22:42< corn> ilor: I want to create a standalone binary that will more or less generate a map screenshot. I checked out display.cpp and builder.cpp and it's basically what I need. right now I just plan on creating a little program that generates a surface, and runs draw_hex() on all of the map locations 20090715 00:22:48< corn> is there a better way to do this? 20090715 00:23:47< ilor> corn: not sure how much code you'll actually need, I hope you don't end up needing half f wesnoth 20090715 00:24:21< ilor> in which case it'd probably make more sense to just add anosther commandline switch to the effect of --make-map-screenshot MAPFILE 20090715 00:24:25< Ivanovic> the problem of a real map screenshot is that you have to read the terrain definitions, too 20090715 00:24:30< Ivanovic> this requires... 20090715 00:24:47< Crab_> corn: I've seen a web application which generated wesnoth map screenshots... 20090715 00:25:18< corn> do you remember the link? 20090715 00:25:19< Ivanovic> might get really ugly and just adding a command line switch to the game itself is probably easier (especially since those who want to create the snapshop tend to have the game, too) 20090715 00:25:23< Crab_> it even applied some effects on top of them to make them look like 'real' ancient maps... 20090715 00:25:32-!- mordocai_afk is now known as mordocai 20090715 00:25:35< Ivanovic> that is: ingame there is some map screenshot functionality IIRC 20090715 00:25:56< corn> Ivanovic: yes, the functionality is basically exactly what I want 20090715 00:26:20< corn> I think I'll just add a switch then 20090715 00:26:40< corn> I am just worried that it will be a lot of changes to the code 20090715 00:26:55< Ivanovic> silene: small problem with translation cache not being refreshed correctly: 20090715 00:27:21< Crab_> corn: http://www.sellner.org/wercator/index.html 20090715 00:27:23< Ivanovic> was just in the hotkey prefs while in german, exited, switched to en_US (C locale) and went back into the hotkey setup 20090715 00:27:24< corn> a lot of changes along the lines of if(screenshot) {} surrounding all the non-graphics part of the engine 20090715 00:27:28< Ivanovic> it was still in english 20090715 00:28:01< Ivanovic> corn: there is a function called "map screenshot", normally it does not have a hotkey assigned 20090715 00:28:05< corn> yeah 20090715 00:28:07< corn> I used it 20090715 00:28:11< corn> but this will be used serverside 20090715 00:28:15< corn> and automated 20090715 00:28:17< Ivanovic> just check the function that is called when that hotkey is activated and call it for a commandline switch 20090715 00:28:23< Ivanovic> hmm 20090715 00:28:30< corn> so the actual display shouldn't start up 20090715 00:28:34< Dragonking> Crab_: I am around now 20090715 00:29:17< Crab_> Dragonking: firstly, http://wesnoth.pastebin.com/m4c42dc4b 20090715 00:29:28< corn> Crab_: thanks for the link, this is pretty amazing 20090715 00:29:38< Crab_> Dragonking: this is a stub code 20090715 00:29:42< Soliton> corn: there is --nogui 20090715 00:30:08< Crab_> Dragonking: it's purpose is to allow formula_ai to 'save' itself to config 20090715 00:30:24< Dragonking> ok 20090715 00:30:26< mordocai> Is there scons support for the stable branch as well as the development? 20090715 00:30:35< Crab_> mordocai: yes 20090715 00:31:00< mordocai> Crab_: Okay, it doesn't mention it on the wiki and i was about to switch to using svn :P 20090715 00:31:04< Crab_> Dragonking: I don't know formula ai enough to implement it correctly on the first try, though :) 20090715 00:31:22< mordocai> Well... have to reboot. Be right back. 20090715 00:31:26-!- mordocai [n=Administ@66.119.9.243] has quit ["Leaving"] 20090715 00:31:30< Dragonking> Crab_: Mind: I won't be now for too long, I need to get up early tomorrow unfortunately and it has been loooong day for me.. 20090715 00:31:32-!- ABCD [n=ABCD@wikipedia/ABCD] has quit [Client Quit] 20090715 00:31:42-!- boucman [n=rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20090715 00:31:44< Dragonking> Crab_: But we can talk for 10 min or so :) 20090715 00:31:49< Crab_> Dragonking: ok 20090715 00:31:50< corn> Soliton: checking it out now. just from looking at it quickly, it makes an sdl_surface that isn't attached to a window? 20090715 00:31:54< boucman> hey all 20090715 00:32:00< corn> (underlying make_fake() call) 20090715 00:32:02-!- ABCD [n=ABCD@wikipedia/ABCD] has joined #wesnoth-dev 20090715 00:32:03< Crab_> hi boucman 20090715 00:32:06< corn> hi 20090715 00:32:07< Ivanovic> hi boucman 20090715 00:32:15< boucman> not here for long, just passing by 20090715 00:33:42< grzywacz> boucman, some time ago you made a commit that prevented sounds being played during fast-forward replays, but it had an unfortunate effect of preventing sound sources from being added when display is locked (such as in prestart events....); I changed it partially a few days ago but you may want to check if it still does what you intended 20090715 00:33:50< Dragonking> Crab_: By saving formula to config you mean store everything that we may want to define? 20090715 00:33:56< grzywacz> boucman, probably there should be a way to pause the sound sources 20090715 00:34:13< Crab_> Dragonking: basically, formula is created from config snippet. 20090715 00:34:21< Crab_> 'saving to config' is the reverse procedure 20090715 00:34:21< Dragonking> Yes 20090715 00:34:40< Crab_> it is non-trivial in case the formula can 'change' during its lifetime 20090715 00:34:41< Dragonking> Ok, I'm just asking ot make sure my mind is still parsing words correctly :) 20090715 00:34:48< boucman> grzywacz: i'll check, but what's the point of having a sound source in prestart ? 20090715 00:35:00< Crab_> for example, formula ai can get new definitions via run_file, etc 20090715 00:35:24< Crab_> Dragonking: and another thing I wanted to tell that I want to change the way command-line AI works 20090715 00:35:30< Dragonking> Yes? 20090715 00:35:40-!- mordocai [n=mordocai@66.119.9.243] has joined #wesnoth-dev 20090715 00:36:02< Ivanovic> corn: the form should be open again so that you can submit your survey 20090715 00:36:10< Ivanovic> best do it *right now* 20090715 00:36:54< Crab_> Dragonking: to make it more like other ais, basically, make it an 'additional controller' of the side human is playing 20090715 00:37:06< Ivanovic> Crab_, cjhopman, Dragonking, ilor, euschn, boucman, dfranke, mordante, Sirp, Sapient, Yogihh: though you are in theory able to change the surveys please do *NOT* do this 20090715 00:37:42< boucman> Ivanovic: sure thing 20090715 00:38:05< Ivanovic> (cf the mail leslie just sent around) 20090715 00:38:34< Crab_> Dragonking: basically, it will allow, for example, each human in mp game to have such a 'pet ai' co-controlling a side. 20090715 00:39:05< Dragonking> Crab_: Then you would need to limit data for the AI im MP games 20090715 00:39:06-!- gabm [n=gabm@64.235.200.224] has joined #wesnoth-dev 20090715 00:39:15< Crab_> Dragonking: yes and no. 20090715 00:39:20< Ivanovic> corn: if you got any problems with the forms, please ping me and/or lh 20090715 00:39:22< Dragonking> Crab_: Currently formula commandline is disabled during MP games 20090715 00:39:26-!- gabm [n=gabm@64.235.200.224] has left #wesnoth-dev [] 20090715 00:40:07< Crab_> Dragonking: I mean that the person that wants to cheat, can easily do so via logging/patched clients/debug monitoring/etc 20090715 00:40:17< Dragonking> Crab_, boucman btw, my today's commit that changed order in which formula tokenizer was looking for regexps shortened time of parsing formulas - with my recruitment example it was 7300ms -> 4100ms 20090715 00:40:30< Dragonking> Crab_: Debug is impossible in MP 20090715 00:40:33< Crab_> Dragonking: good :) 20090715 00:40:37< Crab_> Dragonking: by debug I mean GDB 20090715 00:40:44< Bob_The_Mighty> [filter_wml] [modifications] [trait] 20090715 00:40:56< Bob_The_Mighty> whoops 20090715 00:41:13< Crab_> Dragonking: so, "need to limit data for the AI im MP games" will be only needed to help honest players from accidentially seeing something not wanted. 20090715 00:41:16< Dragonking> Crab_: It is easy for you, not for people that download precompiled windows binary 20090715 00:41:37< Dragonking> Crab_: I oppose making all data available in MP. Strongly. 20090715 00:41:38< Crab_> Dragonking: --log-debug is easy for them, as well. 20090715 00:42:24< Dragonking> Argument that there are other ways to cheat is not convincing. 20090715 00:42:30< Bob_The_Mighty> is it possible to do this: [filter_wml] [modifications] [specials] id=poison [/... even when the unit has more than 1 weapon special? 20090715 00:43:02< corn> Ivanovic: ok 20090715 00:43:05< Crab_> Dragonking: then we can just keep it debug-only until 'ai fog awareness' is implemented 20090715 00:43:17< Crab_> Dragonking: then, basic fai thingies will be fog-aware 20090715 00:43:26< Dragonking> Good :) 20090715 00:43:41< Ivanovic> heading off to bed now, should be back in ~10h if any probs pop up 20090715 00:43:46< Ivanovic> n8 20090715 00:44:00< mordocai> Invanovic: sleep well! 20090715 00:44:13< Crab_> Dragonking: also note that all fai commands can be easily logged 20090715 00:44:48< grzywacz> boucman, well, you define a sound source in prestart. it doesn't mean it has to play something right away 20090715 00:45:01< grzywacz> boucman, I think there's no reason why defining them in prestart should be prohibited as such 20090715 00:45:14< Crab_> Dragonking: another thing that is changing atm, is the way ai parameters work. 20090715 00:45:16< grzywacz> Anyway, night. 20090715 00:45:23< Dragonking> Crab_: Great :) 20090715 00:45:28< boucman> grzywacz: the probel is that there is no easy way to know when we are in "fast forward" which is the info I am looking for 20090715 00:45:35< boucman> i'll probably willhae to rework that patch 20090715 00:45:59< grzywacz> boucman, yes. looking at display being locked for updates is a little bit unrelated 20090715 00:46:06< Dragonking> Crab_: I won't be available for 2 days now, later next week I plan to fix mess in formula files, move around some funtions, generally make code more readable 20090715 00:46:13< Crab_> Dragonking: ok 20090715 00:46:30-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has quit [Remote closed the connection] 20090715 00:47:22-!- elias [n=allefant@allegro/developer/allefant] has quit ["Leaving"] 20090715 00:47:47< Crab_> boucman: I'm still working on config changes patch (got 2 first steps done in my local repository, but I'm cleaning even bigger mess atm ) 20090715 00:48:03< Dragonking> Crab_: I would like to extract all formula *AI* functions out of formula/ai.cpp 20090715 00:48:39< Dragonking> It is 1.7k lines of code there... having nearly 3k lines long file is a pain 20090715 00:49:00< Crab_> Dragonking: that's good 20090715 00:49:41< Crab_> Dragonking: I want to mess with them, too, but I'll wait till you do so. 20090715 00:49:57< Dragonking> Crab_: If you will hack in this file, then just leave me note so we don't have to resolve conflicts :) 20090715 00:50:08< Dragonking> ok 20090715 00:50:10< Crab_> Dragonking: no, I will not hack them till you move them :) 20090715 00:50:56< Dragonking> My todo list is growing at amazing rate ;p 20090715 00:51:07< CIA-53> jhinrichs * r36908 /trunk/ (4 files in 2 dirs): Adding the delete game functionality to the gui2 load-game dialog. 20090715 00:51:16< Crab_> Dragonking: that's good. that means that someday you'll kill those todo's :) 20090715 00:51:31< Dragonking> Or the other ay around ;p 20090715 00:51:33< Crab_> Dragonking: it's such a pleasure to remove lines such as "//START OF MESSY CODE" 20090715 00:51:34< Dragonking> way' 20090715 00:52:06< Dragonking> Crab_: I'm afraid there are no warnings about that, such messy code just starts ;p 20090715 00:52:25< Crab_> Dragonking: I have (had) such a warning in src/team.cpp :) 20090715 00:52:33< Dragonking> :) 20090715 00:52:50< Dragonking> ok, I'll be going to sleep now 20090715 00:53:25< Dragonking> I will be back around thursday evening 20090715 00:53:33< Crab_> ok 20090715 00:53:34< Dragonking> bye everyone 20090715 00:54:59< boucman> night eeryone 20090715 00:55:16< boucman> Crab_: do you think you'll be done tomorow ? 20090715 00:55:55-!- boucman [n=rosen@wesnoth/developer/boucman] has quit ["Leaving."] 20090715 00:55:59< Crab_> boucman: will commit ~12hours, but I'm not sure :) 20090715 00:58:15< Crab_> boucman: as, while working, I realized that it's a good time to fix ai parameter handling, as well :) 20090715 01:16:34-!- Crab_ [i=crab@wesnoth/developer/crab] has quit ["Leaving."] 20090715 01:22:44 * mordocai hates resolving dependencies. 20090715 01:27:55< crimson_penguin> mordocai: really? I love it! :P 20090715 01:30:05< mordocai> crimson_penguin: Lol, it really isn't too bad... at least with a nice list like you have in your wiki. By the way, is scons or cmake better? Or both about the same? 20090715 01:30:24< crimson_penguin> I don't know, I use XCode ;) 20090715 01:31:04< mordocai> ah... Mac. Got it 20090715 01:32:01-!- CIA-53 [n=CIA@208.69.182.149] has quit [] 20090715 01:32:58-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit ["night all"] 20090715 01:36:08< crimson_penguin> yeah 20090715 01:41:10< corn> can someone clarify what the line if(!multiplayer_mode_) { in game.cpp:play_multiplayer_mode() is supposed to do 20090715 01:41:24< corn> it returns true when multiplayer_mode is false 20090715 01:45:16< Soliton> looks like the return value indicates an error and there was none. 20090715 01:46:43-!- loonycyborg [n=sergey@79.139.138.33] has joined #wesnoth-dev 20090715 01:46:48< corn> oh 20090715 01:46:50< corn> that makes sense 20090715 01:46:50< corn> thanks 20090715 01:46:56< Soliton> it'd probably be more readable if that was checked where the function is called though. 20090715 01:47:46< corn> as in, check multiplayer_mode_ in do_gameloop? 20090715 01:48:02< Soliton> yeah. 20090715 01:48:25-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090715 01:49:06-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 60 (Operation timed out)] 20090715 01:49:21< corn> is there a convention that you shouldn't access private variables in functions that aren't accessors/modifiers? 20090715 01:50:08< corn> that is probably why it isn't being checked right in do_gameloop 20090715 01:51:13-!- BenUrban [n=benurban@68.55.19.224] has joined #wesnoth-dev 20090715 01:53:48< mordocai> Does anyone know if the pango in the ubuntu repository satisfies the dependency for wesnoth? Wesnoth says 1.14.8 while this says it's 1.0 20090715 01:54:53< loonycyborg> Yes. Ir does. 20090715 01:55:03< loonycyborg> *It 20090715 01:55:24< loonycyborg> At least in later release of ubuntu. 20090715 01:55:32< mordocai> Okay 20090715 01:55:37< mordocai> Just wanted to make sure 20090715 01:57:54< corn> Soliton: can you look over https://gna.org/patch/index.php?1191 ? I am writing a new commandline param and I want other devs to approve it before I commit. I am still pretty new at C++ 20090715 01:59:10-!- CIA-51 [n=CIA@208.69.182.149] has joined #wesnoth-dev 20090715 02:05:39-!- melinath [n=melinath@stud223115.studentenheim.uni-tuebingen.de] has quit [Read error: 110 (Connection timed out)] 20090715 02:06:48-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"] 20090715 02:10:19< Soliton> corn: looks good to me on a quick glance. 20090715 02:10:27< corn> ok, thanks 20090715 02:10:44< corn> should I wait for boucman? 20090715 02:10:56< corn> he is the patch vetter, right? 20090715 02:23:04< corn> be back in 2 hours 20090715 02:24:01-!- CIA-51 [n=CIA@208.69.182.149] has quit [] 20090715 02:26:20-!- ardesh_ [n=ardesh@port-92-206-188-157.dynamic.qsc.de] has joined #wesnoth-dev 20090715 02:26:24-!- ardesh [n=ardesh@port-92-206-106-242.dynamic.qsc.de] has quit [Read error: 113 (No route to host)] 20090715 02:30:07-!- Appleman1234 [n=Appleman@c122-104-135-239.kelvn2.qld.optusnet.com.au] has joined #wesnoth-dev 20090715 02:32:41-!- CIA-51 [n=CIA@208.69.182.149] has joined #wesnoth-dev 20090715 02:46:42-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090715 02:51:59-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090715 02:52:50-!- Bob_The_Mighty [n=chatzill@cpc3-brig15-0-0-cust558.3-3.cable.virginmedia.com] has quit [Read error: 104 (Connection reset by peer)] 20090715 02:58:17-!- ilor [n=user@wesnoth/developer/ilor] has quit [Read error: 110 (Connection timed out)] 20090715 03:08:23-!- Blarumyrran [n=Blarumyr@81-20-159-197.levira.ee] has joined #wesnoth-dev 20090715 03:16:08-!- Doppp|EeePC [n=aasdasd@c-67-171-96-240.hsd1.pa.comcast.net] has joined #wesnoth-dev 20090715 03:21:07< AI0867> corn: looks fine to me too 20090715 03:21:28-!- Blarumyrran [n=Blarumyr@81-20-159-197.levira.ee] has quit [] 20090715 03:22:50-!- Blarumyrran [n=Blarumyr@81-20-159-197.levira.ee] has joined #wesnoth-dev 20090715 03:24:43< mordocai> can anyone tell me where in the code the actual preferences dialog is stored?(looking into seeing if i can fix bug #13626 as my first patch attempt) 20090715 03:26:00-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090715 03:36:30< mordocai> (disregard my previous question. i'll learn more figuring it out myself) 20090715 03:40:27-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has joined #wesnoth-dev 20090715 03:59:17< corn> AI0867: ok, good enough for me, I'll commit 20090715 04:02:24< CIA-51> cornmander * r36909 /trunk/src/game.cpp: Added commandline parameter '--screenshoot ' to take screenshots of maps without starting all of wesnoth. Actual implementation still stubbed. 20090715 04:03:51< corn> question: are scenario names unique to all of wesnoth or can two campaigns have scenarios with the same name 20090715 04:05:17-!- Appleman1234 [n=Appleman@c122-104-135-239.kelvn2.qld.optusnet.com.au] has quit [Read error: 113 (No route to host)] 20090715 04:06:35< AI0867> they can as long as they aren't loaded at the same time 20090715 04:06:54< AI0867> so the campaigns have to use different campaign defines 20090715 04:06:57< AI0867> which they usually do 20090715 04:07:12< corn> campaign defines? 20090715 04:08:06< mordocai> Anyone know where the layout for the preferences dialog box is stored? 20090715 04:08:10< AI0867> define=CAMPAIGN_HEIR_TO_THE_THRONE 20090715 04:08:17< AI0867> from httt's [campaign] 20090715 04:08:34< AI0867> the rest of the campaign is included from inside and #ifdef CAMPAIGN_HEIR_TO_THE_THRONE 20090715 04:08:34< corn> ah 20090715 04:08:35< corn> I see 20090715 04:09:07< corn> why can't the "id" variable in _main.cfg uniquely identify a campaign? 20090715 04:09:37< AI0867> it can 20090715 04:09:54< AI0867> but [scenario] isn't a child tag of [campaign] 20090715 04:10:19< corn> ah 20090715 04:10:55< AI0867> so #ifdefs are used to exclude the unneeded ones from the parse tree 20090715 04:12:17< corn> right now I am trying to set up the minimum amount of information to pass to play_game 20090715 04:13:22< mordocai> So, in regards to #13626 i know how to set the box to come up(or not) i just need to know how to edit the preferences dialog box... i'm having a hard time finding out. Can anyone help? 20090715 04:13:49< corn> mordocai: one second, I will look up the bug 20090715 04:14:51< AI0867> wesbot: bug 13626 20090715 04:14:52< wesbot> Bug #13626 Assigned to: None Status: None Priority: 5 - Normal 20090715 04:14:52< wesbot> Summary: Option to toggle "Do you really want to" preference in Load Game Dialog 20090715 04:14:55< wesbot> Original submission: When you delete a game from the Load Game dialog by click 20090715 04:14:58< wesbot> ing on the ill-placed and dually ill-named "Delete Save" button, by default you 20090715 04:15:01< wesbot> URL: https://gna.org/bugs/?13626 20090715 04:15:04< wesbot> Attached file (1st): https://gna.org/bugs/download.php?file_id=5888 20090715 04:15:39< corn> is the preferences window defined in wml? 20090715 04:15:42< corn> or only in the code 20090715 04:16:23< mordocai> That's what i'm trying to figure out... lol 20090715 04:16:38< AI0867> src/preferences_display.cpp seems like a good place to start =P 20090715 04:17:12< mordocai> AI0867: Yeah, i've looked there... I wanted to put it under advanced, it that doesn't seem to contain the options in the advanced portion. 20090715 04:17:28< AI0867> there's also a number of preferences in data/_main.cfg 20090715 04:17:54< corn> yep, that's probably what he wants 20090715 04:17:54< AI0867> [advanced_preference] even =P 20090715 04:17:57< mordocai> Okay, did not look there 20090715 04:18:00< mordocai> :P 20090715 04:18:13< AI0867> it's not in a very logical place =P 20090715 04:18:17< mordocai> (this will be my first code change if i get it, so sorry for the questions) 20090715 04:18:23< AI0867> np 20090715 04:18:24< corn> good luck 20090715 04:19:12< mordocai> thanks 20090715 04:20:32< corn> AI0867: do you know about gui2 stuff? 20090715 04:20:41< AI0867> nope 20090715 04:20:48< corn> I figured there should be a preferences file in the gui/window folder 20090715 04:20:51< AI0867> you want to talk to mordante or ilor 20090715 04:20:54< corn> ok 20090715 04:20:56-!- Ivanovic_ [n=ivanovic@dtmd-4db222e8.pool.einsundeins.de] has joined #wesnoth-dev 20090715 04:21:04< AI0867> usually mordante 20090715 04:22:11< AI0867> I think I'll split them out to data/advanced_preferences.cfg 20090715 04:24:32-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090715 04:26:59< mordocai> okay, so i have the dialog box... still needs changes in code to make it actually work though... 20090715 04:27:12< mordocai> Not dialog box, option 20090715 04:29:42< corn> check out menu_events.cpp 20090715 04:29:47< corn> and game_preferences.cpp 20090715 04:30:58< corn> hm 20090715 04:32:52< corn> yes, game_preferences.cpp is probably it, I just grepped a bit 20090715 04:33:07< mordocai> corn: Sorry, i was just wrong lol... i was using ask_delete_saves instead of ask_delete for the field name. It's setting it fine now. 20090715 04:33:19< corn> oh 20090715 04:33:44< mordocai> yeah, didn't need to touch the code -.- I spent an hour looking through it too... 20090715 04:34:43< mordocai> Okay, do you like the wording? name="Show dialog box asking to delete saves" 20090715 04:35:00< mordocai> Well, there's an underscore after = but same idea 20090715 04:35:08< AI0867> Confirm deleting saves 20090715 04:35:08< Sirp> corn: how are things going with your project? 20090715 04:35:20< mordocai> AI0867: nice, didn't like the wording. thanks! :) 20090715 04:36:08< mordocai> AI0867: Okay, so do i need to submit a patch for that then? 20090715 04:36:12< corn> Sirp: good, but I am still a week behind (as I was last week and before that as well) 20090715 04:36:32< corn> right now I am implementing the killgraphs idea, I hope to get it done within 2 weeks 20090715 04:36:50-!- Ivanovic [n=ivanovic@wesnoth/developer/ivanovic] has quit [Read error: 113 (No route to host)] 20090715 04:36:54-!- Ivanovic_ is now known as Ivanovic 20090715 04:38:01< corn> overall, I still need to do the following: killgraphs, skinning the site, populating more graphs (which is easy), finishing line charts, adding bar graphs, and email subscriptions 20090715 04:44:46< AI0867> mordocai: do you have commit rights? if not, submitting a patch is indeed the way to get it ingame 20090715 04:45:20< mordocai> AI0867: Yeah, no commit rights. So yeah, i'll do a patch. http://www.wesnoth.org/wiki/PatchSubmissionGuidelines still up to date? 20090715 04:46:41< AI0867> should be 20090715 04:47:29< AI0867> I probably should have read that when I submitted *my* first patch 20090715 04:48:22< Sirp> corn: do you have a sampling system going so it's efficient etc? 20090715 04:49:39< corn> Sirp: yep, I followed through with my idea of a nightly cronjob that picks N random rows and puts them into a smaller table. queries go to the smaller table (10k rows) and an evaluator dependent on the type of query judges whether or not it should move up to a larger sized sample table 20090715 04:50:06< corn> queries take under a second 20090715 04:50:18< Sirp> corn: cool! :) Good work on that then. 20090715 04:50:27< Sirp> corn: so is there a site where we can see what you've done so far? 20090715 04:50:34< corn> http://cornmander.com/wesstats/ 20090715 04:50:40< corn> http://cornmander.com/wesstats/addview 20090715 04:50:53< corn> right now you can only add pie charts and you need to know the column names 20090715 04:52:00< corn> http://cornmander.com/wesstats/version_date?version=1.6&startdate=2009%2F03%2F01&enddate=2009%2F06%2F01 20090715 04:52:01< Sirp> ahh, looking cool. :) 20090715 04:52:33< corn> the results for the line graph don't make sense unless you specify dates 20090715 04:52:57< Sirp> corn: so do you have this running on our production server yet? 20090715 04:53:14< corn> nope, this is still using the db dump that you gave me in late april 20090715 04:54:04< corn> I am not sure when I am going to do that 20090715 04:54:19< corn> probably after I finish all the SQL work 20090715 05:02:01< mordocai> submitted patch #1192 in order to fix bug #13626. 20090715 05:10:38< AI0867> mordocai: just tested it, and the preferences button doesn't seem to have any effect 20090715 05:10:47< AI0867> I think you submitted an old version 20090715 05:11:05-!- ancestral [n=ancestra@12.145.225.25] has joined #wesnoth-dev 20090715 05:11:08< mordocai> Okay, one second. 20090715 05:11:11< AI0867> as you use name=ask_delete_saves and game_preferences uses ask_delete 20090715 05:11:41< mordocai> Oh, i bet i forgot to save after i changed it to ask_delete 20090715 05:11:44< mordocai> sorry... 20090715 05:12:11< mordocai> ^ is why it's a good thing you wait to give people commit privs 20090715 05:16:11< mordocai> Okay, updated the patch... 20090715 05:16:26< mordocai> I double-checked this time. If it doesn't work then i'll know i shouldn't be working on stuff this late... lol 20090715 05:20:10< AI0867> yeah, it works now 20090715 05:20:27< mordocai> Okay good. 20090715 05:20:57< mordocai> incidently... how do you apply patches to your system? Is there an automatic way or is it manual? 20090715 05:24:54< corn> you use the patch command 20090715 05:25:13< corn> patch < patchname.diff 20090715 05:25:20 * mordocai goes to look up this aptly named command. 20090715 05:25:44< corn> I am not doing it 100% right because it always prompts me for which file needs to be patched 20090715 05:26:45< CIA-51> ai0867 * r36910 /trunk/ (4 files in 3 dirs): Apply patch #1192, fixing bug #13626. (no option for save deletion confirmation) 20090715 05:26:48< CIA-51> ai0867 * r36911 /trunk/data/ (_main.cfg advanced_preferences.cfg): Move advanced_preferences to their own file. 20090715 05:27:34< CIA-51> cornmander * r36912 /website/stats.wesnoth.org/wesstats/templates/ (index.html pieview.html): Added basic CSS. 20090715 05:27:51< AI0867> wesbot: topic 20090715 05:27:53-!- wesbot changed the topic of #wesnoth-dev to: 1.7.2 planned for next Sunday (July 19th) | 65 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 20090715 05:31:47< CIA-51> cornmander * r36913 /website/stats.wesnoth.org/wesstats/templates/ (lineview.html pieview.html): Fixed legend background color, added forgotten template file to SVN 20090715 05:37:28-!- ancestral [n=ancestra@12.145.225.25] has quit [] 20090715 05:38:41-!- ancestral [n=ancestra@12.145.225.25] has joined #wesnoth-dev 20090715 05:39:10-!- isaac [n=isaac@debian/developer/isaac] has quit [Read error: 104 (Connection reset by peer)] 20090715 05:41:04-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090715 05:43:10-!- ancestral [n=ancestra@12.145.225.25] has quit [Client Quit] 20090715 05:43:24-!- isaac [n=isaac@debian/developer/isaac] has joined #wesnoth-dev 20090715 05:59:49-!- crimson_penguin [n=ben@wesnoth/developer/crimsonpenguin] has quit [] 20090715 06:21:21-!- ancestral [n=ancestra@97-116-127-39.mpls.qwest.net] has joined #wesnoth-dev 20090715 06:40:48-!- Aethaeryn [n=Michael@wesnoth/umc-dev/developer/aethaeryn] has quit ["quit"] 20090715 07:12:55-!- zookeeper [n=l@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20090715 07:14:35-!- mjs-de [n=mjs-de@vpw.wh.uni-dortmund.de] has quit [Read error: 110 (Connection timed out)] 20090715 07:17:07-!- mjs-de [n=mjs-de@vpw.wh.Uni-Dortmund.DE] has joined #wesnoth-dev 20090715 07:26:18-!- silene [n=plouf@ASte-Genev-Bois-152-1-38-3.w83-114.abo.wanadoo.fr] has joined #wesnoth-dev 20090715 07:39:47-!- Appleman1234 [n=Appleman@c122-104-135-239.kelvn2.qld.optusnet.com.au] has joined #wesnoth-dev 20090715 08:22:56-!- stikonas [n=and@ctv-79-132-177-212.vinita.lt] has joined #wesnoth-dev 20090715 08:25:35-!- stikonas_ [n=and@79.132.177.212] has joined #wesnoth-dev 20090715 08:29:30-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has joined #wesnoth-dev 20090715 08:32:46-!- stikonas__ [n=and@ctv-79-132-177-212.vinita.lt] has joined #wesnoth-dev 20090715 08:41:51-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Read error: 110 (Connection timed out)] 20090715 08:42:42-!- stikonas__ is now known as stikonas 20090715 08:47:47-!- stikonas_ [n=and@79.132.177.212] has quit [Read error: 110 (Connection timed out)] 20090715 08:55:12-!- Doppp|EeePC [n=aasdasd@c-67-171-96-240.hsd1.pa.comcast.net] has quit ["Leaving."] 20090715 09:07:40-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090715 09:15:08-!- 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"] 20090715 09:24:44-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090715 09:27:05-!- Dragonking [n=dk@wesnoth/developer/dragonking] has quit [Remote closed the connection] 20090715 09:34:56-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090715 09:40:28-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090715 09:49:02-!- YogiHH [i=d4ca9d15@wesnoth/developer/yogihh] has joined #wesnoth-dev 20090715 10:06:21-!- ilor [n=user@wesnoth/developer/ilor] has quit [] 20090715 10:07:48-!- melinath [n=melinath@stud243040.studentenheim.uni-tuebingen.de] has joined #wesnoth-dev 20090715 10:18:06-!- MJ999 [n=msflower@80.154.28.81] has quit [Read error: 104 (Connection reset by peer)] 20090715 10:19:54-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090715 10:39:51-!- ancestral [n=ancestra@97-116-127-39.mpls.qwest.net] has quit ["And that’s the end of THAT chapter."] 20090715 10:42:29-!- ilor [n=user@wesnoth/developer/ilor] has joined #wesnoth-dev 20090715 11:01:42< Ivanovic> moin 20090715 11:02:07< YogiHH> hi Ivanovic 20090715 11:27:17-!- loonybot [n=loonybot@79.139.138.33] has joined #wesnoth-dev 20090715 11:27:59-!- loonycyborg [n=sergey@79.139.138.33] has joined #wesnoth-dev 20090715 11:33:47< Ivanovic> zookeeper: https://gna.org/bugs/index.php?13956 20090715 11:36:13-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090715 11:36:17< Crab_> hi 20090715 11:41:28< Ivanovic> hi Crab_ 20090715 11:43:43-!- Kenpachi [n=chatzill@CPE-139-168-193-105.sa.bigpond.net.au] has joined #wesnoth-dev 20090715 11:55:33-!- AnMaster [n=AnMaster@unaffiliated/anmaster] has joined #wesnoth-dev 20090715 12:27:17-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090715 12:27:23-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit [Remote closed the connection] 20090715 12:27:55-!- loonycyborg [n=sergey@79.139.138.33] has joined #wesnoth-dev 20090715 12:48:01-!- Blueblaze [n=nick@c-98-199-143-139.hsd1.tx.comcast.net] has quit [Remote closed the connection] 20090715 13:02:55-!- melinath [n=melinath@stud243040.studentenheim.uni-tuebingen.de] has quit [Read error: 60 (Operation timed out)] 20090715 14:11:01-!- Netsplit hubbard.freenode.net <-> irc.freenode.net quits: Crab_ 20090715 14:11:21-!- Netsplit over, joins: Crab_ 20090715 14:11:23-!- MJ999 [n=msflower@80.154.28.81] has joined #wesnoth-dev 20090715 14:12:46-!- Crab_ [i=crab@wesnoth/developer/crab] has left #wesnoth-dev [] 20090715 14:13:05-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090715 14:35:20< ilor> ai people: what is the purpose of ai::attack_result? 20090715 14:35:42< Crab_> ilor: it is a class which encapsulates a new-style ai action. 20090715 14:36:00< Crab_> it is used by the formula ai and composite ai to make an attack 20090715 14:36:17< Crab_> it does some checks and then, if all is ok, delegates to src/actions.cpp attack routines. 20090715 14:36:47< Crab_> it is not yet used by default ai (but this can be easily fixed, if wanted) 20090715 14:36:49< ilor> Crab_: not so much about the delegation, it calls recorder.add_attack() and attack() directly 20090715 14:38:21< ilor> Crab_: same deal in ai::readwrite_context_impl::attack_enemy 20090715 14:41:29< ilor> Crab_: my copypasta detector beeps a lot between these two places and the original (in mouse_handler::attack) 20090715 14:42:02< Crab_> 'mouse_handler::attack' is not original there 20090715 14:42:18< Crab_> ok, see: 20090715 14:42:28< Crab_> there is two functions used by ai to make an attack 20090715 14:42:33< Crab_> old-style and new-style 20090715 14:42:48< Crab_> old style will be removed at some point of the future. 20090715 14:43:35-!- xyz_test [n=testing_@95-42-210-64.btc-net.bg] has joined #wesnoth-dev 20090715 14:44:07< ilor> Crab_: what is the origin of these bits of code then (namely the bunch that follow the attack() call -- the advancement dialog etc) if not from mouse_handler? 20090715 14:44:20< Crab_> old-style attack routine is located at readwrite_context_impl::attack_enemy 20090715 14:45:34< Crab_> new-style is in attack_result::do_execute 20090715 14:45:54< xyz_test> who goes there ? 20090715 14:46:11< ilor> Crab_: not much difference between these two from my POV ;) 20090715 14:46:33< Crab_> ilor: new-style is copied from old-style, old-style is from somewhere I don't know. 20090715 14:47:04< ilor> old-style is from mouse_handler because that os the only other place that uses recorder.add_attack and attack() 20090715 14:47:15< Crab_> ilor: ok 20090715 14:56:13-!- YogiHH [i=d4ca9d15@wesnoth/developer/yogihh] has left #wesnoth-dev [] 20090715 15:12:25-!- BenUrban [n=benurban@unaffiliated/benurban] has quit ["Power failu"] 20090715 15:21:20-!- stikonas [n=and@wesnoth/translator/stikonas] has quit [Read error: 110 (Connection timed out)] 20090715 15:41:23-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["KVIrc 3.4.2 Shiny http://www.kvirc.net/"] 20090715 15:41:51-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] 20090715 15:55:05-!- Sirp [n=me@wesnoth/developer/dave] has quit [Read error: 113 (No route to host)] 20090715 15:56:54-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has joined #wesnoth-dev 20090715 15:58:39-!- crimson_penguin [n=ben@64.201.60.211] has joined #wesnoth-dev 20090715 16:07:15-!- Appleman1234 [n=Appleman@c122-104-135-239.kelvn2.qld.optusnet.com.au] has quit [Read error: 113 (No route to host)] 20090715 16:11:24-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090715 16:25:05-!- xyz_test [n=testing_@95-42-210-64.btc-net.bg] has quit [] 20090715 16:28:07-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090715 16:35:39-!- elias [n=allefant@allegro/developer/allefant] has joined #wesnoth-dev 20090715 16:43:29-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090715 17:14:13-!- Crab_ [i=crab@wesnoth/developer/crab] has quit [Read error: 60 (Operation timed out)] 20090715 17:28:25-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090715 17:38:31-!- Appleman1234 [n=Appleman@c122-104-135-239.kelvn2.qld.optusnet.com.au] has joined #wesnoth-dev 20090715 17:39:07-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090715 17:40:54-!- Kenpachi [n=chatzill@CPE-139-168-193-105.sa.bigpond.net.au] has quit [Read error: 110 (Connection timed out)] 20090715 17:42:33-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090715 17:45:19< CIA-51> thespaceinvader * r36914 /trunk/data/core/ (3 files in 3 dirs): Add and wire Kitty's Goblin Wolf Rider portrait. 20090715 17:48:39< CIA-51> thespaceinvader * r36915 /trunk/ (6 files in 5 dirs): Add and wire Kitty's Goblin Pillager portrait, update changelogs, portrait credits. 20090715 18:06:32-!- noy [n=Noy@wesnoth/developer/noy] has quit [] 20090715 18:07:33-!- Bob_The_Mighty [n=chatzill@cpc3-brig15-0-0-cust558.3-3.cable.virginmedia.com] has joined #wesnoth-dev 20090715 18:09:42-!- Blarumyrran [n=Blarumyr@81-20-159-197.levira.ee] has quit [] 20090715 18:23:01-!- Noyga [n=lame-z@wesnoth/developer/noyga] has joined #wesnoth-dev 20090715 18:25:26-!- Kenpachi [n=chatzill@CPE-139-168-193-105.sa.bigpond.net.au] has joined #wesnoth-dev 20090715 18:42:02-!- noy [n=Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090715 18:49:44-!- EdB [n=edb@239.12.95-79.rev.gaoland.net] has joined #wesnoth-dev 20090715 18:53:32-!- Sapient [n=patrickp@wesnoth/developer/sapient] has joined #wesnoth-dev 20090715 19:07:00-!- Blueblaze [n=irchon@166.205.4.141] has joined #wesnoth-dev 20090715 19:09:01-!- Blueblaze [n=irchon@166.205.4.141] has quit [Client Quit] 20090715 19:25:55-!- boucman [n=rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20090715 19:32:25< boucman> hey all 20090715 19:32:37< Crab_> hi boucman 20090715 19:33:02< boucman> Crab_: so, when can I expect a commit ? 20090715 19:33:38-!- Appleman1234 [n=Appleman@c122-104-135-239.kelvn2.qld.optusnet.com.au] has quit [Read error: 113 (No route to host)] 20090715 19:33:41-!- Sirp [n=me@wesnoth/developer/dave] has joined #wesnoth-dev 20090715 19:37:33< Crab_> boucman: hard to tell. I'm doing quite a big change in the way ai configs/parameters work atm (I hadn't anticipated it when I started that ai config part), and there's many pieces still left to do to make it all work. but, I've already sorted the basics of a 'new layout' out and so I hope to finish it in 1-2 more days. 20090715 19:38:07< boucman> ok 20090715 19:38:20< boucman> hopefully the last huge structural change ? 20090715 19:39:08< Crab_> boucman: no 20090715 19:39:56< Crab_> boucman: there's still planned changes with 'ai in hypothetical situations' and with formula ai layout. 20090715 19:40:14< boucman> what is "formula ai layout" ? 20090715 19:40:19< Crab_> boucman: but things are becoming simplier, in some places 20090715 19:40:26< boucman> :) 20090715 19:40:32< Crab_> boucman: 'the way formula ai code is structured' 20090715 19:40:39< boucman> ok 20090715 19:40:56< boucman> you won't touch the actual parser, will you, only the AI interface... won't you ? 20090715 19:41:37< Crab_> boucman: parser will need changes, too (to support numeric type). 20090715 19:41:45< boucman> hmm 20090715 19:41:46< boucman> ok 20090715 19:41:55< Crab_> boucman: but the main thing about fai, is, that, right at the moment, formula_ai is both an AI and 'formula executor'. this introduces a dependency loop into the design. 20090715 19:42:12< boucman> do you think you will keep your planning, or do you think there will need to have some rework there ? 20090715 19:46:59< Crab_> boucman: I'll mostly stick to the points in my planning. 20090715 19:47:31< boucman> ok 20090715 19:47:53< Crab_> boucman: except that I'll add some new things in, which look promising 20090715 19:48:08< boucman> i'm not sure if you'll hae time to work on the AI itself withing the GSoC timeframe, but a completed AI structure would be more usefull than a half-baked AI 20090715 19:48:16< boucman> (and you can always work on AI after GSoC 20090715 19:48:39< Crab_> boucman: yes. I already have some ideas which are placed in 'after-GSoC-todo-list' 20090715 19:48:47< boucman> :) 20090715 19:48:56-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has joined #wesnoth-dev 20090715 19:49:08< boucman> if these todo lists are in a readable state, I would be interested in reading them... 20090715 19:49:10< Crab_> boucman: for now, there's a thing that I've wanted to discuss 20090715 19:49:17< boucman> sure 20090715 19:49:54< Crab_> boucman: I changed the way-how-ai-parameters-work in a following way: 20090715 19:50:42< Crab_> 1) get rid of stuff not used (such as ai_memory, which is not used atm (dfool ai is not developed) ) 20090715 19:51:12< boucman> what was ai_memory ? 20090715 19:51:38< Crab_> a config object 20090715 19:52:25< Crab_> dfool_ai attached a 'memories' to ai and to individual units (to track seen units, etc) 20090715 19:52:34< boucman> ok 20090715 19:52:53< boucman> I think we have something like that of our own, don't we ? 20090715 19:53:10< Crab_> fai has set_var, set_unit_var 20090715 19:53:25< Crab_> so, I've removed it to clean things up a bit 20090715 19:54:09< boucman> ok, makes sense... 20090715 19:54:15< Crab_> 2) split ai parameters into two elements: a) part of individual ai config - part of (const config&) passed to ai constructor and used by it as it wants to - they have no special 'global' handling 20090715 19:54:22< boucman> we'll have to ask df if we can drop the ai completely 20090715 19:55:19< Crab_> b) a thing I call 'ai::aspect' - aspect is a *named* parameter of *arbitrary* type with defined *invalidation* rules and defined *recalculation* method. 20090715 19:55:52< boucman> ok 20090715 19:56:00< boucman> and gamestat would be such an aspect, I guess 20090715 19:56:02< Crab_> example: "aggression" as a parameter of type double, invalidated on start of turn and recalculated by taking 2 during a day and 1 during a night. 20090715 19:56:15< boucman> oh 20090715 19:56:31< boucman> so something that is meant to be changed by scenarios and used by AI 20090715 19:56:34< Crab_> example: "aggression" as a parameter of type double, invalidated on any gamestate change and recalculated by executing some fai code. 20090715 19:56:42< Crab_> yes 20090715 19:56:54< boucman> ok 20090715 19:57:06< boucman> edited mainly by WML events, then (I guess) 20090715 19:58:21< Crab_> boucman: as we want to. 20090715 19:58:26< boucman> ok 20090715 19:58:35< Crab_> boucman: it will be fully exposed to fai, for example 20090715 19:58:40< boucman> I understand the philosophical difference between a) and b) 20090715 19:59:31< Crab_> boucman: so, the question is about the implementation details of a said aspect 20090715 20:00:07< boucman> ok 20090715 20:00:43< Crab_> (wait a bit I'll pastebin) 20090715 20:01:41< Crab_> http://wesnoth.pastebin.com/m5a62b6bd 20090715 20:02:48< Crab_> boucman: so, for now, I'm thinking about using a variant() for storage, and doing some hacks to represent data structures which are not available in variant atm 20090715 20:03:18-!- Bob_The_Mighty [n=chatzill@cpc3-brig15-0-0-cust558.3-3.cable.virginmedia.com] has quit ["ChatZilla 0.9.85 [Firefox 3.0.11/2009060215]"] 20090715 20:03:18< boucman> was afk, starting to read now :) 20090715 20:04:24< boucman> hmm 20090715 20:04:50< boucman> variants have a couple of drawbacks that need to be considered, though they might still be our best way 20090715 20:05:06< boucman> first : there is no type enforcement. (let me explain) 20090715 20:05:28< boucman> those aspects are structures that will be filled by external users and read by all AI 20090715 20:06:01< Crab_> yes, that aspect's value_ can be computed both by 'fai' and 'c++' (I'll implement cpp_aspect and fai_aspect derived classes for this purpose), and it should be accessed both by fai and c++ code 20090715 20:06:14< boucman> so it's important that the content is clearly defined, and that (if possible) the engine can make sure the content is valid, so the AI don't have to check the validity themselves 20090715 20:07:26< Crab_> boucman: well, only the caller can know what it wants to get. I'll provide specific typesafe accessors for well-known aspects. 20090715 20:07:39< boucman> see, I see these aspects as part of the "AI external API" i.e manipulated not only by AI writers but also by map makers 20090715 20:07:41< Crab_> http://wesnoth.pastebin.com/m70e3eac8 20090715 20:08:29< Crab_> boucman: yes, I intend them to be changeable by something like 'WML tag [modify_ai]' 20090715 20:08:58< boucman> Crab_: do you consider that all aspects should be "simple types" i.e no structures 20090715 20:09:09< boucman> or could an aspect be a "array of interesting locations" 20090715 20:09:30< Crab_> boucman: I already have std::vector and std::set to consider 20090715 20:09:40< Crab_> std::vector - recruitment pattern 20090715 20:09:49< Crab_> std::set - avoided locations 20090715 20:10:04< Crab_> and std::vector targets, as well. 20090715 20:10:19< boucman> Crab_: ok, my main issue is to correctly detect if someone gives you a variant that is not what you expect 20090715 20:10:43< boucman> if it returns a string and you call as_int you'll get an exception, so we are safe 20090715 20:10:57< boucman> but for complicated structures, we loose that safety... 20090715 20:11:25< Crab_> boucman: why ? 20090715 20:11:58< boucman> Crab_: unless I missed something in your API there is no "deep type" check, but it might be implicite in recalculate 20090715 20:12:48< Sapient> Crab_: how difficult would it be to make avoided locations into a standard location filter? 20090715 20:13:04< Sapient> SLF is much more powerful than a list of x,y coords 20090715 20:13:58< Sapient> likewise, target could be specified using SUF 20090715 20:14:21< Sapient> I'm not sure how much overhead/complexity that would add 20090715 20:14:35< Crab_> Sapient: there will be a class which will handle construction of that 'avoided locations' aspect from config object. That class can be made to use those filters. 20090715 20:15:04< boucman> Sapient: that would not be the right "code layer" for that, but yes, from a WML point of view, it's needed 20090715 20:15:23< Sapient> Crab_: SLF is more dynamic than that... it can varied based on time of day, troop movements, etc 20090715 20:15:50< boucman> Sapient: thus, a filter needs to be invalidated and rebuilt properly, but that's something included in the design 20090715 20:16:27< Crab_> Sapient: the base aspect class has an 'invalidation policy', which can say, for example, " invalidate if gamestate changes, and recalculate on next access" 20090715 20:16:31< boucman> Crab_: do you think that adding new types of aspect should be something doable by AI designers ? map makers ? or reserved to the AI infrastructure writer ? 20090715 20:17:00< boucman> I personally would go for infra only, since it's a communication mean between AI and user, it has to be unique and non-evolutive 20090715 20:17:57< Crab_> boucman: I think that AI infrastructure writer should do a good implementation of ai::composite_ai::engine which will allow scenario writers to use wml/lua/fai/whatever to specify their needs. 20090715 20:18:50< boucman> Crab_: that was not my question 20090715 20:19:01< boucman> my question is more "policy" than code design 20090715 20:19:12< boucman> who should have authority to add a new aspect... 20090715 20:19:40< boucman> an aspect that is unused by AI is useless, and an aspect that is used only by a single AI barely more usefull 20090715 20:20:08< Crab_> boucman: ok, I misunderstood the word 'type' ) 20090715 20:20:23< boucman> :) 20090715 20:20:45< Crab_> boucman: I thought that you were talking about 'adding a new implementation of an existing well-known aspect' 20090715 20:21:10< Sapient> Crab_: SLF for avoided locations is hardly a hypothetical desire... it's a pretty basic idea 20090715 20:21:11< boucman> ok 20090715 20:21:14< Crab_> boucman: then, I think that we must keep the number of well-known aspects to a minimum 20090715 20:21:22< boucman> ok, so we agree 20090715 20:22:02< boucman> Sapient: again, here we are at a code level where SLF are irrelevant, we store the result of the SLF, and conditions to recalculate it... 20090715 20:22:20< boucman> so we will use SLF for avoidance, it's just... not the right code layer to implement it 20090715 20:22:37< Crab_> Sapient: ok, I'll note this. but this in 'to be done later' group, since we need to have basic infrastructure in place before. 20090715 20:23:11< Sapient> you think the WML author should specify a list of all situations where their filter could become invalidated? I think that's too much of a burden on the WML author. and impossible in the case of general macros 20090715 20:24:10< Sapient> if it creates a performance bottleneck, though, I'd consider that a valid reason to reject the idea 20090715 20:24:16< Crab_> Sapient: 'after each move/attack/recruit','at turn start', 'at time of day change', 'at terrain change' - the list isn't that big 20090715 20:25:09< Crab_> Sapient: for example, in current implementation, avoided_locations is invalidated on turn start. 20090715 20:25:19< Crab_> boucman: for example, what's the difference between aggression and caution :) ? 20090715 20:25:29< boucman> no idea :P 20090715 20:25:39< boucman> probably could get merged, I guess 20090715 20:26:01< Crab_> boucman: yes (later, with regression tests) 20090715 20:26:13< boucman> hehe 20090715 20:26:21< Crab_> an aspect should have a well-defined meaning to be effective 20090715 20:26:33< Crab_> otherwise, it's hard for scenario creator to use it 20090715 20:27:05< Crab_> to prevent "help! I'm setting a side 'caution', but it has no visible effect!" 20090715 20:27:22< Sapient> boucman: "at a code level where SLF are irrelevant" -- at the code level it is already a general use object (class terrain_filter) 20090715 20:27:57< Sapient> maybe I didn't understand your point 20090715 20:28:03< boucman> Sapient: what I meant is that resolving the SLF is part of " virtual void recalculate() = 0;" 20090715 20:28:23< boucman> the pastebin from Crab_ is only the API of the object, and at the API level, no SLF should appear 20090715 20:29:17< Crab_> boucman: let's return to 'variant or something else, and type safety' 20090715 20:29:44< boucman> sure 20090715 20:29:47< Sapient> crab / boucman: if you only intend to test a few individual locations, then it is faster to retain the terrain_filter object and reuse it rather than calling get_locations() to calculate all of them 20090715 20:30:24< Sapient> it has separate methods for testing single locations versus testing all locations, and cahces the result 20090715 20:30:32< boucman> Sapient: thing is : we pass it along to FAI or other code which might not know about SLF, so we need to do the translation ourselves 20090715 20:30:48-!- thespaceinvader_ [n=chatzill@cpc3-whit1-0-0-cust305.cdif.cable.ntl.com] has joined #wesnoth-dev 20090715 20:31:12-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit [Nick collision from services.] 20090715 20:31:30-!- thespaceinvader_ is now known as thespaceinvader 20090715 20:31:53< Sapient> code separation is not a good enough reason for inefficiency, if it exists 20090715 20:32:21< Sapient> I'm not sure how it would be used 20090715 20:33:03< Sapient> anyways, this is a low priority considering Crab's overall goals; I just want people to always consider terrain filters instead of location lists 20090715 20:33:15< Sapient> since they are more powerful to the WML author 20090715 20:33:15< boucman> ok 20090715 20:33:28< boucman> Crab_: so, type safety... 20090715 20:33:45< boucman> one way would be to always check in recalculate() 20090715 20:33:50< Crab_> boucman: two notes: 20090715 20:33:50< Crab_> 1) we don't know which type we want. 20090715 20:33:50< Crab_> 1) as recalculate() may be done by evaluating fai formula, we have no control over the type of result we get. 20090715 20:34:00< Crab_> s/1) as/2) as 20090715 20:34:06< corn> ilor: would it be a good idea to modify the editor gamecontroller to suit my needs for the snapshot code 20090715 20:34:21< noy> anybody know of an U.S. based accountant who might be able to give us some quick advice? 20090715 20:34:38< boucman> Crab_: 1) not true, since we said aspects are a "fixed API" we know that agression is a double, and avoidance loc a list of locations 20090715 20:34:41-!- thespaceinvader_ [n=chatzill@cpc3-whit1-0-0-cust305.cdif.cable.ntl.com] has joined #wesnoth-dev 20090715 20:35:10 * Sapient reminds himself that class terrain_filter needs a method to invalidate the cache 20090715 20:35:11< boucman> 2) recalculate() could be done with some formulas+type checking+error message+default value 20090715 20:35:18< corn> s/snapshot/screenshot/ 20090715 20:35:34< ilor> corn: sounds like a plan, iirc the map screenshot hotkey works there already 20090715 20:35:56< boucman> WML returning an invalid content is still a bug and can be dealt with accordingly, but it's a WML bug, so we should report it properly and deal with it sanely 20090715 20:36:04< Crab_> boucman: note that in current implementation we cannot prevent someone from adding a new aspect with non-well-known name. 20090715 20:36:13< boucman> (i'll be semi-afk for the next 10' cooking time) 20090715 20:36:25-!- thespaceinvader [n=chatzill@cpc3-whit1-0-0-cust305.cdif.cable.ntl.com] has quit [Nick collision from services.] 20090715 20:36:36-!- thespaceinvader_ is now known as thespaceinvader 20090715 20:39:37< Crab_> boucman: maybe, just 'extract' well-known aspects ( http://wesnoth.pastebin.com/m61babe7c ) 20090715 20:39:38< Crab_> ? 20090715 20:40:52< corn> ilor: ok, I did a quick hack and now I get a segfault, here is the backtrace and code: http://pastebin.ca/1496075 20090715 20:41:23-!- thespaceinvader_ [n=chatzill@cpc3-whit1-0-0-cust305.cdif.cable.ntl.com] has joined #wesnoth-dev 20090715 20:41:57< corn> let me recheck what kind of surface gets created with nogui... 20090715 20:41:57-!- thespaceinvader [n=chatzill@wesnoth/artist/thespaceinvader] has quit [Nick collision from services.] 20090715 20:42:11< boucman> looking... 20090715 20:42:16-!- thespaceinvader_ is now known as thespaceinvader 20090715 20:42:42< boucman> this could work... 20090715 20:43:09< Crab_> boucman: also note that c++ side will have no problems with untyped aspects 20090715 20:43:38< corn> 16x16 surface, hm 20090715 20:44:57< Crab_> boucman: see http://wesnoth.pastebin.com/m70e3eac8 again - if c++ code calls get_aspect("aggression"), then it will be smart enough to call ->as_double(), and get double from aspect. 20090715 20:44:57< boucman> Crab_: I tend to do more things in code than you do, but you're right that's the c++ way of doing things 20090715 20:45:42< Crab_> the fai side can have problems with untyped aspects, though. 20090715 20:46:25< Crab_> imagine fai evaluating "aspects.aggression" 20090715 20:47:03< Crab_> as it doesn't know what the result should be, it will get it via get_value() and get a variant 20090715 20:47:59< Crab_> thus, no type-checking will be possible to do in 'untyped' aspect 20090715 20:48:13< Crab_> since both fai and 'untyped' aspect do not know what type should be in the result 20090715 20:48:36< Crab_> we can, though, hardcode the 'right' type for well-known aspects 20090715 20:48:36< boucman> unless you code the type checking when saving value_ in recalculate() 20090715 20:49:03< Crab_> boucman: this will need hardcoding the names of well-known aspects there 20090715 20:49:12< boucman> yes 20090715 20:49:16< boucman> is that a problem ? 20090715 20:49:18< Crab_> "if me is named aggression, then I should be of type double" 20090715 20:49:32< Crab_> no, not a problem 20090715 20:49:40< Crab_> just searching for the good enough solution 20090715 20:49:53< boucman> since aspects arn't meant to be "dynamically invented"... 20090715 20:50:08< Crab_> well, they *can* be dynamically invented :) 20090715 20:50:32< Crab_> but, it should only concern the inventer ): 20090715 20:50:37< Crab_> same as with formula ai formulas 20090715 20:50:56< boucman> i think it would be wiser to prevent that, so we can detect incorrect aspects 20090715 20:52:10< Crab_> boucman: then another solution is to add an optional attribute to an aspect definition, "type=", e.g. "type=double" 20090715 20:52:24< ilor> corn: not sure, busy with other stuff atm ;/ 20090715 20:52:25< Crab_> boucman: but, it doesn't add much protection 20090715 20:52:36< corn> ilor: ok, not a problem 20090715 20:53:12< Crab_> boucman: we can make sure that c++ side gets the right type. 20090715 20:53:40< boucman> Crab_: returning a variant is fine by me... 20090715 20:53:58< Crab_> boucman: but, fai side is dynamic by nature. we can say 'oops! error in formula' when something is not evaluated correctly, but we cannot prevent a person from writing formula with errors in the first place... 20090715 20:54:04< boucman> i'm more concerned by checking the WML input then the compilation safety 20090715 20:54:48< boucman> Crab_: true, but in that case, we should provide a sane default, and print an error message 20090715 20:54:52< boucman> it is a bug after all 20090715 20:55:13< boucman> but to provide an error message, we have to detect the error which is what I was worried about 20090715 20:55:17-!- silene [n=plouf@wesnoth/developer/silene] has joined #wesnoth-dev 20090715 20:55:24< silene> hi 20090715 20:55:35< Crab_> boucman: if you think it will be a good thing to make a way for scenario editors to 'double-check' themselves, then an 'optional attribute to an aspect definition, "type=", e.g. "type=double"' is a way to go. with default types on well-known aspects. 20090715 20:55:44< Ivanovic> silene: left you a message in yesterdays log 20090715 20:56:01< Ivanovic> something with translations and cache after lang selection not updated for the hotkeys menu 20090715 20:56:07< Ivanovic> s/updated/invalidated 20090715 20:56:41< boucman> Crab_: the only thing I want is to avoid that the AI check their input when receiving an aspect 20090715 20:56:55< boucman> i.e the aspect should be checked to be valid by the engine 20090715 20:57:10-!- noy [n=Noy@wesnoth/developer/noy] has quit [Connection timed out] 20090715 20:57:21< boucman> what we do when it's invalid is not such a big deal, WML authors are programers, they can deal with error messages 20090715 21:01:02-!- ardesh_ [n=ardesh@port-92-206-188-157.dynamic.qsc.de] has quit ["Quis custodiet ipsos custodes"] 20090715 21:01:21< Crab_> boucman: it's easily double for well-known aspects, but is hard to do for unknown aspects. 20090715 21:01:51< boucman> Crab_: I though we agreed there would not be "unknown aspects" :P 20090715 21:03:17< Crab_> boucman: I do not want to prevent fai writers from inventing one up if they want to use it from their own fai code... 20090715 21:03:27< boucman> I do :P 20090715 21:03:40< boucman> I think we should actively prevent unknown aspects 20090715 21:03:55< Crab_> boucman: why 'actively prevent' ? 20090715 21:04:08< boucman> aspects only make sense when AI writer and mapmaker are different persons 20090715 21:04:26< boucman> in which case enforcing a strong API is the only way to make it usefull 20090715 21:04:49-!- Elvish_Pillage2 [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has joined #wesnoth-dev 20090715 21:04:57< Crab_> I agree with 'in which case enforcing a strong API is the only way to make it useful' 20090715 21:05:04< Crab_> but why 'aspects only make sense when AI writer and mapmaker are different persons' ? 20090715 21:06:15< Crab_> note that there is a good use case for custom aspects. 20090715 21:06:38< boucman> if you have both the aI and map, there are much easier way to make the talk (specific wml events/variables) 20090715 21:06:57< boucman> the AI has to be FAI in that case (since you don't want a specific binary) 20090715 21:07:52< Crab_> use case: if, say, we add a table to statistics dialog, which will hold two columns "name, value" 20090715 21:08:07< Crab_> then, we can expose an aspect's value in this table 20090715 21:08:22< Crab_> this will allow to track custom statistics in a statistics dialog 20090715 21:08:28-!- noy [n=noy@wesnoth/developer/noy] has joined #wesnoth-dev 20090715 21:09:25< boucman> Crab_: custom statistics are a good idea, but not something that is worth hardcoding through AI 20090715 21:12:15< Crab_> boucman: also note that an aspect-like thing is also useful even inside specific ais, for managing of various caches 20090715 21:12:33< Crab_> it will not be 'global' in this case 20090715 21:12:52< boucman> ok 20090715 21:13:06< boucman> that's a much better argument :) 20090715 21:14:41< boucman> but it's AI internal, so we have much less to worry about sanity, my worry is because we have two programmers communicating through aspects, thus the need for strong enforcement 20090715 21:14:44< Crab_> aspect has the following advantages over a simple cache: 1) ability to calculate the value of an aspect both via c++ and fai 2) ability to easily specify invalidation policy - less code lines to invalidate it 3) to_config serialization already implemented. 20090715 21:15:05< Crab_> so, maybe say 'no unknown global aspects' ? 20090715 21:15:49< boucman> no unknown aspects between mapmakers and AI makers (probably same thing you just said, but I'm not sure what you mean by global aspects) 20090715 21:16:47< Crab_> ok 20090715 21:17:39< Crab_> boucman: ok, I'll get back to coding. feel free to ask if you have any questions 20090715 21:17:49< boucman> I will ;) 20090715 21:21:14-!- Elvish_Pillager [n=eli@71-10-231-36.dhcp.oxfr.ma.charter.com] has quit [Read error: 110 (Connection timed out)] 20090715 21:27:13< Crab_> boucman: what is better ? http://wesnoth.pastebin.com/m55d3fb7f 20090715 21:27:41< boucman> tough call :) 20090715 21:28:54< boucman> Crab_: probably the first one, since that code snippet will be very common in events, it's the syntax that makes most senst 20090715 21:28:56< boucman> sense 20090715 21:29:19< boucman> though the word "aspect" might not be clear enough "ai_aspect" is more descriptive in a non-ai context 20090715 21:29:51< Crab_> in events, it will be inside something like [modify_ai] 20090715 21:30:50< boucman> ok 20090715 21:31:03< boucman> in that case, I don't really mind 20090715 21:31:53< Crab_> and it will be, most likely, via a macro to make it shorter 20090715 21:38:58-!- dapounet [n=user@cust-38-148-111-94.dyn.versateladsl.be] has joined #wesnoth-dev 20090715 21:39:19-!- dapounet [n=user@cust-38-148-111-94.dyn.versateladsl.be] has left #wesnoth-dev ["ERC Version 5.3 (IRC client for Emacs)"] 20090715 21:42:03-!- mordocai [n=mordocai@66.119.9.243] has quit ["Leaving"] 20090715 21:42:11-!- noy [n=noy@wesnoth/developer/noy] has quit ["Get Colloquy for iPhone! http://mobile.colloquy.info"] 20090715 21:45:58-!- mordocai [n=mordocai@66.119.9.243] has joined #wesnoth-dev 20090715 21:56:37-!- Sapient [n=patrickp@wesnoth/developer/sapient] has left #wesnoth-dev [] 20090715 22:02:57-!- giusef [n=giusef@unaffiliated/giusef] has joined #wesnoth-dev 20090715 22:06:06-!- GhostOfBanquo [n=IceChat7@dsl-247-67-139.telkomadsl.co.za] has joined #wesnoth-dev 20090715 22:10:17< Crab_> boucman: is said wrapper worth doing ? http://wesnoth.pastebin.com/m420fd05b 20090715 22:11:11< boucman> Crab_: not sure, but it shouldn't be ery hard to add afterward, so we might as well wait 20090715 22:11:23< Crab_> (sadly, I cannot template aspect_ptr directly due to a way I construct them and c++ language limitations) 20090715 22:11:47< Crab_> (it would require a template virtual member function) 20090715 22:11:59< Crab_> ok 20090715 22:13:33< ilor> anyone familiar with how are the traits generated in recruited units with regard to random nubmers, checkusms and OOS? 20090715 22:17:51< CIA-51> silene * r36916 /trunk/src/ (6 files): Fixed hotkey dialog not being refreshed on language change. (In fact, definitely fixed all the issues related to language changes by removing the code responsible for resetting translations.) 20090715 22:17:54< silene> Ivanovic: ^ 20090715 22:18:17< Ivanovic> cool 20090715 22:18:47-!- lizard_r [n=Miranda@wesnoth/umc-dev/developer/lizard] has joined #wesnoth-dev 20090715 22:18:51< ilor> silene: been working on the RNG, got something that actually seems to work for combats, but broke recruitment aling the way ;/ 20090715 22:19:20-!- Crab_ [i=crab@wesnoth/developer/crab] has left #wesnoth-dev [] 20090715 22:19:37< ilor> silene: I haven't modified recruit code in any way yet so it's a side effect of required rng changes 20090715 22:19:49-!- Crab_ [i=crab@wesnoth/developer/crab] has joined #wesnoth-dev 20090715 22:25:05< corn> Sirp: did you write the --nogui related stuff? I am trying to add a new commandline param to the game to take screenshots without opening a window, but I get a segfault from within an SDL function when I use the framebuffer generated by CVideo::make_fake() 20090715 22:25:10< silene> ilor: you could try commenting out the unit::generate_traits function to test your current code 20090715 22:25:45< ilor> silene: I ignored the OOS for now and it seemed to work for as long as the traits didn't cause a difference 20090715 22:28:23< ilor> silene: do you know how recruited unit traits are synchronized across the network? 20090715 22:28:45< corn> Sirp: bt at http://pastebin.ca/1496187 20090715 22:29:01< silene> ilor: afaik, simply by sending the whole unit across the network 20090715 22:29:32< ilor> silene: must be more complex since it's smart enough to actually detect the oos 20090715 22:29:54< ilor> silene: units end up with different traits on different ends 20090715 22:29:54< silene> indeed 20090715 22:30:15< silene> so i must be remembering incorrectly 20090715 22:31:57< corn> Sirp: I slightly rewrote make_fake() to give a 32-bit 1028x768 surface, the call to SDL_CreateRGBSurface now has SDL_SWSURFACE,1024,768,32,0,0,0,0 as the params 20090715 22:32:14< ilor> silene: I must have changed something in random.?pp in a way that breaks stuff... and of course random.hpp is another one of the "rebuild everything" headers --; 20090715 22:33:04-!- Bob_The_Mighty [n=chatzill@cpc3-brig15-0-0-cust558.3-3.cable.virginmedia.com] has joined #wesnoth-dev 20090715 22:34:38-!- EdB [n=edb@239.12.95-79.rev.gaoland.net] has quit [Remote closed the connection] 20090715 22:35:24< silene> ilor: seems like the recruit code is working exactly the same way the (old) attack code is; that is, it replays a recruit order containing the recruit index, the rng, and the checksum 20090715 22:42:08< ilor> silene: I'll try checking if it breaks with only the RNG changes and nothing else, will take me a while though 20090715 22:43:16< corn> anyone here familiar with the low-level drawing code? 20090715 22:43:30< corn> I am getting a segfault in SDL and I am having trouble debugging it 20090715 22:46:19-!- busfahrer [n=busfahre@unixboard/user/busfahrer] has quit ["leaving"] 20090715 22:47:03< silene> corn: i would guess that you are getting segfault, because no window was opened, so the wesnoth engine doesn't know the pixel format of the system, and therefore it is creating broken pixmaps 20090715 22:48:12< corn> silene: a surface is being created called frameBuffer and image::set_pixel_format uses that format 20090715 22:48:42< corn> http://pastebin.ca/1496212 20090715 22:52:38-!- grzywacz [n=grzywacz@wesnoth/developer/grzywacz] has joined #wesnoth-dev 20090715 22:58:02< CIA-51> noyga * r36917 /branches/1.6/ (7 files in 6 dirs): French translation update 20090715 22:58:30< corn> oh 20090715 22:58:32< corn> this is weird 20090715 22:58:39-!- fendrin [n=fabi@e179179166.adsl.alicedsl.de] has joined #wesnoth-dev 20090715 22:58:55< corn> for some reason the address of frameBuffer->format changes on the call that produces the segfault 20090715 22:59:04< corn> it is called hundreds or thousands of times with the same address and then it changes 20090715 22:59:35-!- Espreon [n=espreon@wesnoth/developer/espreon] has joined #wesnoth-dev 20090715 23:00:33-!- loonybot [n=loonybot@79.139.138.33] has joined #wesnoth-dev 20090715 23:01:07-!- loonycyborg [n=sergey@79.139.138.33] has joined #wesnoth-dev 20090715 23:04:37< corn> playing with engine internals always has unexpected consequences... 20090715 23:09:47-!- elias [n=allefant@allegro/developer/allefant] has quit ["Leaving"] 20090715 23:12:09< corn> oh 20090715 23:12:21< corn> you have to call SDL_SetVideoMode before creating any empty surfaces 20090715 23:12:24< ilor> argh, dumb typo 20090715 23:13:07< ilor> I'm checking in the RNG whether the stored radnom numbers are the same as the ones generated locally, and it doesn't match because it's not synced properly when recruiting 20090715 23:13:46< ilor> I wrote in the debug message that I'm returning the stored number, but actually the function returned the local one 20090715 23:15:00< corn> Sirp: maybe my approach is wrong... I need a way to generate map screenshots server-side (from the commandline) and I was hoping just to hack the functionality into an existing gamecontroller. SDL documentation however says that you shouldn't create surfaces using SDL_CreateRGBSurface() until you have initialized a screen window however... 20090715 23:15:03-!- 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"] 20090715 23:15:49< corn> so trying to create a framebuffer that isn't a window doesn't work correctly 20090715 23:17:34< boucman> night all 20090715 23:17:39< corn> cya 20090715 23:17:39-!- boucman [n=rosen@wesnoth/developer/boucman] has quit ["Leaving."] 20090715 23:19:30< corn> I'll look at the wercator src code now to see how the author did it there now 20090715 23:25:04< grzywacz> corn, how about exporting SDL_VIDEODRIVER=dummy first? 20090715 23:25:45< corn> grzywacz: I didn't know that existed, thanks 20090715 23:25:48< corn> I'll check it out now 20090715 23:26:35< ilor> silene: fixed the recruit oos, will clean up code a bit now and would be really grateful for a review later ;) 20090715 23:27:09< Crab_> corn: and there's also Xvfb 20090715 23:27:41< silene> ilor: just wondering, how do you handle checksum? 20090715 23:28:09< ilor> silene: I don't yet, recruit is not using the server rng yet 20090715 23:28:31< ilor> I just fixed the bug that caused it to OOS all the time ;) 20090715 23:29:14< silene> ilor: but what about attack? they also have a way to check for oos 20090715 23:30:15< ilor> silene: well... haven't touched that either. Also when I had things badly broken for a while, the clients did not detect varyng amounts of hits/missess as OOS 20090715 23:30:50-!- GhostOfBanquo [n=IceChat7@dsl-247-67-139.telkomadsl.co.za] has quit ["Life without danger is a waste of oxygen"] 20090715 23:32:05< CIA-51> fendrin * r36918 /branches/1.6/data/campaigns/Legend_of_Wesmere/scenarios/ (10 files): LoW: Changed wrong campaign objectives: Defeat all enemies --> Defeat all enemy leaders 20090715 23:32:11< silene> ilor: i'm wondering if it wouldn't be better to get rid of the current system, and to replace it with a generic checksum system; for instance, it could be a dedicated network/replay message that would contain a list of pairs (position, checksum of the unit at this position) 20090715 23:32:44< silene> these checksum messages would then be sent from time to time, for instance after an attack or after a recruit 20090715 23:33:00< ilor> silene: sounds like a good idea but I don't think it's feasible during gsoc now 20090715 23:33:37< ilor> silene: would definitely be an upgrade from the current system which only detects OOs when one cleint receives conflicting information like a uniot moving into another 20090715 23:33:51< ilor> and in some special circumstamces like recruiting ;) 20090715 23:34:02< silene> ilor: i don't think it is much more complicated than what you just did, and anyway you will have to do for recruit (unless you completely disable oos detection) 20090715 23:35:02< ilor> also I need to rething whether to move some code around... at the moment the attacking client records the attack in it's own replay recorder and then sends it as normal to the server, server fills in random seed and forwards to other clients and sends a special message to the attacking client with that seed 20090715 23:35:41< ilor> teh attacking client then updates the seed in the recorder and reenables ui processing 20090715 23:35:53< ilor> (after processing the attack obviously) 20090715 23:37:37< silene> i don't see any reason for having this special message; the same message should be just fine for every client; and similarly, there is no reason to record in advance, it can just wait for the server message 20090715 23:39:29< ilor> silene: oh, I also need to make AI attacks work as well 20090715 23:43:06< silene> indeed, and it may prove interesting; i guess you will not only lock the ui but also the ai 20090715 23:44:00< CIA-51> noyga * r36919 /trunk/ (8 files in 7 dirs): French translation update 20090715 23:44:01-!- zookeeper [n=l@wesnoth/developer/zookeeper] has quit [] 20090715 23:44:30< Noyga> n8 20090715 23:44:32-!- Noyga [n=lame-z@wesnoth/developer/noyga] has quit ["Quitte"] 20090715 23:44:57-!- silene [n=plouf@wesnoth/developer/silene] has quit ["Leaving."] 20090715 23:47:07< ilor> silene: interesting is one way of putting it ;) 20090715 23:49:06< Crab_> ilor: something like " while (!rng_is_ready()) { manager::raise_user_interact(); } " ? 20090715 23:49:30< ilor> Crab_: oh, no, much more "interesting" 20090715 23:49:56< Crab_> why ? 20090715 23:50:15< ilor> you can't just wait for the random seed to arrive 20090715 23:50:39< Crab_> why ? 20090715 23:50:56< ilor> the attack needs to be sent to the server immediately 20090715 23:52:02< Crab_> yes, then it's trickier 20090715 23:52:04< ilor> Crab_: and note you have zero guarantee that the next message to come over the network is going to be the random seed and not a [message] 20090715 23:52:42< ilor> Crab_: do you know when does the AI send it's moves over the wire? 20090715 23:52:58< Crab_> ilor: see playmp_controller::handle_generic_event 20090715 23:54:06-!- Espreon [n=espreon@wesnoth/developer/espreon] has quit ["WRYYYYYYYYYYYYYYYYYYYY!"] 20090715 23:54:19< Crab_> ilor: it observes event raised by ai::manager when something calls raise_enemy_attacked() 20090715 23:54:59-!- Aethaeryn [n=Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #Wesnoth-dev 20090715 23:55:08< Crab_> ilor: note that 'raise enemy attacked' must be fired *after* the attack resolves. 20090715 23:55:24< Aethaeryn> http://www.wesnoth.org/forum/viewtopic.php?f=32&t=26277 20090715 23:55:34< Crab_> ilor: so, it seems you need to add a new event to transmit the attack to server 20090715 23:55:35< ilor> Crab_: why? 20090715 23:55:43< Aethaeryn> Perhaps this thread is a good opportunity to clarify the position on religion? I was confused by the recent threads on NRIW myself. 20090715 23:55:53< ilor> Crab_: why it needs to de fied after, not why I need to add a new event ;) 20090715 23:56:25< Crab_> ilor: imagine a cache that must be recalculated after the game situation changes. if we try to recalculate it before the attack is resolved, the cache will contain stale data. 20090715 23:56:50< ilor> I see 20090715 23:59:17-!- loonycyborg [n=sergey@wesnoth/developer/loonycyborg] has quit ["Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"] 20090715 23:59:43-!- loonybot [n=loonybot@wesnoth/bot/loonybot] has quit [Remote closed the connection] --- Log closed Thu Jul 16 00:00:09 2009