IRC logs for #openttd on OFTC at 2022-09-18
β΄ go to previous day
00:03:07 *** wallabra has quit IRC (Ping timeout: 480 seconds)
00:03:07 *** wallabra_ is now known as wallabra
00:10:13 *** nielsm has quit IRC (Ping timeout: 480 seconds)
00:15:37 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
00:53:12 *** Wormnest has joined #openttd
01:45:54 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
02:04:06 <glx[d]> TallTyler: that's when you manually run `grfcodec -e openttd .` ?
02:10:17 <glx[d]> you can't run it that way as openttd.nfo is not directly usable
02:12:00 <glx[d]> cmake parses it and replace the `#include` lines with the actual content of included files, then run `renum` to set sprite 0 and all the -1, and finally do the grfcodec call
02:21:50 <glx[d]> and all is done somewhere in `build` subdirs
02:23:22 *** Wormnest has joined #openttd
02:23:59 <glx[d]> then the resulting grf is copied to media/baseset
02:27:22 <glx[d]> if cmake doesn't find grfcodec or renum, you can tell it their full path in `NFORENUM_EXECUTABLE` and `GRFCODEC_EXECUTABLE` variables
02:35:49 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
02:39:33 *** WormnestAndroid has joined #openttd
02:43:23 <TallTyler> glx[d]: Yes, but that explains why it doesnβt work.
02:51:29 <TallTyler> glx[d]: In `cmake/CreateGrfCommand.cmake`? I tried that and it still didn't work. Is the path given as a string?
02:54:23 <glx[d]> `cmake .. -DNFORENUM_EXECUTABLE="full path to renum" -DGRFCODEC_EXECUTABLE="full path to grfcodec"`
02:54:48 <glx[d]> or if using VS you can set them in the GUI
02:55:12 <TallTyler> I am using VS, but don't know where to find the CMake settings π€
02:55:29 <TallTyler> Ah, maybe this is it
02:59:02 *** debdog has quit IRC (Ping timeout: 480 seconds)
02:59:23 <TallTyler> Thank you for your help π
03:12:32 *** D-HUND is now known as debdog
03:16:09 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
03:26:19 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
03:26:33 *** WormnestAndroid has joined #openttd
03:30:49 *** Wormnest has joined #openttd
04:23:59 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
05:01:10 *** Wormnest has joined #openttd
05:53:49 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
06:31:17 *** Wormnest has joined #openttd
07:24:00 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
07:51:34 <andythenorth> time to read nml source
07:52:41 <andythenorth> how does nml pick the results of industry tile var 0x60 out of `nearby_tile_class`?
07:54:59 <andythenorth> are there offsets into a table somehow?
07:56:14 <andythenorth> actually nvm π
07:56:44 <andythenorth> I don't think var 0x60 can get the grfid of a neighbouring grf object anyway
08:02:47 *** Wormnest has joined #openttd
08:35:32 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
08:37:30 *** WormnestAndroid has joined #openttd
08:49:32 <andythenorth> do love a bit of magic fencing
08:49:40 <andythenorth> object and industries
08:55:25 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
08:59:59 *** Brickblock1 has joined #openttd
08:59:59 <Brickblock1> What happens if you combine this with other objects?
09:09:04 <andythenorth> the fences will hide if the neighbouring tile is an object (any object)
09:09:14 <andythenorth> there's no obvious vars that can be checked to prevent that
09:10:29 <andythenorth> not sure I want to build a big conditional check either π
09:12:17 <andythenorth> stations need fences eh
09:15:25 <dP> hm, I need some function that works like % x but with x changing somewhat randomly each cycle... any ideas?
09:15:38 <dP> so sequence would be smth like this: `0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...`
09:18:07 <dP> yield from range(6 + np.random.geometric(.25))
09:18:16 <dP> but need a fast way to get f()[i]
09:26:11 <andythenorth> I used to pre-generate pseudo random lists for flash games
09:27:05 <andythenorth> you can also layer it by generating multiple pseudo-random and switching the list randomly
09:29:36 <dP> I don't really need lists if I know when to switch, can just do simple prng
09:29:45 <dP> smth like this: `lambda i: i % ((i // 60 + 31) % 5 + 1)`
09:32:16 <dP> though with pre-generated lists I won't need to keep the same divisor each cycle...
09:33:00 <andythenorth> pre-computing is a brain-dead solution to lots of problems
09:33:04 *** Wormnest has joined #openttd
09:33:05 <andythenorth> but has the advantage of being very easy π
09:33:56 <andythenorth> and inspectable π
09:43:59 *** HerzogDeXtEr has joined #openttd
09:53:06 <andythenorth> TrueBrain: any sentry error on Bananas? π
09:53:25 <andythenorth> it just failed to save an update to FIRS with 'Data not found'
09:53:35 <andythenorth> grf is there though
09:53:50 <andythenorth> I didn't double-click the 'publish' button
10:04:52 *** reldred has joined #openttd
10:15:43 <andythenorth> snow and crap another time
10:25:41 <glx[d]> Usually sentry logs unhandled errors
10:26:20 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
10:26:21 <glx[d]> If you get a message it's been handled
10:32:22 *** lobstarooo_ has joined #openttd
10:39:19 *** lobstarooo has quit IRC (Ping timeout: 480 seconds)
10:39:23 *** lobstarooo_ is now known as lobstarooo
10:46:58 <reldred> dynamic poo covered tiles and buildings confirmed for firs 4
10:47:08 <NGC3982> < reldred> dynamic poo
10:47:56 <Eddi|zuHause> dP: does i increase monotonously or do you need random access to stay consistent?
10:51:49 <dP> Eddi|zuHause: I need it stateless so random access I guess
10:54:29 <Eddi|zuHause> so, let's say you have a sequence [0 .. (a1-1), 0 .. (a2-1), 0..(a3-2), ... ]. i'd store the sequence [a1, a1+a2, a1+a2+a3, ...]
10:55:02 <Eddi|zuHause> in that second sequence, you can make a binary lookup for i
10:55:45 <Eddi|zuHause> a1+..+ak <= i < a1+..+ak+a(k+1)
10:56:44 <Eddi|zuHause> then the result will be i%(a1+..+ak)
10:56:52 <Eddi|zuHause> (double check for some obiwans)
10:57:35 <Eddi|zuHause> i-(a1+..ak) should work as well
10:57:43 <dP> if I'm to store a sequience I can just directly pre-generate rng and use seq[i%lengthof(seq)]]
10:58:12 <andythenorth> nmlc info: Object items: 222/256
10:58:19 <andythenorth> goes it throw out limit?
10:58:56 <andythenorth> or shall I try sharding them? (FIRS only uses about 30% of objects in any economy, so this could work)
10:59:14 *** gelignite has joined #openttd
11:00:01 <Eddi|zuHause> the idea here would be that you don't store the big sequence, bvt only the smaller one
11:01:16 <dP> it'd rather have a longer sequence with faster lookup
11:02:17 <Eddi|zuHause> that'll get into fuzzy territory whether lookup in a long sequence is actually O(1)
11:02:55 <Eddi|zuHause> due to the binary search the second way would be O(log(n))
11:03:32 *** Wormnest has joined #openttd
11:04:55 <Eddi|zuHause> lookup in a long sequence is very implementation dependent
11:05:10 * andythenorth would like git to not try and autocomplete names of deleted branches
11:05:18 <andythenorth> maybe I can clean something
11:05:39 <andythenorth> oh it's a tagname
11:05:42 <dP> I don't think I need that long of a sequence to make it look sufficiently random
11:07:19 <Eddi|zuHause> you could replace the second sequence with a clever random generator
11:09:01 <Eddi|zuHause> but dynamic programming has all these tradeoffs... do you want to be more space efficient, do you want to be more time efficient, ...
11:29:00 <andythenorth> "do you want to trust GitHub CoPilot to do it for you?" π
11:29:56 <Eddi|zuHause> is that any better than clippy? :p
11:30:53 <glx[d]> It's scary, it wrote a lot of truegrf
11:33:53 <andythenorth> it's probably got a better heuristic in many cases than the user
11:56:10 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
11:58:26 <andythenorth> I guess objects can be animated
12:11:45 *** wallabra has joined #openttd
12:32:34 *** wallabra has quit IRC (Ping timeout: 480 seconds)
12:33:39 *** Wormnest has joined #openttd
12:44:42 * andythenorth will be using callback not properties :P
12:44:50 <andythenorth> guess I have to check relative position a lot π
12:49:31 *** virtualrandomnumber has joined #openttd
12:49:50 *** virtualrandomnumber has quit IRC (Remote host closed the connection)
13:09:04 <andythenorth> animation_info is an action 0 prop
13:09:42 <andythenorth> but some multi-tile objects are derived in the compile from industry tiles with different animation action 0 props
13:09:51 <andythenorth> I guess that's a challenge π
13:17:38 *** wallabra has joined #openttd
13:23:31 <frosch> there is a callback for animation_info
13:26:25 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
13:29:51 <TallTyler> Object tiles are π¨βπ³π
13:50:54 *** virtualrandomnumber has joined #openttd
13:51:05 *** virtualrandomnumber has quit IRC (Remote host closed the connection)
14:03:49 *** Wormnest has joined #openttd
14:39:01 <andythenorth> frosch: I went to the shops, but thanks π
14:39:34 *** Smedles has quit IRC (Ping timeout: 480 seconds)
14:39:38 <andythenorth> I figured I can normalise animations somehow π
14:39:45 <andythenorth> everything is some subset of 256 frames π
14:39:48 *** Smedles has joined #openttd
14:50:01 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
14:50:03 *** WormnestAndroid has joined #openttd
14:57:05 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
15:04:29 <andythenorth> I should get 2 screens
15:04:41 <andythenorth> can't write grf and watch TV in same screen
15:09:49 *** Wormnest has joined #openttd
15:33:16 <petern> Uh, why is this code working now?
15:34:27 <petern> Oh right, Uniscribe is commented out. Hmm.
15:40:07 <andythenorth> seems I can just unify tiles where they don't match π
15:40:17 <LordAro> think you've beaten me this weekend
15:40:45 <Wolf01> Guess who probably got covid again?
15:44:50 <petern> That was a pretty sedate 80 miles though.
15:56:07 <andythenorth> covid is a bad habit to persist in at this point
15:56:11 <andythenorth> becoming unfashionable
15:56:59 <andythenorth> hmm now I have to learn how animation works again
15:57:11 <andythenorth> I touch it every 5 years, then back away carefully as soon as it works
15:57:20 <andythenorth> we have so many animation options π
15:58:37 <andythenorth> are `animation_triggers` supported for objects?
15:59:00 <andythenorth> missing link in wiki
16:02:24 <petern> Changed one little header and now there's a big recompile π
16:15:04 *** ckb has quit IRC (Remote host closed the connection)
16:18:23 <andythenorth> objection generation from industry tiles is fun
16:18:28 <andythenorth> it's 90% magically just works
16:18:31 <andythenorth> and 10% fuck about
16:23:45 *** nielsm is now known as Guest876
16:23:57 *** lobstarooo_ has joined #openttd
16:29:14 *** Guest876 has quit IRC (Ping timeout: 480 seconds)
16:29:21 <andythenorth> animation kinda works now π
16:29:29 <andythenorth> special flags and whatnot
16:29:56 <andythenorth> surprised nml doesn't magic the flag based on the callback
16:30:19 *** lobstarooo has quit IRC (Ping timeout: 480 seconds)
16:30:28 *** lobstarooo_ is now known as lobstarooo
16:32:46 <petern> Hmm would it be sensible to standardise how we show expand/collapsed lists?
16:35:13 <petern> Settings and vehicle groups use the same visuals which is nice.
16:35:25 <petern> Cargo waiting in stations uses a text +/- instead.
16:35:38 <petern> Not sure if there are any others
16:38:33 <andythenorth> it would make sense
16:38:36 <andythenorth> you won't enjoy it π
16:39:19 <andythenorth> the cargo waiting in stations is a bit odd
16:39:32 <andythenorth> not really obvious it's a disclosure widget
16:40:12 <andythenorth> the settings one is also used in the livery refit window if there are subtypes
16:41:08 <andythenorth> object groups you say? π
16:41:17 <andythenorth> because 2 levels of nesting is even more faff to navigate?
16:41:31 <petern> Those ARE the groups π
16:41:46 <andythenorth> sorry groups / endlessly nested subgroups π
16:42:03 <andythenorth> vehicle buy menu groups π
16:42:25 <andythenorth> anyway these are ugly
16:42:28 <andythenorth> the station UI is creaking eh
16:42:32 <andythenorth> all that cdist crap π
16:43:52 <andythenorth> hmm wonder if I can make sprites float 128px above station tiles, flat, as an indicator of how much cargo is waiting
16:44:05 <andythenorth> probably industries could do that too
16:44:30 <nielsm> it would probably behave weirdly with sprite sorting
16:45:13 <andythenorth> railroad tycoon 3 had something like it
16:45:38 <andythenorth> can't find a picture
16:45:49 <andythenorth> but this is well played by someone on wikipedia π
16:45:51 <andythenorth> English readers will understand
16:48:15 <andythenorth> SLOUGH is quite blurry
16:48:44 <andythenorth> porting all that to objects is blah blah
16:49:33 <andythenorth> maybe I can just template the FEAT as well
16:49:39 <andythenorth> maybe it will just work
17:35:36 <petern> Well that was easy, assignment by name instead of unicode number.
18:19:40 <petern> But, I'm not doing this π
18:20:09 <petern> Getting the crossing point of the outer radiuseseseses is a pain
18:20:20 <petern> There's probably a simple calculation but I'm dumb.
18:30:34 <andythenorth> I liked the crunchy one π
18:33:38 <petern> > UK to observe minute's silence in memory of Queen at 8pm
18:43:25 <andythenorth> I thought it was tomorrow
18:43:39 * andythenorth has kind of stopped reading news
18:59:01 *** m1cr0man has quit IRC (Quit: G'luck)
18:59:16 *** m1cr0man has joined #openttd
19:09:00 <andythenorth> hmm maybe a newgrf UI redesign? π
19:09:11 <andythenorth> I could do with parameters not being so far from the actual grf name π
19:09:19 <andythenorth> our UI is easy right π
19:09:25 <andythenorth> I mean, I have patched it 3 times
19:09:27 *** esselfe has quit IRC (Ping timeout: 480 seconds)
19:09:37 <petern> I'm busy breaking it all the time.
19:09:59 <andythenorth> wasn't there someone talking about fixing padding? π
19:10:52 <andythenorth> Toggle palette is lolz, and occasionally I hit it because I miss Set parameters
19:10:59 <andythenorth> I just realised what Upgrade does today also π
19:11:56 <andythenorth> triggered the responsive view π
19:13:01 <andythenorth> ha if I could always make this industry build like this π
19:13:49 <petern> Yeah but that mishmash of buttons
19:14:29 <andythenorth> it was an improvement at the time π
19:15:33 <andythenorth> hmm, let's do some BadNorth
19:27:14 *** gelignite has quit IRC (Ping timeout: 480 seconds)
19:28:50 <Brickblock1> it doesn't fit with the rest of the gui in my opinion.
19:35:22 <andythenorth> it's really terrible
19:35:38 <andythenorth> but actually, looking beyond the crap, the button adjustments make sense
19:35:42 <andythenorth> stopped clock, twice a day
19:40:35 <andythenorth> RTL support anticipated
19:41:05 <petern> RTL was already there.
19:41:42 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
19:51:17 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
19:53:54 *** WormnestAndroid has joined #openttd
20:01:34 <petern> It's just 1x sprites innit
20:01:44 *** esselfe has joined #openttd
20:10:18 <Flygon> Someday I'll get a 300dpi monitor just to play OpenTTD with vectors on.
20:10:26 <Flygon> And to also more easily zoom out on the 4K Hokkaido scenario.
20:11:16 *** nielsm has quit IRC (Remote host closed the connection)
20:16:36 *** geli has quit IRC (Quit: Stay safe!)
20:19:43 <petern> Orange text, should have a shadow...
20:20:14 <petern> Not sure why, white icons elsewhere have a shadow
20:21:36 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
20:25:59 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:33:12 *** Wormnest has joined #openttd
20:50:10 *** wallabra_ has joined #openttd
20:53:23 *** wallabra has quit IRC (Ping timeout: 480 seconds)
20:53:23 *** wallabra_ is now known as wallabra
21:11:00 <andythenorth> glx[d]: so how 'done' is nml stations? π
21:11:10 <andythenorth> might be time for FIRS stations π
21:11:43 <glx[d]> for me it's finished and usable
21:12:23 <reldred> firs stations firs stations firs stations
21:12:41 <andythenorth> not sure what they'll do yet
21:12:57 <andythenorth> there's no point moving all of CHIPs into FIRS
21:13:04 <andythenorth> stations are not industries π
21:15:30 <andythenorth> I want to do some magical multi-tile station layouts
21:20:11 <reldred> No I think it would make sense for firs stations to be itβs own monster, doing things outside the scope of what chips was made for
21:20:16 <petern> NMLify reldred's stations!
21:20:25 <reldred> I mean youβre not going to supersede it overnight
21:20:48 <reldred> petern: Please do, I have sprites ready to go im just so lazy
21:21:00 <petern> I only ever did buffer stops, I'm lazier.
21:21:29 <reldred> Iβll get around to it once a nice template drops
21:21:42 <reldred> I do want pax loading sprites though
21:24:20 <dP> reldred: if you have sprites lying around I can make grf out of them with grf-py if you are interested.
21:25:48 * andythenorth making a list of industries where trains should be able to drive into sheds :P
21:25:57 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
21:26:00 <andythenorth> oh there's the fancy doors opening thing?
21:27:43 <reldred> Check if pbs path reserved through
21:30:39 <petern> andythenorth: Did I do it justice? :p
21:38:18 *** wallabra_ has joined #openttd
21:43:04 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:43:55 *** wallabra has quit IRC (Ping timeout: 480 seconds)
21:43:55 *** wallabra_ is now known as wallabra
21:48:38 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
21:51:54 *** Wormnest has joined #openttd
21:52:29 <petern> > Tycoon of the century
21:53:20 *** WormnestAndroid has joined #openttd
21:55:02 <andythenorth> trains going in pokey sheds
21:55:49 <andythenorth> more coke vicar?
21:55:57 <reldred> I like big sheds and I cannot lie
22:13:50 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:20:17 <petern> Oh right, that's why there's no shadow. It's not drawn using the string routines.
23:16:20 *** lobstarooo_ has joined #openttd
23:23:07 *** lobstarooo has quit IRC (Ping timeout: 480 seconds)
23:23:11 *** lobstarooo_ is now known as lobstarooo
23:59:31 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
continue to next day β΅