IRC logs for #openttd on OFTC at 2023-11-10
β΄ go to previous day
00:59:10 *** keikoz has quit IRC (Ping timeout: 480 seconds)
01:57:03 <johnfranklin> Just posted a pull request in 2TT's Danish Trains.
02:26:04 *** Wormnest has quit IRC (Quit: Leaving)
03:00:11 <talltyler> Cleanup PRs tickle my brain just so
03:07:49 *** belajalilija has joined #openttd
03:07:49 <belajalilija> johnfranklin: π
03:07:55 <belajalilija> is it in dev again?
03:35:18 *** debdog has quit IRC (Ping timeout: 480 seconds)
05:00:24 <johnfranklin> belajalilija: It was updated days ago
05:02:43 <belajalilija> johnfranklin: i saw the new livery for s tog 4, but is more going on?
05:04:50 <johnfranklin> I added 6-car and 7-car X2000, still needs 2TT's merging
05:29:22 <johnfranklin> What if I make a very large map for a small country
05:29:33 <johnfranklin> 8192*8192 Denmark
05:30:55 <belajalilija> flattest map ever
05:32:38 <johnfranklin> In fact 1/2 of it is Denmark, 1/4 Sweden and 1/4 Germany
05:32:56 <johnfranklin> So there is somewhere hilly
05:37:42 <johnfranklin> Heightmap generated by bother
06:26:09 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:19:32 *** D-HUND is now known as debdog
07:51:28 <pickpacket> johnfranklin: nice!
08:18:18 *** bungus7 has joined #openttd
08:19:13 *** bungus7 is now known as misterbungus
09:30:20 <pickpacket> Is it possible to make a heightmap for the netherlands? Since the country is below sea level
09:36:04 <emperorjake> pickpacket: It would show up as either water or 1-height land depending on what shade you use and what height you set it as
10:12:36 *** pemensik has joined #openttd
10:37:03 <johnfranklin> Oh, there may not exist "reply" function in IRC
10:39:32 <johnfranklin> Beef burger for dinner
10:40:12 <johnfranklin> Without beef, sandwich; with beef, (ham)burger. Is this right?
10:46:59 <FLHerne> johnfranklin: It makes sense on IRC: "<johnfranklin> pickpacket: yes"
10:47:27 <peter1138> FLHerne, we don't know which question was answered though.
10:48:21 <FLHerne> true I suppose, although it seems obvious
10:53:31 <pickpacket> yeah, seems pretty obvious
10:57:39 *** Smedles has quit IRC (Read error: Connection reset by peer)
10:59:20 *** Smedles has joined #openttd
11:04:18 <rau117> Is it possible now to separate game folders for different versions? Now I tried to use openttd 20231109, openttd.cfg is located next to openttd.exe, but for some reason this version still uses the βmainβ openttd.cfg from c/user/me/documents/openttd
11:04:18 <rau117> On version 20231026, separating versions by location of openttd.cfg works.
11:04:18 <rau117> Has something changed, or is this just bug?
11:09:50 <peter1138> It should if you use -c
11:22:34 <rau117> peter1138: Ok... it worked on the 4th try, thanks.
11:22:49 <rau117> But now the original_windows baseset is not defined. On the previous version (which I have) 20231026 baseset just worked, now it just disappeared, although all the files remained in place.
11:26:04 <peter1138> Well if that baseset is installed in a non-shared location, then that should be expected.
11:29:46 <rau117> After changing the config path, the game still uses all folders by default, c/users/.../openttd/saves and the rest remained common between versions. Baseset is still in /openttd/baseset and even duplicated in /openttd/content_download/basest.
11:30:30 <johnfranklin> what does -c command do
11:30:49 <rau117> changes the location of the openttd.cfg used
11:31:10 <johnfranklin> only read local file without files in /documents/openttd?
11:33:30 <peter1138> -d misc=3 will show you which paths are used.
11:40:04 <rau117> The console shows that the game found all these files in c/users/me/docs/opentd/baseset, but it gives this error:
11:40:04 <rau117> `dbg: [grf] Base graphicsset detail loading: description field missing.`
11:40:04 <rau117> `dbg: [grf] Is C:\Users\myusername\Documents\OpenTTD\baseset\orig_dos.obg readable for the user running OpenTTD?`
11:40:04 <rau117> -d misc=3 in 20231026 does not produce such warnings and... it just works, the folders is exactly the same β c/users/me/ . . . /openttd
12:32:55 <rau117> I saw this change, but the game does not even want to recognize original_windows, so, there is no message about missing files.
12:32:55 <rau117> Moreover, in previous versions I just did not have an error about missing files, everything just worked.
12:41:16 <peter1138> Probably better to compare the output of "-d misc=3" than to show pictures that don't even have the same information.
12:41:48 <peter1138> (And use a pastebin :))
12:56:42 <peter1138> Are any of them using -c?
12:57:28 <peter1138> (As that affects search paths, using it/not using it for different versions would skew the output)
13:01:25 <rau117> 20231026 has openttd.cfg inside its folder
13:01:25 <rau117> But it is worth noting that all 3 versions see everything that I have in docs/openttd/ β saves, newgrfs, basesets, content_download . . .
13:01:25 <rau117> Okey, I'll redo it without -c
13:18:11 *** Smedles has quit IRC (Read error: Connection reset by peer)
13:21:50 *** Smedles has joined #openttd
13:28:25 <johnfranklin> peter1138: Timberwolf is handsome
13:37:21 <peter1138> Timberwolf, so, free directions instead of just cardinal?
13:39:48 <talltyler> So, with #11435 timetables show time in seconds from now. I want the window to update every second, to show an accurate countdown, and have been struggling to do this for weeks. I've verified that the window is re-initialized every second, but the arrival and departure times are only updated every two seconds. They do show odd numbers, they just don't update. And when a start date is set, that
13:39:48 <talltyler> countdown "Timetable will start in NN seconds" doesn't update at all. I'm really stuck on this; anyone willing to take a look and see what I'm missing?
13:41:12 <Timberwolf> peter1138: Heh, there's a sequel with 8 directions.
13:43:44 <peter1138> talltyler, `this->ReInit()` every second seems excessive, you might want `this->SetDirty()`
13:47:09 <talltyler> peter1138: I need to call DrawWidget() -> DrawArrivalDeparturePanel() -> BuildArrivalDepartureList() ... does SetDirty() call DrawWidget()?
13:47:14 <talltyler> (the overrides are hard to trace sometimes)
13:48:06 <peter1138> ReInit() is for reinitializing the window layout. It's unlikely you want that every second.
13:48:16 <peter1138> SetDirty() is for redrawing the window. It sounds like want you want.
13:48:54 <peter1138> It doesn't directly call DrawWidget, it tells the window system that the window needs to be drawn the next time it does that stuff.
13:51:28 <talltyler> Right, that does sound better
13:51:59 <talltyler> How often does the game redraw dirty stuff? Every tick? Or every day?
13:53:39 <Timberwolf> Every tick iirc. At least for the sprite system.
13:53:52 <Timberwolf> It only draws the dirty areas when it updates the screen.
13:54:11 <talltyler> Okay, that's what I thought...just trying to rule out every possible cause
13:54:22 <Timberwolf> I could be wrong, it's been a while and I never looked that closely at the window system.
13:54:36 <johnfranklin> Timberwolf, long time no see!
13:54:45 <Timberwolf> The debug view where you can show dirty blocks is quite useful.
13:55:01 <talltyler> This is the only thing holding back NotDaylength and I've been beating my head against it for weeks π«
13:55:05 <talltyler> Oh, I'll have to try that
13:55:19 <Timberwolf> Hah, I'm always around on IRC, I just rarely get the chance to respond to anything :)
13:56:00 <talltyler> Okay, off to a meeting, will be back later to keep debugging π
14:02:38 <johnfranklin> I just watched "Chris Sawyer's Story" video
14:04:00 <johnfranklin> Back in 1994, even Transport Tycoon needed "rich" computers to play...
14:06:21 <Timberwolf> The lowest thing I ever managed to run it on was a 386/20, at least one of the pre-release demos.
14:06:41 <Timberwolf> You actually need to turn off the fences and extra details for that one!
14:28:59 *** virtualrandomnumber has joined #openttd
14:33:33 *** virtualrandomnumber has quit IRC ()
14:45:51 *** Smedles has quit IRC (Read error: Connection reset by peer)
14:47:27 *** Smedles has joined #openttd
14:59:28 *** nielsm has quit IRC (Ping timeout: 480 seconds)
15:10:12 *** Smedles has quit IRC (Remote host closed the connection)
15:10:56 <misterbungus> its insane how good sawyers software renderer was for the day for ttd and rct
15:12:23 *** Smedles has joined #openttd
15:18:18 <dwfreed> that's partly because he handwrote it in assembly
15:23:50 <misterbungus> Yeah, and it didn't care about what graphics card you were using. Graphics cards and APIs in the 90s were all over the place and there was no such thing as a standard
15:24:05 <misterbungus> but chris didn't care
16:02:30 <talltyler> (just changed ReInit() to SetDirty(), still haven't fixed it)
16:05:17 *** Wormnest has joined #openttd
16:09:00 <peter1138> talltyler, okay. But SetDirty is right for there, so it's something else :)
16:12:46 <ahyangyi> misterbungus: Wasn't VGA and in particular its mode 13h somewhat standard?
16:13:03 <peter1138> OpenTTD doesn't use VGA or mode 13h.
16:13:08 <talltyler> Yep. It definitely is redrawing the window every second, but the data is wrong somehow...
16:13:24 <peter1138> It uses VESA mode 101h
16:13:29 <peter1138> Sorry, I meant TTD too :)
16:13:31 <talltyler> Which is odd because all the timetable things use Ticks and date_fract, which should have the precision needed
16:13:54 <peter1138> 13h is 320x200 @ 256 colours.
16:14:47 <peter1138> But as long you had a VESA BIOS, 640x480 @ 256 was bare minimum for SVGA.
16:19:04 <peter1138> /* Days are two seconds long, so we store one-second precision as a negative number in the vehicle's lateness_counter. */
16:19:07 <peter1138> That's a bit weird?
16:21:31 <talltyler> Yes, definitely weird π
16:21:38 <talltyler> I'm not sure how else to do it, though
16:22:35 <_jgr_> You can change/add fields as necessary, so long as it's correctly upgraded when loading old savegames
16:23:36 <_jgr_> If you're upgrading timetabling anyway there isn't a strong reason why some fields must be left as Date/in days
16:25:40 <talltyler> I suppose adding `start_date_offset` in Ticks would be better than reusing `lateness_counter`
16:26:17 <peter1138> First of all... what is it? :D
16:26:39 <_jgr_> Having timetable start dates tied to dates doesn't really make sense in the new model anyway, so why not revamp it into `start_ticks` instead?
16:27:53 <talltyler> I explored that in the past, but forget why I decided against it. I'll have another go.
16:29:28 <peter1138> Yeah, you need timetable_start to be in ticks.
16:29:41 <peter1138> If it's a calendar date it'll never start if time is paused.
16:30:21 <peter1138> I assume you also deal with that detail later but don't here because economy = calendar right now.
16:30:37 <_jgr_> I've got a ticks offset field for the timetable start date in my branch, and in retrospect these sorts of fields are annoying
16:30:59 <peter1138> Have it in ticks, and convert on display.
16:39:33 <talltyler> peter1138: Yes, everything timetable gets converted to Economy Time in another PR
16:49:41 <peter1138> Hmm, so make it work on ticks, and then convert to date on display. Then add option to display as seconds (which is purely a display format change), and when you come to do Economy Time/Calendar Time, it's already in Economy Time.
16:54:55 <talltyler> Yeah, that sounds like a good plan
16:55:13 <talltyler> Maybe I'll eliminate my bug just by going a different route entirely π
16:55:45 <talltyler> The change to ticks will be a separate PR from displaying in seconds, of course
16:56:02 <talltyler> NotDaylength is getting fractal with all the changes needed π
17:03:26 *** Smedles has quit IRC (Read error: Connection reset by peer)
17:04:37 <peter1138> I often go throgh a few rewrites.
17:05:48 *** Smedles has joined #openttd
17:06:28 <peter1138> I've a load of window layout changes in the works, but keep splitting them up and finding other bits to tweak.
17:14:35 <peter1138> I don't mind, makes it better in the end.
17:14:37 <talltyler> But if I break it down small enough, it makes each following step much easier. π
17:15:12 <peter1138> Back when I did newstations I learned a lot about how TTDPatch sprite resolving worked... and how OpenTTD bodged it.
17:20:22 <_jgr_> Breaking it down too much can increase the amount/complexity of savegame conversion code you need though
17:21:33 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
17:26:09 <talltyler> True, although luckily for this project savegame conversion is somewhat minimal besides the big calendar/economy split π
17:26:55 <talltyler> Mostly because Real-Time Mode (and by extension, any other calendar tick speed) only works for new games
17:28:28 <peter1138> Yeah... I that needs to be discussed... :p
17:28:34 <peter1138> Assignment in conditional expression is always constant; did you mean to use == instead of = ?CS0665
17:28:44 <peter1138> I should probably not write such awful code.
17:30:50 <peter1138> "Oh just use an out-parameter" he thinks... then remembering that async methods can't have out parameters...
17:33:11 <talltyler> What needs to be discussed? Real-Time Mode and new games?
17:36:31 <peter1138> Maybe. What is Real-Time Mode again? Presumably not 1 second = 1 second...
17:38:08 <goddess_ishtar> Two seconds per economy day
17:38:33 <goddess_ishtar> which makes economy years 12 real-time minutes
17:42:04 *** Smedles has quit IRC (Read error: Connection reset by peer)
17:44:19 *** Smedles has joined #openttd
17:56:16 <talltyler> Hmm, we should record that in the PR for when people are wondering about that in the future
18:08:48 <peter1138> That doesn't explain what it is, only that things would break if it was changable.
18:09:20 <peter1138> But it's probably in the relevant PR so I should stop being lazy and read it.
18:09:29 <jfs> As a side note, in that summary I compare it to switching landscape type mid game. I hear that once there was a cheat to do that, and it was removed because it was prone to breakage.
18:10:03 <peter1138> Yes, but that's because literally would be drawing toy-land sprites in temperate, or some such.
18:10:44 <peter1138> Irreversable corruption, a bit like changing incompatible newgrfs midgame.
18:11:02 <talltyler> I did write about in the PR, but tell me if I skimmed over anything
18:13:23 <peter1138> Hmm, is it time to smash up my VLANs again...
18:38:39 <DorpsGek> - Update: Translations from eints (by translators)
18:49:38 <peter1138> Dear xisumavoid, please pronounce melee properly :/
18:49:46 *** Smedles has quit IRC (Read error: Connection reset by peer)
18:52:08 *** Smedles has joined #openttd
18:58:37 *** xarick has quit IRC (Quit: User went offline on Discord a while ago)
19:09:32 *** bigyihsuan has joined #openttd
19:09:33 <bigyihsuan> peter1138: pronouncing it as "mee lee" /mi:.li:/?
19:10:26 <goddess_ishtar> peter1138: this feels both intriguing and cursed
19:11:05 <goddess_ishtar> code should not be in handwritten font
19:32:40 *** ST2 has quit IRC (Ping timeout: 480 seconds)
20:00:59 <goddess_ishtar> bigyihsuan: thank you for reminding me I need to learn IPA
20:11:39 *** Smedles has quit IRC (Ping timeout: 480 seconds)
20:13:57 *** Smedles has joined #openttd
20:18:16 <ahyangyi> Oh, I thought "mechanicalness" and "handwritingness" were variable font axes
20:18:26 <ahyangyi> turns out they are just seperate fonts in the same superfamily
20:19:07 <ahyangyi> ( along with imaginary "slabbiness" and "humanisty", I guess )
20:20:01 <ahyangyi> Could anyone really mix neo-grotesque and humanist sans and get enough contrast? I doubt it
20:20:10 <goddess_ishtar> font alignment chart
20:20:10 <goddess_ishtar> "Mechanical Slabby"
20:21:48 <goddess_ishtar> all the fonts on that page just feel vaguely off to me in a way I can't really place my finger on
20:22:30 <goddess_ishtar> the "mechanical sans" has weird bends in it that remind me of OCR-A
20:24:21 <goddess_ishtar> just give me Courier New any day
20:24:52 <ahyangyi> I once lost sanity and modified my coding font to this π
20:27:16 <goddess_ishtar> this feels like Black Speech but in text form
20:28:51 <misterbungus> i like roboto mono for a monospaced font
20:29:07 <misterbungus> i use lato for everything else
20:29:40 <ahyangyi> Now I have *partially* regained sanity, but my weird ligatures are still in use
20:30:35 <misterbungus> is that intentional or a font error?
20:30:52 <ahyangyi> intentional, makes cryptic Makefiles even more cryptic
20:39:07 *** virtualrandomnumber has joined #openttd
20:39:28 *** virtualrandomnumber has quit IRC ()
21:00:21 *** Extrems has quit IRC (Remote host closed the connection)
21:01:43 <_zephyris> To be fair, that triple ampersand is wonderful typography design
21:05:14 *** Extrems has joined #openttd
21:18:03 <peter1138> _zephyris, kerning issue between lowercase a & t in OpenGFX2.
21:20:51 <peter1138> Bit awkward as you can't kern...
21:22:21 <jfs> Make the a have less tail so it doesn't need as much width
21:22:54 <_glx_> the a feels weird compared to other letters
21:23:35 <peter1138> That's the only letter with a tail, so yes, maybe just remove it.
21:39:50 <_zephyris> Ah, tracking, spacing and kerning a pixel font π
21:50:18 *** HerzogDeXtEr has joined #openttd
21:54:34 *** _aD has quit IRC (Ping timeout: 480 seconds)
21:56:02 <_zephyris> Yeah, confirmed, the a is a stylistic outlier. Removing the left arm on the t crossbar would help too, but not the main cause.
22:03:26 <_zephyris> And I fixed the missing two pixels from the colon...
22:12:59 <peter1138> While you're at it...
22:13:18 <peter1138> Can I mention the shrink/expand icon? :D
22:17:08 <_zephyris> Which one? The bottom right resize handle?
22:17:43 <peter1138> No, the top-right one. Shown on (at least) company finances and the Face Selection windows.
22:20:48 <peter1138[d]> Hmm, now sure I should try to original-ify this window :p
22:27:19 <_zephyris> peter1138: Ah, #682 at 2x
22:35:44 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:59:28 *** _aD has quit IRC (Ping timeout: 480 seconds)
23:30:19 *** pemensik has quit IRC (Ping timeout: 480 seconds)
continue to next day β΅