--- Log opened Sun Apr 23 00:00:01 2017 20170423 00:00:02< zookeeper> and now you say no :| 20170423 00:00:22< vultraz_iOS> no, because this is only *part* of reformatting/cleanup 20170423 00:00:29< vultraz_iOS> if it were the entirely you would be right 20170423 00:01:42< vultraz_iOS> it saves time by reducing what needs to be done. 20170423 00:01:45< vultraz_iOS> how is that unclear :| 20170423 00:03:05< zookeeper> it's not 20170423 00:03:15< vultraz_iOS> it's like if I said "I'm going to send zookeeper 50 boxes of cheeseburgers" and then found that the boxes already had an address filled out and a stamp 20170423 00:04:32< nickanc> btw Ravana_ this week I had some spare time and I played on the MP server. It was a long time since I last did it. You did a great job in rebalancing, I won a two suns Orocia. 20170423 00:04:50< zookeeper> vultraz_iOS, i realize we've had countless utterly pointless discussions before, but this one gets at least to the top 3, i think? :> 20170423 00:05:04< Aginor> reformatting code by hand? :D there's tools to do that for an entire code base 20170423 00:05:17< nickanc> and I was even more surprised that two suns map is played more than fall map, at least as I see when I am online 20170423 00:05:50< gfgtdf> ye for example mordante used to run clang format on the gui2 codebase.(iirc it had some issues with intention though) 20170423 00:06:38< vultraz_iOS> zookeeper: I don't understand how it keeps happening :| 20170423 00:07:19< vultraz_iOS> why are we arguing if you already understand my point 20170423 00:07:21-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 00:07:44< Aginor> http://astyle.sourceforge.net/ has always struck me as sensible, although you can spend lots of time getting the format right 20170423 00:08:03< vultraz_iOS> anyway, going to push my commits 20170423 00:12:07-!- gfgtdf [~chatzilla@x4e36969f.dyn.telefonica.de] has quit [Quit: ChatZilla 0.9.93 [Firefox 52.0.2/20170323105023]] 20170423 00:13:21< nickanc> vultraz btw, instead of reformatting by hand, there are regexp that in the most extended version (perl regexp) surely cover all your desires of proper formatting. 20170423 00:14:40-!- zookeeper [zookeeper@wesnoth/developer/zookeeper] has quit [Ping timeout: 240 seconds] 20170423 00:15:17< Aginor> this is also one of those things that's likely to cause all kinds of conflicts for people 20170423 00:16:04< vultraz_iOS> so, should I not push it :| 20170423 00:16:54-!- gfgtdf [~chatzilla@x4e36969f.dyn.telefonica.de] has joined #wesnoth-dev 20170423 00:17:07< gfgtdf> better not, mosrly for the possible merging conflics 20170423 00:17:18< vultraz_iOS> :| 20170423 00:17:20< gfgtdf> vultraz_iOS: really most ides even have integrated an autoformat tool 20170423 00:17:45< vultraz_iOS> yes, VS Code has clang format but clang format fucks up indent 20170423 00:18:54< gfgtdf> vultraz_iOS: hmm shouldn't vs code (assuming this is visualstudio) also have its own autofrmat tool? note sure though 20170423 00:19:05< vultraz_iOS> vs code is not visualstudio 20170423 00:19:42< gfgtdf> googleling 'vs code ' gives me visulalstudio 20170423 00:20:04< vultraz_iOS> gfgtdf: vs code is different from vs the compiler ide 20170423 00:20:07< vultraz_iOS> it's just a code editor 20170423 00:20:09< vultraz_iOS> with some nice features 20170423 00:20:25< vultraz_iOS> anyway, what's the point of talking about using a code formatter 20170423 00:20:35< vultraz_iOS> all it will do is produce even more merge conflicts 20170423 00:20:45< vultraz_iOS> than what I'm doing 20170423 00:22:14< Aginor> the most common approach to this kind of thing is to get the formatter stuff prepared so that it's easy to run 20170423 00:22:23< gfgtdf> vultraz_iOS: yes but with it 'less work when doign formattign later' will be untrue since 'doing formatting later' will be very easy. (assuming that the main reason you are doing this is that you don'T want to both with that later when you work on code) 20170423 00:22:27< celticminstrel> XD 10,000 spaces stripped out huh. 20170423 00:22:36< celticminstrel> Yes, a space is one byte in UTF-8, duh. 20170423 00:22:44< vultraz_iOS> celticminstrel: more than 20170423 00:22:52< Aginor> advertise in advance that you're going to do it, giving people a chance to get their stuff merged 20170423 00:22:55< gfgtdf> we woudl stip out more if we converted wml to use tabs... 20170423 00:23:09< Aginor> and then proceed with the change, and make sure to have it in one commit 20170423 00:23:45< nickanc> instead of having a quarrel on white spaces, could you help me find the list of the addons of the 1.8 or is it lost forever? 20170423 00:23:46< Aginor> you should also make sure that the formatter is available to everyoen so they can make sure that any future commits will conform to formatting standards 20170423 00:23:55< vultraz_iOS> *sighs* 20170423 00:23:58< vultraz_iOS> fine 20170423 00:24:08< nickanc> (just saying this to divert your attention out of a silly problem) 20170423 00:24:15< gfgtdf> add-ons.wesnoth.org/1.8/ ? 20170423 00:24:19< vultraz_iOS> I'll drop the whitespace commit and just push the less-intrusive nested > > commit 20170423 00:24:53< vultraz_iOS> which is only 112 files changed, 368 insertions(+), 368 deletions(-) 20170423 00:25:01< gfgtdf> maybe we shoudl laos runa a 'auto insert override/const' tool on this 20170423 00:25:05< nickanc> gfgtdf for some reasons i thought it were not anymore online. thanks! 20170423 00:26:13< vultraz_iOS> oh, you know what, fuck it 20170423 00:26:15< vultraz_iOS> I'll drop that too 20170423 00:26:32< vultraz_iOS> if I do that I might as well also fix other template formatting and then I suppose I might as well leave that to a formatter 20170423 00:27:05< celticminstrel> Yes, 10,000 fewer space characters means a total filesize reduction of 10kB (or 9.7 kiB), which is not significant at all. 20170423 00:27:18< vultraz_iOS> yay for an hour wasted 20170423 00:27:22-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 00:27:24< celticminstrel> I wouldn't call it wasted? 20170423 00:28:13< celticminstrel> But BTW there's actually a clang-format config file somewhere in the repo, so it might be good to update that to conform to the standards you want. 20170423 00:28:22< celticminstrel> What does clang-format do to the indentation that you were complaining about? 20170423 00:28:49< vultraz_iOS> wraps everything to 72 characters even if it means shoving a single character on a new line aligned all the way to the right 20170423 00:29:26< vultraz_iOS> and indents that with tabs 20170423 00:31:25< vultraz_iOS> celticminstrel: where is this file? 20170423 00:31:32< celticminstrel> I think it's in src 20170423 00:31:35< celticminstrel> Begins with a . 20170423 00:31:56 * celticminstrel is trying to see if clang-format allows setting the max width... can't seem to find anything about it... 20170423 00:32:09< celticminstrel> The documentation is here, anyway: https://clang.llvm.org/docs/ClangFormatStyleOptions.html 20170423 00:33:44< nickanc> is there here any fan of two suns gameplay? how would you structure an MP scenario that fits best with two suns? 20170423 00:33:49< gfgtdf> celticminstrel: its ColumnLimit i think 20170423 00:34:26< celticminstrel> Okay, so if gfgtdf is correct, then set ColumnLimit to something like 1000 if you don't want lines being arbitrarily broken to fit into the available space. 20170423 00:34:47< gfgtdf> celticminstrel: there are also other complaints http://stackoverflow.com/questions/33656800/clang-format-line-breaks 20170423 00:35:41< gfgtdf> celticminstrel: its actual done by iceiceice 20170423 00:35:50< celticminstrel> ??? 20170423 00:35:59< gfgtdf> celticminstrel: te comment in the linke above 20170423 00:37:18< celticminstrel> Oh, the answer is. 20170423 00:38:14< celticminstrel> gfgtdf, vultraz_iOS: Sounds like setting ColumnLimit to 0 would work nicely. 20170423 00:40:51< gfgtdf> another problem was iirc that it indented the constructor inlizer lists with spaces. 20170423 00:41:19< celticminstrel> I'm pretty sure I saw something to tell it to indent continuations with tabs. 20170423 00:41:24< celticminstrel> But come to think of it... 20170423 00:41:37< celticminstrel> I wonder if it would just putt all the initializers on one line if ColumnLimit is 0... 20170423 00:43:57< vultraz_iOS> oh niiiice, VS Code respects the .clang_format file in the repo already 20170423 00:44:48< nickanc> porting old maps: what terrain was Ggf in 1.8? 20170423 00:45:07< celticminstrel> Grass with flowers would be my guess? 20170423 00:45:13< celticminstrel> Flowers are an overlay in 1.12. 20170423 00:45:29< vultraz_iOS> looks like clang_format takes care of all the spacing issues we want 20170423 00:45:32< vultraz_iOS> but not > > 20170423 00:45:55< celticminstrel> Really?. 20170423 00:45:58< vultraz_iOS> oh wait 20170423 00:46:16< nickanc> werent flowers always an overlay? omg 20170423 00:46:19< vultraz_iOS> got it 20170423 00:46:30< celticminstrel> I dunno. I first used Wesnoth in 1.10. 20170423 00:47:00< celticminstrel> I bet you could add a .clang-format file also in data/lua and data/ai/lua. 20170423 00:47:39< celticminstrel> Though I guess supporting JS doesn't mean it'll support Lua too... 20170423 00:48:16< celticminstrel> Well, it doesn't say it supports Lua so I guess not then. 20170423 00:48:44< vultraz_iOS> most of these defaults are good 20170423 00:49:00< celticminstrel> MaxEmptyLinesToKeeP? 20170423 00:49:05 * celticminstrel would go with 1 20170423 00:49:16< vultraz_iOS> yes 20170423 00:49:35< celticminstrel> Presumably Wesnoth doesn't use any Blocks. 20170423 00:50:02< vultraz_iOS> MaxEmptyLinesToKeep: 100 20170423 00:50:04< vultraz_iOS> whaaaa 20170423 00:50:09< celticminstrel> o.o 20170423 00:50:28< celticminstrel> PointerAlignment should be Left, right? 20170423 00:50:29< gfgtdf> well yes it just means don't remove empty lines 20170423 00:50:41< vultraz_iOS> celticminstrel: just added 20170423 00:50:53< celticminstrel> Sorting includes kinda seems like a good idea, 20170423 00:51:10< vultraz_iOS> default i think 20170423 00:51:35< celticminstrel> SpaceBeforeParens: Never \o/ 20170423 00:51:37< nickanc> Ggf -> Gg^Efm seems a plausible guess, seeing the map. Thank you! 20170423 00:52:10< celticminstrel> Maybe I should make a .clang-format for BoE too... 20170423 00:52:54< celticminstrel> vultraz_iOS: Apparently avoiding > > requires Standard: Cpp11 20170423 00:53:00< celticminstrel> Or maybe you already discovered that. 20170423 00:53:02< vultraz_iOS> celticminstrel: already got it 20170423 00:53:38< celticminstrel> What's the UseTabs setting? 20170423 00:54:17< vultraz_iOS> "The way to use tab characters in the resulting file." 20170423 00:54:28< celticminstrel> No, I'm asking what its value is, not what it means. 20170423 00:54:38< vultraz_iOS> "Use tabs whenever we need to fill whitespace that spans at least from one tab stop to the next one." 20170423 00:54:39< celticminstrel> If I wanted to know what it means I could just read the description in front of me. 20170423 00:54:43< vultraz_iOS> hmmm 20170423 00:54:44< celticminstrel> So Always? 20170423 00:54:45< vultraz_iOS> so I guess.. 20170423 00:54:48< vultraz_iOS> yes 20170423 00:54:49< vultraz_iOS> always 20170423 00:55:02< celticminstrel> I think ForContinuationAndIndentation might be better. 20170423 00:55:02< vultraz_iOS> I think we want ForIndentation 20170423 00:55:11< vultraz_iOS> alright ill use that 20170423 00:55:25< celticminstrel> "Always" would mean it uses tabs when it wants to align things. 20170423 00:55:27< gfgtdf> what exactly is the difference btween ForContinuationAndIn and ForIndentation ? 20170423 00:56:12< celticminstrel> I guess it distinguishes indentation due to a block from indentation due to a line being broken up. 20170423 00:56:16< vultraz_iOS> include soring seems to be default 20170423 00:56:26< celticminstrel> If lines are never broken up, the two would be equivalent. 20170423 00:56:35< gfgtdf> hmm 20170423 00:56:37< gfgtdf> ok 20170423 00:56:51< vultraz_iOS> huh actually setting it to false doesn't seem to disable it 20170423 00:56:52< vultraz_iOS> weird 20170423 00:56:54< vultraz_iOS> oh well doesn't matter 20170423 00:56:58< vultraz_iOS> we want it on 20170423 00:57:11< gfgtdf> but be sure to make a pr before pushing so we can review. 20170423 00:57:25< gfgtdf> the resulted formatting i mean, not the settings file 20170423 00:57:25< vultraz_iOS> review what? 20170423 00:57:28< vultraz_iOS> ah 20170423 00:57:36< vultraz_iOS> not sure how you'll do that 20170423 00:58:28< gfgtdf> vultraz_iOS: well i dont need to see the whole diff, just some sampleto see it oesn't do somethign completeley unexpected 20170423 00:58:44< vultraz_iOS> celticminstrel: do we want IndentCaseLabels? 20170423 00:58:45-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 00:59:56< celticminstrel> vultraz_iOS: IIRC, there's more code ATM that indents them than there is that doesn't... on the other hand, I slightly prefer not indenting them. On the other hand, I usually indent them anyway because XCode insists on doing it, so... I guess either works for me. 20170423 01:00:16< gfgtdf> i usuualy use no indent on case labels, but it seems like most of your code does it 20170423 01:01:26< celticminstrel> If you're doing automated code reformatting, definitely don't do it while major PRs remain open. 20170423 01:01:31< gfgtdf> ye seem liek the bgig majority does it, so i'd go for yes 20170423 01:01:37< celticminstrel> But updating the clang-format file can be done at any time. 20170423 01:02:14< celticminstrel> Speaking of PRs, could someone please comment on my objectives one? 20170423 01:04:12< vultraz_iOS> what is the github column width 20170423 01:04:37< celticminstrel> Doesn't that depend on the size of your browser window? 20170423 01:05:23< vultraz_iOS> eh maybe 20170423 01:06:08< vultraz_iOS> why is the formatting suddenly not applying here 20170423 01:06:09< vultraz_iOS> gah 20170423 01:09:57-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170423 01:11:14-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 01:12:19< vultraz_iOS> must have screwed up the formatting somewhere 20170423 01:14:25< vultraz_iOS> ahh 20170423 01:15:34-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170423 01:15:36< vultraz_iOS> invalid keys cause the entire config to be discarded 20170423 01:16:11-!- gfgtdf_ [~chatzilla@x4e3632af.dyn.telefonica.de] has joined #wesnoth-dev 20170423 01:18:10-!- gfgtdf [~chatzilla@x4e36969f.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170423 01:18:20-!- gfgtdf_ is now known as gfgtdf 20170423 01:19:17-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170423 01:19:21< vultraz_iOS> weird 20170423 01:19:24< vultraz_iOS> SpaceAfterTemplateKeyword seems to be invalid 20170423 01:19:45< celticminstrel> Well, we don't want a space there, right? 20170423 01:19:58< celticminstrel> That would give "template " 20170423 01:20:06< vultraz_iOS> no, i mean the key 20170423 01:20:09-!- gfgtdf [~chatzilla@x4e3632af.dyn.telefonica.de] has quit [Client Quit] 20170423 01:20:10< vultraz_iOS> i want to set it to false 20170423 01:20:21-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170423 01:20:58< celticminstrel> Right. 20170423 01:23:24< celticminstrel> vultraz_iOS: Maybe your clang-format is older and doesn't support it yet. 20170423 01:23:38< vultraz_iOS> considering it's shipped with VS Code that shouldn't happen 20170423 01:23:39< celticminstrel> Or VSCode's clang-format (it might be embedded) 20170423 01:23:53< celticminstrel> (Since clang-format is both a command-line tool and a lib.) 20170423 01:27:19-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Quit: Konversation terminated!] 20170423 01:27:20-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 01:27:42< irker102> wesnoth: Charles Dang wesnoth:master dc0003fd911d / src/.clang-format: Update our clang_format config https://github.com/wesnoth/wesnoth/commit/dc0003fd911d1d80d19080635ac1d7eeb31c9e19 20170423 01:27:45< vultraz_iOS> celticminstrel: ^ 20170423 01:30:22< celticminstrel> Seems okay to me. 20170423 01:31:08-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 01:32:22< celticminstrel> Should've used [ci skip] though, 20170423 01:32:26< vultraz_iOS> ah 20170423 01:33:43-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 01:33:45< vultraz_iOS> sadly doesn't look like i can apply the formatting to all files ;_; 20170423 01:34:04< celticminstrel> Oh? Why not? 20170423 01:34:18< vultraz_iOS> dunno 20170423 01:34:26< vultraz_iOS> guess the cpp vs code extension doesn't have it yet 20170423 01:34:35< celticminstrel> ??? 20170423 01:34:49< celticminstrel> Oh, wait, you mean there's no batch mode in VSCode? 20170423 01:34:49< vultraz_iOS> VS code works with extensions 20170423 01:34:55< vultraz_iOS> batch mode? 20170423 01:35:03< celticminstrel> So you can do all files in one command? 20170423 01:35:17< vultraz_iOS> uhh... 20170423 01:35:19< vultraz_iOS> how would that look? 20170423 01:35:21< celticminstrel> ... 20170423 01:35:23< celticminstrel> ... 20170423 01:35:23< celticminstrel> ... 20170423 01:35:24< celticminstrel> .. 20170423 01:35:25< celticminstrel> ... 20170423 01:35:33< celticminstrel> [Apr 22@9:33:45pm] vultraz_iOS: sadly doesn't look like i can apply the formatting to all files ;_; 20170423 01:35:43< celticminstrel> Just explain what on earth you mean there. 20170423 01:35:47< vultraz_iOS> no, I mean what would the command look like 20170423 01:36:15< vultraz_iOS> i can invoke a terminal instance, and you said clang-format is a command too 20170423 01:36:29< celticminstrel> I'm asking what you meant with your statement. 20170423 01:37:17< vultraz_iOS> I don't have a button to format all the files 20170423 01:37:37< celticminstrel> So that means... 20170423 01:37:47< celticminstrel> a) There is no button that will format every file in one click. 20170423 01:37:55< celticminstrel> b) The button to format a file is missing for some files. 20170423 01:38:04< celticminstrel> c) Other, please explain. 20170423 01:38:09< vultraz_iOS> A 20170423 01:38:13< celticminstrel> Okay. 20170423 01:38:29< celticminstrel> Well, it's quite possible you don't have the clang-format command. 20170423 01:38:43< celticminstrel> BTW, unrelatedly, you could try using clang instead of tdm-gcc in your CodeBlocks. 20170423 01:39:24< celticminstrel> IIRC I had some problems getting that to work, but... your situation's a bit different from mine probably. 20170423 01:39:58< celticminstrel> Anyway if you wanted to format all of them at once it'd probably be something vaguely like "clang-format src/*.?pp" 20170423 01:40:24< celticminstrel> You'd have to look at the docs to get the exact syntax. 20170423 01:40:39< celticminstrel> Maybe you'd need a -r flag or similar. 20170423 01:41:29< celticminstrel> Or manually specifying all the possible nesting depths - "src/*.?pp src/*/*.?pp src/*/*/*.?pp" etc 20170423 01:49:08< vultraz_iOS> or someone else can run it 20170423 01:49:41< celticminstrel> True, I guess. 20170423 01:58:13-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 02:01:19-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 02:15:13-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 02:16:57-!- nickanc [5d33ac22@wikimedia/nickanc] has quit [] 20170423 02:21:32< Aginor> find src -name "*.?pp" | xargs clang-format -flags 20170423 02:24:37-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 02:27:38-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 02:28:12-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 02:28:29-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 02:29:31< celticminstrel> Well, that won't work on Windows though. >_> 20170423 02:29:43< celticminstrel> Unless you have all the Unixy tools installed. 20170423 02:29:59< vultraz_iOS> i have find in git bash 20170423 02:30:16< celticminstrel> Oh yeah, git bash... 20170423 02:32:30-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 02:33:15< Aginor> I'm sure powershell has something similar 20170423 02:35:41< celticminstrel> Oh yeah, powershell.... 20170423 02:38:28-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 02:39:31< vultraz_iOS> i'm going to do a manual batch format on a subfolder and see how it goes 20170423 02:40:19< vultraz_iOS> hm 20170423 02:40:24< vultraz_iOS> struct wrapping isn't working 20170423 02:40:26-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 02:40:51< vultraz_iOS> looks like BreakBeforeBraces: Linux doesn't handle structs 20170423 02:41:32-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 02:42:48< vultraz_iOS> guess we need custom 20170423 02:43:12< celticminstrel> How does that work? 20170423 02:43:13-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 02:43:40< vultraz_iOS> you need to specify brace breaks for each case 20170423 02:43:45< vultraz_iOS> not sure the syntax tho.. 20170423 02:44:00< vultraz_iOS> "Nested configuration flags:" 20170423 02:44:05< vultraz_iOS> how do you do nested 20170423 02:45:46< celticminstrel> You can probably use JSON syntax. 20170423 02:45:59< celticminstrel> Or just indent them another few spaces. 20170423 02:46:19< vultraz_iOS> it's ymal 20170423 02:46:29< celticminstrel> Yes, but YAML supports a JSON-like syntax too. 20170423 02:47:51-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 02:49:24< vultraz_iOS> what would that look like? 20170423 02:49:30< vultraz_iOS> I don't know much JSON 20170423 02:50:00 * celticminstrel sighs. 20170423 02:50:17< celticminstrel> I guess you can look at .travis.yml for how to nest things in YAML. 20170423 02:50:33< vultraz_iOS> I see 20170423 02:51:06-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 02:53:52< vultraz_iOS> celticminstrel: do we want AfterObjCDeclaration? 20170423 02:54:13< celticminstrel> Doesn't really matter. We have ... two ObjC files, I think? Maybe three? 20170423 02:54:23< vultraz_iOS> ok I'll include it 20170423 02:56:45< irker102> wesnoth: Charles Dang wesnoth:master 21512d44ee43 / src/.clang-format: Clang format: enable brace wrapping for structs https://github.com/wesnoth/wesnoth/commit/21512d44ee43ecd3a4b6c36afcf294cc2160ba41 20170423 02:58:53< vultraz_iOS> celticminstrel: https://github.com/Vultraz/wesnoth/commit/29338e4a2b8e2186f88c3ee030f486ad53c9853c 20170423 02:58:59< vultraz_iOS> output on actions/ 20170423 02:59:30< vultraz_iOS> let's see what needs to be fixed... 20170423 03:00:28< celticminstrel> I'm surprised you included AfterUnion though. 20170423 03:00:36< vultraz_iOS> i did? 20170423 03:00:43< celticminstrel> Given how a union kinda looks like a struct. 20170423 03:00:50< celticminstrel> Not sure we actually use any unions though... 20170423 03:00:57< vultraz_iOS> one or two places 20170423 03:01:03< celticminstrel> Formula variant used one, but not anymore. 20170423 03:01:49< celticminstrel> I might've switched from unions to reinterpret_cast in t_string... ISTR unions producing warnings. 20170423 03:02:27< vultraz_iOS> I've read Unions Are Bad 20170423 03:02:59< vultraz_iOS> ok, im changing UseTab to... ForIndentation only 20170423 03:03:10< vultraz_iOS> to prevent those looongg tab indents when stuff gets lined up 20170423 03:03:16< celticminstrel> ColumnLimit was 0? 20170423 03:03:19< vultraz_iOS> going to make ColumnWidth 120 20170423 03:03:22< celticminstrel> Oh. 20170423 03:03:27< vultraz_iOS> it was 0 when i ran it 20170423 03:03:36< celticminstrel> Well, I think that'll make it use spaces for indenting continuations. 20170423 03:03:41< vultraz_iOS> yes 20170423 03:03:47< vultraz_iOS> is that bad? 20170423 03:03:49< celticminstrel> So you'll have tabs for the main part of the indent, and then spaces. 20170423 03:03:53< celticminstrel> Um. 20170423 03:04:42< vultraz_iOS> + , // No units should advance in the attack prediction tests. 20170423 03:04:42< vultraz_iOS> + rounds(berserk ? 30 : 1) 20170423 03:04:43< vultraz_iOS> blah 20170423 03:04:45< vultraz_iOS> this is bad 20170423 03:05:02< celticminstrel> Well, I can't say it's good or bad, but I think I'd prefer using tabs for indenting wrapped lines. Then again, I'd also prefer them being indented just one level, rather than aligned to some bizarre place like an open parenthesis. 20170423 03:05:52< celticminstrel> Unrelated to clang-format... src/actions/advancement.hpp shouldn't be putting forward declarations before the includes. 20170423 03:06:43< celticminstrel> Ahhhh and it's not the only file there that's doing it... 20170423 03:06:56< celticminstrel> Whyyyy would you do that... 20170423 03:07:55< celticminstrel> Hmm, putting the nested ternaries in swarm_blows on one line is not good. 20170423 03:08:21< vultraz_iOS> we'relooking for ways we can improve clang-format 20170423 03:10:40< vultraz_iOS> ConstructorInitializerAllOnOneLineOrOnePerLine is weird.. 20170423 03:10:46< celticminstrel> The comment (former) line 115 of src/actions/attack.hpp is probably bested moved to be before the line it currently sits at the end of. 20170423 03:10:48< vultraz_iOS> if true it tries to put all stuff on one line.. 20170423 03:10:53< celticminstrel> ^on line 20170423 03:11:05< vultraz_iOS> and if it doesn't fit it used multiple lines 20170423 03:12:44-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 03:12:44< vultraz_iOS> celticminstrel: do we want AllowShortIfStatementsOnASingleLine or AllowShortFunctionsOnASingleLine? 20170423 03:13:18< celticminstrel> For short functions, only inline ones. For short if statements, IMO there's not really much point when there's braces. 20170423 03:13:40< celticminstrel> (By "only inline ones" I really mean if they're inside a class definition.) 20170423 03:14:08< vultraz_iOS> theres even an 'Inline' option, what do you know 20170423 03:14:15< celticminstrel> Thought so. 20170423 03:14:25< celticminstrel> Not seeing anything terrible yet in https://github.com/Vultraz/wesnoth/commit/29338e4a2b8e2186f88c3ee030f486ad53c9853c 20170423 03:14:35< celticminstrel> Other than that one case of nested ternary expressions. 20170423 03:15:11< celticminstrel> I guess there's no option to always break up ternaries, huh? 20170423 03:15:31< celticminstrel> ...though if it's a super-simple one I wouldn't want it broken up, actually. 20170423 03:15:54< celticminstrel> Well, if you're adding a column limit, I suppose that might help with the ternary case... 20170423 03:16:27< vultraz_iOS> BreakBeforeTernaryOperators 20170423 03:16:31< celticminstrel> TBH, with a column limit as large as 120, most cases where it's hit are probably cases where we should change something anyway. 20170423 03:17:02< celticminstrel> I think BreakBeforeTernaryOperators only controls whether it puts the ? at the beginning or end of the line when it decides to break next to it in order to wrap a long line. 20170423 03:17:06< celticminstrel> But I could be mistaken. 20170423 03:18:05< vultraz_iOS> we can make the forwards declarations come after the includes with IncludeCategories 20170423 03:18:06< vultraz_iOS> I think 20170423 03:18:12< vultraz_iOS> but you'll need to give me a regex 20170423 03:18:24< celticminstrel> I'd guess that's not true, since the forward declarations are not includes. 20170423 03:18:30< vultraz_iOS> (might as well put an entry to put <> includes after the "" inclides) 20170423 03:18:36< celticminstrel> Uh, what? 20170423 03:18:44< celticminstrel> You want <> to come after ""? 20170423 03:18:45-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 03:18:55< celticminstrel> Not that there's a problem with it, just surprised me. 20170423 03:18:59< vultraz_iOS> we always make the system/external lib includes come after 20170423 03:19:12< celticminstrel> In my own work I always put the system libs first. 20170423 03:19:18< celticminstrel> Except for the counterpart header. 20170423 03:19:50< celticminstrel> ^system includes 20170423 03:20:18< celticminstrel> In Wesnoth I just put headers wherever, because they're mostly not sorted by any sane criteria anyway... sometimes I do try to put them near something with a similar prefix, at most. 20170423 03:21:25-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 03:22:49< vultraz_iOS> ok there'san option to control alignment 20170423 03:22:55-!- JyrkiVesterinen [~JyrkiVest@87-100-181-97.bb.dnainternet.fi] has joined #wesnoth-dev 20170423 03:23:37< vultraz_iOS> celticminstrel: AlignAfterOpenBracket 20170423 03:23:56< celticminstrel> No don't do that, that gives ridiculous indentation. 20170423 03:24:05< vultraz_iOS> no no no 20170423 03:24:10< vultraz_iOS> it's the control 20170423 03:24:14< vultraz_iOS> I'm going to use AlwaysBreak 20170423 03:24:15< celticminstrel> ??? 20170423 03:24:43< celticminstrel> So I scanned that commit. Didn't bother expanding the "large diff" sections on github though. 20170423 03:24:53< celticminstrel> The only really bad thing I saw was the nested ternaries all being put on one line. 20170423 03:26:58-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 03:27:21< celticminstrel> Apparently the sort includes option only sorts grouped includes, so you can group things however you want by just adding blank lines. 20170423 03:29:26< vultraz_iOS> celticminstrel: https://github.com/Vultraz/wesnoth/commit/d2beaa5db7d2d8b40259083ae06ff374320529ef 20170423 03:29:37< celticminstrel> Also, it's possible for sorting includes to break the build. It shouldn't happen, of course, but it can happen sometimes. 20170423 03:29:58-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 03:29:59< vultraz_iOS> seems AlwaysBreak will put the first option on a new line but also have a weird side effect elsewhere.. 20170423 03:30:15< celticminstrel> You decided to reflow comments? 20170423 03:30:32< vultraz_iOS> i did? 20170423 03:30:44< vultraz_iOS> no 20170423 03:30:46< celticminstrel> Oh, maybe it just did that because you added a column limit. 20170423 03:31:03< celticminstrel> The nested ternaries in attack.hpp still look pretty terrible. 20170423 03:31:31< vultraz_iOS> indeed.. 20170423 03:31:35< vultraz_iOS> what the fuck happened there 20170423 03:32:16< celticminstrel> I don't actually remember how nested ternaries bind... 20170423 03:32:38< vultraz_iOS> AllowShortFunctionsOnASingleLine might not be the best idea 20170423 03:33:14< celticminstrel> ? 20170423 03:33:23< vultraz_iOS> i dunno, it just doesn't look that great 20170423 03:33:32< vultraz_iOS> anyway 120 seems to be a good max value 20170423 03:33:36< vultraz_iOS> for col width 20170423 03:33:40< vultraz_iOS> it fits nicely into the gh window 20170423 03:33:50< celticminstrel> There are tons of functions that are already on a single line, so that's why I thought you should do it. 20170423 03:33:55< celticminstrel> [Apr 22@11:33:40pm] vultraz_iOS: it fits nicely into the gh window 20170423 03:33:56< celticminstrel> Lies. 20170423 03:38:39< celticminstrel> Yeah, the wrapping of that nested ternary makes no sense whatsoever... 20170423 03:39:10< celticminstrel> IIUC, the else-portion that's indented less actually belongs to the nested ternary, not the outer ternary. 20170423 03:39:46< celticminstrel> Well... it may be impossible to get clang-format perfect though. 20170423 03:39:57< celticminstrel> I'd recommand not just running it and blindly committing the results. 20170423 03:40:14< celticminstrel> Instead, run it, review the results, possibly revert a few edge cases, then commit. 20170423 03:40:34< vultraz_iOS> hmm 20170423 03:40:39< celticminstrel> Optionally you could add the suppression comments around the edge-cases, though TBH I wouldn't really recommend using those much. 20170423 03:40:46< vultraz_iOS> yeah, actually, the formatting for the ternary looks better locally.. 20170423 03:41:01< vultraz_iOS> basically, it's not breaking the ? to a ne wline 20170423 03:41:34< celticminstrel> I dislike how the second line seems to be indented more than the first though. 20170423 03:41:39< celticminstrel> ^more than the third 20170423 03:41:51< vultraz_iOS> it's the tab indent 20170423 03:42:04< celticminstrel> ? 20170423 03:42:32-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has joined #wesnoth-dev 20170423 03:42:50< vultraz_iOS> celticminstrel: https://github.com/Vultraz/wesnoth/commit/f0d72dbc2b3c907eac66f0c358956a7ac9b8ad8c 20170423 03:43:07< vultraz_iOS> that's with UseTab: ForIndentation 20170423 03:43:21< vultraz_iOS> but it has the rather unfortunate effect of indenting function lists with spaces 20170423 03:43:21< vultraz_iOS> :/ 20170423 03:43:32< vultraz_iOS> AND ctor lists 20170423 03:43:33< vultraz_iOS> sp.. 20170423 03:43:34< vultraz_iOS> so.. 20170423 03:43:35< celticminstrel> Function lists? 20170423 03:43:58< vultraz_iOS> most of the stuff in that commit 20170423 03:44:19< celticminstrel> The ternary does look better in that commit... you're using a tab width of 4, right? 20170423 03:44:38< vultraz_iOS> yes 20170423 03:44:40< vultraz_iOS> gh uses 8 20170423 03:45:01< celticminstrel> Right, so it'd probably look like that locally, even if you make clang-format use tabs for that indentation, right? 20170423 03:45:28< celticminstrel> I'm still not entirely happy with that indentation, but... at least it's not terrible. 20170423 03:45:41< vultraz_iOS> yes 20170423 03:46:00< celticminstrel> But I think I'd still prefer UseTab: ForIndentationAndContinuation 20170423 03:46:13< vultraz_iOS> indeed 20170423 03:47:45< JyrkiVesterinen> 20170422 23:49:00< gfgtdf> is https://forums.wesnoth.org/viewtopic.php?f=5&p=610997#p610997 (crash in addon manager) a known issue ? 20170423 03:47:51< JyrkiVesterinen> I responded in the forums. 20170423 03:47:55< JyrkiVesterinen> It might be https://gna.org/bugs/?25504 . 20170423 03:51:06-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 03:53:30-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:6ced:8714:41bb:c429] has quit [Remote host closed the connection] 20170423 03:57:52< irker102> wesnoth: Charles Dang wesnoth:master 51a39543ee5c / src/.clang-format: Further updates to clang-format config https://github.com/wesnoth/wesnoth/commit/51a39543ee5ca3c22c263cb0ca17358073f7466f 20170423 04:11:41< vultraz_iOS> yeah, c-f definitely isn't perfect 20170423 04:14:21< vultraz_iOS> doesn't seem to be an option to break after a { for container contents.. 20170423 04:15:09-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 04:31:39-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 04:49:21-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 05:16:13< celticminstrel> Oh yeah, we need to fix the storyscreen bug... 20170423 05:18:55-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 05:31:45< celticminstrel> Okay, so it looks like base_scale_x is 0... 20170423 05:32:51< celticminstrel> The actions also aren't being executed... 20170423 05:33:10< celticminstrel> Ah, in fact the actions are never added to the config. 20170423 05:33:28< celticminstrel> Okay, so from that, my guess is that the issue occurs when no layer has been explicitly specified to be the base layer. 20170423 05:36:30< celticminstrel> Is it meaningful to specify [part]scale_background= if you don't specify [part]background]? 20170423 05:39:14< celticminstrel> I was right! \o/ 20170423 05:39:32< celticminstrel> So the last thing to determine then is how the old storyscreen handled it when no base layer was explicitly specified... 20170423 05:41:09< vultraz_iOS> celticminstrel: it set the first layer 20170423 05:41:10< vultraz_iOS> IIRC 20170423 05:41:16< celticminstrel> Looks that way... 20170423 05:46:24< celticminstrel> Wait, is it possible to have no background image at all? 20170423 05:49:00< irker102> wesnoth: Celtic Minstrel wesnoth:master 9e84ea64f7a5 / src/gui/dialogs/story_viewer.cpp: Story Screen: Fix an erroneous "too big for canvas" error https://github.com/wesnoth/wesnoth/commit/9e84ea64f7a5cab2a210b1cd81eacbbf756beb7c 20170423 05:49:37< celticminstrel> With this, if there was somehow no background layer at all, it would crash with "Mandatory WML child missing but untested for", or something like that. 20170423 05:49:55< celticminstrel> Though the crash would probably dump you to the titlescreen rather than the desktop. 20170423 05:50:22< celticminstrel> All that's left now is to implement tiling, right? 20170423 05:51:16< celticminstrel> Looks like the old storyscreen just called tile_surface()? 20170423 05:51:32< celticminstrel> Which takes a width and a height. 20170423 05:51:45-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 05:52:15< celticminstrel> Anyway it doesn't seem like the tiling will be hard to implement... just need to decide how to integrate the options into the GUI2 canvas API, I think? 20170423 05:53:08< celticminstrel> I think it might be a good idea to separate scale and tile options in the canvas API though. 20170423 05:53:14< celticminstrel> Sure, it might break a few addons, but... 20170423 05:54:42-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20170423 06:05:28< vultraz_iOS> celticminstrel: it's possible to have no [background_layer] tags yet 20170423 06:05:37< vultraz_iOS> but internally the singular keys are converted to one so... 20170423 06:05:56< vultraz_iOS> well, actually, having no background at all is supported 20170423 06:06:02< celticminstrel> That's what I was asking. 20170423 06:06:15< celticminstrel> If that's a possibility, you probably need some extra check in the commit I just made. 20170423 06:06:32< celticminstrel> Note that &cfg.child("image") succeeds even if there is no [image] child. 20170423 06:06:50< celticminstrel> So you'd have to do something like if(cfg.has_child) first. 20170423 06:07:09< vultraz_iOS> base_layer = &cfg.child("image"); 20170423 06:07:11< vultraz_iOS> uh... 20170423 06:07:13< vultraz_iOS> what? 20170423 06:07:28< celticminstrel> Taking the address of the first [image] child? 20170423 06:07:35< vultraz_iOS> no, but why 20170423 06:07:40< vultraz_iOS> that was never the old behavior 20170423 06:07:40< celticminstrel> Why what? 20170423 06:07:52< celticminstrel> You said the old behaviour was to take the first one if not specified. 20170423 06:08:00< celticminstrel> And when I looked at the code, that seemed to support what you said. 20170423 06:08:15< celticminstrel> So that's what that does. 20170423 06:08:58< vultraz_iOS> first background layer 20170423 06:09:06< celticminstrel> Yes. 20170423 06:09:24< celticminstrel> cfg at this point is the generated canvas config. 20170423 06:09:34< celticminstrel> So the [background_layer] tags have been converted to [image] tags. 20170423 06:09:55< vultraz_iOS> oh 20170423 06:09:59< vultraz_iOS> I see what you're doing 20170423 06:09:59< vultraz_iOS> ok 20170423 06:10:53< vultraz_iOS> there's no crash 20170423 06:11:04< celticminstrel> Note that even if you avoid the "mandatory WML child" error when there's no background, you still need to do something about the fact that the actions are never run. 20170423 06:11:23< vultraz_iOS> ? 20170423 06:11:28< vultraz_iOS> never run in which case? 20170423 06:11:39< celticminstrel> In the case that there's no background at all. 20170423 06:11:47< vultraz_iOS> well there's no real need for them to be 20170423 06:12:05< celticminstrel> I think that's not true, because those variables are used by the floating images? 20170423 06:12:23< celticminstrel> If they're not set, then they're null, and if they're null, then any calculation involving them will come out to null IIRC. 20170423 06:12:34< vultraz_iOS> hmm 20170423 06:14:00< vultraz_iOS> would "fi_ref_x * scale_x where scale_x = base_scale_x or 1" work? 20170423 06:15:22< celticminstrel> I think that should work, yes. 20170423 06:15:29< celticminstrel> Don't forget the origin won't be set either. 20170423 06:15:50< vultraz_iOS> that's the origin 20170423 06:15:56< celticminstrel> And also don't forget to wrap the actions setting with a second null pointer check. 20170423 06:16:04< celticminstrel> The origin is the loc(whatever), right? 20170423 06:16:07< vultraz_iOS> oh 20170423 06:16:08< vultraz_iOS> right 20170423 06:16:15< vultraz_iOS> god dammit 20170423 06:16:48< vultraz_iOS> I should just set the variable directly 20170423 06:17:55< celticminstrel> ??? 20170423 06:25:56< vultraz_iOS> wait, what happened to the formula cariant ctor 20170423 06:25:58< vultraz_iOS> variant 20170423 06:26:04< vultraz_iOS> oh 20170423 06:26:05< vultraz_iOS> there it is 20170423 06:26:20< vultraz_iOS> hmm 20170423 06:26:22< vultraz_iOS> celticminstrel: how do I do this 20170423 06:26:47< celticminstrel> Define "this"? 20170423 06:26:57< vultraz_iOS> celticminstrel: https://github.com/Vultraz/wesnoth/commit/36e8c9d9f38e833cb52a076b872cd698665f72ff 20170423 06:27:52< vultraz_iOS> 206 20170423 06:28:52< celticminstrel> So wait, if multiple layers specify base_layer=yes, which one is supposed to take priority? The first one or the last one? 20170423 06:29:01< vultraz_iOS> (oh, and the reason I changed the is_base_layer check to an OR is firstly, so that the first layer is always set as the reference, and secondly, so that if a later layer was specified as the background it would override the previous) 20170423 06:29:12< vultraz_iOS> that, at least, was the old dialog's behavior 20170423 06:29:30< celticminstrel> Okay, fair enough. 20170423 06:30:11< celticminstrel> So line 206 doesn't work? 20170423 06:30:24< celticminstrel> I guess you need std::make_shared? 20170423 06:31:26< celticminstrel> Line 191-2 says "if no background layer was found" but I think you mean "if no base layer was found"? 20170423 06:31:54< celticminstrel> Also in the commit message. 20170423 06:32:02< vultraz_iOS> ah yes 20170423 06:32:09< celticminstrel> Though maybe both work for the commit message. 20170423 06:33:40< irker102> wesnoth: Charles Dang wesnoth:master 7018a1c3b9aa / src/gui/dialogs/story_viewer.cpp: Story Viewer: provide sane canvas variable defaults if no base layer was found https://github.com/wesnoth/wesnoth/commit/7018a1c3b9aa9fc9417482c2c61b8d5ea0b82002 20170423 06:33:47< vultraz_iOS> solves all our problems 20170423 06:34:57< vultraz_iOS> nice job finding the culprit :) 20170423 06:39:24< celticminstrel> All I did was add a ton of debug_pring calls. :P 20170423 06:39:35< celticminstrel> And then notice what seemed to be wrong about the output. 20170423 06:41:39-!- Kwandulin [~Kwandulin@p200300760F6D80926C4D7EE320B6CB98.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170423 06:41:44< celticminstrel> I tried that before, but it didn't work because of the error in the formula debug output that I fixed earlier (using a destroyed seen vector). 20170423 06:42:16< vultraz_iOS> shh 20170423 06:42:20< vultraz_iOS> ahh* 20170423 06:44:45-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 06:56:44 * DeFender1031 hopes this means that the weirdness he was seeing with his scenario intros is fixed. 20170423 06:56:58 * DeFender1031 is compiling. 20170423 06:58:17-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 07:05:45< celticminstrel> Oh hi. 20170423 07:06:37< celticminstrel> I think I wanted to ask you if you have any opinion on the music API in wml_tag_porting... 20170423 07:26:34-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 07:30:30-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 07:33:34< celticminstrel> DeFender1031: ^ 20170423 07:48:21< DeFender1031> hmm? 20170423 07:48:50< DeFender1031> celticminstrel? 20170423 07:49:45< celticminstrel> DeFender1031 The music API in this PR: https://github.com/wesnoth/wesnoth/pull/962 20170423 07:50:02< celticminstrel> I described it in one of the comments, though I also made a few small changes since then... 20170423 07:50:09< DeFender1031> well, it's no longer buggy, but it IS super slow. 20170423 07:50:20< DeFender1031> celticminstrel, looking... 20170423 07:50:22< celticminstrel> I assume you mean the story screen there. 20170423 07:51:04< DeFender1031> yeah 20170423 07:51:18< DeFender1031> sorry, I'm having two different conversations at once 20170423 07:51:40< DeFender1031> about the story screen, i'm not sure i'm a fan of the text being on screen at the same time as whatever delayed images are happening. 20170423 07:51:53< DeFender1031> and like I said, if there are a lot of them, it's very slow. 20170423 07:51:59< celticminstrel> Speaking of slow, I've noticed several things are slow when testing my campaign on 1.13... I'm kinda hoping it might be mainly because it's a debug build... 20170423 07:52:16< DeFender1031> i'm building scons default, which IIRC should not be a debug build. 20170423 07:52:22< celticminstrel> Ah, it's slow if there's a lot of images? I only really tested with my first scenario so far. 20170423 07:52:32< celticminstrel> I wasn't referring to the storyscreen there. 20170423 07:52:44< celticminstrel> A lot of other things are slow for me. 20170423 07:53:10< celticminstrel> The one I remember in particular was AI movements in the first scenario. 20170423 07:53:30< DeFender1031> I have a part of my intro which has a bunch of stuff fading in (using multiple consecutive ~O() calls with progressively higher values) and it's utter molasses. 20170423 07:53:38< celticminstrel> Maybe the opening dialogue with [message]. 20170423 07:53:58< celticminstrel> Actually, I seem to recall messages in general being slow sometimes... 20170423 07:54:12< celticminstrel> I see. 20170423 07:55:12< DeFender1031> I'm tempted to send you and vult my horribly incomplete campaign just so you guys can get the sense of some of what could be done with 1.12 that no longer looks good in 1.13 20170423 07:55:38< DeFender1031> assuming either of you still HAVE a copy of 1.12 you can run stuff on. 20170423 07:56:19< celticminstrel> I still have 1.12 installed on my Mac. I never installed it on 1.13. 20170423 07:56:26< celticminstrel> I mean I never installed it on Windows. 20170423 07:57:09< DeFender1031> hah 20170423 07:57:30< celticminstrel> I was even working on 1.12 fairly recently. 20170423 07:57:39< celticminstrel> Like a month or so ago. 20170423 07:57:44< celticminstrel> With my campaign. 20170423 08:00:06-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 08:10:49< DeFender1031> Anyway, for the story screen, I might recommend, if possible, pre-rendering the next set of images while the player is reading the current message. 20170423 08:11:26< DeFender1031> celticminstrel, I'm not sure what I'm supposed to be looking at in terms of the music thing 20170423 08:11:44< celticminstrel> The API that I described in one of the comments? 20170423 08:12:04< DeFender1031> I seem to be having trouble finding the comment? 20170423 08:12:17< DeFender1031> https://github.com/wesnoth/wesnoth/pull/962#issuecomment-292606277 this one? 20170423 08:12:35< celticminstrel> Yeah, that's the one. 20170423 08:13:51< DeFender1031> i like it being an array also. 20170423 08:14:06< DeFender1031> (I assume that it's an array of the music source file paths?) 20170423 08:14:31< celticminstrel> Roughly? The .name attribute of the array elements is the source filename. 20170423 08:16:09< DeFender1031> what other attributes are there? 20170423 08:16:57< celticminstrel> Basically everything that would be in the [music] tag. 20170423 08:17:06< DeFender1031> ah, that makes sense 20170423 08:17:08< DeFender1031> okay. 20170423 08:17:56< DeFender1031> for wesnoth.playlist.current_i, would not "nil" be a more approriate return for a track not on the list? 20170423 08:18:05< celticminstrel> I was wondering about that. 20170423 08:18:23< celticminstrel> nil might be more appropriate. 20170423 08:19:21< DeFender1031> What's with commit()? Does add() not immediately append the track to the playlist? 20170423 08:20:21< DeFender1031> I'd also suggest allowing an optional index param for add() (index at which to add it), and a corresponding remove() function which takes an index and removes that track. 20170423 08:20:34< celticminstrel> Ah, nice idea. 20170423 08:21:33< DeFender1031> remove could even take multiple indecies. 20170423 08:21:50< celticminstrel> add() does imediately add the track to the list. 20170423 08:21:50< DeFender1031> wesnoth.playlist.remove(3,4,17) 20170423 08:22:08< DeFender1031> so then what does commit do? 20170423 08:23:26-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 08:24:28< celticminstrel> It seems like it just chooses a new track... https://github.com/wesnoth/wesnoth/blob/1cdf0ed65e7a210a96923fd752d6f5e7b3ba300d/src/sound.cpp#L671 20170423 08:24:44< celticminstrel> IIRC it's what an empty [music] tag would do. 20170423 08:25:46< celticminstrel> Well, I guess it doesn't always choose a new track; only if the playlist changed and the current track is no longer on it. 20170423 08:28:25< DeFender1031> hmm 20170423 08:29:09< DeFender1031> basically "force appropriate music right now" instead of "gracefully transition to the new playlist after the current track is over"? 20170423 08:29:22< DeFender1031> i'm not sure commit() is the best name for that... 20170423 08:29:43< DeFender1031> don't have a better one off the top of my head though... let me think. 20170423 08:30:21-!- mkdroid [~null@unaffiliated/matthiaskrgr] has joined #wesnoth-dev 20170423 08:30:36< celticminstrel> That sounds about right. 20170423 08:30:58-!- mkdroid [~null@unaffiliated/matthiaskrgr] has quit [Client Quit] 20170423 08:31:08< celticminstrel> It's actually called automatically when an event ends, too, though you might also want to call it in the middle of an event, I guess. 20170423 08:31:39< celticminstrel> ...actually, I think it's automatically called more often than it should be, not just when an event ends but after any control-flow WML tag... 20170423 08:36:38< DeFender1031> :/ 20170423 08:37:50< DeFender1031> so maybe some name like force_refresh? 20170423 08:39:42-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 08:45:19< DeFender1031> also odd that there's no way to let the current song gracefully end if an event ends first... 20170423 08:45:56< celticminstrel> Well, with this API you'd be able to do it by seting once to true, but... not sure if that counts as a hack... 20170423 08:46:07< celticminstrel> Also that's using Lua not WML. 20170423 08:46:12< DeFender1031> not quite the same thing. 20170423 08:47:08< celticminstrel> ... 20170423 08:47:40< celticminstrel> Uh, hold on, this line seems to imply that it always does that anyway... https://github.com/wesnoth/wesnoth/blob/1cdf0ed65e7a210a96923fd752d6f5e7b3ba300d/src/sound.cpp#L608 20170423 08:47:51< DeFender1031> what I mean is, whatever the current playing song is from the previous playlist is, let it finish before transitioning to the new playlist. 20170423 08:48:07< DeFender1031> hmm 20170423 08:48:28< DeFender1031> so then what was what you were saying that it automatically calls commit at the end of an event? 20170423 08:49:09< celticminstrel> It does do that, and does it in master too... 20170423 08:49:20-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 08:49:36< DeFender1031> wouldn't that mean that if an event ends, it'll interrupt the current song and jump to a new one? 20170423 08:51:58< celticminstrel> It would do that if you had a [music] tag with append=no. 20170423 08:52:07< celticminstrel> Or using the Lua API, if you called clear(). 20170423 08:52:22< celticminstrel> I think that's what would happen. 20170423 08:52:39< celticminstrel> Or... 20170423 08:52:51< celticminstrel> No wait... 20170423 08:53:03< celticminstrel> That line is only triggered if append=no... 20170423 08:53:30< celticminstrel> So even if you clear the playlist, the current track keeps playing, and... commit will see that it has play_once=yes and won't stop it... 20170423 08:54:00< celticminstrel> So it sounds like commit doesn't actually do anything when it's called at the end of an event? 20170423 08:54:09< celticminstrel> But there must have been a reason it was called there? 20170423 08:55:29< celticminstrel> So, if you call play() or use a [music] tag with play_once=yes, then commit does nothing... except forgetting which tracks have already played, I guess... 20170423 08:55:54< DeFender1031> ooookay... 20170423 08:56:19< celticminstrel> If you clear the playlist or use a [music] tag with append=no, then commit does nothing (except that one little thing), because in that event the current track has play_once set to yes... 20170423 08:56:34< DeFender1031> hmm 20170423 08:56:56< celticminstrel> If you call add() without calling clear() or use a [music] tag with append=yes, then commit does nothing because the currently-playing track is still on the playlist... 20170423 08:57:17< celticminstrel> Now, I can imagine new cases available with the current API where it might do something, but... 20170423 08:59:12< DeFender1031> then in that case I think there's not much more i'd change about the API aside from what you mentioned. I assume it also obsoletes wesnoth.set_music and as such that could be removed from https://wiki.wesnoth.org/LuaWML/Reorganization#sound if we ever actually do this? 20170423 09:00:23< DeFender1031> (Btw, I also appreciate your putting this API in its own sub-table to start with so that we don't have to move it later.) 20170423 09:00:50< DeFender1031> Oh, that's one other thing. Is "playlist" or "music" a better name for that subtable? 20170423 09:01:24< celticminstrel> Ah, was set_music something that exists in 1.12? 20170423 09:01:29< celticminstrel> Oh yeah, I was wondering about that too. 20170423 09:01:40< DeFender1031> I see pros and cons for each 20170423 09:01:54< celticminstrel> You can do #wesnoth.playlist to count the number of tracks. 20170423 09:02:07< DeFender1031> https://wiki.wesnoth.org/LuaWML/Display#wesnoth.set_music 20170423 09:02:40< celticminstrel> I think I already removed set_music, but I could add it back in backwards_compatibility.lua. 20170423 09:02:47< DeFender1031> hmm 20170423 09:03:01< celticminstrel> It'd literally be function wesnoth.set_music(cfg) wesnoth.wml_actions.music(cfg) end 20170423 09:03:13< DeFender1031> I take that as a "yes, this new API does obsolete it" 20170423 09:03:23< celticminstrel> Yes, this new API does obsolete it. :P 20170423 09:03:28< DeFender1031> :P 20170423 09:03:56< DeFender1031> and yes, the fact that it's an array with direct access to the playlist is a pro for "playlist" 20170423 09:04:08< DeFender1031> the con is that for the functions it's not necessarily the most intuitive name. 20170423 09:04:15< DeFender1031> how about "music_list"? 20170423 09:04:19< DeFender1031> best of both worlds? 20170423 09:04:39< celticminstrel> Hmm, that makes sense. 20170423 09:05:15< celticminstrel> Yeah, some of the functions aren't strictly "playlist' functions. For example, play() just plays a track without changing the playlist. 20170423 09:07:34-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 09:07:36< DeFender1031> or, perhaps the array should not be the same table, and there should instead be wesnoth.music that has the functions and wesnoth.music.list or wesnoth.music.playlist which is the array. 20170423 09:09:39< celticminstrel> Well, I understand what you mean, but some of the functions definitely do make sense as operations on the list, so in that case the functions would be split into to places, I guess? 20170423 09:12:25< DeFender1031> you're referring to add(), clear() and my suggested remove()? 20170423 09:12:30< celticminstrel> Yeah. 20170423 09:13:44< DeFender1031> hmm 20170423 09:14:06< DeFender1031> yeah, so splitting seems like overkill 20170423 09:14:08< celticminstrel> ^into two 20170423 09:15:51< DeFender1031> hmm? 20170423 09:16:08< celticminstrel> "would be split into to places" <-- correcting typo 20170423 09:16:38-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20170423 09:21:23< DeFender1031> ah 20170423 09:28:16-!- zookeeper [zookeeper@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20170423 09:36:47< matthiaskrgr> https://pastebin.com/GpiSBYER 20170423 09:42:40< Kwandulin> Okay regarding my slow performance AI problem yesterday: I tested the scenario again (=super slow). After that, I changed the map to a simpler map (less water, less swamp, less 1-tile-passages) and now its really quick. In what way does the map influence the performance of the AI? 20170423 09:45:45< zookeeper> good question. of course the shape of passable and impassable areas would affect pathfinding speed, but i wouldn't expect it to make a particularly noticeable difference overall. 20170423 09:46:34< zookeeper> do you have terrain (or at least water) animation off? 20170423 09:46:41< Kwandulin> yes 20170423 09:46:47< zookeeper> okay, good 20170423 09:47:49-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20170423 09:49:24< zookeeper> hard to make any specific guesses without seeing the difference 20170423 09:49:42< zookeeper> i don't know if we have a pathfinding benchmark scenario somewhere 20170423 10:00:43-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 10:01:18< Kwandulin> Overall, it feels like the more unwalkable tiles a map has, the slower the AI gets 20170423 10:03:42< celticminstrel> Uhhhh. 20170423 10:03:56< celticminstrel> This latest paste from matthiaskrgr sounds rather dangerous. o.O 20170423 10:05:33< celticminstrel> At least it doesn't look like a situation where it hid something it was supposed to override, though...? 20170423 10:06:25< celticminstrel> But uh... I'm also a little confused about why this is a warning and not an error, given that it has the override annotation... unless command_executor declares both versions virtual... 20170423 10:07:18< Kwandulin> Slow map: https://www.dropbox.com/s/lb5026y3tj63v7x/slowmap.jpg?dl=0 20170423 10:09:28< zookeeper> (is a fast one coming too?) 20170423 10:13:28< Kwandulin> Pretty much any other map, e.g. this one: https://www.dropbox.com/s/q46jra4ey73nq1r/fastmap.jpg?dl=0 20170423 10:14:25< Kwandulin> towers are unwalkable 20170423 10:15:36-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 10:15:55< zookeeper> well, okay but those are two completely different kinds of maps 20170423 10:16:00-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 10:18:44< Kwandulin> Another slow map: https://www.dropbox.com/s/6atv1g2rv7w05xa/slowmap2.jpg?dl=0 (cliffs/walls are unwalkable) 20170423 10:20:22< Kwandulin> Another fast map: https://www.dropbox.com/s/e8b0gvitui9eehx/fastmap2.jpg?dl=0 20170423 10:21:58< zookeeper> i can't do much more than idle guessing 20170423 10:22:22< zookeeper> someone would need to benchmark the AI code to see what it's actually spending its time on and whether it could be sped up 20170423 10:22:39< zookeeper> having a good testcase would presumably help 20170423 10:22:43-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 10:24:57-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 240 seconds] 20170423 10:24:57-!- horrowind1 is now known as horrowind 20170423 10:25:29< zookeeper> but i'd imagine it's hard to avoid having to spend a lot more time on AI target selection and pathfinding on a big map with 1) lots of enemy sides/units and 2) lots of impassable terrain and narrow corridors 20170423 10:30:04-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 10:30:19< Kwandulin> Mhh, those two slow maps are maps with [tunnel]. I deactivated the tunnel in the first slow map and now it's quick 20170423 10:31:13< Kwandulin> It might be due to the map not having an overall connection? The interior in the north east is not connected to the rest of the map, except with a [tunnel] 20170423 10:32:52< Kwandulin> The AI might be computing so long because it is trying to find a way to get to that red elvish druid. But there is no way for them to get there 20170423 10:35:00< zookeeper> yeah i kinda assumed that if you had special stuff like tunnels then you had ruled those out already :J 20170423 10:37:29-!- JyrkiVesterinen [~JyrkiVest@87-100-181-97.bb.dnainternet.fi] has quit [Quit: .] 20170423 10:38:36< zookeeper> of course, in your case an easy workaround for the problem might be to deactivate the tunnels for AI turns if/when they're not supposed to get to use the tunnels anyway 20170423 10:39:22< Kwandulin> Yeah, I'll use moveto events + teleport. The tunnels are just intended to be used by the player 20170423 10:43:22-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 10:45:17-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170423 10:45:44-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170423 10:45:45-!- horrowind1 is now known as horrowind 20170423 10:51:39< zookeeper> well, wouldn't need to deactivate the tunnel for AI turns i suppose since you could just filter the tunnel accordingly instead 20170423 10:52:01-!- celmin [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20170423 10:52:33-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Disconnected by services] 20170423 10:52:34-!- celmin is now known as celticminstrel 20170423 11:02:07< Kwandulin> Yup, it's definitely the tunnels 20170423 11:04:22-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 11:05:49-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 258 seconds] 20170423 11:05:49-!- horrowind1 is now known as horrowind 20170423 11:16:21-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 11:18:44-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170423 11:18:45-!- horrowind1 is now known as horrowind 20170423 11:37:04-!- Kwandulin [~Kwandulin@p200300760F6D80926C4D7EE320B6CB98.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170423 11:37:26-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170423 11:37:58-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170423 11:52:55-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 11:55:07-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 240 seconds] 20170423 11:55:07-!- horrowind1 is now known as horrowind 20170423 12:17:53-!- JyrkiVesterinen [~JyrkiVest@87-100-181-97.bb.dnainternet.fi] has joined #wesnoth-dev 20170423 12:31:59-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170423 12:32:31-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170423 12:37:00-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 12:39:24-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170423 12:39:24-!- horrowind1 is now known as horrowind 20170423 12:54:57-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 12:57:05-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 252 seconds] 20170423 12:57:05-!- horrowind1 is now known as horrowind 20170423 13:08:40-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 13:10:40-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 240 seconds] 20170423 13:10:41-!- horrowind1 is now known as horrowind 20170423 13:11:49-!- mjs-de [~mjs-de@x4db53ed9.dyn.telefonica.de] has joined #wesnoth-dev 20170423 13:18:01-!- Kwandulin [~Kwandulin@p200300760F6D80CF615EC032E3CE3257.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170423 13:21:50-!- horrowind1 [~Thunderbi@x4e376d93.dyn.telefonica.de] has joined #wesnoth-dev 20170423 13:24:12-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Ping timeout: 258 seconds] 20170423 13:24:12-!- horrowind1 is now known as horrowind 20170423 13:24:31-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170423 13:25:03-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170423 13:26:41-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20170423 13:28:42< zookeeper> mattsc, do you happen to remember anything regarding slow AI performance when there are [tunnel]s? 20170423 13:28:50< mattsc> Kwandulin: just out of curiosity, you say tunnel*s* (plural). Is it also slow if you deactivate all but one tunnel? 20170423 13:29:18< Kwandulin> mattsc: I can check right now 20170423 13:29:21< mattsc> zookeeper: no, I don’t, but I also don’t remember if I ever tested anything like that 20170423 13:29:40< zookeeper> mmkay. just checking. 20170423 13:29:54-!- Jetrel [~Jetrel@2001:558:6014:1e:2422:435:dd84:bbf3] has quit [Read error: Connection reset by peer] 20170423 13:30:17< mattsc> I am wondering if pathfinding just does a lot of backwards and forward jumping through several tunnels. 20170423 13:30:52-!- Jetrel_ [~Jetrel@2001:558:6014:1e:2422:435:dd84:bbf3] has joined #wesnoth-dev 20170423 13:32:06< Kwandulin> Having only 1 tunnel is already noticeably slower 20170423 13:32:13< Kwandulin> 1 bidirectional tunnel* 20170423 13:33:13< Kwandulin> Changing the tunnel to unidirectional doesn't affect the performance 20170423 13:33:51< mattsc> Kwandulin: Huh, thanks, that’s interesting. 20170423 13:34:25< mattsc> In principle, tunnel connections are dealt with in pathfinding in the same way as adjacent hexes, but maybe there’s something in the a* search that makes it inefficient (or just a straight out bug w.r.t tunnels). 20170423 13:35:41< mattsc> Kwandulin: Would you mind sending me the map and scenario? I’m not going to promise anything and but if I have the time, I’d be interested in digging into this a little. 20170423 13:36:00< mattsc> My guess is that it’s a pathfinding issues, not an AI problem, but still ... 20170423 13:37:29< Kwandulin> Uh sure I can, but there are several changes needed in order to play it without the other campaign stuff 20170423 13:37:52< mattsc> Oh, right, it’s part of your campaign … 20170423 13:38:07< mattsc> (as in, already published) 20170423 13:38:18< mattsc> And you said I can just jump into the scenario? 20170423 13:38:48< Kwandulin> Yeah, you can directly start at "15_Blackhands" 20170423 13:39:14< Kwandulin> I put a filter into the [tunnel] to avoid the slow performance 20170423 13:40:01-!- horrowind [~Thunderbi@x4e376d93.dyn.telefonica.de] has quit [Quit: horrowind] 20170423 13:40:02< Kwandulin> You can go to macros/campaign-macro.cfg and delete line 160 20170423 13:40:15< mattsc> Kwandulin: okay, thanks, I’ll try that sometime. 20170423 13:46:22-!- irker102 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170423 14:17:05-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170423 14:17:37-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170423 14:18:45< mattsc> Kwandulin: I can confirm the slow performance. Also, looking at the AI debug output, it’s not one single evaluation that takes up most of the time, but it looks like everything got slower. 20170423 14:18:59< mattsc> So that continues to point at pathfinding at the problem. 20170423 14:33:42< mattsc> Another test I did: I added a right click option to execute Lua code to the scenario. In it, I did a loop over wesnoth.find_path() for one of the leaders to the northern part of the map. 20170423 14:34:34< mattsc> One test was with the tunnels, and one with the tunnel replaced by a break in the wall. The former takes ~6.5 seconds for 100 iterations, the latter 1.8s. 20170423 14:35:10< mattsc> So it’s not exactly fast even without the tunnel, because the distance is so large, but there’s a very significant slow-down once you put the tunnel there. 20170423 14:35:10-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20170423 14:35:23< Kwandulin> Just for one leader? 20170423 14:35:26< mattsc> Oh, and uni-direction tunnels seem to be right in the middle between those. 20170423 14:35:52< mattsc> Kwandulin: it’s just a test case. I just want to see how long path finding takes. So yes, just for one of the leaders. 20170423 14:37:11< mattsc> So, yes, it’s 65 ms vs. 18 ms. Those are probably extreme cases because they span the entire map, but for the amount of path finding the AI does, this is likely the cause of the slowdown. 20170423 14:40:42< mattsc> Hmm, interesting ... 20170423 14:41:24< mattsc> If I use one tunnel instead of two I also get the intermediate performance, about 40 ms. 20170423 14:42:15< mattsc> So it’s not the fact that the tunnel gets uni-direction that makes it somewhat faster, but that you cannot use the other tunnel to go back out in that case. 20170423 14:43:32< mattsc> Anyways, that’s all I have time for right now. I’ll probably look into the pathfinding code some more later. 20170423 14:44:03< mattsc> I’m not sure whether this is an actual bug, or whether we just extend the search space so much via the tunnels that it simply takes longer. 20170423 14:46:56< mattsc> But, then … I just repaced both tunnels by open passages and I am back to 18 ms. So there’s definitely something funny going on with the tunnels. 20170423 14:47:03< mattsc> Anyway, TTYL. 20170423 14:57:24< zookeeper> sounds like a good start 20170423 15:10:39-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170423 15:11:11-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170423 15:55:11-!- gfgtdf [~chatzilla@x50abe21c.dyn.telefonica.de] has joined #wesnoth-dev 20170423 16:01:46-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170423 16:01:58-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170423 16:22:49-!- Kwandulin [~Kwandulin@p200300760F6D80CF615EC032E3CE3257.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170423 16:24:54< gfgtdf> in 1.13.7 the game crashes when i maximize the window in the mp lobby, is this a known issue ? 20170423 16:25:20< vultraz_iOS> whut 20170423 16:25:46< gfgtdf> the logfile says; "Caught unspecified general exception. Terminating." 20170423 16:26:12< vultraz_iOS> was there a game runnning? 20170423 16:26:47< gfgtdf> yes 3 games on official 1.13.7 server 20170423 16:27:27< vultraz_iOS> don't see any games when i join with the master build 20170423 16:27:33< vultraz_iOS> but i guess that's to be expected 20170423 16:29:50< gfgtdf> vultraz_iOS: you can also connect with master to the 1.13.7 server if if click connect to server and the use the 1.13.7 port 20170423 16:30:02< vultraz_iOS> what is the port? 20170423 16:33:07-!- irker665 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170423 16:33:07< irker665> wesnoth: gfgtdf wesnoth:master f094ececb85c / src/gui/core/layout_exception.hpp: fix some exception types not deriving from std::exception https://github.com/wesnoth/wesnoth/commit/f094ececb85cdd9a79d7b1bd443b24e4bed2b3a6 20170423 16:33:13< gfgtdf> let me check 20170423 16:33:35< gfgtdf> vultraz_iOS: server.wesnoth.org:14997 i think, not sure though 20170423 16:35:22< gfgtdf> unrelated: that game elmejor is already open for > 1 week, i think its a bug. 20170423 16:35:56< gfgtdf> vultraz_iOS: maybe you nned to have a small resolution before maimizing to reproduce 20170423 16:36:15< gfgtdf> vultraz_iOS: small resolution when opening the lobby i mean. 20170423 16:36:40< vultraz_iOS> hmm 20170423 16:36:44< vultraz_iOS> not reproing 20170423 16:38:49< gfgtdf> vultraz_iOS: hmm may only ghappen with certain reolutions, try resiign wesnoth to 800x1200 (or similar) in the titlecreen and then maximize the dinow in th elobby after connecting to the server 20170423 16:38:53< DeFender1031> vultraz_iOS, did you see the conversation earlier about how the story screen in 1.13 runs very very slowly as compared to 1.12? 20170423 16:39:00< vultraz_iOS> no 20170423 16:40:05< DeFender1031> I notice this in general, that 1.13 seems to have taken a nosedive in terms of performance. 20170423 16:40:07< gfgtdf> by 800x1200 was a guess, i meant what is split screen here in m machine, 20170423 16:40:48< gfgtdf> but i also dont onyl hve 1600x1000 screen 20170423 16:40:48< vultraz_iOS> hm 20170423 16:40:52< vultraz_iOS> not seeing the crash sorry 20170423 16:41:08< vultraz_iOS> DeFender1031: well, first off, don't use a debug build 20170423 16:41:10< vultraz_iOS> :P 20170423 16:41:14< DeFender1031> I'm not. 20170423 16:41:18< vultraz_iOS> ah, ok 20170423 16:41:22< vultraz_iOS> I saw you said you were 20170423 16:41:31< DeFender1031> As I understand, scons default is prod. 20170423 16:41:41< DeFender1031> Where did I say that? 20170423 16:41:59< vultraz_iOS> oh wait 20170423 16:42:04< vultraz_iOS> I misread 20170423 16:42:06< vultraz_iOS> that was celticminstrel 20170423 16:42:09< DeFender1031> yep. 20170423 16:42:14< vultraz_iOS> sorry, your names are both purple here 20170423 16:42:24< vultraz_iOS> (i'm not actually on iOS right now :P ) 20170423 16:42:25< DeFender1031> I like purple. 20170423 16:42:40< vultraz_iOS> anyway, describe this problem 20170423 16:42:44< DeFender1031> That's alright. 20170423 16:42:57< vultraz_iOS> it's in the story screen - when you advance parts? 20170423 16:43:04< vultraz_iOS> when it closes? 20170423 16:43:50< DeFender1031> when using many images with a delay and ~O() 20170423 16:43:58< DeFender1031> not sure which part of it is the source of the issue 20170423 16:44:05< vultraz_iOS> floating images? 20170423 16:44:07< vultraz_iOS> background images? 20170423 16:44:35< DeFender1031> basically, i'm using ~O on the same image with progressively higher values to fade stuff in for an effect that looks really cool in 1.12, but is super super slow in 1.13 20170423 16:45:09< vultraz_iOS> but are they floating or background 20170423 16:45:25< DeFender1031> [image] 20170423 16:45:54< vultraz_iOS> hmmmmmmmm 20170423 16:46:03< vultraz_iOS> do you have good specs? 20170423 16:46:20< DeFender1031> specs of what 20170423 16:46:24< DeFender1031> ? 20170423 16:46:26< vultraz_iOS> computer 20170423 16:46:34< DeFender1031> yes 20170423 16:46:40< vultraz_iOS> hmmmmmm 20170423 16:46:46< DeFender1031> again, this worked at full speed in 1.12 20170423 16:47:04< vultraz_iOS> well, GUI2 definitely has a few performance hits to GUI1 20170423 16:47:30< vultraz_iOS> the code is less specialized and despite our best efforts, there's not much we can do until we can utilize HW acceleration... 20170423 16:47:32< DeFender1031> you know what, why don't you look for yourself? This isn't the only visual thing i've done in 1.12 that breaks in 1.13 20170423 16:47:41< DeFender1031> let me send you a thing... 20170423 16:47:41< vultraz_iOS> I'd need the addon 20170423 16:47:47< DeFender1031> yeah, i'm about to send it. 20170423 16:51:04< DeFender1031> PMed. 20170423 16:51:40< vultraz_iOS> ~ how big is this folder? 20170423 16:52:14< DeFender1031> umm... 22mb zipped 34 unzipped? 20170423 16:52:20< DeFender1031> why? 20170423 16:52:27< vultraz_iOS> ok 20170423 16:52:41< vultraz_iOS> just wondering how long i'd be waiting here 20170423 16:52:47< vultraz_iOS> since chrome isn't giving me a size est 20170423 16:53:06< DeFender1031> ah 20170423 16:53:43< vultraz_iOS> alright, let's see 20170423 16:53:56< DeFender1031> Run it in 1.12 first. 20170423 16:54:10< vultraz_iOS> I don't have 1.12 xD 20170423 16:54:44-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has quit [Ping timeout: 260 seconds] 20170423 16:55:07< DeFender1031> ... 20170423 16:55:36< DeFender1031> https://sourceforge.net/projects/wesnoth/files/wesnoth-1.12/wesnoth-1.12.6/Wesnoth_1.12.6.dmg/download 20170423 16:55:41< vultraz_iOS> oh jesus christ what is happening 20170423 16:55:42< DeFender1031> :P 20170423 16:55:45< DeFender1031> huh? 20170423 16:55:46< vultraz_iOS> yes, I see your problem immediately 20170423 16:55:51< vultraz_iOS> so much lag 20170423 16:55:59< DeFender1031> hahahaha 20170423 16:56:17< vultraz_iOS> bunch of image not found errors, you need to strike /transparent/ from the path 20170423 16:56:31< DeFender1031> oh, crap 20170423 16:56:35< DeFender1031> that's an old version 20170423 16:56:42< DeFender1031> i fixed that 20170423 16:56:59< DeFender1031> but forget those, the images involved in the lag aren't those. 20170423 16:57:01< vultraz_iOS> btw, what do you think of the fading text effect 20170423 16:57:36< DeFender1031> I like it, though it strikes me as weird that it comes up at the same time as whatever delayed images are being brought up 20170423 16:57:47< DeFender1031> 1.12 did the full image progression before showing the text. 20170423 16:58:04< DeFender1031> not sure if i'm making myself clear. 20170423 16:58:23< DeFender1031> the effet is very nice though. 20170423 16:58:26< DeFender1031> effect* 20170423 16:59:20< vultraz_iOS> ah! why is there a giant purple thing! 20170423 16:59:42< DeFender1031> that's another strange bug that wasn't there in 1.12 20170423 16:59:47< vultraz_iOS> DeFender1031: something fucked up with the alpha 20170423 16:59:55< DeFender1031> that purple part is supposed to be transparent. 20170423 16:59:58< vultraz_iOS> try re-saving the image in an editor 20170423 17:00:10< DeFender1031> it might be something weird with the image, not sure, but 1.12 did it right 20170423 17:00:17< vultraz_iOS> hm 20170423 17:00:20< vultraz_iOS> 20170424 03:59:00 error display: caught config::error while processing color-range RC: Invalid color in range: flag_green 20170423 17:00:20< vultraz_iOS> 20170424 03:59:00 error display: bailing out from RC 20170423 17:00:25< DeFender1031> like i said, if you try to watch this in 1.13, it will totally ruin the effect. 20170423 17:00:26< vultraz_iOS> libpng warning: iCCP: too many profiles 20170423 17:00:40< vultraz_iOS> DeFender1031: is is a damn impressive intro though 20170423 17:00:41< DeFender1031> that's odd... 20170423 17:00:57< DeFender1031> you can tell that through all the bugs? 20170423 17:01:27< DeFender1031> I'd been planning on saving it until I could polish what I had here and then raising a forum thread about how mainline could do with some more cinematics. 20170423 17:02:02< vultraz_iOS> I can watch it perfectly fine 20170423 17:02:12< vultraz_iOS> the giant-ass purple thing is distracting, though xD 20170423 17:02:18< DeFender1031> If you like this, you should see what I did with the 6th scenario (impossible to get to in 1.13 at the moment though, due to a lua bug in the 5th (my own bug, not wesnoth's)) 20170423 17:02:42< DeFender1031> seriously, it's worth installing 1.12 to see this properly. 20170423 17:02:46< vultraz_iOS> jesus christ how did you even manage all this P_P 20170423 17:02:56< DeFender1031> hahahahaha 20170423 17:03:03< DeFender1031> took me months. 20170423 17:03:28< vultraz_iOS> I have never seen such detailed cinematics 20170423 17:03:32-!- bumbadadabum [~bumbadada@wesnoth/developer/bumbadadabum] has joined #wesnoth-dev 20170423 17:03:42< DeFender1031> also, that intro was the first serious thing I did with wesnoth. Tons of it is done in very stupid ways (for example, I have cropped versions of existing images in my directory rather than using IPF) 20170423 17:03:53< DeFender1031> :D 20170423 17:04:00< DeFender1031> I know. No one does this kind of stuff. 20170423 17:04:28< DeFender1031> But the game would benefit greatly from putting more focus into it. 20170423 17:04:34< zookeeper> wait what add-on are you talking about? sounds like something i need to check out. 20170423 17:04:50< DeFender1031> zookeeper, I can send you the link also. Watch it in 1.12 if at all possible. 20170423 17:05:16< DeFender1031> zookeeper, PMed you. 20170423 17:05:22< vultraz_iOS> DeFender1031: you should use the cutscene theme for this 20170423 17:05:23< zookeeper> sure, will do when i get back in an hour or so 20170423 17:06:05< vultraz_iOS> DeFender1031: https://github.com/Vultraz/Shadows_of_Deception/tree/master/themes 20170423 17:06:17< vultraz_iOS> (stuff i copied from shadowm) 20170423 17:06:17< DeFender1031> what's a cutscene theme? 20170423 17:06:24< vultraz_iOS> but essentially it gets rid of the sidebar 20170423 17:06:30< DeFender1031> oh, interesting. 20170423 17:06:31< vultraz_iOS> and the stuff in the topbar 20170423 17:06:44< vultraz_iOS> so as not to distract from the awesomeness in a cutscene 20170423 17:06:45< DeFender1031> Makes sense. 20170423 17:07:02< DeFender1031> and you have to admit, this cutscene is certainly full of awesomeness. 20170423 17:07:12< vultraz_iOS> indeed 20170423 17:08:14< vultraz_iOS> gaaaah the giant purple thing though 20170423 17:08:17< vultraz_iOS> it ruins it xDDDDDD 20170423 17:08:27< DeFender1031> Like I said, I was planning on saving it and polishing it up before showing more people, but given what I've been noticing about performance as of late, I wanted at least you guys to see it so that you can see what the game is truly capable of and why performance could be very important. 20170423 17:08:42< DeFender1031> vultraz_iOS, if you'd watch it in 1.12 like i said, it wouldn't be like that. 20170423 17:09:06< DeFender1031> There's a lot of issues with it for 1.13 that i still need to iron out. 20170423 17:09:14< DeFender1031> that purple thing is not the least of them 20170423 17:09:34< DeFender1031> also, even without the purple, the graphics i came up with for those banners isn't the greatest. 20170423 17:09:41< DeFender1031> (I'm no artist.) 20170423 17:09:52< DeFender1031> (I'm an animator. :P) 20170423 17:10:26< vultraz_iOS> yeah they aren't :P 20170423 17:10:55< vultraz_iOS> the hell 20170423 17:11:00< DeFender1031> hmm? 20170423 17:11:00< vultraz_iOS> scenario 2 ends immediately 20170423 17:11:10< celticminstrel> gfgtdf: Please also override what() for those exceptions. 20170423 17:11:20< DeFender1031> yeah, I told you in PM, there's a hack in place that skips the gameplay because that's not polished yet and for testing 20170423 17:11:25< vultraz_iOS> oh 20170423 17:11:34< vultraz_iOS> anyway 20170423 17:11:35< celticminstrel> Whoa, you shoved it to the top of the list. 20170423 17:11:42< celticminstrel> I hope you intend to undo that before publishing. :P 20170423 17:11:44-!- Kwandulin [~Kwandulin@p200300760F6D80CF615EC032E3CE3257.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170423 17:11:56< DeFender1031> you can turn off the skippage for each scenario by changing the SKIP macro at the top of the file. 20170423 17:12:06< vultraz_iOS> DeFender1031: yeah, I'll look into this bug 20170423 17:12:11< DeFender1031> celticminstrel, huh? 20170423 17:12:23< vultraz_iOS> DeFender1031: as for the scenario, definitely use the cutscene or cutscene minimal theme 20170423 17:12:25< celticminstrel> Your campaign is listed above HTT. 20170423 17:12:28< vultraz_iOS> probably minimal in this case 20170423 17:12:39< vultraz_iOS> DeFender1031: since you don't need users to end scenario 20170423 17:12:41< DeFender1031> celticminstrel, also for testing purposes. 20170423 17:12:50< DeFender1031> vultraz_iOS, indeed. 20170423 17:12:51< celticminstrel> It took at least half a minute fot the text to first appear. 20170423 17:12:52< vultraz_iOS> trust it, it will look 10x better 20170423 17:13:08< DeFender1031> vultraz_iOS, how do i tell it what theme to use though? 20170423 17:13:35< DeFender1031> celticminstrel, you in 1.12? 20170423 17:13:51< celticminstrel> The fades do look pretty impressive. 20170423 17:13:54< vultraz_iOS> DeFender1031: theme=Cutscene_Minimal in [scenario] 20170423 17:14:00< celticminstrel> They were slightly laggy, perhaps. 20170423 17:14:02< DeFender1031> celticminstrel, you ain't seen nothing yet. 20170423 17:14:06-!- sevu [~Unknown@pD954CDB7.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170423 17:14:17< celticminstrel> vultraz_iOS: Why not include the cutscene theme in mainline? 20170423 17:14:26< vultraz_iOS> celticminstrel: possibly, possibly 20170423 17:14:31< DeFender1031> vultraz_iOS, do i need to include those files you linked or are they in mainline now? 20170423 17:14:39< vultraz_iOS> DeFender1031: former 20170423 17:14:42< DeFender1031> okay 20170423 17:16:10< celticminstrel> vultraz_iOS: I'd say definitely try to not show the text until after images are finished. 20170423 17:16:21< vultraz_iOS> celticminstrel: yeah, it was like that before 20170423 17:16:24< DeFender1031> celticminstrel, are you not in 1.12? 20170423 17:16:28< vultraz_iOS> I'll add it 20170423 17:16:28< celticminstrel> vultraz_iOS: Also, wasn't storyscreen using a multipage? 20170423 17:16:33< vultraz_iOS> .... what? 20170423 17:16:36< vultraz_iOS> no? 20170423 17:16:37< vultraz_iOS> never? 20170423 17:16:37< celticminstrel> DeFender1031: I'm viewing your cutscene in 1.12. 20170423 17:16:42< celticminstrel> Maybe it should? 20170423 17:16:49< celticminstrel> Then you can precalculate all the non-animated images. 20170423 17:17:08-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has joined #wesnoth-dev 20170423 17:17:19< celticminstrel> Though I guess that would lead to some startup slowdown... 20170423 17:17:26< vultraz_iOS> DeFender1031: where is the image for the pink banner... 20170423 17:17:28< DeFender1031> celticminstrel, good 20170423 17:17:59< DeFender1031> vultraz_iOS, erm... scenery IIRC... let me check 20170423 17:18:10< DeFender1031> and it's a series of images, since it has the wabing animation 20170423 17:18:42< celticminstrel> Whoa, the magic demonstration is impressive too. 20170423 17:18:54< vultraz_iOS> "impressive" 20170423 17:18:57< vultraz_iOS> you understate 20170423 17:19:09< vultraz_iOS> this is Inferno8-levels 20170423 17:19:10< DeFender1031> vultraz_iOS, items. 20170423 17:19:52< DeFender1031> vultraz_iOS, I'm pretty sure that some tool borked the pngs somehow and that it's not entirely a wesnoth bug. 20170423 17:22:27< vultraz_iOS> yeah 20170423 17:22:29< vultraz_iOS> probably 20170423 17:23:01< vultraz_iOS> hmmm 20170423 17:23:07< vultraz_iOS> now... how to delay the text appearing.. 20170423 17:26:38< DeFender1031> vultraz_iOS, this theme, will it work in 1.12 or only 1.13? 20170423 17:26:50< vultraz_iOS> 1.12 20170423 17:26:56< DeFender1031> oh, great. 20170423 17:27:01< vultraz_iOS> I haven't ported my addon to 1.13 :( 20170423 17:27:04 * DeFender1031 goes to test it. 20170423 17:28:26< vultraz_iOS> Actually haven't worked on it in years 20170423 17:29:25< DeFender1031> :/ 20170423 17:29:45< DeFender1031> I'm afraid that'll happen to mine as well if I get too deep into working on wesnoth itself. 20170423 17:30:21< vultraz_iOS> Well, it's partly because my story draft sucked and I never wrote a new one 20170423 17:30:34< DeFender1031> ah 20170423 17:30:58< DeFender1031> vultraz_iOS, no way to change theme mid-scenario, is there? 20170423 17:31:12< vultraz_iOS> Not that I know of 20170423 17:31:31< celticminstrel> Pretty sure it's possible to change theme mid-scenario, but only from preferences. 20170423 17:31:34< celticminstrel> ie, not from WML. 20170423 17:31:47< celticminstrel> Also IIRC it's not perfect? 20170423 17:32:05< DeFender1031> hmm 20170423 17:32:10< celticminstrel> I guess if the scenario overrides the theme, changing it in preferences wouldn't have any effect, either. 20170423 17:33:47< DeFender1031> vultraz_iOS, it seems as though this theme basically just kills the frame and gives you only the main view. 20170423 17:33:58< celticminstrel> Pretty much? 20170423 17:34:09< DeFender1031> vultraz_iOS, which is also good because it avoids the [lock_view] flaw 20170423 17:34:20< vultraz_iOS> Basically yes 20170423 17:34:23< celticminstrel> [lock_view] flaw? 20170423 17:34:38< vultraz_iOS> celticminstrel can still scroll via minimap 20170423 17:34:44< celticminstrel> Oh. 20170423 17:34:48< DeFender1031> celticminstrel, that even with view locked, you can still zoom and move the view using the minimap. 20170423 17:35:11< celticminstrel> Speaking of zoom, is that possible from wml/lua? 20170423 17:35:13< DeFender1031> won't help in scenario 6 without a way to switch theme mid-scenario though. 20170423 17:35:16< gfgtdf> sounds like a bug that should be fixred 20170423 17:35:28< DeFender1031> gfgtdf, I've mentioned it a few timse. no one seems to care. 20170423 17:35:46< celticminstrel> gfgtdf: Please override what() when extending std::exception. 20170423 17:36:19< gfgtdf> celticminstrel: hmm i thought that the default implentation of what() prints just the typename which is exactly what i want 20170423 17:36:26< DeFender1031> bbiab, guys, gotta go shower 20170423 17:37:37< celticminstrel> gfgtdf: Pretty sure you can't rely on any default value. 20170423 17:37:41< DeFender1031> celticminstrel, you watch all the way through to 6? 20170423 17:37:50< celticminstrel> DeFender1031: I stopped after 2. 20170423 17:37:55< vultraz_iOS> celticminstrel: you can add a [switch_theme] tag 20170423 17:38:00< DeFender1031> (really going now, will read response when I get back.) 20170423 17:38:01< celticminstrel> vultraz_iOS: Was thinking about it. 20170423 17:38:37< celticminstrel> As well as [zoom]. 20170423 17:41:18< gfgtdf> i just tested adn changin the theme via preferences during a game doesn't seem to work 20170423 17:41:29< gfgtdf> it oynl takes effect the next time a game is started 20170423 17:41:41< celticminstrel> ...really? It worked when I tried it... 20170423 17:42:07< celticminstrel> But um, gfgtdf... isn't mid-game theme changing also used now after a replay finishes? 20170423 17:42:32< gfgtdf> celticminstrel: i tried on 1.12.5 probably it was fixed in 1.12.5 20170423 17:42:50< gfgtdf> celticminstrel: yesafrter replay finished the replay theme is removed. 20170423 17:42:52< celticminstrel> Oh, I think I tried it on 1.13.4 or so. 20170423 17:43:03< celticminstrel> Changing theme from prefs mid-game, I mean. 20170423 17:43:04< gfgtdf> was fixed in 1.13.x* 20170423 17:43:09< celticminstrel> I guess? 20170423 17:43:26< gfgtdf> that was just a correction of my comment above 20170423 17:44:19< gfgtdf> DeFender1031: to fix minimap scrolling you probaby just have to add a check here: https://github.com/wesnoth/wesnoth/blob/master/src/mouse_handler_base.cpp#L227 20170423 17:45:25< celticminstrel> I'd think [lock_view] should also prevent zooming. 20170423 17:45:56< gfgtdf> DeFender1031: like wrapping in a 'if(display::get_singleton().view_locked()) { ..stuff.. }' 20170423 17:48:11< celticminstrel> gfgtdf: What about "wesnoth.current.theme = 'whatever'" Or maybe wesnoth.game_config.theme. 20170423 17:48:24< celticminstrel> And setting it to nil restores the default theme. 20170423 17:49:00< gfgtdf> celticminstrel: ye sounds good 20170423 17:49:06< celticminstrel> By default I mean the one set in prefs, not the one set in the scenario. 20170423 17:53:21< gfgtdf> yes 20170423 17:54:10< celticminstrel> Any preference between wesnoth.current.theme or wesnoth.game_config.theme? 20170423 17:55:01< vultraz_iOS> no preference 20170423 17:55:40< gfgtdf> when comparing it to the other fields there i think it fits better in the game_config 20170423 17:56:07< celticminstrel> 'kay 20170423 17:57:57< vultraz_iOS> hmmmmmmmmmmmm 20170423 17:58:02< vultraz_iOS> not sure how best to do this.. 20170423 18:00:44-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has quit [Remote host closed the connection] 20170423 18:05:50< DeFender1031> celticminstrel, gfgtdf, yes, zooming should also not be allowed with locked view. 20170423 18:06:26< DeFender1031> celticminstrel, ah, well, if you're so inclined, the cinematics in 6 are also something i'm pretty proud of. 20170423 18:07:10< DeFender1031> (I know they'll need tweaking for 1.13 though. If nothing else, to have certain scenery line up nicely with the new, narrower wall terrain.) 20170423 18:07:32< vultraz_iOS> you mean wider 20170423 18:07:54< DeFender1031> celticminstrel, oh, and by that I mean, it's not just more crazy animations, there are a bunch of cinematic techniques I came up with in 6 that I didn't use in 1. 20170423 18:08:43< DeFender1031> vultraz_iOS, i guess it depends on how you look at it? The walls in 1.13 show more of the surrounding terrain than in 1.12 20170423 18:08:56< DeFender1031> Hence, the walls themselves are narrower. 20170423 18:12:56< DeFender1031> No? 20170423 18:13:02< vultraz_iOS> ah, true, true 20170423 18:14:47< DeFender1031> either way, point is, they're positioned differently, so terrain items that are supposed to appear against the wall need slightly different positioning in 1.13 20170423 18:15:38< vultraz_iOS> yup 20170423 18:16:47< DeFender1031> Oh, speaking of which, zookeeper, did you do any work on that thing I brought up a couple of weeks ago about the corners of diagonal-only rooms in 1.13? 20170423 18:18:25< zookeeper> i'm pretty sure i didn't, seeing how i don't even recall what it was exactly :p 20170423 18:18:31< zookeeper> this magic ceremony thing is rather fancy 20170423 18:19:13< zookeeper> how did you do that black trail projectile thing that circles among the students? 20170423 18:19:41< DeFender1031> zookeeper, http://imgur.com/a/54o54 20170423 18:19:58< DeFender1031> zookeeper, painstakingly, one tiny segment at a time. 20170423 18:20:06< DeFender1031> This took me literally months. 20170423 18:20:09< zookeeper> ah. [item]s? 20170423 18:20:09< vultraz_iOS> good god 20170423 18:20:21< DeFender1031> zookeeper, nope, it's a custom animation. 20170423 18:20:28< zookeeper> oh okay. neat 20170423 18:20:29< celticminstrel> So a custom unit? 20170423 18:20:32< vultraz_iOS> I'm sorry we don't have proper OGL support to actually do that properly :( 20170423 18:20:39< DeFender1031> vultraz_iOS, huh? 20170423 18:20:41< celticminstrel> Or custom animation on existing unit? 20170423 18:20:46< zookeeper> ...it has nothing to do with OGL 20170423 18:21:06< celticminstrel> I don't think having OGL will magically make more animations possible, vultraz. 20170423 18:21:17< DeFender1031> celticminstrel, no, just temporarily tacked on an animation with a custom flag to the mage's modifications and the dropped it after it was no longer needed. 20170423 18:21:20< vultraz_iOS> well, whatever tool 20170423 18:21:25< vultraz_iOS> anura could have done that in a day 20170423 18:21:25< celticminstrel> The only thing having OGL might magically do is speed up rendering, and that's only if done properly. 20170423 18:21:31< vultraz_iOS> sorry we made it so hard :( 20170423 18:21:34< DeFender1031> bbiab again, gotta go shopping. 20170423 18:23:06< vultraz_iOS> ok, so maybe it's not OGL 20170423 18:23:15< vultraz_iOS> then whatever the fuck it would be 20170423 18:23:16< vultraz_iOS> shaders 20170423 18:23:17< vultraz_iOS> i dunno 20170423 18:23:27< vultraz_iOS> just something to do a proper animation without taking months :( 20170423 18:25:09-!- Appleman1234 [~Appleman1@pl5982.ag1212.nttpc.ne.jp] has quit [Ping timeout: 260 seconds] 20170423 18:26:16< vultraz_iOS> this is 2017, not 1997 20170423 18:31:40< zookeeper> well get to work then, make a tag with which to make fancy animations 20170423 18:32:17< zookeeper> for what it's worth, said circling projectile would have been doable with [move_units_fake] if it actually worked the way it should, as in moved the units concurrently :p 20170423 18:36:42-!- mattsc [~mattsc@wesnoth/developer/mattsc] has quit [Quit: So long and thanks for all the fish.] 20170423 18:36:43-!- DeFender1031 [~DeFender1@46-116-90-83.bb.netvision.net.il] has quit [Remote host closed the connection] 20170423 18:37:06-!- DeFender1031 [~DeFender1@46-116-90-83.bb.netvision.net.il] has joined #wesnoth-dev 20170423 18:37:09< celticminstrel> Again, shaders are more about rendering speed. 20170423 18:37:55< vultraz_iOS> then a proper scripting engine for animations 20170423 18:38:22< celticminstrel> Well, perhaps part of the problem with animations in Wesnoth is that they have to be tied to either a location or a unit. 20170423 18:38:48< vultraz_iOS> indeed 20170423 18:38:52< vultraz_iOS> that must change 20170423 18:39:06< celticminstrel> Do item / terrain animations use the same progressive string syntax BTW? 20170423 18:40:22< vultraz_iOS> all do IIRC 20170423 18:40:32< vultraz_iOS> it's handled by the stuff DeFender1031 is supposed to refactor :P 20170423 18:40:44< celticminstrel> If you say so. 20170423 18:41:43< vultraz_iOS> which is something that will greatly benefit from string_view 20170423 18:41:51< celticminstrel> Eh. 20170423 18:41:57< vultraz_iOS> as well as the preprocessor 20170423 18:42:02< celticminstrel> We can't actually use string_view you know. 20170423 18:42:08< vultraz_iOS> we should try to use string_view as soon as possible 20170423 18:42:17< vultraz_iOS> MSVC 2017 has support for it 20170423 18:43:52< vultraz_iOS> gcc 7 probably does 20170423 18:44:01< gfgtdf> boost also has string_view iirc whcih we coudl then replace wit std version when we use c++17 20170423 18:46:13-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170423 18:47:47< vultraz_iOS> oh? 20170423 18:56:16< vultraz_iOS> well in that case 20170423 18:56:21< vultraz_iOS> we should use boost::string_view 20170423 19:02:30< DeFender1031> zookeeper, meant to say earlier, for the shadow ball (the second animation using the black halos) I actually wrote a script to generate the animation code instead of doing each one by hand. 20170423 19:03:03< celticminstrel> Sure, we can use boost string_view if you want, I guess. 20170423 19:03:20< DeFender1031> vultraz_iOS, to be fair, part of it was painstakingly doing the animations, part of it was fighting with a language that I'd only learned a week before beginning this craziness. 20170423 19:03:37< DeFender1031> (Re: taking months) 20170423 19:03:41< vultraz_iOS> Ah 20170423 19:04:13< vultraz_iOS> DeFender1031: recommend making use of boost::string_view if you ever get to your refactor 20170423 19:04:46< DeFender1031> will look into it, but it might be overkill 20170423 19:05:57< DeFender1031> and yes, having animations need to be tied to something was very frustrating for me in several places. 20170423 19:06:07< celticminstrel> Do note that using boost string_view will probably break my build. 20170423 19:06:14< DeFender1031> (if anyone plays through to scenario 6, you might see what I mean) 20170423 19:06:40< celticminstrel> Because I'm using aquileia's external. 20170423 19:07:33< gfgtdf> celticminstrel: string_iew ias likeley a header-only library, so you just need to copy those boost headers if you don't have rtem yet 20170423 19:07:51< celticminstrel> gfgtdf: I don't think you should be suggesting running master to random forumers. 20170423 19:08:11< celticminstrel> Yes, in theory I could just copy that header, but it's a pain. 20170423 19:08:46< vultraz_iOS> Reminds me, I should update to boost 1.64 20170423 19:09:12< DeFender1031> vultraz_iOS, back to the purpose of me having sent this around though, which is that cool stuff like this gets less and less cool as performance decreases, and I'm wondering what can be done to improve performance (or at least keep it similar to the level it was in 1.12). 20170423 19:09:40< vultraz_iOS> DeFender1031: I'll look into it 20170423 19:11:53< gfgtdf> celticminstrel: master may be a little unstable somtimes but it's better than having a known bug if that bug annoys you so much. 20170423 19:12:17< gfgtdf> celticminstrel: and even if he happens to get a buidl that has serious bugs he can just try the next week for a better build 20170423 19:13:01< gfgtdf> DeFender1031: you mean how you can change your wml or how you can help improving the wesnoth c++ code? 20170423 19:14:10< vultraz_iOS> gfgtdf: do you think we should refactor the preprocessor to use string_views 20170423 19:14:17< DeFender1031> gfgtdf, closer to the latter, but my point was more to make everyone aware of a shift that's occurring with 1.13 that may be detrimental, and to hopefully encourage everyone to keep an eye out for performance issues so they don't continue to decline. 20170423 19:14:55< gfgtdf> vultraz_iOS: where exactly woudl you want to use it ? 20170423 19:15:08< vultraz_iOS> the wml parser 20170423 19:15:15< vultraz_iOS> idk exactly what part handles that 20170423 19:15:36< gfgtdf> serilisation/parser.cpp and serilisation/prorocessor.cpp 20170423 19:15:53< gfgtdf> possibly more, not sure 20170423 19:15:59< vultraz_iOS> yeah, probably 20170423 19:16:07< vultraz_iOS> im thinking we could get a performance boost by using string_view 20170423 19:16:19< vultraz_iOS> (no pun intended) 20170423 19:19:34< gfgtdf> hmm i dont know the parser code that well but it could be 20170423 19:28:04< gfgtdf> the main reason to use string_view is to fix codes that repvoiusly creates temporary strings only becasue teh use functions that required a 'const std::string&' argument. 20170423 19:28:16< gfgtdf> this often happen for exmaple when taking substring of other strings 20170423 19:33:35-!- irker665 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170423 19:34:51< celticminstrel> Trying to decide how to keep a reference to a track in Lua while still allowing it to persist if the track is removed... 20170423 19:36:51< celticminstrel> The tracks are kept in a std::vector. I think it'd be silly to use pointers. 20170423 19:38:13-!- Appleman1234 [~Appleman1@pl6322.ag1212.nttpc.ne.jp] has joined #wesnoth-dev 20170423 19:40:12< gfgtdf> you mean shared_ptr ? 20170423 19:40:16< vultraz_iOS> celticminstrel: i have an idea how we can speed up the canvas rendering, but... I'm thinking using SDL_CreateTextureFromSurface might help, but last time I (and Aginor) tried, there were damn alpha blending issues 20170423 19:40:20< celticminstrel> gfgtdf: Yeah. 20170423 19:40:32< celticminstrel> vultraz_iOS: What? 20170423 19:41:57< vultraz_iOS> celticminstrel: avoid the interim surface blitting for each image, queue them in the renderer and then render at the end 20170423 19:42:08< celticminstrel> Ah. 20170423 19:42:38< celticminstrel> Not sure how much difference that would make when using a software renderer, but I suppose you can try it. 20170423 19:43:35-!- Kwandulin [~Kwandulin@p200300760F6D80CF615EC032E3CE3257.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170423 19:49:06< vultraz_iOS> DeFender1031: 6 is impressive 20170423 19:49:23< DeFender1031> vultraz_iOS, thank you 20170423 19:49:27< DeFender1031> how'd you manage to get there? 20170423 19:49:36< DeFender1031> 5 crashes in 1.13 20170423 19:49:45< vultraz_iOS> cl 20170423 19:49:59-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170423 19:50:08< vultraz_iOS> saw an Image Not Found in the room with the dakr adepts and weird portrait offsets when they were speaking 20170423 19:50:21< vultraz_iOS> and the sparking effect is still present after the return of whatshisname 20170423 19:50:56< DeFender1031> ah, cl'd sorta work, but probably have bugs, due to each scenario doing a bunch of stuff that sets up and stores variables needed by the later ones. 20170423 19:51:11< DeFender1031> the image not found would be a "/transparent" issue. 20170423 19:51:27< DeFender1031> the sparkling effect returning is a bug that i still need to fix. 20170423 19:51:42< vultraz_iOS> this is very impressive, though 20170423 19:52:18< DeFender1031> the image not found is probably during the message where they all speak together, right? 20170423 19:52:42< DeFender1031> i'd also bet that a bunch of the graphics were slightly wonky. 20170423 19:53:19< vultraz_iOS> yeah, when the Nameless Leader comes to speak 20170423 19:54:05< DeFender1031> vultraz_iOS, thank you. I'd bet I'm probably the only one who has done flashback scenes like that, with multiple sets and heavy use of fading and the like. 20170423 19:54:50< DeFender1031> I have those tiny maps for the little cutscene. 20170423 19:54:58< vultraz_iOS> shadowm's work has come close 20170423 19:55:04< DeFender1031> Also, I love the little bedroom I made. I want a room like that. 20170423 19:55:04< vultraz_iOS> you should play After The Storm 20170423 19:55:13< DeFender1031> I will one of these days. 20170423 19:55:23< DeFender1031> Hazard of starting to work on the game is less time playing the game. 20170423 19:55:56< vultraz_iOS> certain parts I'd hazard are of equal quality here 20170423 19:56:40< DeFender1031> hmm 20170423 19:56:55< vultraz_iOS> shadowm really does effects masterfully 20170423 19:57:00< vultraz_iOS> and scene layout 20170423 19:57:33< vultraz_iOS> custom sprites and everything 20170423 19:58:36< DeFender1031> The stuff i'm particularly proud of are the teleportation fade, the part where the statue fades to life in the flashback, the slow scrolling effect during the reacceptance flashback. 20170423 19:58:50< DeFender1031> yeah, so i'm not quite as good at custom sprites. 20170423 19:59:12< DeFender1031> eventually, i hope I'll find someone who is interested enough to make better sprites for me 20170423 19:59:48< DeFender1031> so far, the good graphics in there are all stolen from other add-ons, frankensteined from other add-ons, or palette-swaps of existing stuff. 20170423 20:00:29-!- gfgtdf [~chatzilla@x50abe21c.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170423 20:00:35-!- gfgtdf_ [~chatzilla@x4e36a6b6.dyn.telefonica.de] has joined #wesnoth-dev 20170423 20:00:36-!- gfgtdf_ is now known as gfgtdf 20170423 20:04:05< vultraz_iOS> hmmm 20170423 20:04:13-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170423 20:04:17< vultraz_iOS> using SDL_CreateTextureFromSurface doesn't help in the least 20170423 20:05:19< vultraz_iOS> I'm wondering if it's simply a huge number of images he's drawing.. 20170423 20:06:30< vultraz_iOS> and the fact that they all get redrawn constantly... 20170423 20:06:47< vultraz_iOS> ie, if you have 1 images, it draws 1 20170423 20:06:53< vultraz_iOS> then you add another, but it draw 1 and 2 20170423 20:06:59< vultraz_iOS> add a third and it draws 1,2, 3... 20170423 20:07:16< vultraz_iOS> but this is also how it would work if we had HW accl.. 20170423 20:07:33< vultraz_iOS> celticminstrel: thoughts? 20170423 20:07:46< DeFender1031> well, you could add optimization where if one image completely covers another, it doesn't bother with it. 20170423 20:08:19< DeFender1031> or, since images are only added to what's already there, you could render 1 and 2, then render 3 ONTO what you have, rather than re-rendering 1, 2, and 3 separately... 20170423 20:09:02-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] 20170423 20:09:24< vultraz_iOS> ok, it looks like whenever canvas::draw is called, the entire thing is erased 20170423 20:09:40< DeFender1031> also, that's definitely only part of the problem, as there are far more map dots (journey marks, i think we call them?) than there are images in this laggy section, and those work fine. 20170423 20:10:24< vultraz_iOS> well 20170423 20:10:28< vultraz_iOS> I think the problem is this 20170423 20:10:36< vultraz_iOS> you have a multitude of images 20170423 20:10:40< vultraz_iOS> drawn at 50 ms intervals 20170423 20:10:58< vultraz_iOS> but every time a new one is being drawn every single image "under" it is also being redrawn 20170423 20:11:22< DeFender1031> right. 20170423 20:11:43< vultraz_iOS> you can see how that would accumulate lag quite fast 20170423 20:11:50< DeFender1031> But like I said, why not just save what's already been rendered andthen only render the new image onto that? 20170423 20:12:10< DeFender1031> is that not true with journey marks though? 20170423 20:12:31< vultraz_iOS> journey marks are tiny 20170423 20:13:06< vultraz_iOS> I shall have to ponder this further 20170423 20:13:14< DeFender1031> it's also theoretically possible for me to pre-render the images rather than using IFP, but that would bloat the add-on. 20170423 20:14:22< vultraz_iOS> no, that's not the problem 20170423 20:14:51< DeFender1031> huh? 20170423 20:15:00< celticminstrel> Well, in the case of the fade-in, you actually have to redraw the background. 20170423 20:15:13< celticminstrel> You need to recalculate the alpha blend with the background. 20170423 20:16:03< DeFender1031> celticminstrel, ah, because blending the image onto what's already rendered wouldn't result the same as blending them all again? 20170423 20:16:10< celticminstrel> Right. 20170423 20:16:18< DeFender1031> is that really so? 20170423 20:16:27< vultraz_iOS> this hacky blending isn't great either, though.. 20170423 20:16:29< celticminstrel> Uh. Yes? 20170423 20:16:40 * vultraz_iOS mutters something something anura scripting 20170423 20:17:02< vultraz_iOS> er 20170423 20:17:06< vultraz_iOS> s/blending/fading 20170423 20:18:17< DeFender1031> celticminstrel, let's say i have a black pixel, followed by a half-opaque white pixel. that'd end up being middle gray, right? and then you're saying if i added a half-opaque blue pixel to the first two, it'd blend differently than adding a half-opaque blue pixel to a middle gray pixel? 20170423 20:18:31< celticminstrel> It'd probably be relatively simple to add a canvas "shape" which uses a formula to generate a list of shapes... that won't really help with the rendering performance though. 20170423 20:18:40< DeFender1031> vultraz_iOS, this hacky fading is currently the only way to do it. 20170423 20:18:49< vultraz_iOS> UMC authors should have more direct control over stuff like image rendering 20170423 20:18:52< DeFender1031> vultraz_iOS, believe me, i'd LOVE a less hacky way. 20170423 20:18:55< vultraz_iOS> In order to do stuff like this 20170423 20:19:00< vultraz_iOS> But that's an Anura thing 20170423 20:19:19< vultraz_iOS> Wesnoth hides everything behind WML and makes people hack stuff together with it 20170423 20:19:38< vultraz_iOS> And I'm not sure how one would fix it... 20170423 20:19:39< DeFender1031> I'd LOVE if the story screen allowed me to define full animations based on the position relative to the background image. 20170423 20:19:57< DeFender1031> vultraz_iOS, more fine-grained wml options? 20170423 20:20:09< celticminstrel> The alpha blend formula is result_color = alpha * src_color + (1 - alpha) * dest_color 20170423 20:20:16< DeFender1031> vultraz_iOS, some sort of animation language that one inserts into a WML attribute? 20170423 20:20:23< vultraz_iOS> Like for example, in Anura you wouldn't be writing a data tag, you'd be spawning an image object instead 20170423 20:20:33< celticminstrel> So in your example, dest is the black pixel, src is the white pixel. 20170423 20:20:39< DeFender1031> celticminstrel, and if there are more than two layers involved? 20170423 20:20:42< vultraz_iOS> And would have perfect control over its properties 20170423 20:21:05< DeFender1031> vultraz_iOS, "perfect control" sounds nice, 20170423 20:21:12< vultraz_iOS> Wesnoth can't do that because it parses wml 20170423 20:21:29< celticminstrel> So you get dest * 0.5 + src * 0.5 (since you said the alpha is half-opaque). 20170423 20:21:42< celticminstrel> dest is 0 and src is 1, so you get a result of 0.5. 20170423 20:21:47< DeFender1031> vultraz_iOS, one thing that might help here would be the ability to REMOVE images in a story segment instead of just adding them. 20170423 20:21:59< DeFender1031> celticminstrel, right, that's what i said. 20170423 20:22:35< DeFender1031> vultraz_iOS, if images could be removed, then each step here would just be the background and one image imposed on it. 20170423 20:22:47< celticminstrel> Now you want to add another layer, which is the half-opaque blue pixel. 20170423 20:23:04< vultraz_iOS> Another problem is the very thing that's causing the lag here... the fact we don't draw every frame 20170423 20:23:16 * vultraz_iOS sighs 20170423 20:23:18< DeFender1031> vultraz_iOS, doing so would change the transition curve of the fade a little, but that wouldn't bother me. 20170423 20:23:25< celticminstrel> dest is now (0.5, 0.5, 0.5) and src is now (0, 0, 1), and alpha is still 0.5 20170423 20:24:38< celticminstrel> So the result in the blue channel is 0.5 * 0.5 + 0.5 * 1, or 0.75; and the result in the red and green channels is 0.5 * 0.5 + 0.5 * 0, or 0.25; so you get (0.25, 0.25, 0.75). 20170423 20:24:45< DeFender1031> vultraz_iOS, what do you mean about not drawing each frame? 20170423 20:24:52< DeFender1031> vultraz_iOS, more specifically, why should that matter? 20170423 20:25:07< celticminstrel> In your question, the two things you described would of course produce the same effect. 20170423 20:25:16< celticminstrel> It doesn't matter where that middle grey pixel came from. 20170423 20:25:23< vultraz_iOS> Wesnoth runs at around 50 FPS - or at least, it tries to 20170423 20:25:38< vultraz_iOS> But only draws things marked "dirty" 20170423 20:25:52< celticminstrel> But what if you want to fade in a blue pixel instead? 20170423 20:26:09< vultraz_iOS> Meaning most of those frames do nothing 20170423 20:26:16< celticminstrel> So, you want it to appear first at 0.25 alpha, then 0.5 alpha, then 0.75 alpha. 20170423 20:26:23< vultraz_iOS> And can't reflect any changes to, say, surface alpha 20170423 20:26:32< celticminstrel> We'll assume the dest is middle grey again. 20170423 20:27:02< vultraz_iOS> Without every time alpha changes something needs to be marked dirty and that's usually a performance hit esp in this case 20170423 20:27:08< DeFender1031> celticminstrel, then i don't see why that wouldn't work on the larger scale. All i'm proposing is that instead of re-blending ALL the layers at each step, that whatever the currently rendered image is be saved and then any time another layer is added, it just gets rendered onto what we currently have. In essense, we save the gray pixel so that when the blue gets added, it doesn't regenerate the gray from the white and black 20170423 20:27:10< DeFender1031> before adding the blue to them. 20170423 20:28:07< DeFender1031> vultraz_iOS, hmm... 20170423 20:28:18< DeFender1031> vultraz_iOS, again, though, it runs perfectly fine on 1.12 20170423 20:28:25< vultraz_iOS> Yes 20170423 20:28:29< vultraz_iOS> Different rendering pipeline 20170423 20:28:42< celticminstrel> So the first blend is 0.25 * (0, 0, 1) + 0.75 * (0.5, 0.5, 0.5) = (0.375, 0.375, 0.625). 20170423 20:28:45< vultraz_iOS> More direct 20170423 20:29:06< vultraz_iOS> God dammit we need HW accl and we need it now 20170423 20:29:27< celticminstrel> If you then redraw the middle grey and reblend with 0.5 alpha, you get 0.5 * (0, 0, 1) + 0.5 * (0.5, 0.5, 0.5) = (0.25, 0.25, 0.75). 20170423 20:30:24< DeFender1031> What do we want? HARDWARE ACCELLERATION! When do we want it? NOO....OOO.....OOO......OOO......OOW 20170423 20:30:39< DeFender1031> (That's... that's the lag.) 20170423 20:30:58< vultraz_iOS> Indeed :| 20170423 20:31:14< DeFender1031> celticminstrel, ah, but you're forgetting that in this case, each successive image STILL HAS THE PREVIOUS ONES under it. 20170423 20:31:15< vultraz_iOS> We could start work right now if we didn't have a major release coming up 20170423 20:31:27< vultraz_iOS> But do we want to do the major release when there are performance problems.... 20170423 20:31:40< DeFender1031> meaning that when I add the one with 10%, then I add the one with 20%, they're both there. 20170423 20:33:12< celticminstrel> But what if you don't redraw the middle grey? If you blend with the second blue pixel with 0.5 alpha, you'll get 0.5 * (0, 0, 1) + 0.5 * (0.375, 0.375, 0.625) = (0.1875, 0.1875, 0.8125). if you blend it with 0.25 alpha, you'll get 0.25 * (0, 0, 1) + 0.75 * (0.375, 0.375, 0.635) = (0.28125, 0.28125, 0.71875). Neither of those are equal to the (0.25, 0.25, 0.75) you'd get if you had redrawn and blended directly with the desired 0.5 20170423 20:33:13< celticminstrel> alpha. 20170423 20:33:43< DeFender1031> vultraz_iOS, the good news is, no one but me is doing crazy performance stuff. The bad news is, I had been hoping to time a polished teaser for my story with a "to be continued" to coincide with the release. That's not your problem though, and I would be disappointed if you delayed other critical work just to cater to me. 20170423 20:33:48< celticminstrel> You can probably get the same effect without a redraw, but you need different alpha values. 20170423 20:34:43< celticminstrel> Of course, this is all assuming that you only have one instance of each image being drawn. 20170423 20:34:46< DeFender1031> celticminstrel, again, you're forgetting that BOTH gray pixels are there in this case. 20170423 20:34:55< celticminstrel> Rather than multiple instances of the same image with different alpha values. 20170423 20:35:02< celticminstrel> Which is probably how it should be done. 20170423 20:35:25< celticminstrel> But perhaps the storyscreen won't allow that? Not sure. 20170423 20:36:00< DeFender1031> celticminstrel, we're not talking about frame 1 blending black with 0.25 white and frame two blending black with 0.5 white. we're taking about frame 1 blending black with 0.25 white and then frame two blending black with 0.25 white and 0.5 white. 20170423 20:36:29< DeFender1031> celticminstrel, remember, each [image] tag in a [story][part] ADDS the image to whatever is there already. 20170423 20:36:41< DeFender1031> it's a little confusing when it;s the same image blended differently. 20170423 20:36:53< celticminstrel> Okay. 20170423 20:37:17< DeFender1031> but the point to remember is that the [image] tag doesn't cause the previous one to be removed. 20170423 20:37:33< celticminstrel> Yeah, okay, in that case you could probably do something like cache the existing surface and then just redraw that and the new image. 20170423 20:38:09< celticminstrel> I don't know if this can really work at the canvas level though, since images could depend on variables that might change... 20170423 20:38:24-!- DeFender1031 [~DeFender1@46-116-90-83.bb.netvision.net.il] has quit [Remote host closed the connection] 20170423 20:38:44-!- DeFender1031 [~DeFender1@46-116-90-83.bb.netvision.net.il] has joined #wesnoth-dev 20170423 20:39:07< celticminstrel> About how many versions of each image do you use, anyway? 20170423 20:39:51< DeFender1031> celticminstrel, there's no variables at that point. within a given [story][part], any image added is there until the next [part] 20170423 20:40:03-!- un214 [~un214@76-14-112-211.rk.wavecable.com] has joined #wesnoth-dev 20170423 20:40:37< DeFender1031> celticminstrel, the first fade uses 10 versions of the same image, the second one uses 10 versions of 4 different images, or 40 in total. 20170423 20:41:26< DeFender1031> celticminstrel, you can look starting on line 433 or thereabouts of scenario 01 to see what i'm actually doing. 20170423 20:41:49< celticminstrel> I'm talking about variables within the GUI2 canvas. These are WFL variables, not WML variables. 20170423 20:41:56< DeFender1031> but anyway, I do think that caching the current rendered image and using that as the base for added images is the way to go here. 20170423 20:42:01< DeFender1031> ohhhh 20170423 20:42:04< DeFender1031> hmmm... 20170423 20:42:17< DeFender1031> i doubt anything can change those during a [part] though. 20170423 20:42:47< celticminstrel> I think they don't change during part, yeah, but other uses of the canvas. 20170423 20:42:57< celticminstrel> It's used pretty much everywhere. 20170423 20:43:04< DeFender1031> fine, but this could be special-cased, no? 20170423 20:43:13< celticminstrel> Maybe somehow? 20170423 20:43:24< celticminstrel> I'm not sure. 20170423 20:43:30< DeFender1031> in other cases the circumstances i described don't hold either. 20170423 20:44:12< celticminstrel> It should be possible in principle for the canvas to offer something like an animation_frame variable which could then be bubbled up to the storyscreen WML, I suppose... 20170423 20:44:16-!- sevu [~Unknown@pD954CDB7.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 20170423 20:44:21< DeFender1031> basically, all i'm suggesting is that for [part] and ONLY for [part], a render cache of the current image be kept, and [images] get added to the render cache rather than the whole stack from the beginning. 20170423 20:44:50< celticminstrel> Hmm. 20170423 20:45:03< celticminstrel> This still requires something to be implemented in canvas. 20170423 20:45:15< DeFender1031> so that instead of re-rendering 1, 2, 3, 4, 5, 6 and 7, and then re rendering 1, 2, 3, 4, 5, 6, 7, and 8, you just have the current image that starts with 1, gets 2 added to it, gets 3 added, and so on. 20170423 20:45:33< celticminstrel> Either a "get copy of current rendered surface", or "flag to cache rendered surface and not redraw everything when elements are appended to the canvas". 20170423 20:45:38< DeFender1031> it'd basically turn the rendering of each [image] step from O(n) to O(1) 20170423 20:45:47< celticminstrel> Probably the latter would be easier. 20170423 20:45:53< DeFender1031> which is the performance that we should be aiming for. 20170423 20:46:10< DeFender1031> yeah, either of those. 20170423 20:46:42< celticminstrel> For more general usage, maybe it could have an optimization whereby it doesn't redraw stuff if it detects all the formulas returned the same result as last time... 20170423 20:47:44< DeFender1031> from my (admittedly limited) understand of GUI2, one of its huge drawbacks is that it can only recalculate EVERYTHING or nothing. 20170423 20:48:09< DeFender1031> and there are cases where you want to be able to recalculate only SOMEthing. 20170423 20:48:11< celticminstrel> That has been improved lately with Jyrki's partial relayout work. 20170423 20:48:19< DeFender1031> hmm 20170423 20:48:20< celticminstrel> But that's for layout, not rendering. 20170423 20:48:22< DeFender1031> right 20170423 20:48:57< DeFender1031> so i'm proposing that, at least in this case, we have some kind of render cache, since in this case, the only thing allowed IS adding to the existing render. 20170423 20:49:11< DeFender1031> (There may be other cases as well where things are only added rather than removed or modified) 20170423 20:49:46< celticminstrel> Actually, I think most cases have a static canvas, which is to say, there are a fixed number of elements on the canvas. The only thing that might change is the values of the variables. 20170423 20:50:28< celticminstrel> In other words, appending to the canvas is unusual. 20170423 20:50:48< celticminstrel> If variables change, you probably need to redraw everything. 20170423 20:51:35< DeFender1031> hmm 20170423 20:51:59< DeFender1031> then perhaps this case should just use a slightly specialized version of the canvas code or something? 20170423 20:52:55< celticminstrel> That's probably harder than just bundling support for this into the canvas. 20170423 20:53:47< DeFender1031> semantics, but "bundling support for it into the canvas" is one way to go about it. I said nothing implying implementation architecture. 20170423 20:54:12< DeFender1031> Just that it seems necessary in this case to have an append-instead-of-redraw version of the code. 20170423 20:54:28< DeFender1031> or algorithm within the code. 20170423 20:54:33< celticminstrel> Mmhm. 20170423 20:54:34< DeFender1031> or whatever you want to call it 20170423 20:54:36< DeFender1031> "behavior" 20170423 20:54:41< DeFender1031> that's a good word for it. 20170423 21:00:11< Aginor> I'd put hardware acceleration down to ~1 year's worth of work to get it stable 20170423 21:00:32< Aginor> and hardware acceleration won't solve any of the alpha problems you were discussing 20170423 21:01:17< Aginor> if canvas rendering s a problem, make it smarter (without caching a surface in memory as that's slow) 20170423 21:01:45< DeFender1031> Btw, I'd bet that 1.12's story rendering probably did do the "just add the next image to what we already have" behavior 20170423 21:02:08< celticminstrel> Smarter? Would that mean for example not redrawing anything if it can prove that nothing has changed? 20170423 21:02:37< Aginor> celticminstrel: yes, and that nothing's been drawn on top of it that's since been discarded 20170423 21:03:11< celticminstrel> Ah... that second part sounds hard. 20170423 21:03:39< celticminstrel> Or is that what the dirty flag is intended for... 20170423 21:03:44< Aginor> you need a something window-manager like 20170423 21:04:03< Aginor> I think that's what the dirty flag is about 20170423 21:05:05< Aginor> work beckons, I'll hopefully be around to continue this discussion later 20170423 21:05:59-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has joined #wesnoth-dev 20170423 21:07:55< DeFender1031> hmm... wesnoth seems to be using a lot of cpu during story mode in general, even when just sitting there showing a page of text and not doing anything. 20170423 21:12:15-!- atarocch [~atarocch@2604:2000:de9b:9c00:4122:5fe7:5bb9:3477] has joined #wesnoth-dev 20170423 21:12:24-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has quit [Remote host closed the connection] 20170423 21:14:53< DeFender1031> oh, something else I was wondering: how hard would it be to let terrain and unit animations continue during a [message] rather than freezing the whole screen? 20170423 21:16:22-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has joined #wesnoth-dev 20170423 21:16:29< celticminstrel> Probably pretty hard. 20170423 21:17:33< DeFender1031> :/ 20170423 21:17:35< DeFender1031> aw well. 20170423 21:17:46< DeFender1031> why would that be? 20170423 21:17:50-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has quit [Remote host closed the connection] 20170423 21:18:47< celticminstrel> I'm not entirely sure... something about how the event system works, probably? 20170423 21:19:50< zookeeper> rendering-wise, you'd probably have to not redraw the message box since that might be too heavy to do per-frame 20170423 21:20:07< zookeeper> but the portrait sticks out of the box, so you'd have to selectively redraw only that part of the portrait 20170423 21:20:29< DeFender1031> well, the message box is transparent, so anything animated behind it would need redrawing too 20170423 21:21:03< zookeeper> that's why i said that it probably wouldn't work. 20170423 21:22:25< DeFender1031> oh... hmm... vultraz_iOS, the image not found that actually on the map is apparently that the skeleton images were moved, so you missed the animation where it stands up and collapses. 20170423 21:23:09< DeFender1031> in fact, the image i thought would be problematic is fine. 20170423 21:26:15-!- JyrkiVesterinen [~JyrkiVest@87-100-181-97.bb.dnainternet.fi] has quit [Quit: .] 20170423 21:26:21< celticminstrel> I think there's compatibility code to automatically strip out the "transparent/" if the file doesn't exist. 20170423 21:27:33-!- un214 [~un214@76-14-112-211.rk.wavecable.com] has quit [Remote host closed the connection] 20170423 21:28:39< DeFender1031> even when used inside IPFs? 20170423 21:28:48-!- atarocch [~atarocch@2604:2000:de9b:9c00:4122:5fe7:5bb9:3477] has quit [Remote host closed the connection] 20170423 21:29:22< celticminstrel> I know no reason why being embedded in an IPF would change how files are located. 20170423 21:29:41< DeFender1031> the image I expected to be a problem is a composite of a bunch of portraits ~CROPped and ~BLITted together 20170423 21:29:55< DeFender1031> i suppose it wouldn't 20170423 21:30:07< DeFender1031> it depends where the substitution takes place though 20170423 21:30:20< DeFender1031> since i know that hack is not global for all image paths. 20170423 21:30:27< DeFender1031> (for example, in [story]) 20170423 21:30:33< celticminstrel> Huh? 20170423 21:31:05< DeFender1031> meaning, if you have a [story][part][image] with a "/transparent" in it, it will not strip it and will fail to load. 20170423 21:31:27< DeFender1031> so it's not just that it always invokes that code. 20170423 21:31:51< celticminstrel> Maybe the compatibility code isn't in the best place... 20170423 21:33:50< DeFender1031> dunno 20170423 21:33:58< vultraz_iOS> just run wmllint 20170423 21:35:08< DeFender1031> i know. 20170423 21:36:48< celticminstrel> Not much point doing that unless you actually intend to port it though. 20170423 21:40:03< vultraz_iOS> he should 20170423 21:40:06< vultraz_iOS> begin the process 20170423 21:40:10< vultraz_iOS> 1.12 is on its way out 20170423 21:40:59-!- vultraz_iOS changed the topic of #wesnoth-dev to: 1.13.8 (1.4. Beta 1) scheduled for Sunday, May 30th 00:00 UTC | Wesnoth Developers Channel | >>> Want to help? Go here: http://r.wesnoth.org/t42911 (and thanks!) <<< | Discord Server: https://discord.gg/tSmJS2E | Logs: http://irclogs.wesnoth.org | Bug tracker: http://bugs.wesnoth.org 20170423 21:40:59-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 21:41:14< vultraz_iOS> I forgot about beta releases TBH 20170423 21:41:23< vultraz_iOS> beta before RC 20170423 21:42:24< zookeeper> yeah i doubt 1.13.8 is going be free of bugs that are blockers for 1.14. 20170423 21:42:48< vultraz_iOS> it's not supposed to be 20170423 21:43:03< vultraz_iOS> but we need to accelerate our release cycle to get the fixes in dev out 20170423 21:43:10-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 21:43:41< celticminstrel> 1.14, not 1.4, vultraz_iOS 20170423 21:44:01< zookeeper> yeah... i just acknowledged you acknowledging that it's not going to be a RC. you don't need to tell me that it's not supposed to be. 20170423 21:44:35< celticminstrel> vultraz_iOS: There's not really a need to begin the process right away. 20170423 21:44:55< celticminstrel> Waiting until 1.14 is actually out is also a valid option. 20170423 21:53:40< DeFender1031> well, I'm torn TBH. 20170423 21:54:00< DeFender1031> On the one hand, the latest would allow me to use newer features which would be beneficial 20170423 21:54:27< DeFender1031> on the other, it breaks so frequently that I'm not at liberty to just develop my story without running into new bugs all the time. 20170423 21:56:04< DeFender1031> it IS nice to see that the most glaring bugs I encountered when I tried a few weeks ago all seem to have been fixed. 20170423 21:56:38< DeFender1031> (the story screen, though laggy, at least does what it's supposed to now, whereas it was just totally broken in bizarre ways before) 20170423 21:56:51< DeFender1031> (the animations are right-side up.) 20170423 21:56:54< DeFender1031> (etc.) 20170423 21:59:41-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 22:02:40-!- mjs-de [~mjs-de@x4db53ed9.dyn.telefonica.de] has quit [Ping timeout: 260 seconds] 20170423 22:03:30-!- mattsc [~mattsc@wesnoth/developer/mattsc] has joined #wesnoth-dev 20170423 22:04:29< mattsc> zookeeper, Kwandulin: next piece of the puzzle: when adding up the steps done by the a* search, they are essentially identical for the tunnels and for the open passage. 20170423 22:05:01< mattsc> 1705 for tunnels, 1717 for open passage — which makes sense given that the tunnel cuts out a few hexes. 20170423 22:05:37< mattsc> So it looks like there’s no problem with the “geometry” of the tunnel path finding, but that something that’s part of it is taking longer than for “normal hexes” 20170423 22:06:49< Aginor> hmmm 20170423 22:07:04< Aginor> I'm pseudo-back 20170423 22:08:32< zookeeper> mattsc, right... completely wild guess: maybe the tunnel filtering gets re-evaluated per every step beyond the tunnel, or something like that? 20170423 22:08:42< zookeeper> since i can't make informed guesses, i'll make uninformed ones :p 20170423 22:09:11< celticminstrel> That actually seems likely... 20170423 22:09:55< celticminstrel> Or... 20170423 22:10:21< celticminstrel> Well it seems possible, at least. 20170423 22:14:49< DeFender1031> oh, zookeeper, you're back. 20170423 22:14:55< zookeeper> yes 20170423 22:15:52< DeFender1031> zookeeper, you never answered about the wall corners thing 20170423 22:16:01< zookeeper> but i did 20170423 22:16:04< DeFender1031> the link again: http://imgur.com/a/54o54 20170423 22:16:34< zookeeper> yeah, i haven't done anything about it 20170423 22:16:37< DeFender1031> okay 20170423 22:20:07< mattsc> zookeeper: yeah, I’ll put some timing markers in there and see what I find 20170423 22:21:35-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 22:24:33< Aginor> vultraz_iOS: have you profiled the story screens to see what the bottlenecks are? 20170423 22:27:50< mattsc> Nope, doesn’t seem to be the a* search itself. 20170423 22:30:30-!- atarocch [~atarocch@2604:2000:de9b:9c00:4122:5fe7:5bb9:3477] has joined #wesnoth-dev 20170423 22:31:16-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has joined #wesnoth-dev 20170423 22:36:09-!- vultraz_iOS changed the topic of #wesnoth-dev to: 1.13.8 (1.14. Beta 1) scheduled for Sunday, May 30th 00:00 UTC | Wesnoth Developers Channel | >>> Want to help? Go here: http://r.wesnoth.org/t42911 (and thanks!) <<< | Discord Server: https://discord.gg/tSmJS2E | Logs: http://irclogs.wesnoth.org | Bug tracker: http://bugs.wesnoth.org 20170423 22:36:43< DeFender1031> heading to bed. ttyl, everyone 20170423 22:36:48< vultraz_iOS> Aginor: no 20170423 22:37:02< vultraz_iOS> but it's pretty obvious why DeFender1031 was getting lag 20170423 22:37:55< celticminstrel> Profiling sounds like a good idea. 20170423 22:41:30-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has quit [Remote host closed the connection] 20170423 22:41:54-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has joined #wesnoth-dev 20170423 22:43:51-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has quit [Remote host closed the connection] 20170423 22:46:13-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 22:52:40< mattsc> zookeeper, celticminstrel: Interesting. It’s pathfind::get_teleport_locations(), done before the actual path finding, that is taking all the extra time. 20170423 22:53:38< mattsc> I need to move on to other and less exciting things right now, but I bet we can figure out why that is taking this long. 20170423 22:54:53< zookeeper> yeah, sounds like you're on to it 20170423 22:56:04< mattsc> It seems strange that that should take longer to evaluate than a 120-hex path … 20170423 22:56:15< mattsc> Twice as long, in fact. 20170423 22:58:32< celticminstrel> With a simple [tunnel] between two spaces, it shouldn't make any difference to the A* algorithm. A many-to-many [tunnel] might have a small performance hit though. The A* algorithm needs to iterate over all the spaces that are considered "adjacent" to the current space, so with a many-to-many [tunnel], the number of spaces there may be greatly increased. 20170423 22:59:05< celticminstrel> But it sounds like the problem isn't in the pathfinding, huh? It's in resolving the [tunnel] to a mapping of locations? 20170423 23:00:24-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 23:00:33< mattsc> That’s how it looks at the moment, yes. 20170423 23:05:19-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has joined #wesnoth-dev 20170423 23:09:53< gfgtdf> i wonder how an A* seach can wokr with tuneels in the first place? usually an a* algorithm is a dijkstra algorithm that is optimised using a lower-bound function on the distance to the target, but tunnels make it basically impossible to give such a lower bound. 20170423 23:14:07< celticminstrel> It's not impossible to give a lower bound with tunnels, but the lower bound might have to be 1 or close to 1... 20170423 23:14:44< celticminstrel> I have no idea what Wesnoth's A* uses as a heuristic. 20170423 23:16:50-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 23:17:10-!- zookeeper [zookeeper@wesnoth/developer/zookeeper] has quit [Ping timeout: 240 seconds] 20170423 23:17:26-!- irker929 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170423 23:17:26< irker929> wesnoth: Charles Dang wesnoth:master dd86d19e6444 / src/.clang-format: Clang Format: disable AllowShortFunctionsOnASingleLine https://github.com/wesnoth/wesnoth/commit/dd86d19e644421355bf573c7017e6321e5b66036 20170423 23:18:29-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:3819:376c:bdf7:5fea] has quit [Remote host closed the connection] 20170423 23:19:11< gfgtdf> hmm accorign to here https://github.com/wesnoth/wesnoth/blob/master/src/pathfind/astarsearch.cpp#L33 it just uses distance in hexes :/ 20170423 23:20:21-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170423 23:21:25< celticminstrel> Hmm. 20170423 23:24:04< gfgtdf> i have no idea how this codw works, it seems even to include some 'static unsigned search_counter' variable that is increased by 2 everytime a_star_cearch is called 20170423 23:24:15< celticminstrel> Here's where it checks for tunnels: https://github.com/wesnoth/wesnoth/blob/master/src/pathfind/astarsearch.cpp#L85 20170423 23:24:30< celticminstrel> It doesn't seem like it's simply appending the teleport options to the adjacent lists of a node. 20170423 23:25:33-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 23:26:17< celticminstrel> Though I could be misunderstanding something, I guess. 20170423 23:28:19< gfgtdf> there is alsoa similar astartseach code in ai/formula/function_table.cpp 20170423 23:28:32< celticminstrel> ...eh? 20170423 23:28:54< celticminstrel> Where? 20170423 23:30:56< gfgtdf> celticminstrel: i meant this one: https://github.com/wesnoth/wesnoth/blob/master/src/ai/formula/function_table.cpp#L144 but it doesnt seems astarsearch on second view 20170423 23:35:08< celticminstrel> I see... 20170423 23:35:46< celticminstrel> I think that looks like some sort of FoV-type calculation. 20170423 23:36:58< celticminstrel> A* only finds the best path, not all paths, so I guess that couldn't use A*... 20170423 23:39:00< celticminstrel> Back to the music thing... do I even have any other choice besides using shared_ptr? 20170423 23:42:10-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has quit [Read error: Connection reset by peer] 20170423 23:47:12-!- RatArmy_ [~ratarmy@om126237124026.9.openmobile.ne.jp] has joined #wesnoth-dev 20170423 23:48:16-!- atarocch [~atarocch@2604:2000:de9b:9c00:4122:5fe7:5bb9:3477] has quit [Ping timeout: 258 seconds] 20170423 23:56:35-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Remote host closed the connection] --- Log closed Mon Apr 24 00:00:14 2017