--- Log opened Thu Nov 06 00:00:00 2014 20141106 00:00:49< fabi> iceiceice: What is your opinion about the error message when merging duplicate terrains? 20141106 00:01:19< iceiceice> it would be nice if it only appeared when the editor was opened or something 20141106 00:01:24< iceiceice> since its an editor group thing? 20141106 00:01:38< fabi> Well, it is an error. 20141106 00:01:41< iceiceice> it certainly seems not good to show it during c++ unit tests 20141106 00:01:44< fabi> The question is: Should it be? 20141106 00:01:46< iceiceice> but i guess that's actually a separate issue 20141106 00:02:00< iceiceice> fabi: i think i dont fully understand the issue 20141106 00:02:17< iceiceice> how does it work, terrains specify themselves what editor_group they belong to? 20141106 00:02:25< fabi> yes, they do 20141106 00:02:25< iceiceice> and when the game reads them it puts them together/ 20141106 00:02:31< fabi> yes 20141106 00:02:39< fabi> but only if they are the same 20141106 00:02:41< iceiceice> so you can't have terrains with same code in the same editor group/ 20141106 00:02:41< fabi> because the 20141106 00:02:42< iceiceice> ? 20141106 00:02:49< iceiceice> or you can't have terrains with the same code at all 20141106 00:03:02< fabi> you can only have terrains with the same code 20141106 00:03:11< fabi> except the editor_group attribute 20141106 00:03:42< fabi> because the terrain string is the key to a map 20141106 00:03:56< iceiceice> yeah 20141106 00:03:58< fabi> thus the engine checks if it reads the same terrain string twice 20141106 00:04:04< fabi> is it the same terrain? 20141106 00:04:07< iceiceice> so if they appear in the same map it wont work 20141106 00:04:20< fabi> if not: tell the player that a terrain was discarded. 20141106 00:04:43< iceiceice> fabi: if its not a fatal error in the game, it might be better to show only in debug mode or something 20141106 00:04:50< fabi> is it the same terrain that is only redefined to fit into another group? 20141106 00:04:56< fabi> then log this 20141106 00:05:10< iceiceice> if it can cause oos then yes massive log spam is warranted 20141106 00:05:13< fabi> is it merged into groups where it already is merged into? 20141106 00:05:17< fabi> write an error 20141106 00:05:43< fabi> In my opinion, both cases should be no problem. 20141106 00:05:56< fabi> and thus both cases should just log and not error. 20141106 00:06:42< Dugi> I am back. Is there anything else I should know before I go to bed? 20141106 00:07:13< fabi> Dugi: Have a good night :-) 20141106 00:07:28< iceiceice> gfgtdf: do you see reason not to merge it? 20141106 00:07:59< iceiceice> fabi: i think the logging might be too much though, thats all im saying 20141106 00:08:32< iceiceice> but i dont really understand the issue 20141106 00:08:36-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20141106 00:08:41-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20141106 00:08:47< fabi> iceiceice: You do not see the log output if you do not call for it. 20141106 00:08:49< Dugi> Good night guys. 20141106 00:08:54-!- Dugi [93fbd29f@gateway/web/freenode/ip.147.251.210.159] has quit [] 20141106 00:09:00< iceiceice> fabi: i don't think that's true 20141106 00:10:32< iceiceice> it is reported on log channel "error general" 20141106 00:10:42< iceiceice> that means it is shown by default 20141106 00:10:55< iceiceice> if you want it to be "only if you call for it", it needs to be on either "debug" or "info" channel 20141106 00:11:04< iceiceice> also it will cause WML unit tests to fail 20141106 00:11:19< iceiceice> they all automatically fail if they generate warning or error messages 20141106 00:11:26< fabi> iceiceice: Yes I know. That is why I want to change it. Are you listening? 20141106 00:11:53< iceiceice> hmm, your previous statement seems to be in the present tense 20141106 00:11:56< iceiceice> sorry 20141106 00:12:32< fabi> ERR_G is seen always 20141106 00:12:45< fabi> While LOG_G needs the log facility thing enabled. 20141106 00:12:50< fabi> to be seen 20141106 00:13:01< iceiceice> yeah i think it should be LOG_G 20141106 00:13:10< fabi> In my opinion LOG_G instead of ERR_G is enough in both cases. 20141106 00:13:23< iceiceice> ok, i read your original post now, i see this is what you were saying 20141106 00:13:54< fabi> Because having several add-ons specifying exactly the same terrain into multiple editor groups is just normal and nothing worth an error. 20141106 00:14:02< fabi> But I might miss something there. 20141106 00:14:06< fabi> shadowm: ^ 20141106 00:14:20< iceiceice> fabi: another thing that would be good to figure out, 20141106 00:14:23-!- Coffee_irc [~david@ppp118-210-90-49.lns20.adl2.internode.on.net] has quit [Quit: Konversation terminated!] 20141106 00:14:32< iceiceice> do you think it's possible to make the "test" game_config 20141106 00:14:40< iceiceice> consist only of core, and not have any of the add-ons in it 20141106 00:14:46< iceiceice> but alsot o have the stuff in data/test/ 20141106 00:15:41< fabi> interesting question 20141106 00:15:47< iceiceice> when i added the wml unit tests like a year ago i think i subtly fucked it up 20141106 00:15:56< iceiceice> here's the main _main.cfg: https://github.com/wesnoth/wesnoth/blob/master/data/_main.cfg 20141106 00:16:15< iceiceice> this is where it starts figuring out what to do for AI tests and also the WML unit tests: 20141106 00:16:15< iceiceice> https://github.com/wesnoth/wesnoth/blob/master/data/_main.cfg#L51 20141106 00:16:48< iceiceice> here's the test/_main.cfg 20141106 00:16:48< iceiceice> https://github.com/wesnoth/wesnoth/blob/master/data/test/_main.cfg 20141106 00:16:52< iceiceice> i think i had to modify this guy, 20141106 00:17:09< iceiceice> so i'm pretty sure that all of the addons somewhere get loaded in this path 20141106 00:17:13< iceiceice> but i dont know where right now 20141106 00:17:15< shadowm> fabi: There are two sides to that coin: either two add-ons define the same terrains because both use them (e.g. IftU, AtS, TSL, SoD all define some of the hive terrains from IftU), or someone accidentally typoes a terrain code and mightn't find out in a timely fasihion otherwise. 20141106 00:17:30< shadowm> *timely fashion otherwise. God DAMN I hate SSH. 20141106 00:18:03< iceiceice> does {core} also load addons ? 20141106 00:18:19< shadowm> No. 20141106 00:18:30< fabi> oh well 20141106 00:19:30< iceiceice> hmm 20141106 00:19:33< fabi> shadowm: I do not understand the "typoes a terrain code" scenario well enough. 20141106 00:19:39< iceiceice> you know what also would be a nice feature, 20141106 00:19:46< fabi> iceiceice: Let me see how I implemented the core thing. 20141106 00:19:53< fabi> iceiceice: What exactly do you want to do? 20141106 00:20:02< iceiceice> fabi: so as i understand, 20141106 00:20:11< iceiceice> in the C++ theres this game_config_manager 20141106 00:20:14< iceiceice> that has several modes 20141106 00:20:19< iceiceice> to decide exactly which WML is parsed 20141106 00:20:26< iceiceice> i.e. in multiplayer, singleplayer, or test 20141106 00:20:28< iceiceice> or campaign 20141106 00:20:29< iceiceice> whatever 20141106 00:20:32< iceiceice> it does this by, 20141106 00:20:35< iceiceice> making a preprocessor define 20141106 00:20:39< iceiceice> like MULTIPLAYEr 20141106 00:20:40< iceiceice> or TEST 20141106 00:20:46< iceiceice> and then including _main.cfg again 20141106 00:20:49< iceiceice> and seeing what happens 20141106 00:21:27< iceiceice> so in data/_main.cfg, by changing what occurs in #ifdef TEST i was able to make the WML unit test scenarios visible in test mode 20141106 00:21:30< iceiceice> but not in other modes 20141106 00:21:49< fabi> ah yes 20141106 00:21:56< iceiceice> however i couldn't figure out where in the code add-ons are made visible 20141106 00:22:05< shadowm> Not in WML. 20141106 00:22:18< fabi> iceiceice: iirc it was hardcoded once. Then I came and changed that. 20141106 00:22:29< fabi> Thus shadowm might not be correct anymore. Let me see. 20141106 00:22:51< shadowm> game_config_manager::load_game_config() calls game_config_manager::load_addons_cfg(). 20141106 00:23:32< shadowm> Which in turn reads every Foo_Bar.cfg or Foo_Bar/_main.cfg file it can find in the /data/add-ons directory. 20141106 00:23:55< shadowm> AFAICT this hasn't changed much with the introduction of the "cores" (hate that name) thing. 20141106 00:25:11< fabi> shadowm: Right, now I remember how it is done. 20141106 00:25:34< fabi> shadowm: Suggest a better name, I am not stuck on this one. 20141106 00:26:27< fabi> iceiceice: So you want to run the unit tests without parsing the add-ons, right? 20141106 00:26:30< iceiceice> yes 20141106 00:26:38< iceiceice> i think all tests should ideally run only with core and not the add-ons 20141106 00:26:56< fabi> iceiceice: This can be done by running with the "failsave" core. 20141106 00:27:14< shadowm> Some time ago I tried the failsafe core and it didn't do anything different. 20141106 00:27:25< fabi> iceiceice: And I think the best way for that is a command line option for going with a specific core. 20141106 00:27:34< shadowm> It was precisely while trying to figure out how to make the test suite shut up about my add-ons. 20141106 00:27:47< iceiceice> fabi: is there a way to make the "-u" option automatically use the failsafe core? 20141106 00:28:07< fabi> iceiceice: not yet, but that should be possible. 20141106 00:28:20< fabi> iceiceice: There is no command line support so far. 20141106 00:28:24< fabi> shadowm: let me check 20141106 00:28:28< iceiceice> what controls the core? 20141106 00:28:32< iceiceice> is it part of game cofnig manager? 20141106 00:28:47< fabi> iceiceice: the core is stored in your preferences file. 20141106 00:28:56< shadowm> fabi: The name seemed to me more or less set in stone since there are code references all over the place to the "cores" concept (load "cores.cfg", read [core] tags, etc.). I cannot provide a better suggestion, and it's not that I believe the name is functionality incorrect, it's just that it evokes the wrong imagery for me: 20141106 00:29:42-!- tomreyn [~tomreyn@megaglest/team/tomreyn] has quit [Quit: tomreyn] 20141106 00:29:43< iceiceice> fabi: can there be a line like "preferences::set(core, ...)" here? https://github.com/wesnoth/wesnoth/blob/master/src/game_launcher.cpp#L490 20141106 00:30:37< iceiceice> (also, it seems like it might be better if it's also a parameter taht gets passed explicitly to game_config_manager at some point) 20141106 00:30:46< fabi> iceiceice: yes 20141106 00:30:59< fabi> iceiceice: We might not want to save the thing at this point to the file. 20141106 00:31:20< shadowm> I would have considered "module" as an alternative, but the abbreviated form (which people are wont to use) would make things even more confusing in casual (e.g. forum) talk. 20141106 00:31:56< iceiceice> shadowm: i mean the name is not innappropriate in the sense that we have a folder called "data/core/" 20141106 00:32:08< iceiceice> and this feature selects whether you load a substitute, unless i'm mistaken 20141106 00:32:16< shadowm> "Total conversion" is the other obvious alternative and I also hate it on the basis that it's not a single word and has a large char count in English. 20141106 00:32:30< fabi> iceiceice: Although, the add-on compatibility thing is not final. Currently you can only specify to provide a single compatibility per core and addon. 20141106 00:32:42< shadowm> iceiceice: Hence I said above it's not functionally incorrect. 20141106 00:32:50< shadowm> s/functionality/functionally/ 20141106 00:33:02< iceiceice> do you think also that the folder data/core/ should be renamed? 20141106 00:33:11< shadowm> No please no nononononon. 20141106 00:33:32< shadowm> No massive tree renames, please, that only causes problems for everyone. 20141106 00:33:40< fabi> iceiceice: Yes, but it can't be done. I would like to do it. But that means chaos comes and won't leave for a long time. 20141106 00:34:47< iceiceice> ok 20141106 00:35:17< iceiceice> fabi: it would be really nice if we could get the game_config_manager to be aware of the cores, or get it to be more integrated into the C++ interface to it, or whatever 20141106 00:35:32< iceiceice> it really sucks that the test outcomes depend on what add-ons i have loaded 20141106 00:36:27< iceiceice> maybe all that needs to happen is that if the mode is "test" it should ignore the preference and load the failsafe core 20141106 00:37:13< shadowm> So I was thinking I'd like to give people more fine-grained control over how add-ons are loaded since (as we just saw above) Wesnoth loads everything unconditionally and that sometimes exposes conflicts between add-ons that can't be trivially solved by players, or people might not always want to have every other add-on show up in the editor (e.g. me when working with my campaigns). 20141106 00:38:15< fabi> shadowm: The "failsave" core works for me. The add-ons are all gone. 20141106 00:38:28< shadowm> My campaigns are add-ons, that defeats the point. 20141106 00:38:56< fabi> shadowm: So what do you need exactly? 20141106 00:39:11< fabi> shadowm: A core that loads only your add-ons? That can be done easily. 20141106 00:39:25< shadowm> Yeah, but that requires me to write WML. 20141106 00:39:48< fabi> only a few lines. I think you have written WML before. 20141106 00:40:08< shadowm> I wanted to offer the option to load only specific add-ons in the game UI. For players. Who don't necessarily know WML. 20141106 00:40:21< shadowm> Hence I said "people" above, not "me". 20141106 00:40:26< fabi> okay 20141106 00:40:31< fabi> I have thought about that already. 20141106 00:41:02< fabi> The core add-on compatibility thing is a first step in that direction. 20141106 00:41:40< gfgtdf> iceiceice: no icurrently see no reson against merging 20141106 00:42:05< shadowm> So I just loaded the Failsafe core and still see my campaigns. 20141106 00:42:25< fabi> shadowm: Your campaigns are local ones. 20141106 00:42:36< fabi> shadowm: The system works only with addon server installed campaigns. 20141106 00:42:44< shadowm> Eh? 20141106 00:42:49< fabi> yeah 20141106 00:43:05< shadowm> You mean by checking for the existence of the _info.cfg files? 20141106 00:43:14< fabi> not the existence 20141106 00:43:20< fabi> I read some information from theme 20141106 00:43:34< fabi> s/theme/them 20141106 00:43:48< iceiceice> so if i hold broken add-ons locally, the failsafe core may still be broken? 20141106 00:43:49< shadowm> What information? 20141106 00:44:32< iceiceice> gfgtdf: thank you. i will merge shortly i think 20141106 00:44:40< shadowm> Anyway, the point is that I'd obviously sometimes like to consider that my add-ons might be broken too and want to exclude them from the load process. 20141106 00:45:03< shadowm> So I'm not sure why allow Failsafe to load any add-ons at all, even if they are my own. 20141106 00:45:17< fabi> shadowm: the core="" attribute which specifies to which core(s) the addon is compatible with. defaulting to the "default" core. 20141106 00:46:06< shadowm> Is that from _info.cfg? 20141106 00:46:30< fabi> iceiceice: Yes, local campaigns are currently loaded always. I thought that a developer will want to disable foreign add-ons while still be able to debug his own. 20141106 00:46:42< fabi> shadowm: yes, core= lives in _info.cfg 20141106 00:46:53< shadowm> Where does the add-ons client get the value from in the first place? 20141106 00:46:59< iceiceice> fabi: yeah i guess it makes sense 20141106 00:47:09< fabi> shadowm: From that pbl file. 20141106 00:47:18< shadowm> Nope, you forgot to add that to campaignd. 20141106 00:47:53< fabi> hmmm 20141106 00:47:55< shadowm> campaignd will ignore attributes it doesn't understand, and it's currently unaware of "core" being a thing it needs to read from upload requests, or write for delivering to clients. 20141106 00:48:48< fabi> ah yes 20141106 00:49:56< fabi> The problem is that there is no wml file or syntax that is present in every kind of add-on beside that every server installed one has that [info] tag. 20141106 00:50:11< shadowm> Well, technically it just writes whatever it has to clients. 20141106 00:50:12< fabi> Thus the choice to place the compatibility information there. 20141106 00:51:17-!- happygrue [~Laptop@wesnoth/developer/wintermute] has joined #wesnoth-dev 20141106 00:51:20< shadowm> I wanted to make add-on metadata (what _info.cfg contains) mandatory for 1.11.x, but abandoned the plan after my initial proposal garnered zero interest from the ML. 20141106 00:51:27< fabi> And that is how the failsafe core works currently. 20141106 00:52:03< fabi> Its id is != default and thus every add-on without a specified core= attribute is rejected. 20141106 00:52:46< fabi> As well as every with a core= attribute != "default_" 20141106 00:52:57< shadowm> OK, but my add-ons clearly don't specify core= and they aren't rejected. 20141106 00:53:18< fabi> yes, because you don't have the _info.cfg. 20141106 00:53:35< shadowm> Doesn't that mean the attribute defaults to "default"? 20141106 00:53:49< fabi> In case of a missing _info.cfg I preferred to load the add-on. 20141106 00:54:12< fabi> For the reasons I explained to iceiceice. 20141106 00:54:44< fabi> The final solutions will core= take a list. 20141106 00:54:45< shadowm> Hmph. 20141106 00:55:18< fabi> and don't check against the core's id but against a "provides" attribute inside of [core]. 20141106 00:55:30< shadowm> I'd like to suggest displaying the currently loaded core's name (if not Default) on the bottom right corner of the titlescreen. 20141106 00:55:34< fabi> Then a add-on can specify to work with different kind of cores. 20141106 00:55:54< fabi> and every core can define to provide more than one functionality. 20141106 00:56:45< fabi> Most mods for example would claim to provide the "default" functionality and thus work with normal wesnoth add-ons. 20141106 00:57:25< shadowm> Oh yeah, that's the other reason why I wouldn't advocate replacing "core" with "module" -- "mod(ification)" is already taken by MP modifications. :( 20141106 00:57:44< fabi> Indeed. 20141106 01:00:10< iceiceice> shadowm, fabi: does anyone see a reason not to merge this? https://github.com/wesnoth/wesnoth/pull/325 20141106 01:00:23< fabi> shadowm: Making the _info.cfg mandatory is a good idea. 20141106 01:02:11-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20141106 01:03:02< fabi> shadowm: Please do so for 1.14. 20141106 01:04:16< fabi> iceiceice: I do not know. Unit tests for add-on creators are a fine thing. Isn't a command line controlled thing a better solution? 20141106 01:04:45< fabi> iceiceice: I mean the core system needs some command line connection anyway. 20141106 01:05:26< iceiceice> this seems like a good holdover for now though 20141106 01:05:43< fabi> yes 20141106 01:08:36< iceiceice> fabi: i guess i think this is orthogonal to cores right now anyways 20141106 01:08:48< iceiceice> if cores dont stop all add-ons from being loaded 20141106 01:08:54< iceiceice> when you run the unit tests you want it to be really clean 20141106 01:09:18< iceiceice> what is needed i guess is a command line argument "--load-addons" to be used with the unit test mode 20141106 01:09:33< iceiceice> in case you want to test your umc 20141106 01:09:46< iceiceice> maybe i will add a todo note for this 20141106 01:10:11< fabi> iceiceice: Why don't we implement --no-add-ons and --use-core? 20141106 01:10:19< iceiceice> or maybe it should be syntactically different but at least in sprit i think that's correct 20141106 01:10:42< iceiceice> fabi: i think no ad-ons should be the default for unit test mode 20141106 01:11:09< iceiceice> idk 20141106 01:11:15< fabi> iceiceice: no. 20141106 01:11:26-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20141106 01:11:34< iceiceice> i guess its not too hard to add yet another flag to the invocation in the run_wml_tests script 20141106 01:11:38< fabi> iceiceice: If you want to run it for testing purposes you can specify it yourself. 20141106 01:11:59< fabi> iceiceice: The player is the default user and he wants to check his umc more urgently than our mainline stuff. 20141106 01:14:04-!- bumbadadabum [~bumbadada@d155109.upc-d.chello.nl] has joined #wesnoth-dev 20141106 01:15:18< shadowm> iceiceice: `classification->campaign_type == game_classification::TEST` -- Just to make sure, this only applies to unit tests, right? Not the test scenario? 20141106 01:15:33< iceiceice> no it applies to the test scenario also 20141106 01:16:43< iceiceice> i think it also applies to the C++ unit tests 20141106 01:17:39< iceiceice> wow is it a known bug that the test scenario freezes? 20141106 01:17:42< iceiceice> or did this commit somehow cause it 20141106 01:18:00< shadowm> Well, I can't think of any reason for wanting to load add-ons in the test scenario right now (and most correctly-designed add-ons wouldn't do anything then), so sure. 20141106 01:18:52< shadowm> iceiceice: Under what circumstances does it freeze? 20141106 01:19:43< iceiceice> immediately after loading 20141106 01:20:10< shadowm> Not for me. 20141106 01:20:16< iceiceice> i am running back trace 20141106 01:21:10-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20141106 01:21:23< fabi> iceiceice: I am implementing the command line switch --no-add-ons right now. 20141106 01:21:26< iceiceice> https://gist.github.com/cbeck88/a096f7750735a348a9db 20141106 01:23:17< irker800> wesnoth: Chris Beck wesnoth:master 75b61e640137 / src/game_initialization/ (configure_engine.cpp multiplayer.cpp): don't crash when attempting to configure a level with no sides http://git.io/l1R2zQ 20141106 01:23:19< irker800> wesnoth: Chris Beck wesnoth:master 43e3d37a2122 / / (8 files in 3 dirs): fix bug #22484 (fix random map generation in mp create) http://git.io/FcaAWw 20141106 01:23:21< irker800> wesnoth: Chris Beck wesnoth:master e85eb66f5b24 / data/multiplayer/scenarios/Random_YAMG_Scenario.cfg: put YAMG as a map generator rather than as a scenario generator http://git.io/StaadQ 20141106 01:23:23< irker800> wesnoth: Chris Beck wesnoth:master ab821fcfeb0d / src/generators/map_generator.cpp: use the "mapgen" log channel rather than engine, for map generators http://git.io/wBeY-A 20141106 01:23:25< irker800> wesnoth: Chris Beck wesnoth:master 2da4c9157a06 / src/ (6 files in 2 dirs): add lua map generator type http://git.io/QkZdMA 20141106 01:23:27< irker800> wesnoth: Chris Beck wesnoth:master ce99658dfead / src/generators/lua_map_generator.cpp: add lua libs for lua map generator, also add bindings for mt rng http://git.io/RFhigA 20141106 01:23:29< irker800> wesnoth: Chris Beck wesnoth:master d8fcd104aea1 / src/generators/ (lua_map_generator.cpp lua_map_generator.hpp): add support to create scenarios in lua also http://git.io/cBYdww 20141106 01:23:31< irker800> wesnoth: Chris Beck wesnoth:master a964bd0e886d / src/generators/ (lua_map_generator.cpp lua_map_generator.hpp): pass the [generator] tag as argument to lua map generator functions http://git.io/p_kXgg 20141106 01:23:33< irker800> wesnoth: Chris Beck wesnoth:master 6c85b4f4d809 / src/generators/lua_map_generator.cpp: use our loggers in lua map generator, make a better dtor for Rng http://git.io/5zgNSQ 20141106 01:23:35< irker800> wesnoth: Chris Beck wesnoth:master c785310f05b1 / src/game_initialization/create_engine.cpp: create_engine now catches mapgen_exceptions thrown by generators http://git.io/sL0oUg 20141106 01:23:37< irker800> wesnoth: Chris Beck wesnoth:master fb793a10ceae / / (17 files in 5 dirs): Merge pull request #324 from cbeck88/lua_map_generator http://git.io/a2oQAw 20141106 01:23:47< iceiceice> fabi: okay great 20141106 01:24:14< iceiceice> shadowm: to be specific, i am launching the test scenario by running "./wesnoth -t" at command line 20141106 01:24:21< iceiceice> i dont know if it makes a difference 20141106 01:24:24< iceiceice> i am testing master now 20141106 01:24:46< iceiceice> i get it on master also 20141106 01:25:36< shadowm> I used -dt. 20141106 01:26:04< iceiceice> https://gist.github.com/cbeck88/3043c240cca4e5fef743 20141106 01:26:55< shadowm> It sounds like you might be stuck in an infinite WML/Lua loop? 20141106 01:27:10< iceiceice> back trace suggests something in the global variables code 20141106 01:27:10-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20141106 01:27:24< iceiceice> maybe its wml i have no idea 20141106 01:27:47< shadowm> Oh for the love of god. 20141106 01:28:17< shadowm> iceiceice: Try renaming the 'persist' dir in your configuration or user data dir. I don't remember which. 20141106 01:29:04< shadowm> Using `utils/wesnoth-defaults ./wesnoth -t` is an alternative if you are on Linux. 20141106 01:29:32< iceiceice> yeah that fixed it 20141106 01:29:46< shadowm> Gah. 20141106 01:30:02< shadowm> Can you send me the contents of your persist dir? 20141106 01:30:04< iceiceice> ok 20141106 01:30:26< shadowm> I swear to god if I have to fix this again I'm going to drop global variables from 1.12 entirely. 20141106 01:31:14< iceiceice> yeah when i put it back it happens again 20141106 01:32:15< iceiceice> https://drive.google.com/file/d/0B54Q-3UjP5fiSVlXQUJBS1dqT0E/view?usp=sharing 20141106 01:33:19< shadowm> Can't reproduce. 20141106 01:33:32< shadowm> Which is only worse news. 20141106 01:34:29-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20141106 01:34:30< shadowm> Are you running a debug or release build? If the latter, what optimization level? What compiler? What target architecture? -march=native yes/no? 20141106 01:34:37< iceiceice> i did both 20141106 01:34:47< iceiceice> clang++ -build release, (O2) 20141106 01:34:53< iceiceice> also build debug (O0) 20141106 01:35:01< shadowm> clang++-3.4 -O3 -march=native here. 20141106 01:35:22< iceiceice> did you use exactly the same revision ? 20141106 01:35:31< shadowm> No. 20141106 01:35:40< iceiceice> maybe its recent and we can bisect it 20141106 01:35:51< shadowm> I was on 75b61e640137's parent, which was the master head at the time. 20141106 01:37:06< iceiceice> ok i'm building with these options as 75b61e64^: 20141106 01:37:06< iceiceice> http://hastebin.com/ejoneyeluc.vhdl 20141106 01:37:26< shadowm> fb793a10ceae80e9a0e5ce7909e31ed462bc29b3, clang++-3.4, -O0 -march=native, nothing. 20141106 01:37:45< iceiceice> yeah i don't get it now 20141106 01:37:47< shadowm> I'm going to try without -march=native although it's unlikely to make a difference unless we are unlucky enough. 20141106 01:38:00< iceiceice> ok i'm going to bisect 20141106 01:39:24< iceiceice> hmm this test kind of sucks though 20141106 01:39:34< iceiceice> because i guess the persist directory gets changed each time i run 20141106 01:39:40< iceiceice> now i can't reproduce at master 20141106 01:39:48< iceiceice> i'm going to try unzipping the bad dir ig uess 20141106 01:40:20< iceiceice> wow 20141106 01:40:24< iceiceice> its sensitive to unzipping the bad dir 20141106 01:42:33< iceiceice> shadowm: okay now i can reproduce also at 75b61e64's parent 20141106 01:42:51< iceiceice> so i don't know any good commits anymore 20141106 01:43:13< iceiceice> maybe it depends on my preferences also? 20141106 01:43:19< iceiceice> oh wow 20141106 01:43:22< iceiceice> it actually worked after a while 20141106 01:43:24< iceiceice> it was just really slow 20141106 01:44:18< irker800> wesnoth: Fabian Müller wesnoth:master ca0674d684ac / / (4 files in 2 dirs): Add --noaddons command line option. http://git.io/6yn1OA 20141106 01:44:31< fabi> iceiceice: ^ 20141106 01:44:55< iceiceice> shadowm: i think it might not actually be frozen, it just is frozen for ~2 minutes 20141106 01:45:04< iceiceice> it takes alot of cpu though 20141106 01:45:12< iceiceice> i'm going to see if it unfreezes this time also 20141106 01:45:25< iceiceice> yeah its just that i have to wait about 2minutes 20141106 01:46:36< shadowm> Okay, I just reproduced it. 20141106 01:46:38< iceiceice> so, not cripplign but still worrisome 20141106 01:47:40< iceiceice> fabi: wow that was much easier than i expected :) 20141106 01:47:48< iceiceice> i didnt realize the game config man already has the cmd line opts 20141106 01:48:16< fabi> iceiceice: Its only a few lines. Hope it is done right. 20141106 01:48:18< shadowm> How is a 2 minute WML events processing delay not crippling? 20141106 01:48:28< iceiceice> at least its not crashed 20141106 01:48:49< shadowm> I mean, from a user's perspective it's the same thing. 20141106 01:49:02< iceiceice> well, in one case i can eventually save my game, and continue if i please 20141106 01:49:05< iceiceice> and in one i can't 20141106 01:49:08< shadowm> Even worse when running fullscreen under most WMs. 20141106 01:49:29< iceiceice> its still really bad 20141106 01:49:35-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20141106 01:49:47< iceiceice> its also worrisome because tehres not much in the global vars afaict 20141106 01:49:50< iceiceice> just some LoW stuff 20141106 01:50:13< iceiceice> thers 400 lines for Low 2 20141106 01:50:16< iceiceice> 3400 lines for LoW 3 20141106 01:50:42< shadowm> Yeah, but that code is chronically broken and nigh-impossible to read. 20141106 01:53:40< iceiceice> fabi: i'm going to make the wml unit tests use your option 20141106 01:54:08< fabi> iceiceice: hmmm 20141106 01:54:18< iceiceice> i mean, our script 20141106 01:54:27< fabi> yeah 20141106 01:54:32< fabi> using a script is fine 20141106 01:54:40< iceiceice> this is the script that runs all the tests: 20141106 01:54:42< iceiceice> https://github.com/wesnoth/wesnoth/blob/master/run_wml_tests 20141106 01:55:05< fabi> maybe you include a script for the umcs as well 20141106 01:56:55< iceiceice> the script is intended for that 20141106 01:57:03< iceiceice> you can point it at a different "test schedule" file 20141106 01:57:22-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20141106 02:03:36< iceiceice> hmm fabi, it doesn't solve the test executable issue though 20141106 02:03:53< iceiceice> since the test executable doesn't see these flags 20141106 02:04:06< fabi> iceiceice: oh 20141106 02:04:09< fabi> iceiceice: poor thing 20141106 02:04:41< irker800> wesnoth: Chris Beck wesnoth:master d2b7af8711bc / .travis.yml run_wml_tests: travis, wml test: incorporate fabi's --noaddons mode as an option http://git.io/FHaxPA 20141106 02:06:34< iceiceice> fabi: i think it might be just these lines up here: 20141106 02:07:43< iceiceice> https://github.com/wesnoth/wesnoth/blob/master/src/tests/test_mp_connect.cpp#L65 20141106 02:07:49< iceiceice> maybe we need to add "--noaddons" to that? 20141106 02:11:48-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20141106 02:12:19< iceiceice> fabi: yeah that fixes the spam issue 20141106 02:12:25-!- happygrue [~Laptop@wesnoth/developer/wintermute] has quit [Remote host closed the connection] 20141106 02:12:41< iceiceice> i will commit shortly 20141106 02:13:22< irker800> wesnoth: Chris Beck wesnoth:master 365001f86e51 / src/tests/test_mp_connect.cpp: C++ tests: don't load addons http://git.io/_18c1g 20141106 02:13:40-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20141106 02:18:47< irker800> wesnoth: mattsc wesnoth:master 7f003a98afe8 / projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: Update Xcode project file with lua_map_generator.cpp http://git.io/jH-0Kw 20141106 02:27:44< irker800> wesnoth: Chris Beck wesnoth:master 66ef80f5432e / RELEASE_NOTES: update RELEASE_NOTES http://git.io/EtPlvg 20141106 02:27:46< irker800> wesnoth: Chris Beck wesnoth:master 7dbfd3c9c31a / changelog: update changelog http://git.io/IbDSMg 20141106 02:27:48< irker800> wesnoth: Chris Beck wesnoth:master 2c6ca4787991 / projectfiles/Xcode/Wesnoth.xcodeproj/project.pbxproj: Merge branch 'master' of https://github.com/wesnoth/wesnoth http://git.io/qWBUQQ 20141106 02:29:25< iceiceice> shadowm: fyi, 20141106 02:29:31< iceiceice> if you run the unit tests locally, 20141106 02:29:41< iceiceice> passing "-c" will make it run clean without any addons loaded 20141106 02:29:54< iceiceice> passing -c to the run_wml_tests script i mean 20141106 02:47:57< iceiceice> shadowm: is wmlindent supposed to leave my tabs in the file? 20141106 02:48:01< iceiceice> i would have thoguht it would convert to spaces 20141106 02:50:15< shadowm> Depends on the context. 20141106 02:51:43< shadowm> If it's within a verbatim literal attribute, it's intentional that it doesn't touch its contents at all. 20141106 02:55:20< iceiceice> hmm ok 20141106 02:55:44< iceiceice> so in this case, its leading whitespace in a multiline lua script 20141106 02:55:49< iceiceice> defined in situ 20141106 02:56:12-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 02:56:18< iceiceice> it seems that wml indent still wants to reindent those things to some degree, but it chooses not to replace tabs with spaces there 20141106 02:56:36< shadowm> foo=<< verbatim literal >> 20141106 02:56:43< iceiceice> yeah 20141106 02:57:42-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 02:59:11-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 02:59:48-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:00:57-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:01:34-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:02:46-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:03:25-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:03:31-!- gfgtdf [~chatzilla@d149087.adsl.hansenet.de] has quit [Quit: ChatZilla 0.9.91 [Firefox 32.0.3/20140923175406]] 20141106 03:04:33-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:05:07-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:06:40-!- kex [~kex@78.157.29.160] has quit [Read error: Connection reset by peer] 20141106 03:06:58-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:08:09-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:08:45-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:09:57-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:10:30-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:11:45-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:12:21-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:13:33-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:14:07-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:15:21-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:15:44-!- Ivanovic_ [~ivanovic@frnk-d933043d.pool.mediaWays.net] has joined #wesnoth-dev 20141106 03:15:58-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:17:22-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has quit [Ping timeout: 245 seconds] 20141106 03:17:33-!- kex [~kex@78.157.29.160] has quit [Read error: Connection reset by peer] 20141106 03:17:37-!- Ivanovic_ is now known as Ivanovic 20141106 03:17:44-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:18:57-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:19:33-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:20:13-!- duncan_shriek [~roland@2a01:1e8:e100:8618::24] has quit [Remote host closed the connection] 20141106 03:20:49-!- kex [~kex@78.157.29.160] has quit [Read error: Connection reset by peer] 20141106 03:21:20-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:22:33-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:23:11-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:24:43-!- kex [~kex@78.157.29.160] has quit [Read error: Connection reset by peer] 20141106 03:24:58-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:26:10-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:26:45-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:27:57-!- kex [~kex@78.157.29.160] has quit [Remote host closed the connection] 20141106 03:28:31-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:30:21-!- kex [~kex@78.157.29.160] has quit [Read error: Connection reset by peer] 20141106 03:30:22-!- Kexoth [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 03:34:52-!- Kexoth [~kex@78.157.29.160] has quit [Ping timeout: 245 seconds] 20141106 03:54:32-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: Bye for now] 20141106 04:26:53-!- {V} [~V@72-69-ftth.on.nl] has quit [Read error: Connection reset by peer] 20141106 04:27:20-!- {V} [~V@72-69-ftth.on.nl] has joined #wesnoth-dev 20141106 04:37:30< shadowm> "Firefox can't find the server at mail.gna.org." 20141106 04:37:36< shadowm> !netname mail.gna.org 20141106 04:37:36< shikadibot> shadowm: mail.gna.org = 78.40.125.82 20141106 04:39:03< shadowm> > Host mail.gna.org not found: 2(SERVFAIL) 20141106 04:39:09< shadowm> So I guess my DNS died. 20141106 04:57:50-!- bumbadadabum [~bumbadada@d155109.upc-d.chello.nl] has quit [Quit: Ik ga weg] 20141106 04:58:19-!- Sulfur [~Miranda@p5B327055.dip0.t-ipconnect.de] has joined #wesnoth-dev 20141106 05:12:27< shadowm> Re my email, for reference: `std::vector foo { 100, 0 };` does something completely different to `std::vector foo(100, 0);` (std::vector has a std::initializer_list constructor which takes precedence if the types are compatible). 20141106 05:13:26< shadowm> The first snippet gives you a vector containing two elements with different values, the second gives you 100 elements, all zero. 20141106 05:19:05-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 05:20:48< iceiceice> shadowm: wow i never saw a dns fail before 20141106 05:21:15< iceiceice> shadowm: yeah initializer lists seem like a really good thing though 20141106 05:21:27< iceiceice> lacking that often makes C++ alot more convoluted 20141106 05:22:21< iceiceice> shadowm: i realized that in my email, having a "show of hands" over email is rather silly, maybe its worth while to have a poll in the dev forum? 20141106 05:24:19-!- kex [~kex@78.157.29.160] has quit [Ping timeout: 272 seconds] 20141106 05:27:23-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 05:41:20< shadowm> iceiceice: Oh, you mean that forum only 1% of the development team has used since 2008? Yeah no. 20141106 05:43:35< iceiceice> idk you had a poll there not long ago 20141106 05:44:12< iceiceice> some people might want to express opposition to c++11 anonymously 20141106 05:45:58< iceiceice> maybe will just wait and see if anyone actually cares 20141106 05:49:49-!- cjhopman__ [cjhopman@nat/google/x-ingxiipcgbtamktl] has joined #wesnoth-dev 20141106 05:49:51-!- cjhopman_ [cjhopman@nat/google/x-umkfgtyovlvjuoes] has quit [Read error: Connection reset by peer] 20141106 05:53:00-!- SpoOkyMagician [~chatzilla@cpe-74-132-242-221.swo.res.rr.com] has joined #wesnoth-dev 20141106 05:55:50-!- irker800 [~irker@fehu.ai0867.net] has quit [Quit: transmission timeout] 20141106 06:06:13-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20141106 06:07:09-!- Sulfur [~Miranda@p5B327055.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20141106 06:08:05-!- cib0 [~cib@p5DD21487.dip0.t-ipconnect.de] has joined #wesnoth-dev 20141106 06:28:30-!- irker155 [~irker@fehu.ai0867.net] has joined #wesnoth-dev 20141106 06:28:33< irker155> wesnoth: Chris Beck wesnoth:1.12 f500d53e30e9 / src/image.cpp: when zooming in, use scale_surface_sharp for units, terrain http://git.io/49O44g 20141106 06:28:33< irker155> wesnoth: Chris Beck wesnoth:1.12 2a0a3192338d / src/image.cpp: Merge pull request #316 from cbeck88/fixup_graphics http://git.io/b0fECA 20141106 06:32:45< vultraz> shadowm: why am I seeing textdomain comments when inspecting units? 20141106 06:33:08< shadowm> Because translatable strings are necessarily associated to a textdomain. 20141106 06:34:00< vultraz> They didn't show before 20141106 06:34:23< shadowm> Because until 1.11.10+something the inspect dialog used a dumb code path that generated invalid WML. 20141106 06:37:02< vultraz> Ah 20141106 06:38:04< vultraz> Also apparently, role= doesn't take a comma separated list 20141106 06:38:48< shadowm> Ony things specifically listed in SUF as taking a comma-separated list supports it. 20141106 06:38:56< shadowm> Er, SUF: http://wiki.wesnoth.org/StandardUnitFilter 20141106 06:40:24 * vultraz makes a note to deal with this in 1.13 20141106 06:41:02< shadowm> Good luck with that. 20141106 06:41:26< iceiceice> shadowm: i have a quick question, 20141106 06:41:34< shadowm> It'd probably be more productive to submit an FR and let someone do it for you. 20141106 06:41:38< iceiceice> are there any examples of "treeview" in the project i would be familiar with 20141106 06:41:46< iceiceice> i read the description but its pretty vague 20141106 06:41:49< shadowm> iceiceice: GUI1 or GUI2? 20141106 06:41:51< iceiceice> gui2 20141106 06:42:09< shadowm> The experimental lobby's list of people. 20141106 06:42:18< iceiceice> ok 20141106 06:42:26< iceiceice> is treeview broken in gui2? 20141106 06:42:29< iceiceice> like the listboxes? 20141106 06:42:30< shadowm> IIRC the Campaigns menu is a tree view in disguise too. 20141106 06:43:07< shadowm> (Confirmed.) 20141106 06:43:37< vultraz> I never understood that 20141106 06:43:39< shadowm> iceiceice: Uh, no idea. If it's a subclass of list_box or its super classes, then I'd bet it is too. 20141106 06:44:00< iceiceice> ok just curious 20141106 06:52:15-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20141106 06:52:32-!- cib0 [~cib@p5DD21487.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 20141106 06:56:55-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 06:59:11-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has quit [Quit: Leaving] 20141106 07:01:51-!- kex [~kex@78.157.29.160] has quit [Ping timeout: 272 seconds] 20141106 07:05:00-!- Ivanovic [~ivanovic@frnk-d933043d.pool.mediaWays.net] has quit [Changing host] 20141106 07:05:00-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20141106 07:53:51-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 07:57:04-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Client Quit] 20141106 08:02:18-!- Coffee_irc [~david@ppp118-210-90-49.lns20.adl2.internode.on.net] has joined #wesnoth-dev 20141106 08:07:09-!- boucman_work [~jrosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20141106 08:20:55-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20141106 08:54:10-!- molgrum [~molgrum@212.85.89.43] has quit [Ping timeout: 250 seconds] 20141106 09:00:58-!- c74d [~c74d3a4eb@2002:4404:712c:0:76de:2bff:fed4:2766] has quit [Remote host closed the connection] 20141106 09:04:08-!- c74d [~c74d3a4eb@2002:4404:712c:0:76de:2bff:fed4:2766] has joined #wesnoth-dev 20141106 09:05:01-!- molgrum [~molgrum@212.85.89.43] has joined #wesnoth-dev 20141106 09:18:08-!- c74d [~c74d3a4eb@2002:4404:712c:0:76de:2bff:fed4:2766] has quit [Read error: Connection reset by peer] 20141106 09:21:57-!- c74d [~c74d3a4eb@2002:4404:712c:0:76de:2bff:fed4:2766] has joined #wesnoth-dev 20141106 09:43:24-!- irker155 [~irker@fehu.ai0867.net] has quit [Quit: transmission timeout] 20141106 10:01:40-!- SpoOkyMagician [~chatzilla@cpe-74-132-242-221.swo.res.rr.com] has quit [Quit: .zZ] 20141106 10:04:36-!- duncan_shriek [~roland@2a01:1e8:e100:8618::24] has joined #wesnoth-dev 20141106 10:04:53-!- mjs-de [~mjs-de@f049225248.adsl.alicedsl.de] has joined #wesnoth-dev 20141106 10:22:54-!- molgrum [~molgrum@212.85.89.43] has quit [Ping timeout: 244 seconds] 20141106 10:23:48-!- kex [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 10:32:00-!- kex [~kex@77.28.22.31] has quit [Remote host closed the connection] 20141106 10:34:32-!- molgrum [~molgrum@212.85.89.43] has joined #wesnoth-dev 20141106 10:41:50-!- DCW1 [~Thunderbi@cpc66866-finc15-2-0-cust47.4-2.cable.virginm.net] has joined #wesnoth-dev 20141106 10:55:31-!- iceiceice [~chris@wesnoth/developer/iceiceice] has quit [Ping timeout: 258 seconds] 20141106 10:56:40-!- DCW1 [~Thunderbi@cpc66866-finc15-2-0-cust47.4-2.cable.virginm.net] has quit [Remote host closed the connection] 20141106 11:20:11-!- kex [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 11:27:00-!- Coffee_irc [~david@ppp118-210-90-49.lns20.adl2.internode.on.net] has quit [Quit: Konversation terminated!] 20141106 11:28:49-!- kex [~kex@77.28.22.31] has quit [] 20141106 11:29:49-!- molgrum [~molgrum@212.85.89.43] has quit [Ping timeout: 245 seconds] 20141106 11:30:29-!- kex [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 11:38:49-!- lipkab [~the_new_l@2001:738:5404:192:9e4e:36ff:fe7c:534c] has joined #wesnoth-dev 20141106 11:42:50-!- molgrum [~molgrum@212.85.89.43] has joined #wesnoth-dev 20141106 11:44:29-!- kex [~kex@77.28.22.31] has quit [Remote host closed the connection] 20141106 11:45:05-!- kex [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 11:47:06-!- Kexoth [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 11:49:52-!- kex [~kex@77.28.22.31] has quit [Ping timeout: 256 seconds] 20141106 11:51:55-!- Kexoth [~kex@77.28.22.31] has quit [Ping timeout: 272 seconds] 20141106 11:55:22-!- Anakonda [Anakonda@87-92-190-167.bb.dnainternet.fi] has joined #wesnoth-dev 20141106 11:56:44-!- lipkab [~the_new_l@2001:738:5404:192:9e4e:36ff:fe7c:534c] has quit [Quit: Sűrű sötét az éj, dühöng a déli szél] 20141106 11:57:09-!- kex [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 12:47:26-!- enchilado [~enchilado@defocus/yummy/enchilado] has quit [Ping timeout: 255 seconds] 20141106 12:49:05-!- enchilado [~enchilado@130.102.75.138] has joined #wesnoth-dev 20141106 12:56:48-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20141106 13:56:35-!- fabi [~quassel@wesnoth/developer/fendrin] has quit [Ping timeout: 244 seconds] 20141106 13:57:23-!- fabi [~quassel@p20030051AA25B913814671F08D2B0AE5.dip0.t-ipconnect.de] has joined #wesnoth-dev 20141106 13:57:23-!- fabi [~quassel@p20030051AA25B913814671F08D2B0AE5.dip0.t-ipconnect.de] has quit [Changing host] 20141106 13:57:23-!- fabi [~quassel@wesnoth/developer/fendrin] has joined #wesnoth-dev 20141106 14:02:11-!- kex [~kex@77.28.22.31] has quit [] 20141106 14:07:32-!- kex [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 14:16:57-!- bumbadadabum [~bumbadada@d155109.upc-d.chello.nl] has joined #wesnoth-dev 20141106 14:21:39-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20141106 14:35:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 250 seconds] 20141106 15:10:56-!- cib0 [~cib@132.231.178.212] has joined #wesnoth-dev 20141106 15:24:17-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20141106 15:24:56-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: Computer's napping] 20141106 15:30:33-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20141106 15:46:25-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20141106 16:13:03-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20141106 17:06:22-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20141106 17:07:53-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20141106 17:08:49-!- Dugi [93fbd29f@gateway/web/freenode/ip.147.251.210.159] has joined #wesnoth-dev 20141106 17:09:08< Dugi> Hello. 20141106 17:09:27< Dugi> shadowm: I will be active in about 20 minutes, I want to eat my dinner. 20141106 17:12:17-!- gfgtdf [~chatzilla@d149087.adsl.hansenet.de] has joined #wesnoth-dev 20141106 17:12:26< gfgtdf> wesbot: seen iceiceice 20141106 17:12:51-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20141106 17:28:02-!- cib0 [~cib@132.231.178.212] has quit [Ping timeout: 258 seconds] 20141106 17:28:18-!- boucman_work [~jrosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20141106 17:31:12-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20141106 17:33:11-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20141106 17:34:49-!- tomreyn [~tomreyn@p5B3D5D86.dip0.t-ipconnect.de] has joined #wesnoth-dev 20141106 17:34:55-!- tomreyn [~tomreyn@p5B3D5D86.dip0.t-ipconnect.de] has quit [Changing host] 20141106 17:34:55-!- tomreyn [~tomreyn@megaglest/team/tomreyn] has joined #wesnoth-dev 20141106 17:44:09< Dugi> shadowm: I am here, lemme known if you appear. 20141106 17:52:02-!- happygrue [~Laptop@wesnoth/developer/wintermute] has joined #wesnoth-dev 20141106 18:02:56< bumbadadabum> why does it show the game creation screen after each SP scenario nowadays 20141106 18:03:14< bumbadadabum> can someone explain this to me 20141106 18:03:24< bumbadadabum> also, why are the sprites in the help extremely oversized 20141106 18:04:21-!- Sulfur [~Miranda@p5B327055.dip0.t-ipconnect.de] has joined #wesnoth-dev 20141106 18:14:37< gfgtdf> bumbadadabum: you have latest master? 20141106 18:14:43< bumbadadabum> ye 20141106 18:15:50< gfgtdf> bumbadadabum: you mea teh screen where youcan change players gold + income ? 20141106 18:15:54< bumbadadabum> ye 20141106 18:16:27< gfgtdf> bumbadadabum: that's relates to riftwalkers SP Mp unification ptahc, i but i thought that was fixed in https://github.com/wesnoth/wesnoth/commit/441343aa3ddf8fe6b31038c2a63fca34373acd17 20141106 18:17:32< bumbadadabum> gfgtdf: can you test it on your client? 20141106 18:17:35< bumbadadabum> I recompiled today 20141106 18:17:38< gfgtdf> bumbadadabum: did you use the some advanced settigns to turn "show mp connect" on at the start of them campaign ? 20141106 18:17:42< bumbadadabum> no 20141106 18:19:04< gfgtdf> bumbadadabum: that happesn on every campaign or just on one campaign ? 20141106 18:19:10< bumbadadabum> every 20141106 18:20:01< bumbadadabum> wait 20141106 18:20:03< bumbadadabum> hmm 20141106 18:20:11< bumbadadabum> gfgtdf: it seems to be only for UMC campaigns 20141106 18:20:34-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 18:20:52< gfgtdf> bumbadadabum: do you have a allow_new_game=yes in your scenario = 20141106 18:21:10< bumbadadabum> hmm 20141106 18:21:12< bumbadadabum> oooooh 20141106 18:21:15< bumbadadabum> I see the problem 20141106 18:21:19< bumbadadabum> I was using an old savefile 20141106 18:23:07< bumbadadabum> gfgtdf: is there a way to fix it in savefile 20141106 18:23:49< gfgtdf> bumbadadabum: i just saw the c++ code is bugged 20141106 18:24:05< bumbadadabum> uhu 20141106 18:24:27< bumbadadabum> well I just started a HttT and AtS E3 run and it's fine now 20141106 18:24:33< bumbadadabum> seems that it's still shit on old savefiles 20141106 18:25:26< gfgtdf> bumbadadabum: in https://github.com/wesnoth/wesnoth/blob/master/src/mp_game_settings.cpp (https://github.com/wesnoth/wesnoth/commit/b1514a5bcded9516dc1567c30ed9fd1f9fbbfeab) we save teh value as "show_connect" but read it as "enable_connect" 20141106 18:25:26-!- cib0 [~cib@p5DD21487.dip0.t-ipconnect.de] has joined #wesnoth-dev 20141106 18:25:42< bumbadadabum> ah 20141106 18:26:11< gfgtdf> bumbadadabum: we should read teh value as show_connect too 20141106 18:26:25< bumbadadabum> how do I fix my savegames tho 20141106 18:26:30< gfgtdf> bumbadadabum: this is the wrong line: https://github.com/wesnoth/wesnoth/blob/master/src/mp_game_settings.cpp#L143 20141106 18:26:59< gfgtdf> bumbadadabum: change that line into readin "show_connect" 20141106 18:27:28< bumbadadabum> ah 20141106 18:27:29< gfgtdf> instead of "enable_connect" 20141106 18:29:59< bumbadadabum> that fixes my savegames as well? 20141106 18:30:11< bumbadadabum> also, can I commit that, or are you going to? 20141106 18:31:37-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Ping timeout: 255 seconds] 20141106 18:31:38< gfgtdf> bumbadadabum: most likeley it does. 20141106 18:31:54< gfgtdf> bumbadadabum: feel free to commit if it fixes. 20141106 18:35:48< gfgtdf> bumbadadabum: if teh savefile is still bugged you can try to change [multiplayer] show_connect= [/multiplayer] to "no" 20141106 18:36:46< gfgtdf> bumbadadabum: in the savefile i mean 20141106 18:46:01< bumbadadabum> gfgtdf: it didn't fix my savefile :( 20141106 18:46:44< gfgtdf> bumbadadabum: hmmis it a start-of-scenario savefile ? 20141106 18:46:53< bumbadadabum> r-right 20141106 18:46:53< bumbadadabum> fuck 20141106 18:47:04< gfgtdf> bumbadadabum: can you upload it somewehere ? 20141106 18:47:11< bumbadadabum> no it was a turn 1 20141106 18:47:13< bumbadadabum> I'm a dumb 20141106 18:47:55-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20141106 18:51:33-!- irker787 [~irker@fehu.ai0867.net] has joined #wesnoth-dev 20141106 18:51:33< irker787> wesnoth: gfgtdf wesnoth:master eecf19b0c149 / src/mp_game_settings.cpp: fix savegame reading. http://git.io/Wixhmw 20141106 18:51:40< gfgtdf> bumbadadabum: i commited 20141106 18:51:46< bumbadadabum> ah cool 20141106 18:51:47< gfgtdf> bumbadadabum: accidently 20141106 18:52:04< gfgtdf> somehow i pressed "enter" before i was able to enter teh commit description 20141106 18:53:01< gfgtdf> bumbadadabum: or maybe another key that pushing sending the commit. 20141106 18:53:21< gfgtdf> that invokes pushing teh commit* 20141106 18:54:30-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 18:56:04-!- iceiceice [~chris@wesnoth/developer/iceiceice] has joined #wesnoth-dev 20141106 18:57:22< iceiceice> bumbadadabum: 20141106 18:57:24< iceiceice> 20141106 18:03:24< bumbadadabum> also, why are the sprites in the help extremely oversized 20141106 18:57:40< iceiceice> it was added as a test in response to this post: http://forums.wesnoth.org/viewtopic.php?f=12&t=41109&start=15#p577021 20141106 18:58:14< bumbadadabum> oh 20141106 18:58:55< iceiceice> they are 2x larger now 20141106 18:59:45< gfgtdf> iceiceice: did you out thae change about map_gerneation = in teh release notes ? 20141106 18:59:58< iceiceice> gfgtdf: no i didnt do that 20141106 19:00:03< iceiceice> or close the bug report 20141106 19:00:19< iceiceice> i cant do it right now though, later 20141106 19:02:16-!- iceiceice [~chris@wesnoth/developer/iceiceice] has quit [Quit: Leaving] 20141106 19:15:47-!- kex [~kex@77.28.22.31] has quit [Remote host closed the connection] 20141106 19:16:23-!- kex [~kex@77.28.22.31] has joined #wesnoth-dev 20141106 19:21:12-!- kex [~kex@77.28.22.31] has quit [Ping timeout: 265 seconds] 20141106 19:24:40-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20141106 19:57:50-!- travis-ci [~travis-ci@ec2-54-227-140-101.compute-1.amazonaws.com] has joined #wesnoth-dev 20141106 19:57:50< travis-ci> wesnoth/wesnoth#4660 (master - eecf19b : gfgtdf): The build was broken. 20141106 19:57:50< travis-ci> Build details : http://travis-ci.org/wesnoth/wesnoth/builds/40214902 20141106 19:57:50-!- travis-ci [~travis-ci@ec2-54-227-140-101.compute-1.amazonaws.com] has left #wesnoth-dev [] 20141106 20:04:48-!- boucman [~rosen@2a02-8428-034f-f800-0c5a-75db-a80e-fb69.rev.sfr.net] has joined #wesnoth-dev 20141106 20:04:55-!- boucman [~rosen@2a02-8428-034f-f800-0c5a-75db-a80e-fb69.rev.sfr.net] has quit [Changing host] 20141106 20:04:55-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20141106 20:06:11-!- enchilado [~enchilado@130.102.75.138] has quit [Changing host] 20141106 20:06:11-!- enchilado [~enchilado@defocus/yummy/enchilado] has joined #wesnoth-dev 20141106 20:09:26-!- gfgtdf [~chatzilla@d149087.adsl.hansenet.de] has quit [Quit: ChatZilla 0.9.91 [Firefox 32.0.3/20140923175406]] 20141106 20:11:39-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: Computer's napping] 20141106 20:13:54-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20141106 20:14:24-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20141106 20:21:06< shadowm> iceeiceice: Yes, IftU was considered in the past but I overruled that, so bringing it up doesn't serve any purpose. 20141106 20:25:02-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20141106 20:28:03-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Client Quit] 20141106 20:52:14< Dugi> fabi: I have fixed the problem with always uploading and made it remember which reviews were voted up, but there is currently a mistake somewhere I need to find. 20141106 20:54:25< shadowm> Dugi: Is your PR up to date right now? 20141106 20:56:19< Dugi> shadowm: Nope, I wanted to add a feature fabi suggested, but it have an error somewhere and I need to fix it. Anyway, it isn't a significant change. 20141106 20:58:16-!- duncan_shriek [~roland@2a01:1e8:e100:8618::24] has quit [Ping timeout: 260 seconds] 20141106 21:01:42-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 21:06:41-!- duncan_shriek [~roland@2a01:1e8:e100:8618::24] has joined #wesnoth-dev 20141106 21:08:23< shadowm> Dugi: So I can rate add-ons in a scale from 0 (zero!) to 10. How does this make sense? 20141106 21:10:07-!- iceiceice [~chris@wesnoth/developer/iceiceice] has joined #wesnoth-dev 20141106 21:11:41< Dugi> shadowm: What's a problem with that ten points scale? 20141106 21:12:03< shadowm> Non-programmers usually work with 1-based indices, not zero. 20141106 21:12:43< shadowm> I don't think it makes sense to objectively rate an add-on with a zero unless you are writing a satirical review for entertainment purposes. 20141106 21:13:14< Dugi> shadowm: What do you meani with '1-based indices'? 20141106 21:13:34< Dugi> shadowm: Got it. 20141106 21:13:39< shadowm> ... Counting from one. 20141106 21:14:03< shadowm> One apple, two apples, three apples, you know, mundane stuff like that. 20141106 21:14:36< Dugi> shadowm: The reviews aren't paired with the numerical ratings. The numerical rating was meant just for some quick decisions (separate the weeds that don't work or have just one scenario), the ratings for deeper considerations. 20141106 21:15:33< shadowm> I assume you mean the reviews are for "deeper considerations". 20141106 21:15:47< Dugi> shadowm: I don't think I have ever seen some rating that didn't have a zero value. 20141106 21:16:06< Dugi> shadowm: Yes, I meant the reviews for deeper considerations. 20141106 21:16:43< shadowm> I don't think I've seen 0..10 rating scales anywhere. 20141106 21:17:05< fabi> shadowm, Dugi: Please, don't get lost on details. This stuff can be fine-tuned during the process easily. 20141106 21:17:21< shadowm> fabi: Ssshh, it's fine, it's fine, I know what I'm doing. 20141106 21:17:40< fabi> I like to suggest to replace the 0 with "None" to be able to undo a vote again. 20141106 21:18:22< Dugi> fabi: I was thinking rather about a possibility of adding a button to undo vote. 20141106 21:18:33< shadowm> The add-ons manager gets stuck forever on "sending information about your rating [...]" because IIRC you didn't commit the fix? 20141106 21:19:00< Dugi> shadowm: I haven't committed it yet. 20141106 21:19:02< shadowm> Ignoring that, there's no real indication of when your rating will be submitted until you dismiss the Description dialog. 20141106 21:19:22-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 256 seconds] 20141106 21:19:52< shadowm> The Rate button remains enabled, but there's no text like "you rated this with X, this will be submitted when you close this dialog and you can change it before if you want". 20141106 21:19:53< Dugi> shadowm: The fix was to add 'send_message("Feedback received.", req.sock);' to line 872 in file campaign_server/campaign_server.cpp 20141106 21:20:04< shadowm> Yes I know, I'm ignoring that to get to the point. 20141106 21:20:10< Dugi> shadowm: I am just about to add that. 20141106 21:21:14< Dugi> I have just fixed the error I was mentioning before. 20141106 21:22:13< Dugi> Now it remembers which reviews were voted for, but it does not remember yet how many hours were submitted and it does not show what rating was submitted. 20141106 21:22:20< shadowm> Dugi: I assume line 872 in that file is actually the end of the [rate_addon] handler? 20141106 21:22:34< Dugi> shadowm: Yes, 20141106 21:22:57< shadowm> Line numbers are completely different for me because of changes that weren't merged in your branch. Incidentally, this is why the other day I asked you to use unified diffs with context (like `git diff` produces) instead of the default diff format. 20141106 21:23:05< Dugi> I forgot to add the return message to the other new server action. 20141106 21:23:19< shadowm> Files change all the time and line numbers become stale really quickly, so line number-based matching algorithms break. 20141106 21:23:27< Dugi> Ah, yes, I will send you that quickly. 20141106 21:23:44< shadowm> No, I'm not requesting you to send me anything right now, I'm only explaining. 20141106 21:24:17< shadowm> Unified diffs with context provide plain-text fragments of the surrounding context for each set of changes. This allows automated tools to use that context as a fallback when line number-based matching fails. 20141106 21:24:51< shadowm> That way files can keep changing and patches can still work as long as the context remains intact. 20141106 21:24:55< Dugi> Here it is: http://pastebin.com/1pWdm494 20141106 21:25:04< shadowm> Yes, see above. 20141106 21:25:54< Dugi> I think I'll have to split that to several commits again anwyay 20141106 21:26:10< shadowm> Did you want me to do anything with that paste? 20141106 21:27:08< shadowm> And while I'm looking at [rate_addon]'s implementation, that massive if/else could be easily replace with a single if and a return statement in it. 20141106 21:27:14< Dugi> shadowm: Well, you mentioned that my code looks ugly in many cases, so I would like to know where. So far, I was coding to get a code that works, not to have it look properly. 20141106 21:27:26< shadowm> I'd generally prefer if we didn't indent deeper than strictly necessary. 20141106 21:27:37-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20141106 21:27:48< Dugi> shadowm: You mean the server's rate add-on or the client's rate add-on? 20141106 21:28:02< shadowm> [rate_addon]'s request handler. 20141106 21:28:37-!- timotei [~timotei@wesnoth/developer/timotei] has quit [Ping timeout: 245 seconds] 20141106 21:29:05< Dugi> shadowm: You mean adding a return command to that if and not continuing the rest as else block? 20141106 21:29:12< shadowm> Yes. 20141106 21:29:47-!- timotei [~timotei@79.119.103.149] has joined #wesnoth-dev 20141106 21:29:55-!- timotei [~timotei@79.119.103.149] has quit [Changing host] 20141106 21:29:55-!- timotei [~timotei@wesnoth/developer/timotei] has joined #wesnoth-dev 20141106 21:30:02< shadowm> That's in fact my major motivation for refactoring everything into methods. 20141106 21:30:11< Dugi> shadowm: Okay, I'll do it. 20141106 21:30:39< iceiceice> shadowm: quick question, 20141106 21:30:46< shadowm> Anyway, this was an unexpected tangent and today we were going to focus on the functionality, not the code. 20141106 21:30:48< iceiceice> i remember you were talking about merging big changes to add-on manager code? 20141106 21:30:54< iceiceice> did that already happen? 20141106 21:30:57< shadowm> iceiceice: No. 20141106 21:31:08< iceiceice> ok, eventually i would like to rebase and test this: https://github.com/wesnoth/wesnoth/pull/284 20141106 21:31:13< iceiceice> but there is no urgency 20141106 21:31:45< Dugi> shadowm: Isn't using a lot of methods a bit too much of functional programming? 20141106 21:31:47< shadowm> iceiceice: Yeah, the fact that it hasn't been merged yet doesn't mean it doesn't conflict with my plans. 20141106 21:32:18< iceiceice> shadowm: i'm sure i'll be able to figure out how to adapt to whatever changes you decide to make 20141106 21:32:28< shadowm> Dugi: The alternative was a single 1000-lines long method. Which one do you prefer? 20141106 21:32:47< shadowm> And no, that's not functional programming. 20141106 21:33:19< iceiceice> Dugi: lots of methods, actually lots of classes, is usually the prefered style 20141106 21:33:24< Dugi> shadowm: 1000 lines is too much indeed. Unless it's a long, complex algorithm with little branching or something like that. Where do you have a 1000 lines long method? 20141106 21:33:34< iceiceice> even many tiny classes, if they are conceptually clean 20141106 21:33:50< shadowm> Dugi: Not my code, just campaignd prior to my refactoring. 20141106 21:33:54< iceiceice> in "Extreme" object oriented style, every method (or almost every) is like 3 lines long 20141106 21:34:12< iceiceice> the 1000 lines stuff is bad, that's like psychotic fortran programs from the 70s 20141106 21:34:13< shadowm> Take all the methods you saw and stuff them in a deeply-nested for loop in try block in a method. 20141106 21:34:27< iceiceice> its considered very difficult to maintain stuff lke that 20141106 21:34:38< iceiceice> ideally the definition of the function should fit on your screen, or maybe two screens 20141106 21:34:56< Dugi> So I am wrong. It just reminded me of Haskell I have to learn at school to 'enrich ways of thinking in programming'. 20141106 21:35:22< shadowm> I was hesitant about the refactoring at first but I decided that the performance impact is close to non-existent. 20141106 21:35:35< shadowm> And the readability gain, massive. 20141106 21:36:27< shadowm> Because performance-wise, the only difference before and after is that there's a (tiny) look-up table, and infinitesimal function call overhead. 20141106 21:36:34< Dugi> Doesn't the compiler solve slowdowns related to using more functions that optimal? 20141106 21:36:58< shadowm> Yes, but in this case the compiler can't inline the request handlers. 20141106 21:37:18< Dugi> Ah. 20141106 21:37:53< shadowm> Anyway, I rated AtS 5 and got a rating of 2.5 next time I loaded the Add-ons Manager. 20141106 21:38:04< shadowm> So how does the rating algorithm work? 20141106 21:39:14< Dugi> It's a weighted average of users' ratings and scores computed from download frequencies and hours the players spent playing it. 20141106 21:39:29< Dugi> Users' ratings get a half of the total. 20141106 21:39:41< Dugi> Why the hell did you give only 5/10 to AtS? 20141106 21:40:49< shadowm> Because I bear a grudge against its author. 20141106 21:42:52< shadowm> See, this is where I fail, because I don't know statistics. 20141106 21:43:16< shadowm> Plus I can only reliably count to two. 20141106 21:43:51< shadowm> So if I understand correctly, the fact that I've played this add-on for zero seconds is decisive in computing the actual score for the add-on? 20141106 21:44:45< Dugi> No. It just counts as not played yet and gets 0 score for time spent playing it. 20141106 21:45:49< shadowm> But it got 2.5 instead? 20141106 21:46:18< shadowm> So I can actually submit a new rating and the score changes to 4.5. 20141106 21:46:53< Dugi> That 2.5 was for the 5/10 rating. Users' rating is more important than the other numbers and it makes a half of the total rating. 20141106 21:46:57< shadowm> Does this mean IPs from people who rated the add-on aren't tracked/you are always allowed to rate it again? 20141106 21:47:22< Dugi> It is tracked, but the last rating from a single IP takes effect. 20141106 21:47:42< shadowm> Okay, so if I rate it 10 I get a score of 5. 20141106 21:48:03< Dugi> Yes, 20141106 21:48:21< shadowm> And if I rate it 0, the score becomes "None". 20141106 21:48:36< shadowm> So the 0 actually stands for "I don't want to rate this"? 20141106 21:51:31< shadowm> I can like reviews. The purpose of that is to help people sort reviews by usefulness/legitimacy? 20141106 21:51:50< Dugi> That wasn't supposed to happen. 20141106 21:52:13< Dugi> There is no way to unrate something at the moment, once you rate it, you can only change it. 20141106 21:52:32< Dugi> Yes, liking reviews allows sorting them by usefulness/legitimacy. 20141106 21:52:36< shadowm> Well, I still maintain that the zero rating feels unnatural to a non-programmer. 20141106 21:53:22< shadowm> If I write a review once, then write another for the same add-on, what will happen to my previous review? 20141106 21:53:46< Dugi> Reviews remain. 20141106 21:55:06< shadowm> What would be the use of allowing the same person to submit multiple reviews for the same add-on? 20141106 21:55:43< Dugi> Yes. But he can'ŧ like his own reviews and other users will decide which one is the best. 20141106 21:56:20-!- iceiceice [~chris@wesnoth/developer/iceiceice] has quit [Quit: Leaving] 20141106 21:56:26< Dugi> Some people can change opinion and others can agree with the old one. You complain a lot about stuff you've done in IftU, but I adore IftU when it is as it is. 20141106 21:57:47< shadowm> I feel the add-ons server should notify the client that it's not allowed to like certain reviews so that the functionality is disabled for those specific reviews so someone doesn't later write us mail asking why liking "their friend's reviews" doesn't work. 20141106 21:58:03< shadowm> (Where "their friend" is obviously themselves.) 20141106 21:58:50< shadowm> I do see that this mightn't be particularly easy to implement and might be best left as a task for a later time. 20141106 21:59:39< shadowm> So, as evidenced by the fact that I rated and reviewed AtS from the same IP I last uploaded it, add-on publishers can rate and review their own add-ons. 20141106 21:59:50< Dugi> Let them write, it's better than explaining them that they're identified somehow. If they're kept ignorant, they will not seek ways to avoid it. 20141106 22:00:02< shadowm> What's the use of that? (Yes, I'm deliberately pretending IPs are unique identifiers when this doesn't reflect reality, bear with me for a while.) 20141106 22:00:35< duncan_shriek> Dugi: shadowm: any thoughts for how big the community has to be for any observable content changes, in DAUs (Daily active users)? Count me out, I'm the antisocial type 20141106 22:00:45< Dugi> 'bear with me for a while' doesn't seem like my writing. 20141106 22:01:26< shadowm> Dugi: Of course not, because I wrote that. 20141106 22:01:38< Dugi> shadowm: Ah, got it. 20141106 22:02:43< Dugi> shadowm: They aren't unique, but there will be a lot of feedback. If one out of a thousand is lost due to the checks, very little damage is done. 20141106 22:03:15< Dugi> shadowm: That is also another reason why reviews aren't checked that way. 20141106 22:05:04< shadowm> If I write a new review, it's not added to the reviews dialog when I get back to it. 20141106 22:05:29< shadowm> I know it hasn't been submitted to the add-ons server at that point, but it still feels like something that should happen. 20141106 22:05:34< Dugi> I have realised that it's needed only recently. 20141106 22:05:48< shadowm> duncan_shriek: Hm, sorry, I didn't understand your question. 20141106 22:06:05< Dugi> Maybe it would be better just to add an announcement that 'Your reviews has been submitted'. 20141106 22:06:40< shadowm> Except it's not submitted until the Description dialog returns to add-ons manager land AFAICT. 20141106 22:07:04< Dugi> Yes, but the impact on user is neglectful. 20141106 22:07:23< shadowm> I disagree with that. Every little detail like this counts for the user experience. 20141106 22:08:02< Dugi> It will not have effect only if the client crashes at that point or the internet connection fails. 20141106 22:08:04< shadowm> Right now the actual submission takes place at a non-obvious time (for the user, not us programmers). 20141106 22:08:16< Dugi> Or maybe 'Your review will be submitted'. 20141106 22:08:17< duncan_shriek> shadowm: I fear you are talking about a quite heavy solution for a not exitsting problem. I (as user) would always prefer the plain old forum for discussing contents 20141106 22:08:24< shadowm> Then the UI tends to forget details like the review I just wrote or the rating I just selected. 20141106 22:08:41< shadowm> These all make the product seem much less polished. 20141106 22:09:22< shadowm> duncan_shriek: Well, sure. I'm not really an advocate of overengineering this myself. 20141106 22:09:49< Dugi> Quick question: how do I change the contents of a label while the window is up? 20141106 22:10:05< shadowm> Get the widget, call its set_value() method. 20141106 22:10:26< shadowm> The actual name may differ. 20141106 22:11:04-!- Sulfur [~Miranda@p5B327055.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20141106 22:11:12< shadowm> Okay, no, it's actually set_value(). 20141106 22:12:08< shadowm> duncan_shriek: The thing is that the problem actually exists. There are many add-ons which are probably not worth everyone's time. 20141106 22:12:32< Dugi> Thanks, I found the find_widget method. 20141106 22:13:10< shadowm> For example, I wouldn't play an add-on that has massive battle scenarios because that becomes more of a hand/eye coordination exercise than tactical strategy. 20141106 22:14:05< shadowm> But how can we learn this before downloading it? The forums aren't quite suited for user-to-user reviews at the moment. 20141106 22:14:26< shadowm> Information gets lost all the time, and existing feedback threads are actually just that. User-to-author feedback. 20141106 22:15:10< shadowm> One could say that there aren't that many add-ons, but for people playing casually, every hour spent on a game counts. 20141106 22:16:15< shadowm> I'm still not quite decided on whether allowing anonymous reviews (since the add-ons server lacks an authentication mechanism atm) is a good idea in the first place. 20141106 22:16:51< shadowm> Plus, how do non-English speakers factor into the whole design? 20141106 22:17:42< Dugi> If somebody writes some crap there, he will not receive votes that it's good and it will remain down somewhere as an obvious troll post that doesn't reflect the opinion of no man. 20141106 22:18:01< Dugi> The add-on descriptions are English-only anyway. 20141106 22:19:12< Dugi> Qucik question: how do I use find_widget on widgets that have no parent? 20141106 22:19:14< shadowm> Some add-ons include translations, which are listed in the Description dialog. Not enough add-ons for me to have bothered with adding a translation filter option, but still. 20141106 22:19:19< duncan_shriek> shadowm: If there are not enough reviews, user-to-user or not, on the forum, it's mainly because of the users. The new thing will get no better users, there aren't others. I've always found enough infos there to get a feeling of what to expect when starting a new campaign 20141106 22:19:57< shadowm> Dugi: In general, you are supposed to assign ids to widgets the code relies on. find_widget is only designed to find widgets by id. 20141106 22:20:49< shadowm> You can find widgets by ancestry rather than id, but that's unreliable as it depends upon the implementation of each widget, which is always subject to change. 20141106 22:21:19< Dugi> shadowm: Yes, but it wants something weird as the first argument. 20141106 22:21:23< shadowm> duncan_shriek: But that's the thing, there are no user-to-user reviews in the forums. 20141106 22:21:40< Dugi> shadowm: Any idea what belong there? 20141106 22:22:01< shadowm> People don't go and post new topics with their thoughts on a campaign, they post their thoughts in the campaign's topic, and that's not a place you would normally visit for a campaign you havn't played yet. 20141106 22:22:43< shadowm> In particular, for story-heavy campaigns you'd better avoid those unless you want to read spoilers. 20141106 22:22:49-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20141106 22:23:20< shadowm> Even strategy spoilers can ruin the game. 20141106 22:24:04< shadowm> Dugi: The first argument is the parent from which to search for the specified widget. The parent window counts as a widget as well. 20141106 22:24:43< shadowm> If you check src/gui/dialogs/game_cache_options.cpp line 82 onwards (pre_show() method) you'll see find_widget instantiations get called multiple times with the same parent (the window) and different ids. 20141106 22:24:59< duncan_shriek> shadowm: Well, perhaps I have a too hard time imagining a typical user experience. I mostly read the WML before playing a scenario, story spoiled OK 20141106 22:25:27< shadowm> duncan_shriek: Oh yes, I'd definitely not do that. Especially not for my own campaigns. 20141106 22:25:44-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 22:25:54< Dugi> shadowm: Thanks, 20141106 22:29:29< shadowm> Dugi: There are several language, style, and layout issues with the GUI2 dialogs you introduced, btw. Do you want me to go over them right now or at a later time? 20141106 22:30:15< Dugi> shadowm: In a few minutes, I need to fix the issue I am facing now (doesn't look like a hard-to-fix problem). 20141106 22:30:45< shadowm> Well, I'll start dumping them here then. 20141106 22:30:56-!- [Relic] [~relic@99-58-54-211.lightspeed.milwwi.sbcglobal.net] has joined #wesnoth-dev 20141106 22:31:50< shadowm> For addon_rate, the caption reads "Rate This Add-on", it should be "Rate Add-on" for simplicity. 20141106 22:32:44< shadowm> IN addon_reviews_list, the caption needs to be in title case ("Add-on Reviews"). 20141106 22:33:18< shadowm> The dialog control buttons order is inverted from the norm in Wesnoth -- "Write a review" needs to be to the left of "Close". 20141106 22:34:03< shadowm> It should also be "Write Review" (Title Case again) or "Review". Button labels in general must be succint so as to not cause problems when translations come into play. 20141106 22:34:46< shadowm> "0 people like this review. Do you like it too?" -- very convenient language for a programmer, terrible for a normal user. There are three possible cases to keep in mind: 20141106 22:35:21< shadowm> 1) The review has 0 likes -- "This review has not been rated before. Do you like this review?" or similar language. 20141106 22:36:07< shadowm> 2) The review has 1 like -- using gettext plurals (the _n() macro), "One person likes this review. Do you like it too?" or similar language (note using "one" instead of a single digit). 20141106 22:36:23< Dugi> shadowm: How do I set the conents of a label? set_value() doesn't work, other methods I have seen don't seem to do anything like that. 20141106 22:36:27< shadowm> 3) The review has n likes where n > 1 -- using gettext plurals (again). " people like this review. Do you like it too?" 20141106 22:37:01< shadowm> There is also a minor padding issue with the contents of every reviews list entry, causing the checkbox pseudo-label to be deeper inside than the review text. 20141106 22:37:23< shadowm> Dugi: set_value() works. 20141106 22:38:46< Dugi> shadowm: Doesn't seem so. It reports: ‘class gui2::tlabel’ has no member named ‘set_value’ 20141106 22:39:23< Dugi> Why is that one file named find_widget.tpp (not hpp or cpp)? 20141106 22:39:36< shadowm> Because it only contains template code. 20141106 22:39:59< shadowm> Dugi: Okay, it's set_label() for tcontrol. 20141106 22:40:12< shadowm> set_value() is a ttext_ thing, my bad. 20141106 22:41:32< shadowm> "If you have played this add-on before, vote for the review that reflects your opinion the best, or write your own review" would be better language for the addon_reviews_list summary. 20141106 22:42:26< shadowm> In addon_review_write, I must say I'm not impressed with the fact that we are still limited to single-line editable textboxes. 20141106 22:43:10< shadowm> I know this is a framework limitation and not your fault, but I still feel the need to point it out because it's absolutely preposterous that we're still here in 2014. 20141106 22:44:09< shadowm> Still in addon_review_write, again, "Review Add-on" (Title Case and less words) for the caption. 20141106 22:44:50< shadowm> I'm also not happy with the language employed to describe the various review aspects (in particular, do not use English contractions in the UI), but I can't offer alternatives right now. 20141106 22:44:55< Dugi> I think that it's good that these editors aren't multiline, because the review should have a certain structure - it should be split into these 5 parts. 20141106 22:45:46< shadowm> I'd like them to look like line-wrapped multiline boxes even if they do not accept line breaks, but again, we can't do this at the moment. 20141106 22:46:18< shadowm> Why? Readability. Single-line textboxes are only good for short sentences that fit within the available horizontal space. 20141106 22:46:23< Dugi> What do you mean with 'do not use English contractions in the UI'? Like no apostrophes? 20141106 22:46:47< shadowm> "don't", "can't", "couldn't", "mustn't", "oughtn't", etc. 20141106 22:47:04< Dugi> Well, these lines shouldn't be too long, the review must be easy to read. 20141106 22:47:13< shadowm> Avoiding "'s" possessives is also a good idea because it often harms internationalization. 20141106 22:47:33< shadowm> That, specifically, when the possessor is variable. 20141106 22:47:55< shadowm> Otherwise I don't really mind "'s" possessives. 20141106 22:49:43< Dugi> shadowm: In campaigns, I obey that rule, in my language the grammar of rest of the sentence can depend even on the gender of the unit that owns it, not only on its quantity. But I didn't think that it may be the case here. 20141106 22:51:09-!- gfgtdf [~chatzilla@d149087.adsl.hansenet.de] has joined #wesnoth-dev 20141106 22:51:19< shadowm> Dugi: Avoiding contractions (not 's) is merely a style thing, it's not about i18n. 20141106 22:51:42< shadowm> Contractions are shortcuts and are not intended for use in formal *written* English. 20141106 22:52:08< shadowm> The UI, save for specific exceptions, uses formal U.S. English. 20141106 22:52:14< Dugi> Well, good to know that it isn't usual. I don't usual watch out about the use of contractions in English. 20141106 22:52:52< shadowm> It's fine for characters speaking because they are... well, speaking. You are writing a transcript of a conversation. 20141106 22:53:56-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20141106 22:53:59< Dugi> shadowm: Still, how do I change the contents of a label outside the constructor? 20141106 22:54:13< shadowm> 19:39:57 Dugi: Okay, it's set_label() for tcontrol. 20141106 22:54:13< shadowm> 19:40:10 set_value() is a ttext_ thing, my bad. 20141106 22:54:22-!- happygrue [~Laptop@wesnoth/developer/wintermute] has quit [Ping timeout: 265 seconds] 20141106 22:54:23< shadowm> Dugi: Didn't this work? 20141106 22:55:36< shadowm> To clarify, tlabel is a tcontrol subclass, so it has the set_label() method. 20141106 22:55:44< Dugi> shadowm: Works. I must have misread something. 20141106 22:56:22-!- gfgtdf_ [~chatzilla@e177145093.adsl.alicedsl.de] has joined #wesnoth-dev 20141106 22:56:58< shadowm> Dugi: With all this out of the way, now I must ask: how does the game know how many hours I spent playing an add-on? 20141106 22:57:19< Dugi> shadowm: Bummer: 'If you have played this add-on before, vote for the review that reflects your opinion the best, or write your own review' is too long for the intended size of the window, should I break it into more lines? 20141106 22:57:56< shadowm> Dugi: [window][resolution] accepts a maximum_width (in pixels). 20141106 22:57:56< Dugi> shadowm: It keeps track of campaigns, eras, modifications and scenarios played. 20141106 22:58:03< shadowm> Dugi: Yes, but how? 20141106 22:58:22-!- gfgtdf [~chatzilla@d149087.adsl.hansenet.de] has quit [Ping timeout: 240 seconds] 20141106 22:58:33-!- gfgtdf_ is now known as gfgtdf 20141106 22:59:07-!- Dugi_ [93fbd29f@gateway/web/freenode/ip.147.251.210.159] has joined #wesnoth-dev 20141106 22:59:15-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20141106 22:59:50< Dugi_> I accidentally killed my xserver. 20141106 23:00:04< Dugi_> Was something important told just after my last reply? 20141106 23:00:31< shadowm> There's a link to the logs of this channel in the topic. 20141106 23:00:43< shadowm> You know, at the top of the webchat. 20141106 23:00:50< shadowm> http://www.wesnoth.org/irclogs/2014/11/%23wesnoth-dev.2014-11-06.log 20141106 23:01:07< Dugi_> Caught up. 20141106 23:01:39< Dugi_> What I wanted to say is that I don't want the window to be larger, it would be really humongous with that text. 20141106 23:02:13-!- Dugi [93fbd29f@gateway/web/freenode/ip.147.251.210.159] has quit [Ping timeout: 246 seconds] 20141106 23:02:15< shadowm> maximum_width keeps the window constrained to that width. 20141106 23:02:37-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 23:02:39< Dugi_> But there is a horizontal scrollbar that is something I prefer to avoid. 20141106 23:02:55< shadowm> Oh. 20141106 23:03:05< Dugi_> It would be really large if the sentence was in French or some other letter-costy language. 20141106 23:03:07< shadowm> wrap = true for [label] widgets, alternatively use [scroll_label]. 20141106 23:03:13< vultraz> wrap it 20141106 23:04:00< shadowm> [scroll_label] allows the label to gain scrollbars when it needs more space, which you usually don't want for UI labels, so [label] wrap = true is preferred. 20141106 23:04:18< Dugi_> Helped. 20141106 23:04:41< Dugi_> I remember that scroll_label was somewhat bugged, but in this case, the bug didn't cause trouble. 20141106 23:04:51< vultraz> If you really want to make sure scrollbars never appear, use *_scrollbar_mode=never 20141106 23:05:09< shadowm> Anyway, I am done with the first look at the functionality and now I'm going to go work on other things, but I still want to know exactly how the time tracking works. 20141106 23:05:10-!- Dugi_ is now known as Dugi 20141106 23:05:30< shadowm> vultraz: That's usually a bad idea. 20141106 23:06:20< Dugi> When add-ons are loaded, it notes which campaigns, eras and modifications belong to which add-on folder. 20141106 23:06:21< shadowm> If scrollbars are appearing unexpectedly it means you did something wrong. It's better to let the UI add scrollbars in that case until it's fixed. 20141106 23:07:32< Dugi> When a game is loaded, it checks which add-ons are used there and checks timestamps until the controller is destroyed. 20141106 23:08:09-!- Anakonda [Anakonda@87-92-190-167.bb.dnainternet.fi] has quit [Read error: Connection reset by peer] 20141106 23:13:30-!- happygrue [~Laptop@wesnoth/developer/wintermute] has joined #wesnoth-dev 20141106 23:18:11-!- iceiceice [~chris@wesnoth/developer/iceiceice] has joined #wesnoth-dev 20141106 23:18:32-!- kex [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 23:18:37< iceiceice> Dugi: scroll label is also good because at least atm i changed it so that it renders hyperlinks and lets you click on them in the text 20141106 23:19:28-!- tomreyn [~tomreyn@megaglest/team/tomreyn] has quit [Quit: tomreyn] 20141106 23:20:12-!- kex [~kex@78.157.29.160] has quit [Read error: Connection reset by peer] 20141106 23:20:15-!- Kexoth [~kex@78.157.29.160] has joined #wesnoth-dev 20141106 23:23:53-!- cib0 [~cib@p5DD21487.dip0.t-ipconnect.de] has quit [Ping timeout: 244 seconds] 20141106 23:24:15< shadowm> Dugi: I'd have preferred to see that time-tracking code in a separate pull request. 20141106 23:24:32< shadowm> Or failing that, at the very least, a separate commit at the start of yours. 20141106 23:24:59-!- markus_ [~mjs-de@g228032039.adsl.alicedsl.de] has joined #wesnoth-dev 20141106 23:26:18-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20141106 23:28:41-!- mjs-de [~mjs-de@f049225248.adsl.alicedsl.de] has quit [Ping timeout: 265 seconds] 20141106 23:29:26-!- irker787 [~irker@fehu.ai0867.net] has quit [Quit: transmission timeout] 20141106 23:29:36-!- cib0 [~cib@p5DD20B06.dip0.t-ipconnect.de] has joined #wesnoth-dev 20141106 23:30:03-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev 20141106 23:30:34-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20141106 23:31:31-!- cib0 [~cib@p5DD20B06.dip0.t-ipconnect.de] has quit [Client Quit] 20141106 23:32:15< Dugi> shadowm: It originally was a separate commit, I think. 20141106 23:32:39< Dugi> shadowm: But I think that it would be better to do all the corrections first and split it to several commits later. 20141106 23:32:53-!- noy [~Noy@wesnoth/developer/noy] has quit [Quit: noy] 20141106 23:33:02< Dugi> shadowm: Sorry for the delay, I saw little replies so I checked here less and less... 20141106 23:33:22-!- noy [~Noy@wesnoth/developer/noy] has joined #wesnoth-dev 20141106 23:33:31-!- noy [~Noy@wesnoth/developer/noy] has quit [Client Quit] 20141106 23:34:04< shadowm> This is IRC. You are not required to keep your eyes on the window unless your server is on fire. 20141106 23:34:50< shadowm> That's also why we have public logs of this channel, so people need not be around to be messaged. 20141106 23:35:46< Dugi> shadowm: Still I consider it good manners to reply early. 20141106 23:36:02< shadowm> Yeah, but that isn't always feasible. 20141106 23:36:51< shadowm> For example, I'm on IRC a lot of ours a day but I don't have my client window on the foreground most of the time, and instead I'm doing other things even when not afk. 20141106 23:37:48< shadowm> This is the case for most poeople here. 20141106 23:39:25< Dugi> shadowm: Something else regarding the code review? I have fixed all these problems except those checkboxes that weren't alligned right. 20141106 23:40:42< Dugi> Not quite sure what to do with that bad alignment. 20141106 23:40:56< shadowm> Dugi: I didn't look at the code today, since I want to work on other things now, so I'd rather take a look at it tomorrow. 20141106 23:41:42< shadowm> I did mention the other day that you threw Cish anonymous structs in src/addon/info.hpp and this is still the case. 20141106 23:42:38< Dugi> Better not tomorrow, can it be on Sunday? 20141106 23:42:58< shadowm> Okay. 20141106 23:43:06< Dugi> What's the problem with those structs? Should I give them another name besides that typedefed? 20141106 23:43:20< shadowm> Have you seen their parent struct? 20141106 23:43:23-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has quit [Quit: i go nstuf kthxbai] 20141106 23:43:40< shadowm> Do you see it using the C struct typedef idiom? 20141106 23:43:45< Dugi> You mean that I don't have to use typedef at all? 20141106 23:43:55< shadowm> Exatly. 20141106 23:44:01< Dugi> Didn't know that. 20141106 23:44:14< Dugi> I will fix that. 20141106 23:44:19< shadowm> I don't remember why this is a recurrent idiom in C, but it's not used in our C++ style at all. 20141106 23:44:56< shadowm> C++ class and structs in our code are free-standing and are never anonymous. 20141106 23:47:46< Dugi> Nice. I'll correct that also in all my other codes. 20141106 23:49:40-!- SpoOkyMagician [~chatzilla@cpe-74-132-242-221.swo.res.rr.com] has joined #wesnoth-dev 20141106 23:51:53-!- ancestral [~ancestral@71-34-14-121.mpls.qwest.net] has joined #wesnoth-dev --- Log closed Fri Nov 07 00:00:18 2014