IRC logs for #openttd on OFTC at 2024-03-23
โด go to previous day
00:59:58 *** Leopold has quit IRC (Remote host closed the connection)
01:10:54 *** Leopold_ has joined #openttd
01:48:29 *** tokai|noir has joined #openttd
01:48:29 *** ChanServ sets mode: +v tokai|noir
01:55:17 *** tokai has quit IRC (Ping timeout: 480 seconds)
02:05:34 *** Wormnest_ has quit IRC (Quit: Leaving)
03:08:35 *** Leopold_ has quit IRC (Ping timeout: 480 seconds)
03:12:14 *** Leopold_ has joined #openttd
03:27:04 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:41:09 <DorpsGek> - Update: Translations from eints (by translators)
06:04:22 *** keikoz has quit IRC (Read error: Connection reset by peer)
07:20:52 *** _pruple has quit IRC (Quit: User went offline on Discord a while ago)
07:50:33 *** Smedles has joined #openttd
07:52:31 *** Smedles has joined #openttd
08:05:15 <merni> talltyler: maybe you could update the image in your blogpost so it doesn't say "1 minutes ago"? :P
08:18:27 *** HerzogDeXtEr has joined #openttd
08:42:40 <andythenorth> why can't TTD be played in OpenTTD?
08:47:31 <Rubidium> andythenorth: what makes you think you can't?
08:48:08 <andythenorth> rubidium42viaGitHub: the ongoing steam discussion about it?
08:48:46 <andythenorth> can we embed WASM dropbox, then just let people launch original TTD if they have the disk?
08:49:01 <andythenorth> dosbox / dropbox /s
08:52:33 <merni> it's not like downloading dosbox is hard
08:58:06 *** Smedles has joined #openttd
08:59:06 *** Smedles has joined #openttd
09:12:10 <truebrain> "ongoing" in this context means that someone posted a reply after 2 weeks of no replies ๐
09:12:57 <andythenorth> with a link to dosbox WASM version of TTD ๐
09:13:06 <andythenorth> I couldn't figure out how to bind RMB on a mac though
09:13:20 <andythenorth> so we just need to embed chromium or something in OpenTTD
09:13:21 <truebrain> I doubt that whole website is legal
09:13:26 <truebrain> but that is a Steam issue to resolve
09:24:03 <andythenorth> pff GPT has started being strict about copyright
09:24:08 <andythenorth> instead of being vague
10:09:07 <xarick> will enabling this fix OpenGL washed out colours?
10:20:46 <merni> Perhaps you could try it?
10:21:47 <michi_cc> OpenTTD is not 10-bit aware, so no, Just get a proper working screen capture software instead.
10:22:23 <reldred> that's not gonna do a lot unless you've got like an eizo 10bit per channel studio monitor, and even then it needs software capable of outputting 10bit
10:50:33 <talltyler> Dev diary time? I'm online for another hour, then away the rest of the day.
10:53:06 <talltyler> Asleep on the job perhaps
10:53:47 <truebrain> there is always email ๐
10:54:44 <truebrain> seems it only hates you michi_cc ๐
10:57:38 <michi_cc> We are apparently too spammy for reddit though, since RC2/#6 there's been comment crickets. Posts before still had comments ๐
10:57:46 <talltyler> I'll do Forums next
10:57:56 *** nielsm has quit IRC (Ping timeout: 480 seconds)
10:58:27 <michi_cc> The real question here is if someone gets to a RC2 with all the backport requests, or if we just release a broken 14.0 instead.
10:58:55 <talltyler> We are on RC2 already ๐
10:59:13 <merni> Why would 14.0 be broken?
10:59:40 <michi_cc> talltyler: RC2 where... ๐ (don't look on IRC)
10:59:51 <truebrain> I really tend not to look at IRC, yes
11:00:29 <michi_cc> dibridge should auto-translate discord edits to 's/x/y/' messages ๐คฃ
11:00:44 <talltyler> TrueBrain wrote an entire bot to avoid having to look at IRC ๐
11:00:57 <truebrain> michi_cc: I did consider that! But voted not to ๐
11:01:16 <michi_cc> merni: Untested last minute cherry-picks will never ever fail of course. Also it never ever happened in the past /s
11:01:47 <_jgr_> Worst comes to worst you can do a 14.1 if a problem turns up
11:01:56 <truebrain> michi_cc: live a little! ๐
11:02:02 <michi_cc> Yes, but it still leaves a shitty impression.
11:02:23 <talltyler> Forums done, although it seems we forgot to post diaries 3-6 there... ๐
11:02:46 <truebrain> talltyler: IRC has more views than forums, so what can I say ๐
11:02:50 <michi_cc> But then I'm only going to be half-present on april 1st, so not may problem ๐
11:03:35 <truebrain> I see michi_cc pressing the release button, then running away REALLY quickly ๐
11:04:18 <Rubidium> IMHO either release 14.0-RC2 + #12350 as 14.0 (and possibly language updates), otherwise another RC
11:04:34 <michi_cc> I have to entertain guests, so it really would probably be only a hit and run ๐
11:05:58 <truebrain> some nasty bugs got fixed since RC2 ๐
11:06:09 <truebrain> someone broke the SSE blitters, as example ๐
11:06:36 <_jgr_> Only for debug builds, who uses those? ๐
11:09:29 <talltyler> I also think another RC would be smart, but I am entertaining family in town this weekend so I'm gone in 51 minutes. Not really enough time to do anything. ๐
11:30:13 <talltyler> truebrain: Steam post has the wrong title?
12:04:43 <truebrain> Discord webhooks are having issues for sure .. bit random what gets through ๐
12:30:04 <peter1138> Do I have another mastodon post to make ..
12:30:21 <peter1138> Wonder if we could automate that too ๐
12:32:02 <peter1138> Although unofficial account on a random instance.
12:32:51 <peter1138> If the blog was wordpress there'd be a ready to use plugin. And I'd hate it because wp is a pos.
12:40:04 <peter1138> Oof, finished my ride on time, bucketing down now
12:41:19 <andythenorth> happy Spring ๐
12:47:57 *** lucafiorini has joined #openttd
12:47:57 <lucafiorini> I am trying to start a thread from within a method which should evoke a static void function in global scope to implement deferred file parsing, but the compiler is just spewing out C2672 errors and I am honestly at a loss as to what to do, I have read that it can ocur when the function that you are trying to evoke is a method, but this is not the case here...
12:47:57 <lucafiorini> The code goes something like this:
12:47:57 <lucafiorini> (this is within order_gui.cpp)
12:47:57 <lucafiorini> static void importOrdersThread(FiosFileIOInterface * f)
12:47:59 <lucafiorini> FILE *file = f->getFile();
12:48:01 <lucafiorini> char outputBuff[999];
12:48:03 <lucafiorini> fscanf_s(file, "%s", outputBuff, 999);
12:48:03 <lucafiorini> printf(outputBuff);
12:48:07 <lucafiorini> struct OrdersWindow : public GeneralVehicleWindow {
12:48:07 <lucafiorini> void OrderClick_ImportOrderList()
12:48:09 <lucafiorini> FiosFileIOInterface * fileIoInterface = new FiosFileIOInterface;
12:48:11 <lucafiorini> ShowSaveLoadDialog(FT_ORDERLIST, SLO_SAVE,fileIoInterface);
12:48:11 <lucafiorini> StartNewThread(nullptr, "ottd:order-import", &importOrdersThread, fileIoInterface);
12:49:18 <lucafiorini> relevant FiosFileIOInterface code
12:49:18 <lucafiorini> struct FiosFileIOInterface {
12:49:18 <lucafiorini> FiosFileIOInterface();
12:49:19 <lucafiorini> void setFile(FILE *f);
12:49:21 <lucafiorini> std::condition_variable cv;
12:49:25 <lucafiorini> FiosFileIOInterface::FiosFileIOInterface()
12:49:27 <lucafiorini> this->file = nullptr;
12:49:29 <lucafiorini> void FiosFileIOInterface::setFile(FILE *f)
12:49:31 <lucafiorini> if (this->file == nullptr) {
12:49:31 <lucafiorini> //std::lock_guard<std::mutex> lk(mtx);
12:49:33 <lucafiorini> //cv.notify_one();
12:49:37 <lucafiorini> FILE *FiosFileIOInterface::getFile()
12:49:39 <lucafiorini> if (this->file == nullptr) {
12:49:39 <lucafiorini> //std::unique_lock<std::mutex> lk(mtx);
12:49:43 <lucafiorini> return this->file;
12:53:08 <lucafiorini> This may seem really dumb but this is my first time actually touching a complicated C++ project, if someone with more working knowledge on how OTTD works could join me in VC later I would appreciate it
12:54:33 <lucafiorini> Because I need to wait for the user to actually select the order list file
12:55:04 <lucafiorini> I originally thought that the file picker window ran in a different thread to begin with
12:55:36 <lucafiorini> So this is a way of preventing the main thread from stopping
12:56:07 <lucafiorini> I know it is extremely badly implemented but I am just trying to get it to work and then find a better solution later
12:57:00 <_jgr_> I think that using threads here is only making things more difficult for yourself
12:57:48 <lucafiorini> If I don't though I will need to find a way to move the Vehicle reference to the FiOS though
12:57:54 <lucafiorini> And thatalmost seems worse
13:00:51 <_jgr_> For the sake of getting a prototype off the ground, a global variable is much simpler and less like to create unexpected problems
13:02:13 <_jgr_> A possible better solution would be attach whatever state to the file picker window which you could then use when the button is pressed
13:03:27 <lucafiorini> So passing the orderlist it is I guess
13:03:40 <talltyler> peter1138: It was raining steadily on my bike ride. Luckily it was almost certainly shorter than your ride. ๐
13:12:11 <peter1138> Oops, didn't post the last dev blog.
13:17:11 <peter1138> talltyler: LordAro's proably doing another 200km ๐
13:39:26 <andythenorth> I rode my bike this week
13:39:42 <andythenorth> fair weather cyclist ๐
13:40:43 <_jgr_> I was pondering going cycling today, but then I got distracted and it started raining
14:10:02 <peter1138> Hmm, deduplicating code and ending up with more LOC added than removed.
14:20:45 *** Leopold_ has quit IRC (Ping timeout: 480 seconds)
14:21:09 *** Leopold has joined #openttd
14:24:12 <peter1138> Tram stops finally fixed this time? ๐
14:24:56 <andythenorth> button in buy menu for 'show expired'? ๐
14:25:05 <andythenorth> /me grf author problems
14:33:34 * Rubidium throws away website branch ;)
14:34:05 <michi_cc> Rubidium: Feel free to replace my non-content with something better ๐
14:34:34 <Rubidium> oh, it was even less contenty and more copy-pasted from a previous one
14:45:04 *** kale91 has quit IRC (Quit: User went offline on Discord a while ago)
15:04:36 <talltyler> andythenorth: I have a plan for this, just need some time to write a patch
15:05:09 <peter1138> What's the reason for showing expiring engines? You can't buy them...
15:05:46 <peter1138> Or do you mean turning "vehicles never expire" into a soft-option...
15:08:28 <andythenorth> I know there's a console command, but I usually forget it
15:10:27 <talltyler> โVehicles never expireโ is currently a boolean on/off. We could extend it to โNone/All/Only ownedโ where the last option keeps any engine that you already own in the buy menu. Once you sell or autoreplace all copies of it, itโs gone, but as long as any company owns at least one, you can continue to buy new copies of it.
15:11:29 <talltyler> ^^ my plan, look for a PR soon or remind me if I havenโt opened one in a week
15:11:35 <andythenorth> we could just turn this into some horrible combo menu
15:11:40 <andythenorth> instead of a push button toggle
15:12:13 <andythenorth> UI for handling composite states is usually....unwise
15:14:29 <Rubidium> @topic set 1 13.4, 14.0-RC3
15:14:29 *** DorpsGek changes topic to "13.4, 14.0-RC3 | Website: *.openttd.org (source: github, translator: translator, server list: servers, wiki: wiki) | Don't ask to ask, just ask | 'Latest' is not a valid version, 'Most recent' neither | English only"
15:21:44 <michi_cc> Xitter, Discord, Reddit done
15:26:51 <merni> I think there was already discussion here about that message
15:27:17 <andythenorth> it was probably deleted
15:27:27 <andythenorth> bad andythenorth
15:27:41 <andythenorth> has anyone commented on lunch peter1138 ?
15:32:30 <truebrain> Pretty much like that steam topic he just linked ๐
15:32:43 <SigHunter> I really like openttd's news items the last few months, gj
15:33:51 <andythenorth> nobody mentioned it ๐
15:35:09 <michi_cc> Sorry, fasting for you today ๐
15:41:03 <_glx_> hopefully we don't introduce new crashes ๐
15:58:46 <Rubidium> yes, hopefully there'll be four commits before the release: disabling asserts, intro game, translation updates and the changelog update
16:12:45 *** rau117 has quit IRC (Quit: User went offline on Discord a while ago)
16:32:31 <truebrain> remote ScriptTimeMode too? ๐
16:33:20 <_glx_> ah yeah there's that too
16:33:45 <frosch123> sounds more like a 14.1 thing
16:33:49 <truebrain> adding can be done later
16:33:55 <truebrain> but removing is always a bit more tricky ๐
16:34:02 <_glx_> plus ScriptDate <- ScriptEconomyDate; in compat
16:35:17 <_glx_> yeah better remove stuff before it's used
16:35:52 <truebrain> was it actually called TimeMode btw? Or what was the name?
16:36:48 <truebrain> 0 BaNaNaS entries use it, at least
16:37:09 <frosch123> andy said, firs gs uses it, but was happy to remove it again
16:37:21 <truebrain> he never uploaded that to BaNaNaS, it seems ๐
16:37:31 <_glx_> some dev versions use it (but that's expected)
16:37:35 <truebrain> either way, that is why I would suggest to remove it for 14.0, and add the stuff needed in 14.1
16:42:14 <frosch123> ah nice, it's that isolated
16:42:38 <truebrain> also trivially safe to do just before a release ๐
16:48:48 <_glx_> main issue might be it's now using ::TimerGameCalendar in ScriptDate
16:51:35 *** Wormnest_ has joined #openttd
16:52:45 <frosch123> TimerGameEconomy should be the default
16:53:04 <frosch123> scripts are most likely to continue working with that one
16:54:58 <peter1138> Reverting before 14.0?
16:55:44 <frosch123> funny, the date functions do not care about the range of "day in month"
16:55:51 <frosch123> they happily accept day 35
16:56:08 <frosch123> so, we do not have to worry about some script using GetDate(year, month, 31)
16:58:41 <_glx_> for now just the revert, I can amend later ๐
16:59:29 <_glx_> peter1138: no released scripts are using it, we're fine
17:03:24 <peter1138> I was thinking more in terms of no changes between last RC and release (except those needed to do the release)
17:03:49 <peter1138> But, uh, I guess another RC for that is a bit much. RC-fatigue.
17:04:00 <michi_cc> It just means we have volunteers for 14.1 already ๐
17:06:37 *** lapingvino has joined #openttd
17:06:37 <lapingvino> _glx_: scripts might use it after release before 14.1 ๐
17:07:11 <_glx_> that's why we remove it before 14.0
17:07:12 <peter1138> Not when it's removed before 14.0
17:08:27 <lapingvino> yeah I get that xD but it does mean that you have a confirmed difference already between the last RC and the final release
17:09:35 <lapingvino> and yeah if those changes break something you can easily push out a bug fix release xD
17:09:54 <_glx_> API is only stable for stable release ๐
17:10:52 <_glx_> we can add stuff to API14 after release, but it's impossible to remove
17:11:35 <lapingvino> ok yeah this is a game script API thing, fair enough
17:16:44 <peter1138> Presumably Xarick will tell us how it's all broken and ruined ๐
17:16:54 <_glx_> it was already anyway ๐
17:19:30 <_glx_> at least we will have scripts working as before in Calendar, and maybe working in Wallclock
17:26:09 <lapingvino> I love how these completely unhinged but amazing features keep being added. CargoDist to this day remains my favorite change to the game xD.
17:27:04 <lapingvino> sad that the wallclock change has an upper limit that is below one second realtime ๐
17:27:42 <lapingvino> would be fun to run a fork that is fully realtime xD even just for the gimmick of it ๐
17:28:28 <lucafiorini> Hey, it's me again and the pain is mounting...
17:28:28 <lucafiorini> the good news: I have actually got some json to output as intended (nowhere near complete)
17:28:28 <lucafiorini> the bad news: I ca't seem to get a const pointer to get passed (like what the hell I feel so stupid)....
17:28:29 <lucafiorini> void ShowSaveLoadDialog(AbstractFileType abstract_filetype, SaveLoadOperation fop,const OrderList * order_list = nullptr)
17:28:31 <lucafiorini> case 2: ShowSaveLoadDialog(FT_ORDERLIST, SLO_SAVE, this->vehicle->orders); break;
17:28:33 <lucafiorini> Why the hell does the address of order_list change?
17:28:51 <lucafiorini> isn't this->vehicle->orders a const OrderList* ?
17:29:43 <peter1138> I have to say I'm entirely confused as to what SaveLoad has to do with order lists.
17:30:07 <lucafiorini> I am implementing order list esport/import functionality
17:30:30 <lucafiorini> and I am using saveload to get this done (this has been so much harder then expcted I want to explode)
17:30:42 <peter1138> That seems... odd? Orders are specific to the current game.
17:31:37 <lucafiorini> yes, but there are reasons why one may still want to export them, such as loading the game to simulate a rescheduling and then re-importing all at once
17:31:46 <lucafiorini> or being able to just copy different sections from different orders
17:31:58 <lucafiorini> without needing to recalculate all the travel times
17:32:07 <Rubidium> given previous context, you're passing a "view" to some memory, then the game runs for a while and only then you're using that "view". Unless you can guarantee the "view" you have given does not change, you are going to end up with inconsistent data and crashes
17:33:30 <peter1138> I would think you somehow want to make a copy of the orders before passing them into a saveload window.
17:34:32 <lucafiorini> Is just de-referencing them and changing the types enough?
17:34:52 <lucafiorini> Or is there a standard way to copy the orderlist?
17:35:55 *** Leopold has quit IRC (Ping timeout: 480 seconds)
17:37:30 <_jgr_> Given that you're serialising it anyway, you could just do that first and then actually write it once the button is pressed
17:38:18 *** Leopold has joined #openttd
17:44:33 <peter1138> Heh, and it's shorter.
17:48:47 <talltyler> lapingvino: You mean where a year in-game takes a year IRL? At that point youโre better off just freezing game time completely ๐
18:08:48 <peter1138> Hmm, NewGRFClass hiearchy?
18:52:55 <lucafiorini> After taking a break I thought about the whole thing again and I think adding the Jason conversion function as a method of the OrderList class makes the most sense
19:19:19 <Rubidium> too bad we don't know yet what else's wrong with CT_INVALID :(
19:21:05 <_zephyris> Should company inauguration date use calendar year in wallclock mode?
19:25:28 <michi_cc> It's not totally unique if time is stopped, but the 1 looks out of place.
19:26:50 <truebrain> To the bug-tracker!
19:33:03 <peter1138> Nothing produced it before, so accepting it isn't really useful.
19:41:28 <andythenorth> Flat Underground Metro peter1138 ?
19:51:01 <peter1138> What is this, a realism set?
19:51:23 *** alfagamma7 has joined #openttd
19:51:39 <alfagamma7> It's the spiritual successor to UKRS
19:52:57 <andythenorth> peter1138: Think so
19:53:35 <alfagamma7> I found your take on IR Class WT interesting though
19:55:54 <alfagamma7> Interwar era steam locos in colonial India can at least be tracked down
19:55:54 <alfagamma7> Pre 1900 ones are very difficult
19:58:58 <xarick> is it possible to know how often ppl use/download my stuff from bananas?
19:59:06 <xarick> there used to be a counter
20:01:25 <frosch123> ``@note Cost is per year; divide by 365 to get per day.`` <- i am going to remove these kind of API docs
20:02:00 <frosch123> (the year->day part)
20:08:31 <truebrain> "a door is a door", yeah, no shit ๐
20:09:51 <michi_cc> But think of the kids who want to divide by 365.2425 to be correct ๐คฃ
20:12:09 <frosch123> sure, but do you want to explain to them, that it's 360 now? :p
20:16:40 <_glx_> it all depends on timekeeping unit
20:19:45 <_glx_> hey you cancelled my CodeQL run ๐
20:28:14 <xarick> anyone here has got 128 GB of RAM, willing to test 15 NoCABs on a 4k4k map?
20:28:31 <xarick> the most hungry AI for memory
20:28:57 <_glx_> that's why there's a setting to limit it
20:32:21 <peter1138> I "only" have 64 GiB.
20:33:00 <peter1138> Only 2,000,000 times the amount of my first computer.
20:33:41 <xarick> โฌ360 for 128 GB DDR4 ram
20:35:38 <_jgr_> Needing 128GB for a single instance of OpenTTD really seems like a "holding it wrong" problem
20:37:10 <_jgr_> "Hungry for memory" is not a positive property of an AI
20:40:37 <xarick> only recently got 32 GB
20:42:16 <xarick> path of exile 2 got delayed
20:42:36 <xarick> gives me more time to muster more money
20:42:37 <_jgr_> I still am on 16GB, it's more than enough for any OpenTTD stuff
20:42:40 <dwfreed> peter1138: my current 16 GB laptop is only 1 million times the amount of my first computer
20:43:39 <dwfreed> wait, 1,000 times, not 1 million
20:43:49 <dwfreed> Pentium Pro, 200 MHz, 16 MB RAM, 2.5 GB hard drive
20:50:38 *** Smedles has joined #openttd
20:56:32 <frosch123> i don't understand the awards in Awards GS
21:00:32 <frosch123> hmm, maybe looking at AI/GS was a bad idea
21:01:29 <frosch123> some look like minimized js
21:13:17 <andythenorth> for performance reasons?
21:13:26 <_zephyris> xarick: Not sure why you need this... but trying to run it on 256Gb. Except NoCAB bleeding edge edition cashes, `the index AI_ET_ENGINE_AVAILABLE does not exist`, and NoCAB normal seems to do nothing on 20240323-master...
21:14:45 <_glx_> AI_ET_ENGINE_AVAILABLE doesn't exist indeed, its AIEvent.ET_ENGINE_AVAILABLE
21:15:51 <_glx_> and I think it never existed from as far as I remember
21:17:06 <_glx_> oh I'm wrong it was before 1.2.0
21:18:03 <_glx_> and it's handled by compat scripts
21:19:41 <_glx_> maybe someone changed returned value of `GetAPIVersion()` without actually updating the script
21:20:56 <frosch123> broken for 12 years? ๐
21:21:14 <_glx_> (NoCAB is 1.0 for me, so it should work)
21:22:02 <_glx_> `AIEvent.AI_ET_ENGINE_AVAILABLE <- AIEvent.ET_ENGINE_AVAILABLE;` is in compat_1.0.nut
21:23:09 <_glx_> so the only way to trigger `the index AI_ET_ENGINE_AVAILABLE does not exist` is to set API version to 1.2 or more recent without actually update the code
21:52:25 <xarick> the non bleeding edge doesn't crash
21:53:43 <xarick> it takes a while to start
22:03:09 <lapingvino> talltyler: yeah but like just for shits and giggles xD I know it's not realistic at all in any practical way xD
22:05:41 *** Wormnest_ has quit IRC (Ping timeout: 480 seconds)
22:19:31 *** Wormnest_ has joined #openttd
22:21:05 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:02:02 <xarick> peter1138: did you fix mail being freight already? Can't remember
23:02:14 <xarick> sorry if it's already fixed
23:11:41 <peter1138> Did you open an issue?
23:16:21 <peter1138> I remember now. Well, I searched and scrolled back.
23:16:36 <peter1138> Mail is freight for the purposes of the drop down.
23:17:37 <peter1138> It's the same filter for all vehicle types, and mail trucks cannot go to the same places as buses.
continue to next day โต