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

Powered by YARRSTE version: svn-trunk