IRC logs for #openttd on OFTC at 2021-08-01
            
01:02:52 *** iSoSyS has joined #openttd
01:03:06 *** iSoSyS has quit IRC ()
01:33:55 *** Flygon has joined #openttd
01:34:17 *** snail_UES_ has joined #openttd
01:45:35 *** glx has quit IRC ()
02:17:50 *** D-HUND has joined #openttd
02:21:11 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:22:36 *** Wormnest has quit IRC (Quit: Leaving)
02:43:52 *** y2kboy23 has quit IRC (Quit: ZNC - https://znc.in)
02:45:11 *** y2kboy23 has joined #openttd
02:45:12 *** y2kboy23 has quit IRC (Remote host closed the connection)
02:48:46 *** y2kboy23 has joined #openttd
03:30:40 *** snail_UES_ has quit IRC (Quit: snail_UES_)
03:53:50 *** tokai has joined #openttd
03:53:50 *** ChanServ sets mode: +v tokai
04:00:50 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
05:43:22 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #9460: Fix: Use of unstable sort when distributing cargo production can caus… https://git.io/JB1Hw
05:43:53 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #9460: Fix: Use of unstable sort when distributing cargo production can caus… https://git.io/JBPMz
06:08:40 *** sla_ro|master has joined #openttd
06:46:31 *** Progman has joined #openttd
07:07:27 *** HerzogDeXtEr has joined #openttd
07:08:58 *** nielsm has joined #openttd
07:32:45 *** WormnestAndroid has quit IRC (Remote host closed the connection)
07:32:58 *** WormnestAndroid has joined #openttd
07:46:55 *** andythenorth has joined #openttd
07:47:34 <andythenorth> yo
07:48:29 <TrueBrain> hello
07:48:35 <TrueBrain> I love how the example of industry tiles is empty
07:51:24 <TrueBrain> "The meaning is the same as for house property 1B", "just like it does with houses. ", "Industry tiles work similarly to town buildings, except"
07:51:28 <TrueBrain> basically, FUCK YOU, do Houses first
07:51:31 <TrueBrain> is what it is telling me :P
08:04:18 <TrueBrain> "Why this works, and how to adjust for the different value range, are left as exercises for the reader. "
08:04:22 <TrueBrain> how considering
08:08:24 <andythenorth> writing grf is *educational*
08:08:38 <andythenorth> one is supposed to *educate* oneself
08:08:45 <andythenorth> it's not just for anybody to do :P
08:08:58 <TrueBrain> that much is obvious :)
08:11:54 <TrueBrain> "A station should normally be 12 (hex) because a station is made out of 18 (decimal) sprites, although if you use a different sprite layout for your station this number may vary."
08:11:58 <TrueBrain> I don't even .. wuth?
08:12:19 <TrueBrain> first stating a "fact", next debunking that "fact"
08:12:51 *** sla_ro|master has quit IRC ()
08:16:02 <TrueBrain> "Those sprites use absolute paths. Removing the C:\TTD\ part of each filename would work just as well, assuming you want the .grf file to appear in C:\TTD. "
08:16:07 <TrueBrain> so .. they aren't absolute paths? :P
08:18:27 *** gelignite has joined #openttd
08:26:55 <andythenorth> what now?
08:27:03 * andythenorth can't parse that one
08:27:21 <andythenorth> for the record, at least they wrote _some_ docs :D
08:27:37 <andythenorth> I have open GH issues about the ones I have *not* written yet :P
08:28:29 <TrueBrain> for some parts, I am not sure the docs contribute to the value, but yeah, for most part, if you read everything, it becomes a bit clear how to use it :)
08:28:41 <TrueBrain> you do need to read everything, I noticed, not skip something that starts with "Possibly .." etc
08:28:47 <TrueBrain> mostly it contains REALLY important information :D
08:28:55 <andythenorth> 'rewards careful readers'
08:29:20 <TrueBrain> I am not entirely sure I understand IndustryTiles yet .. it is difficult to get your head around it
08:29:28 <TrueBrain> get? wrap?
08:29:29 <TrueBrain> what-ever
08:29:39 <andythenorth> conceptually, or implementation?
08:29:45 <TrueBrain> both :P
08:29:50 <andythenorth> ok
08:29:52 <TrueBrain> but looking at FIRS helps
08:30:07 <TrueBrain> it just always substitute ID 0
08:30:13 <TrueBrain> which answers a lot of my questions already :)
08:30:46 <TrueBrain> from what I understand, you have to use action2 .. there is no other way to attach a sprite to an industry tile?
08:31:06 <andythenorth> action 3 action 2 action 1
08:32:10 <TrueBrain> so the action0 industry tile is just a marker to the game like: this is part of the industry, something is here, the graphics will tell you what exactly, I guess
08:32:11 <andythenorth> if you look at things like FIRS you will see the tile checking the layout, and its position in the layout
08:32:20 <andythenorth> in the action 2
08:32:37 <andythenorth> which is the technique to reduce tile ID use
08:32:55 <TrueBrain> so we define the layout in the industry itself, and again in the graphics, I guess
08:33:07 <andythenorth> we define the layout in the industry
08:33:24 <andythenorth> we have to understand the layout in the tile graphics chain
08:33:24 <peter1138> Chunky layouts?
08:33:31 <TrueBrain> andythenorth: tomato tomato
08:33:34 <andythenorth> which implicitly means defining the layout, but yes
08:33:41 <andythenorth> tomato tomato
08:33:53 <TrueBrain> I wonder if there isn't a register to use for that :P
08:33:55 <peter1138> Station tile layout conformity with industries?
08:34:46 <TrueBrain> I just want an industry tile prop where I can fill some register, so during graphics I know what "sub" tile it really is
08:35:21 <andythenorth> @peter1138 "You're spoiling us, Mr Ambassador!"
08:35:22 <TrueBrain> well, not industry tile prop .. guess it should be part of the layout :)
08:35:56 <TrueBrain> anyway, I don't understand animation, like, at all :P
08:36:59 <TrueBrain> https://github.com/andythenorth/firs/blob/master/src/industries/aluminium_plant.py#L21 <- like, why 47?
08:47:28 <TrueBrain> and what are "fences" in FIRS? :)
09:00:21 <DorpsGek> [OpenTTD/team] SparkTotem opened issue #235: [el_GR] Translator access request https://git.io/JBMyA
09:11:26 <andythenorth> TrueBrain fences....the outer tiles of some industries will show a fence sprite
09:11:30 <andythenorth> "to keep out the public"
09:11:43 <andythenorth> the fences are removed if station tiles are built next to the industry
09:12:18 *** juzza1 has joined #openttd
09:16:13 <TrueBrain> Ah .. I was wondering as nearly every tile defines fences :D
09:16:42 *** juzza1 has quit IRC ()
09:17:08 *** juzza1 has joined #openttd
09:18:02 <andythenorth> yup
09:18:19 <andythenorth> defines, then turns on or off, depending on type of neighbouring tile(s)
09:22:04 <TrueBrain> Smart
09:26:04 *** juzza1 has quit IRC (Quit: leaving)
09:29:15 *** juzza1 has joined #openttd
09:32:48 *** frosch123 has joined #openttd
09:34:32 <frosch123> TrueBrain: did yuo find tile variable 43?
09:43:14 <TrueBrain> Yup. But it means you need to know the layout twice ;)
09:44:53 <andythenorth> one of the best features about having a python abstraction :P
09:46:51 <TrueBrain> But I still don't understand animation length :p
09:47:26 <andythenorth> hmm
09:47:36 <andythenorth> animation is ...
09:47:39 * andythenorth looks in the docs
09:48:07 <andythenorth> iirc length is a bit weird because you can do arbitrary jumps on frame numbers
09:48:11 * andythenorth checks
09:48:25 <frosch123> TrueBrain: each tile has an "animation state", which is a uint8 you can use to track the position in your animation
09:48:41 <frosch123> then you have to tell ottd whether a tile is animated (boolean: yes/no)
09:48:53 <frosch123> if it is animated, ottd will periodially ask the tile what to do next
09:48:57 <andythenorth> "The maximum number of frames is 256, although you can have some problems if your animation exceeds FD (253) frames."
09:48:58 <andythenorth> :D
09:49:03 <frosch123> the length of ther period is the animation length
09:49:14 <andythenorth> so is the maximum FF or FE? :P
09:49:15 <andythenorth> pls
09:49:16 <andythenorth> lol
09:50:09 <TrueBrain> Owh, I assumed animation speed would do that?
09:50:11 <frosch123> there are a lot of deprecaed things around, like you can set a flag to "increment the animation state until some max value" on every period, or you can just write a callback which does that
09:50:31 * andythenorth looks in FIRS
09:50:44 <FLHerne> TrueBrain: the way FIRS does industry tile layouts is not the way they were intended to work, if I understand correctly :p
09:50:59 <frosch123> anyway, the improtant part is: the animation preriod is de-facto fixed length. so the animation runs at a fixed speed. if you want parts of the animation to be slower, yuo just duplicate frames
09:51:02 <andythenorth> FIRS does them according to wiki suggestion FLHerne
09:51:08 <andythenorth> go back under your rock :D
09:51:43 <FLHerne> FIRS uses one kind of industry tile for every tile of each industry, and then does all the "which tile is this" logic in the graphics chain, which makes the layout semi-redundant
09:51:43 <frosch123> with "de-facto" i mean: there is in theory a way to change the period length dynamically, but it is a waste of cpu resources, so "do not use"
09:52:09 <FLHerne> whereas older industry grfs have each tile in the layout actually be a different tile
09:52:12 <TrueBrain> frosch123: tnx .. still not fully clear how and what, but that only comes with using .. at least I understand what it controls now :D
09:52:18 <andythenorth> quarry_spriteset_19_0(1*(animation_frame > 32) ? (animation_frame % 12) : 0)
09:52:23 <andythenorth> obvious no? :P
09:52:23 <FLHerne> andythenorth: I'm not saying it's wrong ;-)
09:52:51 <FLHerne> replying vaguely to > so we define the layout in the industry itself, and again in the graphics, I guess
09:53:02 <andythenorth> the layouts trick was on a par with 'and you can just reuse action 2 IDs' in terms of 'how to newgrf' understanding
09:53:04 <TrueBrain> FLHerne: wiki strongly suggests not to do that .. so FIRS is doing what the wiki suggests :)
09:53:12 <FLHerne> I don't think "again in the graphics" was the original design concept, it just works better :p
09:53:21 <andythenorth> 'design' is a strong word here :)
09:53:28 <FLHerne> original hack concept
09:53:33 <andythenorth> accretion
09:53:40 <andythenorth> sedimentary deposition
09:54:54 <TrueBrain> So for animation basically you pick any length, which is your resolution.. and I can let people define their animation within that resolution .. makes sense, should be fine
09:55:06 <andythenorth> yes
10:03:30 * andythenorth looks why FIRS bothers defining animation length
10:03:35 <andythenorth> why not just 256?
10:03:37 <andythenorth> hmm
10:03:49 <andythenorth> oh triggers also, lol
10:07:20 *** Samu has joined #openttd
10:10:19 * andythenorth codes some FIRS
10:10:23 <andythenorth> this stuff using town registers
10:45:39 <TrueBrain> right, so .. how am I going to do this, hmmmm
10:46:56 <frosch123> let the user draw the animation as finite state machine?
10:47:17 <frosch123> add transition arrows with "time: N frames" or "event: cargo delivered"
10:48:13 <frosch123> though things become complicated when synchronising animations on multiple tiles
10:48:15 <TrueBrain> as an FSM might be tricky, but I was thinking allowing a DAG to define it, yes
10:48:40 <TrueBrain> -as
10:48:44 <TrueBrain> no clue what that word is doing there :D
10:49:04 <frosch123> left overs from other sentences proably
10:50:16 <TrueBrain> but hmm .. so we need Industry Tiles to define acceptance of the tiles, basically .. as far as I can see, that is their only real purpose
10:50:29 <TrueBrain> for 1 industry, on all tiles, we link a single Action2 chain, I guess
10:50:44 <TrueBrain> based on the location, we can go into the construction / animation cycle
10:51:20 <frosch123> some industry sets decided "tiles with different acceptance are confusing to players, so all tiles are the same"
10:52:21 <TrueBrain> explains prop12 bit 1, I guess :)
10:52:24 <frosch123> espeically with porpery 12 bit 1, the acceptance can be ignored
10:52:41 <frosch123> prop12 bit 1 was added with the 8-input, 8-output cargos thing
10:53:07 <frosch123> there just was no good/easy/viable solution to specicy acceptance for tiles, and also no demand
10:53:24 <frosch123> so, i guess "animation speed" is the only property :p
10:53:38 <TrueBrain> well, and the land shape, I guess
10:53:43 <TrueBrain> but that can be done in an action2 too
10:53:49 <frosch123> land shape works well via callback
10:54:08 <TrueBrain> but for MVP, lets go with "flat land only"
10:54:10 <frosch123> oh wait, no. ottd will only flatten land before building industries, if the industry is flat-only
10:54:30 <frosch123> so, "flat only" is a special case
10:54:37 <TrueBrain> for animation speed etc, I think I am just going to fix it on "speed 2", "length 250"
10:55:55 <TrueBrain> @calc 27 * 2* 250
10:55:55 <DorpsGek> TrueBrain: 13500
10:56:04 <TrueBrain> that allows for 13 seconds of animation, I guess
10:59:02 <frosch123> it's funny how useless most tile properties are :p
10:59:24 <frosch123> sutff like "callback 256 needs random bits"... why is there an option to disable that?
10:59:49 <TrueBrain> you can see how it grew organic :P
10:59:52 <frosch123> some ttdp guy thought a rng call is expensive in comparison to the newgrf cb itself
11:00:04 <TrueBrain> I think if we pick up an axe and remove all old specs from the wiki, it will become a lot more readable :)
11:00:28 <TrueBrain> like, is anyone seriously going to make a NewGRF for OpenTTD 1.2?
11:00:56 <frosch123> why did you pick 1.2? :p
11:01:03 <TrueBrain> because I randomly saw that on the screen
11:01:11 <frosch123> if you had said 1.1, i could have answered NML outputs for 1.2+ only
11:01:12 <TrueBrain> yet another "this was true till 1.2, now it is completely different"
11:01:48 <TrueBrain> for now I learnt for action2, to start at the bottom
11:01:52 <TrueBrain> that is most likely the one I want to implement
11:01:55 <TrueBrain> and fuck the other ones :P
11:03:21 <TrueBrain> so okay .. we have sprites .. next we have a spritelayout, to tell the ground-sprite, etc .. next we need a tile to attach an action2 chain to .. that needs to know the layout, to produce the result .. guess I start with these components, and take it from there
11:04:49 <TrueBrain> "Color index 0 is transparent (should always be set; ignored if bit 3 is set)"
11:04:58 <TrueBrain> I love those contradictions :D
11:05:19 <frosch123> i think we removed support for bit-0-unset
11:06:41 <frosch123> yes, that bit does not exist in nfo32 or grf container 2
11:06:57 <TrueBrain> "It is generally a bad idea to use any other value, as that may cause problems. FF is an especially bad idea. "
11:07:00 <TrueBrain> I love this :D
11:07:25 <frosch123> what do you use for encoding the grf?
11:07:34 <TrueBrain> raw manpower
11:07:42 <frosch123> container 1 or container 2?
11:08:01 <TrueBrain> for everything I picked "the newest" when I got the chance
11:08:15 <TrueBrain> https://github.com/TrueBrain/TrueGRF/blob/main/truegrf-rs/src/grf.rs#L136 if you are curious; code is ugly as fuck :P
11:08:29 <TrueBrain> so container 2, to answer the question directly :)
11:09:27 <frosch123> then most things (you just made fun of) do not exist anymore :p
11:10:33 <TrueBrain> I am totally lost in "container version", "info version", ..
11:10:47 <TrueBrain> we are at 2 for some, at 7 for another, and now real sprites is 32
11:10:50 <TrueBrain> it is puzzling
11:11:11 <frosch123> https://newgrf-specs.tt-wiki.net/wiki/Version_numbers <- 6 different "versions" :)
11:11:28 <frosch123> you should add action14 stuff btw
11:11:32 <frosch123> in front of the action8
11:11:32 <TrueBrain> especially that sometimes it is called NFO version, and sometimes info version
11:11:35 <TrueBrain> is confusing as fuck :P
11:12:18 <TrueBrain> ah, so there I can define the URL etc, tnx :)
11:12:27 <TrueBrain> I was thinking it was about static GRFs
11:12:49 <frosch123> it's info.nut :p
11:13:56 <TrueBrain> guess I also have to check how sprites are stored on-disk
11:22:42 <TrueBrain> I like that OpenTTD's source code is easier to read than grfcodec :D
11:23:03 <frosch123> it's always better to read nml than grfcodec
11:23:10 * andythenorth names are hard
11:23:29 <andythenorth> I need a name for an industry that is located in towns, and exists just to give info about town (happy, angry, growing) etc
11:23:38 <andythenorth> 'town hall' confuses with all the local authority stuff
11:23:43 <andythenorth> 'chamber of commerce'?
11:23:47 <andythenorth> 'newspaper office'?
11:23:56 <frosch123> "FIRS administration"
11:24:03 <frosch123> "andy's office"
11:24:07 <andythenorth> "transport office"
11:24:10 <andythenorth> "frog pond"
11:24:18 <andythenorth> "board of trade"
11:24:36 <andythenorth> "masonic lodge"
11:24:59 <TrueBrain> frosch123: the part I quoted you said doesn't exist anymore, does still exist on disk it seems :P
11:25:03 <TrueBrain> NFO just hides it :D
11:25:41 <andythenorth> seems 'board of trade' https://www.stettler.net/work/stettler-regional-board-of-trade
11:26:32 <andythenorth> maybe I could use a statue as the sprite :P
11:27:54 <TrueBrain> oof, sprite encoding is non-trivial .. meh :)
11:28:26 <frosch123> https://github.com/OpenTTD/nml/blob/master/nml/lz77.py https://github.com/OpenTTD/nml/blob/master/nml/_lz77.c <- you have both a python or a c version to copy from :)
11:28:55 <frosch123> (again: don't look at grfcodec :p)
11:29:19 <TrueBrain> btw, another ELI5 .. wtf is this "skip sprite" stuff?
11:29:40 <frosch123> context?
11:30:25 <TrueBrain> in most NewGRF readers I always see "skip_sprite" stuff .. I always wonder wtf that is about :D
11:30:47 <TrueBrain> https://github.com/OpenTTD/OpenTTD/blob/master/src/newgrf.cpp#L108 et al
11:30:49 <FLHerne> Action7/9?
11:31:08 <michi_cc> There's even a text spec for the GRF file: https://github.com/OpenTTD/grfcodec/blob/master/docs/grf.txt (could be just as confusing, of course :) )
11:31:18 <frosch123> ah, the sprites interleave "pseudo sprites" (=code) and "real sprites" (=graphics)
11:31:28 <frosch123> when you want to parse the code, you have to skip the graphics inbetween
11:32:05 <frosch123> action 1/5/A precede real sprites. they state how many graphic sprites are to follow
11:32:05 <TrueBrain> weren't all the real sprites at the end of the file?
11:32:12 <frosch123> so the code parser skips those sprites
11:32:45 <frosch123> no, there is at least a header in the front
11:32:59 <frosch123> and in case of recolouring, the whole thing is in the front
11:33:58 <TrueBrain> tnx michi_cc , that is somewhat useful :)
11:34:17 <andythenorth> does 'board of trade' translate? :P
11:34:30 <frosch123> andythenorth: Industrie- und Handelskammer?
11:34:42 * andythenorth working around 'newgrf can't put text in town window'
11:34:51 <andythenorth> although I have managed to turn off the stupid town effects :)
11:35:01 <andythenorth> "the spec rewards careful reading"
11:35:07 <michi_cc> Chamber of Commerce for US English?
11:35:11 <andythenorth> I could have disabled town effects years ago, and stopped wasting time on them :)
11:35:44 <andythenorth> michi_cc Chamber of Commerce is most common in UK English, we have one Board of Trade, which is central government
11:36:06 <andythenorth> it's all a bit men-playing-golf
11:36:18 <andythenorth> "communist central planning office" ?
11:37:13 * andythenorth reading translated wiki page about Industrie- und Handelskammer
11:37:42 *** virtualrandomnumber has joined #openttd
11:37:55 <frosch123> now you probably know more about it than me :p
11:38:02 <andythenorth> ha
11:42:33 <TrueBrain> okay, so there is a sprite section where all the sprites are located ..
11:51:24 <TrueBrain> right, so I can ignore compression and "tile" for now, it seems .. makes things a bit easier to get going :D
11:58:07 <TrueBrain> https://github.com/OpenTTD/wiki-data/commit/0b1284b60373e63bc89f3ee8d8566c6584ef61dd <- I am now waiting for someone to also add "Euro" etc
11:59:38 <frosch123> before that there is someone replacing "$" with "USD" or "US$"
12:00:07 <TrueBrain> lol, yes :)
12:00:15 <frosch123> oh, and there should be a table with price per inflation rate
12:00:23 <frosch123> luckily it no longer depends on start year :p
12:01:46 <andythenorth> is that forum poster still really angry about inflation?
12:01:49 * andythenorth stopped reading
12:01:58 <TrueBrain> wait, we have a forum?
12:02:24 <andythenorth> it's official
12:02:27 <andythenorth> the website says so
12:02:51 <andythenorth> "Visit our community"
12:03:19 <frosch123> add a "(we are sorry about it)"?
12:03:21 *** NGC3982 has quit IRC (Ping timeout: 480 seconds)
12:03:49 <TrueBrain> :D
12:03:55 <TrueBrain> "(please don't; just .. don't)"
12:04:06 <TrueBrain> "(to fill up on your toxicity!)"
12:04:09 <TrueBrain> okay, I will stop :P
12:04:22 <frosch123> enter your birth year, so we can select the community matching your age group?
12:06:18 *** NGC3982 has joined #openttd
12:06:24 <Rubidium> so if I enter 5750, where do I end up? ;)
12:06:42 <andythenorth> here
12:07:11 <andythenorth> another forum I've been reading for years is losing long-time contribs
12:07:17 <andythenorth> something about the entire format is...over
12:07:29 <frosch123> Rubidium: maybe recheck your router settings
12:07:32 <andythenorth> all the polite enthusiastic people have gone to discord
12:07:38 *** NGC3982 has quit IRC ()
12:07:48 <andythenorth> the can't-string-letters-together posters are now just on steam community
12:07:52 *** NGC3982 has joined #openttd
12:07:57 <andythenorth> the lovely-but-morons are on reddit
12:08:15 <andythenorth> that just leaves the not-lovely-morons-can-type-many-words using forums
12:08:43 <frosch123> what group are irc users?
12:09:06 <andythenorth> yes
12:09:18 <michi_cc> And the this-is-all-a-conspiracy on Facebook? :P
12:09:38 <frosch123> oh, those are also on yt and heise
12:10:33 <frosch123> i like heise news, i even pay for them. but the people writing in the comments...
12:11:07 <michi_cc> Yeah, but as the pay doesn't go to them, it's okay.
12:12:17 <Rubidium> frosch123: I just want to make sure it does the right thing, regardless of the calendar they are using ;)
12:12:18 <michi_cc> Oh, and we can't forget the IRC-is-too-modern-and-too-fast-paced on Usenet.
12:13:23 <TrueBrain> "The sprite to be drawn. Unlike the basic format, zero isn't allowed here. " <- now I am curious why zero isn't allowed :D
12:14:15 <frosch123> TrueBrain: it will draw the cursor sprite just fine
12:14:49 <TrueBrain> in other words, the exception is removed? :)
12:15:25 <TrueBrain> so if I want to draw part of the industry that is just a ground-sprite, I need to use the basic variant? As I also cannot set num-sprites to 0 :)
12:15:34 <frosch123> yes, the extended format specifies the number of sprites in advance. while the basic format always has 1 sprite, and a special sprite-value for no sprite
12:15:57 <Rubidium> talking about money... should negative payment rates be a thing (#9455)? Especially since the profit calculation callback can return negative values
12:16:32 <frosch123> TrueBrain: maybe you can get around that by adding 0x40 :p
12:16:55 <frosch123> hmm, specs says "no"
12:17:03 <TrueBrain> code even says: no
12:17:04 <TrueBrain> :)
12:17:14 <TrueBrain> I first checked that :P
12:17:21 <frosch123> so, i guess every format has its use :p
12:17:29 <TrueBrain> meh :D
12:18:13 <andythenorth> alt.rec.games.retro.foss.openttd?
12:18:24 <frosch123> TrueBrain: oh, btw. please do not allow users to define bounding boxes
12:18:26 <andythenorth> been a while since I usnenetted
12:18:33 <andythenorth> didn't google absorb usenet?
12:18:51 <frosch123> use a single bounding box <0,0,0>, <16, 16, z> for all tiles, and only let the user specify the ehight
12:19:20 <TrueBrain> for industries only, or in general?
12:19:27 <frosch123> in general
12:19:49 <frosch123> well, for stations with tracks there are two bounding box: one behind vehicle, one in front
12:19:54 <Timberwolf> andythenorth: alt.games.microprose.transport-tyc , clearly.
12:19:59 <frosch123> but exposing BB internals to users never led to anything good
12:20:15 <TrueBrain> for grfv8 to remove? :P
12:20:25 <TrueBrain> but good you mention that, makes things a lot simpler for sure
12:20:26 <frosch123> we are already at grfv8 :p
12:20:29 <frosch123> you mean grfv9 :)
12:20:31 <TrueBrain> grfv9, what-ever
12:20:36 <TrueBrain> take your poison :)
12:23:20 <TrueBrain> guess the first step will be to create a coal mine layout via action 2/3 with the original graphics .. babysteps etc etc :P
12:23:26 *** virtualrandomnumber has quit IRC (Quit: virtualrandomnumber)
12:25:09 <andythenorth> @Rubidium negative RUNNING COSTS are where the smart money is at :P
12:25:38 <andythenorth> but we can't do that, because somebody somewhere might have used higher values somehow in a grf, so we can't sign the byte
12:25:53 <andythenorth> and it will be a DB grf, so forum drama will be unbearable
12:26:02 <andythenorth> oh wait, nobody reads forums
12:26:09 <andythenorth> wait
12:26:16 *** glx has joined #openttd
12:26:16 *** ChanServ sets mode: +v glx
12:26:18 <andythenorth> this means we can improve newgrf? :o
12:27:22 <andythenorth> hmm how do I fetch a PR, then update it and push it back?
12:27:23 <andythenorth> https://github.com/OpenTTD/nml/pull/193/files
12:28:12 <glx> you fetch the branch
12:28:44 <DorpsGek> [OpenTTD/OpenTTD] michicc approved pull request #9455: Fix #9440: negative cargo payments not being handled right https://git.io/JBDQp
12:29:15 <glx> https://github.com/frosch123/nml/tree/changelog060 <-- this branch if you want to udate nml#193
12:29:38 <frosch123> you have to be maitainer to be able to push there
12:34:04 <andythenorth> I think I resigned as maintainer
12:34:19 <andythenorth> oh I was never maintainer on a frosch fork :)
12:34:37 <glx> no needt ot be maintainer on the fork
12:34:54 * andythenorth thinks we should release nml
12:35:08 <andythenorth> I have access to a lot more stuff than most authors, not really fair :)
12:35:38 <andythenorth> can we approve? https://github.com/OpenTTD/nml/pull/224#issuecomment-890400882
12:35:44 <glx> anyone can use master (except users of standalone version)
12:36:36 <glx> hmm but "pip install -e ." also requires a working c/c++ compiler
12:44:57 *** Progman_ has joined #openttd
12:48:16 *** Progman_ has quit IRC (Remote host closed the connection)
12:48:25 <frosch123> i need someone to roll a die for me: https://newgrf-specs.tt-wiki.net/wiki/Callbacks#Cargo_sub-type_display_for_industries_.2837.29
12:48:39 <frosch123> var18 says "00 for accepted cargos, 01 for produced cargos"
12:48:42 <frosch123> ottd does the reverse
12:48:42 <Xaroth> how many sides does the die have to have?
12:49:05 <frosch123> do we want to adjust specs and nml, or do we adjust ottd?
12:49:17 <frosch123> (firs does not use that var, it only uses the cargotype)
12:49:37 <Xaroth> any way to see how many grfs use it?
12:49:50 <frosch123> no, probably zero
12:50:08 <Xaroth> if it's zero it probably doesn't matter, if it's >0 it's probably best to change in nml
12:50:21 *** Progman has quit IRC (Ping timeout: 480 seconds)
12:50:22 <Xaroth> that way existing grfs keep working
13:00:04 <michi_cc> Specs some a tiny bit more consistent as 00 is also an accepted cargo for 1A bit 18 unset.
13:04:55 *** jottyfan has joined #openttd
13:22:08 * andythenorth considers giving newgrf control of town window
13:23:21 <andythenorth> maybe add a button
13:31:15 <Eddi|zuHause> if in doubt, specs win.
13:34:43 <andythenorth> lol I could do a 'flagpole' industry
13:34:50 <andythenorth> and the flag sprite represents industry happiness
13:34:57 <andythenorth> * town happiness
14:01:15 <TrueBrain> ugh, I wanted to do a lot today .. instead it turns out I spend most of it on the couch .. interesting :D
14:01:21 <andythenorth> same :D
14:01:25 <andythenorth> youtube!
14:05:04 <TrueBrain> I love to be lazy .. :D
14:07:16 <frosch123> would you have prefered a pool over the couch?
14:07:25 <TrueBrain> hmm, kinda
14:07:29 <TrueBrain> but it is very wet here today
14:16:33 *** WormnestAndroid has quit IRC (Remote host closed the connection)
14:19:54 *** WormnestAndroid has joined #openttd
14:39:49 * andythenorth was going to do all the FIRS town control stuff
14:40:09 <andythenorth> but eh
14:40:09 <andythenorth> stuff and things
14:40:09 <andythenorth> Spider Solitaire
14:41:46 <Samu> this function is slow ScriptVehicleList_Station::ScriptVehicleList_Station(StationID station_id)
14:41:57 <DorpsGek> [OpenTTD/OpenTTD] ecolortest commented on issue #9458: [Bug]: desync after joining server https://git.io/J4Sll
14:42:58 <Samu> can't stations have a cache of vehicles going to its station?
14:44:10 *** Progman has joined #openttd
14:48:00 *** jottyfan has quit IRC (Quit: jottyfan)
14:48:51 <Samu> what can i do with this information https://i.imgur.com/NqsEFRC.png
14:49:28 <peter1138> Call it less often ;D
14:52:54 <Samu> hmm, it's not just my ai
14:53:42 <nielsm> it tells you're spending a lot of time looking at vehicles
14:54:10 <nielsm> especially enumerating vehicles visiting a station
14:55:25 <nielsm> what you can do is cache it, just be sure to have a reasonable cache policy so you don't end up consuming too much memory
15:25:36 <Samu> the higher the number of vehicles, the slower it gets
15:30:11 <nielsm> no surprise there
15:31:47 <nielsm> if you read the code for the ScriptVehicleList_Station you see that every time you create the list, it loops over all vehicles in the world (and here a train with locomotive and 15 wagons counts as 16 vehicles), and for every vehicle loops over its orders list to look for the station asked for in that order list
15:33:18 <nielsm> so if you have 4 companies with 5000 vehicles each in the world, and each vehicle in average stops at 2.5 stations, then it checks 4*5000*2.5 (equals 50000) orders every time any AI creates a new of those lists
15:33:52 <nielsm> even if the company only has 10 vehicles and the station has one vehicle stopping at it, it still needs to check all 50000 orders to create that list
15:35:50 <nielsm> I'm not sure if shared orders lists keep a list of all vehicles using that orders list, but if they do then it might be possible to improve that code by making it iterate the orders pool instead of the vehicles pool
15:48:39 *** andythenorth has quit IRC (Quit: andythenorth)
15:54:33 *** andythenorth has joined #openttd
16:02:15 *** jottyfan has joined #openttd
16:11:13 *** Wormnest has joined #openttd
16:17:13 *** andythenorth has quit IRC (Quit: andythenorth)
16:26:22 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
16:56:43 *** andythenorth has joined #openttd
17:13:13 *** jottyfan has quit IRC (Quit: jottyfan)
17:37:38 *** sla_ro|master has joined #openttd
17:49:26 <TrueBrain> there is a bot crawling the wiki, which has a very weird LastModified for every request: Tue, 08 Oct 4446413 00:56:40 GMT
17:49:31 <TrueBrain> which triggers a bug in aiohttp .. :P
17:57:54 *** WormnestAndroid has quit IRC (Remote host closed the connection)
17:59:36 *** WormnestAndroid has joined #openttd
18:03:18 <andythenorth> GG
18:04:35 <TrueBrain> https://github.com/aio-libs/aiohttp/issues/5925 <- lets see who wants to fix it :)
18:04:59 *** andythenorth has quit IRC (Quit: andythenorth)
18:06:03 <peter1138> I agree to follow the aio-libs Code of Conduct
18:06:06 <peter1138> Uh huh...
18:06:17 <TrueBrain> wait, did I have to read them first?
18:19:00 <frosch123> "1 task done" :)
18:20:25 <TrueBrain> oh-oh
18:20:26 <TrueBrain> spam incoming
18:20:27 <DorpsGek> [OpenTTD/bananas-api] pyup-bot opened pull request #98: Scheduled monthly dependency update for August https://git.io/JBSlQ
18:20:28 <TrueBrain> RUN
18:20:31 <frosch123> they have a "hacktoberfest" label
18:21:13 <DorpsGek> [OpenTTD/bananas-frontend-cli] pyup-bot opened pull request #30: Scheduled monthly dependency update for August https://git.io/JBS8v
18:22:22 <DorpsGek> [OpenTTD/bananas-frontend-web] pyup-bot opened pull request #63: Scheduled monthly dependency update for August https://git.io/JBS8C
18:23:22 <DorpsGek> [OpenTTD/bananas-server] pyup-bot opened pull request #55: Scheduled monthly dependency update for August https://git.io/JBS8V
18:24:13 <DorpsGek> [OpenTTD/DorpsGek] pyup-bot opened pull request #57: Scheduled monthly dependency update for August https://git.io/JBS8H
18:26:51 <TrueBrain> omg, requests finally updated :o :o
18:26:53 <TrueBrain> I AM SO HAPPY
18:27:57 <TrueBrain> by the looks that is going to mean updating this month will be so much easier
18:28:22 <DorpsGek> [OpenTTD/eints] pyup-bot opened pull request #48: Scheduled monthly dependency update for August https://git.io/JBS4V
18:29:14 <DorpsGek> [OpenTTD/master-server] pyup-bot opened pull request #51: Scheduled monthly dependency update for August https://git.io/JBS4S
18:30:12 <DorpsGek> [OpenTTD/master-server-web] pyup-bot opened pull request #35: Scheduled monthly dependency update for August https://git.io/JBSBf
18:30:42 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
18:32:28 <DorpsGek> [OpenTTD/bananas-api] TrueBrain updated pull request #98: Scheduled monthly dependency update for August https://git.io/JBSlQ
18:32:30 <TrueBrain> now I am going to spam too :P
18:32:34 <DorpsGek> [OpenTTD/bananas-frontend-cli] TrueBrain updated pull request #30: Scheduled monthly dependency update for August https://git.io/JBS8v
18:33:00 *** WormnestAndroid has joined #openttd
18:33:50 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain updated pull request #63: Scheduled monthly dependency update for August https://git.io/JBS8C
18:34:22 <DorpsGek> [OpenTTD/bananas-frontend-cli] TrueBrain updated pull request #30: Scheduled monthly dependency update for August https://git.io/JBS8v
18:34:34 <DorpsGek> [OpenTTD/bananas-api] TrueBrain updated pull request #98: Scheduled monthly dependency update for August https://git.io/JBSlQ
18:34:44 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain updated pull request #63: Scheduled monthly dependency update for August https://git.io/JBS8C
18:35:03 <TrueBrain> oops, was against master .. lalalaaa
18:35:16 <DorpsGek> [OpenTTD/bananas-server] TrueBrain updated pull request #55: Scheduled monthly dependency update for August https://git.io/JBS8V
18:36:34 <DorpsGek> [OpenTTD/eints] TrueBrain updated pull request #48: Scheduled monthly dependency update for August https://git.io/JBS4V
18:36:54 <DorpsGek> [OpenTTD/master-server] TrueBrain updated pull request #51: Scheduled monthly dependency update for August https://git.io/JBS4S
18:37:52 <DorpsGek> [OpenTTD/master-server-web] TrueBrain updated pull request #35: Scheduled monthly dependency update for August https://git.io/JBSBf
18:39:13 <DorpsGek> [OpenTTD/DorpsGek] TrueBrain updated pull request #57: Scheduled monthly dependency update for August https://git.io/JBS8H
18:47:50 <DorpsGek> [OpenTTD/bananas-api] TrueBrain approved pull request #98: Scheduled monthly dependency update for August https://git.io/JBSER
18:47:55 <DorpsGek> [OpenTTD/bananas-frontend-cli] TrueBrain approved pull request #30: Scheduled monthly dependency update for August https://git.io/JBSEE
18:47:58 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain approved pull request #63: Scheduled monthly dependency update for August https://git.io/JBSEz
18:48:03 <DorpsGek> [OpenTTD/bananas-server] TrueBrain approved pull request #55: Scheduled monthly dependency update for August https://git.io/JBSE2
18:48:07 <DorpsGek> [OpenTTD/DorpsGek] TrueBrain approved pull request #57: Scheduled monthly dependency update for August https://git.io/JBSEa
18:48:10 <DorpsGek> [OpenTTD/eints] TrueBrain approved pull request #48: Scheduled monthly dependency update for August https://git.io/JBSEw
18:48:14 <DorpsGek> [OpenTTD/master-server] TrueBrain approved pull request #51: Scheduled monthly dependency update for August https://git.io/JBSEr
18:48:20 <DorpsGek> [OpenTTD/master-server-web] TrueBrain approved pull request #35: Scheduled monthly dependency update for August https://git.io/JBSEP
18:49:50 <DorpsGek> [OpenTTD/bananas-api] TrueBrain merged pull request #98: Scheduled monthly dependency update for August https://git.io/JBSlQ
18:49:59 <DorpsGek> [OpenTTD/bananas-frontend-cli] TrueBrain merged pull request #30: Scheduled monthly dependency update for August https://git.io/JBS8v
18:50:05 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain merged pull request #63: Scheduled monthly dependency update for August https://git.io/JBS8C
18:50:13 <DorpsGek> [OpenTTD/bananas-server] TrueBrain merged pull request #55: Scheduled monthly dependency update for August https://git.io/JBS8V
18:50:21 <DorpsGek> [OpenTTD/DorpsGek] TrueBrain merged pull request #57: Scheduled monthly dependency update for August https://git.io/JBS8H
18:50:31 <DorpsGek> [OpenTTD/eints] TrueBrain merged pull request #48: Scheduled monthly dependency update for August https://git.io/JBS4V
18:50:38 <DorpsGek> [OpenTTD/master-server] TrueBrain merged pull request #51: Scheduled monthly dependency update for August https://git.io/JBS4S
18:50:46 <DorpsGek> [OpenTTD/master-server-web] TrueBrain merged pull request #35: Scheduled monthly dependency update for August https://git.io/JBSBf
18:54:33 <TrueBrain> and if you think the spam is over, YOU ARE WRONG
18:54:43 <TrueBrain> I still vote we mute this part of DorpsGek .. but okay :)
19:02:18 <DorpsGek> [OpenTTD/bananas-api] TrueBrain created new tag: 1.2.1 https://git.io/JBSgk
19:02:34 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain created new tag: 1.0.12 https://git.io/JBSgq
19:02:48 <DorpsGek> [OpenTTD/bananas-server] TrueBrain created new tag: 1.2.1 https://git.io/JBSgZ
19:03:05 <DorpsGek> [OpenTTD/DorpsGek] TrueBrain created new tag: 2.1.2 https://git.io/JBSg8
19:03:17 <DorpsGek> [OpenTTD/eints] TrueBrain created new tag: openttd-github-1.1.6 https://git.io/JBSgz
19:03:32 <DorpsGek> [OpenTTD/master-server] TrueBrain created new tag: 1.2.8 https://git.io/JBSgV
19:03:47 <DorpsGek> [OpenTTD/master-server-web] TrueBrain created new tag: 1.2.3 https://git.io/JBSgr
19:05:10 <DorpsGek> [OpenTTD/game-coordinator] pyup-bot opened issue #39: Initial Update https://git.io/JBSg7
19:05:36 <TrueBrain> I see pyup is still as pointless in their doing as always
19:06:26 *** DorpsGek has joined #openttd
19:06:26 *** ChanServ sets mode: +o DorpsGek
19:06:33 <TrueBrain> wb DorpsGek
19:06:36 <TrueBrain> I closed a ticket while you were gone, sorry
19:09:29 <TrueBrain> right, all done
19:16:27 *** andythenorth has joined #openttd
19:36:30 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:36:53 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
20:45:15 <Samu> AIVehicleList_Group is slow as well
20:45:18 <Samu> why?
20:45:19 <Samu> :(
20:46:06 <Samu> oh, i see, it also iterates all vehicles in the game
20:48:40 <Rubidium> well, if almost 90% of the calls to API are to that constructor, no wonder that it takes a lot of time
20:48:46 *** geli has joined #openttd
20:54:01 <Rubidium> and practically the question is also... how much time is going to get wasted for all other processing when storing the information for that in some other data structure. This of extra code needed to keep different lists up-to-date, and the memory required for those lists, etc. Even then I wonder what MSVC is exactly showing
20:54:19 *** sla_ro|master has quit IRC ()
20:55:26 *** gelignite has quit IRC (Ping timeout: 480 seconds)
20:59:11 <glx> usually you only need to create the list once
20:59:24 <glx> then you can update it on the fly
21:01:05 <glx> if your AI has to rebuild the list every time, then it's an AI issue
21:02:56 *** geli has quit IRC (Quit: Stay safe!)
21:12:00 <Samu> I need to think of an alternative to ScriptVehicleList_Station::ScriptVehicleList_Station(StationID station_id)
21:14:37 <Samu> maybe i can come up with something tomorrow
21:14:59 <Samu> at least for ships, since they don't have disasters
21:15:24 <Samu> i can manually keep track of all ships on a route without fear of them having different vehicle ids
21:17:28 <Samu> I'm kind of disappointed that AIVehicleList_Group is also slow, i also use it when handling vehicles heading to depots
21:21:58 <Samu> by slow, i mean, heavy cpu usage game framerates go into 0.10 fps
21:22:18 *** Samu has quit IRC (Quit: Leaving)
21:22:26 <andythenorth> today's achivements: ate lunch, played spider solitaire
21:22:32 <andythenorth> must be holidays?
21:25:15 <peter1138> Play games? Drink beer? Or go to bed?
21:25:19 <andythenorth> yes
21:25:29 <andythenorth> beer, games in bed
21:48:06 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:05:30 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:06:12 *** WormnestAndroid has joined #openttd
22:27:18 *** luaduck has quit IRC (Quit: Why do you need...?)
22:28:12 *** luaduck has joined #openttd
22:54:02 *** andythenorth has quit IRC (Quit: andythenorth)
23:30:46 *** Progman has quit IRC (Remote host closed the connection)