Log for #openttd on 28th April 2018:
Times are UTC Toggle Colours
00:09:43  <Thedarkb-X40> Bleh, my ratings are plummeting because I can't keep up with the production of this iron mine.
00:49:48  *** Flygon has joined #openttd
01:14:02  *** HerzogDeXtEr has quit IRC
01:36:00  *** glx has quit IRC
01:40:04  *** Lap_op has quit IRC
02:04:15  *** tokai|noir has joined #openttd
02:04:15  *** ChanServ sets mode: +v tokai|noir
02:09:06  *** iSoSyS has joined #openttd
02:10:42  *** tokai has quit IRC
02:11:13  *** iSoSyS has quit IRC
02:20:30  *** tokai has joined #openttd
02:20:30  *** ChanServ sets mode: +v tokai
02:27:07  *** tokai|noir has quit IRC
02:28:41  *** tokai|noir has joined #openttd
02:28:41  *** ChanServ sets mode: +v tokai|noir
02:34:57  *** tokai has quit IRC
02:35:37  *** tokai has joined #openttd
02:35:37  *** ChanServ sets mode: +v tokai
02:37:07  *** tokai|noir has quit IRC
02:52:40  *** muffindrake2 has joined #openttd
02:54:32  *** muffindrake1 has quit IRC
03:01:56  *** ToffeeYogurtPots_ has quit IRC
03:02:31  *** ToffeeYogurtPots_ has joined #openttd
03:30:08  *** tokai|noir has joined #openttd
03:30:09  *** ChanServ sets mode: +v tokai|noir
03:37:02  *** tokai has quit IRC
03:38:07  *** tokai has joined #openttd
03:38:07  *** ChanServ sets mode: +v tokai
03:40:42  *** tokai|noir has quit IRC
03:46:32  *** tokai has quit IRC
03:50:05  *** tokai has joined #openttd
03:50:05  *** ChanServ sets mode: +v tokai
03:59:47  *** tokai|noir has joined #openttd
03:59:47  *** ChanServ sets mode: +v tokai|noir
04:02:07  *** tokai has quit IRC
04:02:51  *** tokai has joined #openttd
04:02:51  *** ChanServ sets mode: +v tokai
04:09:37  *** tokai|noir has quit IRC
04:13:55  *** tokai|noir has joined #openttd
04:13:55  *** ChanServ sets mode: +v tokai|noir
04:17:02  *** tokai has quit IRC
04:17:14  *** tokai has joined #openttd
04:17:14  *** ChanServ sets mode: +v tokai
04:24:17  *** tokai|noir has quit IRC
04:28:12  *** Lap_op has joined #openttd
04:30:00  *** Lap_op has quit IRC
04:30:02  *** tokai has quit IRC
04:31:53  *** Thedarkb1-X40 has joined #openttd
04:31:57  *** Thedarkb1 has joined #openttd
04:33:02  *** tokai has joined #openttd
04:33:02  *** ChanServ sets mode: +v tokai
04:34:58  *** tokai|noir has joined #openttd
04:34:58  *** ChanServ sets mode: +v tokai|noir
04:38:27  *** Thedarkb-X40 has quit IRC
04:38:27  *** Thedarkb has quit IRC
04:41:52  *** tokai has quit IRC
04:44:58  *** tokai has joined #openttd
04:44:59  *** ChanServ sets mode: +v tokai
04:48:48  *** sla_ro|master has joined #openttd
04:51:12  *** tokai|noir has quit IRC
05:01:16  *** tokai|noir has joined #openttd
05:01:16  *** ChanServ sets mode: +v tokai|noir
05:07:42  *** tokai has quit IRC
05:09:22  *** tokai|noir has quit IRC
05:19:16  *** sim-al2 has quit IRC
05:23:04  *** sim-al2 has joined #openttd
05:50:06  *** sim-al2 is now known as Guest1149
05:50:07  *** sim-al2 has joined #openttd
05:54:07  *** Guest1149 has quit IRC
05:54:07  *** sim-al2 is now known as Guest1150
05:54:08  *** sim-al2 has joined #openttd
05:57:50  *** Wacko1976 has joined #openttd
05:58:08  *** sim-al2 is now known as Guest1151
05:58:09  *** sim-al2 has joined #openttd
05:58:12  *** Guest1150 has quit IRC
05:59:36  *** Progman has joined #openttd
06:02:12  *** Guest1151 has quit IRC
06:04:28  *** nielsm has joined #openttd
06:08:58  *** andythenorth has joined #openttd
06:09:02  <andythenorth> bonjour
06:10:31  <nielsm> g'morning
06:18:10  *** Cubey has quit IRC
06:47:22  *** gelignite has joined #openttd
06:57:00  <peter1138> mais oui
07:00:00  <peter1138> Hmm, it appears to be raining.
07:00:11  *** sim-al2 is now known as Guest1157
07:00:12  *** sim-al2 has joined #openttd
07:04:12  *** Guest1157 has quit IRC
07:05:42  <peter1138> Oh my, there's a VR model railway simulator.
07:06:53  <andythenorth> sprites complete: 61; incomplete: 122
07:06:59  <andythenorth> what does it all mean?
07:07:22  <andythenorth> 1/3 done I guess
07:26:17  *** HerzogDeXtEr has joined #openttd
07:42:26  <andythenorth> TrueBrain:
07:42:34  <andythenorth> where's the new OS X binary candidate? o_O
07:44:06  <peter1138>
07:44:23  <andythenorth> ta
07:46:19  *** FLHerne has joined #openttd
07:59:00  *** Pikka has joined #openttd
08:04:21  *** ipADblocker has joined #openttd
08:04:32  *** FLHerne has quit IRC
08:10:32  *** FLHerne has joined #openttd
08:11:02  *** nielsm has quit IRC
08:28:30  *** ipADblocker has quit IRC
08:28:57  *** Cybertinus has joined #openttd
08:29:16  *** ipADblocker has joined #openttd
08:29:24  <Cybertinus> good morning everybody
08:29:37  <peter1138> HELLO!
08:29:46  <Cybertinus> I just installed OpenTTD 1.8.0 on my Fedora laptop, but I can't get the music to play
08:30:04  <Cybertinus> I have downloaded OpenMFX and some other base sets
08:30:19  <peter1138> Yeah, music needs Timidity by default
08:30:38  <Cybertinus> ok
08:30:53  <Cybertinus> that's something I need to install on my computer or is that an ingame download?
08:31:26  <peter1138> It's separate
08:31:41  <Cybertinus> ok
08:31:49  <Cybertinus> let me check, thanks for the point
08:31:50  <Cybertinus> er
08:32:24  <peter1138> Should be packaged by Fedora.
08:32:33  <Cybertinus> yeah
08:32:42  <Cybertinus> running sudo dnf install timidity++ now :)
08:33:47  <peter1138> Duke Nukum Forever!
08:33:58  <Cybertinus> haha
08:35:22  <Cybertinus> ok, I got music now!
08:35:23  <Cybertinus> thnx
08:35:41  <Cybertinus> it only plays via the laptop speakers, not via the speakers I've got hooked up to my docking station :p
08:36:09  <peter1138> Hmm
08:36:23  <peter1138> If it's all on defaults then it should be using pulseaudio.
08:37:43  <peter1138> Maybe timidity doesn't use pa by default.
08:38:10  <Cybertinus> maybe, yes. I'm diving into the timidity settings now
08:40:30  <andythenorth> hmm
08:40:35  <andythenorth> ok the OS X build is pretty fucked
08:41:13  <andythenorth> I need to test it on a mac that's not also fucked though
08:41:37  <andythenorth> our 10.13 machine has an expanding battery that causes the trackpad to not accept clicks
08:41:45  <peter1138> o_O
08:41:53  <peter1138> Other people reported it works better.
08:41:59  <peter1138> Good ol' Macs.
08:43:01  <andythenorth> so far, GS is crashing, the cursor is locked to left of game viewport, and it's crashed (looks like fonts, again)
08:43:11  <andythenorth> these might not be specific to this new build
08:43:32  <andythenorth> cursor artefacts are gone though :)
08:44:00  <andythenorth> so I need to test with a mouse
08:44:02  <andythenorth> on my mac
08:44:07  <andythenorth> but...USB-C innit :P
08:45:56  <peter1138> GS is crashing how?
08:47:31  <andythenorth> specific to Busy Bee
08:47:48  <andythenorth> I will look more later, child A is busy playing right now
08:48:04  <andythenorth> it's like having a chaos monkey
08:50:53  *** ipADblocker has quit IRC
08:57:05  <Cybertinus> ok, I "fixed" my issue
08:57:37  <Cybertinus> I've disabled the music in the game, and I just start VLC with all the files in the ~/.openttd/content_download/baseset/openmfx* as a playlist :p
09:06:05  *** tokai has joined #openttd
09:06:05  *** ChanServ sets mode: +v tokai
09:09:01  <peter1138> :p
09:09:03  *** synchris has joined #openttd
09:09:23  <peter1138> This is why we need a built-in synth :S
09:09:30  <TrueBrain> w00p, I compiled strgen! :)
09:10:46  <peter1138> Hmm, wasn't there a libtimidity driver?
09:11:30  *** Wacko1976_ has joined #openttd
09:11:55  <peter1138> Ah, but libtimidity isn't packaged it seems.
09:15:02  <peter1138> Urgh, auto-hell.
09:15:31  <peter1138> There's a, can't remember how to bootstrap it.
09:17:29  <peter1138>
09:17:36  <peter1138> Yeah, that "simple" sequence of commands.
09:17:47  *** Wacko1976 has quit IRC
09:18:11  <TrueBrain> so strgen doesn't use the basename of the language file .. wuth?!
09:18:17  <TrueBrain> strgen is a bit weird :D
09:18:26  <peter1138> Oh?
09:18:39  <TrueBrain> I give it a -s and -d, so I expect I can do 'dutch.txt' next
09:18:49  <TrueBrain> but it has to be a valid path from your working directory
09:18:53  <TrueBrain> so I make it src/lang/dutch.txt
09:19:02  <TrueBrain> now it wants to create the file DEST_FOLDER/src/lang/dutch.lang
09:19:21  <TrueBrain> but my SOURCE_DIR is also set ... so it does find english.txt
09:19:25  <TrueBrain> this is weird :P
09:19:28  <peter1138> Hm
09:21:25  <TrueBrain> so I will set the working directory :P
09:21:55  <TrueBrain> why does compiling english.lng give so many warnings? :D
09:22:55  *** D-HUND is now known as debdog
09:23:21  <peter1138> It doesn't.
09:24:35  <TrueBrain> param STRING doesnt match STRING2
09:24:38  <TrueBrain> the usual
09:25:42  <peter1138> No, none of that.
09:25:51  <TrueBrain> ah, why my folder stuff crashes and burns, is because of / in path on Windows
09:25:57  <TrueBrain> well, a mix of / and \ :)
09:26:17  <TrueBrain> guess that is also why it doesnt see it is doing english.txt
09:26:21  <TrueBrain> and gives warnings
09:26:27  <TrueBrain> (as english.txt has different validation)
09:26:31  <peter1138> Yeah
09:30:27  *** gelignite has quit IRC
09:30:37  *** tycoondemon has quit IRC
09:30:44  <TrueBrain> so yeah ... despite the fact that / works in paths these days, our code says: Windows? \ it is!
09:30:51  <peter1138> :)
09:31:47  <TrueBrain> okay, so only the last parameter has this issue; so TO_NATIVE_PATH it is :)
09:32:44  <Thedarkb1-X40> How do I turn off the vehicle is losing money thing?
09:32:55  <Thedarkb1-X40> I have some ships that only make money every two years.
09:32:56  <TrueBrain> thing?
09:33:01  <Thedarkb1-X40> Message
09:34:14  *** debdog has quit IRC
09:34:35  *** tokai|noir has joined #openttd
09:34:35  *** ChanServ sets mode: +v tokai|noir
09:34:57  <peter1138> Go into settings, search for "profit"
09:35:06  <peter1138> "Warn if a vehicle's income is negative"
09:37:55  *** debdog has joined #openttd
09:37:57  *** Thedarkb1 has quit IRC
09:38:22  <Thedarkb1-X40> Thanks
09:40:35  <Cybertinus> there was also some window where you could define what messages you see and which you don't? And there you could also select if you want the message to pop out of the statusbar, or if it was just a scrolling messge
09:40:36  <Cybertinus> right?
09:40:57  <peter1138> Yes, that got moved to settings as well.
09:41:02  *** tokai has quit IRC
09:41:04  <peter1138> Filter for "news"
09:41:23  <Cybertinus> ok, didn't know that. Haven't played OpenTTD for a few years now :)
09:44:04  <TrueBrain> yippie, all languages are now compiled \o/ :D
09:46:47  *** frosch123 has joined #openttd
09:53:00  <peter1138> Oops, started too early for RVs. Doing a cargodist feeder system is out of the question then :p
10:01:30  <peter1138> Hmm, weird that the cargo flow legend lets you spy on other companies.
10:01:43  <peter1138> I suppose you can see all their orders anyway.
10:04:07  <andythenorth> add Hog :P
10:04:15  <andythenorth> you can add newgrfs to a running game, right :P
10:04:17  <Thedarkb1-X40> What's the most efficient way of joining two double tracked lines perpendicular to each other?
10:06:28  <peter1138> andythenorth, no it's illegal.
10:11:31  <Rubidium> Thedarkb1-X40: probably something like but have a look at the other junctions
10:12:15  <Thedarkb1-X40> Thanks
10:12:17  <Rubidium> Thedarkb1-X40: at least look for ones with split-before-merge being yes
10:12:39  <peter1138> I just use signals.
10:12:45  <peter1138> And then they join.
10:13:01  <peter1138> It's "efficient" with regards to track and signals  ;)
10:14:54  <Thedarkb1-X40> Eh, slowdowns aren't a huge deal anyway.
10:16:42  *** Wacko1976_ has quit IRC
10:18:23  <andythenorth> this shape sucks to draw in pixels :)
10:18:58  *** Wormnest has joined #openttd
10:19:19  <TrueBrain> can we remove WINCE and PSP from OpenTTD? Not maintained, and I am unsure if any binaries have been produced in a long long long time for them :P
10:19:35  <andythenorth> I sold my PSP
10:19:37  <andythenorth> or gave it away
10:19:38  <andythenorth> so yes
10:19:49  <peter1138> WINCE is somewhat... ancient.
10:21:02  <peter1138> 9 PRs o_O
10:21:45  *** Wolf01 has joined #openttd
10:21:51  <andythenorth> is one of them group livery? o_O
10:21:54  <Wolf01> Moin
10:22:08  <peter1138> No. Nor is one NRT.
10:23:13  <andythenorth> if I move to github will people send me PRs containing sprites?
10:23:18  <andythenorth> as I am missing a few hundred
10:23:56  <Wolf01> I wonder if is possible to make the logitech quickcams to work on >=win7... my lego webcam requires win98-XP
10:23:58  <peter1138> You could send yourself PRs
10:24:18  <andythenorth> I do actually get sent sprites sometimes in devzone
10:24:20  <andythenorth> via tickets
10:24:31  <Thedarkb1-X40> WinCE Was replaced with windows mobile.
10:24:46  <Thedarkb1-X40> As far as I know it's still supported though.
10:25:47  <andythenorth> TrueBrain: the new OS X binary doesn't trigger the "32 bit is dead" warning from Apple :)
10:25:51  <Thedarkb1-X40> Last version of CE proper came out in 2013
10:26:11  <TrueBrain> andythenorth: good :)
10:26:11  <frosch123> andythenorth: maybe watch the factorio repo? yesterday they put the lua part of the game on github, which controls all the game balancing and stuff. while it is meant as source for modders, I also wonder whether people will submits PRs to change balancing :p
10:26:33  <andythenorth> :P
10:26:49  <peter1138> Right, I gotta make this patch bigger :p
10:27:03  *** gelignite has joined #openttd
10:30:44  <frosch123> he, i would not have expected V to have been on github for two years
10:32:45  <TrueBrain> okay .... we already have c++17 code in OpenTTD :D That took me by surprise :P
10:32:59  <LordAro> wut
10:33:00  <frosch123> fall-through :)
10:33:05  <LordAro> oh yeah
10:33:06  <frosch123> LordAro: your patch
10:33:11  <LordAro> lol
10:33:26  <TrueBrain> I hate you
10:33:28  <TrueBrain> :D
10:33:36  <LordAro> you too bae
10:33:51  <frosch123> iirc c++17 is not supported on the compilers we target
10:34:03  <frosch123> so, c++17 is optional. we want to target c++14
10:35:34  <TrueBrain> yeah .. so I just told CMake to target c++17 if available,and it will drop to c++14, c++11, etc if it cannot find it
10:35:44  <TrueBrain> going to put the low-bar on c++11 for now, but we can increase that to c++14 :)
10:35:48  <peter1138> So the CI needs to warn on it?
10:35:59  <peter1138> Or flat out just fail I guess.
10:36:30  <Wolf01> What are you revolutioning today?
10:36:31  <LordAro> there's not all that much in C++14
10:36:50  <LordAro> std::make_unique is probably the biggest
10:37:14  <frosch123> captures are the biggest :)
10:37:25  <frosch123> captures in c++11 are treacherous
10:37:55  <frosch123> but well, ottd does hardly use functors
10:38:11  <LordAro> true
10:38:18  <frosch123> hmm, ... actually... FOR_EACH_xxx
10:38:27  <frosch123> all the weird macros :p
10:39:03  <LordAro> would be good to get rid of those :p
10:39:26  <frosch123> well, they work, so no real benefit
10:40:11  <peter1138> Ugly though.
10:40:15  <TrueBrain> okay, cmake starts to work .. slowly .. table/settings.h next :) What is that about ...
10:42:51  <frosch123> i was against that :p
10:46:27  <TrueBrain> okay, that was easy enough :) Pfew :)
10:46:51  <TrueBrain> now for the parsing of source.list ... lol
10:47:10  <TrueBrain> the #ifs are not the issue .. the #else are :)
10:50:06  <peter1138> Yeah, what is that .ini thing all about?
10:52:12  *** som89 has joined #openttd
11:00:41  <peter1138> Hmm, I really can't come up with decent names for these scrolling methods...
11:00:59  <peter1138> "mouse moves the camera" "mouse moves the map"
11:01:37  <LordAro> s/camera/viewport/ ?
11:01:57  <peter1138> and which one is really reversed? heh
11:02:10  <frosch123> "Move map with LMB", "Move map with RMB", "Move map with RMB, mouse locked", "Move viewport with RMB, mouse locked"
11:02:26  <TrueBrain> hmm .. how about MorphOS and BeOS support?
11:02:31  <TrueBrain> is tokai|noir still maintaining those? :)
11:02:37  <TrueBrain> or was orudge doing BeOS?
11:02:51  <frosch123> TrueBrain: you forgot os/2
11:03:04  <TrueBrain> maybe we should have a new rule, that we only support targets which we have a Docker for to compile them with :)
11:03:05  <peter1138> frosch123, thanks
11:03:12  <peter1138> TrueBrain, good rule.
11:03:18  <TrueBrain> okay, parsing source.list was easier than I expected
11:03:27  <TrueBrain> simple state machines are simple
11:04:10  <TrueBrain> owh, it can be nested .. so I have to make a stack :D Okay, it is slightly more complicated :P
11:05:26  <peter1138> std::stack
11:05:33  <peter1138> Oh, right, not C++ code :p
11:08:29  <TrueBrain> owh, no, not a stack, I need a depth indicator .. I wrote this before I remembered ..
11:08:32  <TrueBrain> and I did :P
11:08:45  <TrueBrain> while doing this, I was like ... I have thought about this before, haven't I?  10 years ago ...
11:08:47  <TrueBrain> lol
11:09:13  <peter1138> Happens with my patches too ;p
11:09:21  <TrueBrain> just mine are in the codebase
11:09:26  <TrueBrain> :P
11:09:53  *** Wacko1976 has joined #openttd
11:15:45  <peter1138> Committing patches is overrated.
11:19:19  <tokai|noir> TrueBrain: No.
11:21:32  <TrueBrain> oeh, you are not only lurking :D
11:25:26  <tokai|noir> TrueBrain: Oh... but I am lurking. :)
11:29:39  <TrueBrain> :D
11:29:55  <TrueBrain> right, some time later, I finally got my source.list parser to work :)
11:30:17  *** tokai has joined #openttd
11:30:17  *** ChanServ sets mode: +v tokai
11:32:05  <TrueBrain> and now it is missing _openttd_revision etc :)
11:32:09  <TrueBrain> expected-ish
11:36:57  *** tokai|noir has quit IRC
11:47:32  <peter1138> Hmm
11:47:45  <andythenorth> my offsets are all wrong eh
11:51:41  *** tycoondemon has joined #openttd
11:52:27  <_dp_> thinking on that clone PR had a idea that having some kind of a "clone this vehicle in same depot it was built in" button is probably a good idea
11:53:12  <TrueBrain> I .... just build an openttd.exe via cmake :D
11:53:26  <TrueBrain> _dp_: MORE BUTTONS IN THE UI :P
11:53:40  <frosch123> what? .exe :o
11:53:40  <_dp_> TrueBrain, more hotkeys :p
11:53:57  <TrueBrain> frosch123: yes, I was doing it on Windows with MSVC as compiler
11:54:01  <frosch123> _dp_: then you also need buttons to "assign home depot" and more
11:54:03  <TrueBrain> and it really works ....
11:54:26  <TrueBrain> starting gives some errors because I did not do everything yet to make the bin folder correct :D
11:54:35  <_dp_> frosch123, not rly but I guess makes sense for completion of interface
11:54:50  <_dp_> frosch123, It's more of a route thing actually, add a vehicle to a route
11:55:12  <_dp_> frosch123, just that OpenTTD doesn't have any concept of routes
11:55:48  <TrueBrain> okay, this is cool .. it even copied the correct dlls in the same folder :)
11:56:56  <peter1138> _dp_, you'd have to remember the depot. And then it if was removed...?
11:57:06  <TrueBrain> hmm .. failed to find a graphics set .. didnt it auto-download one?
11:57:23  <peter1138> missing networking?
11:57:26  <frosch123> yes, but only when gui
11:57:32  <peter1138> ar
11:57:40  <_dp_> peter1138, I know, I know, too many ifs
11:57:44  <TrueBrain> it is very possible that -DENABLE_NETWORK was  not set :)
11:57:46  <TrueBrain> good point peter1138 :)
11:57:48  <peter1138> Although would be nice if dedi servers can do that.
11:58:06  * andythenorth wonders how to fix the in-game sprite aligner
11:58:10  <TrueBrain> I didnt go through all the settings yet .. as it is a bit messy which exist :)D
11:58:16  <andythenorth> I never use it because the numbers bear no relation to the nfo/nml
11:58:30  <andythenorth> well...they must have some relation...but it's opaque
11:59:05  <_dp_> basically two things that annoys me in cloning that I constantly have to find depots and vehicles to clone
11:59:37  <_dp_> and sometimes I don't even care about either
11:59:41  <andythenorth> I clone in the depot
11:59:43  <andythenorth> but that's just me
11:59:53  <_dp_> like, plane crashed, fuck it, just make another one)
12:01:02  <peter1138> auto-clone :p
12:01:32  <_dp_> yeah, though it plane case I would also like auto-advertising
12:02:02  <Pikka> at that point, why not just turn plane crashes off?
12:02:36  <_dp_> Pikka, I think I did already, at least on some servers
12:02:46  *** tycoondemon has quit IRC
12:03:49  <andythenorth> hmm where's the sprite aligner in src :P
12:03:54  <andythenorth> it's probably just maths
12:07:28  <TrueBrain> meh; cmake 3.5 doesn't  know about c++17 yet, so it yells about it :P
12:07:42  *** tycoondemon has joined #openttd
12:09:32  <Wolf01> andythenorth: intereested?
12:09:44  <andythenorth> nah but thanks :)
12:10:16  <_dp_> it may not be a bad idea to introduce routes though. They already exist in form of shared orders so it won't change much, just a workflow a bit
12:10:33  <frosch123> merge groups and shared orders :p
12:10:54  <_dp_> frosch123, I've no idea what groups are even for :p
12:11:03  <frosch123> for routes :p
12:12:48  <TrueBrain> meh .. being c++11 for everything except 1 MSVC version is annoying :D
12:12:58  <Eddi|zuHause> replace groups by SQL queries :p
12:13:18  <andythenorth> you mean Squirrel?
12:13:20  <andythenorth> or SQL? :P
12:13:35  * andythenorth wonders about relational table for all vehicles
12:13:43  <andythenorth> embed sqlite
12:13:54  <andythenorth> it's not even a stupid idea
12:14:42  * _dp_ already has a relational tables for all players and companies
12:15:12  <_dp_> want no more of that :p
12:16:41  <TrueBrain> frosch123 / LordAro: gnu++11 or stdc++11?
12:16:43  <Eddi|zuHause> i don't think SQLite is going to cut it here, you need some crazy object-relational thing, because you consatnly need to update all the vehicles
12:16:57  <TrueBrain> frosch123 / LordAro: gnu++11 or c++11? (oops, std is not part of that)
12:17:05  <_dp_> may be nice setup for a coding game though, relational tables, programmed signals, etc...
12:18:02  <andythenorth> Eddi|zuHause: how about noSQL? o_O
12:18:11  <frosch123> TrueBrain: if it compiles, then no gnu extensions :)
12:18:37  <LordAro> ^
12:19:11  <Eddi|zuHause> andythenorth: i've never really understood what that is. but it sounds like the opposite of what's needed :p
12:19:24  <TrueBrain> k
12:19:34  <TrueBrain> so now how to fix MSVC2017 special c++17 case ...
12:19:34  <andythenorth> Eddi|zuHause: it's like a database, but you can't trust it
12:19:37  <andythenorth> but it's faster
12:19:46  <andythenorth> it's not canonical
12:19:54  <andythenorth> oh and it tends to break a lot in production
12:20:02  <andythenorth> due to being engineered by people who aren't database engineers
12:20:21  * andythenorth actually has limited experience, might be spreading FUD
12:21:18  <frosch123> andythenorth: use postgres foreign data wrappers to connect your nosql junk to sql
12:21:54  <frosch123> how about an admin port foreign data wrapper? :p
12:22:21  <_dp_> frosch123, no need to connect anything, just store stuff as json in postgres :p
12:22:53  <andythenorth> does that get us routes?
12:23:11  <andythenorth> and groups that are multi-dimensional but also hierarchical?
12:23:13  <TrueBrain> LordAro: would it hurt if we remove the c++17 statement? It is a real pita to get right ..
12:23:17  <frosch123> _dp_: everything in a single bytea blob?
12:23:46  <LordAro> TrueBrain: which?
12:23:52  <_dp_> andythenorth, was that even supposed to?
12:23:55  <TrueBrain> LordAro: fallthrough
12:24:13  <LordAro> how is it a pain? it'd be dead code, but i'm fairly sure it's that anyway?
12:24:14  <_dp_> frosch123, put sqlite db in postgres blob so you can sql while you sql
12:24:38  <TrueBrain> LordAro: the problem is, that we are c++11, except for 1 compiler on 1 version
12:24:46  <TrueBrain> making something generic for that is .. difficult :)
12:24:52  <LordAro> heh
12:24:52  <TrueBrain> (and a bit weird)
12:25:01  <LordAro> fine then :p
12:25:05  <TrueBrain> you get something like: # Only on MSVC2017+, we are c++17. On all other, we are c++11
12:25:06  <LordAro> wouldn't hurt anyway
12:25:17  <LordAro> probably
12:25:20  <TrueBrain> that on itself is not a real issue, but someone working on MSVC2017 won't see he did c++17
12:25:24  <TrueBrain> only when the CI starts yelling he does
12:25:27  <TrueBrain> feels kinda weird
12:25:36  <frosch123> i though msvc2017 barely implements c++14?
12:26:22  <TrueBrain> I really think OpenTTD should have 1 set for all its targets :) Means everyones assumption is the same, no matter which OS/Compiler you use :)
12:26:57  <TrueBrain> (as you set the standard for the whole project; not 1 file)
12:28:51  <LordAro> frosch123: last i checked msvc2017 implemented most of it
12:29:04  <andythenorth> _dp_: mumble mumble player feature requests
12:29:20  <andythenorth> and a long argument here once
12:29:23  <frosch123> LordAro: 14 or 17?
12:29:37  <LordAro> 14
12:31:20  <TrueBrain>
12:31:26  <TrueBrain> not nearly done yet
12:31:29  <TrueBrain> but .. its a start
12:31:46  <_dp_> how do I create nested groups or was that never merged?
12:32:10  <frosch123> dragging or so
12:33:00  <andythenorth> works fine
12:33:08  <_dp_> frosch123, oh, weird, I though I tried that
12:34:27  *** ToffeeYogurtPots_ has quit IRC
12:34:53  <LordAro> TrueBrain: that source.list parsing definitely needs separating into a function
12:35:07  <LordAro> or converting to proper preproc >:)
12:35:07  <andythenorth> there were some patches that fixed group counts iirc
12:35:08  <TrueBrain> so many stuff needs fixing
12:35:16  <andythenorth> there are some oddities with grops
12:35:20  <andythenorth> +u
12:35:43  <TrueBrain> but Visual Studio 2017 runs this file fine too :D
12:35:54  <frosch123> TrueBrain: you should decide whether you want to put blanks after "foreach", "if", "else" etc :p
12:36:17  <TrueBrain> frosch123: that decision has been made years ago
12:36:24  <frosch123> then follow it :)
12:36:29  *** Thedarkb1 has joined #openttd
12:36:44  <TrueBrain> I did; and if you spot a mistake, let me know. But this is not helping :)
12:36:48  <frosch123> anyway, i think that's the first cmake file i see, so no idea
12:37:39  <peter1138> foreach () endforeach() .hmm.
12:37:39  <frosch123> two matches for "else(", 3 matches for "foreach("
12:37:49  <TrueBrain> cmake is awesome :) I just have to learn it all the options we have ... will be a while :(
12:38:00  <TrueBrain> frosch123: so you found 5 mistakes in how many lines of code? Please :P
12:38:06  <LordAro> peter1138: it is not a pretty language
12:38:08  <peter1138> line 112 and 120 of  /CMakeLists.txt
12:38:25  <TrueBrain> cmake is very nice with endNNN .. it is always NNN / endNNN
12:38:37  <TrueBrain> and what I like most about if(), you have to repeast your statement in else and endif .. this is annoying, but avoids so many mistakes
12:38:47  <TrueBrain> there is quiet some thought behind it
12:38:54  <LordAro> TrueBrain: ah, but you don't
12:38:56  <LordAro> they can be empty
12:38:58  <peter1138> Hmm, anyway I guess CMakeLists doesn't need to follow our C++ standard, so whatever looks nicer.
12:40:13  <peter1138> Hmm, I guess I need an enum for this scrolling stuff. 0-3 is a big vague :p
12:40:59  <frosch123> TrueBrain: to be more annoying, sometimes you indent with 4 spaces, sometimes with 8
12:41:29  <TrueBrain> frosch123: that is CMake
12:41:34  <TrueBrain> and that is pretty consistent
12:41:43  <TrueBrain> well, you dont have to do that, but every sane CMakeLists.txt does that :)
12:41:57  <TrueBrain> 8 spaces for when you are still inside parameter definitions
12:42:00  <frosch123> 4 for if, 8 for wrapped parameters?
12:42:02  <TrueBrain> 4 for indenting
12:42:20  <TrueBrain> makes it a lot easier to spot what is what :) As things can get a bit insane
12:42:39  <TrueBrain> and I did that consistently, I see :)
12:43:16  <TrueBrain> what I really like about CMake, I tell in strgen that if you include openttd:languages, it should add a few include directories
12:43:28  <TrueBrain> so when you include it, things are fixed for you
12:43:39  <TrueBrain> so in 1 place you define everything, and all your users are supplied with the right info
12:43:42  <TrueBrain> so much easier
12:43:47  *** Alberth has joined #openttd
12:43:47  *** ChanServ sets mode: +o Alberth
12:43:57  <frosch123> o/
12:43:59  <TrueBrain> (same for the find_package stuff .. it even copies the dll files for you .. as those are defined in the package)
12:44:00  <Alberth> hi hi
12:44:07  <TrueBrain> morning Alberth
12:44:23  <TrueBrain> I do think I can remove include_directories(${ZLIB_INCLUDE_DIR}), as that should be part of target_link_libraries .. but not sure
12:45:12  <Alberth> compiling and linking are different things
12:46:01  <TrueBrain> different linking :)
12:46:15  <TrueBrain> target_link_libaries, links a library to a target
12:46:22  <TrueBrain> including all the target definitions he said
12:46:35  <Alberth> ok :)
12:46:36  <TrueBrain> (well, in CMake 2 it meant 'linking'in what you meant. In CMake 3 no longer)
12:46:46  <TrueBrain> misleading names being misleading, I guess :)
12:47:00  <Alberth> ah, how progress makes things simpler and easy :)
12:49:33  <TrueBrain> okay, you still need the include_directories :)
12:49:39  <TrueBrain> bit weird honestly .. but I guess that is what it is
12:50:30  <TrueBrain> what is annoying about cmake, that OFF, NO, FALSE, are all considered 'false'
12:50:41  <TrueBrain> so NO / ON is false / true
12:50:44  <TrueBrain> which is just WRONG
12:51:08  <LordAro> ah, you've got past the "cmake is so nice" phase :p
12:51:31  <TrueBrain> so in your opinion you either have to be 100% positive, or don't like something?
12:51:34  <TrueBrain> there is nothing in between?
12:51:44  <LordAro> ':p'
12:52:21  <APTX_> there is no "cmake is so nice" phase
12:53:22  <TrueBrain> we really have to prune our OS tree .. so much weird targets
12:53:31  <TrueBrain> what is this 'OSX'?!
12:53:58  <Alberth> something proprietary
13:01:08  *** ToffeeYogurtPots has joined #openttd
13:10:51  *** andythenorth has quit IRC
13:27:14  *** ToffeeYogurtPots has quit IRC
13:30:24  <peter1138> So
13:30:57  <peter1138> Do we need more CPU power for the CI? :p
13:31:05  <peter1138> Ah, just completed.
13:31:12  <peter1138> Such impatience.
13:33:16  <TrueBrain> yes
13:33:26  <TrueBrain> AWS still hasnt replied to any of my communication :(
13:33:38  <peter1138> Odd.
13:34:21  <LordAro> :(
13:37:49  <ZehMatt_> TrueBrain :)
13:38:42  <TrueBrain> not sure what that smile is for ... you happy we didn't get a reply yet? :s
13:38:51  <ZehMatt_> happy to see you
13:38:54  <ZehMatt_> :) :)
13:39:12  <TrueBrain> now I am just scared :(
13:39:41  <ZehMatt_> lol
13:40:20  <ZehMatt_> im wondering about
13:40:56  <TrueBrain> so am I
13:41:12  <TrueBrain> it shows more problems than it fixes .. problems that were always there, just hiding
13:41:20  <TrueBrain> we were talking about it yesterday .. seems this needs a bit more work
13:41:33  <ZehMatt_> so what are the problems
13:41:40  <TrueBrain> one of the bigger things that bother me, that now 2 functions handle something to do with realtime
13:41:44  <TrueBrain> that feels very weird
13:41:55  <ZehMatt_> how so
13:42:05  <ZehMatt_> its typical in games to have two time variables
13:42:10  <TrueBrain> not what I said :)
13:42:21  <TrueBrain> with your pathc, UpdateWindows and DrawWindows both track _real_tick
13:42:25  <TrueBrain> one at 100, one at 15
13:42:32  <TrueBrain> and I cannot see the reason why they are in 2 functions
13:42:45  <TrueBrain> feels more we have a TickWindows functions or something
13:43:03  <TrueBrain> so that made us wonder if we shouldnt have a RealTick() function in windows
13:43:32  <ZehMatt_> hm
13:44:06  <TrueBrain> all-in-all, I keep coming back that it feels like patching up something that is already broken
13:44:11  <TrueBrain> and I still have to look in the code myself
13:44:22  <ZehMatt_> most of the video drivers are a mess imho
13:44:23  <TrueBrain> it always has been weird btw
13:44:42  <TrueBrain> as basically with your patch you see a lot easier that many drivers dont have vsync or double buffer
13:44:45  <ZehMatt_> they do all the same more or less with minor differences
13:44:49  <TrueBrain> which is a very weir dcombination to have
13:45:16  <TrueBrain> and it is also weird that FastForward has anything to do with Window code
13:45:22  <TrueBrain> as .... FF should influence the game
13:45:25  <TrueBrain> not a Window
13:45:53  <ZehMatt_> well yes best case
13:46:20  <ZehMatt_> so what do you suggest
13:46:38  <TrueBrain> maybe frosch123 has some wisdom to share here; but I am tempted to say: lets not do this PR now, and lets go back and really look at UpdateWindows, and how it is used
13:47:11  <TrueBrain> your patch showed more issues than I have dear :)
13:47:40  <ZehMatt_> well apart from now liking how its done, from a technical point its the best viable option atm
13:47:46  <ZehMatt_> not*
13:47:58  <TrueBrain> what is the best viable option?
13:48:06  <ZehMatt_> unify the video drivers
13:48:10  <ZehMatt_> cleanup the whole thing
13:48:34  <LordAro> not a small amount of work
13:48:35  <TrueBrain> not sure that video drivers have to be unified to fix this messy stuff, but a good look at the Window code
13:48:52  <ZehMatt_> they all do more or less the same thing
13:48:53  <TrueBrain> and make functions responsible for one thing, and one thing only
13:49:04  <ZehMatt_> its a lot of duplicate code
13:49:10  <TrueBrain> yeah, but the problem we notices is not so much due to the video drivers; more what UpdateWindows does :D
13:49:17  <TrueBrain> but the video drivers need attention for sure too
13:49:24  <TrueBrain> as it is stupid that alt+enter keeps the resolution
13:49:31  <TrueBrain> I havent seen that in a game for ... 10+ years
13:49:39  <TrueBrain> go to the fucking native resolution, you silly
13:49:42  <ZehMatt_> lol
13:50:02  <TrueBrain> fullscreen borderless is defacto standard
13:50:06  <TrueBrain> but .... nope
13:50:19  <TrueBrain> so there is a lot more wrong with the video drivers :)
13:50:49  <ZehMatt_> ok so
13:51:09  <ZehMatt_> theres also OnHundredthTick()
13:51:28  <ZehMatt_> maybe windows update should only call window->Update()
13:51:29  <TrueBrain> which ticks on the RealTime, right?
13:51:37  <ZehMatt_> so it can decide all of flashing/highlightining what not internally
13:51:41  <TrueBrain> some windows do need a tick on a game-time tick
13:52:00  <TrueBrain> so I guess there should be 2 callbacks: RealTime, and GameTime
13:52:04  <TrueBrain> both which can be configured
13:52:08  <TrueBrain> and indeed, than locally shit can be done
13:52:10  <ZehMatt_> currently UpdateWindows runs per tick
13:52:12  <TrueBrain> instead of globally :P
13:52:16  <ZehMatt_> DrawWindows every frame
13:52:31  <TrueBrain> yes, and a Window has I believe a Tick callback
13:52:38  <ZehMatt_> hm
13:52:39  <TrueBrain> and OneHunderthTick callback (which is RealTime)
13:52:47  <ZehMatt_> i made that real tiem
13:52:51  <ZehMatt_> before it was ticks
13:53:00  <ZehMatt_> which is kinda misleading too
13:53:05  *** bwn has quit IRC
13:53:10  <TrueBrain> exactly
13:53:21  <ZehMatt_> wouldnt be a Tick function enough
13:53:36  <TrueBrain> I have been told some also do stuff with the game tick
13:53:39  <TrueBrain> but .. hearsay
13:54:32  <TrueBrain> if I read the current (master) code right, every millisecond UpdateWindows is called, or what ever comes closest (no delta or anything)
13:54:51  <TrueBrain> he calls ProcessScheduleInvalidation and ProcesSHighlightedInvalidation on every window
13:55:14  <TrueBrain> and calls OnHunderdthTick every 100 "milliseconds" (what-ever delta it had)
13:56:15  <TrueBrain> unless you press FF .. than it goes as quickly as it can
13:56:18  <TrueBrain> here I am losing it :P
13:56:23  <TrueBrain> why the fuck does FF have influence on this ..
13:56:25  <ZehMatt_> on win32_v it calls UpdateWindows per game tick (30ms)
13:56:47  <ZehMatt_> where do you see it being called each ms
13:56:55  <TrueBrain> owh, misleading define, you are right
13:57:47  <ZehMatt_> so its internal counter wants 15 ticks
13:57:50  <ZehMatt_> which is 15 * 30
13:57:51  <ZehMatt_> right?
13:58:05  <TrueBrain> so UpdateWindows has 2 tasks ... invalidate parts of the screen for window updates .. and call OnHunderdthTick every 100 game ticks
13:58:14  <ZehMatt_> yea
13:58:20  <ZehMatt_> im curious about who calls OnTic
13:58:23  <TrueBrain> if you mean with 15, the highlight, yes
13:58:24  <ZehMatt_> OnTick*
13:58:39  <TrueBrain> every 15 gameticks, the highlight cycles
13:58:51  <ZehMatt_> ah i see
13:58:57  <ZehMatt_> its somewhere else
13:59:37  <TrueBrain> and the 100th thing is used to force a redraw once so many game ticks
13:59:52  <ZehMatt_> hm
13:59:59  *** bwn has joined #openttd
14:00:19  <TrueBrain> so that should indeed be based on game ticks
14:00:19  <ZehMatt_> so he hundred tick event should be moved into the UpdateWindow function in my PR
14:00:26  <ZehMatt_> and it shouldn't be using realtime
14:00:30  <TrueBrain> and the highlight to the Draw :P
14:00:38  <TrueBrain> seems that way
14:00:39  <ZehMatt_> that highlight/flash whatever thing should be maybe dealt with different
14:01:17  <TrueBrain> than there is the OnTick callback
14:01:22  <TrueBrain> which is done in the StateGameLoop ..
14:01:31  <ZehMatt_> which is ran per tick
14:01:35  <ZehMatt_> from within GameLoop
14:01:39  <ZehMatt_> StateGameLoop etc
14:01:46  <TrueBrain> each game tick, yes
14:01:59  <frosch123> i believe both OnTick and OnHundredthTick assume realtime
14:02:08  <TrueBrain> OnTick is used for animation
14:02:16  <frosch123> they are both called when the game is paused
14:02:23  <ZehMatt_> i see
14:02:23  <TrueBrain> frosch123: 100th seems to be gametick related .. is for setting itself dirty
14:02:30  <frosch123> OnHundredthTick is used to update cpu-intensive lists
14:02:32  <TrueBrain> frosch123: for example to change the Y-axis
14:02:38  <ZehMatt_> also out of curisouty
14:02:49  <ZehMatt_> fast forward is shifting the num updates correct?
14:03:00  <TrueBrain> but OnTick is now in the game loop .. but seems to be for animation .. so in DrawWindow makes more sense?
14:03:14  <TrueBrain> "shifting the num updates" <- no clue what you said there, sorry :)
14:03:21  <ZehMatt_> originally the game went like
14:03:42  <ZehMatt_> numUpdates = (timeElapsed / ticks_per_sec) << speed;
14:03:50  <ZehMatt_> i guess you guys dont have that anymore
14:04:13  <TrueBrain> FF has been ,for as long as I can remember, do everything as fast as you possibly can
14:04:20  <TrueBrain> in other words: don't sleep
14:04:21  <TrueBrain> burn CPU
14:04:29  <ZehMatt_> i see, slightly different to orct2 then
14:04:31  *** sla_ro|master has quit IRC
14:04:34  <TrueBrain> I do not think it ever "just made the game faster"
14:04:36  <ZehMatt_> where its basically a timescale
14:04:51  <TrueBrain> don't confuse RCT too much with TT; they are a few years apart :)
14:04:54  <ZehMatt_> so the highlight delay could be simply increased by the scale
14:05:02  <TrueBrain> lot of stuff he did for RCT he never did for TT :P
14:05:05  <ZehMatt_> but not in this case
14:05:27  <TrueBrain> highlight delay should not be influenced by FF, in my opinion
14:05:30  <TrueBrain> it is just a visual gimmick
14:05:44  <ZehMatt_> yes but if your game would run 2x the speed
14:05:45  <TrueBrain> sure, it gives a cool feeling of LOOK HOW FAST MY GAME IS GOING :D
14:05:49  <ZehMatt_> you could say the highlight time needs 2x longer
14:05:55  <ZehMatt_> and it will always look the same
14:05:57  <ZehMatt_> in theory
14:05:59  <TrueBrain> no, you should talk about gameticks and realticks
14:06:04  <TrueBrain> not trying to map one on the other
14:06:07  <TrueBrain> that is what brought us in this mess :D
14:06:20  <ZehMatt_> using ticks is fine if you know how fast things are
14:06:32  <TrueBrain> no; ticks already have a resolution
14:06:35  <TrueBrain> it only gets messy
14:06:46  <TrueBrain> GUI stuff should have nothing to do with Game stuff
14:06:52  <TrueBrain> you should be able to thread them even
14:06:57  <TrueBrain> just with a mutex to exchange data
14:07:23  <ZehMatt_> ok let me break it down
14:07:33  <ZehMatt_> you want OnTick, OnHundredthTick realtime based
14:07:44  <ZehMatt_> altho OnTick currently is bound to the game loop
14:07:51  <ZehMatt_> which is 30ms between ticks
14:08:24  <TrueBrain> I am not sure 100th tick should be realtime; we have to look how it is used for that honestly
14:08:29  <TrueBrain> there might be 2 usages
14:08:31  <ZehMatt_> so essentially UpdateWindows and DrawWindow requires to be called every frame
14:08:35  <TrueBrain> for example, updating a signlist, is realtime
14:08:42  <TrueBrain> updating the y-axis of the graph, is gametime
14:09:23  <TrueBrain> and that is why I think the approach is wrong; splitting UpdateWindows is only showing the problem
14:09:40  <TrueBrain> I think we first have to start with the Window itself, and clean those up to make more clear what we want to be influenced by FF
14:09:53  <TrueBrain> for example, animation of a news article coming up (animation from the bottom)
14:09:58  <TrueBrain> should that be influenced by FF?
14:10:02  <ZehMatt_> you still need to know when those updates are called and from where I believe
14:10:34  <ZehMatt_> i think its important for the network part that the host isnt doing anything out of order where clients do it in a different spot
14:11:01  <TrueBrain> so is animation of a Window important? If that is different in speed, does anything break?
14:11:10  <TrueBrain> (between server and client)
14:11:13  <ZehMatt_> im not sure how you check desyncs
14:11:20  <ZehMatt_> in orct2 every active sprite is hashed
14:11:21  <TrueBrain> desyncs is about randomizers getting out of sync
14:11:23  <ZehMatt_> minus a few fields
14:11:42  <TrueBrain> there are 2 randomizers: one that should be in sync, and is game related
14:11:45  <ZehMatt_> it checks the prng state + sprites
14:11:48  <TrueBrain> and one that is used for everything else
14:11:57  <TrueBrain> (here too you see the 2 worlds; game-world, and the rest)
14:12:08  <ZehMatt_> i get how its done
14:12:16  <ZehMatt_> but i havent looked into how network events are handled
14:12:21  <TrueBrain> that is all there is to it
14:12:29  <ZehMatt_> in the current refactor I'm doing on orct2 none of the actions are executed immediately
14:12:33  <TrueBrain> the only important thing is that game-related stuff are handled in-order
14:12:50  <ZehMatt_> they are queued for the end of the update loop so clients will do the same regardless where the action is invoked from
14:12:52  <TrueBrain> (and for that to work, all network commands are always queued by 1 tick)
14:13:01  <TrueBrain> exactly; default trick
14:13:15  <TrueBrain> so that is not really relevant for our Window stuff :)
14:13:19  <TrueBrain> they do not influence the game state
14:13:34  <TrueBrain> so animation speed is irrelevant .. or at least should be :D
14:13:36  <ZehMatt_> goodie
14:13:42  <ZehMatt_> makes things much easier
14:13:46  <ZehMatt_> unlike orct2 :v
14:13:50  <TrueBrain> ghehe :)
14:14:00  <TrueBrain> OpenTTD had a lot of desync issues back in 2004
14:14:00  <ZehMatt_> well it never had mp honestly in the vanilla game
14:14:07  <TrueBrain> when rewriting the network, we changed it to a lock-step method
14:14:18  <TrueBrain> so client sends to server, server sends to all clients WHEN to execute it
14:14:31  <TrueBrain> and the WHEN is always at least current + 1
14:14:34  <TrueBrain> (can be more)
14:14:39  <TrueBrain> then server says: all step to N
14:14:47  <TrueBrain> (server is in control)
14:14:48  <ZehMatt_> not too different then
14:14:55  <ZehMatt_> clients cant go beyond host ticks
14:14:59  <TrueBrain> so if you click anything on a client, it takes at least 2 ticks before you see it execute
14:15:02  <ZehMatt_> actions are executed on a specific tick
14:15:24  <ZehMatt_> it just waits for the host to do it
14:15:28  <ZehMatt_> tells the client which tick
14:15:34  <ZehMatt_> and at tick N client(s) does it
14:15:41  <TrueBrain> so back to our current problem: most games talk about an FPS and UPS these days, for good reason
14:15:51  <TrueBrain> FPS is about the client rendering .. UPS about the gamestate
14:16:00  <peter1138> 10 PRs, gosh
14:16:04  <TrueBrain> if UPS takes 90% of my CPU time, do I care if my FPS drops to 10fps?
14:16:16  <TrueBrain> (currently they are locked; if FPS drops, UPS does, and other way around)
14:16:27  <TrueBrain> this is why you have a hard time quiting the game if you load a very big map
14:16:32  <TrueBrain> which is silly :P
14:16:42  <ZehMatt_> heh
14:16:49  <TrueBrain> I would like to lock my FPS to .. say .. at least 10?
14:16:52  <TrueBrain> and UPS can suffer more
14:17:04  <TrueBrain> but having both UPS and FPS at 1 ... makes some shitty gameplay :P
14:17:10  <peter1138> Hmm
14:17:20  <TrueBrain> (or 0.001) :P
14:17:33  <ZehMatt_> well yes
14:17:50  <peter1138> OnTick() should be game-tick based
14:17:56  <TrueBrain> peter1138: no
14:18:00  <peter1138> There should be an OnRealtimeTick() that is realtime backed.
14:18:02  <peter1138> based.
14:18:04  <TrueBrain> OnTick mostly handles shit like animation atm
14:18:29  <TrueBrain> I havent found an OnTick yet that does anything game-state related
14:18:30  <peter1138> Ok, scrap OnTick(), add OnGameTick() and OnRealtimeTick()
14:18:30  <ZehMatt_> arent animations based on ticks?
14:18:35  <peter1138> No ambiguity then.
14:18:39  <TrueBrain> peter1138: fine by me :P
14:18:40  <peter1138> Really? Hmm.
14:18:48  <TrueBrain> ZehMatt_: currently everything is based on ticks
14:18:53  <TrueBrain> but lets forget what is and isnt
14:18:57  <TrueBrain> lets talk about what we want
14:19:03  <ZehMatt_> all ears
14:19:07  <TrueBrain> do we want animation to be game tick or real tick based?
14:19:14  <TrueBrain> that is the question we should be asking :)
14:19:24  <TrueBrain> and here is a minor issue ... NewGRFs
14:19:24  <peter1138> real tick, I think.
14:19:26  <ZehMatt_> well if you fast forward the game you would expect animations to go faster?
14:19:29  <TrueBrain> they can influence game state ...
14:19:42  <peter1138> ZehMatt_, game animations yes, window animations? no!
14:19:43  <TrueBrain> so where is andy :P
14:19:51  <ZehMatt_> yes true
14:19:56  <TrueBrain> so anything in a viewport should go quicker with FF
14:20:06  <TrueBrain> anything else should not (From a visual point of view)?
14:20:16  <ZehMatt_> well where would be such code
14:20:20  <peter1138> Quite a few OnTick()s just refresh data if needed
14:20:24  <ZehMatt_> so far theres only the highlight i can think off
14:20:24  <peter1138> That seems to be the wrong place to do it.
14:20:36  <peter1138> ZehMatt_, scrolling credits
14:20:47  <peter1138> ZehMatt_, news window pop up
14:20:49  <TrueBrain> animation in general
14:20:57  <TrueBrain> (not sprite-animation :D)
14:21:01  <TrueBrain> transitions, maybe a better word
14:21:15  <TrueBrain> news in the banner scrolling by
14:21:18  <TrueBrain> (from right to left)
14:21:42  <TrueBrain> but also window dragging?
14:21:45  <peter1138> The settings window uses the OnTick() event to handle click debouncing.
14:21:56  <TrueBrain> wow ..... lol
14:21:59  <TrueBrain> also a nice one :)
14:22:06  <TrueBrain> button down/up state
14:22:08  <peter1138> well, its buttons are not "real"
14:22:11  <TrueBrain> (the time to go from one to the other)
14:22:23  <peter1138> also, something about scrollbars uses ticks
14:22:35  <TrueBrain> so in FF my scrollbar goes a lot faster?
14:22:59  <peter1138> Something about button release times or something
14:23:03  <peter1138> Would need to look it up again.
14:23:40  <TrueBrain> so possibly a good start for this is not with splitting UpdateWindows or when it is called, but start using a delta for "realtick" updates
14:23:51  <TrueBrain> so that animation always takes, say, 1 second, for news to pop out
14:23:56  <TrueBrain> no matter what the current FPS is/was
14:24:00  <TrueBrain> no matter the FF settings?
14:24:13  <ZehMatt_> from where I understand it
14:24:18  <ZehMatt_> OnTick has to be always each 30ms
14:24:21  <ZehMatt_> regardless of FF
14:24:26  <peter1138> No
14:24:27  <ZehMatt_> otherwise things go to fast
14:24:36  <TrueBrain> we just established there is not 1 rule for OnTick
14:24:42  <ZehMatt_>
14:24:43  <peter1138> Some things within OnTick() are to do with refreshing data, that should be game ticks.
14:24:46  <ZehMatt_> for example this
14:24:53  <ZehMatt_> it moves every tick 4 pixel
14:24:56  <peter1138> Some things are realtime. Yeah, we just discussed :p
14:24:59  <ZehMatt_> making OnTick faster moves more pixels
14:25:12  <ZehMatt_> so why cant we leave OnTick on 30
14:25:14  <ZehMatt_> regardless
14:25:17  <peter1138> I have an idea that I should just add OnRealtimeTick() and rename OnTick() and do a PR?
14:25:20  <TrueBrain> we just, in the last 5 minutes, showed many situations with different solutions :)
14:25:30  <peter1138> And then ZehMatt_'s PR can just be about the updatewindows change.
14:25:47  <ZehMatt_> feel free to commit onto mine
14:25:53  <ZehMatt_> the topic is the same
14:25:54  <TrueBrain> ZehMatt_: read up plz :) We keep telling you: some Window uses OnTick for real time stuff, some use it for game time stuff
14:25:57  <TrueBrain> there is no 1 solution
14:26:23  <peter1138> okay guys, i'm firing up VS ;D
14:26:30  <TrueBrain> but I do not think that OnRealtimeTick() is a solution; I think OnRealtimeTick(delta) is
14:26:31  <ZehMatt_> i totally get it
14:26:44  <ZehMatt_> you guys are the better judge to what needs moving
14:26:55  <peter1138> TrueBrain, so that windows don't need to reference _realtime_ticks themselves?
14:26:57  <peter1138> Hmm, no
14:27:08  <ZehMatt_> I agree with peter1138
14:27:13  <ZehMatt_> thats how it should be done normally
14:27:16  <peter1138> TrueBrain, thing is when you want to wait 450ms... what use is delta?
14:27:17  <TrueBrain> peter1138: so that if the FPS drops, things still end in the defined time
14:27:26  <LordAro> limiting scope/usage of global vars is never a bad thing
14:27:38  <peter1138> LordAro, it would mean every window needs to keep track though.
14:27:45  <TrueBrain> if you want to wait 450ms, you have an internal time saying: 450 -= delta
14:27:47  <TrueBrain> I mean ...
14:27:55  <TrueBrain> but do we have any window that does that?
14:27:57  <ZehMatt_> cant a window request a timer
14:28:02  <ZehMatt_> to make things even simpler
14:28:12  <ZehMatt_> AddTimerFunc(&MyWindow::fn, this, delay)
14:28:13  <TrueBrain> currently we have 2 callsbacks: every gametick, and every 100 gameticks
14:28:27  <TrueBrain> but normally, in UI animation, you use deltas
14:28:30  <TrueBrain> not "amount of ticks"
14:28:36  <TrueBrain> as if you are in need of CPU, things get weird
14:28:41  *** bwn has quit IRC
14:29:22  <TrueBrain> for gameticks we cannot use a delta, because game state is important :P
14:29:23  <ZehMatt_> also not all windows even implement OnTick
14:29:25  <TrueBrain> but for realtime you can
14:29:31  <TrueBrain> of course they don't
14:29:35  <TrueBrain> why would every need to
14:29:41  <ZehMatt_> but you still iterate each window and call the virtual func
14:29:51  <TrueBrain> so?
14:29:53  <ZehMatt_> not that you'll ever have 1000+ windows
14:29:59  <ZehMatt_> its just a waste calling empty functions :p
14:30:06  <TrueBrain> dont confuse the current discusion with pre-mature optimizations :)
14:30:16  <ZehMatt_> im not talking about optimizations
14:30:25  <TrueBrain> [16:29] <ZehMatt_> its just a waste calling empty functions :p
14:30:26  <TrueBrain> yes you are :)
14:30:26  <ZehMatt_> rather a system where you can setup timers that run the requested time
14:30:32  <peter1138> TrueBrain, hmm, i'd use "expires = _realtime_ticks + 450;" to set the timer, and "if (_realtime_ticks >= expires) {}" to cause the action to happen
14:30:32  <TrueBrain> come back about that when you can profile it is an issue ;)
14:30:51  <TrueBrain> peter1138: TICKS. That will not work
14:30:55  <TrueBrain> it does work if you call it _realtime_clock
14:30:58  <peter1138> realtime-ticks in this case is ms :p
14:30:59  <TrueBrain> :P
14:31:09  <TrueBrain> huge difference :)
14:31:19  <TrueBrain> but yes, either you use a global msec, or a local delta_msec
14:31:23  <LordAro> std::chrono::high_resolution_clock
14:31:23  <TrueBrain> tomato tomat to me
14:31:25  <LordAro> sorted.
14:31:28  *** bwn has joined #openttd
14:31:34  <peter1138> _realtime_ticks IS in milliseconds.
14:31:39  <TrueBrain> point is, don't depend on how often YOU are called
14:31:56  <TrueBrain> peter1138: if that is the case, the name is misleading :)
14:32:06  <TrueBrain> ticks suggests there is no predefined value between 2 ticks, just a best-effort :)
14:32:22  <TrueBrain> (which is why game-ticks is such a poor value for UI stuff :D)
14:32:33  <TrueBrain> but okay, tomato tomato :) Lets call it a realtime_clock :)
14:32:49  <TrueBrain> or, ofc, the std::chrono :)
14:33:16  <TrueBrain> and if you do both the delta and the clock, you fix both cases: those where you want to wait 450ms, and those who are doing animation
14:33:27  <peter1138> Let's do the delta.
14:33:28  <LordAro> is the argument here only to do with the name of _realtime_ticks variable?
14:33:32  <peter1138> It removes use of globals.
14:33:35  <peter1138> LordAro, looks it :p
14:33:46  <LordAro> goodo
14:33:49  <TrueBrain> LordAro: that is what we narrowed down to now, yes
14:34:06  <TrueBrain> talking the same language is for some reason important in conversations
14:34:08  <TrueBrain> dunno what that is about
14:34:10  <peter1138> oh fuck VS
14:34:23  <ZehMatt_> non relevant question: are you guys planning on changing the coding style perhaps any day
14:34:31  <peter1138> grep and vim is much easier to work with.
14:34:38  <TrueBrain> very very unlikely; you would have to make a very strong case ZehMatt_
14:34:48  <peter1138> ZehMatt_, changing what for what purpose?
14:34:51  <ZehMatt_> typing_things_like_this_is_silly_imho
14:35:04  <TrueBrain> AndTypingLikeThisIsAnyBetter?
14:35:14  <ZehMatt_> startSmall
14:35:16  <ZehMatt_> :D
14:35:24  <LordAro> well that's just objectively wrong :p
14:35:27  <TrueBrain> coding styles have no room for personal preference
14:35:30  <peter1138> Nah, we're not C#.
14:35:38  <LordAro> also what TrueBrain said
14:35:43  <TrueBrain> the only important thing is that we all do the same
14:35:45  <ZehMatt_> but you guys arent C either
14:35:56  <LordAro> although my personal preferences do align quite strongly with OTTD's code style :p
14:35:58  <TrueBrain> and changing the full codebase to change from one casing to the other, is silly :)
14:36:26  <ZehMatt_> well this is an rather unconvential style
14:36:41  <ZehMatt_> im more the industrie guy so I barely see this unless I dig up 70's code
14:36:45  <TrueBrain> honestly, most project I work with use something really similar
14:36:52  <TrueBrain> so I guess it depends on your experience with other projects
14:36:57  <TrueBrain> again, personal preference :)
14:37:05  <TrueBrain> Java uses another style, sure
14:37:23  <Alberth> java itself doesn't mind, I found :p
14:37:39  <LordAro> ah least we don't have the "declare variables before use" thing from C
14:37:39  <TrueBrain> you are only heavily suggested to use a certain way :D
14:37:40  <LordAro> urgh
14:38:09  <TrueBrain> declare before use ... I think I dont understand you there :P
14:38:10  <Alberth> ZehMatt_: just become style agnostic, code in whatever is prefered
14:38:26  <peter1138> "more the industry guy" doesn't hold any sway. That assumes none of us does any professional coding, which is bullcrap.
14:38:34  <LordAro> int foo; .....; foo = bar();
14:38:40  <peter1138> Oh, unless you meant industrial systems.
14:38:40  <ZehMatt_> i didnt mean to say that
14:38:48  <TrueBrain> LordAro: in C++ you also have to do that? What am I missing?
14:38:48  <peter1138> In which case, who cares, they're all prehistoric anyway.
14:38:55  <ZehMatt_> its just what ive seen so far
14:39:02  <ZehMatt_> they all stick to more or less the same thing
14:39:03  <peter1138> Well, now you've seen OpenTTD :D
14:39:05  <LordAro> TrueBrain: int foo = bar();
14:39:11  <TrueBrain> LordAro: you can do that in C too?
14:39:12  *** synchris has quit IRC
14:39:17  <Alberth> TrueBrain: a few statements not involving 'foo' at the dots :p
14:39:24  <LordAro> TrueBrain: nowadays yes, but people often don't because of hysterical reasons
14:39:26  <ZehMatt_> and i didnt mean to offend anyone
14:39:33  <TrueBrain> LordAro: so your argument was void :) Okay :)
14:39:34  <peter1138> LordAro, we do have the declare first thing in a few places, left over of course.
14:39:45  <Alberth> LordAro: like Matlab, still using C89  :p
14:39:57  <TrueBrain> LordAro: I was like ... they fixed that .... LONG ago :P
14:40:18  <peter1138> ZehMatt_, you'll get on to tabs vs spaces at some point and that'll lead no where :p
14:40:31  <ZehMatt_> ive been there many times
14:40:32  <TrueBrain> but I guess the next one you say is that you are happy we can use // for comments :P
14:40:35  <ZehMatt_> something im not too worried about imho
14:40:43  <ZehMatt_> i just fix it to whats wanted
14:40:55  <ZehMatt_> because converting them is so hard in 2018 :D
14:41:18  <Alberth> most editors aren't worth their name :p
14:41:27  <peter1138> Hmm....
14:41:33  <TrueBrain> anywayyyyyyy ... UI ...
14:41:37  <ZehMatt_> nowadays i just use spaces
14:41:43  <peter1138> Any idea why SmallMapGui is in smallmap_gui.h?
14:41:48  <peter1138> None of the other windows are in a header file.
14:41:58  <TrueBrain> I see a commit coming up  :P
14:42:24  <peter1138> TrueBrain, I can't, you took that away from us! You stole our rights! I'm gonna protest!
14:42:32  <ZehMatt_> lol
14:42:35  <TrueBrain> peter1138: you go girl :P
14:42:50  <TrueBrain> so to conclude a bit here ZehMatt_, I think before your PR is going to work, we should make most of the UI independant of FF
14:42:53  <TrueBrain> by what-ever means :P
14:43:07  <TrueBrain> as then your commit makes a lot of sense
14:43:12  <ZehMatt_> works for me
14:43:26  <TrueBrain> basically the same result, but your PR started top-down
14:43:29  <peter1138> There is one line in src/linkgraph/linkgraph_gui.cpp that reaches into SmallMapWindow directly.
14:43:31  <TrueBrain> I suggest we first run a bottom-up :)
14:43:33  <peter1138> And it probably shouldn't.
14:43:38  <ZehMatt_> "works for me"
14:43:41  <ZehMatt_> :v
14:43:52  <ZehMatt_> cant deny that the window dragging and such is much better
14:43:57  <ZehMatt_> with a few downsides on FF
14:44:05  <peter1138> It's shit for me, cos of that glitching thing :(
14:44:19  <peter1138> But if I leave Minecraft open behind the game, it's all perfect.
14:44:22  <ZehMatt_> im not even sure what the issue is about
14:44:29  <TrueBrain> lol @ peter1138 :D
14:44:39  <LordAro> lolwut
14:44:42  <ZehMatt_> its not a true fullscreen thing
14:44:46  <TrueBrain> known_bugs.txt entry: if you have screen tearing, launch Minecraft while playing OpenTTD!
14:44:55  <ZehMatt_> lol
14:45:06  <TrueBrain> not sure what to think about that :D
14:45:26  <peter1138> Not even joking. Actually any game that does screen flipping in the background.
14:45:33  <peter1138> It makes me think it's a driver issue.
14:45:41  <ZehMatt_> anyway if I can somehow help changing window code just tell me what to do
14:45:48  <peter1138> I'd say "but it does it on Linux" but it's effectively the same driver there :p
14:45:54  <ZehMatt_> but first we have to establish where to put what
14:46:05  <peter1138> I might fix this smallmap window first.
14:46:08  <peter1138> Rabbit holes.
14:46:14  <TrueBrain> well, I am playing Factorio Sea Block, so meh :P
14:46:19  <ZehMatt_> you'll also introduce OnRealTimeTick?
14:47:14  <peter1138> Ok, what.
14:47:21  <peter1138> static const uint LINKGRAPH_DELAY = 0xf;
14:47:26  <peter1138> Who allowed that ;(
14:47:33  <peter1138> That 0xf... means...
14:47:53  <peter1138> 15 ticks. Aka 450ms?
14:48:05  <TrueBrain> "one moment ladies and gentlemen, we are experiencing some annoyance"
14:48:06  <TrueBrain> :D
14:48:12  <ZehMatt_> probably
14:48:19  <peter1138> Also
14:48:19  <TrueBrain> 450 / MILLISECONDS_PER_TICK? :)
14:48:21  <peter1138> uint refresh;
14:48:26  <peter1138> if (--refresh > 0)
14:48:27  <peter1138> hmm
14:48:31  <ZehMatt_> yea
14:48:32  <ZehMatt_> lol
14:48:39  <peter1138> is it signed or unsigned in the condition?
14:48:43  <peter1138> Oh, no
14:48:47  <peter1138> It expects 0
14:48:47  <TrueBrain> unsigned :)
14:48:53  <TrueBrain> >= 0 would be more fun
14:48:54  <TrueBrain> :D
14:49:06  <TrueBrain> I love that CLion warngs me about those stupid things while writing the code :P
14:49:34  <peter1138> 0xff * 30
14:49:44  <peter1138> I wonder why 0xff?
14:49:47  <peter1138> Did something see "byte" ?
14:49:51  <TrueBrain> because 0xfe looks weird
14:49:57  <peter1138> 7.65 seconds seems weird
14:50:08  <APTX_> you could have written it as if (refresh --> 0)
14:50:21  <TrueBrain> APTX_: but it doesn't do the same! :P
14:50:45  <ZehMatt_> thats why I stick to my timer system :v
14:50:45  <peter1138> It looks fun though.
14:50:49  <APTX_> it should do the same thing
14:50:51  <ZehMatt_> such code wouldn't be required
14:51:03  <peter1138> APTX_, no, --refresh vs refresh-- evaluates differently
14:51:22  <TrueBrain> APTX_: you are one step later in your case :D
14:51:36  <TrueBrain> if (--1 > 0) is true
14:51:39  <TrueBrain> if (1-- > 0) is false
14:51:54  <TrueBrain> -- is such a fun operator :D
14:52:02  <TrueBrain> (--a) returns (a - 1)
14:52:05  <TrueBrain> (a--) returns a
14:52:18  <TrueBrain> an operator with a side-effect :D
14:52:36  <TrueBrain> a.decrease(return_origin=True) vs a.decrease(return_origin=False) :D
14:52:49  <TrueBrain> too much Python TrueBrain .. okay .. sorry ....
14:53:01  <APTX_> ok I see your point
14:53:18  <TrueBrain> but it looks awesome, if (refresh --> 0) :D
14:53:19  <APTX_> I did see it after the first line though
14:53:23  <TrueBrain> that would fuck up so many people :D
14:53:48  <peter1138> I need my PC to compile all the time.
14:53:58  <peter1138> When it's idle, the soundcard produces a lot of noise.
14:54:10  <LordAro> peter1138: that's the reverse of normal
14:54:11  <APTX_> TrueBrain: it was a joke relating to:
14:54:13  <TrueBrain> unplug your soundcard
14:54:26  <LordAro> my soundcard makes noise when i'm doing a lot of disk activity
14:54:31  <peter1138> Difficult, it's on the motherboard.
14:54:33  <APTX_> C++ jokes
14:54:37  <ZehMatt_> bad isolation
14:54:50  <TrueBrain> lol @ APTX_ .. that is horrible
14:55:07  <LordAro> hmm, do we need labels for PRs?
14:55:08  <ZehMatt_> nowadays i just go with usb sound
14:55:11  <ZehMatt_> no more noise
14:55:13  <LordAro> not-ready, and such like?
14:55:15  <TrueBrain> one thing I still want to sneak in a project is: #define true (random()>0.95?1:0)
14:55:24  <ZehMatt_> lol
14:55:56  <APTX_> TrueBrain: you want to do it with sizeof
14:56:04  <TrueBrain> LordAro: I was more wondering the other solution .. close PRs if they need something else to happen first, or are being split up, etc
14:56:34  <TrueBrain> as I am unsure leaving a PR open with somethinglike: this will be done after N, we won't end up with 100 PRs :P
14:57:01  <LordAro> it's a tricky balance, i agree
14:57:20  <peter1138> TrueBrain, can PRs have dependencies?
14:57:26  <TrueBrain> I think 6749 for example can be closed, as he is splitting it up in better smaller chunks
14:57:29  <TrueBrain> not really
14:57:32  <Eddi|zuHause> TrueBrain: close PRs if they weren't changed in a month?
14:57:44  <LordAro> as long as the PRs are waiting on the submitter rather than the devs, i wouldn't be too worried about them
14:57:54  <TrueBrain> and PR 6750 has no resolution; so should it remain a PR? Reopening is alwayspossible
14:58:16  <LordAro> and then close them after a month of inactivity or something
14:58:26  <APTX_> TrueBrain: for returning a+1 (or a-1) there's these:
14:58:41  <peter1138> virtual void OnTick()
14:58:44  <LordAro> i got the impression that 6749 was being split into other PRs, but the bulk of it was staying where it was
14:58:48  <peter1138> { /* Overrride default OnTick */
14:58:50  <peter1138> }
14:58:50  <TrueBrain> LordAro: but how does it help .. it just keeps pulling attention
14:58:53  <peter1138> So, er....
14:58:53  <TrueBrain> having an empty PR list is nice
14:59:10  <peter1138> Ah, inherits from another window.
14:59:17  <LordAro> it is, but the reality is that people open PRs before they are ready :p
14:59:22  <TrueBrain> LordAro: sure, I guess that can be the result; b ut shouldnt we close the PR for now, and reopen when it is time it can be reviewed?
14:59:33  <TrueBrain> so there should be some wiggleroom, for sure
14:59:38  <peter1138> They *think* they are ready.
14:59:43  *** snail_UES_ has joined #openttd
14:59:56  <LordAro> i don't think things should be closed unless there's no chance they'll be reopened again
14:59:57  <TrueBrain> but if we keep PRs open for too long, we just start ignoring all PRs :P
15:00:10  <LordAro> closing/reopening looks "bad", imo
15:00:14  <TrueBrain> why?
15:00:23  <TrueBrain> closing only means: this is not something we can actively help you with
15:00:34  <LordAro> idk, as if we can't make up our mind what to do with it
15:01:08  <TrueBrain> huh? only outsiders might think that (for what-ever reason), but do we care about those?
15:01:19  <TrueBrain> it is about keeping things clear and workable for us, devs
15:01:34  <LordAro> yeah, and i think labels is a better way of doing that
15:01:53  <TrueBrain> and I am doubting that .. same for issues btw
15:02:18  <TrueBrain> keeping things open where the action is not ours, is just asking for more work on our side
15:02:27  *** Thedarkb1 has quit IRC
15:02:46  <LordAro> i agree that PRs shouldn't sit around doing nothing forever, but closing them just because the submitter is taking longer than a day or two to get back to it doesn't seem reasonable either
15:02:47  <TrueBrain> we have to keep the author responsible for his PR :)
15:02:56  <TrueBrain> huh?!
15:03:00  <TrueBrain> how did you jump to that :P
15:03:14  <TrueBrain> there is a lot of grey; not that much black and white here :)
15:03:17  <LordAro> how did you jump to "PRs are devs responsibility" :p
15:03:26  <TrueBrain> I never did?
15:03:38  <LordAro> 16:02:18 < TrueBrain> keeping things open where the action is not ours, is just asking for more work on our side
15:03:54  <TrueBrain> and how did you read into that: PRs are devs responsibility?!
15:04:00  <TrueBrain> really, less black/white, more grey plz :)
15:04:25  <TrueBrain> lets go back to the examples I was bringing: we now have a PR which was too big, and the author is splitting it up in smaller chunks
15:04:42  <TrueBrain> is it useful for us to keep the origin PR open? There is a chance he makes thatone smaller, or maybe he makes a new one
15:04:49  <TrueBrain> does keeping the PR contribute to anything, for us?
15:05:01  <LordAro> right, we need to ask him what he's intending to do with it
15:05:04  <TrueBrain> I was planning today to ask the author exactly that btw
15:05:18  <TrueBrain> as keeping it around for us, is just noise
15:05:23  <TrueBrain> we cannot do anything with it in its current state
15:05:36  <ZehMatt_> are we talking about my PR?
15:05:39  <TrueBrain> so, by closing it, we put the ball back to the author; he needs to tell us when we are done again
15:05:44  <TrueBrain> ZehMatt_: no, but we can now :)
15:05:54  <TrueBrain> as similar goes for yours; but it is a bit different
15:05:57  <LordAro> i see no benefit to closing it before we know what's going to be done with it
15:06:03  <ZehMatt_> just wondering
15:06:10  <LordAro> it's pointless to close it if it just gets reopened again
15:06:35  <TrueBrain> okay, LordAro, take a deep breath, step out of your current rain of thought, and lets jump on it from a different angle :)
15:06:56  <TrueBrain> lets take the MIDI PR: 1 of 2 actions I planned on doing today
15:07:13  <TrueBrain> 1) if he joins IRC, ask him if we can close his PR, and that he reopens it when he is done, or how he wanted to fix this
15:07:16  <TrueBrain> 2) ask the same in the ticket
15:07:22  <TrueBrain> we put the ball to HIM
15:07:29  <TrueBrain> that is how you deal with these things
15:07:39  <TrueBrain> you don't rudely go closing tickets and walk on :)
15:08:00  <LordAro> i know that
15:08:12  <TrueBrain> so what is the downside of doing that? we can scare off the author
15:08:19  <TrueBrain> so we have to make it very clear it is not saying no
15:08:20  <LordAro> i disagree with the "close his PR, and that he reopens it when he is done" bit
15:08:21  <TrueBrain> but only a not now
15:08:35  <TrueBrain> okay, you disagree; why?
15:08:44  <_dp_> this is getting weird... pretty much every time I decide not to pay for mobile internet and it runs out power outage happens within few days %)
15:08:45  <LordAro> it only serves to create noise in the issue
15:08:45  <ZehMatt_> what about WIP label
15:08:58  <TrueBrain> noise in the issue?
15:09:01  <TrueBrain> from whos perspective?
15:09:08  <LordAro> everyone's
15:09:11  <TrueBrain> why?
15:09:14  <TrueBrain> give a use case?
15:09:20  <TrueBrain> as we as dev won't look at it anymore
15:09:23  <TrueBrain> (as we shouldn't)
15:09:28  <TrueBrain> the author doesnt care, as he is working on it
15:09:29  <LordAro> "closed" from the outside looks as if it is dead
15:09:39  <TrueBrain> I think you have to recalibrate that :)
15:09:43  <TrueBrain> in GitHub that is very much not true
15:09:47  <TrueBrain> it is just a "not now"
15:09:55  <LordAro> that has not been my experience
15:09:57  <TrueBrain> it has nothing to do with dead or alive
15:10:13  <TrueBrain> but you cannot possibly keep PRs alive hoping the user picks it up
15:10:16  <TrueBrain> you say, close them after a month
15:10:23  <TrueBrain> but what if he reopens it 1 day after that with an update?
15:10:28  <TrueBrain> same holds
15:10:42  <peter1138> Hmm, so that status bar ticker...
15:10:47  <TrueBrain> tick tack
15:10:49  <TrueBrain> no?
15:10:50  <peter1138> Currently it's game ticks, which is wrong, right?
15:10:52  <TrueBrain> tacker
15:10:57  <TrueBrain> I think it is peter1138
15:10:57  <peter1138> But also, it stops when you pause the game.
15:11:04  <TrueBrain> also wrong, imo :)
15:11:06  <peter1138> Is that right?
15:11:06  <peter1138> Hmm
15:11:45  <TrueBrain> ZehMatt_: labels are nice, but in general you should try to avoid having issues/PRs around that are not moving
15:11:57  <TrueBrain> as in the end you only end up with a lot of issues and PRs :)
15:12:08  <TrueBrain> bit like cleaning your room ... "I am going to keep this, as I mgiht need it some day"
15:12:09  <peter1138> Do we have any PRs that are not moving yet?
15:12:12  <TrueBrain> you only end up with a pile of junk :P
15:12:21  <TrueBrain> peter1138: they are all too fresh
15:12:24  <TrueBrain> imo :)
15:12:31  <TrueBrain> 2 I doubt if they survive the day
15:12:35  *** Gja has joined #openttd
15:12:46  <TrueBrain> one depends on your actions in the next few hours :P :P
15:12:57  <frosch123> peter1138: i have no idea how to continue with 6751 :)
15:13:09  <frosch123> an api request without usecase
15:13:36  <TrueBrain> frosch123: adding stuff for adding, is arely sensible
15:13:49  <TrueBrain> so why are you not sure how to continue? :D
15:14:12  <frosch123> i always left the closing to others :p
15:14:39  <TrueBrain> :D
15:15:00  <TrueBrain> I like LordAro's suggestion there; but is Zuu willing to do that? :)
15:15:33  <TrueBrain> (btw, LordAro, talking about annoying noise in issues ... every force push stays behind in the issue it references ... that is just a bug in GitHub if you ask me :( )
15:15:42  <TrueBrain> (example: #5377)
15:17:21  <peter1138> frosch123, hmm, yeah, that last comment in 6751 is bizaare. Like... the submitter didn't even write the patch.
15:17:38  <peter1138> Oh it says that in the first note.
15:17:43  <peter1138> krinn...
15:17:51  <frosch123> yes, zuu dug out some krimm patch
15:18:29  <peter1138> 6 years ago.
15:18:41  <TrueBrain> so would the PR be okay if it also had IsCanalTile? Or unified in a single function? Or not at all till someone asks for it again?
15:18:57  <peter1138> And yes, the problem with the use case is exactly the problem you said.
15:19:12  <frosch123> TrueBrain: i would really like to know the intention
15:19:21  <frosch123> like, should the ai avoid clearing rivers when building?
15:19:31  <frosch123> but then cleaning canals is just as bad
15:19:33  <peter1138> It's okay to clear canals?
15:19:39  <peter1138> Worse I'd say.
15:19:44  <frosch123> and cleaning sea is fine or what?
15:19:47  <TrueBrain> he wrote a bit why in the originl issue
15:20:09  <TrueBrain> is krinn still alive in OpenTTD community?
15:20:31  <peter1138> The "why" seems to be "we need to detect rivers" but doesn't explain what's special about rivers.
15:21:10  <TrueBrain> because you have to destroy them before youcan build on them, it seems :)
15:21:22  <TrueBrain> and from how I read it, you currently have no way to know you could destroy it
15:22:49  <frosch123> hmm, there is ScriptMarine::IsCanalTile
15:23:19  *** Xaroth has joined #openttd
15:23:29  <TrueBrain> so alias it to ScriptTile too?
15:23:41  <peter1138> Hmm, the status bar scrolling has a fixed "width"
15:23:53  <peter1138> It doesn't care about the length of the text or the width of the widget.
15:23:58  *** agentw4b has joined #openttd
15:24:05  <frosch123> i guess in that case ScriptTile only has landscape stuff
15:24:07  <TrueBrain> peter1138: stop finding work :P
15:24:11  <peter1138> :p
15:24:15  <peter1138> Good point.
15:24:17  <frosch123> while the transport stuff is in more specific classes
15:24:19  <peter1138> That's a separate issue.
15:24:39  <TrueBrain> frosch123: guess the same holds for roads etc indeed
15:24:44  <frosch123> peter1138: every modern games scrolls those short news vertically :p
15:24:47  <TrueBrain> but is river a transport thing, or a landscape thing?
15:24:56  <peter1138> Hmm, 2 pixels every 30 ms.
15:24:57  <frosch123> rivers are not company constructed
15:25:02  <peter1138> so 15ms per pixel.
15:25:06  <frosch123> so sea/river is landscape, canal is transport
15:25:08  <TrueBrain> frosch123: neither are town roads :)
15:25:14  <TrueBrain> :P
15:25:17  <TrueBrain> (nitpicking ftw!)
15:25:33  <frosch123> oh, there is also ScriptTile::IsStationTile...
15:25:38  <TrueBrain> peter1138: best thing is that animation can look good in 2x too ! :P
15:26:01  <peter1138> Yeah, I mean... should it be faster if the the gui is scaled up?
15:26:12  <peter1138> Same with the credits window.
15:26:16  <peter1138> Well, again, separate issue.
15:26:19  <TrueBrain> :D
15:26:48  <ZehMatt_> did i just open a can of worms
15:27:02  <peter1138> ZehMatt_, you "found" some issues :)
15:27:27  <peter1138> Rabbit holes. Warren?>
15:27:42  <ZehMatt_> i wonder, has it no one ever bothered before me that the UI is somewhat sluggish
15:27:57  <ZehMatt_> 30hz updates i mean
15:27:59  <TrueBrain> bothered enough to do something about it, is the question I guess :)
15:28:51  <ZehMatt_> i also should setup my other PR at some point to remove GetTickCount calls
15:28:55  <peter1138> No, not really.
15:29:05  <peter1138> GetTickCount... uhm...
15:29:08  <peter1138> Don't show me :(
15:29:16  <ZehMatt_> huh
15:29:21  <ZehMatt_> win32_v uses it
15:30:30  *** andythenorth has joined #openttd
15:30:55  <TrueBrain> nice solution frosch123 :)
15:31:21  <_dp_> does it make sense to make a patch that allows road/bus stops to overbuild each other?
15:33:21  <andythenorth> it does to me :P
15:33:45  *** Zuu has joined #openttd
15:33:49  <frosch123> does not sound useful to me
15:33:54  <frosch123> why would you want to do that?
15:34:00  <frosch123> they share no vehicles
15:34:26  <frosch123> it's kind of the opposite of an upgrade
15:35:07  <TrueBrain> frosch123: just wondering, if you give comments on a PR which are resolved, do you mind if someone else (for example in this case: me), accepts the PR and merge it? Or do you rather want to do that validation yourself?
15:35:18  <frosch123> well, "upgrade" is the wrong word. but we only allow overbuilding for compatible stuff
15:36:14  <frosch123> TrueBrain: nah, go ahead
15:36:29  <_dp_> frosch123, makes it faster to fix when you built the wrong one
15:36:57  <_dp_> frosch123, having wrong rv station type is just something I have constant issues with)
15:38:18  <TrueBrain> frosch123: cool, tnx :D Means I can make myself useful :D
15:39:44  <frosch123> i guess i should keep on "commenting" instead of "requesting changes" :)
15:40:18  <TrueBrain> I like requesting changes; I dislike GitHub not dismissing it with a push, but only if the line you marked is touched
15:40:20  <TrueBrain> that is just annoying
15:40:27  <TrueBrain> but I have no issues dismissing your request frosch123 :P
15:40:39  <_dp_> other part would be allowing rv station removal to remove any station type, but I'm not sure how to make it reasonable for vanilla
15:40:46  <TrueBrain> I miss a bit the overview of what still needs attention .. you see badly when someone pushed a new commit
15:42:34  *** andythenorth has quit IRC
15:43:02  *** Thedarkb1 has joined #openttd
15:43:13  <peter1138> _caret_timer...
15:43:15  <peter1138> what
15:43:33  <LordAro> times carrots
15:43:48  <peter1138> Oh textbuf isn't a window of course.
15:43:48  <peter1138> :S
15:44:03  <peter1138> Still, that shouldn't be sped up in fast-forward either.
15:44:18  <peter1138> But it's not a window so falls outside the remit of this patch.
15:46:28  <TrueBrain> :D
15:46:35  <TrueBrain> and so it spreads :P
15:48:04  *** sla_ro|master has joined #openttd
15:49:34  <_dp_> frosch123, it's similar to overbuilding rail station with different rotation. Isn't much of "upgrading" either, just convenient way of reorganizing the station
15:49:39  <Eddi|zuHause> <frosch123> like, should the ai avoid clearing rivers when building? <-- without reading the whole backlog, i'd say AI should be prevented from clearing water unless it specifically says "i definitely want to clear water"
15:50:22  <peter1138> "Dispatch WE_TICK event over all windows"
15:50:29  <peter1138> Yeah, I don't think WE_TICK exists for a long time.
15:52:06  <peter1138> Gah, I can't scroll the window properly without 6756 ;p
15:52:47  <peter1138> Hmm, also, that one should probably remove the obsolete strings.
15:52:59  * _dp_ thinking of making AI that does nothing but deliberately destroying all rivers
15:53:06  <TrueBrain> what is the difference between map and viewport?
15:53:37  <_dp_> sadly you can't easily run it in mp :(
15:53:38  <peter1138> Quite.
15:53:53  <peter1138> Previous wording was "camera"... where does that fit in?
15:54:07  <TrueBrain> I honestly dont know how they differ?
15:54:47  <peter1138> The difference is moving the map under a viewport, or moving a viewport over a map.
15:55:00  <peter1138> A weird distinction that affects only the direction of movement.
15:55:07  <peter1138> And it's not intuitive.
15:55:13  <TrueBrain> ah! That is the difference
15:55:19  <TrueBrain> holy crap, that took way too long :D
15:55:22  <peter1138> "reverse scroll" was logical because it was just "opposite to normal"
15:55:27  <peter1138> Yeah
15:55:28  <TrueBrain> haha :D
15:56:01  <peter1138> Btw, should CI warn if strings have been removed from english but are still present in other langs?
15:56:31  <peter1138> (Or, I guess, warn on any language file error?)
15:56:36  <Zuu> I think in general AIs should bridge canals so that if the player want to use it for ships it is not ruined.
15:56:46  <TrueBrain> currently any language error is ignored .. good question .. frosch123?
15:57:04  <Eddi|zuHause> warning sounds like the correct level
15:57:20  <Zuu> But then, it is hard to dictate what AIs people will write.
15:57:39  <TrueBrain> CI can either error or ignore; they dont have a 'warn' level
15:57:43  <peter1138> :(
15:58:08  <TrueBrain> I really think we will have a GitHub bot soon .. so many of thse can be solved with that :)
15:58:17  <TrueBrain> the bot can just say in a comment: CI is fine, but did you know ...... :D
15:58:17  <Eddi|zuHause> Zuu: yes, an AI building roads should probably leave canals alone. but an AI building canals might want to reroute existing canals
15:58:29  <_dp_> TrueBrain, make it error and rethink if someone complains?
15:58:32  <frosch123> TrueBrain: we used to split removal of strings into separate commits, but maybe that is just wrong :p
15:58:42  <TrueBrain> frosch123: feels off :)
15:59:30  <LordAro> seems to me like it should be an error
15:59:33  <peter1138> Hmm, right, OnGameTick() and OnRealtimeTick(int delta_ms) created.
15:59:41  <peter1138> delta_ms just to make sure we know it's in milliseconds :)
15:59:50  <peter1138> And now... I need to call it.
15:59:52  <TrueBrain> frosch123 and LordAro have the same colour on IRC .. sometimes I ahve a hard time seeing one or the other replied :P
16:00:23  <LordAro> peter1138: clearly should std::chrono::duration :p
16:00:29  <LordAro> then it is very unambiguous
16:00:48  <TrueBrain> delta of the type signed feels wrong :D
16:02:37  <peter1138> Point.
16:03:06  <peter1138> I should make it float, in case we want sub-ms accuracy ;)
16:03:46  <TrueBrain> where is my shot-gun ....
16:05:34  <peter1138> True, floats are not that accurate.
16:05:37  <Eddi|zuHause> if you're ever doing "a-b" on a variable, it should probably have a signed type
16:06:47  <TrueBrain> owh, peter1138, just so I mentioned it, remember that TickCount wraps every ~49 days :P
16:08:44  <snail_UES_> hey guys, question about RandomAction2
16:08:58  <TrueBrain> bit random question, but sure
16:09:18  <snail_UES_> the specs say that bits 0…3 are used to count from the starting vehicle
16:09:33  <snail_UES_> but this would restrict to a max of 15 vehicles...
16:09:47  <Eddi|zuHause> anything larger than that you must push to register 0x100
16:10:09  <Eddi|zuHause> nml does that
16:10:23  <snail_UES_> ok… I was thinking about circumventing this by setting <count> to 0 and use register 0x100
16:10:32  <snail_UES_> so it’s possible, right?
16:10:36  <Eddi|zuHause> yeah, exactly
16:10:45  <snail_UES_> ok great, thx
16:11:29  <Eddi|zuHause> but nml does that automatically for you
16:11:58  <snail_UES_> ok, but I’m not using nml
16:12:04  <Eddi|zuHause> i figured :p
16:15:46  *** Cubey has joined #openttd
16:16:06  <peter1138> TrueBrain, heh, yeah I'd already considered that. If it wraps it just does an extra tick with no delta. Next tick will carry on.
16:16:20  <peter1138> TrueBrain, may be a slight hiccup but won't break.
16:16:43  <TrueBrain> good :)
16:19:11  <peter1138> Oh. AHAHA
16:19:18  <peter1138> _realtime_ticks is only updated every 30ms...
16:19:30  <TrueBrain> so it is a ticks? :P
16:19:49  <peter1138> The value is ms.
16:19:58  <peter1138> So it jumps 30 every time.
16:19:59  <Eddi|zuHause> peter1138: i think _realtime_ticks was meant for "do this tick anyway even though the actual game is paused"
16:21:59  *** glx has joined #openttd
16:21:59  *** ChanServ sets mode: +v glx
16:25:21  *** Flygon has quit IRC
16:28:37  *** Thedarkb1 has quit IRC
16:32:54  <peter1138> Yay, an ICU crash.
16:34:54  <_dp_> ok, I'm out of GS patches for now, so let's switch to towns xD
16:40:53  <TrueBrain> ghehe
16:46:17  *** som89 has quit IRC
17:07:28  <peter1138> Hmm, why would you update widget lowered state in OnTick()?
17:07:49  <TrueBrain> welcome to the sticky part called Window :)
17:08:03  <TrueBrain> write all these things down, and put ZehMatt_ to work too? :D
17:08:10  <peter1138> Should be in OnInvalidateData(), and then that called...
17:11:43  <glx> TrueBrain: what changes are needed to get the right icu from vcpkg ?
17:11:44  <peter1138> Ah, cos some of the data it depends on is in the video drivers.
17:12:22  <TrueBrain> glx: change 61 to 57 in the port file, run it, you get a sha mismatch, copy/paste the right sha in
17:14:34  <glx> arg they upgraded git again
17:14:59  <TrueBrain> git, or vcpkg?
17:15:04  <glx> vcpkg
17:15:06  <TrueBrain> as vcpkg updates a lot :)
17:15:09  <TrueBrain> that is the whole idea ;) :D
17:18:49  <glx> hmm I should get icu55 to compare with useful version
17:19:09  <TrueBrain> I guess we need to check both
17:19:23  <TrueBrain> if icu57 gives a large static, icu might be to blame. If it doesnt, VS2017
17:19:27  <TrueBrain> so roll your dice :D
17:19:37  <glx> indeed I'll try both
17:19:41  <TrueBrain> tnx :)
17:31:39  <glx> I hope the MSYS2 it's getting won't conflict with my global MSYS
17:32:28  <TrueBrain> no clue; always installed it in a Docker :D
17:33:08  * LordAro wonders what to do
17:33:52  <LordAro> oh, i made this
17:34:23  <TrueBrain> you made the output, or the tool? :P
17:34:27  <glx> you can ignore 3rdparty
17:34:33  <LordAro> glx: you can ignore most of them
17:34:45  <LordAro> i already excluded most
17:34:48  <LordAro> TrueBrain: the output :p
17:34:51  <TrueBrain> awh :(
17:34:53  <TrueBrain> which tool does that?
17:35:02  <LordAro> i'm not that good :p
17:35:04  <LordAro> cppcheck
17:35:07  <TrueBrain> ah :D
17:36:34  *** synchris has joined #openttd
17:39:35  <glx> good it uses the right tools
17:41:24  <glx> could have been fun as I have msys bash, a bash from gitshell and the bash it installed from msys2
17:41:47  <TrueBrain> so much bashing :(
17:42:26  <glx> I already know I can't configure and make openttd from the gitshell
17:48:29  *** nielsm has joined #openttd
17:56:39  <peter1138> Was there a magic command to strip removed strings from other langs?
17:56:50  *** Pikka has quit IRC
17:57:02  *** gelignite has quit IRC
17:58:17  * Rubidium wonders how long this OpenTTD compile is going to take; 15 minutes in and already at sqapi.cpp
17:58:33  <TrueBrain> you need a better CPU Rubidium!
17:58:38  <Eddi|zuHause> make -j12
18:00:35  <nielsm> peter1138 last I asked the answer was "no"
18:00:51  <peter1138> And you didn't make one? :p
18:01:02  <nielsm> sed -i -e /STR_WHATEVER/d src/lang/*.txt src/lang/unfinished/*.txt
18:01:38  <nielsm> is what I ended up with
18:01:59  <Eddi|zuHause> maybe translator/eints should take care of that?
18:02:26  <Eddi|zuHause> so it scans for removed strings in english.txt and removes it from the other langfiles on its daily commit?
18:05:06  <Rubidium> TrueBrain: I'm fairly certain nobody's going to give me a CPU (and all the other required hardware) to make this compile significantly faster before the build completes
18:05:57  <Eddi|zuHause> Rubidium: how sure are you that the compile is not taking 5 weeks? :p
18:06:48  <Rubidium> not that sure, but having a machine that finished this compile much faster... it's going to be an oldie
18:11:37  *** Thedarkb1 has joined #openttd
18:18:28  <Rubidium> at least the md5sum of the languages is the same, so there's some good hope my patch actually works on BE machines
18:21:14  <LordAro> Rubidium: ...what are you compiling on?
18:24:16  <Rubidium> fake Malta 24Kc
18:25:54  <LordAro> i have not heard of that
18:26:49  *** snail_UES_ has quit IRC
18:28:09  *** sim-al2 is now known as Guest1198
18:28:10  *** sim-al2 has joined #openttd
18:28:45  *** snail_UES_ has joined #openttd
18:29:25  <Rubidium> LordAro: replace fake with qemu and you're more likely to find it
18:31:11  <TrueBrain> wow, you started a BE for that .. nice Rubidium :D
18:31:32  <peter1138> Ah, so that's why it's so slow :p
18:32:16  *** Guest1198 has quit IRC
18:33:53  <TrueBrain> we all assumed he just had a terrible machine .. but he was doing something different :D
18:37:21  *** andythenorth has joined #openttd
18:44:05  <glx> Elapsed time for package icu:x64-windows-static: 57.6 min <-- not bad
18:44:51  <TrueBrain> its terrible how long it takes ... :(
18:46:30  <Rubidium> well, for me compiling squirrel takes about as long as that ;)
18:47:29  <peter1138> Hmm, it's rebuilding table/strings.h every time. What've I broked :S
18:47:41  <LordAro> Rubidium: is there a partiular reason for this, or just for fun?
18:47:59  <TrueBrain> he is doing something that makes me REALLY happy :D
18:48:11  <LordAro> is that legal?
18:48:17  <TrueBrain> making me happy?
18:48:18  <TrueBrain> I sure hope so
18:48:21  <TrueBrain> otherwise I missed a law ..
18:48:28  <LordAro> REALLY happy
18:48:39  <TrueBrain> although it would explain my past relationships I guess ....
18:48:43  <TrueBrain> now you made me depressed :'(
18:48:48  <LordAro> :(
18:49:19  <Rubidium> LordAro: you can make TB happy as well... simply convert & into a PR (although obviously I haven't tested the big endian side of things yet, nor MSVC)
18:49:34  <LordAro> ah yes, i remember
18:49:41  <TrueBrain> he didnt ask you to remember :P
18:49:57  <LordAro> tough
18:50:11  <TrueBrain> :D
18:50:31  <frosch123> meh, my generated images are not deterministic
18:50:40  <frosch123> i guess plantuml adds some timestamp or something
18:50:42  <TrueBrain> do we want to know? :P
18:51:26  <glx> ok build started
18:54:31  <TrueBrain> owh, btw, Rubidium, your first patch works for MSVC. I have been using that all day with CMake and MSVC :P
18:54:40  <TrueBrain> second I didnt try, as MSVC :P
18:54:45  <glx> and compile failed
18:55:17  <TrueBrain> glx: ICU?
18:55:29  <glx> openttd with vcpkg icu
18:55:37  <TrueBrain> what error?
18:55:44  <peter1138> Hmm, it's oaky after make clean.
18:55:52  <glx> cmemory.h not found
18:55:59  <TrueBrain> ah, yes!
18:56:00  <TrueBrain> I forgot
18:56:04  <TrueBrain> you have to copy that yourself
18:56:38  <TrueBrain> its in vcpkg\buildtrees\icu\src\icu-57.1\icu\source\common\cmemory.h
18:56:48  <TrueBrain> to include\layout\
18:56:56  <TrueBrain> (it is no longer there in ICU 58+ :D
18:57:00  <TrueBrain> sorry, totally forgot
18:59:26  <glx> anyway .lib are huge compared to useful ones
19:01:31  <TrueBrain> yeah .. so possibly it is the way ICU is compiled ..
19:01:35  <TrueBrain> at least that narrows the issue down
19:04:07  <glx> 30.6MB
19:04:11  <TrueBrain> okay
19:04:21  <TrueBrain> so now the quesiton, is ICU55 any different I guess
19:04:27  <TrueBrain> so happy it is not me :D
19:04:28  <glx> let's remove 57 first
19:06:07  *** McBash has joined #openttd
19:06:13  <peter1138> Heinz 57?
19:27:10  <frosch123> he, finished my review, already outdated :p
19:27:17  <TrueBrain> :D
19:28:29  <frosch123> hmm, or is it a github bug
19:28:53  <TrueBrain> looks weird indeed
19:29:15  <TrueBrain> or did you have the commit older then 33 minutes open?
19:29:26  <frosch123> no, i just opened it
19:29:27  *** snail_UES_ has quit IRC
19:29:46  <TrueBrain> weird
19:30:26  <peter1138> Odd.
19:31:39  <peter1138> Oops, yes, removed one too many.
19:34:06  *** sla_ro|master has quit IRC
19:35:00  *** andythenorth has quit IRC
19:36:30  <glx> ICU55 build failed
19:37:03  <glx> probably too old for vcpkg
19:41:14  <glx> or it's just a problem in ICU55 source
19:41:31  <TrueBrain> :(
19:41:55  <TrueBrain> I will see if tomorrow I can understand what vcpkg does, and what openttd-useful does
19:41:56  <glx> D:/developpement/GitHub/vcpkg/buildtrees/icu/src/icu-55.1/icu/source/io/ufile.c(70): warning C4013: '__iob_func' non défini(e) ; extern retournant int pris par défaut
19:41:57  <glx> D:/developpement/GitHub/vcpkg/buildtrees/icu/src/icu-55.1/icu/source/io/ufile.c(70): error C2109: un indice requiert un type tableau ou pointeur
19:42:24  <glx> I think openttd useful is built directly in VS
19:42:46  <glx> but michi_cc knows more I think
19:42:51  <TrueBrain> lets see ... there is a lengthy description of how it is build
19:42:58  <TrueBrain> I think Rubidium build those :)
19:43:12  <glx> not version 6
19:43:34  <TrueBrain> ah, we rolled our own 'static' variant
19:43:38  <TrueBrain> what 'version 6' you refer to glx?
19:43:58  *** bakkerl is now known as Lamp-
19:44:32  <glx> the hidden version
19:44:37  <TrueBrain> of what?
19:45:01  <TrueBrain> okay, so we just heavily modified the ICU project file to make a static ... who knows what is in there and what is not :D Can explain the difference I guess
19:45:03  <glx> <-- this page only give 5.1
19:45:09  <TrueBrain> ah, of openttd-useful
19:45:18  <TrueBrain> you just said 'version 6' :P
19:45:24  <TrueBrain> silly if there is a newer version that it never got published tbh
19:45:49  <glx> yes useful version 6 is needed for VS2015 and up I think
19:46:02  <michi_cc> TrueBrain: But it is published:
19:46:07  <glx> but doesn't work for prievious
19:46:17  <TrueBrain> published as 'stable'
19:46:51  <glx> not sur about the last part ;)
19:48:08  <TrueBrain> but okay .. that means that the vcpkg static is just too static :D
19:51:07  <michi_cc> Ah, looking at the 6.0 source zip I see where the size difference comes from. Out ICU is build with a different, smaller content of icudata. Full ICU data has lots of stuff we never need (like e.g. tables of country names in each language).
19:51:16  <michi_cc> s/Out/Our/
19:51:51  <TrueBrain> any specifics how to disable that?
19:52:02  <glx> not useful I guess
19:52:28  <michi_cc> By modifying the project files, i.e. there is no build option.
19:52:47  <TrueBrain> any specific profile file or something?
19:52:51  <TrueBrain> possibly a diff? :D
19:53:08  <glx> but handcrafted icu is inconsistant with using vcpkg to simplify our task
19:53:12  <michi_cc> TrueBrain: Download
19:54:13  <glx> since windows 10 creator update, ICU is included at the OS level
19:54:30  <glx> but that won't help for previous windows versions
19:54:58  <glx> and I guess it doesn't include layout stuff
19:55:10  <TrueBrain> michi_cc: I want to patch vcpkg; so far it is a bit too vague for me :)
19:55:11  <michi_cc> I never checked how much of what we need is implemented by Uniscribe (which is the native Windows API).
19:55:20  <glx>
19:55:34  <michi_cc> TrueBrain: The zip contains said diff.
19:55:46  <TrueBrain> now that is useful information :)
19:56:42  *** Alberth has left #openttd
19:57:11  <TrueBrain> but why does ICU have a table of country names ...
19:57:21  <TrueBrain> sounds like ICU tried to do everything
19:57:38  <glx> they stopped doing the layout ;)
19:57:59  <TrueBrain> and only because they got sick of all the bugs they coulldnt fix :P
19:58:21  <michi_cc> Because ICU " providing Unicode and Globalization support". And we only need the Unicode stuff.
19:59:38  <TrueBrain> okay, 6.0 diff is similar to 5.1 diff
19:59:41  <TrueBrain> not really helpful, that diff
20:00:42  <TrueBrain> it adds static; it doesnt really show what to remove
20:01:59  <TrueBrain> we don't need any data part of ICU?
20:02:52  <michi_cc> We need some data part, but not all data.
20:03:11  <TrueBrain> any way to make that more specific?
20:03:29  <TrueBrain> as I cannot randomly not compile data :D Do we have a list, or is there some lookup, or? Any breadcrumbs?
20:04:11  <michi_cc> You probabyl want to look at makedata.mak, makedata.vcxproj and icudata.lst
20:05:15  <TrueBrain> I noticed this in the 5.1 too .. how did those changes came to be?
20:05:21  <TrueBrain> either someone went really in depth in it
20:05:28  <TrueBrain> or it got taken from somewhere? :)
20:06:19  <michi_cc> Some of that might have already been done by Rb, the rest would be me I guess.
20:06:50  <michi_cc> There's some additional code changes in tools/ to properly build the static data lib, too.
20:07:37  <TrueBrain> via vcpkg, the statics compiled without issues .. might be 57
20:08:23  <michi_cc> Probably.
20:08:39  <michi_cc> Lots of stuff about ICU data can be found at
20:09:34  <TrueBrain> now we are getting somewhere :D
20:10:56  <TrueBrain> okay, something to fiddle a bit with tomorrow
20:11:09  <TrueBrain> basically, ICU is 15 MiB of additional binary size ......
20:11:11  <TrueBrain> lolz
20:11:16  <TrueBrain> stupid library is stupid
20:11:27  <TrueBrain> if only they would have put all that data in different libraries
20:11:31  <TrueBrain> so you could pick the ones you like
20:11:33  <TrueBrain> or something
20:11:44  <TrueBrain> most likely they have their reasons
20:14:00  <TrueBrain> tnx michi_cc; especially the icudata.lst is a good tip :)
20:19:44  *** andythenorth has joined #openttd
20:20:30  <peter1138> :wq
20:20:33  <peter1138> Oops
20:20:43  <glx> this is not vi
20:21:12  <LordAro> nor vim
20:25:32  *** andythenorth has quit IRC
20:26:14  <peter1138> curticks = GetTicks(); realtime_tick += curticks - lastcurticks;
20:26:23  <peter1138> Why is it done like that?
20:27:56  <peter1138> Hmm, I see.
20:28:47  *** Thedarkb1 has quit IRC
20:35:31  *** McBash has quit IRC
20:38:01  *** agentw4b_ has joined #openttd
20:39:24  *** agentw4b__ has joined #openttd
20:44:07  *** agentw4b has quit IRC
20:46:13  *** ToBeFree has joined #openttd
20:46:42  *** agentw4b_ has quit IRC
20:48:22  <Eddi|zuHause> i always thought of that as "he can see clearly, now [that] the rain has gone"
20:49:15  <TrueBrain> you say tomato, I say tomato
20:54:45  *** synchris has quit IRC
21:07:08  <peter1138> :(
21:07:13  <peter1138> InputLoop...
21:07:52  <peter1138> Can of worms.
21:07:56  <peter1138> This gets deeper...
21:11:21  <_dp_> frosch123, am I reading it right that code and chances are fine, just need to explain that in comment?
21:11:44  <frosch123> yes, code looks fine, i just wondered about the bit magic for 15 mintues :p
21:12:50  <_dp_> frosch123, I though mentioning 1-bit intersection is enough xD
21:12:59  <frosch123> esp. because i did not look at the switch after it, and wondered how that bit magic would check for a corner
21:13:09  <_dp_> ah)
21:13:15  <frosch123> _dp_: the same comment also mentions the corner :)
21:17:51  <_dp_> frosch123, is this descriptive enough?
21:18:01  *** andythenorth has joined #openttd
21:18:34  <frosch123> should be fine :)
21:18:45  *** agentw4b__ has quit IRC
21:20:08  <_dp_> frosch123, done
21:28:28  <frosch123> thanks :) now waiting for jenkins :p
21:28:47  <peter1138> Bad timing :(
21:29:19  <peter1138> Hmm, is it possible to setup extra nodes elsewhere?
21:29:27  <peter1138> As in... if I had spare capacity...
21:29:36  <_dp_> frosch123, could also turn that switch into bit magic but comment explaining that will probably be even bigger than the switch xD
21:30:28  <frosch123> peter1138: combo breaker, there could have been 3 dp commits in a row
21:31:05  <andythenorth> jenkins on AWS spot nodes :P
21:31:08  <peter1138> Aww
21:31:15  <andythenorth> almost free for just a few nodes
21:31:39  <peter1138> Still finding gui bits that should be realtime working on game ticks...
21:34:09  *** snail_UES_ has joined #openttd
21:39:40  <peter1138> Ok, that works better.
21:39:55  <peter1138> Scrollbar buttons are usable in FFWD mode now :p
21:42:12  <peter1138> Ah yes, must not forget the animated mouse cursors that are affected by FFWD.
21:45:25  <frosch123> @calc 0.02 * 52 * 20 * 12*4
21:45:25  <DorpsGek> frosch123: 998.4
21:45:39  <frosch123> hmm, yeah, aws is too expensive for us
21:46:14  <frosch123> hmm, actually, only a 1/4 of that
21:47:51  <peter1138> £250 a year?
21:48:07  <peter1138> €
21:48:21  <Eddi|zuHause> is there much difference?
21:48:22  <frosch123> $
21:48:51  <frosch123> Eddi|zuHause: it all depends on estimating how many minutes we actually need :p
21:49:01  <frosch123> i tried the current activity
21:49:37  <frosch123> 12 builds per day, 4 days per week, 52 weeks per year
21:50:00  <frosch123> 20 minutes per build when using 2 cores
21:50:18  <_dp_> hmm, having hard times understanding my own patch
21:50:24  * _dp_ too much freaking magic
21:50:39  <Eddi|zuHause> means you didn't document it properly!!!!
21:50:45  <peter1138> frosch123, what's it all running on at the moment? The normal OpenTTD server?
21:50:57  <frosch123> half a cent for 2 cores per minute
21:51:05  <_dp_> Eddi|zuHause, yeah, but there's like 6 lines comment I'm trying to understand xD
21:51:10  <andythenorth> it starts out cheap and gets expenisve
21:51:27  <frosch123> peter1138: i assume so, 5 years old
21:51:43  <peter1138> Is the plan to get rid of it?
21:51:46  <_dp_> Ah, got it... I guess I'll add few more lines to that comment xD
21:51:49  <andythenorth> do we need a patreon? o_O
21:52:14  <frosch123> peter1138: maybe, but it is unrealistic :p
21:52:54  <frosch123> we won't be able to run custom stuff like eints, bananas2 and masterserver on cloud stuff for free
21:53:04  <frosch123> so custom server will likely be cheaper
21:53:18  <peter1138> Yeah, cloud is not really cheaper.
21:53:50  <frosch123> but cloud may be an option for the farm, since we have a hard time to predict the usage for that :p
21:54:08  <Eddi|zuHause> "cloud" always sounds to me like the only point where it's better is if you need to scale it quickly to random loads
21:54:11  <peter1138> I think cloud is more of an option when you can predict it :p
21:55:52  <frosch123> andythenorth: i have no idea about ottd finances, but there was always enough money, there is probably some miner somewhere
21:56:35  <andythenorth> cloud is $$ more for equal performance
21:56:39  <frosch123> the last fundraiser was for 0.7 iirc
21:56:41  <andythenorth> unless you have to pay sysadmin
21:57:00  <andythenorth> if you only measure computing perf. / $ then cloud is not a good deal
21:57:07  <andythenorth> do we pay our sysadmin?
21:58:01  <frosch123> yes, with "thanks"
21:58:25  <nielsm> excuse me what's the difference here?
21:58:35  <nielsm> IntelliDense?
21:59:34  <andythenorth> who has the money these days? o_O
21:59:51  <frosch123> rudge always did
22:07:37  <frosch123> i guess just buying more vps is cheapest option when current server is overloaded
22:09:11  *** sim-al2 has quit IRC
22:11:18  <frosch123> @calc 52 * 20 * 12*4 * 1.604/60
22:11:18  <DorpsGek> frosch123: 1334.528
22:11:42  <frosch123> @calc 52 * 20 * 12*4 * 0.106/60
22:11:42  <DorpsGek> frosch123: 88.192
22:12:32  <frosch123> ovh offers cpu power for 1/3 the price of aws
22:13:00  *** Thedarkb1 has joined #openttd
22:13:03  <frosch123> with more ram and network bandwidth
22:14:17  <Wolf01> 'night
22:14:20  *** Wolf01 has quit IRC
22:14:37  <peter1138> Hmm, I guess the scrolling patch makes OpenTTD playable in VR desktops too :p
22:14:50  <peter1138> Well, "playable"
22:15:05  <peter1138> Mind you would still be easier to just use the mouse.
22:16:06  <frosch123> people always wanted to drive inside their own trains
22:16:26  <peter1138> Yeah. There's a new game for that. Rolling Line.
22:16:36  <peter1138>
22:20:23  *** andythenorth has quit IRC
22:23:36  <nielsm> hmm, if the player switches to an empty music set, playback stops
22:23:49  <nielsm> if the player then switches to a non-empty music set, playback does not resume
22:24:10  <nielsm> but there isn't any way to know whether playback was stopped because player switched to empty music set, or because player pushed the stop button
22:24:28  <peter1138> Make a way :P
22:24:35  <nielsm> would be it okay to assume that playback always should start if the player switches away from an empty set?
22:25:17  <nielsm> I think it's what I'd personally want most of the time
22:25:48  <frosch123> i think there is some magic about the intro gui always playing the same song
22:26:26  <nielsm> actually, if you stop the music, exit the game, and start again, you get no music on the title screen
22:27:19  <nielsm> same if you switch to NoMusic in game options from title screen, closes game options, opens again, then selects a different music set
22:29:59  <nielsm> unrelated, I can't get the Game Options window to properly redraw the music set description when I change set, is there a good overview of the various window invalidation functions somewhere?
22:31:42  *** Wacko1976 has quit IRC
22:38:43  <frosch123> nielsm: SetDirty probably
22:40:48  <frosch123> or InvalidateData
22:40:48  <nielsm> yes see, I am in fact calling InvalidateWindowData(WC_GAME_OPTIONS, 0); SetWindowDirty(WC_GAME_OPTIONS, 0);
22:40:48  <nielsm> and it does just about nothing
22:40:48  <peter1138> Well
22:40:49  <peter1138> The window also needs to implement logic to handle the invalidation.
22:40:57  <frosch123> nielsm: if you have "this", you do not need the window class stuff
22:41:21  <nielsm> I don't in this context
22:41:53  <frosch123> anyway the old dropdown did InvalidateData
22:41:57  <nielsm> since the ChangeMusicSet function I'm factoring code into fits best in music_gui.cpp, since it needs to call all the playlist management functions
22:44:06  <frosch123> nielsm: you need to call InvalidateWindowData(WC_GAME_OPTIONS, WN_GAME_OPTIONS_GAME_OPTIONS)
22:47:03  <nielsm> and pass gui_scope=true to it too, I think
22:47:03  <frosch123> yes
22:54:56  *** frosch123 has quit IRC
22:57:33  <peter1138> TrueBrain, hehe, _realtime_tick was implemented by... you ;)
22:58:08  <nielsm> the answer to "what idiot wrote this terrible code?" is always "myself"
23:00:59  <peter1138> Back in the days of VARDEF...
23:01:48  <glx> ok ICU55 is not compilable with vs2015 and above it seems
23:02:18  <glx> oh when we had globals everywhere peter1138 ?
23:02:59  <peter1138> Well, we still do.
23:03:25  <glx> it's cleaner now
23:03:34  <peter1138> A bit.
23:06:10  *** GT has joined #openttd
23:13:37  *** nielsm has quit IRC
23:18:45  *** Wormnest has quit IRC
23:22:46  *** Progman has quit IRC
23:24:37  *** Gja has quit IRC
23:34:24  *** GT has left #openttd
23:47:33  *** Zuu has quit IRC
23:50:27  *** FLHerne has quit IRC

Powered by YARRSTE version: svn-trunk