IRC logs for #openttd on OFTC at 2024-10-20
β΄ go to previous day
00:29:45 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
00:54:04 *** Wormnest has joined #openttd
01:48:40 *** gelignite is now known as Guest6853
01:48:44 *** gelignite has joined #openttd
01:56:03 *** Guest6853 has quit IRC (Ping timeout: 480 seconds)
02:06:29 *** Wormnest has quit IRC (Quit: Leaving)
02:47:50 *** gnu_jj_ has joined #openttd
02:51:01 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
02:58:41 *** godbed_ has joined #openttd
03:02:06 *** D-HUND has quit IRC (Ping timeout: 480 seconds)
03:02:16 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:45:22 *** TinoDid|znc has joined #openttd
03:46:48 *** TinoDidriksen has quit IRC (Ping timeout: 480 seconds)
03:52:54 *** Flygon has quit IRC (Read error: Connection reset by peer)
04:47:05 <DorpsGek> - Update: Translations from eints (by translators)
06:31:36 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:10:52 *** gelignite has quit IRC (Quit: Stay safe!)
07:49:56 <peter1138> It's raining again.
07:52:07 <peter1138> Hmm, I guess I should consider a normal game instead of 4kx4k with tons of broken NewGRFs π
07:52:55 <peter1138> 1kx1k with FIRS5 has "only" 10,000 animated tiles instead of 130,000.
08:04:24 <peter1138> Using animated tiles only for the tiles that are animated would help.
08:04:38 <andythenorth[d]> was that nmlc PR approved yet?
08:05:02 <andythenorth[d]> as though everyone knows what I mean π
08:09:47 <andythenorth[d]> are there enough tile IDs left?
08:09:55 <andythenorth[d]> "probably fine"
08:11:08 <peter1138> You can use the same tile IDs and vary the animation callbacks by position, same as you do with graphics.
08:15:05 <andythenorth[d]> I could also reuse tile IDs across industries and read the industry ID, I think π
08:17:13 *** TinoDid|znc has quit IRC (Read error: Connection reset by peer)
08:17:20 *** TinoDidriksen has joined #openttd
08:17:57 *** TinoDidriksen is now known as Guest6875
08:20:44 <peter1138> Town generation is quite slow when you set the city probably to 1.
08:20:55 <peter1138> And set the city multiplier to the maximum.
08:21:06 <peter1138> And change the maximum to 100 instead of 10.
08:29:30 <andythenorth[d]> chances of changing cargo class constant names?
08:44:15 <andythenorth[d]> coffee happening
08:51:21 *** Guest6875 is now known as TinoDidriksen
08:54:02 *** HerzogDeXtEr has joined #openttd
08:59:07 <andythenorth[d]> pff unintended
09:01:02 <andythenorth[d]> yeti dudes "just chilling"
09:02:18 <andythenorth[d]> predicates for classes? π
09:02:27 <andythenorth[d]> NOT AND always runs into this problem with old cargos π
09:04:37 *** welterde has joined #openttd
09:04:37 *** welterde has quit IRC (autokilled: #nottor is permanently shut down, do not join it. - Contact support@oftc.net for help. (2024-10-20 09:04:37))
09:05:07 <andythenorth[d]> a vehicle set could provision all the cargos?
09:05:49 <andythenorth[d]> so if I want to fix up outdated cargos in a game, each vehicle grf could declare all the cargo action 0s?
09:06:07 <andythenorth[d]> nah, it won't know the slot IDs
09:30:58 <peter1138> Is it worth using 2 map bits for animated tile state....
09:31:51 <peter1138> Vanilla 512x512 map has hardly any of them.
09:35:41 <andythenorth[d]> what do we save either way?
09:42:12 *** Borg has quit IRC (autokilled: #nottor is permanently shut down, do not join it. - Contact support@oftc.net for help. (2024-10-20 09:42:12))
09:43:36 <peter1138> Lots of animated tiles = lots of processing.
09:43:52 <peter1138> Lots of animated tiles starting and stopping = lots of list insertion/removal.
09:44:20 <peter1138> Use map bits removes the list removal overhead.
09:47:46 <andythenorth[d]> so it's true π FIRS makes the game slow
09:49:56 *** HerzogDeXtEr1 has joined #openttd
09:55:03 <peter1138> > autokilled: #nottor is permanently shut down, do not join it.
09:55:08 <peter1138> I guess they're serious π
09:56:49 *** HerzogDeXtEr has quit IRC (Ping timeout: 480 seconds)
10:05:13 <andythenorth[d]> why do we have NOT AND for classes instead of AND or custom predicates? π
10:05:29 <andythenorth[d]> I mean...I know why, I have the translated Josef conversation from 2005
10:05:43 <andythenorth[d]> I mean...why is it not better?
10:11:36 <peter1138> 214800044 Oct 20 10:47 'Orchestral Manoeuvres in the Dark - Architecture & Morality - Side 1.wav'
10:11:36 <peter1138> 222000044 Oct 20 11:07 'Orchestral Manoeuvres in the Dark - Architecture & Morality - Side 2.wav'
10:11:56 <peter1138> Hmm, the chances of stopping those recordings at those file sizes...
10:12:33 <andythenorth[d]> now I'm curious
10:12:58 <peter1138> Ok, using unordered_set is faster than master but slower than using map bits.
10:13:18 <peter1138> (And also I have a bug because it tries to animate a non-animateable tile)
10:15:06 <andythenorth[d]> we could animate them all? π
10:15:21 <peter1138> FIRS5 basically does.
10:20:13 <peter1138> Hmm, std::unordered_set with std::hash<uint16_t> has a bucket count of 85229.
10:24:54 <peter1138> Sounds like an intel chipset.
10:25:22 <peter1138> Ah, 82559 is a fast ethernet chip.
10:36:25 <xarick> wanted to say something about water class sea and forgot what
10:42:40 <peter1138> flooding vs non-flooding
10:49:17 *** reldred has joined #openttd
10:49:17 <reldred> speaking of flooding my sister flooded the damn laundry π
10:49:27 <reldred> god I want my house back to myself
10:51:01 <xarick> why not force freeform edges to always be true?
10:51:16 <xarick> this is the main source of tile wrapping to the other side
10:51:33 <peter1138> It's incompatible with maps that don't have it.
10:52:06 *** gelignite has joined #openttd
10:52:48 <xarick> I wonder what rubidium is doing
10:54:46 <xarick> I have detected already several instances
10:55:10 <xarick> they almost always involve the NW NE borders
11:05:56 <andythenorth[d]> 4 classnames I'd like to replace / add synonyms for in NML
11:05:56 <andythenorth[d]> * `CC_BULK` -> `CC_OPEN_BULK`
11:05:56 <andythenorth[d]> * `CC_COVERED` -> `CC_COVERED _BULK`
11:05:56 <andythenorth[d]> * `CC_HAZARDOUS` -> `CC_GAS`
11:05:56 <andythenorth[d]> * `CC_OVERSIZED` -> `CC_NON_STANDARD`
11:06:31 <andythenorth[d]> the last 2 pretty much unused, and will have minimal effect
11:43:31 *** Hobbyboy has joined #openttd
11:47:55 <brickblock19280> Why change cc_covered I just don't see the functional difference
12:43:51 <andythenorth[d]> covered, as written is intended for vans as well, and ISO boxes
12:44:17 <andythenorth[d]> and bulk is currently required by the spec for *all* bulk cargos, including cement, flour, grain etc
12:44:58 <andythenorth[d]> providing classes that align to types of vehicles is _possibly_ more useful than classes that don't
12:47:50 <andythenorth[d]> currently covered is also only permitted as 'exclude'
12:47:58 <andythenorth[d]> and must be excluded from all open vehicles
12:54:41 *** gelignite has quit IRC (Read error: Connection reset by peer)
12:54:51 *** gelignite has joined #openttd
13:20:56 *** nielsm has quit IRC (Ping timeout: 480 seconds)
13:23:12 <jlx0> Hello. I currently use OpenTTD and my map is occupied, so I planned developing a map resizer (I know I asked before and many users said it would be difficult). However, I wonder if that will help at all. My map has 1024x1024 size and 800 trains on it. On my desktop CPU, it takes on average 110% CPU already. So If I resize to e.g. 2048x2048 with maybe 3200 trains, I could expect CPU issues? Does
13:23:12 <jlx0> anyone have experience how OpenTTD scales on larger maps?
13:26:53 <peter1138> If you're already at 110% CPU then quadrupling the map size and the number of trains will definitely have an adverse affect.
13:30:17 <andythenorth[d]> maybe an NML patch is unnecessary for changing cargo classes
13:30:47 <andythenorth[d]> I can just write a python script that does string replace on constants in a .nml file, new -> old
13:30:49 *** ahyangyi has quit IRC (Quit: User went offline on Discord a while ago)
13:30:52 <andythenorth[d]> and then authors can use that
13:31:14 <andythenorth[d]> or a script that just sets the bits directly
13:32:02 <peter1138> Yes, it makes the difference more noticable.
13:32:10 <andythenorth[d]> hmm decompile + recompile actual grfs, migrate classes
13:32:30 <andythenorth[d]> migration layer π
13:33:15 <andythenorth[d]> peter1138: quite a % gain π
13:37:55 <peter1138> Well, if anyone has a master-compatible savegame that is running slowly...
13:39:35 <peter1138> Fresh 512x512 IOTC game with nothing going on... master: 0.21ms, with water & animated tile state in map: 0.18ms, with animated tile speed in map as well: 0.16ms
13:39:48 <peter1138> All irrelevant gains.
13:53:50 <xarick> I was more of the opinion of getting rid of TileIndexDiff
13:54:21 <xarick> TileIndexDiffC does allow checking x boundaries better
14:01:31 <Rubidium> note: that diff is not 100% right!
14:10:39 <xarick> but asserts are disabled in builds π
14:11:05 <xarick> ah, you mean actually doing the tile + offset directly
14:11:20 <xarick> for performance reasons
14:25:17 <andythenorth[d]> I guess I could just define my own cargo class scheme π
14:25:19 <andythenorth[d]> it's just bits
15:09:35 *** godbed is now known as debdog
15:28:31 <peter1138> It feels like he's been stuck on this for much longer than 2 weeks. Like a lifetime, or an eternity.
15:29:02 <soylent_cow[m]> Sunday morning glamour shot!
15:30:14 <soylent_cow[m]> hey i got a question.... so the towns seem to be growing, even completely unattended towns, at a slow rate. i set the config var for town growth to slowest before "not growing"
15:31:07 <soylent_cow[m]> i wonder, if i set it to towns not growing, will they still grow when i transport goods? or will they only grow when one buys new buildings?
15:31:37 <soylent_cow[m]> ideally, i think, i would like towns to not grow when unattended, yet grow slowly if goods are transported
15:32:52 <soylent_cow[m]> this is why i was thinking about disabling towns from extending roads, that way they won't be able to grow to large size over a month or so of real time, which is how long a 100 year game takes with my settings
15:33:05 <soylent_cow[m]> or will they??
15:36:23 <soylent_cow[m]> these are just about the smallest towns now, out of 600 or so on the map:
15:36:53 <soylent_cow[m]> the smaller ones are constrained by water, they have filled out their tiny islands
15:38:26 <soylent_cow[m]> sorry to make such a fuss about it, but these are the towns which say "not growing" in the info box, yet they are clearly all growing, albeit at a very slow rate
15:53:46 <andythenorth[d]> peter1138: awaiting badges π
16:04:30 <johnfranklin> 1st class is cheaper than 2nd
16:08:48 <andythenorth[d]> pff now I can use my cargo classes docs config to remap all the class constants in my grfs π
16:29:54 <LordAro> johnfranklin: they do be like that sometimes
16:43:11 *** gelignite has quit IRC (Quit: Stay safe!)
16:52:42 <squirejames> My dear lady is travelling down 1st class tomorrow. (mostly for the hope there is actually some luggage space)
16:52:56 <squirejames> Also, is it now 1st and 2nd? or, is it still 1st and 3rd?
16:53:39 <LordAro> standard and 1st if you're lucky
16:54:13 <LordAro> i've never known there to be any issues with luggage space specifically on trains, mostly just space/lack of seating in general
17:07:12 <talltyler> Second class was only for boat trains, to match the boat classes
17:17:22 <andythenorth[d]> too many classes π
17:39:23 <andythenorth[d]> pff we could have just done `refrigerated` as `clean` and `hazardous` as `dirty`
17:39:37 <andythenorth[d]> things and stuff
17:52:44 *** HerzogDeXtEr1 has quit IRC (Ping timeout: 480 seconds)
17:57:07 <peter1138> Have you considered contacting Josef to complain?
18:07:55 <mnhebi> what is good ole patchman doing these days anyways..
18:44:06 <andythenorth[d]> peter1138: no, important TV watching to do π
18:55:30 <andythenorth[d]> ok FIRS time, are all cargos either clean or dirty?
19:11:47 <andythenorth[d]> diamonds are dirty eh π
19:12:30 <peter1138> I would put diamonds as neither clean nor dirty.
19:12:49 <andythenorth[d]> if they're express, they need to be dirty, or they appear in food wagons
19:12:55 <andythenorth[d]> they could just be armoured
19:21:02 <andythenorth[d]> sugarcane is weird
19:21:12 <andythenorth[d]> bit like livestock
19:21:23 <andythenorth[d]> not really food-grade
19:22:15 <peter1138> So again, neither potable nor non-potable.
19:22:51 <andythenorth[d]> yeah I left it blank, but it probably can be non-potable
19:22:59 <andythenorth[d]> weird cargo full stop
19:28:13 <xarick> `tile_track = AddTileIndexDiffC(tile_track, TileIndexDiffCByDiagDir(AxisToDiagDir(OtherAxis(axis)))); // perpendicular to tile_delta`
19:40:10 <peter1138> Rubidium did it better
19:42:18 *** nielsm has quit IRC (Ping timeout: 480 seconds)
19:45:20 <xarick> time to solve conflicts
19:45:27 <xarick> cus it's already merged
19:58:55 <andythenorth[d]> testing my new classes, broken with some vehicle grfs
19:59:09 <andythenorth[d]> and so were the old classes
19:59:11 <andythenorth[d]> such compatibility
20:01:00 <andythenorth[d]> this has gone well
20:07:58 <xarick> what's better? TileIndexDiffC is a struct
20:07:58 <xarick> `return TileIndexDiffC{ 0, 0 };
20:07:58 <xarick> return TileIndexDiffC(0, 0);`
20:20:44 <xarick> `if (GetHouseNorthPart(house_id).x == TileIndexDiffC(0, 0).x && GetHouseNorthPart(house_id).y == TileIndexDiffC(0, 0).y) town->cache.num_houses++;`
20:22:44 <peter1138> What is that even for?
20:24:24 <xarick> I don't yet have the operator ==
20:25:14 <xarick> it's in the next commit, but trying to solve a conflict requires this workaround before
20:29:21 <Rubidium> sounds like your commits aren't in the right order
20:36:47 <xarick> I think we're solving this in a very much equal manner apparently
20:36:50 <peter1138> Blanket changing everything just-in-case probably isn't useful.
20:37:06 <xarick> but you prefer TileIndexDiff
20:38:04 <_glx_> it's usually better to not change things if they work
20:39:51 <andythenorth[d]> hmm classes don't work sometimes
20:39:59 <andythenorth[d]> SBB set has no wagons for FIRS Chemicals
20:40:19 <andythenorth[d]> but chemicals set a wide range of classes for compatibility
20:40:34 <andythenorth[d]> `Liquid, Piece Goods, Gas, Non-Food-Grade`
20:40:38 <_glx_> does SBB support classes ?
20:40:58 <andythenorth[d]> no way to tell unless I decompile it, or compile JGRPP for the improved grf debugging π
20:41:14 <andythenorth[d]> grf vehicle inspector in vanilla doesn't have anything like that
20:41:43 <andythenorth[d]> ha somehow I've made this even better now
20:42:29 <_glx_> oh if this food is from US it's valid
20:45:26 <peter1138> You could just port those JGRPP features you like back to vanilla.
20:45:48 <andythenorth[d]> JGR advised me not to try π
20:45:58 <_jgr_> I don't remember saying that
20:46:10 <andythenorth[d]> I might have hallucinated it
20:46:24 <peter1138> Much like "never use cargo class excludes"
20:46:41 <andythenorth[d]> I know who said that π
20:50:21 <peter1138> Step 1) Does JGRPP's debug actually include this info or did you make that up?
20:55:52 <truebrain> andythenorth[d]: We finally have proof you are in fact an LLM \o/
20:56:06 <andythenorth[d]> I see little difference π
20:56:19 <andythenorth[d]> what is `refit_mask`?
20:56:44 <andythenorth[d]> I can't find where it's composed, I thought it would be a bitmask of something
21:01:54 <peter1138> refit_mask is a bitmask of cargo types
21:02:18 <_jgr_> andythenorth[d]: It's composed in the CalculateRefitMasks function
21:03:22 <andythenorth[d]> ok so that won't directly show vehicles on the grf
21:12:33 <soylent_cow[m]> micro$oft requests more cash
21:14:25 <xarick> surprisingly the TileAdd debug still catched it
21:18:19 <xarick> oh, peter's fix still not merged
21:21:42 <xarick> At least 1 approving review is required by reviewers with write access. Not sure I qualify
21:22:12 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:24:46 <xarick> Looks like I don't qualify
21:26:17 <johnfranklin> johnfranklin: It was actually β1st restricted cheaper than standard class flexibleβ
21:30:00 *** HerzogDeXtEr has joined #openttd
21:31:49 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:50:20 <peter1138> Have we implemented redstone in OpenTTD yet?
21:51:30 *** ChanServ sets mode: +v tokai
21:54:39 <truebrain> Only if we also do pistons
21:58:26 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
22:00:16 <andythenorth[d]> redstone badges?
22:00:46 <andythenorth[d]> I think redstone can be done in GS π
22:02:11 <johnfranklin> Is programmable presignal Turing complete?
22:14:21 <reldred> Keep your drama to yourself please
22:22:02 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
22:31:57 <andythenorth[d]> oof it was naptime ages ago
22:32:04 <andythenorth[d]> such fucking about with classes π
continue to next day β΅