--- Log opened Sat Jun 24 00:00:12 2017 20170624 00:03:33-!- irker587 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170624 00:03:33< irker587> wesnoth: sigurdfdragon wesnoth:master cef1174a3f43 / data/campaigns/The_Hammer_of_Thursagan/utils/characters.cfg: THoT: upkeep=free not needed with loyal https://github.com/wesnoth/wesnoth/commit/cef1174a3f43e03840a9f29c26f34f2db0fe6a0b 20170624 00:03:33< irker587> wesnoth: sigurdfdragon wesnoth:master bf2f5d709a7e / data/campaigns/The_Hammer_of_Thursagan/scenarios/07_Mages_and_Drakes.cfg: THoT S07: Remove incorrect comments https://github.com/wesnoth/wesnoth/commit/bf2f5d709a7ea42ffc7eb15c53a5a19cd9c25ae1 20170624 00:03:34< irker587> wesnoth: sigurdfdragon wesnoth:master f380b154d4fc / data/campaigns/The_Hammer_of_Thursagan/utils/characters.cfg: THoT: Make Dulcatulos traits consistent https://github.com/wesnoth/wesnoth/commit/f380b154d4fc9f56dd115db14370877ef6a6eae9 20170624 00:19:36< irker587> wesnoth: Jeffrey 'Sigurd' Westcoat wesnoth:master 6aada966d3f9 / src/scripting/lua_unit.cpp: Fixup lua unit.upkeep getter (#1816) https://github.com/wesnoth/wesnoth/commit/6aada966d3f9192b49c6f702bac1adca01aff527 20170624 00:26:12-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20170624 00:33:40-!- Bonobo [~Bonobo@61.68.203.58] has joined #wesnoth-dev 20170624 00:40:55-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has joined #wesnoth-dev 20170624 00:44:58-!- Greg-Boggs [~greg_bogg@c-76-115-139-154.hsd1.or.comcast.net] has quit [Ping timeout: 240 seconds] 20170624 00:57:36-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Read error: Connection reset by peer] 20170624 00:57:41-!- stikonas_ [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170624 01:04:14-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20170624 01:04:15-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] 20170624 01:04:20-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20170624 01:04:39-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20170624 01:40:43-!- stikonas_ [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170624 01:41:16-!- stikonas_ [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170624 01:47:45-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:b542:d338:cd5a:f84a] has joined #wesnoth-dev 20170624 01:52:09-!- Greg-Boggs [~greg_bogg@2601:1c2:f00:9780:b542:d338:cd5a:f84a] has quit [Ping timeout: 258 seconds] 20170624 02:01:21< vultraz_iOS> why is it that you can have a static reference? 20170624 02:02:50< celticminstrel> ? 20170624 02:03:29< vultraz_iOS> static T& foo = bar(); is allowed 20170624 02:04:58< celticminstrel> That would depend on bar(). 20170624 02:10:18< celticminstrel> Nothing to do with static, presumably. Should be allowed only in cases where "T& foo = bar()" is allowed. 20170624 02:34:30-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20170624 02:36:18-!- stikonas_ [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170624 02:36:51-!- stikonas_ [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170624 02:38:48-!- stikonas_ [~gentoo@wesnoth/translator/stikonas] has quit [Client Quit] 20170624 03:10:39-!- Appleman1234 [~quassel@z190230.ppp.asahi-net.or.jp] has quit [Ping timeout: 276 seconds] 20170624 03:14:41-!- SigurdFD [~SigurdFD@dynamic-acs-72-23-110-196.zoominternet.net] has quit [] 20170624 03:17:12< matthiaskrgr> \o/ 20170624 03:17:18< celticminstrel> ? 20170624 03:17:27< matthiaskrgr> >This shouls be fixed now 20170624 03:17:34< celticminstrel> Oh. 20170624 03:17:47< celticminstrel> I posted that because no-one has responded ever since I marked it "ready for testing". 20170624 03:17:52< matthiaskrgr> oh 20170624 03:17:53< matthiaskrgr> heh 20170624 03:18:30< matthiaskrgr> well guess I'll have another look at it ingame when I find some time in half a day or so 20170624 03:20:25-!- irker587 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170624 03:20:36< celticminstrel> Apparently I have 43 issues assigned to me... o.o Though a few of those are on a different project... 20170624 03:21:00< celticminstrel> 34 on Wesnoth. 20170624 03:22:28< matthiaskrgr> and that is ... an issue? 20170624 03:22:32< celticminstrel> Heh. 20170624 03:22:56< celticminstrel> Maybe I should unassign some of them though, not sure if I'm likely to actually get to them eventually... 20170624 03:23:02< matthiaskrgr> some punchlines are so bad, it's a real pun-inshment 20170624 03:41:50-!- mkdroid [~null@unaffiliated/matthiaskrgr] has joined #wesnoth-dev 20170624 03:46:09-!- mkdroid [~null@unaffiliated/matthiaskrgr] has quit [Client Quit] 20170624 03:56:09-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has quit [Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] 20170624 05:01:25-!- Kwandulin [~Kwandulin@p200300760F7CBA40BDB961EC9E035BA0.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 05:08:52-!- Kwandulin [~Kwandulin@p200300760F7CBA40BDB961EC9E035BA0.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170624 05:15:16-!- Appleman1234 [~quassel@z190230.ppp.asahi-net.or.jp] has joined #wesnoth-dev 20170624 05:20:34-!- Kwandulin [~Kwandulin@p200300760F7CBA40BDB961EC9E035BA0.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 05:42:11-!- JyrkiVesterinen [~JyrkiVest@87-100-246-94.bb.dnainternet.fi] has joined #wesnoth-dev 20170624 06:05:48-!- Duthlet [~Duthlet@dslb-178-012-099-028.178.012.pools.vodafone-ip.de] has joined #wesnoth-dev 20170624 06:10:42-!- Kwandulin [~Kwandulin@p200300760F7CBA40BDB961EC9E035BA0.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 20170624 07:26:00-!- MagneticUnicorn[ [magneticun@gateway/shell/matrix.org/x-bdbobfwjhxcuvwkr] has left #wesnoth-dev ["User left"] 20170624 07:51:03-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20170624 08:22:54-!- Kwandulin [~Kwandulin@p200300760F7CBA40BDB961EC9E035BA0.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 08:45:31-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has joined #wesnoth-dev 20170624 08:46:35-!- mjs-de [~mjs-de@x4e307129.dyn.telefonica.de] has joined #wesnoth-dev 20170624 08:49:44-!- JyrkiVesterinen [~JyrkiVest@87-100-246-94.bb.dnainternet.fi] has quit [Quit: .] 20170624 09:12:03-!- Kwandulin [~Kwandulin@p200300760F7CBA40BDB961EC9E035BA0.dip0.t-ipconnect.de] has quit [Ping timeout: 276 seconds] 20170624 09:23:19-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 09:47:24< zookeeper> urgh. how do i update my fork's master without having to pull-push all of that huge amount of data... i tried the pull request method described in a lot of places, but that leads to an extraneous commit in the fork. 20170624 09:49:18< zookeeper> this, i mean: https://github.com/wesnoth/wesnoth/compare/master...ln-zookeeper:recall_facing maybe that extraneous commit doesn't really matter though, if the PR i'm making gets rebase-merged. 20170624 09:52:05< vultraz_iOS> did you try to pull, rebase with origin master with your commit on top, then force push to your branch? 20170624 09:52:51< zookeeper> no 20170624 09:53:46< vultraz_iOS> it looks like you already have your remote fork updated 20170624 09:54:03< vultraz_iOS> is your local branch in sync with fork/recall_facing? 20170624 09:54:20< zookeeper> i don't see how it could not be 20170624 09:54:56< vultraz_iOS> and is your local master up-to-date with origin/master? 20170624 09:55:18< zookeeper> i don't know 20170624 09:55:28< vultraz_iOS> do you use TGit? 20170624 09:55:31< zookeeper> i made the PR already, anyway 20170624 09:55:32< zookeeper> yes 20170624 09:56:54< vultraz_iOS> yeah you definitely want to get rid of that merge commit.. 20170624 09:57:26< vultraz_iOS> switch to master, pull, then switch back to recall_facing, rebase with master as the source, your commit should be the only one present, then force-push to fork/recall_facing 20170624 09:58:19< zookeeper> i'll deal with it after the PR is merged 20170624 09:59:28< vultraz_iOS> um... 20170624 09:59:44< vultraz_iOS> no I think in this case you need to before 20170624 10:01:43< zookeeper> and why would that be, when there clearly seems to be no problem with squash-merging it? 20170624 10:02:54< vultraz_iOS> Because squash merging would squash your commit and the merge commit i think 20170624 10:03:31< zookeeper> ...yes 20170624 10:03:37< zookeeper> that's the point 20170624 10:04:51< vultraz_iOS> we don't want that merge commit to be committed to master 20170624 10:05:06< zookeeper> ... 20170624 10:05:24< zookeeper> Because squash merging would squash your commit and the merge commit i think 20170624 10:05:25< zookeeper> we don't want that merge commit to be committed to master 20170624 10:06:22< zookeeper> i mean if you know that there's is some very non-apparent problem with this then you have to explain it to me like to a 5-year old, because i don't see it 20170624 10:07:07< vultraz_iOS> You don't see why having the merge commit is bad? 20170624 10:07:37< zookeeper> ... 20170624 10:07:40< zookeeper> squuuuuuash 20170624 10:08:08< vultraz_iOS> Squash collapses everything into one commit. 20170624 10:08:13< zookeeper> yes! hence no merge commit! 20170624 10:08:38< zookeeper> only the actual changes, which you can see in the "files changed" tab, collapsed into one commit 20170624 10:08:45< zookeeper> no merge commit 20170624 10:08:50< zookeeper> nice and clean 20170624 10:08:57< vultraz_iOS> I am not 100% sure that is the case 20170624 10:09:08< vultraz_iOS> Maybe you are right 20170624 10:09:11< vultraz_iOS> I'm not sure 20170624 10:10:02< vultraz_iOS> It's possible, given that the commit registers as "no new changes" 20170624 10:10:47-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has quit [Ping timeout: 255 seconds] 20170624 10:11:00< zookeeper> yes 20170624 10:12:35< vultraz_iOS> i think you'll end up with another merge commit as the squashed commit is added to master, though 20170624 10:13:26< zookeeper> you don't end up with merge commits when you squash-merge 20170624 10:14:03< vultraz_iOS> Oh? 20170624 10:14:07< vultraz_iOS> Alright 20170624 10:14:11< vultraz_iOS> thought that was just with rebase 20170624 10:28:36< zookeeper> well, AFAIK squash is basically rebase except also squashing everything into one commit 20170624 10:29:03< zookeeper> but also i think even rebase gets rid of merge commits and other cruft which doesn't actually contain real changes 20170624 10:30:48< vultraz_iOS> if there's a disaster i can deal with it 20170624 11:36:39-!- celticminstrel [~celmin@unaffiliated/celticminstrel] has joined #wesnoth-dev 20170624 11:43:34-!- timotei_ [~timotei@wesnoth/developer/timotei] has quit [Read error: Connection reset by peer] 20170624 11:45:20-!- timotei_ [~timotei@wesnoth/developer/timotei] has joined #wesnoth-dev 20170624 11:50:22-!- timotei__ [~timotei@wesnoth/developer/timotei] has joined #wesnoth-dev 20170624 11:50:27-!- timotei_ [~timotei@wesnoth/developer/timotei] has quit [Ping timeout: 240 seconds] 20170624 11:53:32-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Ping timeout: 260 seconds] 20170624 12:09:30-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 12:27:01< matthiaskrgr> yay, I can see something in the accel_render branch now :3 20170624 12:28:14-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has joined #wesnoth-dev 20170624 12:32:55< vultraz_iOS> indeed, i reverted to the SDL API for now 20170624 12:36:37-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20170624 12:43:19-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170624 12:44:26< vultraz_iOS> matthiaskrgr: how is the performance? 20170624 12:51:52-!- mjs-de [~mjs-de@x4e307129.dyn.telefonica.de] has quit [Remote host closed the connection] 20170624 12:51:57< matthiaskrgr> hard to check from my side since I usually do unoptimized builds for debugging 20170624 13:02:31< vultraz_iOS> I see 20170624 13:19:56-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170624 13:48:16-!- mjs-de [~mjs-de@x4e307129.dyn.telefonica.de] has joined #wesnoth-dev 20170624 14:14:37-!- mjs-de [~mjs-de@x4e307129.dyn.telefonica.de] has quit [Remote host closed the connection] 20170624 14:30:22< Coffee_irc> finger gtgtdf 20170624 14:30:39< zookeeper> gfgtdf :p 20170624 14:30:52< Coffee_irc> of course :P 20170624 14:31:17< Coffee_irc> finger gfgtdf 20170624 14:31:45< zookeeper> i recall that at some point i thought i'd never learn to remember the correct character combo 20170624 14:32:17< Coffee_irc> don't know if you guys still remember my username 20170624 14:32:32< Coffee_irc> haven't been an active dev for a while 20170624 14:32:55< zookeeper> doesn't feel like that long ago, really 20170624 14:33:21< Coffee_irc> I found out why the 1.13.x animations are bad for movement 20170624 14:33:31< Coffee_irc> and possibly why some performance is bad 20170624 14:33:38< zookeeper> oh? 20170624 14:34:16< Coffee_irc> I put the information for gfgtdf in a bug report 20170624 14:34:19< Coffee_irc> https://github.com/wesnoth/wesnoth/issues/1565 20170624 14:34:21-!- Bonobo [~Bonobo@61.68.203.58] has quit [Quit: Leaving] 20170624 14:35:05< zookeeper> sadly, just yesterday he said he'll be away for ~2 weeks 20170624 14:35:29< Coffee_irc> well, I can fix it msyself but... 20170624 14:35:36< Coffee_irc> it would cause another issue :P 20170624 14:35:56< Coffee_irc> appears to be related to a lua events feature introduced in 1.13.x 20170624 14:36:22-!- ToBeCloud [uid51591@wikimedia/ToBeFree] has quit [Quit: Connection closed for inactivity] 20170624 14:36:30< zookeeper> what issue would it cause? 20170624 14:36:42< Coffee_irc> really obscure and took me ages to find 20170624 14:36:43-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 14:37:14< Coffee_irc> the new lua feature increments an internal event counter that causes the animations not to realize they don't need refreshing 20170624 14:37:50< zookeeper> internal event counter... probably that happens because of the possibility of enter/exit_hex events 20170624 14:38:00< Coffee_irc> ok 20170624 14:38:06< Coffee_irc> well, it causes problems :P 20170624 14:39:00< zookeeper> then again, enter/exit_hex events were available already in 1.12... 20170624 14:39:03< Coffee_irc> probably some other internal counter should be made just for unit movements then 20170624 14:39:30< Coffee_irc> but I don't know what the lua thing does so I don't want to mess with it 20170624 14:40:02< Coffee_irc> all I know is that by removing it the animations are nice and smooth again 20170624 14:40:36< zookeeper> well, i assume that's already a decent pile of good information 20170624 14:40:55< Coffee_irc> yeah, I'm pretty happy with that outcome 20170624 14:41:18< Coffee_irc> this has been bugging me for a while now 20170624 15:14:50-!- Coffee_irc [~david@61.68.203.58] has quit [Quit: Konversation terminated!] 20170624 15:17:29-!- Seba_ [4f741a1d@gateway/web/freenode/ip.79.116.26.29] has joined #wesnoth-dev 20170624 15:17:30< Seba_> Hello, anyone here? 20170624 15:19:02< Seba_> I want to make a rogue-like game, with graphics and turn based combat similar to wesnoth. 20170624 15:19:18< Seba_> I have no programming experience, so I just wanted to ask you guys where should I start? 20170624 15:22:04< zookeeper> well, either you need to find someone who wants to make the same game as you and who can do the programming, or you need to learn it yourself which will take a long time, or you can look at doing it with some existing game engine. 20170624 15:23:07< zookeeper> the last one would of course be the easiest way to make at least a simple prototype 20170624 15:23:11< Seba_> Well, I'm not in it for the money. I don't see why other people would want to work my game. Also, I could do with learning programming, so I guess the long road is my option 20170624 15:24:29< Seba_> I should learn c#, no? 20170624 15:25:09-!- timotei__ [~timotei@wesnoth/developer/timotei] has quit [Ping timeout: 276 seconds] 20170624 15:25:45< zookeeper> there's no single right choice for a language to write a game in. especially one with very low performance demands. 20170624 15:29:26< zookeeper> but there's no shame in using gamemaker-style software, i'd imagine it's the best way to actually get something up and running quickly: http://alternativeto.net/software/game-maker/ 20170624 15:53:07-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has quit [Remote host closed the connection] 20170624 15:53:13-!- janebot [~Gambot@unaffiliated/gambit/bot/gambot] has joined #wesnoth-dev 20170624 16:05:47-!- Seba_ [4f741a1d@gateway/web/freenode/ip.79.116.26.29] has quit [Quit: Page closed] 20170624 16:06:07< matthiaskrgr> hmm 20170624 16:06:22< matthiaskrgr> vultraz_iOS: the testrunner fails with the render branch 20170624 16:06:26< matthiaskrgr> with asan 20170624 16:06:32< matthiaskrgr> but I don't think it failed without asan 20170624 16:06:33< matthiaskrgr> which is strange 20170624 16:14:16-!- timotei_ [~timotei@wesnoth/developer/timotei] has joined #wesnoth-dev 20170624 16:45:13-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170624 17:10:17-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has quit [Quit: Connection closed for inactivity] 20170624 17:22:32-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 17:34:24< zookeeper> matthiaskrgr, does woptipng allow the images to be changed to paletted format (losslessly, of course) or does it enforce 32-bit somehow? 20170624 17:35:31< zookeeper> i'm having a bit of a problem with my own zopflipng routine, because it does sometimes change images to paletted format, and there's no way to tell it not to. 20170624 17:36:00< zookeeper> in practise it doesn't result in any problems, but it's a bit icky 20170624 17:44:55< zookeeper> i'm unsure whether we should stick with the "always use 32-bit for any images with alpha" thing anymore or not. 20170624 17:46:03< zookeeper> that was basically borne out of a few optimization runs gone bad, where someone was careless and let the optimizer do _lossy_ conversion to paletted format, breaking TC and whatnot. 20170624 17:56:45< matthiaskrgr> zookeeper: it depends on what optios you pass to optipng :> 20170624 17:56:50< matthiaskrgr> but I think by default It does not? 20170624 17:56:59< matthiaskrgr> I can change it in any case 20170624 17:57:16< matthiaskrgr> there were problems with zopfli in the past iirc 20170624 17:57:33< matthiaskrgr> d5fa4bc7b25ae115d23070c04970dec7f66baf3f 20170624 17:58:19-!- DeFender1031 [~DeFender1@89-138-182-62.bb.netvision.net.il] has joined #wesnoth-dev 20170624 18:00:30< zookeeper> ah, i didn't remember that one 20170624 18:00:55< zookeeper> oh wait no that was the one i remembered 20170624 18:08:43< zookeeper> looks like it can still result in problems, if for example the alphamask image gets converted 20170624 18:08:48< zookeeper> okay, 32-bit it is then. 20170624 18:09:04 * zookeeper wonders how hard it would be to hack zopflipng to not do it 20170624 18:16:50< zookeeper> too bad it doesn't compile out-of-the-box. 20170624 18:20:30-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Ping timeout: 255 seconds] 20170624 18:21:17-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Quit: Leaving.] 20170624 18:21:31-!- boucman [~rosen@wesnoth/developer/boucman] has joined #wesnoth-dev 20170624 18:52:18-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20170624 18:55:14-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170624 18:55:27-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170624 18:56:27-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has quit [Ping timeout: 240 seconds] 20170624 18:57:33-!- aeth [~Michael@wesnoth/umc-dev/developer/aethaeryn] has joined #wesnoth-dev 20170624 19:10:19< zookeeper> great, so i manage to get zopfli to compile and to actually hack it to (probably) always produce 32-bit output, and only then i realize it's not _zopflipng_, it's just some library'ish blob that doesn't seem to do anything useful on its own 20170624 19:10:45< zookeeper> i mean it runs but all i can do is to make it wrap an input image in a gz :p 20170624 19:11:44< zookeeper> there is a zopflipng in there too, but it produces a much bigger wall of compile errors 20170624 19:14:30< zookeeper> ah, reading the readme helped 20170624 19:14:35< zookeeper> works, perfect 20170624 19:20:51< zookeeper> i almost feel like a real hacker 20170624 19:26:48-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170624 19:33:25< celticminstrel> Heh. 20170624 19:44:01-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170624 19:44:15-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170624 19:47:47-!- mjs-de [~mjs-de@x4e307129.dyn.telefonica.de] has joined #wesnoth-dev 20170624 19:51:39-!- irker568 [~irker@uruz.ai0867.net] has joined #wesnoth-dev 20170624 19:51:39< irker568> wesnoth: ln-zookeeper wesnoth:master 68ae0d0f0789 / data/core/images/ (86 files in 9 dirs): Converted to 32-bit all paletted unit/item images I recently committed https://github.com/wesnoth/wesnoth/commit/68ae0d0f07898b3445cbfaa169922b64b8eb99a5 20170624 19:54:34-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 20:00:45-!- vultraz_iOS [uid24821@wesnoth/developer/vultraz] has joined #wesnoth-dev 20170624 20:02:02< vultraz_iOS> zookeeper: why did you delete a whole bunch of images in your lasy cmmit? 20170624 20:02:50< zookeeper> Showing 86 changed files with 0 additions and 0 deletions 20170624 20:03:30< vultraz_iOS> oh i misread the diff 20170624 20:03:30< vultraz_iOS> sorry 20170624 20:03:34< vultraz_iOS> i just woke up a minute ago 20170624 20:04:05 * zookeeper employs bucket of cold water 20170624 20:05:36< vultraz_iOS> as for what coffee discovered, that is excellent 20170624 20:08:19< zookeeper> yes 20170624 20:08:49< vultraz_iOS> probably affect my work too 20170624 20:09:17-!- stikonas [~gentoo@wesnoth/translator/stikonas] has quit [Remote host closed the connection] 20170624 20:09:50-!- stikonas [~gentoo@wesnoth/translator/stikonas] has joined #wesnoth-dev 20170624 20:10:53< vultraz_iOS> for the record, https://github.com/wesnoth/wesnoth/issues/1563 is fixed on my a_r branch 20170624 20:13:28< vultraz_iOS> Very simple when you don't need to worry about specific locations to draw or undraw 20170624 20:13:44< vultraz_iOS> you just draw A L L T H E T H I N G S 20170624 20:14:18-!- horrowind [~Thunderbi@p2003008E6C0B2677964452FFFE0220ED.dip0.t-ipconnect.de] has joined #wesnoth-dev 20170624 20:14:31< DeFender1031> vultraz_iOS, does that mean that all the redraw finickiness that I was complaining about and described a pattern to fix will be moot in the AR branch? 20170624 20:15:06< DeFender1031> or is it still possible that there will be redraws being performed on frames where it shouldn't be? 20170624 20:15:52< vultraz_iOS> what was this? 20170624 20:17:05< celticminstrel> It's probably not moot in general, since AR probably won't be in 1.14. 20170624 20:17:36< celticminstrel> vultraz_iOS: He was describing criteria for when Wesnoth should automatically redraw the screen in Lua/WML API calls. 20170624 20:17:56< vultraz_iOS> ah 20170624 20:17:57< vultraz_iOS> that 20170624 20:18:10< vultraz_iOS> well, the screen is always redrawn now 20170624 20:18:14< celticminstrel> It may not be moot in AR, either... 20170624 20:18:25< vultraz_iOS> if the WML/Lua incorrectly flags a state change it won't register, though 20170624 20:18:42< celticminstrel> Do you cache the terrain, or draw it directly from the map data every frame? 20170624 20:18:58< vultraz_iOS> right now draw it from data every frame 20170624 20:19:02< vultraz_iOS> bit inefficient 20170624 20:19:06< vultraz_iOS> causes much shared_ptr overhead 20170624 20:19:13< celticminstrel> That's actually probably not wanted for other reasons, too. 20170624 20:19:26< celticminstrel> For example, if you place a unit with Lua, does it instantly show up? 20170624 20:19:40< vultraz_iOS> it shouldn't 20170624 20:19:45< celticminstrel> Okay, good. 20170624 20:20:04< celticminstrel> Sounds like what he described likely isn't moot then... 20170624 20:20:51< vultraz_iOS> still need to look at that code more, though 20170624 20:20:55< DeFender1031> yeah, sounds not moot. 20170624 20:21:00< vultraz_iOS> right now i'm still using the exclusive_unit_draw_requests_ thingy 20170624 20:21:20< vultraz_iOS> when is should be using a "give me all the units that exist right now" thingy 20170624 20:21:24< vultraz_iOS> just need to find it 20170624 20:22:16< DeFender1031> Basically, the rule I came up with is that automatic redraws should only be determined by what action comes NEXT (not by what action just happened) and that only if what comes next is some kind of pause in processing (delay, scroll, dialog, message, event end, etc.) should a redraw be automaticlly performed. 20170624 20:23:16< vultraz_iOS> Possibly not moot but also should possibly be easy to fix 20170624 20:23:37< vultraz_iOS> DeFender1031: that doesn't make much sense 20170624 20:27:13< zookeeper> i'd imagine that either you draw at fixed fps, or you only draw when something needs updating (according to some kind of animations queue or whatever). 20170624 20:29:56< vultraz_iOS> Fixed FPS is the way to go 20170624 20:30:06< vultraz_iOS> Though it's not actually drawing at that 20170624 20:30:28< vultraz_iOS> But yes, everything, every frame 20170624 20:31:07< vultraz_iOS> Keep in mind that just means "draw to screen". You can cache results (like I do in the GUI 2 canvas ) and just draw those textures 20170624 20:33:17< DeFender1031> vultraz_iOS, sure it does. 20170624 20:33:47< DeFender1031> The only time the screen should be updated is when the player is actually about to see it in its current state. 20170624 20:34:10< DeFender1031> Otherwise, you're performing extra updates and possibly flickering frames in and out that shouldn't actually be there. 20170624 20:34:59< DeFender1031> Oh, I missed an obvious one from my list, which is that the necessary redraws should obviously be performed during any animation. Obviously. 20170624 20:36:37< DeFender1031> vultraz_iOS, would you like to elaborate on why you think it doesn't make sense? 20170624 20:37:00< vultraz_iOS> Why should the next action be the determinate factor 20170624 20:40:11< DeFender1031> Because it's the next thing that happens which determines whether the screen is actually going to be seen in its current state. 20170624 20:40:17< DeFender1031> Or, let me clarify what I meant a bit. 20170624 20:40:23< DeFender1031> There are two stages. 20170624 20:40:44< DeFender1031> There are certain actions which don't change the screen at all, and therefore won't require a redraw. 20170624 20:41:03< DeFender1031> There are certain actions which to change the screen and thus will require a redraw. 20170624 20:41:12< DeFender1031> However, 20170624 20:41:22< DeFender1031> That redraw should not be performed immediately. 20170624 20:41:51< DeFender1031> That redraw should be held until the next point at which the execution of the current action becomes idle such that the screen actually becomes relevant. 20170624 20:42:41< DeFender1031> Essentially, a boolean of "need_redraw" which is set to true by any action which changes something visually and which is checked and reverted to false any time a screen delay occurs. 20170624 20:42:50< DeFender1031> Is that a bit clearer? 20170624 20:44:21< DeFender1031> vultraz_iOS, ^^^? 20170624 20:45:04< vultraz_iOS> Clearer, but not the method I'm going with 20170624 20:45:35< DeFender1031> Then you're likely going to still have flickers of incorrect frames that will piss off content creators. 20170624 20:45:37< celticminstrel> This issue may not actually be relevant for the area you're working in. 20170624 20:46:18< celticminstrel> But, I suppose we'll see. 20170624 20:47:44< zookeeper> DeFender1031, uh, how could drawing at fixed fps result in flickers of incorrect frames? 20170624 20:47:44< DeFender1031> vultraz_iOS, essentially, if you do anything other than what I just said, you'll end up with cases such as an [unstore_unit] followed by an [animate_unit]flag=teleport_in potentially flickering one frame of the unit standing there onscreen before teleporting in. That's NOT what you want. 20170624 20:47:54< DeFender1031> zookeeper, ^^^ that. 20170624 20:48:32< DeFender1031> 1.12 handled this mostly correctly, but I notice a lot of this happening in 1.13 20170624 20:49:06< zookeeper> well i wasn't assuming that drawing at fixed fps was going to mean drawing in between the [unstore_unit] and [animate_unit] 20170624 20:50:00< DeFender1031> zookeeper, it depends how it's set up. If the rendering code running at fixed FPS is in its own thread, then you end up with a race condition where it COULD trigger then, but won't do so consistently. 20170624 20:50:20< zookeeper> yeah but surely he's not going to try to separate rendering into another thread 20170624 20:50:26< DeFender1031> If, however, it's set up that it only triggers during some form of delay in processing, then it's already doing exactly what I said and there's no issue at all. 20170624 20:51:29< DeFender1031> Meaning, if the code is set up as "process wml actions and lua until there's no more active wml and lua to process, then render until we have more active wml and lua to process" then that's wonderful. 20170624 20:51:54< DeFender1031> if it's "process luan and wml simultaneously to reading the state and writing it to the screen" then that's terrible. 20170624 20:52:00< DeFender1031> lua* 20170624 20:52:00-!- Kwandulin [~Kwandulin@p200300760F7CBA40B859D45F37008962.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer] 20170624 20:53:04< DeFender1031> to me, fixed fps implies a separate thread, because otherwise the processing time would stretch frames (which I'd argue is what you want here, but that hardly makes it "fixed fps") 20170624 20:53:24< vultraz_iOS> DeFender1031: the solution, then, is not to get all finnicky with the drawing code (which could be "paused", I suppose), the solution is to tweak the API 20170624 20:53:36< vultraz_iOS> and no, I can't run drawing in another thread 20170624 20:53:44< vultraz_iOS> for one, the rendering code isn't thread-safe 20170624 20:54:14< vultraz_iOS> SDL restriction, not ours 20170624 20:54:22< DeFender1031> I'd also point out that this delayed screen update approach is what all the modern browsers switched to. Back in the day, any DOM change you made would update the screen immediately. This proved innefficient, so modern browsers don't actually update the view until the current set of instructions has completed. 20170624 20:54:52< vultraz_iOS> we can figure it out 20170624 20:54:54< celticminstrel> Drawing at a fixed framerate probably wouldn't result in drawing between unstore_unit and animate_unit, because that's all in the middle of a frame. 20170624 20:55:02< DeFender1031> vultraz_iOS, okay, so then I imagine that you'd only be running rendering during a delay, dialog, animation, etc. and not during a WML action script? 20170624 20:55:33< DeFender1031> okay, you're looking at it the other way, that a wml action script would always occur "Between frames"? 20170624 20:55:34< celticminstrel> At best, drawing every frame will render that moot, because anytime there's a delay where the user can see the screen will coincide with a point where multiple frames are rendered. 20170624 20:55:54< celticminstrel> I think it would generally occur between frames, yes. 20170624 20:56:12< DeFender1031> fine, then we're on the same page, and what you're doing ought to fix the errors I've been seeing. 20170624 20:56:22< DeFender1031> oh wait, that's celmin talking, not vult. 20170624 20:56:27< celticminstrel> Or at least, most of the logic within the script would occur between frames. The script as a whole wouldn't. 20170624 20:56:31< DeFender1031> You guys are the same color in my client. 20170624 20:56:38< vultraz_iOS> If I stopped rendering while WML scripts ran you wouldn't see anything half the time :| 20170624 20:56:49< vultraz_iOS> DeFender1031: you and celmin are the same color on my client 20170624 20:56:52< vultraz_iOS> a C and a D :| 20170624 20:56:52< DeFender1031> vultraz_iOS, also not true. 20170624 20:57:01< DeFender1031> vultraz_iOS, huh? 20170624 20:57:22< vultraz_iOS> both of you have big purple avatars 20170624 20:57:24< celticminstrel> Well, you can't really render arbitrarily in the middle of the WML script, because the rendering code doesn't have control. 20170624 20:57:24< vultraz_iOS> a C and a D 20170624 20:57:33< DeFender1031> vultraz_iOS, hah. 20170624 20:57:56< DeFender1031> vultraz_iOS, "If I stopped rendering while WML scripts ran you wouldn't see anything half the time" there's a difference between active code, and code delays. 20170624 20:58:09< DeFender1031> rendering should not occur at all during active code. 20170624 20:58:20< DeFender1031> rendering should only occur during a code delay. 20170624 20:58:21< celticminstrel> When a script has control, you can't render anything anyway. 20170624 20:58:31< vultraz_iOS> rendering only occurs when events::pump is called anyway 20170624 20:58:33< DeFender1031> celticminstrel, again, depends how he's setting it up. 20170624 20:58:36< celticminstrel> Unless the script intentionally gives control to the engine (and renderer). 20170624 20:58:57< celticminstrel> Well, I suppose if you were rendering in a separate thread or something, sure, but Wesnoth doesn't do that. 20170624 20:59:04< vultraz_iOS> for the game, that means the gameloop 20170624 20:59:05< DeFender1031> vultraz_iOS, okay, and all i'm saying is that events::pump should only ever happen during an animation, dialog, delay, etc. 20170624 20:59:15< vultraz_iOS> no... 20170624 20:59:24< DeFender1031> vultraz_iOS, and never after an unstore_unit. 20170624 20:59:24< vultraz_iOS> it happens at the start of the gameloop :| 20170624 20:59:40< DeFender1031> (unless the next thing is one of the above) 20170624 20:59:44< celticminstrel> But when is control returned to the game loop? 20170624 20:59:53< DeFender1031> but whe- yeah.. 20170624 20:59:53< celticminstrel> Supposing a WML/Lua script is called. 20170624 20:59:57< vultraz_iOS> when the action is complete I assume 20170624 21:00:09< celticminstrel> Well then, that would imply there's no rendering during a script. 20170624 21:00:19< DeFender1031> vultraz_iOS, well the action isn't complete during a delay, is it? 20170624 21:00:34< vultraz_iOS> i have no idea 20170624 21:00:37< vultraz_iOS> we'll have to see :| 20170624 21:00:38< celticminstrel> BTW, can you interact during a delay like you can during animations? 20170624 21:00:39< DeFender1031> there are still more actions after a [delay] 20170624 21:00:48< DeFender1031> but rendering SHOULD happen during that. 20170624 21:00:51< vultraz_iOS> i can't guarantee anything right now 20170624 21:00:53< celticminstrel> Yeah. 20170624 21:01:12< celticminstrel> I'll likely still look at this at some point in the future, but not sure to what extent it's needed in the AR branch. 20170624 21:01:56< matthiaskrgr> zookeeper: if you want, I can make a woptipng crush run and do a pull request on GH 20170624 21:02:02< DeFender1031> essentially, all i'm saying is that a script queue (for lack of a better term) should always be ensured to happen as a unit, without any rendering bisecting the complete queue. A queue would be any set of WML or lua which does not trigger a delay, animation, dialog, etc. 20170624 21:02:49< celticminstrel> matthiaskrgr: I think I'd suggest waiting for RC first. 20170624 21:03:06< matthiaskrgr> ok 20170624 21:03:23< DeFender1031> so that a series of 100 actions which don't actually cause any sort of timed or interacted delay in execution would never have frames rendered in the middle. 20170624 21:03:26< zookeeper> matthiaskrgr, if it will spot all paletted images and convert them to 32-bit, then maybe 20170624 21:03:29< DeFender1031> that's the only point i'm trying to make. 20170624 21:03:45< matthiaskrgr> 32 bit? 20170624 21:04:46< zookeeper> yeah, the thing we discussed a few hours ago? :P 20170624 21:05:47< vultraz_iOS> DeFender1031: so, what, terrains should freeze? idle animations should freeze? 20170624 21:06:14< DeFender1031> during a script that's actively processing with no breaks? absolutely. 20170624 21:06:23< matthiaskrgr> zookeeper: maybe git ls-files | grep "\.png$" | xargs file | grep "colormap" ? 20170624 21:06:46< matthiaskrgr> so you want to depaletteize the images, right? 20170624 21:06:49< DeFender1031> vultraz_iOS, remember, during active processing, the amount of time taken should be negligible. 20170624 21:07:02< zookeeper> matthiaskrgr, yes. or at least any images which actually have some alpha. 20170624 21:07:07< DeFender1031> and if someone DOES have an event script that is taking long enough to create lag, that's a problem in any event. 20170624 21:07:10< matthiaskrgr> hm 20170624 21:07:14< vultraz_iOS> oh don't count on he-who-must-not-be-named doing some bullshit with WML and making everything freeze 20170624 21:07:17< matthiaskrgr> ye old SDL bug ? :) 20170624 21:07:22< matthiaskrgr> *the 20170624 21:07:48< matthiaskrgr> so yeah, I think the command should work 20170624 21:07:50< DeFender1031> vultraz_iOS, yes, but that's on the author to correct. It's similar to long-running js scripts in browsers. 20170624 21:07:59< matthiaskrgr> 397 files 20170624 21:08:40< DeFender1031> Active processing, where each action is taking up only the time it takes for the processor to actually perform the event must be performed as a unit or else you end up with issues. 20170624 21:08:55< DeFender1031> It's one of the fundamentals of real-time programming. 20170624 21:09:19< vultraz_iOS> makes sense 20170624 21:09:45< vultraz_iOS> but again, i can't guarantee anything 20170624 21:09:58< zookeeper> matthiaskrgr, doesn't work for me. got a pastebin of the results? 20170624 21:10:01-!- deathisundead [~quassel@c-73-144-114-234.hsd1.mi.comcast.net] has joined #wesnoth-dev 20170624 21:10:01-!- deathisundead [~quassel@c-73-144-114-234.hsd1.mi.comcast.net] has quit [Changing host] 20170624 21:10:01-!- deathisundead [~quassel@unaffiliated/the-unforgiven/x-8713611] has joined #wesnoth-dev 20170624 21:10:02< vultraz_iOS> I'm struggling trying to figure out the logic of a camera controller with variable viewport :| 20170624 21:11:02< celticminstrel> zookeeper: Should you be able to teleport via a village that an ally is currently standing on? (By ally I mean another unit of the same side, not an allied side.) 20170624 21:11:05< vultraz_iOS> like 20170624 21:11:14< vultraz_iOS> if you press down a key, and event happens 20170624 21:11:32< DeFender1031> vultraz_iOS, and I totally accept the fact that as of now you can't guarantee anything. I'm just trying to get all of this across in the hopes that at whatever point you encounter code that will create a discrepancy in this area, you're armed with the tools necessary to make the right coding choices to avoid issues. 20170624 21:11:33< vultraz_iOS> but how do you make the view origin move smoothly while its down :| 20170624 21:12:02< zookeeper> celticminstrel, that's what [tunnel] pass_allied_units= is for, no? or do you just mean the core teleport ability? 20170624 21:12:10< celticminstrel> Core, yes. 20170624 21:12:13< zookeeper> hmh 20170624 21:12:30< vultraz_iOS> that's something I still struggle with in programming - making things happen constantly 20170624 21:12:49< zookeeper> celticminstrel, unsurprisingly, i'd lean towards "whichever way it's always worked in the past" 20170624 21:12:54< celticminstrel> Does it currently allow it, then? 20170624 21:13:07< zookeeper> i don't know 20170624 21:13:10< celticminstrel> My memory suggests probably not, but I want to be sure... 20170624 21:13:18< zookeeper> but fine, i'll check 20170624 21:13:28< DeFender1031> celticminstrel, this reminds me of a similar conversation we had a while ago, where I said that IMO, essentially a teleport/tunnel should function exactly the same way as adjacent hexes, with the possible exception of being able to attack or ZOC through it. 20170624 21:13:31< vultraz_iOS> no reason not to change it 20170624 21:13:52< DeFender1031> vultraz_iOS, "that's something I still struggle with in programming - making things happen constantly" what do you mean? 20170624 21:14:39< vultraz_iOS> DeFender1031: making something constantly happen every t ms without using a loop that will stop everything 20170624 21:15:21< vultraz_iOS> the only way I've been able to figure out is via timer checks on draw events 20170624 21:15:39< matthiaskrgr> zookeeper: you're on linux, right? 20170624 21:15:47< matthiaskrgr> zookeeper: try this https://pastebin.com/K9ZEPixA 20170624 21:15:49< zookeeper> matthiaskrgr, windows 20170624 21:15:53< matthiaskrgr> aaah :(/ 20170624 21:18:02< DeFender1031> vultraz_iOS, you've never had a formal real-time programming class, have you? 20170624 21:18:09< zookeeper> celticminstrel, okay, so in 1.10 you can't teleport through another unit (whether it's on the source or destination) 20170624 21:18:33< DeFender1031> vultraz_iOS, (i hope that conveyed my tone correctly. No judgement here, just informational.) 20170624 21:19:05< zookeeper> celticminstrel, same behaviour in master 20170624 21:19:13< zookeeper> so nothing's changed, it seems 20170624 21:19:29< celticminstrel> Okay. I think that's actually because the filter explicitly excludes occupied spaces. 20170624 21:19:43< matthiaskrgr> ok, I made a branch now with the unpalettized images. 20170624 21:19:44< celticminstrel> And it still works that way in my PR, so that's good. 20170624 21:19:46< matthiaskrgr> 396 binary files changed 1407143 b (1 Mb) -> 3278154 b (3 Mb) => [+1871011 b (1 Mb)] 20170624 21:20:06< matthiaskrgr> https://github.com/matthiaskrgr/wesnoth/commit/51388cf0254471253edd5f9e3dc4e5fe5b9b43ec 20170624 21:21:31< vultraz_iOS> DeFender1031: no 20170624 21:24:33< DeFender1031> vultraz_iOS, the easiest way to do something that will happen consistently in real time without stopping everything else is by having that loop in its own thread. Even if SDL isn't thread-safe, so long as it's ONLY that thread that uses it and any thread-volatile components associated with it, it shouldn't be an issue. (Of course, if you do that, you'll run into the other issue I mentioned unless you set it up properly.) 20170624 21:24:52< zookeeper> matthiaskrgr, results seem to make sense, yeah... 20170624 21:25:18< matthiaskrgr> want a PR ? 20170624 21:25:19< DeFender1031> vultraz_iOS, another way would be to manage the timing yourself. Have a loop that checks if there's any processing to do, runs that processing, then renders one frame, then usleep()s for the appropriate amount of time. 20170624 21:26:08< zookeeper> matthiaskrgr, i'm... not sure. it seems overzealous to just make everything 32-bit. 20170624 21:26:24< zookeeper> i'd prefer to ponder on it a bit 20170624 21:28:21< zookeeper> i don't really even know what the problems in that one earlier zopflipng commit were. if it was only the alphamasks, and there's no problem with unit/terrain/etc images in general being paletted/24-bit/whatever, then there's no need to really enforce 32-bit. 20170624 21:28:30< DeFender1031> vultraz_iOS, With the latter approach though, you have to either be okay with whatever time the other processing is adding to each frame, or else account for it by grabbing the current nano- or micro- time and adjusting the subsequent sleep to account for it programmatically. This is a simple subtraction in theory, though you have to add a modulus for cases where the processing took more than one frame to complete. You would 20170624 21:28:32< DeFender1031> also typically account for dropped frames in that case as well. 20170624 21:28:38-!- mkdroid [~null@unaffiliated/matthiaskrgr] has joined #wesnoth-dev 20170624 21:29:18< zookeeper> turning the alphamask images to paletted produces some kind of rendering problems, but those are images used in special ways so it's possible that they're the only ones which might cause problems if made paletted 20170624 21:29:33< DeFender1031> vultraz_iOS, for wesnoth, though, I would recommend the single-thread approach and the being okay with processing adding some time to each frame, though I could hear the argument for the internal-adjustment approach as well. 20170624 21:30:43< DeFender1031> (The "other processing" I refer to, of course, includes the performing one of the action queues I mentioned before per loop.) 20170624 21:31:47< vultraz_iOS> there is SDL_AddTimer I suppose 20170624 21:32:37< vultraz_iOS> right now stuff like map scrolling is handled in play_sclice 20170624 21:32:50< vultraz_iOS> i dunno why, but it results in some massive jumps around the map on my branch 20170624 21:33:19< vultraz_iOS> since everything is so messy I'm trying to refactor things into a camera_controller class 20170624 21:33:44< DeFender1031> So that's the one thing here. I know nothing about OGL or SDL or any direct graphics controller stuff and what tools they might offer to make any of what I said easier. I have a lot of experience doing real-time programming, but none where the real-time operations being performed happen in terms of raw graphics. 20170624 21:33:54-!- Bonobo [~Bonobo@61.68.203.58] has joined #wesnoth-dev 20170624 21:34:04< DeFender1031> (Could tell you a heck of a lot about JS and the HTML DOM in terms of real-time programming though...) 20170624 21:34:12< vultraz_iOS> and I want the class to receive events so it can handle keydown/mousemotion/mousewheel 20170624 21:34:16< vultraz_iOS> that's easy 20170624 21:35:26< vultraz_iOS> but, ok, say you do a keydown event and it sets an is_scrolling flag 20170624 21:36:31< vultraz_iOS> do i then have to update the position every time before i do a draw? 20170624 21:36:53< vultraz_iOS> because this would basically only handle the manipulation of rects 20170624 21:37:22< vultraz_iOS> so you'd have your world rect and then camera/screen rect 20170624 21:37:49< matthiaskrgr> zookeeper: yes, we also ran into this problem in freedroid, in the end we identified the bad images and optimized the rest that was unaffected.. but it was only 3-4 images iirc 20170624 21:38:37< vultraz_iOS> right now scrolling is handled in the gameloop 20170624 21:38:41< vultraz_iOS> (play_slice) 20170624 21:39:04< vultraz_iOS> but since i have no guarantee the execution time i think that's why we have scrolling issues on a_r 20170624 21:39:32< DeFender1031> vultraz_iOS, ooh, tricky. 20170624 21:39:33< zookeeper> matthiaskrgr, yeah, i can't imagine there's any general problem with paletted images, seeing how i've made a whole lot of those including terrain imagery. so maybe my earlier unit/item image re-conversion was rather too hasty. 20170624 21:39:52< vultraz_iOS> also there's the problem that apparently the "proper" way to do world drawing is to assign objects world coordinates 20170624 21:39:53< celticminstrel> ... 20170624 21:40:07< celticminstrel> WHY the heck does WFL unit.side return the 0-indexed side!? 20170624 21:40:21< celticminstrel> Whose ridiculous idea was this! 20170624 21:40:32< DeFender1031> celticminstrel, just to screw with you. 20170624 21:40:45< vultraz_iOS> but things aren't assigned world coordinates 20170624 21:40:49< DeFender1031> vultraz_iOS, why is that a problem? the map has a clear coordinates system. 20170624 21:40:51< vultraz_iOS> they have screen coordinates, as far as I can tell 20170624 21:40:57< vultraz_iOS> in our code 20170624 21:41:04< zookeeper> celticminstrel, i'm sure you're about to check that with blame, so please do tell when you find out :> 20170624 21:41:11< vultraz_iOS> for example 20170624 21:41:12< vultraz_iOS> return static_cast(map_area().x + (loc.x + theme_.border().size) * hex_width() - xpos_); 20170624 21:41:28< DeFender1031> vultraz_iOS, well fine, it would mean that all the on-map objects would need to be transitioned to use world coordinates rather than screen coordinates. 20170624 21:41:50< vultraz_iOS> yes, I think that's the "proper" method 20170624 21:41:59< vultraz_iOS> but that's tangential 20170624 21:42:08< vultraz_iOS> my problem is still consistent scroll rate for the camera 20170624 21:42:34< celticminstrel> Ugh, and it doesn't look like I can actually change it either... :| 20170624 21:43:03< DeFender1031> vultraz_iOS, I actually dealt with an extremely similar issue in JS a few weeks back, where you have some stuff based on the position relative to the parent, some stuff based on the position relative to the entire document, and some stuff based on the coordinates relative to the top left of the viewport, and you sometimes need to convert between them. 20170624 21:43:19-!- mkdroid [~null@unaffiliated/matthiaskrgr] has quit [Remote host closed the connection] 20170624 21:43:24< vultraz_iOS> and what if i want easings ! 20170624 21:43:25< DeFender1031> (Similar to the world-coord vs. screen-coord, not the scroll rate.) 20170624 21:43:39< vultraz_iOS> i mean, the game already handles that for scroll-to-hex, yes 20170624 21:43:52< zookeeper> celticminstrel, no way to grep for existing occurrences? 20170624 21:44:03< celticminstrel> I just did that. 20170624 21:44:22< zookeeper> so... why can't you change it? 20170624 21:44:37< celticminstrel> The side is used to index arrays in some of the FormulaAI functions, so changing it means adding a -1 to all those uses. 20170624 21:44:45< celticminstrel> ^FormulaAI files 20170624 21:44:45< zookeeper> urgh 20170624 21:45:10< celticminstrel> I haven't yet tried grepping for it in WML files, but I don't expect there's much there. 20170624 21:45:10< DeFender1031> vultraz_iOS, if I understand correctly, the scroll issue is that if a scroll key is released during an event processing, it may continue to scroll for several frames past when it was released if the processing goes long? 20170624 21:45:35< celticminstrel> Oh, hmm, maybe I could change those arrays to maps and have it Just Work... 20170624 21:45:48< vultraz_iOS> no the problem right now with the existing code is it will jump to the other side of the map super fast 20170624 21:45:51< vultraz_iOS> instantly 20170624 21:46:50< celticminstrel> "bwaresiak" changed it from returning side() to returning side()-1 9 years ago. 20170624 21:46:56< DeFender1031> vultraz_iOS, oh... is it possible that your scroll-per-frame rate is just too high? 20170624 21:47:58< DeFender1031> celticminstrel, so likely it's being used that way in ways that just changing it back would break things for people... :/ 20170624 21:48:23< vultraz_iOS> break ALL THE THINGS 20170624 21:48:28< vultraz_iOS> break break break break break 20170624 21:48:38< DeFender1031> CURSE YOU "BWARESIAK" WHOEVVER YOU AAAAAAAAAAARRRRRRRRRREEEEEEEEE!!!!!!!! 20170624 21:49:08< celticminstrel> The commit message doesn't even give an explanation for it. :/ 20170624 21:49:21< celticminstrel> I'm tempted to change it anyway, if I can go through and fix all the uses of it... 20170624 21:50:11< zookeeper> which commit was it? 20170624 21:50:40< DeFender1031> celticminstrel, is it not used in any add-ons? 20170624 21:50:56< DeFender1031> or are you just okay with that being a version change? 20170624 21:51:40-!- celmin [461b1c1c@gateway/web/freenode/ip.70.27.28.28] has joined #wesnoth-dev 20170624 21:51:51< celmin> zookeeper: Commit d41f4934d52f770143236fac7c761e3543c814a9 20170624 21:52:11< celmin> DeFender1031: I haven't checked whether it's used in any addons, however... 20170624 21:52:42< DeFender1031> celmin, then wouldn't that potentially break add-ons? 20170624 21:52:49< zookeeper> i can check if you can give me the grep spell 20170624 21:52:54< celmin> 1) To my knowledge, FormulaAI is not used that much these days; I don't have any solid evidence behind this, but at the very least, I believe mattsc has typically recommended using Lua instead. 20170624 21:53:25< celmin> 2) To some extent, I think I can fix it so that some formulas still work despite the change. 20170624 21:53:45< celmin> Of course, a formula that only compares sides (ie, with = != <= >=) would still work. 20170624 21:53:59< celmin> And if I turn the arrays into maps with numeric keys, using side to index them would still work, too. 20170624 21:54:32< zookeeper> oh, it was dragonking. 20170624 21:54:48< celmin> zookeeper: I have two grep "spells", the first is: git grep "[^a-zA-Z0-9_]side[^a-zA-Z0-9_]" *.fai *.wfl 20170624 21:55:07< celmin> Oh, right, that's for git. 20170624 21:56:03< celmin> So you'd need grep -r "..." and somehow only include *.fai files. Not sure how to do that, will look it up in a minute. 20170624 21:56:22< zookeeper> those wouldn't appear in .cfg files? 20170624 21:56:45< celmin> I think they could actually, but that pattern will give hundreds of false matches in .cfg files. 20170624 21:56:54< celmin> (It matches [side] tags, for example.) 20170624 21:57:42< DeFender1031> aren't there some .cfg vaues that are also WFL though? 20170624 21:57:45< celmin> This pattern MAY work: "[^a-zA-Z0-9_/\[\]]side[^a-zA-Z0-9_=\[\]]" 20170624 21:57:50< celmin> DeFender1031: Yes, there are. 20170624 21:58:14< DeFender1031> so wouldn't those need to be checked? Or are the sides not available in any of those contexts anyway? 20170624 21:58:16< celmin> (That pattern attempts to eliminate the bulk of false positives, which are WML keys and tags.) 20170624 21:58:25< celmin> DeFender1031: They could be available. 20170624 21:59:02< zookeeper> so this whole thing only affects the kind of formulas that are hardly ever used anymore? doesn't sound like something that'd be important to fix, especially if it'd potentially break a lot of stuff 20170624 22:00:33< vultraz_iOS> break break break break break 20170624 22:01:09< zookeeper> vultraz_iOS, it's only funny if people know you're not serious :p 20170624 22:03:07< celmin> It's hard to find a pattern that doesn't match false positives... 20170624 22:03:16< DeFender1031> zookeeper, are you kidding? It's HILARIOUS if people think he's serious. 20170624 22:03:18< zookeeper> "unit.side" appears in a .fai file in exactly two 1.12 add-ons, that's it. 20170624 22:03:36< celmin> zookeeper: What's the context? 20170624 22:03:59< zookeeper> 'unit', index_of(unit.side, enemies) != -1 and unit.abilities 20170624 22:04:32< celmin> ... 20170624 22:04:33< zookeeper> i just lazily grepped for "side" in *.fai and *.wfl files 20170624 22:04:42< celmin> Okay, that just makes it worse. 20170624 22:04:50< celmin> ...or wait. 20170624 22:04:52< zookeeper> (what does?) 20170624 22:05:04< celmin> Maybe not, because it's looking in enemies... 20170624 22:06:26-!- Duthlet [~Duthlet@dslb-178-012-099-028.178.012.pools.vodafone-ip.de] has quit [Quit: leaving] 20170624 22:06:32< celmin> Okay, yeah, that particular case would still work if I changed this. 20170624 22:06:49< celmin> Did you find any other matches that weren't "unit.side"? 20170624 22:07:10< zookeeper> no 20170624 22:07:36< zookeeper> i also checked for "(unit.side" in .cfg files, and all the results seem to be lua 20170624 22:08:32< zookeeper> but if this is something that practically no one is using, surely better to just let it be 20170624 22:09:04< celticminstrel> I don't really get your logic there. 20170624 22:09:17< celticminstrel> In any case, I need to use it for backstab. 20170624 22:09:43< celticminstrel> I mean, I suppose I can just drop a comment somewhere saying "for some reason unit.side gives the 0-based side index". 20170624 22:09:50< zookeeper> if you change it, you risk breaking something we've missed. if you don't change it, no one is inconvenienced because no one uses it anyway. but yeah if you actually need it for something then that's different. 20170624 22:15:51< zookeeper> but i tried a few other greppings for .cfg files and everything that comes up looks like lua to me 20170624 22:17:06< celticminstrel> Can you also grep for recruits_of_side and units_of_side? 20170624 22:17:59< DeFender1031> zookeeper, I think celmin meant "rarely used except by core stuff, which is mostly me doing it" 20170624 22:18:09< celticminstrel> XD What 20170624 22:18:19< celticminstrel> Do you use FormulaAI then? 20170624 22:18:33< celticminstrel> This only affects FormulaAI, not general WFL (eg filters). 20170624 22:18:46< celticminstrel> Which IIRC mattsc has taken to recommending against in favour of Lua. 20170624 22:18:55< celticminstrel> So it's likely not used a lot by now. 20170624 22:19:41< DeFender1031> celticminstrel, the "I" in that sentence was you, not me. 20170624 22:20:08< celticminstrel> You mean the "me"? 20170624 22:20:11< DeFender1031> yes. 20170624 22:20:17< zookeeper> celticminstrel, no matches that aren't obviously just WML variables 20170624 22:22:50< celmin> Alright. 20170624 22:25:44< celmin> zookeeper: What about villages_of_side? 20170624 22:28:31< zookeeper> none 20170624 22:29:36< celmin> There's also a calculate_map_ownership function, but that appears to be undocumented, so probably not something to worry about... 20170624 22:31:38< DeFender1031> people who use undocumented APIs should not be surprised when their code breaks. 20170624 22:33:57< DeFender1031> http://insanecoding.blogspot.co.il/2010/06/undocumented-apis.html 20170624 22:36:17< celticminstrel> Heh. 20170624 22:37:20< vultraz_iOS> zookeeper would disagree :P 20170624 22:37:53< celticminstrel> Not so sure about that... 20170624 22:41:13< zookeeper> if it's undocumented because someone forgot to do it, then yeah... 20170624 22:41:41-!- boucman [~rosen@wesnoth/developer/boucman] has quit [Remote host closed the connection] 20170624 22:42:34< zookeeper> or if there is no clear boundary between documented/undocumented/supported/unsupported 20170624 22:43:07< vultraz_iOS> see 20170624 22:44:04< DeFender1031> vote zookeeper 2020: "because real change... should just never happen." 20170624 22:44:14< DeFender1031> :P 20170624 22:45:15< zookeeper> i think that's a highly misguided interpretation :p 20170624 22:46:09< DeFender1031> an INTENTIONALLY highly misguided interpretation, for humorous effect. 20170624 22:50:41 * zookeeper knows silence is the key to humour 20170624 22:51:43-!- irker568 [~irker@uruz.ai0867.net] has quit [Quit: transmission timeout] 20170624 23:11:27-!- mjs-de [~mjs-de@x4e307129.dyn.telefonica.de] has quit [Remote host closed the connection] 20170624 23:24:44-!- Coffee_irc [~david@61.68.203.58] has joined #wesnoth-dev 20170624 23:26:02-!- zookeeper [~lmsnie@wesnoth/developer/zookeeper] has quit [Ping timeout: 268 seconds] 20170624 23:27:16< matthiaskrgr> zookeeper for the record, I just checked, woptipng should not do reduction to palette by default 20170624 23:27:23< matthiaskrgr> :| 20170624 23:50:42-!- horrowind [~Thunderbi@p2003008E6C0B2677964452FFFE0220ED.dip0.t-ipconnect.de] has quit [Quit: horrowind] --- Log closed Sun Jun 25 00:00:13 2017