IRC logs for #openttd on OFTC at 2019-01-07
⏴ go to previous day
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
02:13:44 *** Thedarkb-X40 has joined #openttd
02:26:17 <mboy> can anyone help me to add a patch to my game
02:32:24 <DorpsGek> Eddi|zuHause: Don't ask to ask, just ask
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: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: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: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:43:12 <HootzMcToke> ok cool, thanks for the info it gives me a great place to start.
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: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
03:00:08 <Samu> would need some kind of rotating bits based on the first track I work with
03:00:54 <Samu> btw, 90 degrees is still a thing for ships=
03:01:58 <Samu> looks like it is, just checked
04:19:53 *** Wormnest has joined #openttd
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
07:59:19 *** Progman has joined #openttd
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
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:52:14 <peter1138> Hmm, maybe time for another cuppa.
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:12:59 *** Wormnest has joined #openttd
16:16:45 *** wodencafe has joined #openttd
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:48:05 <Samu> should never reach here, but it reached, i fail already
16:51:02 <nielsm> make it table based instead of a large switch
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: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:01:20 <Eddi|zuHause> however, i would include river slopes, even though ships don't actually travel on those
17:08:26 <Eddi|zuHause> although the +/- might be backwards
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:21:16 <peter1138> You only need to look at one entry, not all of them.
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: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: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:16:46 <Samu> there is a _corner_to_trackbits
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:40 <Eddi|zuHause> dunno what we use
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: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: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: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: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 <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:37 <nielsm> not when the house is already built
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: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: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: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:19:17 <Samu> ok, the opposite tile check doesn't require to be a trackbit check at least
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
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:16:23 <nielsm> a flat water tile has all the tracks by definition
20:17:25 <Samu> depots/locks/aqueducts/buoys, :(
20:18:13 <nielsm> and what if someone removes those features from the tile?
20:18:26 <nielsm> you cannot protect a player from their own stupidity
20:18:30 <nielsm> there are always more cases
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:18 *** chomwitt has joined #openttd
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: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: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: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: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:25 <andythenorth> the maths definition isn't what wikipedia says
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: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: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:15 <andythenorth> Ansible might be wrong mind you
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: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: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: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: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: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:53:15 <andythenorth> but the light being on doesn't change the switch?
20:54:05 <frosch123> "idempotent" is a property the operation, not of the operands/results
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: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: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: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: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:51 <TrueBrain> you really want me to answer that? :P
20:58:13 <frosch123> for ordering appropiate medication
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:47 <andythenorth> so graphics pipelines :P
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: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:37 <Borg> andythenorth: yes.. /help ignore
21:05:51 <Eddi|zuHause> Borg: pretty sure the question was rhethoric
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: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: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: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:41 <andythenorth> well this was fun
21:13:24 <andythenorth> 5 days and 12 hours to save some flyspray patches
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: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 <DorpsGek> andythenorth: 6.54545454545
21:16:30 <andythenorth> we could probably round a bit
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:20:01 <TrueBrain> I love Sentry .. it makes so many things so much easier ..
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:27:14 * andythenorth wonders about patch quotes
21:27:23 <andythenorth> 'we will accept 10 patches in 2019'
21:27:28 <andythenorth> 'is yours good enough?'
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: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: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:21 <Eddi|zuHause> but that splits the discussion
21:34:35 <frosch123> between gh and irc?
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: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:54 <andythenorth> literal negative value
21:37:40 <andythenorth> classic of the genre
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: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:41 <Eddi|zuHause> did you make railtypes?
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: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: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: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:35 <Eddi|zuHause> frosch123: i'd rather not :p
21:46:45 <andythenorth> real problem, defined, clear patch, clear questions
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: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: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: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:14 <andythenorth> it's not a request service
21:50:27 <andythenorth> can someone frame that nicely, thx bai
21:53:47 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #4711: Water: allow rivers (slopes) for navigation https://git.io/fhGDN
21:54:03 <TrueBrain> lets get to 100 issues? :P
21:54:18 <andythenorth> oof I closed Truebrain
21:54:29 <andythenorth> these are all 'nice to have'
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: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: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: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: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: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: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:05:32 <andythenorth> frosch123: (sorry) any idea if this is intended behaviour>?
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:07:00 <frosch123> the list shows the subtypes of all selected vehicles
22:07:07 <frosch123> but articulated parts must be consistent
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: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:43 <andythenorth> oof sorry nielsm :P ^
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:31 <andythenorth> are irc highlights idempotent?
22:10:37 <Wolf01> Could you ignore yourself?
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 <DorpsGek> TrueBrain: I don't recognize you.
22:12:06 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6607: Stations: additional animation triggers https://git.io/fhGy7
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: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: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:41 <Eddi|zuHause> i'm pretty sure people requested that before
22:20:42 <andythenorth> adding brakevans reduces SPADS and derailments
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 <DorpsGek> ST2: I don't recognize you.
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:43 <glx> and I have my super powers
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: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: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:29:22 <andythenorth> I am not a good bot
22:30:55 <TrueBrain> andythenorth: I will install that bot on PRs next weekend
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: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: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: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:47 <TrueBrain> so you completely jump over the very important word: PROPER configured? :)
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: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: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: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:55 <andythenorth> nobody doing SDL2 then?
22:39:22 <TrueBrain> so much configuration, it is to die for :D
22:39:58 <andythenorth> exemptAssignees: TrueBrain
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: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:54 <LordAro> this is why people recommend such constructors are made explicit :)
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: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: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: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: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:55:07 <DorpsGek_II> [OpenTTD/OpenTTD] andythenorth commented on issue #6947: A new variable Vehicle is loading required https://git.io/fhG9T
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: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:07:03 <peter1138> Once andythenorth's gone, I'm going to reopen all these issues.
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:18 <andythenorth> I just stopped reading email
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:22:06 <Samu> i just invented GetCornerDirection
23:23:05 <Samu> now I can use _tileoffs_by_dir
23:33:29 *** andythenorth has left #openttd
23:40:26 <Samu> TileIndex opposite_tile = tile + TileOffsByDir(GetCornerDirection(OppositeCorner(corner)));
continue to next day ⏵