IRC logs for #openttd on OFTC at 2018-04-24
            
00:07:04 *** supermop_work has quit IRC
00:10:38 *** Progman has quit IRC
00:20:56 *** Wormnest has quit IRC
00:24:35 *** andythenorth has quit IRC
00:38:33 *** som89 has joined #openttd
00:39:53 *** ToBeFree has joined #openttd
00:49:51 *** som89_ has joined #openttd
00:54:20 *** som89 has quit IRC
01:00:20 *** ToBeFree has quit IRC
01:15:24 *** HeyCitizen has joined #openttd
01:22:30 *** FLHerne has quit IRC
01:44:47 *** chomwitt has quit IRC
02:10:38 *** iSoSyS has quit IRC
02:57:44 *** snail_UES_ has joined #openttd
02:59:09 *** sim-al2 has joined #openttd
03:04:07 *** glx has quit IRC
03:08:56 *** supermop has joined #openttd
04:57:28 *** muffindrake2 has joined #openttd
04:59:20 *** muffindrake1 has quit IRC
05:03:47 *** Flygon has joined #openttd
06:26:09 *** tokai|noir has joined #openttd
06:26:09 *** ChanServ sets mode: +v tokai|noir
06:31:58 *** snail_UES_ has quit IRC
06:32:11 *** supermop has quit IRC
06:33:20 *** tokai has quit IRC
06:39:46 *** Wacko1976 has joined #openttd
06:55:59 *** Wacko1976 has quit IRC
06:59:29 *** Wacko1976 has joined #openttd
07:36:05 *** Wacko1976 has quit IRC
07:43:35 *** andythenorth has joined #openttd
07:43:51 *** andythenorth has left #openttd
07:49:07 *** som89_ has quit IRC
08:01:17 *** Cubey has quit IRC
08:03:55 *** som89_ has joined #openttd
08:11:05 *** andythenorth has joined #openttd
08:16:10 *** Alkel_U3 has quit IRC
08:16:16 *** Alkel_U3 has joined #openttd
08:23:17 *** Extrems has quit IRC
08:28:53 *** ToBeFree has joined #openttd
08:36:07 *** Pikka has joined #openttd
08:36:55 <Pikka> yikes
08:41:21 <peter1138> Yokes
08:42:55 <Eddi|zuHause> ... can't think of a pun to put here...
08:49:38 <Pikka> something about eggs or oxen, probably
09:00:30 <andythenorth> slopey train problems http://dev.openttdcoop.org/attachments/download/9005/horse_cheese.png
09:00:36 <andythenorth> I like flat trains
09:01:39 <Eddi|zuHause> it looks better than yesterday when the yellow front looked like it's sticking out
09:02:00 <V453000> andythenorth: I actually like it a lot
09:02:25 <andythenorth> I might steal the vectron from NARS 2 for one engine
09:02:32 <andythenorth> I have to do 4 of these slopey things
09:02:38 <andythenorth> and make them look different
09:02:47 <Pikka> looks good :D sloped fronts in the _ views are one of the hardest things to draw imo
09:03:22 <Pikka> and the subtler the slope the harder it is
09:06:24 <andythenorth> did an electro diesel one too http://dev.openttdcoop.org/attachments/download/9006/horse_cheese_2.png
09:07:06 <andythenorth> this is tricky shape for 1x http://www.vladanfoto.cz/files/class_88/class-88.001-16-04-29-velim-5384z.jpg
09:07:24 <V453000> it doesn't have to be exact you know :P
09:07:48 <andythenorth> no
09:07:51 <andythenorth> I know :P
09:10:33 * peter1138 ponders buying Locomotion on Steam.
09:10:50 <Pikka> eww
09:10:56 <peter1138> IKR
09:11:27 <Eddi|zuHause> i think someone gave me a locomotion CD once
09:11:31 <Eddi|zuHause> never touched it
09:11:35 <peter1138> It has a very subdued palette.
09:12:26 <peter1138> And misses useful stuff like working signals.
09:12:32 *** Thedarkb-X40 has quit IRC
09:12:43 <peter1138> How do I make this window shrink automatically?
09:12:55 <__ln__> it also has useful stuff that ottd doesn't
09:13:16 <peter1138> Of course.
09:13:22 <Eddi|zuHause> i'm pretty satisfied with the signals in TF
09:14:08 <Eddi|zuHause> only thing about TF i actively dislike is that it disables achievements with mods
09:14:32 <Eddi|zuHause> (there are of course minor annoyances all over the place)
09:14:40 <Eddi|zuHause> (and it's still missing a planning mode)
09:28:03 <andythenorth> bbbl
09:28:05 *** andythenorth has quit IRC
09:41:51 *** Stewox has joined #openttd
09:42:30 <peter1138> Anyone have a copy of the vehicle group icons without the overlays?
09:48:28 *** Stewox has quit IRC
09:50:20 <Eddi|zuHause> not even a clue what icons you mean
09:50:31 *** Zexaron has joined #openttd
09:50:55 <peter1138> Icons on the vehicle group UI.
09:56:58 *** andythenorth has joined #openttd
09:57:15 <peter1138> Do you, andythenorth?
09:57:36 <andythenorth> possibly
09:57:49 <peter1138> Great!
09:58:10 <andythenorth> or I have to cut them out
09:58:42 <andythenorth> as icons go, they're not the best of the best
09:58:46 <andythenorth> that yellow star, what is it?
09:59:08 <peter1138> "new"
09:59:11 <peter1138> But. Hmm.
10:00:05 <andythenorth> Pikka: mines a P2
10:00:18 <andythenorth> I'm not doing cheese steamers
10:03:05 *** sim-al2 has quit IRC
10:09:38 <peter1138> ukrs3 looks nice
10:24:51 <andythenorth> UKRSn+1
10:38:02 *** ToBeFree has quit IRC
10:38:17 <Pikka> mmm, cheese
10:38:40 <peter1138> Cheese please louise.
10:39:26 <peter1138> andythenorth, I pushed an update (rebased so you need to drop local branch first)
10:39:40 <peter1138> There's a "slight" issue with it :p
10:41:52 *** Zexaron has quit IRC
10:50:18 <andythenorth> did it gain shared vehicles commands? o_O
10:50:33 <andythenorth> oh no they're in trunk too
10:50:34 <andythenorth> nvm
10:50:42 * andythenorth bbl
10:50:44 *** andythenorth has left #openttd
11:06:05 *** FLHerne has joined #openttd
11:16:39 *** sla_ro|master has joined #openttd
12:39:41 *** sla_ro|master has quit IRC
13:09:18 *** Wacko1976 has joined #openttd
13:16:34 <LordAro> https://github.com/OpenTTD/OpenTTD/issues/6747 pretty sure this was justified
13:17:31 <__ln__> an integrated web browser?
13:27:00 <SpComb> then you could use asm.js to play openttd inside openttd?
13:27:36 <SpComb> but probably for like NewGRF READMEs on bananas
13:32:52 *** chomwitt has joined #openttd
13:32:56 <peter1138> When do we get NewMap?
13:34:28 <__ln__> are you talking about the thing that was previously talked about in ~2005?
13:35:37 <SpComb> I would like bendy 3D bridges
13:37:45 <__ln__> i need underground tunnels
13:38:31 <peter1138> Yeah.
13:39:25 <__ln__> fair enough, regular tunnels are underground by definition. but i mean... below sea-level, and also stations in tunnels, and so on.
13:45:57 *** Wacko1976 has quit IRC
13:51:51 <SpComb> https://steamcommunity.com/sharedfiles/filedetails/?id=839713878 https://steamcommunity.com/sharedfiles/filedetails/?id=854664535
13:52:00 <SpComb> openttd just isn't moddable enough :P
13:53:26 <SpComb> wtf, the latter is even "This is an official mod from the Transport Fever developer team"
14:00:02 <peter1138> Do I need to get myself Transport Fever next time it's on salae?
14:00:05 <peter1138> And sale.
14:30:30 <V453000> just go bike instead :P
14:30:46 *** snail_UES_ has joined #openttd
14:34:03 <peter1138> Probably a good idea.
14:36:31 <V453000> also I finally made my resizing python script work with drag&dropping pictures/folders onto it ... I haven't worked on the trains for months and I completely forgot what format of a command does it want to eat ... apparently rewriting it was the easiest solution :d
14:36:34 <V453000> automation ._.
14:46:22 *** sim-al2 has joined #openttd
15:12:02 *** supermop_work has joined #openttd
15:13:20 *** snail_UES_ has quit IRC
15:18:28 *** cHawk has quit IRC
15:30:28 *** Alberth has joined #openttd
15:30:28 *** ChanServ sets mode: +o Alberth
15:30:46 *** cHawk has joined #openttd
15:51:07 *** andythenorth has joined #openttd
15:52:51 *** sla_ro|master has joined #openttd
15:53:25 *** sim-al2 has quit IRC
15:53:47 *** Extrems has joined #openttd
15:54:42 <andythenorth> o/
15:54:58 <peter1138> Maybe I should get Skyrim VR.
15:55:57 <Alberth> o/
15:58:07 <andythenorth> done up a Turtle
15:58:09 <andythenorth> http://dev.openttdcoop.org/attachments/download/9007/horse_turtle.png
15:58:14 <andythenorth> fast pax diesel engine
15:58:22 <andythenorth> which livery?
15:59:07 <andythenorth> (the choices are just 1CC + 2CC or swapped)
16:00:38 <andythenorth> "mainly 2cc" matches the coaches
16:00:50 <andythenorth> "mainly 1cc" matches the other engines in this tech tree
16:04:03 <peter1138> Well...
16:04:21 <peter1138> All of them :p
16:05:20 <andythenorth> group livery UI only allows one color choice right?
16:05:26 <andythenorth> no split engines / arbitrary wagons
16:05:33 <andythenorth> or power types and stuff
16:06:59 <peter1138> Yeah, just one per group.
16:07:23 <peter1138> I did mention it could possibly have the whole normal thing per group, but that would be overkill and silly.
16:07:43 <peter1138> But now you mention it, someone will complain ;p
16:08:08 <andythenorth> the normal thing per group is fine
16:08:15 <peter1138> And that would require my UI to be completely changed again.
16:08:15 <andythenorth> it's just that the implementation is weird :)
16:09:00 <peter1138> g->livery[LS_END]? o_O
16:09:17 <andythenorth> I'd have to look that up :P
16:15:27 <peter1138> Might as well have individually assignable colours per vehicle ;p
16:15:45 <andythenorth> hurgh :P
16:15:49 <andythenorth> well
16:15:51 <peter1138> Hmm, though having the whole set of liveries per group wouldn't make sense.
16:15:59 <peter1138> As groups have vehicle types.
16:16:06 <andythenorth> yeah, some options would be meaningless
16:16:16 <peter1138> Although it would be the easier way to implement it.
16:16:47 <andythenorth> it's potato / potato to me
16:16:56 <andythenorth> whatever's simplest to implement
16:17:00 <andythenorth> one livery is fine
16:17:14 <andythenorth> the current set of liveries is silly, but kind of useful
16:17:32 <peter1138> Actually the UI changes would be simpler ;?
16:17:33 <peter1138> :/
16:17:37 <andythenorth> hmm do I have the right branch from your fork?
16:17:44 <andythenorth> group-livery
16:18:16 <FLHerne> Anyone review a 1-line NML patch? :P http://www.flherne.uk/files/nml.diff
16:18:55 <FLHerne> Boolean conversions only occur with logical ops, where they're generated implicitly
16:19:02 <andythenorth> I reviewed it and discovered I don't understand it :)
16:19:09 <andythenorth> I can't commit that :)
16:19:14 <andythenorth> maybe Alberth
16:19:20 <FLHerne> The current code turns !foo into !!!(foo) which turns into !!!(!!(foo)) etc
16:20:39 <FLHerne> So the end result is that running nmlc --nml=... in a loop results in an infinitely large file consisting mostly of !!() :P
16:21:04 <peter1138> andythenorth, yeah, if you scrapped it and repulled.
16:21:10 <peter1138> (i rebased)
16:21:15 <andythenorth> I trashed the repo and recloned
16:21:21 <peter1138> kk
16:21:32 <peter1138> there's no button in the group window any more
16:21:35 <peter1138> it's all in company colours
16:21:46 <andythenorth> wow
16:21:48 <peter1138> mainly cos i didn't want to have to design an icon :p
16:21:51 <peter1138> and it's broken
16:21:57 <peter1138> but not massively
16:23:01 <andythenorth> if I drew an icon, button on group window could open that livery window, focussed on correct grop
16:23:03 <andythenorth> group *
16:23:23 <peter1138> Could do.
16:24:36 <andythenorth> wow
16:24:40 <andythenorth> how much wrong in one post? https://www.tt-forums.net/viewtopic.php?p=1205831#p1205831
16:24:46 <andythenorth> C++ is outdated and slow
16:24:54 <andythenorth> newgrf is the cause of all the performance issues in the game
16:25:01 <andythenorth> changing language makes specs unnecessary
16:25:43 <LordAro> i'm curious what he thinks would be a better language
16:26:13 <andythenorth> I'm curious about how much wrong can be in one post
16:26:30 <andythenorth> I mean there are people who have obvious mental health issues who can top that easily
16:26:44 <andythenorth> but that's high up the list for recent years
16:26:55 <andythenorth> oops I should be elsewhere
16:26:57 <andythenorth> BIAB
16:27:03 *** andythenorth has quit IRC
16:28:40 <peter1138> I don't even think NewGRF is particularly slow. Just that particular case.
16:38:13 *** Gja has joined #openttd
16:45:12 <Alberth> just a bit inconvenient interface
16:45:21 <Alberth> but there are more such points in the spec
16:46:59 <Alberth> FLHerne: that patch won't fly, boolean should get limited to 0 or 1, which happens with !!
16:47:34 <FLHerne> Alberth: Yes, but the parser inserts those implicitly when parsing logical ops
16:48:02 *** Wormnest has joined #openttd
16:48:05 <FLHerne> !!(foo) appearing in the source still gets parsed and saved fine
16:48:35 <Alberth> I am not sure it's a problem, there is code for simplifying expressions too
16:49:06 <FLHerne> Alberth: Without this patch, we read !!(foo) and write it as !!!(!!!(foo))
16:49:32 <Alberth> what if you don't have a logical op? eg use it as integer index, for example
16:50:24 <FLHerne> The same happens
16:50:36 <Alberth> without !! as you propose
16:50:44 <FLHerne> 'Boolean' doesn't have any rule directly in the parser
16:51:00 <FLHerne> !! is always parsed as LogicalNot
16:51:08 <Alberth> integers are also booleans, like in C
16:51:21 <FLHerne> Yes, I know
16:51:23 <Alberth> 0 is false, anything else is true
16:51:30 *** andythenorth has joined #openttd
16:51:54 <Alberth> but that breaks if you use a boolean in an integer context
16:52:06 <Alberth> as it must be 0 or 1 then
16:52:13 <FLHerne> Yes, but that's also implicit...
16:52:38 <FLHerne> Hm, I need to re-explain
16:52:40 *** Wacko1976 has joined #openttd
16:54:03 <FLHerne> To the parser, !value means LogicalNot(Boolean(value))
16:54:10 <Alberth> if you can detect the child expression to be a boolean with those limits in place already, it could work
16:54:19 <Alberth> yes
16:54:31 <FLHerne> !!value is just that, nested
16:54:34 <Alberth> and !! means (x) ? 1 : 0
16:54:45 <Alberth> which is not the same as x
16:55:04 <Alberth> namely for all values x other than 0 and 1
16:55:11 <FLHerne> Yes, but it doesn't mean that as a different symbol
16:55:25 <peter1138> x != 0
16:55:48 <Alberth> (((..(x != 0) != 0) != 0) ... )
16:56:42 <FLHerne> If you actually write !!foo in the source, it's parsed as LogicalNot(Boolean(LogicalNot(Boolean(<foo>))))
16:56:55 <Alberth> yes
16:56:58 <FLHerne> The conversion is implied by the existence of !
16:57:21 <FLHerne> So when writing out the AST, adding /extra/ !!()s for the conversions is never necessary
16:57:43 <peter1138> So, er... what patch are you talking about?
16:57:45 <FLHerne> (fwiw, this is also true for the other operators that cause int->bool conversions
16:57:47 <FLHerne> )
16:57:58 <Alberth> for the second time, it's not, for the first time, when your child is "<foo>", it is
16:58:32 <FLHerne> Alberth: I think you're confused about what the change changes :P
16:58:47 *** chomwitt has quit IRC
16:58:54 <Alberth> that's quite possible :)
16:59:12 <FLHerne> It doesn't stop the parser creating Boolean nodes in the AST, it just stops them being written out
16:59:45 *** synchris has joined #openttd
17:00:20 <FLHerne> Because they're /always/ implicit
17:00:53 <Alberth> if a boolean mode is "2", then writing out "2" and "!!2" is not the same, so where is the !! added for the child then?
17:01:01 <Alberth> mode=node
17:01:02 <FLHerne> An 'explicit' boolean conversion is parsed as a pair of logicalnots, which then implicitly get the Boolean nodes added
17:01:12 <FLHerne> Alberth: By the logicalnots
17:01:25 <Alberth> ah, ok
17:01:25 <FLHerne> peter1138: It's http://www.flherne.uk/files/nml.diff
17:02:01 <Alberth> so an "assert isinstance(expr, LogicalNot)" would hold?
17:03:07 <FLHerne> No, implicit bool conversions also get generated for the other logical ops
17:03:28 <Alberth> ok, add the other logical operators too :)
17:04:00 <Alberth> assert(expr, (LogicalNot, LogicalAnd, LogicalOr))
17:04:07 <Alberth> +isinstance
17:04:11 <peter1138> Ah, nml. 'Nother Magic Language
17:04:53 <FLHerne> Alberth: No, it's the other way round
17:04:56 <Alberth> for me, NewGRF is the magic language :)
17:05:22 <FLHerne> Alberth: The /children/ of logicalops get Boolean conversion nodes, because that makes sense :P
17:05:39 <FLHerne> Really, I think it's a code-gen hack rather than a proper syntax tree
17:05:43 <FLHerne> Well, no
17:05:46 <FLHerne> It makes sense
17:06:57 <Alberth> well, not sure, a logicalop could handle arbitrary integer values as input, unlike anything surrounding a logical expression which is not aware of it being a boolean
17:07:23 <FLHerne> Anyway, my reasoning is:
17:07:42 <FLHerne> - There is no Boolean symbol in the tokenizer/parser
17:07:58 <Alberth> sounds likely
17:08:11 <FLHerne> - Therefore all Booleans appearing in the AST must have been implicitly created while parsing other nodes
17:09:02 <FLHerne> - Therefore the parent node must imply the existence of the conversion
17:09:28 <Alberth> code is also created at a later stage, while simplifying an expression, or rewriting to a form that you can actually implement
17:09:35 <FLHerne> - Therefore we don't need to write out extra syntax for the conversion, because we know it's there
17:10:32 <FLHerne> That's a point, I need to check if that can happen
17:11:30 <andythenorth> V453000: http://www.railwaygazette.com/uploads/pics/tn_ru-tem19-gas-loco-tmh.jpg
17:12:00 <V453000> wotwot
17:13:19 <peter1138> Alberth, I don't think anyone's called NewGRF a language before ;)
17:14:01 <andythenorth> I wanted to make a new thread for that discussion
17:14:09 <andythenorth> it's a bit unfair on JGR
17:14:14 <peter1138> :)
17:14:27 <andythenorth> pisses me off when threads about my stuff take a 2 or 3 page diversion into blah blha blah
17:15:16 <FLHerne> Alberth: Hrm, I think you're right :-/
17:16:12 <andythenorth> such train https://www.railcolor.net/imgs/content/model_vossloh_dm30_2.jpg
17:16:13 <FLHerne> It does look possible that the other nodes could get reduced away, although I haven't actually been able to make an example
17:16:34 <Alberth> expression rewriting in nml is horrible :p
17:16:52 <andythenorth> nml is horrible :)
17:17:00 <andythenorth> we should replace it
17:17:03 <andythenorth> with something fast
17:17:07 <andythenorth> maybe bytecode?
17:17:16 <peter1138> Squirrel.
17:17:21 <peter1138> Wait wait.
17:17:23 <peter1138> ini files
17:17:35 <peter1138> And an undo knob.
17:17:37 <Alberth> I once tried to avoid rewriting expressions that have been rewritten already, but even deciding an expression node is not modified anywhere is already too complicated to decide, I found
17:17:51 <andythenorth> peter1138: an MP undo knob
17:17:58 <Alberth> yaml is much nicer
17:18:00 <andythenorth> and a redo knob
17:18:07 <FLHerne> Bleh, and there's no sane way to look at the parent node to make sure it implies the conversion...
17:18:14 <Alberth> andy: undo the undo :p
17:18:34 <peter1138> I'm not sure I've ever looked at nml code properly.
17:18:40 <peter1138> I don't know the structure of it.
17:18:41 <andythenorth> "no need"
17:18:56 <FLHerne> Oh, I can see a way to fix that, but it'll be horrible :P
17:19:03 <andythenorth> the action 0 and action 2 map in nml
17:19:21 <andythenorth> the action 3 is hidden away
17:19:35 <andythenorth> action 1 kind of maps
17:19:59 <andythenorth> there's a lot of magic, what has been done is quite an achivement
17:19:59 <Alberth> the problem of newgrf are this riddles in action X sentences
17:20:10 <Alberth> no way to understand them
17:20:12 <peter1138> varaction nonsense too
17:20:21 <andythenorth> I have a whole saved transcript "the trouble with nml"
17:20:39 <andythenorth> but apart from being terrible at bytecode, nfo never troubled me
17:20:42 <andythenorth> and I am not a programmer
17:20:45 <peter1138> The concept of having to ask what sprite to draw everything time is flawed, imho.
17:20:59 <peter1138> -thing
17:21:03 <andythenorth> is there really no caching?
17:21:20 <andythenorth> does it run the chain every time the graphics are drawn?
17:21:37 <Alberth> cache implies you know the decision ahead
17:21:46 <andythenorth> but mostly the decision doesn't need to be made
17:21:54 <Alberth> but it's arbitrary decision code
17:21:57 <peter1138> andythenorth, yes, becuase, you know, something might have changed.
17:22:10 <andythenorth> yes, the prototype might be blue on Tuesdays in 1931
17:22:12 <peter1138> like those animated steamers.
17:22:14 <andythenorth> and it might be Tuesday
17:22:29 <peter1138> where the newgrf decides which frame to draw every time
17:22:31 <andythenorth> animation is the valid special case
17:22:47 <peter1138> even that doesn't need to ask every time, if it's well designed
17:22:49 <andythenorth> but there are other ways to do animation
17:22:54 <andythenorth> animation can have defined frames
17:22:55 <peter1138> (supply a list of frames at the start)
17:22:57 <peter1138> quite
17:23:02 <andythenorth> exactly
17:23:06 <andythenorth> just cycle them
17:23:06 <FLHerne> Would it be possible to scan the callback beforehand, to see which variables it depends on?
17:23:13 <andythenorth> like a walk cycle loop
17:23:24 <peter1138> I'm not sure but I think varaction processing is probably quicker in ttdpatch too.
17:23:26 <FLHerne> (and then only run ones where the deps could plausibly have changed)
17:23:37 <andythenorth> do we even know that newgrf is slow?
17:23:37 <peter1138> Far less support code around it.
17:23:47 *** ToBeFree has joined #openttd
17:23:54 <peter1138> It's not the slowest thing.
17:24:08 *** ToBeFree has quit IRC
17:24:32 <Alberth> without assuming values, you're looking at branching into every "if", which explodes quite fast to much of the newgrf, probably
17:24:45 <peter1138> Retrying industry placement may be slow but that's not inherently newgrf's fault.
17:25:23 <Alberth> bigger points of pain is vehicle replacement, imho
17:25:32 <peter1138> Do we get the sprite for every vehicle, or just the visible ones?
17:25:41 <Alberth> industries are not created often enough
17:25:45 <andythenorth> industry placement is faster if one doesn't ECS
17:25:57 <andythenorth> maybe it shouldn't be George's responsibility
17:26:02 <andythenorth> but it is, and he's made it slow
17:26:02 <Alberth> no idea, my guess is just what needs to be drawn
17:26:05 <peter1138> I don't ECS :D
17:26:17 <andythenorth> ECS is slow to place industries because the rules are far too fine-grained
17:26:36 <andythenorth> arguably the mod framework should defend authors against that
17:26:42 <andythenorth> but then it would have to be very restricted in scope
17:26:51 <peter1138> Alberth, I have a suspicion it uses the dimenions of the sprite to fill a hash to determine what is on-screen.
17:26:55 <andythenorth> if authors want control, then they have to be responsible
17:26:58 <peter1138> Not looked for ages though.
17:27:06 <andythenorth> there are lots and lots of shit minecraft mods that will cause lag or crashes
17:27:15 <peter1138> I remember writing a patch that would cache the max possible size for a vehicle and always use that.
17:27:21 <peter1138> But, you know, patches...
17:27:34 <andythenorth> now they can be unfinished branches ;)
17:27:39 <peter1138> Yes ;)
17:27:44 <andythenorth> or stash :P
17:27:49 <andythenorth> put em in gist :P
17:27:57 * andythenorth must to go elsewhere again
17:28:01 *** andythenorth has left #openttd
17:28:02 <peter1138> I've had minecraft packs that just flat out refused to load because 8GB wasn't enough RAM.
17:29:17 <LordAro> minecraft isn't exactly known for its efficient resource usage
17:29:48 <Sacro> I find 10-12 is enough for modpacks
17:31:19 <peter1138> I have 32GB now so that should be enough.
17:36:27 <FLHerne> Alberth: Any idea if nmlop.AND not having returns_boolean is an omission or means something?
17:36:33 <FLHerne> (OR ditto)
17:37:12 <FLHerne> Oh
17:37:14 <FLHerne> Wrong one?
17:38:09 <FLHerne> Ah, no, I see
17:38:12 <FLHerne> That's clever :P
17:39:06 <FLHerne> ( | and || are actually the same operator, and converting the args to bool in the latter case makes it behave in the logical way)
17:40:04 <Alberth> it has been a few years I last looked at that code :)
17:44:40 *** chomwitt has joined #openttd
17:45:01 *** Thedarkb-X40 has joined #openttd
17:53:06 *** Gja has quit IRC
18:02:16 *** Cubey has joined #openttd
18:08:12 *** Flygon has quit IRC
18:21:27 <peter1138> Yay Simutrans.
18:21:56 <peter1138> I clicked on the "Net work" icon and the whole thing froze.
18:29:16 <Pikka> o/
18:30:22 *** TheMask96 has quit IRC
18:31:08 *** TheMask96 has joined #openttd
18:31:58 <peter1138> Apparently my company has a colour, but I've not seen it anywhere :p
18:34:30 <FLHerne> Alberth: Less of a big-hammer approach: http://www.flherne.uk/files/nml2.diff
18:35:29 <FLHerne> (also makes logical ORs and ANDs more readable even without bool conversions)
18:37:15 <FLHerne> I spent a while trying to add a `to_string_func` to Operator, but that doesn't work because Operator.to_string takes /strings/ for the exprs so can't tell whether it's a logical op
18:37:40 <FLHerne> (and it wouldn't be straightforward to change that)
18:38:33 <Alberth> I don't have the code in my head, so can't quite comment on that :)
18:39:11 <Alberth> I guess "is_boolean" is different from isinstance(expr, Boolean) ?
18:39:58 <Alberth> oh the former is also defined on operators of course
18:43:02 <Alberth> your 'not' code is the same as unpack, move the function to a more global level, and reuse?
18:46:03 <FLHerne> Probably a good idea
18:47:47 <FLHerne> I'm not really familiar with nml structure, any suggestions?
18:48:04 <FLHerne> Perhaps I should just make it a staticmethod of Boolean
18:48:09 <Alberth> I was pondering why both classes are not in the same file :p
18:48:49 <FLHerne> binary vs unary ops, I think
18:49:06 <Alberth> ah, makes somewhat sense, I guess
18:49:11 <FLHerne> Well, I don't know why anyone cared
18:49:50 <Alberth> y3xo did, no doubt
18:59:14 *** HerzogDeXtEr has joined #openttd
19:01:23 *** Wolf01 has joined #openttd
19:01:53 *** frosch123 has joined #openttd
19:02:07 <Wolf01> Moin
19:02:25 *** Gja has joined #openttd
19:02:57 <Wolf01> Wow, for the first time I made 249M points on pinball
19:03:15 *** Wacko1976 has quit IRC
19:03:38 <LordAro> Wolf01: nice
19:03:48 <LordAro> i don't think i ever got more than 10M
19:04:09 <Wolf01> It took me half of the lunch break and some time now, continuous multiballs, I had 5 balls for the entire game
19:04:40 <Wolf01> (after losing 2 of the 3 balls at the beginning)
19:04:58 <Alberth> o/
19:07:03 <frosch123> evenink
19:07:19 <peter1138> isn't it
19:08:25 <LordAro> Wolf01: how are you playing? I hope you don't have an XP machine still...
19:09:14 <peter1138> How do I force a window to shrink? :S
19:10:23 <Eddi|zuHause> i don't think i've even thought of the existence of pinball over the last ~12 years
19:11:02 <frosch123> peter1138: ReInit()
19:11:19 <Wolf01> LordAro: on the phone
19:13:19 <peter1138> Hmm, that is being called.
19:15:04 <FLHerne> Alberth: Bleh, writing concise docstrings is hard http://www.flherne.uk/files/nml3.diff
19:15:15 <Wolf01> peter1138: I'm going to retry abusing the UnpackIfValid to extract the RoadType from RoadTypes... or you say is it better to pass the RoadType on the function call?
19:15:37 <peter1138> Don't abuse it, that's why it doesn't work :S
19:16:13 <FLHerne> Hm, I should add a comment to binop too
19:16:28 <FLHerne> nml doesn't have enough, but that's not an excuse not to add them :P
19:16:42 *** andythenorth has joined #openttd
19:16:51 <Wolf01> Ok, then I'll remove that, pass directly the RoadType on the function call, and reimplement UnpackIfValid when we'll add subtypes
19:17:13 <Wolf01> But this mean double change on the same spot
19:18:20 *** supermop_work has quit IRC
19:18:45 <Wolf01> Or, I'll use rtid::Pack() on the function call too, which does nothing else than passing a RoadType in the current state
19:19:01 <Wolf01> So I don't have to change the function calls later
19:19:19 *** Progman has joined #openttd
19:20:23 <Wolf01> I'll rearrange the p2 bits too
19:21:02 <Wolf01> What do you think?
19:25:28 <FLHerne> Alberth: http://www.flherne.uk/files/nml4.diff with added comment
19:26:30 <Alberth> bonus points! :)
19:27:03 <andythenorth> Pikka: is it not bedtime in BNE? :P
19:27:43 <FLHerne> Alberth: Are you ok to review/commit it, or do I have to nag someone else? ;P
19:27:43 <Pikka> hard to tell really :)
19:27:51 <andythenorth> what colour is outside?
19:27:54 <andythenorth> dark or light?
19:28:05 <Wolf01> Half way
19:28:33 <andythenorth> and should I? https://www.railcolor.net/imgs/content/model_vossloh_dm30_3.jpg
19:29:01 <Alberth> FLHerne: frosch123 may want to have check as well, I am not that well acquainted with nml code any more
19:29:44 <Alberth> I'll have to check what the is_bool function is doing at least :)
19:30:23 <andythenorth> FLHerne: also, how did you discover this issue? o_O
19:30:44 <Alberth> read output is my guess :p
19:31:04 <FLHerne> andythenorth: Well, I was loading and saving my file, and each time it got bigger and uglier :-(
19:31:21 <FLHerne> (with this one, it just gets ugly once and then stays unchanged with the round-trip)
19:31:35 *** glx has joined #openttd
19:31:35 *** ChanServ sets mode: +v glx
19:31:47 <andythenorth> peter1138: so liveries look done eh :P
19:31:59 <andythenorth> can't ship without bugs, it's bad luck
19:33:45 <FLHerne> Oh, the docstring's wrong, it should have even more !!!s http://www.flherne.uk/files/nml5.diff
19:33:49 <FLHerne> (not that anyone would care)
19:36:02 *** som89_ has quit IRC
19:36:39 <FLHerne> andythenorth: n round-trips lead to 3^n exclamation marks, so exponentiation being what it is it becomes noticeable quite fast
19:44:10 <Alberth> don't recompile an nml file to itself :p
19:44:33 <Alberth> the entire is_boolean looks quite hacky
19:48:20 *** Thedarkb-X40 has quit IRC
19:48:35 <frosch123> when is this stuff even used? in error messages?
19:52:57 *** Wacko1976 has joined #openttd
19:53:03 <andythenorth> so
19:53:09 <andythenorth> futurising sets is boring
19:53:11 <andythenorth> pikka is right :P
19:53:38 <Pikka> oops
19:53:51 <andythenorth> I need to replace the 37 in 2020
19:53:58 <andythenorth> but reality doesn't help
19:54:02 <andythenorth> no time machine :P
19:54:05 <Eddi|zuHause> i'd vote for a little bit of future, but too future-y will probably fail
19:54:35 *** Thedarkb has joined #openttd
19:54:38 <andythenorth> I was going to use this https://www.railjournal.com/media/k2/items/cache/9fb6ed564448145aec0fb63a40dd5881_XL.jpg?t=1460752527
19:54:50 <andythenorth> but it works better for the fast pax diesel in the tech tree for 2020
19:54:53 <andythenorth> so now I have nothing to draw :P
19:55:04 <Eddi|zuHause> make it a universal diesel?
19:55:11 <andythenorth> tech tree says no
19:55:22 <andythenorth> I could just have similar sprites
19:55:27 <Eddi|zuHause> make an identical one with different stats?
19:55:43 <andythenorth> the stats are already sorted :)
19:55:45 <andythenorth> and tested :)
19:56:25 <andythenorth> I did draw this http://dev.openttdcoop.org/attachments/download/9008/2020_horse.png
19:56:34 <andythenorth> but then I stole it for the Turtle
19:57:17 <V453000> 2100+ or riot
19:57:18 <Pikka> that's a lot of locos
19:57:28 <andythenorth> everything is cheese by 2020
19:57:30 <andythenorth> maybe this? https://hattonsimages.blob.core.windows.net/products/M2289_1.JPG
19:57:37 <andythenorth> it's not Brit
19:58:08 <V453000> Pikka may have skewed his perception of "a lot of locos" :P
19:58:13 <andythenorth> or https://www.railjournal.com/media/k2/items/cache/77c4fe2a7e317c1ca762236f81946bfb_XL.jpg?t=943938000
19:58:18 <V453000> but yeah, minimizing iz
19:58:20 <andythenorth> V453000 pikka has same number as me
19:58:27 <andythenorth> he just hides them in A, B and C :)
19:58:31 <V453000> :D
19:58:47 <Pikka> I don't have as many electro-diesels ;)
19:59:03 <Eddi|zuHause> what happened to "10 locos should be enough for anyone"?
19:59:32 <Pikka> I didn't say that, I said 10 locos should make a playable set
19:59:44 <Pikka> once you have a playable set, you can start making it more fun :P
20:00:54 <andythenorth> Pikka: how many do you have now? o_O
20:00:56 <andythenorth> 32?
20:01:04 <Pikka> something like that
20:01:45 <andythenorth> I'm at 35 now
20:01:52 <andythenorth> @calc 2020-1860
20:01:52 <DorpsGek> andythenorth: 160
20:02:00 <andythenorth> @calc 160/35
20:02:00 <DorpsGek> andythenorth: 4.57142857143
20:02:24 <ZehMatt> @calc 1/0
20:02:24 <DorpsGek> ZehMatt: Error: float division by zero
20:02:36 <ZehMatt> @calc 1/-0
20:02:36 <DorpsGek> ZehMatt: Error: float division by zero
20:02:39 <andythenorth> had to be tried eh
20:02:43 <ZehMatt> :)
20:02:47 <andythenorth> stop bullying the bot
20:02:59 <ZehMatt> u'll never know when you find the first singularity
20:03:20 <andythenorth> there's always a chance
20:06:20 <ZehMatt> @calc sqrt(1)
20:06:20 <DorpsGek> ZehMatt: 1
20:07:10 <ZehMatt> @calc sin(0.5)*cos(0.2)
20:07:10 <DorpsGek> ZehMatt: 0.46986894695
20:07:13 <ZehMatt> amazing
20:07:16 <ZehMatt> what is it running
20:08:15 <LordAro> supybot
20:08:27 <LordAro> (php)
20:08:40 <ZehMatt> @calc null+1
20:08:40 <DorpsGek> ZehMatt: Error: 'null' is not a defined function.
20:08:51 <ZehMatt> @calc NULL+1
20:08:51 <DorpsGek> ZehMatt: Error: 'null' is not a defined function.
20:08:54 <ZehMatt> ;(
20:09:05 <LordAro> come on, you can do better than that
20:09:12 *** Wacko1976 has quit IRC
20:09:15 <LordAro> @calc 1<< 2
20:09:15 <DorpsGek> LordAro: Error: Something in there wasn't a valid number.
20:09:20 <ZehMatt> @calc echo(1)
20:09:20 <DorpsGek> ZehMatt: Error: 'echo' is not a defined function.
20:09:20 <LordAro> @calc 1 << 2
20:09:21 <DorpsGek> LordAro: Error: Something in there wasn't a valid number.
20:09:32 <LordAro> anyway
20:09:59 <ZehMatt> oh since you are here
20:10:00 <peter1138> So
20:10:05 <ZehMatt> I've addressed the last review of yours
20:10:13 <ZehMatt> its ready from my end
20:10:59 <ZehMatt> moving a window on 120hz at 30hz is slightly akward to watch :p
20:12:07 <andythenorth> Pikka: shall I just refurb the 37 again? And not electro it? :P
20:12:13 <andythenorth> it's pretty close to IRL
20:12:25 <andythenorth> there are no replacements for 37s because they keep repairing them
20:12:33 <Pikka> I guess so
20:13:04 <andythenorth> saves drawing eh
20:13:56 <Pikka> I thought the 37s were all gone, I guess not :P
20:14:39 <andythenorth> seems there are about 40 or so left with leasing companies
20:15:30 <peter1138> ZehMatt, on my system I get horrible glitching as there's no vsync going on :S
20:15:59 <peter1138> (With your patch)
20:16:05 <ZehMatt> hm
20:16:07 <peter1138> I haven't tried the split-up version.
20:16:09 <ZehMatt> fullscreen, windowed?
20:16:24 <peter1138> It's there in master anyway, just less noticable as there is settle-time between frames.
20:16:34 <peter1138> Windowed, I'm not a monster.
20:17:03 <LordAro> unconvinced
20:17:05 <ZehMatt> i wonder how thats even possible
20:17:08 *** Wacko1976 has joined #openttd
20:17:11 <ZehMatt> are you using sdl
20:17:18 <peter1138> BTW you didn't update the allegro driver again, it doesn't call DrawWindows()
20:17:21 <peter1138> No, I'm on Windows.
20:17:35 <ZehMatt> i cant get it go tear
20:17:42 <peter1138> It's not tearing.
20:18:02 <peter1138> Hmm, wonder if I can capture it. Unfortunately as it's GDI OBS isn't much cop.
20:18:35 *** som89_ has joined #openttd
20:18:42 <peter1138> I made my copy update the whole screen at once and it's silky smooth, of course./
20:19:38 <ZehMatt> i keep missing those files because they are not with the VS project :D
20:19:53 <ZehMatt> one way could be to add them but exclude them from compilation
20:22:03 <peter1138> https://www.twitch.tv/peter1138 < live streaming it :p
20:22:14 <andythenorth> how modern
20:22:27 <andythenorth> so smooth :P
20:22:32 <ZehMatt> resolving host..
20:22:59 <ZehMatt> so the mouse cursor
20:23:45 <peter1138> mouse cursor disappears, and windows get chopped up
20:24:11 <ZehMatt> the mouse cursor thing is visible on my end except the window chopping
20:24:13 <peter1138> scrolling the map is fine
20:24:36 <peter1138> it's visible, check the scroll bar on the depot window
20:24:56 <ZehMatt> hm
20:24:59 <peter1138> as i move it right
20:25:12 *** Wacko1976 has quit IRC
20:25:14 <peter1138> it disappears because the window has overwritten it, and it hasn't redrawn the scrollbar yet
20:25:28 <peter1138> something is not right but afaik it's all magic within BitBlt()
20:25:51 <peter1138> The surface knows what is meant be updated, and BitBlt should just magically do it.
20:26:44 <ZehMatt> weird
20:26:48 <peter1138> lol one change and it rebuilds it all
20:26:50 <ZehMatt> some of it doesnt happen on my end
20:27:07 <ZehMatt> so far only the mouse cursor so far is can reproduced here
20:27:14 <peter1138> anyway, this happens in master for me as well
20:27:16 <ZehMatt> welp
20:27:19 *** gelignite has joined #openttd
20:27:19 <peter1138> just your patch makes it more obvious
20:27:25 <ZehMatt> i see
20:27:49 <peter1138> With that small change I made that marks it all dirty
20:27:53 <peter1138> it's lovely, silky smooth
20:27:56 <ZehMatt> cool
20:28:02 <ZehMatt> perhaps add it to my PR?
20:28:07 <peter1138> no
20:28:18 <Eddi|zuHause> that kinda defeats the whole point?
20:28:18 <ZehMatt> what exactly did you change
20:28:19 <peter1138> marking the whole screen dirty every change is definitely wrong :)
20:28:26 <ZehMatt> oh nvm
20:28:50 <peter1138> It's like GDI is doing the BitBlt in stages :S
20:29:19 <peter1138> gonna try full screen
20:29:23 <peter1138> doubt it changes anything :)
20:29:32 <ZehMatt> ok so whats the suggestion
20:29:47 <peter1138> I have none. It's not really about your PR as it happens in master.
20:29:55 <peter1138> Just bugs me and I don't know how to fix it.
20:30:06 <ZehMatt> i can actually look into that afterwards if you want me to
20:30:09 <peter1138> I don't know what's odd about my system that other people don't have it.
20:30:55 <peter1138> Still bad on fullscreen.
20:30:59 *** Zexaron has joined #openttd
20:32:48 <peter1138> I suspect something changed in Windows over the years, everything being composited now.
20:33:08 <Eddi|zuHause> so report the bug to windows?
20:33:46 <peter1138> :p
20:33:57 <ZehMatt> well report what exactly
20:34:06 <ZehMatt> the issue needs to be isolated first
20:34:09 <peter1138> That would be "LOL WHAT YOU USE GDI!?"
20:34:16 <peter1138> Use DirectX12 kthx bye
20:34:19 <peter1138> etc etc
20:34:48 <ZehMatt> well speaking of, OpenRCT2 has OpenGL rendering, how would you feel about having that in OpenTTD
20:34:50 <peter1138> So yeah, maybe we need to switch to DX9 so we can just flip.
20:35:05 <peter1138> OpenGL is fine, someone already had a partial patch to implement it.
20:35:14 <peter1138> And I don't mean my ancient patch that was terrible.
20:35:17 <ZehMatt> i wonder if that was Overv again
20:35:29 <peter1138> It was one of the other devs.
20:35:32 <ZehMatt> he started it on orct2 and me and few others picked up lately
20:35:34 *** chomwitt has quit IRC
20:35:35 <peter1138> Can't remember who. Maybe michi_cc.
20:35:37 <ZehMatt> ah
20:35:53 <ZehMatt> maybe if i'll find some spare time ill have a look
20:36:02 <peter1138> All it needs is an OpenGL pixel buffer as a surface, and then swap that about.
20:36:18 <peter1138> My ancient patch actually used direct opengl calls to render individual sprites. terrible.
20:36:31 <ZehMatt> we are batching everything
20:36:47 <ZehMatt> it works quite well
20:36:58 <ZehMatt> and interpolation adds some butter to it :p
20:37:04 <peter1138> There's no much to batch if it's just a surface.
20:37:12 *** Zexaron1 has joined #openttd
20:37:27 <peter1138> Although you could then do nice stuff like making windows be a different surface
20:37:51 <ZehMatt> you are probably talking rendering to textures
20:38:08 <peter1138> Yes, I'm talking about not changing the game core so much.
20:38:45 <ZehMatt> yea i get that
20:38:49 <peter1138> The game already handles only updating bits it needs to.
20:39:17 *** Zexaron has quit IRC
20:40:11 <ZehMatt> damnit whitespaces
20:40:17 <peter1138> :D
20:41:33 <ZehMatt> notepad++ loves messing with me
20:42:41 <peter1138> Palette animation also becomes cheaper, with the right scheme.
20:43:27 <peter1138> http://fuzzle.org/o/dump/opengl18.diff
20:43:43 <peter1138> Some version of my ancient OpenGL patch which was all wrong. 10 years old :p
20:43:53 <peter1138> It was occasionally fast.
20:44:48 <ZehMatt> yeah i see improvement opportunities :p
20:46:19 <ZehMatt> https://github.com/OpenRCT2/OpenRCT2/blob/develop/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp#L486
20:46:24 <ZehMatt> thats how its done there
20:48:25 <LordAro> michi_cc has an opengl branch somewhere
20:52:17 *** chomwitt has joined #openttd
20:56:56 <Eddi|zuHause> http://www.icosahedron.de/openttd/git/openttd.git/shortlog/refs/heads/opengl
20:58:19 <LordAro> ta
21:03:02 *** Supercheese has joined #openttd
21:04:40 <_dp_> hi! is it a good idea to pass NetworkClientInfo->index in network command instead of client_id?
21:05:51 <_dp_> client_id can go up to 32bit theoretically which is too much since there are only 64 bits in parameters and a lot of other stuff I want to pass
21:06:09 <_dp_> and there are max 256 clients anyway
21:07:01 <_dp_> only problem I see with index is that theoretically another client can replace this one while command is queued
21:07:39 <_dp_> but considering it's going to be used by GS it's a 1 tick window so chances are nearly 0
21:08:03 <peter1138> That will happen all the time, then.
21:08:37 <ZehMatt> https://github.com/OpenTTD/OpenTTD/blob/master/src/gfx.cpp#L1449 wouldn't be a memset better here?
21:09:21 <LordAro> probably
21:10:52 <ZehMatt> hm
21:11:00 <ZehMatt> isnt it actually width * height
21:11:06 <peter1138> It may have been profiled at some point.
21:11:08 <ZehMatt> a single memset would work?
21:11:36 <ZehMatt> oh actually no
21:11:39 <peter1138> only if width = surface width.
21:11:55 <ZehMatt> _dirty_bytes_per_line == width you mean
21:12:01 <ZehMatt> since buffer is plus that
21:12:24 <ZehMatt> well at least the inner thing should use memset
21:12:48 <ZehMatt> in most cases it will use a better path to fill the buffer
21:14:36 <Eddi|zuHause> _dp_: if the chance is not exactly 0, it's worthless
21:15:49 <_dp_> Eddi|zuHause, it may actually be 0, didn't check how network server is implemented
21:16:17 <Eddi|zuHause> _dp_: if you can't prove it's 0, it's not 0
21:16:43 <_dp_> A lot of stuff in OpenTTD uses indexes already actually
21:19:26 <_dp_> lol, and in exact same way I'm going to
21:20:04 *** Gja has quit IRC
21:20:59 <_dp_> Actually, much worse, since I'm only gonna keep it for 1 tick while current API has no issues exposing it to GS which can keep who knows how long
21:24:13 <peter1138> ZehMatt, hmm, so openrct2 does it sort of like how i was doing it, but with decent non-primitive-tutorial level calls...
21:25:01 *** Gja has joined #openttd
21:26:14 <peter1138> michi_cc's patch still appears to due direct calls
21:27:54 *** som89 has joined #openttd
21:31:20 <peter1138> s/due/use/
21:31:42 *** som89_ has quit IRC
21:32:12 <peter1138> ZehMatt, well, if you want to integrate it... ;)
21:37:09 *** iSoSyS has joined #openttd
21:40:23 *** Pikka has quit IRC
21:42:15 <ZehMatt> would be cool
21:42:21 <ZehMatt> but first things first
21:46:01 <Wolf01> andythenorth: https://thelegocarblog.com/2018/04/24/technic-bugatti-chiron-picture-special/
21:46:08 <Wolf01> peter1138: https://gist.github.com/Wolfolo/5ca23e921e64dee02dd058d2169e91ac
21:46:20 <Wolf01> Don't mix links
21:46:21 <Wolf01> :D
21:46:26 *** supermop_work has joined #openttd
21:49:13 <andythenorth> Wolf01: think it's better or worse than the TLG official one? o_O
21:50:01 <Wolf01> Better for sure, the official one will have aesthetics > functionality
21:51:26 <Wolf01> I'll wait a month to see how EuroBricks specialists destroy the official one, then I'll decide if it's worth the purchase
21:52:30 *** frosch123 has quit IRC
21:54:53 *** adikt has joined #openttd
21:55:36 *** k_ has joined #openttd
22:00:39 *** adikt has quit IRC
22:00:49 *** k_ is now known as adikt
22:09:40 *** sla_ro|master has quit IRC
22:14:17 <peter1138> Hmm, I see.
22:16:31 <Wolf01> I tried building and removing road/tram, building and removing road/tram stations, depots, bridges, tunnels, and all the combinations of them, to me it seem to work
22:17:32 <Wolf01> I also already fixed some indentations on comments because VS loves to remove trailing spaces but I didn't update the patch as I already closed the CLI
22:17:51 *** Gja has quit IRC
22:17:52 <peter1138> InvalidateRect() leads to WM_PAINT. So every time it calls InvalidateRect() it repaints immediately.
22:18:10 <peter1138> No queuing of dirty rects.
22:19:23 <peter1138> Hmm, maybe not.
22:22:36 <andythenorth> Wolf01: stop worrying about code style, it's literally a button in your editor
22:22:41 <peter1138> Nope, not the case at all.
22:22:42 * andythenorth is being a bad person
22:22:54 <Wolf01> I would love to have resharper
22:23:01 <Wolf01> But it costs a bit
22:23:52 <Wolf01> I was too much used to PHPStorm code styling
22:25:08 <Wolf01> I never found something which can challenge that for VS, only some plugins which seem to work on 50% of the cases... and resharper (made from the same guys of PHPStorm)
22:27:02 <andythenorth> "here am I sitting in a tin can"
22:27:06 <andythenorth> it's Bowie time
22:27:22 <Wolf01> +1
22:27:55 <peter1138> 3 is the magic number
22:28:33 <andythenorth> "I am the one and only"
22:28:37 <andythenorth> "nobody I'd rather be"
22:28:39 <andythenorth> not Bowie
22:30:45 *** synchris has quit IRC
22:34:06 <Eddi|zuHause> https://www.youtube.com/watch?v=pY27JurC1Y0 <-- on the topic of bowie
22:38:39 <andythenorth> hmm
22:38:42 <andythenorth> spookie timing
22:38:48 <andythenorth> literally Life On Mars is playing right now
22:39:46 *** adikt has quit IRC
22:42:13 <andythenorth> this is not new, but eh, good https://www.youtube.com/watch?v=TLJo8vmEcus&list=PLcdcdyQQtzh8onko-cN_X9nzWl11fzcMK&index=5
22:42:49 *** Alberth has left #openttd
22:47:07 *** gelignite has quit IRC
22:47:45 *** Stimrol has quit IRC
22:50:38 *** Stimrol has joined #openttd
23:15:08 *** sim-al2 has joined #openttd
23:27:25 *** Thedarkb has quit IRC
23:36:15 *** HerzogDeXtEr has quit IRC
23:39:13 <Wolf01> http://vintagefoodtrucks.com/#showcase andythenorth, supermop_work
23:39:32 <andythenorth> http://vintagefoodtrucks.com/#showcase
23:39:43 <andythenorth> stupid lack of deeplinks :P
23:39:54 <andythenorth> http://vintagefoodtrucks.com/wp-content/uploads/2015/11/2726942370.jpg
23:40:11 <Wolf01> FAntastic
23:44:31 * peter1138 whistles innocently.
23:52:35 *** Progman has quit IRC
23:57:37 *** supermop_work has quit IRC
23:59:02 <andythenorth> these trains are hench http://www.mainlinediesels.net/images/basic/newag_311003_55.jpg
23:59:18 <andythenorth> http://www.newag.pl/wp-content/uploads/2016/06/Dragon-E6ACTd.jpg
23:59:41 <peter1138> Yeah, michi_cc's opengl patch fixes my glitch graphics.