IRC logs for #openttd on OFTC at 2026-07-28
⏴ go to previous day
01:41:00 *** Wormnest has quit IRC (Quit: Leaving)
02:16:32 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
02:16:43 *** MinchinWeb[m] has joined #openttd
02:51:37 <belajalilija> Out of curiosity
02:52:11 <belajalilija> I heard that the thingy to allow flipping of vehicles over 8/8 is done but just not merged
02:52:36 <belajalilija> Is it something that will be merged eventually?
03:07:19 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
03:07:35 *** MinchinWeb[m] has joined #openttd
03:28:49 *** Phileman has joined #openttd
03:32:15 *** Philemon has quit IRC (Ping timeout: 480 seconds)
05:02:12 *** tokai|noir has joined #openttd
05:02:12 *** ChanServ sets mode: +v tokai|noir
05:09:25 *** tokai has quit IRC (Ping timeout: 480 seconds)
05:46:38 *** andythenorth_ has joined #openttd
06:58:13 *** cu-kai has quit IRC (Quit: Leaving for a bit.)
07:11:07 <DorpsGek> - Update: Translations from eints (by translators)
07:19:01 <_zephyris> peter1138[d]: I can give you tree sprites, including recolourable ones if you want to play...
07:28:24 *** fairyflossy has quit IRC (Quit: User went offline on Discord a while ago)
07:28:45 <peter1138> I'm working with OpenGFX 1 trees :)
07:29:09 <andythenorth_> "screenshots or it didn't happen"
07:29:26 *** reldred has joined #openttd
07:29:26 <reldred> they're on the discord andy 😛
07:30:19 <andythenorth_> :shrugging_dude
07:31:09 *** wallabra has joined #openttd
07:33:37 <reldred> wasnt someone doing autorocks on terraforming land?
07:34:00 <reldred> did that end up getting merged?
07:34:16 <reldred> or do I need to jump up and down and make noise in the pr
07:34:29 <reldred> coz i'd really like it 🙂
07:35:32 <peter1138> So should I add tree classes?
07:35:51 <reldred> dunno what would they do
07:35:55 <andythenorth_> meaningful 4 char labels?
07:36:04 <peter1138> Then switch the tree picker to the current standard.
07:36:09 <andythenorth_> gives people stuff to argue about in the community, promotes engagement
07:36:26 <andythenorth_> treetype standard
07:36:45 <peter1138> The current UI will not work if every tree type is placeable :)
07:37:01 <peter1138> Oh, sorry, no, I mean classes as in class labels.
07:37:07 <peter1138> Like object classes, staiton classes, etc.
07:37:10 <reldred> my main things i'd be looking for are: tree control based on water proximity, tree control based on height, tree control based on climate and sub-climates (rainforest, desert, yadda yadda).
07:37:15 <peter1138> Nothing like cargo classes.
07:37:34 <reldred> yeah would probably be sensible, that UI aint gonna scale otherwise
07:37:58 <peter1138> Climate and tropic zone are intinsic bit mask flags already in this patch.
07:38:29 <reldred> would be good for pineapple landscape
07:38:31 <peter1138> I first rearranged the default trees to have this data, instead of using magic tree numbers.
07:39:02 <reldred> working out which were used where was a pain before
07:39:06 <peter1138> There is a random probabilty property as well, which is needed for the cactus.
07:39:28 <reldred> yeah, theres a few other trees with random probability of diff sprites as well
07:39:31 <reldred> i forget which exactly
07:40:13 <peter1138> They're not random :-)
07:40:42 <peter1138> If you read my description, tree tiles are made up of up to 4 trees, and tree tiles have 4 pseudo-random variants.
07:41:34 <reldred> another feature tree related im quite fond of is in JGRPP, arctic tree line, you can specify that below the snowline temperate trees grow, and theres some controls around the height bands etc. so you can also stop trees spawning above a certain height level entirely to get bare snowcapped mountains.
07:41:42 <peter1138> That still exists, though with NewGRF trees it's up to the author to do random switch to provide the psuedo-random variants.
07:41:57 <reldred> so if thats all going to go out the window in favor of NewTrees then I'd like to emulate that still
07:42:28 <peter1138> Well, I need to consider how often new tree tiles are created.
07:43:39 <peter1138> If it's feasible to process a tree-creation callback then we just need to provide the vars and the NewGRF does the rest.
07:43:40 <reldred> I think the one thing out of this is that it's not often people sit down to draw trees, so whatever system probably doesn't need to support too many of them in total
07:43:52 <reldred> the most prolific tree drawers I know of are ufiby and zyliety
07:44:19 <reldred> zyliety has a tonne more not in their tree set that are part of objects
07:45:00 <peter1138> Yeah, tree type is currently 1 byte, allowing for 256 tree types. But given tree type isn't the same as tree sprite, you can have a lot more variety with just that.
07:45:18 <reldred> yeah that seems reasonable
07:46:03 <peter1138> Ignoring varaction control, only pseudo-random variants, that means 1 tree tile type could potentially have 16 unique tree sprites.
07:48:13 <peter1138> As is currently the case, the picker UI only shows the first tree sprite.
07:48:55 <peter1138> Being able to pick individual tree sprites is not on the cards.
07:49:27 <peter1138> You can make a tree layout with only one sprite but it looks terrible :)
07:51:05 <andythenorth_> so we can have meadows
07:52:38 <peter1138> You can have forests of concrete cows if you want.
07:53:01 <peter1138> I should add the class and name properties.
07:53:28 <peter1138> There's no relation. It's just lookup tables.
07:53:41 <peter1138> In a rather obtuse layout.
07:54:55 <locosage> well, table is one way to define relation ;p
07:55:38 <locosage> the graph I linked was made from those lookup tables iirc
08:09:15 <peter1138> Tree probability and any creation callback would happen after the tree type is selected. So complex restrictions in theory mean you end up with less trees.
08:09:25 <peter1138> But given the amount of tree growth that occurs it may be fine.
08:10:12 <peter1138> (i.e. probability is not a weighting to favour some trees more than others when picking the type)
08:13:01 <peter1138> Can still have feedback, there is a web-preview build to test, or you can compile it yourself.
08:26:32 *** Flygon has quit IRC (Read error: Connection reset by peer)
10:49:37 <will_marshall_> It's a draft because it needs thinking about more, when I surveyed extant NewGRFs (in a spectrum from ancient to modern) most things didn't work and some things super duper didn't work. Overall it's a thing that can work trivially for some NewGRFs but it'd be better to solve some of the genuine issues with how trains work (how so much depends on what the 0th vehicle in the chain is/does) before
10:50:15 <will_marshall_> It'd be better to write a PR that allows a wagon to be the front vehicle of a train and solve all those 1000 edge cases first, probably.
10:51:00 <peter1138> You could document (probably with images) those problems in the PR. Then others know that it's not just sitting there for no reason.
10:51:52 <_zephyris> Trees --> plants is a nice concept.
10:52:01 <will_marshall_> I'll have a go. There are options for what I can do to fix the issues with most of the sets I found but I'm fairly sure I'll encounter a pair of examples that conflict.
10:52:10 <_zephyris> Classes for flowers, shrubs, trees, etc.
10:52:22 <peter1138> will_marshall_, not in the PR itself, just the comments of the PR :)
10:52:28 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
10:52:39 <will_marshall_> Yeah, I follow.
10:52:45 *** WormnestAndroid has joined #openttd
10:52:53 <peter1138> _zephyris, see the add-on-development channel too.
10:53:10 <will_marshall_> Some sets have a different vehicle type for the tender of a steam locomotive, and often that tender is not suitable to be the front vehicle of the train, which makes the whole approach a bit futile.
10:53:26 <will_marshall_> I'll make some examples up and post them in the PR for discussion.
10:53:27 *** WormnestAndroid has quit IRC (Remote host closed the connection)
10:53:44 *** WormnestAndroid has joined #openttd
10:54:11 <_zephyris> I'll catch up - I'm in the mountains with very dodgy internet
11:42:58 <andythenorth_> we can't just have a bonfire of the old train grfs?
11:43:33 <andythenorth_> oh does it move trailing parts to be the lead, and then the props are all zeroed, so it can't lead?
11:57:04 <will_marshall_> andythenorth_: if the tender has zero power it's not a valid lead vehicle so yeah
11:57:08 <talltyler> We should stop breaking the game if we ever want to release 16.0 🙂
11:57:11 <will_marshall_> causes some issues
11:57:20 <will_marshall_> This is a 17.0 problem 😛
11:57:57 <andythenorth_> vehicles are composed of vehicles
11:58:18 <will_marshall_> I'm not anti train bonfire either but it doesn't strictly break anything to swap more of the properties from the front of the articulated set to the back...
11:59:00 <will_marshall_> OpenTTD releases need codenames so we can have OpenTTD 17.0 "Snailwell"
12:05:41 <peter1138[d]> Let's not. Naming is the hardest problem.
12:06:04 <emperorjake> Just steal names from Horse
12:06:15 <will_marshall_> I gotta start putting the just kidding mark at the end of my messages.
12:06:51 <peter1138[d]> Anyway, yes, the idea of "Consists" is to move all the state about a vehicle that applies to the whole thing to a different data structure. I have various attempts to do it, but nothing finished yet.
12:07:12 <peter1138[d]> Another dev also had a similar plan a few years (!) ago
12:13:44 <andythenorth_> would articulated vehicles continue to be made of vehicles?
12:19:18 <peter1138[d]> Yes nothing changes there.
12:20:05 <peter1138> Okay, let's stick to one place :o
12:28:30 <andythenorth_> only if you count cheese as a slow-flowing liquid
12:28:33 <andythenorth_> might be the case
12:49:45 <belajalilija> peter1138: I should learn how to do this probably
12:51:28 <belajalilija> will_marshall_: Fair dos, very nice to know it is being worked on though, the current release of OpenTTD broke the method my grf took
13:01:42 <brickblock19280> The release had nothing to do with it
13:02:44 <brickblock19280> Regarding the power issue tho would that not be solved by just swapping the power value between the two like for the other stats
13:03:16 <brickblock19280> But maybe that's tied the Id rather then the particular instance
13:09:23 <peter1138> There's way more things than just power.
13:19:29 <belajalilija> _zephyris: I do wanna make flowers for the new tree feature
13:19:47 <belajalilija> Different trees too
13:19:58 <belajalilija> Like yew and holly
13:20:05 <brickblock19280> Flowers as rough ground already exists
13:20:22 <belajalilija> Yeah but you don’t have control over it right?
13:20:30 <belajalilija> Like not in the same way
13:20:42 <belajalilija> I’d wanna make all different colour flower options
13:22:24 <belajalilija> brickblock19280: What did cause it then
13:22:51 <brickblock19280> Me changing the code twice to no longer support it
13:37:54 <rito12_13> belajalilija: Giving feedback, running a web-preview or compiling the game?
13:40:27 <belajalilija> rito12_13: All of those things
13:41:56 <belajalilija> It feels a good time to remind everyone that the only reason i have a grf is because of dP and the only reason it can do many of the things it can is because of brick
13:47:53 <rito12_13> You have a lovely team. By the way, when will it be available on BaNaNaS?
13:48:04 <brickblock19280> A really old version is
14:19:37 <andythenorth_> if you hate electronic dance music, don't click
14:19:42 <andythenorth_> if you like animated Horses, do click
14:20:23 *** aperezdc has quit IRC (Remote host closed the connection)
14:21:32 *** aperezdc has joined #openttd
14:58:25 <mnhebi> I was half expecting fruitloops being the program.
14:58:38 <mnhebi> well, it could still be it as I haven't the slightest clue what it looks like these days
15:00:52 <mnhebi> belajalilija: OpenTTD is one of the simplest things to get compile...
15:01:08 <mnhebi> it'll take even a complete newbie a hour at most
15:09:02 <brickblock19280> you do not know my struggle
15:09:50 <brickblock19280> compiling master isn't too hard but I can never get Cmake to play along
15:35:34 <rito12_13> mnhebi: Yeah, much easier than gcc
16:06:10 <peter1138> Flag to control tree vs building rendering?
16:20:32 <andythenorth_> what does it do? 👀
16:28:36 <peter1138> Controls whether trees are drawn as trees or buildings.
16:40:04 *** Wormnest has joined #openttd
16:40:43 <talltyler> Why would a tree be a building? Transparency options?
16:44:08 <peter1138> It's about how the tile is drawn.
16:45:48 <peter1138> 1) Draw the tile like regular tree tiles. Allows authors to list sprites and the game automatically handles pseudo-random position along with tree count and grow stage. Very easy for authors to make trees that behave like trees.
16:46:30 <peter1138> 2) Draw the tile like regular tile layouts. Allows authors to have full control over the tile, but the game cannot do automatic variation and layouts.
16:47:56 <peter1138> Authors can do whatever they want with the tile, but they have to implement all the variety themselves by providing a lot more sprite layouts.
16:48:39 <talltyler> “andythenorth mode”
16:49:03 <peter1138> See the add-on-development channel if you dare :p
16:49:47 <talltyler> That channel is currently a helpdesk session 🙂
16:50:51 <peter1138> Yeah, go back about 6 hours ago.
16:53:37 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
16:54:13 *** MinchinWeb[m] has joined #openttd
18:12:57 <germancatgirl__> talltyler: :Car_Cry:
18:55:52 <peter1138> Right, made a git repo for the example NML trees.
19:09:33 <peter1138> I better check every commit compiles.
19:33:45 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
19:34:01 *** MinchinWeb[m] has joined #openttd
19:55:00 <Rubidium> ... they all compiled and it took almost an hour to check that
20:20:12 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
20:21:54 *** MinchinWeb[m] has joined #openttd
20:41:54 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
20:42:11 *** MinchinWeb[m] has joined #openttd
21:11:33 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
21:12:04 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:17:13 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
21:21:37 *** WormnestAndroid has joined #openttd
21:32:46 <peter1138> Hmm, industries can play random sounds via property. Does anyone use that?
21:33:37 <peter1138> Doesn't look like it properly supports NewGRF sounds, so likely it's just for old/original industries to play default sounds.
21:36:33 <peter1138> Other sound properties go via GetNeGRFSoundID() to resolve it.
21:48:47 <andythenorth_> `random_sound_effects: []; // set this empty to avoid spurious default industry sounds (as of May 2017 FIRS does not yet use sound effects)`
21:49:11 <andythenorth_> dunno if that's relevant
22:22:00 <_zephyris> Aarg, scrolling back on rubbish internet is painful
22:22:16 <_zephyris> What was the final suggestion for NewGRF trees?
22:22:44 <_zephyris> I'd err towards simple, trees behave like trees...
22:23:03 <belajalilija> rito12_13: I really do!
22:23:03 <belajalilija> There’s no ETA for release but i sometimes post it here and can post it on request if desired
22:24:21 <belajalilija> mnhebi: I’m even simpler
22:25:22 <belajalilija> germancatgirl__: Naw ask all the shit you need xd
22:32:43 <reldred> _zephyris: I’d honestly be fine with a tree system that can at least let me do everything the current one can. Above and below snowline (or lowest possible snowline in a variable situation) is about all I’d want on top of what we currently have, and maybe proximity to water.
23:17:13 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
23:17:30 *** WormnestAndroid has joined #openttd
23:23:07 <peter1138> _zephyris, trees behaving like trees is what I already have :)
23:25:32 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
23:32:45 *** WormnestAndroid has joined #openttd
23:35:02 <reldred> treeeeeeeeeeeeeeeeees
23:35:42 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
23:36:11 *** MinchinWeb[m] has joined #openttd
23:37:58 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
23:38:18 *** MinchinWeb[m] has joined #openttd
23:52:21 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
23:53:08 *** WormnestAndroid has joined #openttd
continue to next day ⏵