--- Log opened Wed Dec 23 00:00:26 2015 --- Day changed Wed Dec 23 2015 20151223 00:00:26< celticminstrel> Personally, I think that, since WML is quite adequate for defining data structures, there's no reason to move away from WML... though altering the structures so as to phase out macro substitutions wouldn't go amiss. 20151223 00:00:31< Necrosporus> celticminstrel, new game is the best option because its better to have two different games that just one game? 20151223 00:00:44< celticminstrel> Ah, well okay, if you want to look at it that way. 20151223 00:00:48 * celticminstrel shrugs. 20151223 00:01:47< celticminstrel> If someone wants to start a new game and integrate things from Wesnoth, and someone else wants to port some of the best things from the new game back to Wesnoth, then yeah, it could be beneficial. 20151223 00:01:59< celticminstrel> I wouldn't call it a solution though. 20151223 00:04:00< Necrosporus> I wonder, what is the fundamental difference between some proprietary games and free games 20151223 00:04:20< celticminstrel> Do you think there is a fundamental difference? 20151223 00:04:24< Necrosporus> For example, let's take StarCraft (first one), it was popular for twenty years 20151223 00:04:29< celticminstrel> I think your question is impossible to answer. It's too vague. 20151223 00:04:31< Necrosporus> but it was not developed at all, was it? 20151223 00:04:37< celticminstrel> But if you give specific examples... 20151223 00:04:47< celticminstrel> What do yo mean by "it was not developed at all"? 20151223 00:05:23< Necrosporus> Well, do not players in 2015 use same engine and even same executables as back in 199x? 20151223 00:05:40< Necrosporus> I'm not sure, I did not play it much myself 20151223 00:06:47< celticminstrel> I have it, and I've heard that Blizzard released patches for it to run on newer computers, but since it runs fine on my Win7 I've had no need to look into patches (or perhaps they were already applied)... but I feel like you misunderstand the word "develop". 20151223 00:06:50< celticminstrel> ^you 20151223 00:06:57< celticminstrel> If it was not developed at all, then it would not exist. 20151223 00:07:44< Necrosporus> The point is that fundamental changes in game engine are not required for game to get success 20151223 00:08:08< celticminstrel> People will work with what they have, yeah. 20151223 00:08:26< Necrosporus> In other hand, Wesnoth was reworked a lot since 1.0 20151223 00:08:34< celticminstrel> It may be nicer if you know that new features will be added, but even without that, 20151223 00:10:16< Necrosporus> Are there possible new features that Wesnoth really need? 20151223 00:11:06< Necrosporus> Maybe it doesn't even? Then improving performance and fixing bugs is more important than new features? 20151223 00:13:08< celticminstrel> There are always possible new features. 20151223 00:13:21< celticminstrel> But fixing bugs is also very important too. 20151223 00:13:33-!- oldlaptop [~quassel@50.36.242.96] has joined #wesnoth-dev 20151223 00:14:17< Necrosporus> celticminstrel, are there any features that you feel missing? 20151223 00:14:20< celticminstrel> Speaking of bugs, zookeeper mentioned that backstab is wrongly accounted for in the right panel... is there a ticket for that? 20151223 00:14:38< celticminstrel> Necrosporus: I can't think of any off the top of my head, but I feel like there's probably at least one or two. 20151223 00:15:26< Necrosporus> I would rather like something for making addons like Trader Strange Legacy much easier to develop 20151223 00:15:37< Necrosporus> I liked the addon, but it was quite buggy 20151223 00:15:43< Necrosporus> and slow and stuff 20151223 00:15:50< celticminstrel> I don't know anything about the addon. 20151223 00:16:15< Necrosporus> It is a full fledged role playing game implemented in Wesnoth engine 20151223 00:16:20< Necrosporus> In WML 20151223 00:17:04< celticminstrel> I can't determine from that what kind of features would make it easier to develop. 20151223 00:17:19< celticminstrel> Whoever developed it would probably have some better ideas than me. 20151223 00:17:37< gfgtdf> celticminstrel: no there is no ticket for that 20151223 00:17:39< celticminstrel> Whoa whoa what happened to the loadgame dialog. 20151223 00:17:54< celticminstrel> It's not supposed to shrink vertically to fit, is it? 20151223 00:18:06< celticminstrel> Also it appears to lack support for folders. 20151223 00:18:18< celticminstrel> Was that always the case? 20151223 00:18:20< gfgtdf> celticminstrel: the loadgame dialog never supported folders 20151223 00:18:36< celticminstrel> Annoying, but I guess I can work with it. 20151223 00:19:48< Necrosporus> celticminstrel, the main problem is the performance of macro substitution. At least the author said that he abandoned using macros for that reason 20151223 00:20:09< Necrosporus> So the game has a lot of duplicating code 20151223 00:20:17< celticminstrel> I think phasing out macros is a good idea. Macros conceal enormous amounts of code duplication behind a false front. 20151223 00:20:53< celticminstrel> Unit abilities and weapon specials are major offenders. Animations also use a lot of boilerplate. 20151223 00:21:07< Necrosporus> And terrain graphics 20151223 00:21:21< celticminstrel> Oh yeah, those too. They're probably the worst offenders actually. 20151223 00:21:23< Necrosporus> I think that animations are more or less fine 20151223 00:21:34< celticminstrel> I forgot about them because I don't work with them much. 20151223 00:22:11< Necrosporus> I was terrified when I have seen the number of macros, as the result I implemented my custom terrain without macros at all 20151223 00:22:20< celticminstrel> BTW gfgtdf, is the loadgame dialog supposed to shrink vertically if there aren't many saved games? 20151223 00:23:14< gfgtdf> celticminstrel: hmm dik but i wouldn't call this an issue 20151223 00:23:17< gfgtdf> idk* 20151223 00:23:34< celticminstrel> I guess it's not really an issue, but it startled me. 20151223 00:24:10< gfgtdf> celticminstrel: its likeley that i didnt shring when the dialog was in gui1 20151223 00:33:22-!- prkc [~prkc@54008347.dsl.pool.telekom.hu] has quit [Remote host closed the connection] 20151223 00:37:30< Necrosporus> Also, there were announcements that developers are needed for Wesnoth 20151223 00:38:02< Necrosporus> Are there any pending tasks which are not related to messing around with C++ source? 20151223 00:38:49< celticminstrel> I'm sure there's some stuff involving WML or Lua, but I don't know exactly what. 20151223 01:00:05< celticminstrel> I just loaded a save made after the victory dialog popped up and realized the game was still allowing me to move units. 20151223 01:01:37< celticminstrel> Also, it seems that [item]s are not being saved. 20151223 01:02:22< celticminstrel> Or something like that. They're not showing up during replay, at least. 20151223 01:05:59< celticminstrel> What I said for post-victory saves also applies to post-defeat saves. 20151223 01:11:30< celticminstrel> Hmm. For AToTB, my change barely affects the save size with compression, though I imagine there are better choices of campaigns for comparing this. 20151223 01:11:51< celticminstrel> It reduces it by just a few kilobytes. 20151223 01:12:54< celticminstrel> Without compression the savings only reache tens of kilobytes. 20151223 01:14:12< celticminstrel> Hmm, there's also something weird involving [item]s like previously mentioned... 20151223 01:14:25< celticminstrel> Oh. 20151223 01:14:42< celticminstrel> OH. 20151223 01:14:46 * celticminstrel sighs. 20151223 01:15:12< celticminstrel> Never mind, I'll just have to do this all over again... though maybe I should figure out what's with this item thing first... 20151223 01:17:12< celticminstrel> It seems that [item]s are being stripped out when re-saving. I don't see how it could be related to my stuff. I'm loading an autosave with replay, letting the replay go to the end, and then clicking Continue, which overwrites the original autosave. 20151223 01:17:29< celticminstrel> gfgtdf: Any ideas about this? 20151223 01:23:37< gfgtdf> celticminstrel: what do you mean by re-saving? 20151223 01:25:01< gfgtdf> celticminstrel: does this only happen whethe replay is onvolved? 20151223 01:31:07< gfgtdf> celticminstrel: i tried and i couldnt reproduce this 20151223 01:32:11< gfgtdf> Necrosporus: there are multiple taks not related to the c++ source 20151223 01:33:30< gfgtdf> celticminstrel: beeing able to move units is surley a bug 20151223 01:33:39< gfgtdf> celticminstrel: you can file a bugreport abotu it 20151223 01:34:04< Necrosporus> Like what? 20151223 01:35:06< gfgtdf> Necrosporus: there are some scenario campaigns that yould ve improved like LoW or the 2 player coop mp map. 20151223 01:35:24< gfgtdf> Necrosporus: idk about art buts it sureley possibel to improve things there 20151223 01:35:38< Necrosporus> I'm not an artist 20151223 01:35:50< gfgtdf> Necrosporus: we also want to move from the gna bugtracker to a new better bugtracker 20151223 01:36:13< gfgtdf> Necrosporus: you'd need to ask shadowm if you want to help with that. 20151223 01:36:48< Necrosporus> I doubt that I could help much, I did never set up a bug tracker, though I could do stuff in bash probably 20151223 01:38:34< gfgtdf> Necrosporus: and ofc you can always improve wesnoth by writing own campaigns and addons :) 20151223 01:40:17< Necrosporus> That's what I tried, but somehow stopped after the first scenario was completed 20151223 01:40:43< Necrosporus> should I try and pick the addon up? 20151223 01:40:54< gfgtdf> Necrosporus: y i know i did the same in my addon :) 20151223 01:41:58< Necrosporus> And what happened with your addon? 20151223 01:42:42< gfgtdf> Necrosporus: well i personally really like it, but it has only 1 scenario. 20151223 01:43:02< gfgtdf> Necrosporus: i then made an era forma the units in that addon so you can play it with other mp maps 20151223 01:43:43< gfgtdf> Necrosporus: but i didnt see anyone plaing with it on the mpserver yet. 20151223 01:43:45< Necrosporus> gfgtdf, does it have one scenario by design? 20151223 01:44:53< gfgtdf> Necrosporus: well its really more about the units in it than about the scenario, the first scnario is more a sample map for the units. 20151223 01:46:06< Necrosporus> In my case it's different 20151223 01:46:20< gfgtdf> Necrosporus: i also made an mp mpdi also wanted to make more scenario with a story in it, but i somwhow didnt didnt have notivation for it 20151223 01:46:37< gfgtdf> Necrosporus: and since it was mostly about the units in the first plae i made it into an era 20151223 01:47:15< gfgtdf> Necrosporus: so wats it in your case ? 20151223 01:50:05< Necrosporus> It was planned as a full-fledged campaign, it was developed so it got a lot of animated units, but after first scenario I somehow lost motivation to develop the rest of them 20151223 02:22:15-!- Appleman1234 [~Appleman1@KD119104000230.au-net.ne.jp] has quit [Ping timeout: 260 seconds] 20151223 02:27:33< celticminstrel> gfgtdf: Well, I'll double-check without my commit (which shouldn't affect anything though). It does happen when the replay is involved, but I didn't check if it happens when the replay is not involved. I'll file a ticket if it does happen without my commit (which, again, doesn't touch anything relevant, so I doubt it's the culprit). 20151223 02:27:37-!- gfgtdf_ [~chatzilla@f054143182.adsl.alicedsl.de] has joined #wesnoth-dev 20151223 02:27:57< celticminstrel> Re-saving happened automatically when I clicked the Continue button after watching the replay. 20151223 02:28:13< celticminstrel> Like a normal auto-save, I guess. 20151223 02:29:43-!- gfgtdf [~chatzilla@f054165036.adsl.alicedsl.de] has quit [Ping timeout: 265 seconds] 20151223 02:29:47-!- gfgtdf_ is now known as gfgtdf 20151223 02:53:45-!- iceiceice [~chris@wesnoth/developer/iceiceice] has joined #wesnoth-dev 20151223 02:59:46< gfgtdf> celticminstrel: in whihc scneairo exactly can you rproduce this ? 20151223 03:01:10< gfgtdf> celticminstrel: i see no items in aToTB scenario1 20151223 03:12:18-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20151223 03:13:01-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has quit [Quit: ChatZilla 0.9.92 [Firefox 43.0.1/20151216175450]] 20151223 03:20:16-!- Appleman1234 [~Appleman1@KD119104010250.au-net.ne.jp] has joined #wesnoth-dev 20151223 03:27:37-!- louis94 [~~louis94@109.129.245.154] has quit [Quit: Konversation terminated!] 20151223 03:33:45-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20151223 04:11:11-!- fabi [~quassel@wesnoth/developer/fendrin] has joined #wesnoth-dev 20151223 04:11:59< fabi> hi Necrosporus 20151223 04:17:12-!- vjoshi [~vjoshi@1.39.45.173] has joined #wesnoth-dev 20151223 04:18:02-!- vjoshi [~vjoshi@1.39.45.173] has quit [Remote host closed the connection] 20151223 04:18:29< Necrosporus> Hello 20151223 04:18:55< Necrosporus> fabi, so fendrin is you? 20151223 04:19:00< fabi> yes 20151223 04:19:29< fabi> Have you found the forum threads about WSL? 20151223 04:23:15< celticminstrel> gfgtdf: The third and fourth scenarios have items. 20151223 04:23:20< celticminstrel> I saw it in the fourth/ 20151223 04:31:02-!- iceiceice [~chris@wesnoth/developer/iceiceice] has quit [Read error: Connection reset by peer] 20151223 04:31:37-!- iceiceice [~chris@wesnoth/developer/iceiceice] has joined #wesnoth-dev 20151223 04:33:30< Necrosporus> fabi, yes 20151223 04:33:54< Necrosporus> fabi, what was your reason for that? 20151223 04:34:14< Necrosporus> do you want to port wesnoth to new engine or something? 20151223 04:34:26< fabi> yes 20151223 04:34:35< fabi> I want to get rid of the old c++ codebase 20151223 04:35:08< Necrosporus> but you do release that it required a lot of man-hours to build it? 20151223 04:35:18< celticminstrel> ^realize 20151223 04:35:31< Necrosporus> So reimplementing is going to take quite a bit of effort? 20151223 04:35:33< Necrosporus> or not? 20151223 04:35:42< fabi> Yes. It is some work. 20151223 04:35:51< fabi> But not as much as I expected first. 20151223 04:35:53< celticminstrel> So it turns out that it's basically impossible to determine by inspection where units are saved. 20151223 04:35:55-!- iceiceice [~chris@wesnoth/developer/iceiceice] has quit [Ping timeout: 240 seconds] 20151223 04:36:04< celticminstrel> Guess I need to set a breakpoint. 20151223 04:36:47< Necrosporus> fabi, what do you think about criticism pointing to lack of closing tags? 20151223 04:37:10< Necrosporus> celticminstrel, what's exactly wrong with lack of closing tags in proposed syntax? 20151223 04:37:28< celticminstrel> Like Pentarctagon said, it's hard to tell where a block ends. 20151223 04:37:50< fabi> closing tags in moonscript are not forbidden 20151223 04:37:56< fabi> they are just not necessary 20151223 04:38:15< fabi> and people who don't like moonscript at all can still use lua to use the WML api. 20151223 04:38:46< Necrosporus> What if people don't like both lua and moonscript and like something else, such as Tcl? 20151223 04:39:00< Necrosporus> or python, or even bash? 20151223 04:39:09< celticminstrel> Ew ew, not bash. 20151223 04:39:28< celticminstrel> Sorry, that's just 7000% unsuitable for something like this. 20151223 04:39:53< fabi> hmmm 20151223 04:39:55< Necrosporus> or scheme 20151223 04:40:03< Necrosporus> Ok, Guile / scheme 20151223 04:40:19< celticminstrel> Tcl and Scheme are totally valid proposals. 20151223 04:40:19< fabi> well, I think you could create an engine that comes with some plugin interface. 20151223 04:40:45< celticminstrel> JavaScript would also be a valid proposal. 20151223 04:41:26< fabi> lua and thus moonscript (which only is compiled lua) has the advantage that it is designed to be an embedded langauge 20151223 04:41:36< fabi> supporting sandboxing 20151223 04:41:50< Necrosporus> But what's better, to let every UMC maker choose the language they prefer or to try and find a language everyone would more or less agree to use? 20151223 04:42:13< Necrosporus> fabi, Tcl has it too, and guile too 20151223 04:42:33< Necrosporus> not sure about sandboxing in guile, but it was certainly designed as embeddable 20151223 04:43:02< Necrosporus> Though it did not gain much success for some reason... 20151223 04:43:15< Necrosporus> There are other embeddable Scheme interpreters. Also Squirrel 20151223 04:43:26< celticminstrel> But to allow users to choose their scripting language, the scripting entry point would need to be entirely different from what it is now. The current implementation is very closely bound with Lua. 20151223 04:44:37< fabi> The idea to support every language out there is tempting. 20151223 04:45:06< fabi> I wonder if there are applications being scriptable by whatever the scripter prefers. 20151223 04:45:15< celticminstrel> A temptation to avoid. :P 20151223 04:45:47< celticminstrel> Well, Apple has an interface for allowing apps to be scripted in any language that supports the interface, though. 20151223 04:46:17< celticminstrel> However, as far as I know, there aren't really any languages that bothered to support the interface other than AppleScript. 20151223 04:46:18< fabi> I am pretty much in love with MoonScript now and I think Lua is the industry standard nowadays when it comes to game scripting. 20151223 04:49:00< fabi> It is also nice to have the game mechanics implemented in Lua as well. 20151223 04:49:17-!- iceiceice [~chris@192.16.204.74] has joined #wesnoth-dev 20151223 04:49:17-!- iceiceice [~chris@192.16.204.74] has quit [Changing host] 20151223 04:49:17-!- iceiceice [~chris@wesnoth/developer/iceiceice] has joined #wesnoth-dev 20151223 04:49:27< celticminstrel> I'm pretty ambivalent on that. 20151223 04:49:51-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-dev 20151223 04:49:51-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20151223 04:49:51-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 04:50:19< fabi> celticminstrel: Please tell us more about your thoughts. 20151223 04:53:22< Necrosporus> fabi, have you ever tried Tcl? 20151223 04:53:47< fabi> yes 20151223 04:53:57< fabi> It is fine. 20151223 04:54:12< fabi> But not exactly what you want to use for storing static data. 20151223 04:54:13< Necrosporus> But not as good as moonscript? 20151223 04:54:27< Necrosporus> Why not to store them in WML? 20151223 04:54:39< fabi> I guess it is better than MoonScript in some ways. 20151223 04:54:50< fabi> While MoonScript is better for other purposes. 20151223 04:55:27< Necrosporus> I guess, maybe keep WML for describing stuff, but introduce a new tag which has a specific language inside 20151223 04:55:30< fabi> Because I don't want to have any interpreter in my codebase except the lua/moonscript one. 20151223 04:55:47< fabi> and no special syntax 20151223 04:55:50< Necrosporus> Why not to have Tcl instead? 20151223 04:55:53< fabi> like formula language 20151223 04:56:03< Necrosporus> I mean have only Tcl 20151223 04:56:16< fabi> have you seen my example Scenario written in MoonScript? 20151223 04:56:18-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 04:56:24< Necrosporus> fabi, not sure 20151223 04:56:36< fabi> I will give you a link. A minute please. 20151223 04:56:50-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 04:56:53< Necrosporus> is it playable? I guess I didn't see it. I only seen a piece with side description 20151223 04:57:06< Necrosporus> two units 20151223 04:57:07< celticminstrel> It's not playable, of course it's not. 20151223 04:57:21< fabi> https://gist.github.com/fendrin/f2cd543889c50fb0ad56 20151223 04:57:37< fabi> the scenario starts at line 150 20151223 04:57:49< celticminstrel> BTW Fabi, your example of the Lua representation of WML differs from how WML is actually represented in Lua. 20151223 04:58:11< celticminstrel> You have tag_name = { list, of, tag, values} 20151223 04:58:40< fabi> yes 20151223 04:59:09< fabi> Necrosporus: How would it look in tcl? 20151223 04:59:33< celticminstrel> But it's actually {tag_name, {tag_value}}, {tag_name, {tag_value}}, etc 20151223 05:00:08< fabi> indeed 20151223 05:00:17< fabi> That is different. 20151223 05:00:28< fabi> On purpose. 20151223 05:00:42< vultraz> celticminstrel: you're forgetting the set_tag_metatable function 20151223 05:00:46< vultraz> that doesn't have an = tho 20151223 05:00:59< celticminstrel> vultraz: Yeah, but that expands to what I just wrote. 20151223 05:01:12< celticminstrel> It's like a syntactic sugar. 20151223 05:01:25< celticminstrel> T.tag_name {tag_value} 20151223 05:01:28-!- ypnos [~ypnos@lme51.informatik.uni-erlangen.de] has quit [Read error: Connection reset by peer] 20151223 05:01:47< Necrosporus> fabi, what do you want to see in Tcl exactly? I would not rewrite your whole scenario 20151223 05:01:47< vultraz> tru tru 20151223 05:02:02< fabi> Necrosporus: No, only a snippet 20151223 05:02:05< fabi> would be enough 20151223 05:02:44< Necrosporus> perhaps, dict? 20151223 05:03:36-!- ypnos [~ypnos@lme51.informatik.uni-erlangen.de] has joined #wesnoth-dev 20151223 05:04:25< Necrosporus> dict create scenario1 id 01_Defend_the_Forest name {defend the forest} map test_map.map .. 20151223 05:04:50< celticminstrel> Can you spread that over multiple lines? 20151223 05:04:54< fabi> Necrosporus: The scenario isn't far away from being playable. I can already load it and execute event handlers on it. The main problem is that I don't have a display client yet. My application only targets a game server. 20151223 05:05:12< Necrosporus> if you want, you can use \ at each line end 20151223 05:05:22< Necrosporus> or use more complex syntax and parse it 20151223 05:06:04< Necrosporus> such as { {id 01_Defend_the_Forest} {name {defend the forest}} }... 20151223 05:06:20< Necrosporus> in case of { you can span it across lines 20151223 05:07:19< Necrosporus> fabi, though your scenario is basically same WML though with different syntax 20151223 05:07:34< fabi> yes 20151223 05:07:49< fabi> The WSL api will be very similar to current WML api. 20151223 05:08:00< fabi> Still you can use the full power of lua 20151223 05:08:04-!- Appleman1234 [~Appleman1@KD119104010250.au-net.ne.jp] has quit [Ping timeout: 245 seconds] 20151223 05:08:24< Necrosporus> celticminstrel, also you can just use namespace and within namespace (like scenario namespace) evaluate bunch of command such as sed id 01_Defend_the_Forest 20151223 05:08:48< Necrosporus> Actually Tcl's feature is that you can use just any syntax you want 20151223 05:09:33< Necrosporus> Since fabi 's scenario {} are balanced you can use something like parse_scenario { then insert everything verbatim and } 20151223 05:09:35< fabi> Like perl :-P 20151223 05:10:23< fabi> The new engine just needs to supprot perl. Since perl supports every known syntax out there... 20151223 05:10:23< Necrosporus> So, with Tcl syntax is not really an issue at all 20151223 05:10:41< Necrosporus> I think that Tcl is better 20151223 05:11:11< Necrosporus> why? mostly prejudice. I did not actually take time to learn perl 20151223 05:11:13< celticminstrel> Of course. Everyone things their preferred language is better. 20151223 05:11:17< celticminstrel> ^thinks 20151223 05:11:32< celticminstrel> That's not enough reason to go ahead and support it in Wesnoth. 20151223 05:11:42< Necrosporus> Tcl's feature I like is its very simple syntax 20151223 05:12:17< vultraz> inb4 wesnoth rewritten in haskell 20151223 05:12:19< Necrosporus> http://www.tcl.tk/man/tcl8.6/TclCmd/Tcl.htm complete syntax description in one page 20151223 05:12:52< fabi> yeah, syntax of lua and haskell also fits on one page 20151223 05:13:01< Necrosporus> really? 20151223 05:13:05< fabi> in haskell the sieve of erathostenes is only a one liner 20151223 05:13:16< fabi> and a short line 20151223 05:13:24< Necrosporus> can you show me a page with syntax of Lua? 20151223 05:13:52< fabi> it is in the reference manual 20151223 05:13:56< fabi> I can google it 20151223 05:13:57< Necrosporus> I thought about lua manual but it's much larger than Tcl 20151223 05:14:35< fabi> http://www.lua.org/manual/5.3/manual.html#9 20151223 05:14:36< Necrosporus> http://www.lua.org/manual/5.3/manual.html#9 20151223 05:15:02< Necrosporus> Who's first? 20151223 05:15:50< Necrosporus> Well, this is BNF 20151223 05:16:11< Necrosporus> It's not same as in Tcl where syntax fits in one page in readable form 20151223 05:16:31< fabi> yeah 20151223 05:16:41< fabi> but there is no price to win for that 20151223 05:17:26< fabi> maybe tcl is very flexible and allows a lot of syntaxes 20151223 05:17:31< fabi> what to tell the noob? 20151223 05:17:51< fabi> Just use tcl it's grammar fits on a page and it is human readable. 20151223 05:18:30< fabi> modders are used to lua nowadays 20151223 05:19:12< fabi> I would prefer haskell. 20151223 05:19:13< fabi> Really. 20151223 05:19:19< fabi> I love the language. 20151223 05:19:19-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 05:19:26< Necrosporus> fabi, maybe Elm? 20151223 05:19:29< fabi> I just don't think it is a good choice for UMC developers. 20151223 05:19:46< fabi> Necrosporus: What is wrong with MoonScript? 20151223 05:20:47-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 05:20:56< Necrosporus> I do not know it well enough to say it, though Lua is just not as neat as Tcl 20151223 05:21:23< Necrosporus> It has very small executable and stuff, it's neat, but it's not a feature of language itself 20151223 05:23:34< iceiceice> Necrosporus: does tcl have nice documentation? 20151223 05:24:21< iceiceice> lua's entire manual is really, really small 20151223 05:24:31< Necrosporus> fabi, Lua is just like Pascal / Algol whatever, nothing outstanding, as far as I could see. Except functions as first class values 20151223 05:24:44< iceiceice> what can be called the 'lua standard' is like 20 pages 20151223 05:24:56< Necrosporus> iceiceice, http://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html 20151223 05:25:27< Necrosporus> http://www.tcl.tk/man/tcl8.6/TclCmd/ 20151223 05:25:54< iceiceice> Necrosporus, what is special about tcl? 20151223 05:27:04< Necrosporus> iceiceice, it has very simple syntax. Basically it's set of command arg1 arg2 ... argN; command2 arg3 ... with substitution rules for nested commands, backslashes and variables 20151223 05:28:01< Necrosporus> "control structures" such as for, foreach, while and so on are not parts of language syntax, they are just commands like everything else 20151223 05:29:23< Necrosporus> And you can define your own command, which do whatever you want, so you could define your own set of rules which suits you best 20151223 05:29:50< Necrosporus> Also unlike python and lua, Tcl has powerful metaprogramming features, not just eval 20151223 05:30:45< Necrosporus> And it has only 100 built-in commands 20151223 05:30:47-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 05:32:04< Necrosporus> So, if you do not touch libraries like Tk, you can learn whole language in tractable time, like perhaps several days 20151223 05:32:21-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 05:33:02< Necrosporus> iceiceice, there are downsides too, though 20151223 05:33:25< iceiceice> Necrosporus, i guess I tend not to liek languages where everything is a string 20151223 05:33:44< iceiceice> its hard to say thought without trying it 20151223 05:34:01< iceiceice> if they have highlevel support then i guess it doesn't matter 20151223 05:34:19< Necrosporus> iceiceice, in Tcl it's only for user everything is a string, internally, numbers are represented as numbers, lists as lists and so on, though there is seamless type conversion 20151223 05:35:26< Necrosporus> It's other feature I like. The type (interpretation) of some thing depends only on the command which you use it in 20151223 05:36:11< Necrosporus> for example {1 2 3} is normally a string, "1 2 3" but in context where interpreter expects a list, it turns into list [1, 2, 3] 20151223 05:37:01< Necrosporus> You could use [list 1 2 3] explicitly too to avoid shimmering 20151223 05:37:13< iceiceice> ok here's a different question 20151223 05:37:19< iceiceice> suppose i have a Tcl script 20151223 05:37:23< iceiceice> like being used for a game 20151223 05:37:31< iceiceice> so allt he variables represent game state information 20151223 05:37:38< iceiceice> if i want to save it, 20151223 05:37:49< iceiceice> is there a simple way to save an entire Tcl state to disk and restore it later? 20151223 05:38:10< iceiceice> or should i like, manually write down all the important variable names and save those 20151223 05:38:42< Necrosporus> Not very simple (not like single command) but I guess it is possible to implement in something like 10 lines, there is info variables 20151223 05:38:57< Necrosporus> you could dump all variables at once 20151223 05:39:10< Necrosporus> though I would suggest filter out some of them 20151223 05:39:18< celticminstrel> I think looking at it from the API side would be more relevant, Necrosporus. 20151223 05:40:04< Necrosporus> iceiceice, look at http://www.tcl.tk/man/tcl8.6/TclCmd/info.htm 20151223 05:41:04< Necrosporus> There is even an example which allows to retrieve useable procedure definition 20151223 05:41:07< vultraz> if we're talking about what language we should support for wesnoth, iceiceice has the right idea: we should be looking at what serves the needs of the game best, not what our devs like 20151223 05:41:55< Necrosporus> vultraz, I think that for now we should support what we already have, because of great base of existing UMC 20151223 05:42:16< vultraz> Necrosporus: wesnoth 2 will most likely not preserve backwards compatibility 20151223 05:42:16< Necrosporus> It would be unacceptable to lose it 20151223 05:42:27< Necrosporus> OK then 20151223 05:43:02< vultraz> I am personally against trying too hard to preserve compatibility 20151223 05:43:05< vultraz> If it happens, great 20151223 05:43:08< vultraz> But it should not be our focus 20151223 05:43:12< Necrosporus> but I guess that most of UMC should be converted to use new language before you could declare wesnoth 2 stable and drop support for wesnoth 1 20151223 05:44:02< Necrosporus> I do not like the decision to drop support for 1.10 just after 1.12 came out. I think that 1.10 should receive security updates at leas 20151223 05:44:03-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 05:44:08< celticminstrel> I think it's unacceptable to completely drop backwards compatibility. 20151223 05:44:37-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 05:44:46-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 05:44:59< Necrosporus> celticminstrel, perhaps a sort of converter or emulation layer could be implemented to load UMC from wesnoth1 20151223 05:45:14< celticminstrel> Wesnoth has already partially broken compatibility multiple times, mind you. 20151223 05:45:17< Necrosporus> which would be gradually dropped 20151223 05:45:22< fabi> There will be a WML to WSL converter 20151223 05:45:24< celticminstrel> Necrosporus: Yes, a converter layer is acceptable. 20151223 05:45:52-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 05:45:59< Necrosporus> or not dropped, if we do not manage to port all significiant UMC 20151223 05:46:06< Aginor> 'lo 20151223 05:46:18< celticminstrel> Supposing you introduce a brand-new format in Wesnoth 2.0 with a converter layer, the converter layer should not be dropped prior to a hypothetical Wesnoth 3.0. 20151223 05:46:26< celticminstrel> In my opinion. 20151223 05:46:26< Necrosporus> Like all complete playable campaigns 20151223 05:46:48< vultraz> hey Aginor 20151223 05:47:09< celticminstrel> I still don't think there's any point in introducing a brand-new format for the most part, though. 20151223 05:47:25< Aginor> hi vultraz :) 20151223 05:47:30< celticminstrel> Terrain graphics and events, at least, could use a new format, but... 20151223 05:48:12< Necrosporus> fabi, I'm not sure that your new format is better than WML for scenario data 20151223 05:48:53< Necrosporus> id=some_id seem somehow more intuitive or something... 20151223 05:49:53< fabi> What is your point? 20151223 05:49:54< vultraz> celticminstrel: it will not have a converter layer 20151223 05:50:00< vultraz> the goal is to start fresh 20151223 05:50:19< celticminstrel> So the goal is to alienate the entire userbase? 20151223 05:50:20< fabi> Necrosporus: the : vs = ? 20151223 05:50:23< vultraz> a converter layer between WML and whatever we're using will be too hard to maintain 20151223 05:50:39< Necrosporus> iceiceice, I think that if you want to implement saving game state, then it's reasonable to create a new namespace for state variables. I do not think that you want to save Tcl's internal variables and stuff 20151223 05:50:46< iceiceice> Necrosporus: the advantage imo is that, you make only superficial changes like : vs =, but suddenly it has a real implementation 20151223 05:51:00< iceiceice> which is compiled to byte code and goes super fast 20151223 05:51:03< iceiceice> and supports first class functions 20151223 05:51:16< vultraz> celticminstrel: compatibility layers are only simple when the changes are trivial 20151223 05:52:55< celticminstrel> If your format is version-stamped, they can be relatively simple for any kind of changes. 20151223 05:53:28< Necrosporus> fabi, : vs = too, but... Well, not sure, your format looks like WML 20151223 05:53:47< fabi> well, that was a design goal 20151223 05:54:32< Necrosporus> Than what is the point to make another WML if there is already WML? 20151223 05:54:54< fabi> I don't want to change the syntax a lot 20151223 05:54:59< Necrosporus> You do not have action-heavy stuff in your example 20151223 05:55:02< fabi> I want to change the semantic 20151223 05:55:14< vultraz> Aginor: did you see my messages earlier? 20151223 05:55:34< Aginor> vultraz: 20151223 05:55:35< Aginor> no 20151223 05:55:42< Aginor> I just got home from work 20151223 05:55:48< fabi> Necrosporus: yes. there is not a lot of coding with branches in there 20151223 05:55:53< celticminstrel> Necrosporus: I believe Fabi's plan is to destroy the WML preprocessor. 20151223 05:55:56< fabi> maybe not a single example 20151223 05:56:05< Aginor> I have just ordered unhealthy takeouts because I'm too tired to even be bothered to cook 20151223 05:56:10< fabi> celticminstrel: oh yes. 20151223 05:56:15< iceiceice> high 5 aginor 20151223 05:56:20< celticminstrel> His new format may look like WML, but that's a superficial resemblance. 20151223 05:56:28< celticminstrel> It's really a chunk of MoonScript code. 20151223 05:56:32< fabi> yes 20151223 05:56:34< celticminstrel> Thus, there's no preprocessor. 20151223 05:56:39< fabi> yeah 20151223 05:56:44< iceiceice> i am eating takeout saag paneer :) 20151223 05:56:55< Necrosporus> fabi, as far as I see you keep all the semantics of WML and only change its syntax representation. Also is your thing same as YAML? It looks quite like it 20151223 05:57:10< Aginor> vultraz: I've found your repo now 20151223 05:57:34< celticminstrel> Honestly, I don't feel that using code as your data dormat is the best choice, but I've done it myself before, so... 20151223 05:57:46< celticminstrel> Necrosporus: Like I said, it discards the preprocessor. 20151223 05:58:15< celticminstrel> The FOREACH macro, for example, cannot be implemented in this model. 20151223 05:58:21< celticminstrel> (Not that it's needed) 20151223 05:58:51< celticminstrel> Only "macros" that consist of complete tags are possible (you'd implement them as MoonScript functions). 20151223 05:59:06< fabi> yes 20151223 05:59:07< fabi> but 20151223 05:59:18< fabi> i have also isolated a group of "inserters" 20151223 05:59:24< Necrosporus> Is it same as YAML or not? 20151223 05:59:28< fabi> which just "enrich" already existing tags. 20151223 05:59:49< fabi> Those macros can be translated as well. 20151223 05:59:54< celticminstrel> Necrosporus: It may look like YAML, but again, that's a superficial representation. 20151223 06:00:05< celticminstrel> YAML is a data format. This is code. 20151223 06:00:08< Aginor> vultraz: it's a promising start :) I think it's better to keep the FULL_SCREEN define though, givne that SDL_FULLSCREEN is already an alias 20151223 06:00:27< fabi> unbalanced wml code macros 20151223 06:00:33< fabi> are not translatable that easy 20151223 06:00:39< vultraz> Aginor: double alias, tho :P 20151223 06:00:42< Aginor> vultraz: this potentially brakes SDL1 https://github.com/wesnoth/wesnoth/compare/master...Vultraz:display_cleanup#diff-082b032a3279168dba1c7d2d9e8fa958L174 20151223 06:01:08< Aginor> vultraz: yeah, so we update the alias to do the right thing when we drop the compatability layer 20151223 06:01:42< fabi> And some macros are just constants/variables 20151223 06:02:59< fabi> The FOREACH macro is of course best transformed into the lua for each loop construct. 20151223 06:03:47< vultraz> Aginor: well, tbh the state of that branch is currently not fully functional 20151223 06:03:48< Necrosporus> fabi, so your point is to use exactly same semantics as in WML to port UMC with relative ease? 20151223 06:04:01< vultraz> I'll look into not breaking compatibility 20151223 06:04:13< fabi> yes 20151223 06:04:25< fabi> well exactly 20151223 06:04:28< fabi> mostly 20151223 06:04:38< Aginor> vultraz: I'll pull your branch into my repo later and see if I can't help out too 20151223 06:04:48< Aginor> vultraz: I'll give you the link when it happens 20151223 06:04:58< vultraz> thanks a lot :) 20151223 06:05:05-!- Appleman1234 [~Appleman1@KD119104017001.au-net.ne.jp] has joined #wesnoth-dev 20151223 06:05:09-!- celticminstrel is now known as celmin|sleep 20151223 06:05:32< fabi> wml tags are transformed into lua tables 20151223 06:05:38< fabi> using the same keywords 20151223 06:05:40< Necrosporus> fabi, but what if I want a more compact code, such as: message Eorlas "Death to Orcs!" 20151223 06:05:48< fabi> that gives you the impression the api hasn't changed 20151223 06:06:28< fabi> then you can just define a function for that 20151223 06:06:36< Necrosporus> but will it work? 20151223 06:07:04< Necrosporus> or it will be message(Eorlas,"Kill all humans!"); 20151223 06:07:27< celmin|sleep> That, but parentheses and semicolon are optional. 20151223 06:07:36< vultraz> or Eorlas->message(Kill all humans!) 20151223 06:07:36< fabi> message "Eorlas", "Death to ORcs!" 20151223 06:07:43< celmin|sleep> (In Lua, parentheses are required but semicolon is optional.) 20151223 06:07:44< fabi> would be valid moonscript syntax 20151223 06:08:01< celmin|sleep> (Lua only allows omitting parentheses if there's only one argument, right?) 20151223 06:09:28< fabi> yes 20151223 06:10:36< Necrosporus> Though colon is still required 20151223 06:10:51< fabi> but not if you spread it over several lines 20151223 06:11:17< fabi> but I guess your intention was to avoid exactly that 20151223 06:11:37< Necrosporus> In Tcl it's not, you call function as just `message Eorlas {Kill all humans!}` for example ({} work like quotes, but stronger, as it does not allow variable expansion) 20151223 06:12:18< fabi> Anyway, I guess the syntax is not that far away from WML. And Lua/MoonScript is powerful and suits the purpose of Wesmere's scripting language. I have a pretty good and working concept so far. 20151223 06:12:28< Necrosporus> Or message Eorlas { \n\t Kill all orcs! \n } 20151223 06:12:38< Necrosporus> Where \n and \t are used to avoild spamming chat 20151223 06:14:20< Necrosporus> Tcl quotes could span over multiple lines, though \n and \t would get into string, so message procedure would have to trim the string before use 20151223 06:16:01< Necrosporus> fabi, either way, be it Tcl, WSL or WML, what language is going to be more future-proof? It's quite important, since when you have only basic drafts, everything seems fine, but when you start implementing something complex... 20151223 06:16:20-!- Appleman1234 [~Appleman1@KD119104017001.au-net.ne.jp] has quit [Ping timeout: 255 seconds] 20151223 06:16:39< fabi> Necrosporus: I am in the middle of implementing it. 20151223 06:16:47< Necrosporus> you could end up in same position as WML is now: extremely clunky syntax for anything more complex that orcish invasion 20151223 06:17:02< fabi> Necrosporus: https://github.com/fendrin/Irdya 20151223 06:17:03-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 06:18:03< Necrosporus> fabi, so do you think that it would be easy enough to expand your engine to support something you did not think about yet? 20151223 06:18:11< Necrosporus> Such as RPG 's 20151223 06:18:20< fabi> oh yes 20151223 06:18:21-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 06:18:36-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 06:18:43< fabi> One of the design goals is to give the UMC designer complete controll over the game mechanics 20151223 06:18:48< Necrosporus> or what if someone decides to write a real time game based on your engine? 20151223 06:19:04< fabi> hmmm 20151223 06:19:05-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 06:19:26< fabi> maybe 20151223 06:19:38< Necrosporus> sort of Dune2 with hexagonal cells instead of square one (but with seamless movements so it's not noticable) 20151223 06:19:50< fabi> For now it is only meant to support turn and hex based games. 20151223 06:20:09< fabi> I guess there are already better engines for real time out there. 20151223 06:20:26< Necrosporus> By the way, why would we want to support hex instead of, say, squares? 20151223 06:21:08< fabi> squares are more difficult to charge for diagonal moves 20151223 06:21:29< Necrosporus> Why not octagons or something? 20151223 06:21:40< fabi> well 20151223 06:21:41< iceiceice> Necrosporus, i guess hex is the traditional strategy game grid 20151223 06:21:51< iceiceice> its somehow elegant for representing regions 20151223 06:21:55< fabi> the pathfinder is the most prominent part 20151223 06:22:09< iceiceice> without introducing wierd directionality 20151223 06:22:09< fabi> that determines the shape of the field 20151223 06:22:30< fabi> I think that changing the grid layout isn't that hard. 20151223 06:22:56< Necrosporus> Also, what about topology? 20151223 06:22:56< iceiceice> one of my friends is a neuroscientist, he told me that neuroscientists believe your brain actually uses a hex grid representation internally when you walk around in an area 20151223 06:23:00< iceiceice> like in a forest or something 20151223 06:23:12< fabi> cool 20151223 06:23:17< iceiceice> i'm not that familir with what evidence there is though 20151223 06:23:32< fabi> please ask him for links to pappers 20151223 06:23:35< Necrosporus> Current wesnoth maps are patches of plain, 20151223 06:23:36< fabi> papers 20151223 06:23:44< iceiceice> ok 20151223 06:23:48< Necrosporus> but what if you want thoroidal or spherical field? 20151223 06:24:07< Necrosporus> Like sew together south and north and west and east 20151223 06:24:18< Necrosporus> Making game map unbounded 20151223 06:24:40< iceiceice> Necrosporus: i think it should be easy to support a lot of stuff like that 20151223 06:24:44< fabi> Well, as I already mentioned, I think the game board shape can be abstracted. 20151223 06:24:46< iceiceice> esp. if most of the game logic is agnostic 20151223 06:24:53< Necrosporus> Other sewings could produce other topologies, though I can't remember what you need to sew to get a sphere or something 20151223 06:24:56< fabi> yes 20151223 06:25:18< iceiceice> Necrosporus, you want to play wesnoth on a klein bottle? :p 20151223 06:25:26< Necrosporus> Why not? 20151223 06:25:39< iceiceice> i think it would be cool if the engine could do that 20151223 06:25:51< iceiceice> i made a nerdy forum post like years ago about it :p 20151223 06:25:59< fabi> I have heard there is a 3d equivalent to hex fields 20151223 06:26:07< fabi> Even made a bookmark. 20151223 06:26:08< Necrosporus> I think it's probably already possible by setting teleports on the map edges 20151223 06:26:56< iceiceice> in wesnoth though i think you dont want to set lots of teleports like that 20151223 06:26:57-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 06:27:06< Necrosporus> fabi, did you see Trader Strange Legacy addon? 20151223 06:27:11< iceiceice> if i remember correctly it will slow down a lot of things 20151223 06:27:36< Necrosporus> that's another problem Wesnoth2 must solve, performance of complex stuff 20151223 06:27:52< fabi> no 20151223 06:27:56< fabi> What is it about? 20151223 06:28:35-!- vultraz [~chatzilla@124.109.10.167] has joined #wesnoth-dev 20151223 06:28:35-!- vultraz [~chatzilla@124.109.10.167] has quit [Changing host] 20151223 06:28:35-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 06:28:35< Necrosporus> fabi, it is an RPG implemented in Wesnoth, and it's notoriously slow, unless you disable autosaves, which helps a lot, making it playable 20151223 06:28:51-!- Appleman1234 [~Appleman1@KD119104017001.au-net.ne.jp] has joined #wesnoth-dev 20151223 06:29:21< Necrosporus> Though a regular save or load takes a significant amount of time and each save file is like 6 megabytes in gzip 20151223 06:29:32< fabi> oh 20151223 06:29:53< Necrosporus> Why? Because it has to save entire state of the world. Though it's amazing that someone implemented that in Wesnoth engine 20151223 06:30:41< Necrosporus> It has to remember amount of each good withing each store and so on 20151223 06:31:35< fabi> In Wesmere you would define more tags for them. 20151223 06:31:41< fabi> s/tags/tables 20151223 06:32:00< fabi> so you can store the stores in toplevel wsl tables. 20151223 06:32:06< fabi> Those would then not be saved. 20151223 06:32:14< fabi> Like unit_types are not to be saved. 20151223 06:32:25< Necrosporus> I think that stores must be saved 20151223 06:32:38< Necrosporus> as entire state of word 20151223 06:32:48< fabi> yes 20151223 06:32:52< fabi> but maybe the goods not 20151223 06:33:04< fabi> so stores would only hold references to the goods 20151223 06:33:06< fabi> they sell 20151223 06:33:31< Necrosporus> the problem is that Wesnoth does not save world state efficiently enough, because it was not designed keeping in mind that someone would ever use WML to make such extremely complex game 20151223 06:33:48< Necrosporus> As far as I understand 20151223 06:34:02< fabi> Well, that is why it is being rewritten. 20151223 06:34:02< Necrosporus> Am I right or not? 20151223 06:34:27< fabi> yes you are right 20151223 06:35:51< Necrosporus> fabi, and I guess that the state of world should be saved in such a way that you can't use save scumming to say, refill closest store and so on, so amount of each good should be kept in save file 20151223 06:36:24< Necrosporus> The closest analogue is probably Dwarf Fortress, though I did never play it 20151223 06:36:45< Necrosporus> but it said to keep entire world simulated constantly 20151223 06:37:13< fabi> Dwarf Fortress is a master piece. 20151223 06:38:46< Necrosporus> fabi, so... I'm not sure, do you think that moonscript would be fast enough to implement a similar thing? 20151223 06:39:05< iceiceice> i wish that C++ had a way to make custom && operator 20151223 06:39:12< iceiceice> that preserved the unevaluated operand thing 20151223 06:39:47< iceiceice> or basically, 20151223 06:39:53< iceiceice> if C++ had an operator 'and' like lua does 20151223 06:40:03< fabi> Necrosporus: If you write a complex scenario which is to slow then you can compile the moonscript into lua. If that is still too slow you can compile the lua code into bytecode. 20151223 06:40:23< Necrosporus> Also, I have heard that C++ is hugely insecure... 20151223 06:40:26< fabi> lua is designed to be as fast as possible. 20151223 06:40:43< Necrosporus> Like you can easily get a segfault bug unnoticed for years 20151223 06:41:06< Necrosporus> fabi, isn't OCaml faster? 20151223 06:41:12< Necrosporus> And also more secure 20151223 06:41:30< iceiceice> ocaml is a good language 20151223 06:41:30-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 06:41:33< Necrosporus> Maybe the main engine could/should be implemented in OCaml? 20151223 06:41:54< iceiceice> its pretty technical though 20151223 06:42:14< Necrosporus> Or D, or Rust, or Go, or Nimrod ... (Not sure how fast/secure they are, did not learn them) 20151223 06:42:19< fabi> that is standart modeling language plus objects 20151223 06:42:30-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 06:42:42< fabi> ML derivates being very fast is news to me. 20151223 06:42:47< iceiceice> Necrosporus, i don't think ocaml is necessarily a good choice for a game engine 20151223 06:43:01< fabi> I have been told that functional languages are getting better but are still slower in general. 20151223 06:43:06< iceiceice> usually in a game engine you need to do a lot of talking to operating systems, libraries, etc. 20151223 06:43:37< iceiceice> i guess in ocaml you would have to use tons of c / c++ bindings 20151223 06:44:10< iceiceice> i thoguht ocaml was mainly used for like, writing compilers 20151223 06:44:14< iceiceice> or tools related to programming languages 20151223 06:44:53< iceiceice> Necrosporus, I would like to write a game engine in rust, i think that is a great langauge 20151223 06:45:08< iceiceice> and probably it will displace C++ in a lot of things it is currently used in i guess 20151223 06:45:44< Necrosporus> Perhaps, Idris? It is compiled using llvm 20151223 06:45:46< iceiceice> the language is getting more mature now, but also i would be nervous about like library support 20151223 06:45:57< iceiceice> becaus it is still pretty new 20151223 06:46:30< iceiceice> i would not use D or Go, personally 20151223 06:46:56< fabi> I don't think that there is anything better than lua needed to implement the game server part of Wesmere. 20151223 06:47:23< iceiceice> yeah i mean 20151223 06:47:25< iceiceice> lua is really nice 20151223 06:47:26< fabi> the display client is of course another field 20151223 06:47:31< iceiceice> its a good beginner language 20151223 06:47:35< Necrosporus> fabi, is game server needed for singleplayer games? 20151223 06:47:43< fabi> yes 20151223 06:49:40< Necrosporus> iceiceice, how do you measure niceness of a language? 20151223 06:50:11< iceiceice> idk it is subjective :p 20151223 06:50:24< fabi> Well 20151223 06:50:27< iceiceice> usually people talk about, how elegant it is to do things, 20151223 06:50:37< iceiceice> and how surprised they are by the behavior of pathological bits 20151223 06:50:53< fabi> I think for Wesmere we need something that is good in both, scripting and storing. 20151223 06:51:12< fabi> So my measurement is how good is a language in both while being not that far away from current wml. 20151223 06:51:36< fabi> And those constrains told me to use MoonScript. 20151223 06:51:50< Necrosporus> What candidates you also evaluated? 20151223 06:51:56< fabi> Pure lua 20151223 06:52:24< fabi> some splitting between lua and unix config file syntax 20151223 06:52:25< Necrosporus> but not python, tcl, perl, squirrel, scheme? 20151223 06:52:36< fabi> coffeescript 20151223 06:52:45< fabi> which is moonscript for javascript 20151223 06:52:59< fabi> or better moonscript is coffeescript for lua 20151223 06:53:05< iceiceice> i would not use scheme 20151223 06:53:18< fabi> python is not easy to get sandboxed 20151223 06:53:20< iceiceice> scheme was i guess hte second language i learned, 20151223 06:53:28< iceiceice> it is a nice langauge for kids and you can learn alot from it 20151223 06:53:33< iceiceice> but there is so much parentheses... 20151223 06:53:41< fabi> we had problems making the python ai interface secure 20151223 06:53:45< Necrosporus> fabi, there's also Elm which is compiled into javascript, but is a functional language, combining nice features from Haskell and ML 20151223 06:53:56< iceiceice> i think lua is nicer than python personally 20151223 06:53:59< iceiceice> its much simpler 20151223 06:54:15< Necrosporus> and simpler 20151223 06:54:43< Necrosporus> iceiceice, I do not personally like python and perl, just mentioned them 20151223 06:55:14< Necrosporus> the problem with scheme is probably not () but rather that different interpreters are often incompatible 20151223 06:55:43< fabi> also most of the languages you mention are not quite noob friendly 20151223 06:56:06< Necrosporus> Tcl and Squrrel probably meant to be noob-friendly 20151223 06:56:14< fabi> I mean, functional programming is the best thing since sliced bread but not everyone has a accademical background. 20151223 06:57:29< iceiceice> Necrosporus, Tcl i guess is not the most noob friendly 20151223 06:57:37< iceiceice> at least the guide you pointed to did not see it htat way 20151223 06:57:58< iceiceice> idk i mean, many adults today learn javascript as their first language 20151223 06:58:09< iceiceice> i guess that lua can also be a good first langauge, it is much simpler than javascript 20151223 06:58:27< fabi> a lot of kids learn lua from scripting world of warcraft 20151223 06:58:40< iceiceice> squirrel i did not know about, 20151223 06:58:44< iceiceice> it sounds to be very similar to lua 20151223 06:58:46< Necrosporus> https://www.tcl.tk/about/language.html another, shorter introduction 20151223 06:58:51< iceiceice> and different only in technical was 20151223 06:58:54< iceiceice> *ways 20151223 06:59:15< Necrosporus> Yeah, C-syntax instead of Pascal-syntax 20151223 06:59:22< fabi> also, half of the action wml is already ported into lua 20151223 06:59:23< Necrosporus> but mostly same thing 20151223 06:59:42< fabi> so lua/moonscript seems to be the best way to go from my point of view 20151223 07:00:03< fabi> and as you can see, I already have a little code base that would have to be trashed. 20151223 07:00:17< Necrosporus> iceiceice, I'm not sure, everyone says that Tcl is easy to learn 20151223 07:00:25< iceiceice> hmm ok 20151223 07:00:54< fabi> tcl is fine 20151223 07:01:17< fabi> I like it. 20151223 07:01:45-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:02:18< Necrosporus> fabi, My idea was not to go and rewrite Wesnoth engine or go and insert Tcl bindings in place of Lua, but rather to make a compiler from Tcl to WML or something 20151223 07:02:30-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:02:47-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:03:11< Necrosporus> In this case I could use it for my UMC for example, and it would work in regular Wesnoth without effort from developers who have limited resources already 20151223 07:03:17-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:03:26< fabi> why not 20151223 07:03:30-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:03:45< fabi> I have read the discussion with zookeeper 20151223 07:03:56-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:04:01< fabi> I think it is upon you 20151223 07:04:04< fabi> just do it 20151223 07:04:05-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:04:19< Necrosporus> fabi, but maybe your stuff is easier to bind to? 20151223 07:04:27< fabi> I mean there is always a wesnoth developer saying no to every kind of idea 20151223 07:04:39-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:04:40< fabi> My advice is to ignore all of them. 20151223 07:04:49-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:04:52< fabi> Including me of course. 20151223 07:05:25< fabi> Necrosporus: I need to write a wml to moonscript tool anyway. 20151223 07:05:27-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:05:31< fabi> Maybe it can be modular 20151223 07:05:48< fabi> so you can use it for tcl to wsl as well 20151223 07:05:51-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:06:04< Necrosporus> fabi, are you going to provide a sort of API so other scripting languages could be used directly? 20151223 07:06:14< fabi> yes sure 20151223 07:06:20< fabi> I am corrently writting the api 20151223 07:06:23-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:06:26< fabi> it is all autogenerated 20151223 07:06:27-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:06:57< Necrosporus> fabi, do you think that it is possible to attach a Tcl interpreter to your server and then write actions and scenarios in it? 20151223 07:06:58-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:07:13-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:07:17< Necrosporus> getting advantages of Tcl jit 20151223 07:07:34< fabi> yes 20151223 07:07:44-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:07:57-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:08:12< fabi> the server can be used as a simple lua module/library 20151223 07:08:27-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:08:36-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:08:48< fabi> so a host application could provide the lua interpretere while handling tcl itself and passing the scenario code into the wesmere game state. 20151223 07:09:06-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:09:26-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:09:56-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:10:09-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:10:11< Necrosporus> fabi, so the idea is to make a compiler to evaluate possible syntax of new tcl-based language and if it proves better than WML or Moonscript thing you use, then it could be converted to be used directly in interpreter rather than compiler (which has disadvantages, as you will need to rebuild after each change) 20151223 07:10:39-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:12:10< Necrosporus> Though my main concern is custom abilities and actions 20151223 07:12:28< fabi> I guess you should start with an example scenario. 20151223 07:12:32< fabi> So people can have a look at the syntax you propose. 20151223 07:12:50< Necrosporus> It's not action wml the most complex thing, is it abilities actually 20151223 07:13:23< fabi> good point 20151223 07:13:30< fabi> let's talk more about that 20151223 07:14:01< fabi> This part of the engine gives me headaches as well. 20151223 07:14:25< Necrosporus> WML is not very flexible in this case, it provides only basic set of abilities, and if ability is a really new one, its implementation is going to be extremely complex 20151223 07:15:13< fabi> yes 20151223 07:15:20< fabi> a few hardcoded ones 20151223 07:15:38< fabi> everything else is done with effectWML, right? 20151223 07:15:42-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Read error: Connection reset by peer] 20151223 07:15:53< fabi> or if that is not working with some event based pseudo ability 20151223 07:16:04-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 07:16:43< Necrosporus> fabi, I can't remember the details, but it would be nice if abilities were more flexible, but retaining basic patterns so most of abilities could be implemented as easily as now 20151223 07:16:56< fabi> alignments 20151223 07:17:02< fabi> are hardcoded as well 20151223 07:17:10< vultraz> Aginor: pushed a few more commits 20151223 07:17:15< fabi> but should also rely on the same base as abilities and traits. 20151223 07:17:42< fabi> There are some overlapping concepts in wesnoth. 20151223 07:18:48< Necrosporus> also, what about multiple cells ranged attacks? I guess they are possible via fake unit movement and scripted actions 20151223 07:19:40< fabi> I don't think that multiple cell ranged attacks are any problem to implement. 20151223 07:20:01< fabi> The ai needs to be patched. 20151223 07:20:11< fabi> But so far I have not thought about ai much. 20151223 07:20:18< fabi> The ai would be a client thing 20151223 07:20:26< fabi> and not part of the game server. 20151223 07:20:37< Necrosporus> Ah, another problem with current wesnoth... or a feature. 20151223 07:20:50< Necrosporus> you can't make AI which actually can't see under fog of war 20151223 07:21:05< Necrosporus> and AI has somewhat more features than regular player 20151223 07:21:25< fabi> well 20151223 07:21:29< fabi> the ai is a client 20151223 07:21:33< Necrosporus> I think that a fair AI should have same interface as regular player 20151223 07:21:38< fabi> and the client only sees what the client sees 20151223 07:21:50< fabi> the rest is simply not transfered over the network 20151223 07:21:55< Necrosporus> wesnoth clients can see fog 20151223 07:22:00< fabi> so the ai has to deal with fog and shroud 20151223 07:22:17< fabi> yes, I talk about the wesmere situation 20151223 07:22:18< Necrosporus> you could cheat to disable fog of war in multiplayer 20151223 07:22:30< Necrosporus> so you are going to approach this thing too? 20151223 07:22:51< fabi> I am not an expert on ai 20151223 07:22:58< fabi> so I hope someone else can do that part 20151223 07:23:24< Necrosporus> fabi, I mean, the client wont have information about units under shroud until they are discovered? 20151223 07:23:40< fabi> yes 20151223 07:24:06< Necrosporus> I think that it might make user experience worse with slow connection 20151223 07:24:42< fabi> maybe 20151223 07:24:43< Necrosporus> in regular wesnoth you do not have to communicate with network with low latency while you are making your turn 20151223 07:24:57< fabi> But I am willing to take that. 20151223 07:25:10< Necrosporus> maybe make it optional? 20151223 07:25:22< fabi> it can't be optional 20151223 07:25:29< fabi> Wesmere clients are dump 20151223 07:25:36< fabi> they can only display pretty stuff 20151223 07:25:43< fabi> they don't know anything about the game state 20151223 07:26:22< fabi> So you also can't have "out of sync" errors 20151223 07:26:35< fabi> only the game server calculates the game 20151223 07:26:55< fabi> and thus no out of sync possible 20151223 07:28:46< Necrosporus> I can't decide if it is good or bad until I have a chance to see it 20151223 07:29:06< Necrosporus> fabi, what do you think about a visual game client in Tcl/tk? 20151223 07:29:19< fabi> would be cool 20151223 07:29:44< fabi> I like to encourage people implementing all kind of clients 20151223 07:29:46< fabi> asci art 20151223 07:29:55< fabi> 3d mesh opengl ones 20151223 07:30:00< fabi> classic 2d wesnoth art 20151223 07:30:25< Necrosporus> fabi, why wouldn't you take wesnoth engine and convert it into a visual for your thing? is it hard? 20151223 07:30:44< fabi> maybe not 20151223 07:30:51< Necrosporus> I mean even if you don't like codebase and stuff, it could be a temporary solution 20151223 07:30:54< fabi> but that would be a one way route 20151223 07:31:09< fabi> the current engine is pretty much "out of life time" 20151223 07:31:38< Necrosporus> What does mean one way route? 20151223 07:31:46< fabi> not having a proper gui system but several incomplete ones for example. 20151223 07:32:06< Necrosporus> I think that wesnoth client gui is fine as it is 20151223 07:32:29< Necrosporus> except problem with large savefiles 20151223 07:33:06< Necrosporus> navigating filelist is extremely slow if saves are large, perhaps because gui tries to preload info from them 20151223 07:33:44< Necrosporus> It's only noticeable if you have a bunch of saves from Trader Strange Legacy 20151223 07:35:09< Necrosporus> i think that it could be solved by retrieving information about savefiles asynchronously in a separate thread 20151223 07:35:29< Necrosporus> if file cursor is moved to other file, restart retrieving thread 20151223 07:36:02< Necrosporus> and so on unless user stopped the cursor for long enough to complete description to load 20151223 07:37:38< fabi> Well, Wesmere shall offer the UMC designer the possibility to create a game with a complete different UI. 20151223 07:37:47< fabi> And gui2 is not ready for that. 20151223 07:38:15< fabi> So I don't want to invest time in creating a Wesmere client based on the old Wesnoth engine. 20151223 07:38:43< fabi> Although I think that parts of the code base might be worth to salvate. 20151223 07:39:03< fabi> But I don't mind if others try. 20151223 07:39:47< fabi> And the gui situation isn't the only problem. 20151223 07:39:56< Necrosporus> Well, Wesmere shall offer the UMC designer the possibility to create a game with a complete different UI. 20151223 07:40:05< Necrosporus> I'm not sure if that's a good idea 20151223 07:40:28< Necrosporus> I'd like the interface to be consistent 20151223 07:40:59< Necrosporus> Security reasons for example 20151223 07:41:09< fabi> I guess it would be inside a game family 20151223 07:41:12< fabi> like wesnoth 20151223 07:41:35< fabi> but a addon that provides a starcraft like game would certainly want to ship with a different gui 20151223 07:42:05< Necrosporus> I guess there should be some addon capabilities then 20151223 07:42:14< fabi> although wesnoth is trying to do the same 20151223 07:42:25< fabi> exposing gui2 into umc space 20151223 07:42:35< Necrosporus> That might be dangerous 20151223 07:43:01< fabi> it is already there 20151223 07:43:10< fabi> have a look at wesnoth lua api 20151223 07:43:22< Necrosporus> I know 20151223 07:43:29< Necrosporus> but it's not very safe 20151223 07:43:49< Necrosporus> So... UMC authors should not have too much power 20151223 07:44:30< fabi> why is umc made gui unsafe? 20151223 07:44:51< vultraz> umc authors already use gui2 20151223 07:44:57< Necrosporus> well, what if they alter file load interface? 20151223 07:45:11< fabi> to do what? 20151223 07:45:17< Necrosporus> so you could load something you didn't mean to by mistake? 20151223 07:45:26< fabi> like what? 20151223 07:45:44< Necrosporus> Like try to get out of sandbox 20151223 07:45:51< Necrosporus> read /etc/passwd? 20151223 07:46:07< fabi> okay 20151223 07:46:27< Necrosporus> I am not saying that existing implementation is insecure 20151223 07:46:51< Necrosporus> I'm just saying that you should be very careful if you are giving access go game gui 20151223 07:46:55< fabi> The question is why should gui backend stuff be more insecure than the rest? 20151223 07:47:42< Necrosporus> Again, I didn't try to find vulnerabilities, I'm just saying that you should be careful to not introduce them 20151223 07:48:06< Necrosporus> Maybe UMC authors should not have complete access to UI? 20151223 07:48:19-!- Ivanovic [~ivanovic@p579FB451.dip0.t-ipconnect.de] has joined #wesnoth-dev 20151223 07:48:22< Necrosporus> Inserting an icon or two is fine 20151223 07:48:24< fabi> yes 20151223 07:48:30-!- Ivanovic [~ivanovic@p579FB451.dip0.t-ipconnect.de] has quit [Changing host] 20151223 07:48:30-!- Ivanovic [~ivanovic@wesnoth/developer/ivanovic] has joined #wesnoth-dev 20151223 07:48:33< fabi> There should be a layer between 20151223 07:48:40< fabi> the gui system and umc space 20151223 07:48:45< Necrosporus> but changing file load dialog is probably is not 20151223 07:48:52< fabi> that prevents harmful stuff and does the sandboxing properly 20151223 07:49:10< fabi> I don't expect the load file dialog to be critical 20151223 07:49:39< Necrosporus> Also UMC should not be allowed to ship compiled bytecode 20151223 07:49:49< fabi> yes 20151223 07:49:50< Necrosporus> Only sources 20151223 07:49:53< fabi> that is a valid point 20151223 07:50:13< Necrosporus> And should not be able to alter itself 20151223 07:50:31-!- boucman_work [~jrosen@193.56.60.161] has joined #wesnoth-dev 20151223 07:50:31-!- boucman_work [~jrosen@193.56.60.161] has quit [Changing host] 20151223 07:50:31-!- boucman_work [~jrosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20151223 07:51:23-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20151223 07:51:31< fabi> Necrosporus: Okay, I will make a ticket "Be extra careful when sandboxing the gui framework from UMC" 20151223 07:52:42< Necrosporus> fabi, I guess... maybe you could do something for user of client to be able to accept or drop some capabilities? 20151223 07:53:10< Necrosporus> Like what if I want to make sure that an addon I just install does not alter gameplay of other addons 20151223 07:53:27< Necrosporus> and is not loaded in any way 20151223 07:53:42< Necrosporus> or what if I want to disallow gui changes 20151223 07:53:56< fabi> Wesmere addons are all boxed in a container called "WesMod". 20151223 07:54:05< Necrosporus> UMC author decided to make a fancy interface theme, but I prefer standard one 20151223 07:54:09< fabi> Those can be loaded one by one. 20151223 07:54:35< fabi> the interface theme's look and feel 20151223 07:54:40< fabi> would also be more a client side thing 20151223 07:54:51< Necrosporus> I mean, maybe you could do something like capabilities, so user is aware which addon could do what 20151223 07:54:54< fabi> I mean the asci client is going to display the same gui dialog completely 20151223 07:54:56< fabi> different 20151223 07:55:00< fabi> than a opengl one 20151223 07:55:17< fabi> or your tcl based one 20151223 07:55:49< fabi> same with animation 20151223 07:56:00< fabi> the game server knows about the stats of a unit 20151223 07:56:06< fabi> bot not about the animation 20151223 07:56:26< fabi> so it tells the client only stuff like move 12,15 to 13, 18 20151223 07:56:52< fabi> and the client knows, okay the unit on 12, 15 is a elf and I have animations for it moving. 20151223 07:56:58< Necrosporus> how are you going to deal with addons containing changes in both gui and mechanics/stats? 20151223 07:57:13< fabi> they have to release a WesMod for the game server 20151223 07:57:25< fabi> and an art package for the client 20151223 07:57:42< Necrosporus> as separate addons? 20151223 07:57:50< fabi> yes 20151223 07:57:59< Necrosporus> what the client is going to do if it does not have art for unit? 20151223 07:58:01< fabi> with some meta dependencies 20151223 07:58:23< fabi> campaign "foo" needs package "bar" fitting to the client in question 20151223 07:58:44< fabi> because the 3d mesh based opengl client needs different stuff than the 2d one 20151223 07:59:32< Necrosporus> OK, what if you load an addon which does not have graphic assets for your client? 20151223 07:59:45< fabi> you should be warned 20151223 07:59:58< fabi> pointed to the clients art is available for 20151223 07:59:59< Necrosporus> but will it be playable still? 20151223 08:00:05< fabi> yes 20151223 08:00:11< fabi> with some placeholder unitart 20151223 08:03:46< Necrosporus> Anonymous 3D model 20151223 08:05:01< fabi> I guess most umc contributers would just specify the nearest fitting unit for a well known 3d client if they can't find a modder. 20151223 08:05:23< fabi> 3d game modders are by far more out there than 2d pixel artists. 20151223 08:05:47< fabi> pixel art artists 20151223 08:06:23< fabi> so I guess a 3d client could even be animation complete before Wesnoth's 2d set of unit animations. 20151223 08:35:16< zookeeper> Aginor, do the VC projectfiles need updating? 20151223 08:35:17< zookeeper> 1>hotkey_item.obj : error LNK2001: unresolved external symbol _SDL_GetScancodeFromKey 20151223 08:35:17< zookeeper> 1>hotkey_item.obj : error LNK2001: unresolved external symbol _SDL_GetScancodeFromName 20151223 08:35:17< zookeeper> 1>hotkey_item.obj : error LNK2001: unresolved external symbol _SDL_GetScancodeName 20151223 08:35:17< zookeeper> 1>hotkey_item.obj : error LNK2001: unresolved external symbol _SDL_GetKeyFromScancode 20151223 08:46:38-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 255 seconds] 20151223 08:47:41-!- oldlaptop [~quassel@50.36.242.96] has quit [Ping timeout: 276 seconds] 20151223 09:56:05-!- mjs-de [~mjs-de@p508C976C.dip0.t-ipconnect.de] has joined #wesnoth-dev 20151223 10:12:04-!- Kwandulin [~Miranda@p200300760F250AE2412275890BB69FA5.dip0.t-ipconnect.de] has joined #wesnoth-dev 20151223 10:12:08-!- horrowind [~Icedove@2a02:810a:8b00:1c54:21b:fcff:fee3:c3ff] has joined #wesnoth-dev 20151223 10:23:24-!- Kwandulin [~Miranda@p200300760F250AE2412275890BB69FA5.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20151223 11:05:13-!- horrowind [~Icedove@2a02:810a:8b00:1c54:21b:fcff:fee3:c3ff] has quit [Quit: horrowind] 20151223 11:10:12-!- Kwandulin [~Miranda@p200300760F250AE275714E77D84FCE65.dip0.t-ipconnect.de] has joined #wesnoth-dev 20151223 11:20:14-!- iceiceice [~chris@wesnoth/developer/iceiceice] has quit [Quit: Leaving] 20151223 11:55:28< zookeeper> Aginor, nevermind, i figured that out. but, what is the plan regarding all this keyboard stuff? 20151223 11:56:50< zookeeper> like, right now the hotkeys menu claims ; as the user command key, but it's actually รถ 20151223 11:56:59< zookeeper> was that something yet-to-be-fixed? 20151223 12:07:42< zookeeper> vultraz, looking at the discussion at the time, it seems like you volunteered to do this: https://gna.org/bugs/?24200 20151223 12:16:50< zookeeper> celmin|sleep, and yes there's no ticket for the backstab bug, but i guess you already guessed that your change is the likeliest cause? :p 20151223 12:18:29< zookeeper> and regarding the mask border thing, i hope one of you actually took care of the campaign usages already 20151223 12:19:26-!- horrowind [~Icedove@2a02:810a:8b00:1c54:21b:fcff:fee3:c3ff] has joined #wesnoth-dev 20151223 12:26:51-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has joined #wesnoth-dev 20151223 12:34:31< celmin|sleep> zookeeper: Yeah, my rewrite of backstab is the probable cause. 20151223 12:35:11< celmin|sleep> I recall someone updating uses of [terrain_mask], but I don't think the changes were verified in all cases. 20151223 12:35:59-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has joined #wesnoth-dev 20151223 12:36:22< gfgtdf> zookeeper: can you plesae test whether your backstab issue also happens on 1.12.5 ? 20151223 12:38:34-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has quit [Client Quit] 20151223 12:39:04< celmin|sleep> If it does, it couldn't be my fault. 20151223 12:47:11-!- louis94 [~~louis94@109.129.245.154] has joined #wesnoth-dev 20151223 12:47:43-!- horrowind [~Icedove@2a02:810a:8b00:1c54:21b:fcff:fee3:c3ff] has quit [Quit: horrowind] 20151223 13:47:59-!- mjs-de [~mjs-de@p508C976C.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20151223 13:57:05-!- louis94 [~~louis94@109.129.245.154] has quit [Ping timeout: 276 seconds] 20151223 14:03:59-!- louis94 [~~louis94@109.129.245.154] has joined #wesnoth-dev 20151223 14:11:21-!- celmin|sleep is now known as celticminstrel 20151223 14:12:45< zookeeper> gfgtdf, no, it doesn't 20151223 14:15:36-!- irker506 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20151223 14:15:36< irker506> wesnoth: loonycyborg wesnoth:master da721f7a772f / packaging/windows/SConscript: scons: pass -F pe-i386 to windres for 32-bit multilib builds http://git.io/vE8DG 20151223 14:22:06-!- Appleman1234 [~Appleman1@KD119104017001.au-net.ne.jp] has quit [Ping timeout: 240 seconds] 20151223 14:41:05< vultraz> Aginor: I've pushed a commit moving relevant functions from preferences to the display class https://github.com/wesnoth/wesnoth/commit/fba7634861a1779308aa20f4712656162d4c0097 20151223 14:41:20< vultraz> have a problem tho - for some reason wesnoth won't init video :| 20151223 14:41:58< vultraz> wondering if you could help me 20151223 14:42:39< vultraz> the commit also allowed me to merge the two set_fullscreen functions 20151223 14:42:58< vultraz> since I don't need to manually pass a video object to the function 20151223 14:43:03< vultraz> (I don't think so, at least) 20151223 14:51:06-!- travis-ci [~travis-ci@ec2-54-158-106-209.compute-1.amazonaws.com] has joined #wesnoth-dev 20151223 14:51:08< travis-ci> wesnoth/wesnoth#7999 (master - da721f7 : loonycyborg): The build has errored. 20151223 14:51:08< travis-ci> Build details : https://travis-ci.org/wesnoth/wesnoth/builds/98520209 20151223 14:51:08-!- travis-ci [~travis-ci@ec2-54-158-106-209.compute-1.amazonaws.com] has left #wesnoth-dev [] 20151223 15:02:07< vultraz> Aginor: no rush, though 20151223 15:02:31< vultraz> Aginor: I shouldn't even be working on it, right before christmas :P 20151223 15:17:28< vultraz> oh wait 20151223 15:17:30< vultraz> I've fixed it 20151223 15:17:32< vultraz> derp 20151223 15:21:16< vultraz> in fact, I made it perform better 20151223 15:21:23< vultraz> nice, nice 20151223 15:30:44-!- louis94 [~~louis94@109.129.245.154] has quit [Ping timeout: 272 seconds] 20151223 15:31:58-!- mjs-de [~mjs-de@p508C976C.dip0.t-ipconnect.de] has joined #wesnoth-dev 20151223 15:32:03-!- louis94 [~~louis94@109.129.245.154] has joined #wesnoth-dev 20151223 15:41:57< vultraz> Aginor: https://github.com/wesnoth/wesnoth/commit/e311a5c286d5646082327b3aa534d7be486ea89c 20151223 15:54:39-!- Kwandulin [~Miranda@p200300760F250AE275714E77D84FCE65.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20151223 16:08:11-!- louis94 [~~louis94@109.129.245.154] has quit [Ping timeout: 246 seconds] 20151223 16:16:35-!- EliDupree_ [~quassel@idupree.com] has quit [Remote host closed the connection] 20151223 16:16:45-!- EliDupree [~quassel@idupree.com] has joined #wesnoth-dev 20151223 16:19:18-!- Kwandulin [~Miranda@p200300760F250AE2E5E65969E7C5C184.dip0.t-ipconnect.de] has joined #wesnoth-dev 20151223 16:21:27-!- louis94 [~~louis94@109.129.245.154] has joined #wesnoth-dev 20151223 16:26:25-!- lipkab [~the_new_l@apn-151-0-73-36.vodafone.hu] has joined #wesnoth-dev 20151223 16:27:27-!- lipkab [~the_new_l@apn-151-0-73-36.vodafone.hu] has quit [Client Quit] 20151223 16:37:59-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has joined #wesnoth-dev 20151223 16:38:52< gfgtdf> vultraz: hmm why did you move thesefunction out ofprefernces? afaik thereason why it is on preferences is that the resuliton/windowsize is preserved when starting wesnot again 20151223 16:39:23< vultraz> gfgtdf: im working on that 20151223 16:39:28< vultraz> it's part of the refactor 20151223 16:39:54< vultraz> i moved it out of prefs because those functions are more closely aligned with the display 20151223 16:39:56-!- boucman_work [~jrosen@wesnoth/developer/boucman] has quit [Ping timeout: 256 seconds] 20151223 16:39:57< vultraz> not prefs 20151223 16:40:08< vultraz> the prefs flags are still there though 20151223 16:41:18< gfgtdf> vultraz: hmm onw which branch is the commit that younlikned above? 20151223 16:41:52< vultraz> gfgtdf: https://github.com/Vultraz/wesnoth/tree/display_cleanup 20151223 16:42:01< gfgtdf> ah ok 20151223 16:42:20< gfgtdf> vultraz: id'actully try to fix the 'display is not a singleton' issue first 20151223 16:42:31< gfgtdf> vultraz: becasuse ithink thats themost confusng part 20151223 16:43:06-!- louis94 [~~louis94@109.129.245.154] has quit [Ping timeout: 260 seconds] 20151223 16:44:10< vultraz> I don't really know how to do that 20151223 16:46:33< vultraz> I don't even know how to handle a singleton 20151223 16:52:00< vultraz> I'll get Aginor handle that 20151223 16:53:20-!- zombah [~zombah@2a02:28:3:1:214:4fff:fe47:5920] has quit [Quit: Leaving] 20151223 16:55:14-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has quit [Ping timeout: 256 seconds] 20151223 17:04:59-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has joined #wesnoth-dev 20151223 17:15:22-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20151223 17:15:47-!- irker506 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20151223 17:27:33-!- EliDupree [~quassel@idupree.com] has quit [Remote host closed the connection] 20151223 17:27:43-!- EliDupree [~quassel@idupree.com] has joined #wesnoth-dev 20151223 17:33:40-!- prkc [~prkc@54008347.dsl.pool.telekom.hu] has joined #wesnoth-dev 20151223 17:42:36-!- gfgtdf_ [~chatzilla@f054143182.adsl.alicedsl.de] has joined #wesnoth-dev 20151223 17:47:52-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has quit [Quit: ChatZilla 0.9.92 [Firefox 43.0.1/20151216175450]] 20151223 17:48:01-!- gfgtdf_ is now known as gfgtdf 20151223 18:02:30-!- ancestral [~ancestral@108-249-32-209.lightspeed.mdsnwi.sbcglobal.net] has joined #wesnoth-dev 20151223 18:21:29< celticminstrel> gfgtdf, vultraz, Aginor: "display" is in fact a superclass, right? So making it a singleton would be difficult. 20151223 18:22:20-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has quit [Ping timeout: 250 seconds] 20151223 18:28:49< celticminstrel> XCode's symbol parser doesn't seem to have recognized that "display" is a class that exists. 20151223 18:31:36< celticminstrel> I see it has two children and two symbols. (from grep) 20151223 18:31:44< celticminstrel> ^two siblings, not symbols 20151223 18:34:32< celticminstrel> I guess the siblings probably aren't relevant for this though. 20151223 18:46:43< celticminstrel> I'm going to try and trace where displays are constructed. 20151223 18:52:08-!- pydsigner [~pydsigner@unaffiliated/pydsigner] has quit [Ping timeout: 272 seconds] 20151223 18:54:39< celticminstrel> Is it really necessary to have a game_display around during the initial loading screen and the main menu? 20151223 18:57:07-!- ancestral [~ancestral@108-249-32-209.lightspeed.mdsnwi.sbcglobal.net] has quit [Quit: i go nstuf kthxbai] 20151223 18:58:16-!- pydsigner [~pydsigner@unaffiliated/pydsigner] has joined #wesnoth-dev 20151223 19:09:22-!- wedge010 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has joined #wesnoth-dev 20151223 19:10:28< celticminstrel> I'm guessing not, since it doesn't construct a new display when you return to the main menu... 20151223 19:13:10-!- wedge009 [~Thunderbi@60-241-236-92.static.tpgi.com.au] has quit [Ping timeout: 260 seconds] 20151223 19:13:10-!- wedge010 is now known as wedge009 20151223 19:16:58< celticminstrel> The loading screen only seems to need the CVideo object, and I assume the same is true of the main menu. 20151223 19:25:30< vultraz> you'd think not 20151223 19:25:45< vultraz> i mean, you'd think it wouldn't be necessary 20151223 19:26:31< vultraz> let me see what happens otherwise.. 20151223 19:34:47-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has joined #wesnoth-dev 20151223 19:35:40< gfgtdf> celticminstrel: the titlescreen needs a display object becasue the help menu (just liek any gui1 menu) needs it. 20151223 19:36:29< gfgtdf> celticminstrel: there are 3 (or maybe only 2) subclasses of display 20151223 19:36:32< vultraz> gfgtdf: isn't game_display different from display 20151223 19:36:39< gfgtdf> celticminstrel: one for the editor screen one for ingame 20151223 19:37:16< gfgtdf> celticminstrel: i think the display class is just ionteneded to handle the 'game-like' scrren that drap maps, units,etc.. 20151223 19:37:47< gfgtdf> so that there exists at most 1 of those objewct at a time 20151223 19:38:09< gfgtdf> celticminstrel: but thi just doesnt work becasue the titlesscreen needs a display to to show gui1 dialogs 20151223 19:38:55< gfgtdf> celticminstrel: i think we shoudl move the functions that are needed by gui1 dialogs to the CViceo class, and then remove the need for display in the gui1 dialogs 20151223 19:40:18< vultraz> sounds doable 20151223 20:03:38-!- Kwandulin [~Miranda@p200300760F250AE2E5E65969E7C5C184.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20151223 20:09:02< celticminstrel> gfgtdf: There's only two. 20151223 20:09:36< celticminstrel> gfgtdf: As for the help menu, if that's the only thing that needs it, then I think the singleton problem is solvable - just construct the game_display when showing help and destroy it when closing help. 20151223 20:10:16< celticminstrel> gfgtdf: What exactly are these functions you're proposing to move? 20151223 20:10:52< celticminstrel> vultraz: game_display is a subclass of display. 20151223 20:19:10< gfgtdf> celticminstrel: idk their exact names, you you can look in the gui1 code which functiosn are used 20151223 20:19:23< gfgtdf> celticminstrel: iirc its something like "flip display" or somilar 20151223 20:45:17< celticminstrel> Does anyone know whether play_controller::to_config() is called as a result of WML actions (eg inspect or maybe store_side)? Or is it only for saved games? 20151223 20:54:03< gfgtdf> celticminstrel: youwouldnt call play_controller::to_config if you only need the sides config 20151223 21:25:05-!- pydsigner [~pydsigner@unaffiliated/pydsigner] has quit [Read error: Connection reset by peer] 20151223 21:40:13-!- pydsigner [~pydsigner@unaffiliated/pydsigner] has joined #wesnoth-dev 20151223 21:42:00-!- Necrosporus_ [~Necrospor@unaffiliated/necrosporus] has joined #wesnoth-dev 20151223 21:44:37-!- Necrosporus [~Necrospor@unaffiliated/necrosporus] has quit [Disconnected by services] 20151223 21:44:40-!- Necrosporus_ is now known as Necrosporus 20151223 22:36:02-!- louis94 [~~louis94@109.129.245.154] has joined #wesnoth-dev 20151223 22:44:37< gfgtdf> I thibnk we shoudlnt have 2 menu items "Continue Network Game" and "Pause Network Game" instead there shoudl be one button to toggle it, ideally with changing titles depending on the current state 20151223 22:44:58< gfgtdf> becase currently it is not possible to assign the same hotkey to these 2 buttons 20151223 22:45:26-!- vultraz [~chatzilla@wesnoth/developer/vultraz] has quit [Ping timeout: 255 seconds] 20151223 22:57:08-!- ancestral [~ancestral@108-249-32-209.lightspeed.mdsnwi.sbcglobal.net] has joined #wesnoth-dev 20151223 23:06:30-!- ancestral [~ancestral@108-249-32-209.lightspeed.mdsnwi.sbcglobal.net] has quit [Quit: i go nstuf kthxbai] 20151223 23:09:47-!- gfgtdf [~chatzilla@f054143182.adsl.alicedsl.de] has quit [Quit: ChatZilla 0.9.92 [Firefox 43.0.1/20151216175450]] 20151223 23:20:56-!- prkc [~prkc@54008347.dsl.pool.telekom.hu] has quit [Quit: Leaving] 20151223 23:40:34-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20151223 23:40:42-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20151223 23:50:46-!- Appleman1234 [~Appleman1@KD119104010219.au-net.ne.jp] has joined #wesnoth-dev --- Log closed Thu Dec 24 00:00:53 2015