Log for #openttd on 31st October 2018:
Times are UTC Toggle Colours
00:14:09  *** debdog has quit IRC
00:14:09  *** blathijs has quit IRC
00:14:09  *** Markk has quit IRC
00:14:09  *** crem has quit IRC
00:14:09  *** Heiki has quit IRC
00:14:09  *** FLHerne has quit IRC
00:14:09  *** mikegrb has quit IRC
00:14:09  *** peter1138 has quit IRC
00:14:09  *** juzza1 has quit IRC
00:14:09  *** orudge has quit IRC
00:14:09  *** Westie has quit IRC
00:14:09  *** SpComb has quit IRC
00:14:09  *** ZirconiumX has quit IRC
00:14:09  *** Osai has quit IRC
00:14:09  *** berndj has quit IRC
00:14:09  *** Hirundo has quit IRC
00:14:09  *** Yotson has quit IRC
00:14:09  *** tneo has quit IRC
00:14:09  *** TrueBrain has quit IRC
00:14:09  *** SmatZ has quit IRC
00:14:09  *** michi_cc has quit IRC
00:14:09  *** funnel has quit IRC
00:14:09  *** Hobbyboy has quit IRC
00:14:09  *** glx has quit IRC
00:14:09  *** dvim has quit IRC
00:14:09  *** Stimrol has quit IRC
00:14:09  *** Alkel_U3 has quit IRC
00:14:09  *** Thedarkb1-X40 has quit IRC
00:14:09  *** MasseR has quit IRC
00:14:09  *** argoneus has quit IRC
00:14:09  *** Exec has quit IRC
00:14:09  *** tyteen4a03 has quit IRC
00:14:09  *** Mazur has quit IRC
00:14:09  *** Jyggalag has quit IRC
00:14:09  *** DorpsGek_II has quit IRC
00:14:09  *** Ammler has quit IRC
00:14:09  *** KenjiE20 has quit IRC
00:14:09  *** V453000 has quit IRC
00:14:09  *** yellyFish has quit IRC
00:14:09  *** TheMaster has quit IRC
00:14:09  *** Gustavo6046 has quit IRC
00:14:09  *** rocky11384497 has quit IRC
00:14:10  *** quiznilo has quit IRC
00:14:10  *** Guest1524 has quit IRC
00:14:10  *** rocky1138 has quit IRC
00:14:10  *** greeter has quit IRC
00:14:10  *** acklen has quit IRC
00:14:10  *** ccfreak2k has quit IRC
00:14:10  *** Tharbakim has quit IRC
00:14:10  *** dwfreed has quit IRC
00:14:10  *** urdh has quit IRC
00:14:10  *** Sacro has quit IRC
00:14:10  *** Ttech has quit IRC
00:14:10  *** Maarten has quit IRC
00:14:10  *** HeyCitiz- has quit IRC
00:14:10  *** innocenat has quit IRC
00:14:10  *** Vadtec has quit IRC
00:14:10  *** reldred has quit IRC
00:14:10  *** Extrems has quit IRC
00:14:10  *** k-man has quit IRC
00:14:10  *** hph^ has quit IRC
00:14:10  *** OsteHovel has quit IRC
00:14:10  *** colde has quit IRC
00:14:10  *** murr4y has quit IRC
00:14:10  *** ST2 has quit IRC
00:14:10  *** Antheus has quit IRC
00:14:10  *** lethosor_ has quit IRC
00:14:10  *** TinoDidriksen has quit IRC
00:14:10  *** Smedles_ has quit IRC
00:14:10  *** techmagus has quit IRC
00:15:22  *** SmatZ has joined #openttd
00:15:22  *** Hirundo has joined #openttd
00:15:22  *** Osai has joined #openttd
00:15:22  *** TrueBrain has joined #openttd
00:15:23  *** Westie has joined #openttd
00:15:23  *** funnel has joined #openttd
00:15:23  *** Yotson has joined #openttd
00:15:23  *** SpComb has joined #openttd
00:15:23  *** michi_cc has joined #openttd
00:15:23  *** tneo has joined #openttd
00:15:23  *** Hobbyboy has joined #openttd
00:15:23  *** ZirconiumX has joined #openttd
00:15:23  *** berndj has joined #openttd
00:15:23  *** orudge has joined #openttd
00:15:23  *** juzza1 has joined #openttd
00:15:23  *** glx has joined #openttd
00:15:23  *** yellyFish has joined #openttd
00:15:23  *** dvim has joined #openttd
00:15:23  *** TheMaster has joined #openttd
00:15:23  *** Gustavo6046 has joined #openttd
00:15:23  *** HeyCitiz- has joined #openttd
00:15:23  *** hph^ has joined #openttd
00:15:23  *** Smedles_ has joined #openttd
00:15:23  *** rocky11384497 has joined #openttd
00:15:23  *** quiznilo has joined #openttd
00:15:23  *** Stimrol has joined #openttd
00:15:23  *** debdog has joined #openttd
00:15:23  *** blathijs has joined #openttd
00:15:23  *** Alkel_U3 has joined #openttd
00:15:23  *** Thedarkb1-X40 has joined #openttd
00:15:23  *** urdh has joined #openttd
00:15:23  *** dwfreed has joined #openttd
00:15:23  *** OsteHovel has joined #openttd
00:15:23  *** Guest1524 has joined #openttd
00:15:23  *** rocky1138 has joined #openttd
00:15:23  *** Extrems has joined #openttd
00:15:23  *** ccfreak2k has joined #openttd
00:15:23  *** acklen has joined #openttd
00:15:23  *** FLHerne has joined #openttd
00:15:23  *** Heiki has joined #openttd
00:15:23  *** peter1138 has joined #openttd
00:15:23  *** sets mode: +vovo michi_cc orudge glx peter1138
00:15:23  *** Mazur has joined #openttd
00:15:23  *** mikegrb has joined #openttd
00:15:23  *** greeter has joined #openttd
00:15:23  *** Tharbakim has joined #openttd
00:15:23  *** techmagus has joined #openttd
00:15:23  *** crem has joined #openttd
00:15:23  *** Markk has joined #openttd
00:15:23  *** Exec has joined #openttd
00:15:23  *** KenjiE20 has joined #openttd
00:15:23  *** argoneus has joined #openttd
00:15:23  *** Maarten has joined #openttd
00:15:23  *** DorpsGek_II has joined #openttd
00:15:23  *** MasseR has joined #openttd
00:15:23  *** Ammler has joined #openttd
00:15:23  *** tyteen4a03 has joined #openttd
00:15:23  *** V453000 has joined #openttd
00:15:23  *** Jyggalag has joined #openttd
00:15:23  *** Sacro has joined #openttd
00:15:23  *** Ttech has joined #openttd
00:15:23  *** Antheus has joined #openttd
00:15:23  *** TinoDidriksen has joined #openttd
00:15:23  *** lethosor_ has joined #openttd
00:15:23  *** reldred has joined #openttd
00:15:23  *** ST2 has joined #openttd
00:15:23  *** Vadtec has joined #openttd
00:15:23  *** k-man has joined #openttd
00:15:23  *** murr4y has joined #openttd
00:15:23  *** innocenat has joined #openttd
00:15:23  *** colde has joined #openttd
00:15:46  *** ChanServ sets mode: +v orudge
00:15:46  *** ChanServ sets mode: +o SmatZ
00:17:44  *** rocky11384497 has quit IRC
00:26:13  *** argoneus has quit IRC
00:53:13  *** funnel has quit IRC
00:58:32  *** funnel has joined #openttd
01:35:12  *** snail_UES_ has joined #openttd
01:47:38  *** triolus has joined #openttd
01:48:15  *** yellyFish has left #openttd
01:48:18  *** yellyFish has joined #openttd
01:59:33  *** sim-al2 has joined #openttd
02:16:21  *** snail_UES_ has quit IRC
02:17:55  *** snail_UES_ has joined #openttd
02:28:33  *** snail_UES_ is now known as Guest1836
02:28:34  *** snail_UES_ has joined #openttd
02:37:06  *** sim-al2 has quit IRC
03:14:22  *** yellyFish has quit IRC
03:20:06  *** yellyFish has joined #openttd
03:21:31  <yellyFish> finally. i was getting 0.7 speed. now i get 0.8 :D
03:23:07  <yellyFish> about 14% increase in speed
03:23:25  <yellyFish> simulation rate
03:26:17  <yellyFish> or maybe i am measuring wrong :D
03:26:17  *** TheMaster is now known as Unit193
03:35:55  *** glx has quit IRC
04:24:20  *** dvim has quit IRC
04:32:20  *** snail_UES_ has quit IRC
05:41:02  *** yellyFish has quit IRC
07:13:14  *** glavinics has joined #openttd
07:13:25  *** glavinics has quit IRC
08:02:34  *** nielsm has joined #openttd
08:24:23  *** andythenorth has joined #openttd
08:51:54  <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh approved pull request #6954: Doxygen update and warning fixes
08:58:22  *** andythenorth has quit IRC
09:00:37  *** andythenorth has joined #openttd
09:05:53  *** matt21347 has joined #openttd
09:15:50  *** andythenorth has joined #openttd
09:16:21  *** andythenorth has quit IRC
09:17:48  *** andythenorth has joined #openttd
09:28:01  *** andythenorth has quit IRC
10:24:18  *** andythenorth has joined #openttd
10:24:24  *** andythenorth has left #openttd
10:43:16  <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on pull request #6935: Add: EnsureNoShipFromDiagDirs
10:45:57  <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on pull request #6935: Add: EnsureNoShipFromDiagDirs
11:29:14  *** frosch123 has joined #openttd
11:35:58  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 merged pull request #6954: Doxygen update and warning fixes
11:41:41  <LordAro> :)
11:41:43  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 approved pull request #6948: Various minor code cleanups found by scan-build
11:41:52  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 merged pull request #6948: Various minor code cleanups found by scan-build
11:42:01  <LordAro> :))
11:44:22  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 approved pull request #6932: Change: Gradually slow down aircraft speed on breakdown
11:45:24  <nielsm> I'm looking at #6928 atm, it looks like way too much work and special casing
11:45:26  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 merged pull request #6932: Change: Gradually slow down aircraft speed on breakdown
11:46:03  <frosch123> yes, that applies to at least half of samu stuff
11:46:27  <frosch123> corner cases over corner cases
11:49:37  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 approved pull request #6754: Don't automatically deactivate the vehicle clone tool after cloning a vehicle
11:50:54  <nielsm> wow wtf is up with the YAPF method of selecting functions to call depending on settings
11:51:13  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 merged pull request #6754: Don't automatically deactivate the vehicle clone tool after cloning a vehicle
11:51:35  <frosch123> nielsm: inline fetishism
11:52:04  <frosch123> someone trying to have a complete inlined copy of the whole algorithm for each combination of parameters
11:53:23  <nielsm>
11:53:24  <nielsm> like that
11:53:46  <nielsm> function pointers to a static function that just constructs an object of the type and calls a similarly named function on the object with parameter pass-through
11:53:57  <LordAro> yapf is scary code
11:54:37  <nielsm> like, just use a damn virtual method
11:54:43  <nielsm> it's still a level of indirection
12:04:17  *** snail_UES_ has joined #openttd
12:10:38  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 opened pull request #6955: Fix: [NewGRF] Make VA2 operator 11 (ror) behave well-defined when rotating by 0 bits.
12:12:25  <DorpsGek_II> [OpenTTD/OpenTTD] LordAro approved pull request #6955: Fix: [NewGRF] Make VA2 operator 11 (ror) behave well-defined when rotating by 0 bits.
12:12:46  <frosch123> :)
12:15:44  <LordAro> though i wonder if that branch will slow things down
12:16:57  <peter1138> Yeah it was meant to be super fast.
12:17:09  <frosch123> ROR is only used in 3 places
12:17:31  <frosch123> 2 of them have a fixed constant for n, so i hope on the compiler
12:17:36  <frosch123> the 3rd is the just added one
12:18:20  <peter1138> I meant YAPF, sorry.
12:18:40  <frosch123> ROL is used in md5sum
12:19:28  <frosch123> which also has a chance to be inlined
12:21:45  *** snail_UES_ has quit IRC
12:34:43  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 requested changes for pull request #6906: Fix #6742: Only possible to build station next to competitor by using CTRL+click
12:46:06  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 commented on pull request #6831: Fix #6742: Only possible to build station next to competitor by using CTRL+click
12:46:07  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 closed pull request #6831: Fix #6742: Only possible to build station next to competitor by using CTRL+click
13:33:00  <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh requested changes for pull request #6928: Fix #5713: Use pathfinder to find closest ship depot
13:35:49  <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh merged pull request #6955: Fix: [NewGRF] Make VA2 operator 11 (ror) behave well-defined when rotating by 0 bits.
13:45:51  <nielsm> I don't really know about release preparations etc., but would it be an idea to make a "project" board on github for collecting tickets that should be addressed for 1.9.0 release? or does github have a better way of managing that?
13:56:42  <peter1138> There is a release procedure document somewhere, I'm sure.
13:57:25  <frosch123> nielsm: <- we used to collect stuff for the backports and changelogs together
13:57:48  <frosch123> not sure how to format the changelog with git hashes :p
13:58:48  <frosch123> <- that's the old workflow, which is now mostly obsolete due to git and new compile farm :p
13:58:55  <LordAro> can't, really
13:59:07  <LordAro> wellz you could, but they'd be even less useful than the revision numbers
13:59:52  <LordAro> a project board for collecting issues sounds like a good idea though
14:00:07  <LordAro> assuming a 1.8.1 release is actually desired
14:00:36  <frosch123> depends when we have a farm that can build it :)
14:01:24  <nielsm> I was thinking catching both bugs and desired features (open PRs) we want on a project board
14:06:07  <peter1138> Does any of the old farm still exist?
14:06:18  <peter1138> Cos that did still work, didn't it?
14:07:57  <frosch123> i don't think the disk was full
14:08:40  <frosch123> but we would have to revert some c++11 changes :p
14:11:39  *** Wormnest has joined #openttd
14:15:53  <LordAro> nielsm: couldn't hurt to make one, even if it ends up not being used
14:19:59  <nielsm>
14:30:12  <LordAro> ah, i was referring to bugfix releases, rather than major releases
14:30:39  <nielsm> I don't think it makes sense to make a 1.8.1 at this point
14:30:39  <LordAro> major release projects could easily turn into the roadmap pages on the wiki :p
14:31:39  <peter1138> So anybody else have experience of setting these kind of compile farms up?
14:32:38  <peter1138> I have VM resources that could potentially be used, but it's not super high-end.
14:33:01  <LordAro> i fear not
14:37:27  <nielsm> also, how to do windows build, non-containerized on a desktop windows version, or containerized cross-compile from linux?
14:38:06  <nielsm> renting a windows server version is probably somewhat expensive
14:39:00  <LordAro> this was what blocked TrueBrain, iirc
14:41:50  <frosch123> <- that's the last status, i think
14:47:34  <peter1138> Does it need to be a server version?
14:47:58  <LordAro> it makes certain ...server things easier
14:48:22  <nielsm> also avoids some windows update fun times
14:54:02  <nielsm> ?
14:55:12  <peter1138> i686-w64-mingw32-clang++ < mixed messages about architecture there...
14:55:35  <peter1138> How to target different Windows versions with that?
14:57:00  <nielsm> that's really an issue I have with all gcc/clang-derived compilers that target win32, they want to use the microsoft C runtime, instead of their own
14:57:21  <nielsm> despite that windows does not have any such thing as "system C runtime"
14:57:41  <nielsm> it's kind of expected that a compiler vendor supplies their own runtime
14:58:51  <nielsm> hm bbl, I should really go for a walk while there's still some daylight
15:19:49  *** hph^ has quit IRC
15:33:10  <peter1138> You can walk in the dark too.
16:13:36  <planetmaker> <LordAro> [13:59:52] a project board for collecting issues sounds like a good idea though <-- isn't that like the issues on GitHub? And maybe an additional tag as to which version they should be fixed in like we had on FlySpray?
16:14:14  <planetmaker> (or is 'project board' a github feature I don't know yet? How does it relate to the issues?)
16:17:37  *** Stimrol has quit IRC
16:25:56  <nielsm> back... I accidentally bought a new coat too
16:27:24  <nielsm> planetmaker: a project board is more or less a category of mutually exclusive tags, forming a single orthogonal dimension of categorisation of tickets, but they can also hold non-tickets (single-line notes)
16:27:52  <nielsm> and items in each category on a board have an explicit ordering
16:48:02  <LordAro> planetmaker: basically a github trello thing
17:28:01  *** Progman has joined #openttd
17:41:13  *** yellyFish has joined #openttd
17:49:40  <DorpsGek_II> [OpenTTD/OpenTTD] Hemaolle dismissed a review for pull request #6906: Fix #6742: Only possible to build station next to competitor by using CTRL+click
17:49:42  <DorpsGek_II> [OpenTTD/OpenTTD] Hemaolle updated pull request #6906: Fix #6742: Only possible to build station next to competitor by using CTRL+click
17:51:55  <DorpsGek_II> [OpenTTD/OpenTTD] Hemaolle commented on pull request #6906: Fix #6742: Only possible to build station next to competitor by using CTRL+click
17:57:52  *** yellyFish has quit IRC
18:20:03  <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #6935: Add: EnsureNoShipFromDiagDirs
18:23:50  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 approved pull request #6906: Fix #6742: Only possible to build station next to competitor by using CTRL+click
18:24:25  <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 merged pull request #6906: Fix #6742: Only possible to build station next to competitor by using CTRL+click
18:28:09  *** Wolf01 has joined #openttd
18:28:18  <Wolf01> o/
18:28:29  <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #6935: Add: EnsureNoShipFromDiagDirs
18:31:05  *** yellyFish has joined #openttd
18:32:49  *** andythenorth has joined #openttd
18:33:37  <andythenorth> o/
18:34:54  <andythenorth> loads of merges :o
18:35:30  <andythenorth> pull queue, -samu
18:35:38  <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #6935: Add: EnsureNoShipFromDiagDirs
18:51:02  <Arveen> this channel needs more egg plants 🍆🍆🍆
19:02:47  <andythenorth> it has enough now
19:04:54  *** Supercheese has joined #openttd
19:11:08  <yellyFish> so after decoding a newGRF, how should a line calling for var 0x61 look like?
19:11:23  * andythenorth looks
19:16:51  <yellyFish> found it
19:17:40  <andythenorth> can't find it in nars 2.5.1
19:17:41  <andythenorth> :P
19:17:44  <andythenorth> oof
19:21:47  <LordAro> sounds useful for the dorpsgek repos :p
19:24:46  <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on pull request #6935: Add: EnsureNoShipFromDiagDirs
19:24:56  <nielsm> could I get someone else to weigh in on that as well?
19:25:58  <andythenorth> I read it, but I can't comment on the answer :(
19:40:22  <yellyFish> is there any overarching logic to how the game connects NewGRFs and set variables,etc? or is it just something that got more and more features and needs a rework?
19:42:23  <Xaroth> andythenorth: mind testing something (if you're on windows that is)
19:42:37  <Xaroth> if I set `mono_font = Tahoma` in my openttd.cfg, and start openttd, it will start crashing randomly.
19:42:37  <andythenorth> such not windows :)
19:42:41  <Xaroth> ah, lame :P
19:42:50  <andythenorth> I should test the macOS ICU port though
19:43:16  <nielsm> Xaroth is that 1.8.0 or a dev version?
19:43:21  <Xaroth> 1.8.0
19:43:34  <nielsm> probably the ICU layout issues then
19:44:06  <Xaroth> fair enough
19:44:29  <Xaroth> Related to then I take it?
19:44:30  <nielsm> I can make a build of current master if you want to try
19:44:56  <Xaroth> meh, I'm not fussed
19:44:56  <nielsm> (will you need 32 bit or 64 bit?)
19:45:05  <Xaroth> simply not using Tahoma as mono font would work :P
19:45:21  <Xaroth> but if it's related to #6882, I have a crash.dmp
19:49:12  <LordAro> can't hurt to shove it into the issue
20:07:39  *** glx has joined #openttd
20:07:39  *** ChanServ sets mode: +v glx
20:12:23  <andythenorth> oops
20:12:27  * andythenorth reading youtube comments
20:13:02  <LordAro> ono
20:13:12  <Xaroth> why would you read youtube comments?
20:13:31  <andythenorth> to remind myself
20:13:44  <andythenorth> I was watching a video about electricity smart meters
20:13:55  <andythenorth> and then there were comments
20:14:03  <andythenorth> about conspiracy theories
20:17:16  <andythenorth> it's funny
20:17:51  <andythenorth> the dumb conspiracy fucks are scared of networks and devices and governments
20:17:58  <andythenorth> but they're happy to sit posting on YT
20:18:14  <andythenorth> self-identifying :P
20:18:45  <andythenorth> basic violation of opsec
20:19:28  * andythenorth back to pixels
20:21:22  <yellyFish> does anyone know how to read and make sense of a nfo file?
20:21:35  <andythenorth> kinda
20:21:43  <andythenorth> it's hard from compiled source
20:21:47  <andythenorth> but somewhat
20:22:11  <yellyFish> i am trying to isolate 4 lines and why are they being called so much
20:23:54  <andythenorth> can you paste them?
20:23:58  <andythenorth> with a bit of context?
20:24:02  <andythenorth>
20:24:58  <yellyFish> yeah i was searching pastebing but it was giving me garbage text
20:25:32  <andythenorth> if it's NARS 2.5.1 I have some guesses for var 61
20:25:49  <andythenorth> but I'd need to see the rest of the action 2 chain
20:26:03  <andythenorth> and what it's reading from the other vehicle
20:26:36  <nielsm> it'd be a huge amount of work, but it might be interesting to add detailed logging to openttd itself of newgrf happenings
20:27:00  <andythenorth> the forum post suggests it's looking for C6?
20:27:22  <andythenorth> do we need to shift that to get the actual var it's reading?
20:27:40  <andythenorth> where is eddi when he's needed? o-o
20:27:49  <andythenorth> @seend Eddi|ZuHaus
20:27:56  <andythenorth> @seen Eddi|ZuHaus
20:27:57  <DorpsGek> andythenorth: I have not seen Eddi|ZuHaus.
20:27:57  <Wolf01> "send"
20:28:01  <andythenorth> oof
20:28:20  <Wolf01> @seen __ln__
20:28:20  <DorpsGek> Wolf01: __ln__ was last seen in #openttd 16 weeks, 3 days, 0 hours, 23 minutes, and 20 seconds ago: <__ln__> TrueBrain: also, how hard can it be to figure out my comment COULD be related to a repo that was mentioned on the previous line?
20:28:25  <Wolf01> Mmmh
20:28:34  <LordAro> rip
20:28:47  <Wolf01> Must be in a trip again
20:28:54  <andythenorth> oh C6 is the ID
20:29:01  <frosch123> nielsm: problem with that is that only few people can read it
20:29:11  <andythenorth> NARS used to have a thing where it adjusted engine HP depending on wagons
20:29:13  <frosch123> i did somewhen
20:29:23  <andythenorth> it might also be running costs, or just livery stuff
20:29:28  <frosch123> but stopped continueing it, once i had solved the problem at that time :p
20:29:35  <Wolf01> It's perfectly readable
20:29:43  <andythenorth> yellyFish: you could also try with Iron Horse 2 dev build
20:29:51  <andythenorth> which probably calls 0x61 a lot
20:29:59  <andythenorth> but has full source :P
20:30:11  <yellyFish> fug. i can't paste it. can i upload the file somewhere?
20:30:11  <andythenorth>
20:30:21  <andythenorth> if it's NARS 2.5.1 I've got it decompiled here
20:30:24  <andythenorth> which sprite numbers?
20:30:46  <andythenorth> or line numbers, either, just tell me which :D
20:30:55  <andythenorth> so much wasted time confusing those two :)
20:31:20  <Wolf01> I had a discussion with my boss today because he isn't sure we should use guids as primary key on every table for the new project, having composite clustered keys (like 5-7 columns) helps readability...
20:31:39  <andythenorth> ah the endless guid debate
20:31:40  <yellyFish> 4190
20:31:52  * andythenorth likes UUIDs starting at 0 :P
20:31:57  <andythenorth> and incrementing by 1
20:32:01  <andythenorth> then we all know where we stand
20:32:14  <andythenorth> apparently it goes wrong when you merge UIDS from multiple sources :P
20:33:08  <yellyFish> or search for '61 C6'. it should give you 4 ocurrences
20:33:19  <andythenorth> yellyFish: my suspicion, based on scanning that, it's livery stuff
20:33:23  <andythenorth> I need to read more though
20:33:31  <andythenorth> so long since I did this
20:33:43  <yellyFish> it is getting the engine ID offset by register 0x10F
20:34:19  <andythenorth> so it's high speed mail and pax cars?
20:35:01  <yellyFish> i think so
20:36:15  <andythenorth> I'd have to reformat the action 2s to read them properly
20:36:21  <andythenorth> I can't read single line bytecode :P
20:36:51  <yellyFish>    02 00 10 81 // 19 Bytes, A2, Feature 00 (Train), A2 set ID 10, type 81(1 byte variable)
20:36:53  <yellyFish> 4191              61 C6 00 FF // var 0x61, parameter 0xC6, get engine ID offset by register 0x10F
20:36:55  <yellyFish> 4192              02          // 2 ranges and default
20:36:57  <yellyFish> 4193              10 00 55 55 // A2ID 10, low 55, high 55
20:36:59  <yellyFish> 4194              10 00 59 59 // A2ID 10, low 59, high 59
20:37:01  <yellyFish> 4195              30 00       // default: A2ID 30
20:37:10  <yellyFish> that's what i dissected from the first occurrence
20:37:26  <andythenorth> my suspicion is that it's returning results for sprites 3925-3927
20:37:38  <andythenorth> or similar, depending which block you're in
20:37:58  <andythenorth> the sprites for these vehicles depend on the engine ID
20:38:20  <andythenorth> it might be something else, but pikka removed most of the BAD FEATURES in NARS 2.5.1
20:39:04  <andythenorth> you should see the same 0x61 calls in Iron Horse 2, for consists with a caboose, or pax cars or mail cars
20:39:09  <andythenorth> I linked it above
20:39:20  <yellyFish> but it is getting called a lot. isn't there a more CPU friendly way of doing that?
20:40:18  <frosch123> do you want to change the grf or ottd?
20:40:44  <yellyFish> if it's inevitable, the latter, else the former
20:42:00  <frosch123> you need to figure out what is put in register 10f for var61
20:42:09  <yellyFish> -1 and 1
20:42:12  <yellyFish> alternating
20:42:34  <frosch123> ok, so you have an articulared wagon or engine
20:43:10  <frosch123> multiple vehicles are composed from the same articulated parts with different heads
20:43:45  <frosch123> you can remove that by duplicating the code
20:43:59  <frosch123> like templates instead of virtual methods :)
20:44:17  <frosch123> but without a compiler which does that, you won't have fun :p
20:45:03  <andythenorth> it will get called on every redraw no?
20:45:17  <andythenorth> is it particularly expensive?
20:45:23  <yellyFish> i think lies in why am i getting so much calls for that than anything else
20:45:34  <yellyFish> and they get quit expensive if you add them
20:45:39  <yellyFish> quite*
20:46:23  * andythenorth tries to remember difference between 81 and 85
20:46:25  <frosch123> usually you should get var 0C the most
20:46:37  <andythenorth> I thought there was a way to trivially get the ID of the lead vehicle
20:46:42  <frosch123> if you get 61+vehicle id more often, you have a case of virtual functions
20:46:56  <frosch123> andythenorth: it's not the lead vehicle
20:47:14  <andythenorth> no
20:47:18  <andythenorth> it does some other stuff
20:47:31  <andythenorth> it varies sprite by position in consist of similar ID?
20:47:35  <frosch123> it's articulated wagons
20:47:48  <yellyFish> it calling 0x61 with par 198 that in turn returns  u->GetEngine()->grf_prop.local_id;
20:48:03  <yellyFish> u being the vehicle offset by register 0x10F
20:48:42  <andythenorth> I am just guessing from trying the vehicles in game and reverse engineering their behaviour :P
20:48:49  <andythenorth> my nfo-reading days are a distant memory
20:51:18  <yellyFish> i want to know why it is trying to get that value so much, is it necesary? can it be removed, modified or optimized in the newGRF or the game
20:51:25  <yellyFish> i have already optimized a little bit
20:51:46  <yellyFish> but still it is not enough.
20:53:56  <frosch123> yellyFish: callbacks are decision trees
20:54:33  <frosch123> you can optimise them by calling them less often, by rebalancing the decisions, or by making the evaluation faster per node
20:55:20  <frosch123> with var61 + vehicle id + offset +-1: i only see the second option
20:56:06  <yellyFish> i have made the evaluation a bit faster by skipping a second call to vehiclegetvariable again when i am sure of the result
20:56:29  <yellyFish> just for var61 wit parameter 198
20:56:55  <yellyFish> beside that i would like to know if i can reduce the number of calls
20:58:03  <frosch123> if the call comes from UpdateViewport, you can optimise it a lot
20:58:51  <frosch123> but it requires some refactoring of the vehicle drawing and hashing
21:07:06  <andythenorth> or drop this from newgrf spec? o_O
21:09:44  <frosch123> does iron horse use it?
21:10:08  <frosch123> sounds like an attempt to increase your market share by banning the competitors :p
21:12:24  <yellyFish> i would prefer to learn from this so it doesn't happen again or diminish the chance of it happening
21:12:57  <andythenorth> Iron Horse uses it extensively
21:13:18  <andythenorth> there's no performance warning on it iirc
21:13:42  <yellyFish> are you using it for trains?
21:13:45  <andythenorth> yes
21:13:50  <andythenorth> but I could delete a lot of BAD FEATURES if it was removed
21:14:04  <yellyFish> what kind of parameter?
21:14:08  <frosch123> i doubt the var is more expensive than any other
21:14:18  <yellyFish> is the var,par pair
21:14:24  <yellyFish> that determines if it is expensive
21:15:21  <yellyFish> at least for 0x61, depending what parameter you pass you get a different branch
21:19:29  <yellyFish> i think i am getting confused
21:19:49  <yellyFish> i'll re-run the profiling
21:20:28  <frosch123> what do you use for profiling?
21:25:26  <yellyFish> callgrind
21:25:47  <frosch123> can you post a screenshot of the callgraph?
21:26:19  <frosch123> <- that thing
21:30:14  <yellyFish> uh, sure, wait a sec
21:36:59  <yellyFish> ok. where do i upload it to?
21:37:54  <frosch123> no idea, we do not run our own imagebin
21:38:26  <LordAro> imgur
21:39:09  <yellyFish>
21:39:43  <yellyFish> callgrind it's pretty cool, can refer to source code and even assembly
21:39:58  <frosch123> yep :)
21:41:05  <frosch123> so, 100% via UpdateViewport
21:41:47  <frosch123> oh, only 98%, 2% is industries
21:45:10  <frosch123> ah, found the cb backtrace queue, should probably port that one to git
21:55:05  <frosch123> hmm, can't find any diffs wrt. UpdateViewport :(
21:59:06  <LordAro> bottom of cargoaction.cpp, there are some template function definitions for some types
21:59:10  <LordAro> ...are these necessary?
21:59:17  <LordAro> it doesn't seem to break anything if i remove them
22:00:29  <frosch123> those functions are called in cargopacket.cpp
22:00:47  <frosch123> but they are not defined in a header, so someone needs to instantiate them
22:00:53  <frosch123> cargopacket.cpp can't
22:01:52  <LordAro> the template function is in the header, why does it need the instantiated version like that?
22:01:54  <frosch123> for some reason ottd likes to put template implementations into source files, hoping to make compilation faster or something
22:02:22  <frosch123> cargoaction.cpp:44 and 63
22:02:33  <frosch123> they are not in the header
22:03:50  <LordAro> the definitions aren't, but the declaration is
22:04:02  <LordAro> i'm missing something about why that matters...
22:04:29  <frosch123> in *normal* code you have template definitions in the header
22:04:40  <frosch123> templates are instantiated when used
22:04:51  <frosch123> every source file creates those instantiations it needs
22:04:56  <frosch123> the linker removes duplicates
22:05:26  <frosch123> in *ottd* code template definitions are in source files, so other places cannot instantiate them
22:05:35  <frosch123> you have to force instantiation
22:05:46  <LordAro> ah right
22:05:51  <LordAro> yes, that... makes sense
22:06:29  <frosch123> it's like yapf with templates instead of virtual methods :p
22:07:21  <frosch123> you make stuff complicated in the hope that it is faster somehow
22:08:01  * andythenorth has never seen that pattern ever
22:08:04  <andythenorth> never ever
22:08:28  <planetmaker> o/
22:08:42  <frosch123> hoi pm
22:08:46  <andythenorth> like the records store 'optimised' for performance
22:09:15  <andythenorth> but you can't actually query it, because that would be o(n) complexity or something
22:09:31  <andythenorth> it's only optimised for reading in the way the optimiser intended
22:09:33  <andythenorth> and nothing else works
22:09:38  <andythenorth> and it's not actually faster
22:09:49  <andythenorth> and it adds a second source of truth to the system
22:09:57  * andythenorth may have bitterness
22:10:16  <frosch123> think about * and whether to put them left or right
22:10:51  <frosch123> then let others argue about it, and enjoy your beverage
22:10:59  <planetmaker> hehe :)
22:13:00  *** matt21347 has quit IRC
22:13:15  * andythenorth wonders if santa will bring 44 more Iron Horse sprites
22:13:16  <frosch123> at work i once argued for "let's use the code style the other teams use, instead of making ourown" :p
22:13:26  <planetmaker> nielsm, thanks for the explanation and link earlier. Appreciated :)
22:13:29  <andythenorth> that's fantastic, you're hired frosch123
22:13:56  <andythenorth> we have a rule about 4 spaces, except when somebody has already formatted the file with 2
22:14:23  <frosch123> actually, that is an understatement. my boss raised the question whether we should discuss a style for a new project, and i cut him short before finishing the question :p
22:14:32  <nielsm> learning C is all about placing * correctly the first time around, every time
22:15:20  <andythenorth> what is learning python all about? o_O
22:15:24  * andythenorth has been trying
22:15:30  <andythenorth> since about 2004
22:16:05  <planetmaker> hm... learning python... is it about using OO appropriately - and doing without strict typing
22:16:07  <nielsm> python is just throwing shit at the REPL until something works, then add it to a random module
22:16:11  <frosch123> python is about people. who are not able to indent correctly, to fail completely on the first meters
22:16:33  <frosch123> early filters are the best
22:16:36  <andythenorth> is it mostly about cargo-culting from stack overflow?
22:18:33  <andythenorth> I can't tell if I am doing it wrong or not :P
22:20:15  <frosch123> <- just make sure you hit at the bottom of the curve
22:20:35  <frosch123> s/hit/enter programmnig/ or something
22:21:02  <andythenorth> oof
22:21:06  <andythenorth> imagine programming in twitter
22:21:16  <andythenorth> we did try to invent a programmatic control language in twitter
22:21:23  <nielsm> nah, to understand python you have to understand "from __future__ import braces"
22:21:27  <andythenorth> it didn't get far as an April fool joke
22:21:39  *** Wormnest has quit IRC
22:21:50  <andythenorth> I treat python as a game, where I win by using @property as much as possible
22:22:15  <andythenorth> and I award myself bonus points for list comprehensions that are (1) complex (2) but easy to read
22:22:48  <andythenorth> it's not a good language to play 'paste from stack overflow' though
22:23:02  <andythenorth> all the answers get a counter answer about why a is more pythonic than b, or not
22:23:14  <andythenorth> and someone benchmarks something
22:23:39  <andythenorth> whereas JS, someone says 'I made a fiddle' and then you just paste that straight to prod
22:24:00  <andythenorth> maybe adding in a paste from an alternative answer too, because, more is better right?
22:25:00  <frosch123> i am still trying to figure out java
22:25:41  <andythenorth> get an enterprise patterns poster for your wall
22:25:43  <andythenorth> profit
22:25:46  <frosch123> i have difficulties connecting my observations "used a lot in corporations" and "not used at all in open source"
22:25:52  <andythenorth> ha
22:25:55  <andythenorth> I should go to bed
22:26:01  <nielsm> the core of java is a deep taxonomy of namespaces, and a heavy use of inner classes
22:26:01  <andythenorth> tomorrow won't just arrive on its own
22:26:05  <andythenorth> it needs my support
22:26:10  <andythenorth> by sleeping
22:26:23  <frosch123> i think a good java library has more directories than files
22:26:44  <nielsm> preferably so many directories it breaks win32 MAX_PATH
22:27:05  *** andythenorth has left #openttd
22:27:52  <nielsm> AbstractFactoryBuilders are also very useful
22:29:10  <frosch123> :)
22:33:33  * LordAro notes there is a cargo_type.h & cargotype.h
22:33:36  <LordAro> this is... unfortunate
22:34:19  <frosch123> we have that multiple times
22:34:57  <frosch123> for example industrytype, industry_type
22:35:52  <frosch123> though i think at some point we started calling the classy one _base
22:36:04  <nielsm> one relates to programmatic types and one to kinds of the gameplay element
22:36:15  <LordAro> ah, that makes slightly more sense
22:36:24  <LordAro> several _base.h's around
22:37:04  <frosch123> goal_base and goal_type is a good example
22:41:02  <yellyFish> why do we use NULL instead of nullptr?
22:41:26  <frosch123> what?
22:41:29  <LordAro> legacy
22:42:12  <nielsm> nullptr is c++11 which is not-quite-yet officially adopted here
22:42:17  <frosch123> we do not even have a c++11 compile farm running, and you ask about nullptr :p
22:42:39  <yellyFish> really? didn't know that
22:43:08  <LordAro> well, we do
22:43:11  <LordAro> it's just not complete
22:45:52  <nielsm>   <- manual nighttime builds :P
22:47:00  <planetmaker> :)
22:47:22  <frosch123> halloween release
22:47:56  <nielsm> time to play classic Trains vs Zombies again?
22:48:25  <planetmaker> let's add a few showels of coal then before we start :)
22:55:41  <frosch123> <- i underestimated your age :)
22:56:41  <LordAro> positively ancient
23:02:04  <planetmaker> jfs = niels?
23:03:06  <frosch123> "danish" is a unique identifier, right?
23:03:14  <planetmaker> @seen Bjarni
23:03:14  <DorpsGek> planetmaker: Bjarni was last seen in #openttd 7 years, 3 weeks, 5 days, 22 hours, 44 minutes, and 8 seconds ago: <Bjarni> heh
23:03:52  <planetmaker> more or less :)
23:09:13  <nielsm> planetmaker yes
23:16:31  *** Supercheese has quit IRC
23:22:31  <planetmaker> I guess I fell for the same misjudgement as froshc
23:25:43  <planetmaker> he, a whopping 12 years in the forums without any posting in between
23:26:23  <nielsm> and I'll let you know that for a very long time (until about 1-2 years ago) I absolutely refused to touch anything OTTD at all, for moral reasons (essentially theft/reappropriation of IP)
23:27:02  <nielsm> but decided recently to adopt a ship of theseus model, in that most things have been replaced  by now making it a different same thing
23:27:48  <nielsm> I was owner of #tycoon on quakenet for several years too :)
23:29:27  <planetmaker> I wouldn't know that... never been on that network. I guess I dropped-in here somewhen in the ~2006 and got sucked-into :D
23:30:05  <planetmaker> probably I read forum already before that w/o registering
23:30:22  <frosch123> there was a quakenet time before freenode?
23:30:33  <frosch123> or was tycoon on quakenet and openttd on freenode?
23:31:19  <nielsm> #tycoon was originally on quakenet, I think #openttd was too for a little while but not sure
23:31:43  <nielsm> but for the above reasons #tycoon had a strict "do not talk about ottd" policy
23:32:21  <frosch123> oh, indeed, my logs from 2007-05-16 say quakenet
23:33:20  <frosch123> ottd was already on oftc at that tiem
23:34:52  *** ST2 has left #openttd
23:35:01  *** ST2 has joined #openttd
23:35:28  <ST2> lazy way to check if channel was still with +R
23:35:29  <ST2> :D
23:42:25  <nielsm> wow, look at the time
23:42:25  <nielsm> gn
23:42:50  <planetmaker> night
23:50:28  *** nielsm has quit IRC

Powered by YARRSTE version: svn-trunk