Times are UTC Toggle Colours
01:02:52 *** iSoSyS has joined #openttd 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 02:22:36 *** Wormnest has quit IRC 02:43:52 *** y2kboy23 has quit IRC 02:45:11 *** y2kboy23 has joined #openttd 02:48:46 *** y2kboy23 has joined #openttd 03:30:40 *** snail_UES_ has quit IRC 03:53:50 *** tokai has joined #openttd 03:53:50 *** ChanServ sets mode: +v tokai 04:00:50 *** tokai|noir has quit IRC 05:43:23 <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:54 <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 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 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:05 <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:16 <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:05 <TrueBrain> that allows for 13 seconds of animation, I guess 10:59:03 <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:56 <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:33 <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:25:00 <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:26 <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:06 <frosch123> action 1/5/A precede real sprites. they state how many graphic sprites are to follow 11:32:06 <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:59 <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 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:04 <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:21 <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:55 <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 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 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 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 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 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 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 16:26:22 *** Flygon has quit IRC 16:56:43 *** andythenorth has joined #openttd 17:13:13 *** jottyfan has quit IRC 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 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 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:01 <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:13 <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 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:23 <DorpsGek> [OpenTTD/bananas-frontend-cli] TrueBrain updated pull request #30: Scheduled monthly dependency update for August https://git.io/JBS8v 18:34:35 <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:09 *** DorpsGek has quit IRC 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 20:36:53 *** frosch123 has quit IRC 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 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 21:12:00 <Samu> I need to think of an alternative to ScriptVehicleList_Station::ScriptVehicleList_Station(StationID station_id) 21:14:36 <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 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 22:05:30 *** WormnestAndroid has quit IRC 22:06:12 *** WormnestAndroid has joined #openttd 22:27:18 *** luaduck has quit IRC 22:28:12 *** luaduck has joined #openttd 22:54:02 *** andythenorth has quit IRC 23:30:46 *** Progman has quit IRC