IRC logs for #openttd on OFTC at 2019-01-07
            
00:17:49 *** nielsm has quit IRC
00:41:34 *** Progman has quit IRC
00:54:45 <DorpsGek_II> [OpenTTD/OpenTTD] gregcarlin commented on pull request #7003: Feature #6918: Add option to adjust font size separately from GUI size. https://git.io/fhs6e
00:58:18 <DorpsGek_II> [OpenTTD/OpenTTD] LordAro commented on pull request #7003: Feature #6918: Add option to adjust font size separately from GUI size. https://git.io/fhs6k
01:06:18 <DorpsGek_II> [OpenTTD/OpenTTD] gregcarlin updated pull request #7003: Feature #6918: Add option to adjust font size separately from GUI size. https://git.io/fhLFX
01:09:36 <DorpsGek_II> [OpenTTD/OpenTTD] gregcarlin updated pull request #7003: Feature #6918: Add option to adjust font size separately from GUI size. https://git.io/fhLFX
01:10:01 <DorpsGek_II> [OpenTTD/OpenTTD] gregcarlin commented on pull request #7003: Feature #6918: Add option to adjust font size separately from GUI size. https://git.io/fhs6u
01:11:04 <DorpsGek_II> [OpenTTD/OpenTTD] gregcarlin commented on pull request #7003: Feature #6918: Add option to adjust font size separately from GUI size. https://git.io/fhs6a
01:26:56 *** Flygon has joined #openttd
02:13:44 *** Thedarkb-X40 has joined #openttd
02:25:40 *** mboy has joined #openttd
02:26:17 <mboy> can anyone help me to add a patch to my game
02:32:24 <Eddi|zuHause> @topic get 3
02:32:24 <DorpsGek> Eddi|zuHause: Don't ask to ask, just ask
02:33:11 <dwfreed> @version
02:33:12 <DorpsGek> dwfreed: The current (running) version of this Supybot is 0.83.4.1. The newest version available online is 0.83.4.1.
02:33:17 <dwfreed> ooh, supybot
02:33:57 <mboy> how do i add polyline track buidling patch
02:34:12 <Eddi|zuHause> how far did you get?
02:34:14 <dwfreed> fun alias for support channels: alias add to echo $1: [$*]
02:34:20 <glx> can you compile ?
02:34:36 <dwfreed> then "@to foo command"
02:34:43 <dwfreed> will direct the output of command at foo
02:34:49 *** HootzMcToke has joined #openttd
02:35:38 <mboy> ive downloaded the file im not sure what to do now
02:36:38 <Eddi|zuHause> ignore the file for now, compile the unmodified game first
02:37:15 <mboy> ummm lol
02:37:58 <Eddi|zuHause> (unless "that file" you downloaded is a binary, then just run that)
02:38:43 <mboy> oh ok i did read something about the file being binary
02:39:07 <mboy> assuming the file is not binary what steps do i need to take
02:39:44 <Eddi|zuHause> read up on what a binary is.
02:40:07 <HootzMcToke> Hello everyone, Ive been playing OpenTTD off and on over the years, i'm looking into making custom faces for the owners based on attendees of a lan. I've been looking for hours but can't find anything related to replacing the faces. If this is even a possibility could someone point me in the right direction, i feel silly for not being able to find a definitive answer
02:42:00 <Eddi|zuHause> HootzMcToke: face modification is very very limited, but a basic NewGRF doing only simple sprite replacement should work
02:42:41 <Eddi|zuHause> HootzMcToke: you might have to look up the sprite ids of the original face components on some page buried in the wiki somewhere
02:42:48 <Eddi|zuHause> or in the code
02:43:12 <HootzMcToke> ok cool, thanks for the info it gives me a great place to start.
02:48:12 <Samu> who's gonna help me simplify that code? wanted to do that thing only once for the 4 TrackBits with the help of math magic https://paste.openttdcoop.org/pz1htdtur
02:48:41 <Samu> or im gonna repeat too much when i code the rest
02:49:23 <mboy> so is the polyline track building patch a binary or will i need to compile the unmodified game
02:49:41 <Samu> https://imgur.com/wQuDOi5
02:49:59 <Eddi|zuHause> ... yes... ?
02:51:01 <Eddi|zuHause> frankly, you're not telling us anything, and you're not showing a lot of technical expertise. this isn't a basis to help you.
02:53:31 <Samu> I never know when Eddi|zuHause is talking to me
02:53:39 <Samu> was that for me?
02:55:34 <dwfreed> Samu: doubt it
03:00:08 <Samu> would need some kind of rotating bits based on the first track I work with
03:00:14 <Samu> i dunno
03:00:54 <Samu> btw, 90 degrees is still a thing for ships=
03:00:55 <Samu> ?
03:01:58 <Samu> looks like it is, just checked
03:04:09 *** mboy has quit IRC
03:13:36 *** Samu has quit IRC
03:20:54 *** Mazur has quit IRC
03:29:53 *** Mazur has joined #openttd
03:57:49 *** glx has quit IRC
04:19:53 *** Wormnest has joined #openttd
04:30:52 *** Wormnest has quit IRC
05:01:14 *** Thedarkb-X40 has quit IRC
05:13:19 <DorpsGek_II> [OpenTTD/OpenTTD] odisseus commented on pull request #6931: Change: Prevent town growth from blocking ships https://git.io/fhsDw
06:15:40 *** Progman has joined #openttd
06:38:59 *** Progman has quit IRC
07:47:36 *** Heiki has quit IRC
07:47:50 *** Heiki has joined #openttd
07:59:19 *** Progman has joined #openttd
08:03:13 *** Progman has quit IRC
09:09:48 *** HootzMcToke has quit IRC
12:15:28 *** IvanLeshev has joined #openttd
12:15:36 *** IvanLeshev has left #openttd
12:39:02 *** Progman has joined #openttd
12:40:05 *** Alkel_U3 has joined #openttd
13:25:03 *** Borg has joined #openttd
14:20:03 *** Samu has joined #openttd
14:20:50 *** Flygon has quit IRC
14:26:25 <Samu> hi
14:55:21 *** Gabda has joined #openttd
15:39:39 <DorpsGek_II> [OpenTTD/OpenTTD] Eddi-z commented on pull request #6931: Change: Prevent town growth from blocking ships https://git.io/fhGZR
15:43:39 *** nielsm has joined #openttd
15:52:14 <peter1138> Hmm, maybe time for another cuppa.
15:53:38 <Samu> Eddi|zuHause https://imgur.com/wQuDOi5 I am planning to do somethng like that
15:54:20 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on pull request #6931: Change: Prevent town growth from blocking ships https://git.io/fhGnr
15:55:06 <Samu> i guess i better put the screenshot there
15:57:26 <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #6931: Change: Prevent town growth from blocking ships https://git.io/fhGnj
16:05:49 *** wodencafe has quit IRC
16:12:59 *** Wormnest has joined #openttd
16:16:45 *** wodencafe has joined #openttd
16:24:41 *** Progman has quit IRC
16:33:46 *** sla_ro|master has joined #openttd
16:43:46 <Samu> i have the code ready, testing
16:44:04 <Samu> well, it's not optimized
16:44:08 <Samu> but, sec
16:46:19 <Samu> https://paste.openttdcoop.org/puyn9xqgw
16:46:23 <Samu> how to simplify!
16:47:53 <Samu> erps
16:48:05 <Samu> should never reach here, but it reached, i fail already
16:49:22 <Samu> needs more checks, brb
16:51:02 <nielsm> make it table based instead of a large switch
16:52:13 <Samu> https://paste.openttdcoop.org/pomxkfugj added lines 84, 85
16:52:19 <Samu> a table?
16:53:18 <Samu> i know how to make tables on squirrel, but on c++ i guess I don't, or don't remember
16:53:30 <nielsm> an array of structs
16:53:55 <nielsm> "table based" is a general term for talking about using lookups of static data, instead of code paths
16:54:45 <Samu> can you point me to an example in the code, will try to mimic
16:57:04 <Eddi|zuHause> i wouldn't go down to trackbit level
16:57:09 <Eddi|zuHause> just check the tile itself
16:58:56 <Eddi|zuHause> if (water tile && appropriate slope) {do stuff}
16:59:30 <nielsm> even just if it has water at all, don't even check slope
16:59:30 <Eddi|zuHause> and the whole +/- 1 tilediff can probably be factored out
17:00:45 <Eddi|zuHause> nielsm: the shore tiles are internally counted as water tiles, so you do need to exclude those
17:00:57 <nielsm> ah
17:01:20 <Eddi|zuHause> however, i would include river slopes, even though ships don't actually travel on those
17:07:51 <Eddi|zuHause> pseudocode: https://paste.openttdcoop.org/pvinp1p38
17:08:26 <Eddi|zuHause> although the +/- might be backwards
17:09:28 <nielsm> https://0x0.st/sRC5.txt
17:09:43 <nielsm> :P
17:10:09 <Eddi|zuHause> your way is slightly more pythonic
17:10:44 <Eddi|zuHause> which isn't all that practical if we're writing C++ :p
17:16:51 <peter1138> You can do it with a table of mostly 0, 0 entries.
17:17:18 <peter1138> A table indexed directly by slope is preferable to a loop checking for trackbits.
17:20:23 <nielsm> but it's longer and possibly less readable
17:20:35 <nielsm> (the difference in performance is probably insignificant)
17:20:47 <peter1138> What's longer? The table?
17:20:51 <nielsm> yes
17:20:54 <peter1138> Doesn't matter.
17:21:16 <peter1138> You only need to look at one entry, not all of them.
17:21:23 <nielsm> for readability
17:21:30 <peter1138> And that is better than a loop.
17:22:17 <peter1138> Sure the performance by itself is insignificant, but when you add every single little insignificant performance improvement together, it matters.
17:22:40 <peter1138> I think the larger table is likely more readable than the loop anyway.
17:24:01 <peter1138> And also established practice within our code.
17:24:09 <nielsm> or use eddis switch lookup
17:24:16 <peter1138> There's probably already a table or function that'll do the lookup.
17:24:31 <peter1138> nielsm, a switch is not a lookup.
17:25:04 <peter1138> That switch is 4 conditionals that need to be evaluated, mumble mumble branch prediction mumble mumble.
17:26:19 *** Gabda has quit IRC
17:36:43 <Eddi|zuHause> i'm fairly confident the compiler will optimize the crap out of that switch
17:37:39 <peter1138> Probably will. Not so much the loop, though.
17:38:26 <Samu> isnt checking the trackbit more precise?
17:39:09 <peter1138> How so?
17:39:37 <Samu> ah, only for the first check
17:39:53 <Samu> if IsSlopeWith1CornerRaised?
17:40:02 <Eddi|zuHause> we don't really need the precision
17:40:51 <Samu> i still need to know the slope configuration
17:40:52 <peter1138> Water tiles don't have optional track bits, and the slopes you're interested in can only have 1 specific trackbit layout. There doesn't seem to be any need to check that.
17:42:01 <peter1138> Where you set up water_track probably involves lots of unnecessary lookups and calculations from the slope in the first place, so if you only need the slope...
17:42:10 <Samu> ok, I'll get the slope then
17:43:14 <peter1138> In fact you are breaking it down into track bits and making it more complex as you need to check lots of things.
18:13:26 *** HerzogDeXtEr has joined #openttd
18:15:43 *** Gja has joined #openttd
18:16:46 <Samu> there is a _corner_to_trackbits
18:16:52 <Samu> will try to use it
18:18:12 <Eddi|zuHause> <peter1138> Probably will. Not so much the loop, though. <-- dunno, modern compilers should understand the concept of unfolding small loops, like do 8 iterations at a time instead of 1
18:19:52 <Eddi|zuHause> at least my compiler construction lecture from 10 years ago had that concept, and it said "all the concepts in here are already 20 years old"
18:20:23 <milek7> maybe at -O3
18:20:40 <Eddi|zuHause> dunno what we use
18:20:43 <Sacro> -funroll_loops
18:22:52 <Eddi|zuHause> the concept debated back then was in context of processors that contain multiple instructions in one opcode, but i think that is a dead concept nowadays. and true parallelization was a huge questionmark
18:23:23 <Eddi|zuHause> i think that has not changed much...
18:25:40 <milek7> for VLIW there is that 'mill cpu' vaporware
18:26:39 <Eddi|zuHause> it was before dual core processors became "mainstream"
18:27:06 <Borg> Eddi|zuHause: what arch had this?
18:27:23 <milek7> itanium?
18:27:36 <Borg> x86 have single opcode = multiple mikroinstructions..
18:27:38 <Eddi|zuHause> yeah, that intel server thingie that went nowhere
18:28:14 <Borg> but I doubt they ever go into different pipelines..
18:28:41 <Eddi|zuHause> no, it was above the "pipeline" level
18:29:36 <Eddi|zuHause> Borg: think of it like the MMX opcodes, where you can do 4 separate 8-bit instructions on a 32bit word in parallel
18:29:52 <Borg> thats not separate instructions.
18:29:58 <Borg> thats mikroinstructions.. that go to pipelines
18:30:05 <Borg> paralelism..
18:30:21 <milek7> https://en.wikipedia.org/wiki/IA-64
18:30:23 <Eddi|zuHause> just on a larger scale, so you have 4 32-bit instructions on a 128bit word
18:30:35 <Borg> the biggest single opcode multiple instructions. could be CMP8XCHG..
18:30:42 <Borg> or sth like that :) never used it tho
18:30:56 <Borg> lets google mnemonic
18:31:14 <Borg> ahh CMPXCHG.. familly..
18:31:53 <Eddi|zuHause> Borg: i've never really concerned myself with this low level stuff
18:32:06 <Borg> well... 20 years ago.. I did
18:32:15 <Borg> but it was 386 486 586 era :) was fun
18:34:12 <Eddi|zuHause> "As of 2008, Itanium was the fourth-most deployed microprocessor architecture" <-- that means almost insignificant?
18:34:55 <Borg> ;]
18:39:52 *** Gabda has joined #openttd
18:43:42 *** frosch123 has joined #openttd
18:44:29 <Samu> sorry, i'm noob, can't seem to understand tables
18:44:34 <Samu> struct { TileIndex opposite_tile, next_tile_1, next_tile_2; TrackBits opposite_track, next_track_1, next_track_2; } table[] = {
18:44:34 <Samu> { TileDiffXY(-1, 1), TileDiffXY(0, 1), TileDiffXY(-1, 0), TRACK_BIT_LEFT, _settings_game.pf.forbid_90_deg ? TRACK_BIT_X | TRACK_BIT_RIGHT : TRACK_BIT_3WAY_NE, _settings_game.pf.forbid_90_deg ? TRACK_BIT_Y | TRACK_BIT_RIGHT : TRACK_BIT_3WAY_SE },
18:53:23 <nielsm> you can't put conditionals in static data
18:53:42 <Samu> here's my table https://paste.openttdcoop.org/pnvxcsvic
18:53:42 <nielsm> and caring about the 90 deg turns setting is overkill for this
18:54:10 <nielsm> besides what if the setting is flipped after the check
18:54:28 <Samu> isn't it rechecked?
18:54:37 <nielsm> not when the house is already built
18:57:06 <nielsm> and besides if you build a route that depends on this being traversable you deserve it to fail: https://0x0.st/s7r7.png
18:58:07 *** glx has joined #openttd
18:58:07 *** ChanServ sets mode: +v glx
18:58:14 <nielsm> either be pessimistic and assume the setting is always enabled, or optimistic and assume it's always disabled
18:59:04 <Eddi|zuHause> i don't know why you make it this complicated, you just need to check whether the (1,1) tile is a valid tile that is either flat, or the opposite slope of whatever the starting tile is
18:59:11 <nielsm> yes
18:59:13 <nielsm> seriously
18:59:57 <nielsm> I'm going to disapprove a changed PR that's based on trackbits when it could be just as good based on slope checks
19:01:59 *** synchris has joined #openttd
19:04:16 <Samu> sec
19:05:15 <Samu> got this atm
19:05:17 <Samu> https://paste.openttdcoop.org/ptftckcwn
19:05:24 <Samu> let me read
19:05:24 *** gelignite has joined #openttd
19:11:31 <Samu> if i check the opposite_track first, or rather, it's slope/corner
19:11:47 <Samu> it's not automatically true
19:11:56 <Samu> will have to check the 2 other tiles yet
19:13:28 <Samu> will i need to check tracks on the other 2 tiles? that is the question
19:14:32 <Samu> the pessimistic approach: no
19:15:07 <Samu> unless it's a aqueduct
19:15:23 <Samu> or a lock
19:15:27 <Samu> or a depot
19:15:39 *** Wolf01 has joined #openttd
19:15:42 <Samu> meh, track bit seems to do all those checks itself
19:16:20 <nielsm> please accept that you can't protect players against all kinds of own stupidity
19:16:22 <Wolf01> It's meh... Wolfo!
19:19:17 <Samu> ok, the opposite tile check doesn't require to be a trackbit check at least
19:19:27 <Samu> brb changing
19:20:34 *** Gabda has quit IRC
19:29:43 <Eddi|zuHause> you misspelled 01 as o!
19:30:08 <Wolf01> I often misspell my nick as Wolfolo
19:31:36 <Wolf01> And I really can't understand who else could use that nick, I often have problems registering to services because both Wolf01 and Wolfolo are taken
19:32:02 <acklen_> Wolfool isn't quite the same
19:33:55 <Wolf01> My third nick is a name, so I can't even try to use it
19:42:24 *** Gabda has joined #openttd
20:14:06 <Samu> god, im working with slopes, i feel blind, dont even know if there's water tracks
20:14:52 <nielsm> if it's a water tile and it has slopes, it has "water tracks"
20:15:59 <Samu> but what if it's flat
20:16:08 <nielsm> then it has no slopes
20:16:23 <nielsm> a flat water tile has all the tracks by definition
20:16:37 <Samu> not true
20:17:25 <Samu> depots/locks/aqueducts/buoys, :(
20:17:35 <Samu> makes me do more checks
20:18:13 <nielsm> and what if someone removes those features from the tile?
20:18:16 <nielsm> or adds them?
20:18:26 <nielsm> you cannot protect a player from their own stupidity
20:18:30 <nielsm> there are always more cases
20:19:32 <nielsm> https://github.com/OpenTTD/OpenTTD/blob/master/src/water_cmd.cpp#L1234
20:19:41 <nielsm> see this part?
20:19:41 <nielsm> case WATER_TILE_CLEAR: ts = IsTileFlat(tile) ? TRACK_BIT_ALL : TRACK_BIT_NONE; break;
20:19:44 <Samu> this is not gonna work, there's always something I'm gonna miss
20:20:39 <Samu> there's various water tile types
20:21:36 <nielsm> you cannot protect a player from their own stupidity
20:21:38 <nielsm> there are always more cases
20:21:47 <Samu> and then there are buoys, which are station tiles
20:22:12 <Samu> and aqueduct, which is tunnelbridge
20:22:15 <nielsm> yeah that sucks doesn't it
20:22:44 *** andythenorth has joined #openttd
20:23:09 <nielsm> maybe you should not have built a route that would be broken by a single corner tile being modified
20:23:10 <andythenorth> yo
20:23:18 *** chomwitt has joined #openttd
20:28:41 <Samu> buoys don't block ships
20:29:10 <Samu> i still feel getting the trackbit is the better way, even for the opposite tile
20:29:48 <Samu> only the main tile seems okay not to check for tracks
20:34:16 <Samu> there are rail tiles that also have water
20:36:01 <andythenorth> hmm
20:36:25 <andythenorth> so I generate graphics using pipelines
20:36:32 <andythenorth> which are composed of individual units
20:36:44 <andythenorth> I feed them an input spritesheet, and they spit out a result and save it
20:36:55 <andythenorth> should pipelines be idempotent? o_O
20:37:24 <Eddi|zuHause> depends?
20:37:37 <nielsm> generally I'd expect identical inputs to yield identical outputs
20:37:53 <nielsm> (if you also consider "current date and time" as part of the input)
20:37:55 <andythenorth> so running the pipeline a second time shouldn't produce a different output? o_O
20:38:22 <andythenorth> the pipeline relies on a config object
20:38:29 *** HerzogDeXtEr has quit IRC
20:38:35 <andythenorth> I had the horrible idea of having the pipeline modify the config when it runs
20:38:55 <andythenorth> oh, and also it runs in a worker pool of ~16 threads, each taking one pipeline
20:38:59 <andythenorth> with non-predictable order :P
20:39:06 <Eddi|zuHause> "idempotent" means "take the output, and feed it again as the input"
20:39:26 <andythenorth> oh we don't use it that way at work
20:39:40 <Eddi|zuHause> you probably mean "stable"
20:39:54 <Eddi|zuHause> run the algorithm twice with the same input
20:39:57 <andythenorth> yes
20:40:03 <andythenorth> wikipedia defines it that way
20:40:05 <andythenorth> "whereby they can be applied multiple times without changing the result beyond the initial application"
20:40:06 <Eddi|zuHause> "deterministic"
20:40:25 <andythenorth> the maths definition isn't what wikipedia says
20:40:30 <andythenorth> https://en.wikipedia.org/wiki/Idempotence
20:40:41 <Eddi|zuHause> andythenorth: it is, you're just misinterpreting what "multiple times" is
20:40:43 <andythenorth> 1x1=1 makes sense
20:41:11 <andythenorth> https://en.wikipedia.org/wiki/Idempotence#Computer_science_meaning
20:42:12 <Eddi|zuHause> that also has nothing to do with what you thought it meant
20:42:48 <andythenorth> I am reading the rest
20:43:30 <andythenorth> so why are the examples wrong?
20:43:37 * andythenorth is in pure interest territory now
20:44:39 <Eddi|zuHause> andythenorth: compilers are usually not idempotent, because you cannot use the output as input
20:45:10 <milek7> 'reproducible builds'
20:45:13 <Eddi|zuHause> andythenorth: whereas a database query is idempotent, because the query takes a database and a question, and outputs a database (unchanged) and an answer
20:45:15 <milek7> i have seen 'idempotent' used in sense that eg. repeated http POST won't post twice
20:45:30 <Eddi|zuHause> the database can be used as input for another query
20:45:37 <Eddi|zuHause> or the same query again
20:45:52 <milek7> in that sense, compiler also outputs unchanged source code ;p
20:46:09 <andythenorth> we learnt it from Ansible https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html
20:46:15 <andythenorth> Ansible might be wrong mind you
20:46:41 <andythenorth> https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html#term-idempotency
20:47:00 <Eddi|zuHause> milek7: ok, if you consider that the compiler doesn't make changes to the source code...
20:47:11 <andythenorth> the mathematical definition seems rather stricter
20:47:33 <andythenorth> eh this I did encounter in engineering maths, a *long* time ago
20:47:35 <andythenorth> https://en.wikipedia.org/wiki/Idempotent_matrix
20:47:44 <andythenorth> 1 0 0 1 matrix
20:48:01 <andythenorth> is a nice example when learning matrix multiplication
20:48:17 <andythenorth> ok well that's a way off pipelines :P
20:48:20 <Eddi|zuHause> the identity matrix is a special case of an idempotent matrix
20:48:36 <frosch123> andythenorth: it applies to ansible, if ansible does nothing when you run it a second time
20:48:44 <andythenorth> yes
20:48:45 <Eddi|zuHause> andythenorth: but that glossary definition seems to be the same as the mathematical definition as i know it
20:48:58 <frosch123> you can also call "make" idempotent then :)
20:49:32 <frosch123> but only if your makefiles are correct, which they are not in 90% of cases?
20:49:34 <Eddi|zuHause> well, technically, if it writes access log files, it's now not idempotent anymore
20:50:00 <andythenorth> the playbook doesn't yield the playbook
20:50:11 <andythenorth> so the mathematical analogy doesn't follow afaict
20:50:17 <frosch123> idempotent is not self-reproducing
20:50:24 *** Gja has quit IRC
20:50:35 <Eddi|zuHause> andythenorth: no, but reading from the playbook doesn't change the playbook. you can read the same section again
20:50:37 <frosch123> it's just that it does not change its result again
20:50:49 *** Wormnest has quit IRC
20:51:44 <Eddi|zuHause> andythenorth: example of an operation that is not idempotent is flipping a light switch
20:51:52 <Eddi|zuHause> andythenorth: you flip it once, it's now on
20:51:59 <Eddi|zuHause> andythenorth: you flip it again, it's now not on
20:52:03 <Eddi|zuHause> andythenorth: you flip it once, it's now on
20:52:09 <Eddi|zuHause> err
20:52:11 <Eddi|zuHause> *again
20:52:18 <frosch123> but double-flip is idempotent :p
20:52:26 <Eddi|zuHause> after each operation, result is different than the one before
20:52:42 <andythenorth> so double flip is idempotent, irrespective of input
20:52:48 <Eddi|zuHause> yes
20:53:15 <andythenorth> but the light being on doesn't change the switch?
20:53:18 <andythenorth> or does it? o_O
20:53:23 <andythenorth> hmm it does
20:54:05 <frosch123> "idempotent" is a property the operation, not of the operands/results
20:54:31 <andythenorth> well
20:54:39 <andythenorth> I am now both more and less confused
20:54:41 <andythenorth> at the same time
20:54:42 <Eddi|zuHause> "the light is on" is not an operation
20:54:49 <Eddi|zuHause> "is the light on?" is an operation
20:54:51 <andythenorth> "idempotent" means "take the output, and feed it again as the input"
20:54:54 <andythenorth> ?
20:54:57 <andythenorth> the output is 'on'
20:54:59 <Eddi|zuHause> the "is the light on?" operation is idempotent
20:55:12 <frosch123> mathematically projections are the most-common idempotent functions
20:55:35 <andythenorth> is looking for water tiles idempotent?
20:55:43 <TrueBrain> that after some iterations of f(x), f(x) = x, not? :)
20:55:48 <frosch123> yes, first step is from land to water
20:55:52 <frosch123> then you remain on the same water
20:56:01 <frosch123> so, "nearest water tile" is idempotent
20:56:07 <Eddi|zuHause> TrueBrain: no, that is not idempotence
20:56:13 <andythenorth> what if you build a house on the tile?
20:56:14 <TrueBrain> owh, darn it!
20:56:21 <andythenorth> anyway
20:56:27 <Eddi|zuHause> idempotence is f(f(x))=f(x)
20:56:34 <Eddi|zuHause> the first application can change x
20:56:37 <TrueBrain> and I define x as f(x)
20:56:38 <TrueBrain> HA!
20:56:44 <Eddi|zuHause> but any subsequent application is not changing it
20:56:49 <frosch123> note that f(f(x)) = f(x) does not imply f(x) = x
20:56:52 <TrueBrain> so I was right, LALALALA
20:56:53 *** Gabda_ has joined #openttd
20:56:59 <TrueBrain> *puts fingers in his ears*
20:57:11 <Eddi|zuHause> f(x)=x is a special case
20:57:12 <frosch123> this is a text chat
20:57:27 <TrueBrain> I miss the webcam interaction :(
20:57:39 <Eddi|zuHause> there was webcam interaction?
20:57:43 <frosch123> how many viewers do you have?
20:57:44 <peter1138> hi
20:57:51 <TrueBrain> you really want me to answer that? :P
20:58:13 <frosch123> for ordering appropiate medication
20:58:18 <frosch123> *sufficient
20:58:37 <DorpsGek_II> [OpenTTD/OpenTTD] Gabda87 commented on pull request #6931: Change: Prevent town growth from blocking ships https://git.io/fhGMN
20:58:43 <andythenorth> ok
20:58:47 <andythenorth> so graphics pipelines :P
20:59:04 <TrueBrain> yes, get to work
20:59:08 <andythenorth> if running the pipeline modifies subsequent runs of the pipeline
20:59:24 <andythenorth> is that (a) idempotent (b) not idempotent (c) none of the above
20:59:24 <Eddi|zuHause> what is a "graphics pipeline"?
20:59:37 <andythenorth> let's say you give it a png
20:59:43 <andythenorth> then it gives you a png
20:59:59 <andythenorth> but the input and output could be arbitrarty
21:00:08 <andythenorth> it's a set of mathematical processing operations
21:00:44 <Eddi|zuHause> like, stretching, rotating, whatever?
21:01:09 <andythenorth> making blue into green, whatever
21:01:09 <Eddi|zuHause> these are usually not idempotent
21:01:25 <Eddi|zuHause> making blue into green is (by itself) idempotent
21:01:38 <Gabda_> f(x)=c is good as well
21:01:47 <Eddi|zuHause> because once you removed all the blue, removing all the blue again doesn't do anything
21:01:52 <nielsm> this sounds a lot like a fix point function
21:02:07 <Eddi|zuHause> so unless you add new blue anywhere, that will make it not idempotent
21:02:14 <TrueBrain> is crashing also idempotent?
21:02:57 <andythenorth> currently the output is not the input :P
21:03:06 <andythenorth> which is why this might be the wrong question
21:03:25 <Eddi|zuHause> which is why i brought up the definition in the first place
21:03:58 <peter1138> Has Samu figured out slopes yet?
21:04:04 <andythenorth> so if running the pipeline modifies the pipeline?
21:04:07 <andythenorth> what's that called?
21:04:15 <andythenorth> other than 'stupid'
21:04:15 <Eddi|zuHause> dunno, still on ignore
21:04:16 <peter1138> Self-destruction.
21:04:24 <andythenorth> there's ignore in irc? :o
21:05:09 <Eddi|zuHause> <andythenorth> what's that called? <-- "stateful"
21:05:26 <TrueBrain> andythenorth: Polymorphic
21:05:31 <andythenorth> unwise
21:05:37 <Borg> andythenorth: yes.. /help ignore
21:05:51 <Eddi|zuHause> Borg: pretty sure the question was rhethoric
21:06:01 <Borg> oh ;)
21:06:01 <Eddi|zuHause> andythenorth: the opposite of "functional"
21:06:29 <Eddi|zuHause> andythenorth: "has side effects"
21:06:41 <Eddi|zuHause> really, plenty of names for this :)
21:06:56 <andythenorth> but not, for the record, idempotent?
21:07:10 <TrueBrain> depends :D
21:07:13 <TrueBrain> (haha)
21:07:31 <Eddi|zuHause> "idempotent" (in the "computer science/imperative" definition) is a special case of "has side effects"
21:07:54 <Eddi|zuHause> as in assuring people "but the side effects are not TOO bad"
21:08:10 <glx> some side effects are nice
21:08:38 <andythenorth> in Ansible it's a shorthand for 'your server will be in a predictable state after running this playbook'
21:08:39 <glx> as long it's not an undefined behaviour
21:09:21 <andythenorth> so is the Ansible definition of it wrong?
21:09:29 <Eddi|zuHause> andythenorth: where the mathematical/functional and the computer science/imperative definition differ is whether you mean the "pure" input/output or the data/state where the side effects operates on
21:10:17 <andythenorth> if my playbook adds a user
21:10:20 <andythenorth> and I run it twice
21:10:21 <frosch123> andythenorth: idempotency does not mean "there is only once result"
21:10:23 <andythenorth> I get two users
21:10:26 <frosch123> just that it does not change anymore
21:10:40 <frosch123> so, ansible wants to be more than idempotent
21:10:55 <Eddi|zuHause> andythenorth: not if that second add user collides with an error of "user already exists"
21:10:55 <TrueBrain> whoho, we have a Sentry account :D
21:11:24 <andythenorth> getsentry
21:11:24 * frosch123 googles
21:11:38 <andythenorth> now we can do six sigma
21:11:38 <Eddi|zuHause> TrueBrain: does it shoot at you?
21:11:49 <andythenorth> TrueBrain can be a black belt
21:11:59 <andythenorth> for statistical error analysis
21:12:06 <andythenorth> 6 9s
21:12:41 <andythenorth> well this was fun
21:13:23 <Eddi|zuHause> TrueBrain: i mean like these? https://www.youtube.com/watch?v=6i-nMWgBUp0
21:13:24 <andythenorth> 5 days and 12 hours to save some flyspray patches
21:13:42 <andythenorth> https://github.com/OpenTTD/OpenTTD/issues?q=is%3Aopen+is%3Aissue+label%3A%22patch+from+FlySpray%22
21:13:55 <andythenorth> before they're lost.....forever
21:14:08 <Eddi|zuHause> andythenorth: you should add "stale" to that search
21:14:30 <glx> (closed issues are not lost ;) )
21:15:26 <andythenorth> Eddi|zuHause: improved it https://github.com/OpenTTD/OpenTTD/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+label%3A%22patch+from+FlySpray%22+label%3A%22stale%22
21:15:32 <andythenorth> just 36 then
21:15:57 <andythenorth> @calc 36 / ((5*24) + 12)
21:15:57 <DorpsGek> andythenorth: 0.272727272727
21:16:07 <andythenorth> less than 1 per hour
21:16:20 <andythenorth> @calc 36 / 5.5
21:16:20 <DorpsGek> andythenorth: 6.54545454545
21:16:25 <andythenorth> that's per day
21:16:30 <andythenorth> we could probably round a bit
21:16:48 <TrueBrain> https://sentry.io/openttd/ <- you need to login via GitHub, and only works if you are part of the OpenTTD organization
21:16:52 <TrueBrain> (so might not be for most of you)
21:17:05 <TrueBrain> I will let that take care of most of the error reporting :D
21:17:16 <TrueBrain> not sure if I can disable that you have to login
21:18:08 <glx> it works
21:20:01 <TrueBrain> I love Sentry .. it makes so many things so much easier ..
21:21:04 <andythenorth> another conditional orders thing? o_O https://github.com/OpenTTD/OpenTTD/issues/6078
21:21:12 <andythenorth> they're so useless, we might as well just add lots more
21:21:23 <andythenorth> nobody will notice anyway :)
21:23:17 <andythenorth> all these patches with these 'meh' titles
21:23:18 <TrueBrain> if a tree falls in the forest
21:23:20 <TrueBrain> but nobody is around
21:23:22 <TrueBrain> does it make a sound?
21:23:37 <andythenorth> there is software quality and then there is software quality
21:23:54 <andythenorth> I liked TrueBrain's plan for MMORPG version of OpenTTD
21:24:02 <andythenorth> that will make it interesting
21:24:50 <TrueBrain> that is an old old plan :P
21:25:20 <glx> I remember the test duel version
21:25:26 <milek7> sentry: 'Track errors in every language, framework, and library. ' * no c++ on list * ...
21:25:50 <TrueBrain> for good reason
21:25:51 <TrueBrain> :P
21:27:14 * andythenorth wonders about patch quotes
21:27:17 <andythenorth> quotas *
21:27:23 <andythenorth> 'we will accept 10 patches in 2019'
21:27:28 <andythenorth> 'is yours good enough?'
21:28:23 * frosch123 submits jgrpp
21:28:28 <frosch123> it's just one patch, right?
21:28:37 <andythenorth> if you squash it
21:28:41 <andythenorth> it's just once commit
21:29:30 <andythenorth> so every year, just take jgrpp, and call that master?
21:29:38 <andythenorth> nobody here has to patch anything
21:29:39 <Eddi|zuHause> surely no problems will ever arise with that
21:29:41 <andythenorth> forums go wild
21:30:41 <andythenorth> ok that's the plan, I close all issues and PRs now
21:31:23 <milek7> TrueBrain: so how it is useful for openttd? custom scripts for submitting crashes?
21:31:49 <DorpsGek_II> [OpenTTD/OpenTTD] Eddi-z opened pull request #7026: Add: when placing non-rectangular airport, consider airport tile table tiles only (patch by adf88, #6613) https://git.io/fhGD4
21:31:51 <frosch123> it has support for python and flask
21:32:05 <TrueBrain> milek7: no, it is useful for the OpenTTD infrastructure
21:32:28 <Eddi|zuHause> andythenorth: openttd is complete?
21:33:05 <andythenorth> could be
21:33:28 <Eddi|zuHause> isn't there a way where the PR could be attached to the original ticket instead of getting a new number?
21:33:42 <andythenorth> mildly confusing isn't it?
21:34:08 <glx> no, but it should link to the issue as you tagged it in the title
21:34:15 <Eddi|zuHause> yes
21:34:21 <Eddi|zuHause> but that splits the discussion
21:34:33 <andythenorth> it does
21:34:35 <frosch123> between gh and irc?
21:34:43 <andythenorth> within GH
21:34:56 <andythenorth> but Eddi|zuHause it's mostly an artefact of providing patches in issues
21:34:59 <Eddi|zuHause> no, people following the original ticket won't be subscribed to the discussion on the PR
21:35:02 <andythenorth> so mostly legacy
21:35:24 <andythenorth> broadly, there is not 1:1 mapping of issue:PR
21:35:31 <glx> they'll get a notification with a reference to the PR I think
21:35:37 <andythenorth> PRs don't need an associated issue
21:35:49 <andythenorth> for bug reports it's n:PR
21:35:58 <Eddi|zuHause> they'll get notification that there's a PR now
21:36:00 <andythenorth> for feature requests, 0:PR?
21:36:01 <Eddi|zuHause> but no followup
21:36:06 <andythenorth> hmm no
21:36:13 <milek7> btw. cross-platform crash reporting is such a pain
21:36:14 <andythenorth> feature requests should be n:0
21:36:26 <milek7> breakpad looks sensible, but turns out that each platform is slightly different header usage, so it ends up with platform specific code anyway
21:36:40 <andythenorth> TrueBrain: can I change the rules, to just close feature requests?
21:36:45 <andythenorth> they are spam
21:36:54 <andythenorth> literal negative value
21:37:40 <andythenorth> classic of the genre
21:37:41 <andythenorth> https://github.com/OpenTTD/OpenTTD/issues/7016
21:37:41 <Eddi|zuHause> didn't we write into contributing that feature requests better go to the forums?
21:38:13 <Eddi|zuHause> andythenorth: i would close that as "won't happen, because of performance"
21:38:43 <andythenorth> someone give Eddi|zuHause ticket editing rights :)
21:38:53 <Eddi|zuHause> don't you dare
21:38:55 <peter1138> How bad is it for performance?
21:39:12 <Eddi|zuHause> peter1138: dunno, but that was the rule when railtype newgrfs were introduced
21:39:19 <Eddi|zuHause> peter1138: no variables, because of performance
21:39:25 <peter1138> Did I make that rule?
21:39:27 <andythenorth> https://github.com/OpenTTD/OpenTTD/blob/master/CONTRIBUTING.md#feature-requests
21:39:41 <Eddi|zuHause> did you make railtypes?
21:39:45 <peter1138> Yes.
21:39:56 <andythenorth> hmm
21:39:58 <TrueBrain> andythenorth: https://github.com/OpenTTD/OpenTTD/blob/master/CONTRIBUTING.md#feature-requests
21:40:00 <TrueBrain> nuff said
21:40:03 * andythenorth looks for issues to burn
21:40:44 <Borg> andythenorth: Industry Text CB drawing issues... good issue to fix ;)
21:40:57 <Eddi|zuHause> peter1138: i think the problem was, opposing to something like vehicles, there is no cache for the result of an action3, so having deeply nested trees evaluated every tick seemed like a bad idea
21:42:23 <frosch123> Eddi|zuHause: the performance issue was for "nearest town". but "nearest town" is on a different level than "slope of neighbour tile" etc
21:42:51 <frosch123> for the landinfo stuff you just need to limit the distance
21:43:05 <frosch123> don't add variables like "sea is 50 tiles away" :p
21:43:43 <Eddi|zuHause> i always wanted "trackbits of adjacent tiles" for the curves
21:43:56 <frosch123> anyway, make a patchpack
21:44:13 <frosch123> i don't believe in these complex variables, until someone proves that they are really useful
21:44:19 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #1308: Vehicle Groups: create group from vehicles in station list. https://git.io/fhGDo
21:44:20 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #1308: Vehicle Groups: create group from vehicles in station list. https://git.io/fhGDK
21:44:37 <andythenorth> TrueBrain: roughly this? https://github.com/OpenTTD/OpenTTD/issues/1308#issuecomment-452075365
21:44:47 <frosch123> most are just: i have an idea how to make something, add 10 variables, idea turns out crap...
21:45:10 <Gabda_> maybe you could have a new tag for issues you find good for the projects
21:45:17 <andythenorth> frosch123: you happy to close it, or shall I be bad cop?
21:45:33 <frosch123> Gabda_: noone knows in advance
21:45:34 <Gabda_> as right now it hard to choose an issue to work on for newcomers
21:45:42 <andythenorth> agreed
21:45:43 <Eddi|zuHause> frosch123: the main problem with that is, if you add a variable with a specific idea in mind, you maybe miss a chance to make it generic enough so other people might use it
21:45:53 <andythenorth> how is the 'good first issue' tag working Gabda ?
21:45:54 <frosch123> you have to try out stuff, before you can commit to them
21:46:13 <Gabda_> that one was good :)
21:46:17 <frosch123> Eddi|zuHause: check out the 60+x variables of industries
21:46:29 <andythenorth> Eddi|zuHause: I think your railtype var patch is the correct way to do it
21:46:32 <frosch123> and houses
21:46:35 <Eddi|zuHause> frosch123: i'd rather not :p
21:46:45 <andythenorth> real problem, defined, clear patch, clear questions
21:46:46 <andythenorth> tested
21:46:50 <andythenorth> before adding
21:46:50 <Gabda_> I picked one, but for my second issue, I felt I couldn't choose from them
21:47:07 <andythenorth> and I could have added example nml if I could be bothered :P
21:47:21 <andythenorth> or a grf
21:47:27 <Eddi|zuHause> andythenorth: i feel like i posed "open qestions" in that topic, and nobody answered them
21:47:33 <andythenorth> well there's time yet
21:47:41 <andythenorth> frosch123: https://github.com/OpenTTD/OpenTTD/pull/7000
21:47:57 <TrueBrain> andythenorth: tweaked it a bit
21:48:07 <TrueBrain> twice "thank you" was a bit weird
21:48:13 <TrueBrain> (and fiddled with the link)
21:48:19 <andythenorth> thanks TB
21:49:04 <andythenorth> is someone just going to close George's or what?
21:49:10 <andythenorth> newgrf politics does my head in tbh :P
21:49:33 <LordAro> close a George ticket? :o
21:49:34 <andythenorth> I prefer the simple "Andy wants this, can he have it yes | no? Here is a grf"
21:49:48 <andythenorth> I closed loads last year
21:49:58 <andythenorth> if you want newgrf spec changes, you have to come here and help
21:50:01 <andythenorth> is the blunt
21:50:03 <andythenorth> reality
21:50:14 <andythenorth> it's not a request service
21:50:27 <andythenorth> can someone frame that nicely, thx bai
21:53:35 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #4573: Railtypes: improve snow transition https://git.io/fhGDF
21:53:36 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #4573: Railtypes: improve snow transition https://git.io/fhGDb
21:53:47 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #4711: Water: allow rivers (slopes) for navigation https://git.io/fhGDN
21:53:48 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #4711: Water: allow rivers (slopes) for navigation https://git.io/fhGDA
21:54:03 <TrueBrain> lets get to 100 issues? :P
21:54:13 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #4934: Profile - GetImage is slow https://git.io/fhGDp
21:54:14 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #4934: Profile - GetImage is slow https://git.io/fhGDh
21:54:18 <andythenorth> oof I closed Truebrain
21:54:29 <andythenorth> these are all 'nice to have'
21:54:33 <LordAro> /kban andythenorth
21:54:35 <andythenorth> but I have another 20 'nice to have'
21:54:40 <andythenorth> and the forums have 100
21:54:43 <andythenorth> and reddit has 50
21:54:49 <andythenorth> so eh
21:55:04 <andythenorth> it's not what GH is good for
21:55:15 <TrueBrain> why on earth was that ticket still open, lol ..
21:55:17 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #4998: Objects: draggable items https://git.io/fhGDj
21:55:18 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #4998: Objects: draggable items https://git.io/fhGye
21:55:20 <TrueBrain> tnx for closing my 5 year old ticket :P
21:55:23 <andythenorth> TrueBrain: contains valuable information
21:55:29 <andythenorth> or at least perception that it does
21:55:41 <andythenorth> it's only valuable if somebody does something
21:55:59 <andythenorth> cool story: we had 239 issues on Saturday
21:56:05 <andythenorth> today in work I had also 239 issues
21:56:20 * andythenorth having bonfires
21:56:46 <andythenorth> peter1138: o_O https://github.com/OpenTTD/OpenTTD/issues/5006
21:56:49 <andythenorth> easy now?
21:57:08 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #5210: Bananas: confusing "find missing content online" - especially removing savegame selection https://git.io/fhGyJ
21:57:10 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #5210: Bananas: confusing "find missing content online" - especially removing savegame selection https://git.io/fhGyU
21:57:44 <peter1138> Not really, the "add some mapping" bit was key to avoiding wastage, and we didn't do that.
21:57:48 <DorpsGek_II> [OpenTTD/OpenTTD] Milek7 commented on issue #6417: GSTile.GetTownAuthority not accounts town growth https://git.io/fhGyT
21:58:14 <andythenorth> peter1138: close it?
21:58:16 <peter1138> Otoh, we could just waste types and not worry now :p
21:58:21 <andythenorth> I don't worry
21:58:25 <andythenorth> let's waste some stuff
21:58:27 <peter1138> No, the feature is still relevant, regardless of how easy it is to implement...
21:58:31 <Eddi|zuHause> i vote for add patch and ignore waste
21:58:53 <Eddi|zuHause> leave dealing with the wast for a future generation
21:58:59 <Eddi|zuHause> *waste
21:59:07 <andythenorth> today also at work
21:59:16 <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 commented on pull request #7000: Add: Var 6A, a clone of Var 4A for querying poweredness compared to a… https://git.io/fhGyI
21:59:17 <peter1138> I... don't think I have a patch for it :p
21:59:20 <andythenorth> we realised we have made such a big mess, it won't be fixed by us
21:59:24 <andythenorth> it will be the next generation
21:59:28 <Eddi|zuHause> there's one in the ticket?
21:59:38 <frosch123> Eddi|zuHause: see, i can derail the issue even more
21:59:59 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on pull request #6931: Change: Prevent town growth from blocking ships https://git.io/fhGym
22:00:51 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #5652: AI: "error: wrong number of parameters" - show number used and number of expected? https://git.io/fhGyO
22:00:52 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #5652: AI: "error: wrong number of parameters" - show number used and number of expected? https://git.io/fhGy3
22:01:53 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6075: Timetable: removing all times from timetable and change all "stay" time https://git.io/fhGyZ
22:01:54 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6075: Timetable: removing all times from timetable and change all "stay" time https://git.io/fhGyn
22:02:15 <Borg> btw.. anyone here still does NFO ? or everyone went away for NML?
22:02:45 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6417: GSTile.GetTownAuthority not accounts town growth https://git.io/fhGyW
22:02:46 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6417: GSTile.GetTownAuthority not accounts town growth https://git.io/fhGyl
22:03:08 <andythenorth> Borg: is that a general question?
22:03:11 <andythenorth> or you want nfo help?
22:03:18 <glx> Borg: NFO is for hardcore grf writers
22:03:21 <Borg> nope.. I might want to contribute..
22:03:28 <Borg> but I want to know if there is worth doing so
22:03:41 <peter1138> Hmm, of course, frosch123 insists that non-buildable types shouldn't count towards the railtype limit. Hmm.
22:03:43 <frosch123> you and pikka are the only nfo users i encountered
22:03:49 <andythenorth> I use it for stations
22:03:51 <frosch123> there are like 3 people using m4nfo
22:03:51 <andythenorth> not by choice
22:03:53 <frosch123> the rest does nml
22:04:03 <andythenorth> I use it for debugging nml
22:04:18 <Borg> frosch123: oh... not much :) then... no point contributing then I guess
22:04:23 <andythenorth> limited return
22:05:32 <andythenorth> frosch123: (sorry) any idea if this is intended behaviour>?
22:05:35 <andythenorth> https://github.com/OpenTTD/OpenTTD/issues/5631
22:05:49 <andythenorth> it might be a bug, not an enhancement
22:05:58 <andythenorth> or it might just be, can you please stop using frigging subtypes
22:06:37 <frosch123> i can't remember when i touched that stuff last
22:06:49 <peter1138> 2013 :p
22:07:00 <frosch123> the list shows the subtypes of all selected vehicles
22:07:07 <frosch123> but articulated parts must be consistent
22:07:09 *** Gabda_ has quit IRC
22:07:36 *** sla_ro|master has quit IRC
22:07:39 <andythenorth> I can't even parse what's supposed to happen tbh
22:07:44 <andythenorth> 'life is too short for this crap'
22:07:48 <DorpsGek_II> [OpenTTD/OpenTTD] Eddi-z commented on pull request #7000: Add: Var 6A, a clone of Var 4A for querying poweredness compared to a… https://git.io/fhGyo
22:07:52 <peter1138> Hmm, I wonder which of my branches were my work, and which are tests of other peoples' patches :p
22:07:53 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #5631: Refitting doesn't display all available liveries for group of wagons https://git.io/fhGyK
22:07:54 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #5631: Refitting doesn't display all available liveries for group of wagons https://git.io/fhGy6
22:08:11 <peter1138> Time to ignore DorpsGek_II for a moment :p
22:08:13 <frosch123> apparently i touched that stuff in march 2013
22:08:15 <andythenorth> soz
22:08:32 <andythenorth> next time I read about subtypes as 'liveries' I might behave badly
22:08:43 <andythenorth> liveries are obviously implemented with ctrl-click in depot :P
22:09:14 <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 commented on pull request #7000: Add: Var 6A, a clone of Var 4A for querying poweredness compared to a… https://git.io/fhGy1
22:09:38 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6869: NewGRF tree growth control https://git.io/fhGyM
22:09:39 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6869: NewGRF tree growth control https://git.io/fhGyD
22:09:43 <andythenorth> oof sorry nielsm :P ^
22:09:45 <andythenorth> but
22:09:56 <Eddi|zuHause> <peter1138> Time to ignore DorpsGek_II for a moment :p <-- it's just andy being andy, it should blow over in like half an hour or so :p
22:10:07 <peter1138> I still need to ignore it.
22:10:21 <andythenorth> me too
22:10:31 <andythenorth> are irc highlights idempotent?
22:10:37 <Wolf01> Could you ignore yourself?
22:10:42 <peter1138> I usually do.
22:11:01 <Eddi|zuHause> peter1138: make sure to tell TrueBrain about how spammy DorpsGek_II is, he likes that :p
22:11:12 <peter1138> It's normally fine, just a bit noisy then :p
22:11:17 <TrueBrain> @kick Eddi|zuHause about thhhiiiiisssssss much
22:11:19 <peter1138> And that's what /ignore is for.
22:11:20 <andythenorth> Eddi|zuHause: so I could just check if the railtype has catenary? o_O
22:11:21 <TrueBrain> @whoami
22:11:21 <DorpsGek> TrueBrain: I don't recognize you.
22:11:23 <TrueBrain> boooeeee
22:11:25 <TrueBrain> lucky you
22:11:25 <Eddi|zuHause> haha :p
22:12:00 <andythenorth> on more
22:12:03 <andythenorth> 1 more
22:12:06 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6607: Stations: additional animation triggers https://git.io/fhGy7
22:12:08 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6607: Stations: additional animation triggers https://git.io/fhGy5
22:12:13 <andythenorth> ok I stop now :P
22:12:16 <andythenorth> broken some eggs
22:13:32 <TrueBrain> and I am testing what a release build would be doing ... scary :D
22:13:55 <DorpsGek_II> [OpenTTD/OpenTTD] Eddi-z commented on pull request #7000: Add: Var 6A, a clone of Var 4A for querying poweredness compared to a… https://git.io/fhGyb
22:16:04 <Eddi|zuHause> is max speed (vehicle specific units) a byte value?
22:16:06 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on pull request #7000: Add: Var 6A, a clone of Var 4A for querying poweredness compared to a… https://git.io/fhGyj
22:16:11 <Samu> back to work. I think only the main tile, the one named 'tile' can be checked by slope. and if I use a table lookup thing, I need to get its corner, numbered in the correct order as corners are 0, 1, 2, 3 already, and slopes aren't. The other tile checks, I still think the best way is by getting the track bits
22:16:39 <Samu> if i do it by other methods, code complicates again
22:16:53 *** Borg has quit IRC
22:17:44 <Eddi|zuHause> andythenorth: stop derailing the derailed conversation in a different direction :p
22:17:57 <andythenorth> is derailed a new var?
22:18:03 <TrueBrain> right, seems all that is left some meta files .. that I can fix this weekend or so
22:18:09 <frosch123> speed is in km-ish/h, so a word
22:18:10 <Eddi|zuHause> i think that should be an existing var
22:18:26 <andythenorth> Eddi|zuHause: on long-welded rail, 4 wheel freight cars are prone to derailments caused by hunting
22:18:41 <andythenorth> whereas on 60 foot jointed rail, the hunting motion is reset by the joints
22:18:46 <andythenorth> can we have that var?
22:19:00 <andythenorth> TrueBrain: hoorary
22:19:05 <andythenorth> sorry, we were talking about trains :(
22:19:09 <andythenorth> forgot to praise
22:19:10 *** Thedarkb-T60 has joined #openttd
22:19:11 <Eddi|zuHause> that's not a var, that's extended breakdowns
22:19:25 <andythenorth> cb36 for reliability?
22:19:36 <Eddi|zuHause> not enough
22:19:37 <andythenorth> why can't we have spontaneous crashes?
22:19:45 <andythenorth> that would raise the game
22:19:57 <andythenorth> 'your train just....crashed. 2 are dead'
22:20:03 <Eddi|zuHause> because someone closed the ticket of improved breakdowns patch?
22:20:22 <andythenorth> 'SPAD, 38 dead'
22:20:30 <andythenorth> https://en.wikipedia.org/wiki/Signal_passed_at_danger
22:20:34 <andythenorth> random
22:20:41 <Eddi|zuHause> i'm pretty sure people requested that before
22:20:42 <andythenorth> adding brakevans reduces SPADS and derailments
22:22:00 <glx> @whoami
22:22:00 <DorpsGek> glx: glx
22:22:06 <andythenorth> you are
22:22:08 <andythenorth> I can see
22:22:33 <DorpsGek> I can hde myself
22:23:05 <ST2> DorpsGek is with Alzheimer again :D
22:23:40 <glx> I identified myself 3 days ago, it remembers me since
22:24:01 <ST2> @whoami
22:24:01 <DorpsGek> ST2: I don't recognize you.
22:24:07 <ST2> crap :D
22:24:14 <LordAro> @whoami
22:24:14 <DorpsGek> LordAro: I don't recognize you.
22:24:15 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6628: Docks can't be connected into a single station https://git.io/fhGST
22:24:16 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6628: Docks can't be connected into a single station https://git.io/fhGSk
22:24:16 <LordAro> aw
22:24:30 *** DorpsGek sets mode: +o glx
22:24:33 *** DorpsGek sets mode: -o glx
22:24:43 <glx> and I have my super powers
22:24:53 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6357: positioning of train vehicle sprites https://git.io/fhGSI
22:24:54 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6357: positioning of train vehicle sprites https://git.io/fhGSL
22:25:16 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6253: Remember the game save/load location even when closing the app https://git.io/fhGSt
22:25:17 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6253: Remember the game save/load location even when closing the app https://git.io/fhGSq
22:25:22 <andythenorth> 178
22:25:33 <andythenorth> about 40 more I'll close on Saturday
22:26:41 <andythenorth> Gabda still looking for things to work on? o_O
22:27:39 <Eddi|zuHause> andythenorth: you need to go through and remove the "stale" label from tickets where there was activity
22:27:44 <andythenorth> ok
22:27:57 <andythenorth> it's quite labour intensive label, as predicted
22:28:04 <andythenorth> better replaced by a bot
22:28:10 <glx> we need a bot to manage stale label yes
22:28:37 *** gelignite has quit IRC
22:29:22 <andythenorth> I am not a good bot
22:30:01 <DorpsGek> i am
22:30:20 <glx> was not me
22:30:23 <andythenorth> https://probot.github.io/
22:30:55 <TrueBrain> andythenorth: I will install that bot on PRs next weekend
22:30:58 <andythenorth> yay
22:31:00 <TrueBrain> for issues, we need more tuning I guess
22:31:07 <TrueBrain> as we first have to catch up
22:31:11 <TrueBrain> before we can let him go on a rampage :P
22:31:12 <andythenorth> first we catch up
22:31:16 <andythenorth> then we decide
22:31:23 <Eddi|zuHause> ketchup
22:31:28 <andythenorth> mayo
22:31:31 <TrueBrain> https://dev.azure.com/truebrain/OpenTTD/_build/results?buildId=205 <- NOT MEANT FOR DOWNLOADING, they are broken in terms of versioning
22:31:34 <TrueBrain> but .. they all work :D
22:31:36 <LordAro> imo, stale shouldn't be added by a bot, it should only remove stale, or close issues
22:31:43 <LordAro> otherwise we'd just end up with no issues
22:31:53 <andythenorth> TrueBrain: no BeOS? :o
22:31:53 <LordAro> or lots of "bump" comments
22:31:59 <Eddi|zuHause> in the 90s there was a TV show "sketch up"
22:32:01 <TrueBrain> andythenorth: no :)
22:32:06 <andythenorth> I had a BeOS cover CD once
22:32:07 *** nielsm has quit IRC
22:32:10 <andythenorth> didn't install it
22:32:14 <TrueBrain> LordAro: your logic fails on me :)
22:32:38 <TrueBrain> how do we end up with no issues, if a proper configured bot runs 'stale' processing?
22:33:38 <andythenorth> isn't 'no issues' how we win? :o
22:33:45 * andythenorth might be playing the wrong game
22:34:04 <Eddi|zuHause> surely
22:34:05 <LordAro> ok, (valid) issue is opened, there's some discussion, but as no one ever has any time to do anything with it, it goes quiet. bot comes along and applies stale label to it (no one notices). n days later, bot closes issue
22:34:07 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6651: Improve CargoDist flow palette https://git.io/fhGSl
22:34:08 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6651: Improve CargoDist flow palette https://git.io/fhGS8
22:34:40 *** Compu has joined #openttd
22:34:47 <TrueBrain> so you completely jump over the very important word: PROPER configured? :)
22:35:09 <andythenorth> someone want to approve and merge? https://github.com/OpenTTD/OpenTTD/pull/6998
22:35:15 <LordAro> well, i don't know what you or anyone else consider "proper" :p
22:35:23 <TrueBrain> so, that is the right question to ask
22:35:25 <LordAro> i'm just getting my opinion in before something is actually done :p
22:35:28 <TrueBrain> instead jumping to some extreme :P
22:35:40 <TrueBrain> yes, because OpenTTD is good in doing something before talking about it N times :D
22:35:52 <andythenorth> I would approved 6998, but eh, I don't like approving actual C++ stuff
22:35:54 <TrueBrain> but it is easier to answer an open question, then to defend to a weird jump in the spectrum ;)
22:35:59 <TrueBrain> either way, please see https://probot.github.io/apps/stale/
22:36:14 <TrueBrain> it has some nice examples
22:36:32 <andythenorth> I could put 'Probably Fine' on that PR, but it's disrespectul to Gabda as first time contributor
22:37:09 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6686: Signal removal with (CTRL+)drag not possible from level crossing https://git.io/fhGSB
22:37:10 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6686: Signal removal with (CTRL+)drag not possible from level crossing https://git.io/fhGSR
22:37:39 <andythenorth> who's working on the SDL2 port?
22:37:40 <andythenorth> o_O
22:37:45 <peter1138> How do I show the link graph?
22:37:59 <andythenorth> the one on the main map?
22:38:03 <DorpsGek_II> [OpenTTD/OpenTTD] TrueBrain opened pull request #7027: Add: [AzurePipeline] introducing a release pipeline https://git.io/fhGSE
22:38:11 <peter1138> Yeah
22:38:14 <glx> there's a setting somwhere I think
22:38:16 <andythenorth> map of world button -> cargo flow legend
22:38:21 <Samu> is there a Corner to TileDiff or something similar?
22:38:29 <andythenorth> then toggle company / cargos on or off
22:38:37 <Samu> offset
22:38:55 <andythenorth> nobody doing SDL2 then?
22:38:56 <andythenorth> ok
22:39:01 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6173: Add support for SDL2 https://git.io/fhGSg
22:39:02 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6173: Add support for SDL2 https://git.io/fhGS2
22:39:15 <TrueBrain> LordAro: https://github.com/probot/stale even more examples, if you like
22:39:22 <TrueBrain> so much configuration, it is to die for :D
22:39:58 <andythenorth> exemptAssignees: TrueBrain
22:40:03 <andythenorth> winner
22:40:43 <peter1138> So, er, what does assigning an integer value to a variable which is a class (with no = operator overload) do?
22:41:17 <Eddi|zuHause> i would expect that to be a compile error
22:41:32 <peter1138> Yeah... it's not.
22:41:36 <Eddi|zuHause> with pointers involved, however, it might go horribly wrong
22:41:51 <LordAro> is there a constructor with an integer parameter?
22:42:12 <peter1138> It's not a pointer, though.
22:42:37 <peter1138> LordAro, yes. Ah.
22:42:54 <LordAro> this is why people recommend such constructors are made explicit :)
22:43:06 <peter1138> Yers...
22:43:13 <glx> and as the bot posts a comment it's easy to add activity by just replying
22:43:26 <peter1138> Actually this constructor does the same as the method I was meant to call, so it would've worked.
22:43:49 <TrueBrain> glx: lot of people use probot/stale, with a lot of good success .. guess it is worth trying
22:43:50 <peter1138> LordAro, how exactly?
22:44:15 <peter1138> I like x = GUITimer(10) but... in this case, x = 10 also did the same thing, unintentionally.
22:44:31 <peter1138> x = 10 is meant to be x.SetInterval(10)
22:44:37 <glx> TrueBrain: I mean at least people involved with the issue will take a look after the bot post
22:44:45 <LordAro> explicit GUITimer(int aninteger) { ... }
22:44:49 <TrueBrain> glx: yup :)
22:44:56 <glx> and if they care they will prevent closing
22:45:09 <TrueBrain> glx: from what I have seen in other projects, this is exactly what happens
22:45:13 <peter1138> Oh. that's actually a thing. Are we allowed to use that?
22:45:21 <LordAro> it's not new
22:45:22 <TrueBrain> often even resulting in picking up the issue, as they simply forgot :D
22:45:49 <glx> not surprising when the issue count is high
22:45:51 <peter1138> Cool, now I get compile errors, woo.
22:46:02 <LordAro> :)
22:46:10 <TrueBrain> glx: one of the harder things; prioritizing tickets in open source projects :)
22:46:20 <TrueBrain> as they are done ordered by "fun", which ever definition that is :P
22:46:37 <TrueBrain> okay, CI works, branch-build works, tag-build works
22:46:40 <TrueBrain> so happy :D
22:46:48 <LordAro> TrueBrain: \o/
22:46:49 <glx> yeah or just ignored to do our own fun
22:46:51 <andythenorth> there is pretty much no point in running a backlog for open source
22:47:01 <andythenorth> there's barely any point in commercial software either
22:47:13 <andythenorth> except it keeps management from interfering
22:47:25 <DorpsGek_II> [OpenTTD/OpenTTD] TrueBrain commented on pull request #7027: Add: [AzurePipeline] introducing a release pipeline https://git.io/fhGSQ
22:47:42 <TrueBrain> andythenorth: INDEED :D
22:48:04 <TrueBrain> "owh, you want to be important? Sure, I put your ticket right here between these others of VERY IMPORTANT PEOPLE"
22:48:13 <andythenorth> also, we are stacking up so many PRs, we dont' have to worry about issues
22:48:38 <andythenorth> why bother with feature requests, when we can really piss off people who've written actual patches that pass CI :P
22:49:15 <TrueBrain> right, off to bed for me; night all
22:49:23 <andythenorth> bye TB
22:50:07 *** frosch123 has quit IRC
22:54:25 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6890: Crash: disconnecting road vehicle https://git.io/fhG9v
22:54:26 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6890: Crash: disconnecting road vehicle https://git.io/fhG9f
22:55:07 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6947: A new variable Vehicle is loading required https://git.io/fhG9T
22:55:08 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6947: A new variable Vehicle is loading required https://git.io/fxHAR
22:55:32 <andythenorth> way too many labels
23:00:30 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6631: In singleplayer, you cannot buyout one human-player company as another. https://git.io/fhG9L
23:00:31 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6631: In singleplayer, you cannot buyout one human-player company as another. https://git.io/fhG9t
23:01:15 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #5685: AI: wagons are lost in depot because of lack of API feature https://git.io/fhG9m
23:01:50 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6903: selected rail type should be included in game saves https://git.io/fhG9Y
23:01:51 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6903: selected rail type should be included in game saves https://git.io/fhG9O
23:02:17 <DorpsGek_II> [OpenTTD/OpenTTD] Eddi-z commented on issue #6947: A new variable Vehicle is loading required https://git.io/fhG9s
23:02:58 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #7011: Towns don't grow if first tile of station is outside authority area https://git.io/fhG9G
23:02:59 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #7011: Towns don't grow if first tile of station is outside authority area https://git.io/fh3Jg
23:04:53 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6221: Crash: [OSX] in chat with Korean Language https://git.io/fhG9c
23:04:54 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6221: Crash: [OSX] in chat with Korean Language https://git.io/fhG9C
23:06:41 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6888: Add layer(s) showing station coverage https://git.io/fhG98
23:06:42 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth closed issue #6888: Add layer(s) showing station coverage https://git.io/fhG94
23:07:03 <peter1138> Once andythenorth's gone, I'm going to reopen all these issues.
23:07:16 <andythenorth> I won't be sad
23:07:50 <andythenorth> increasing the issue count resets my game
23:07:53 <andythenorth> I can play again
23:08:11 <peter1138> Are you an Inbox-zero kinda guy too?
23:08:14 <andythenorth> no
23:08:18 <andythenorth> I just stopped reading email
23:08:24 * andythenorth won the game
23:08:43 <andythenorth> people phone me if there's an email I need to read
23:09:22 <andythenorth> we could make our own open/close bots
23:09:35 <andythenorth> the winner would be the one whose datacenter is closest to github
23:15:54 <andythenorth> peter1138: just close *my* feature requests :P That will teach me :P
23:16:15 <andythenorth> https://github.com/OpenTTD/OpenTTD/issues/6919
23:22:06 <Samu> i just invented GetCornerDirection
23:23:05 <Samu> now I can use _tileoffs_by_dir
23:23:12 <Samu> no more ugly tables
23:33:29 *** andythenorth has left #openttd
23:40:26 <Samu> TileIndex opposite_tile = tile + TileOffsByDir(GetCornerDirection(OppositeCorner(corner)));
23:47:41 *** Wolf01 has quit IRC
23:50:04 *** synchris has quit IRC