IRC logs for #openttd on OFTC at 2023-02-08
β΄ go to previous day
00:36:12 *** NGC3982_ has joined #openttd
00:37:58 *** NGC3982 has quit IRC (Ping timeout: 480 seconds)
01:58:10 *** KiriDore has joined #openttd
02:04:40 *** KiriDore1 has quit IRC (Ping timeout: 480 seconds)
02:11:41 *** Wormnest has quit IRC (Quit: Leaving)
03:49:17 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:19:38 *** D-HUND is now known as debdog
04:38:16 *** John has quit IRC (Quit: Going offline, see ya! (www.adiirc.com))
04:38:54 *** JohnFranklin has joined #openttd
04:47:14 <JohnFranklin> First time to use IRC
04:48:24 *** John_Franklin has joined #openttd
04:48:34 *** John_Franklin has left #openttd
04:49:01 <JohnFranklin> Sorry, I still don't get used to it
04:53:39 <debdog> there's not much to it
04:54:23 <debdog> if you have a question, just ask. then wait for someone to reply. (on slow channels this can take even a day or two)
04:54:47 <debdog> or, if you have an answer to a question from someone else, reply
04:57:20 <debdog> there are also channels to socialise, there you can talk about anything. either post something interesting maybe a conversation gets started or if others are talking and you think you have something worth sharing to add, chime in.
04:57:52 <JohnFranklin> How can I search channels?
04:58:22 <debdog> might depend on the IRC client you use
04:58:52 <JohnFranklin> In OFTC it's /list, thanks
05:28:05 *** WormnestAndroid has quit IRC (Remote host closed the connection)
05:38:19 *** lobstarooo has joined #openttd
05:44:43 *** lobstarooo__ has quit IRC (Ping timeout: 480 seconds)
05:44:49 *** lobstarooo is now known as lobstarooo__
06:09:49 *** keoz has quit IRC (Ping timeout: 480 seconds)
07:00:00 *** KiriDore_ has joined #openttd
07:06:02 *** KiriDore1 has joined #openttd
07:06:30 *** KiriDore has quit IRC (Ping timeout: 480 seconds)
07:12:22 *** KiriDore_ has quit IRC (Ping timeout: 480 seconds)
07:22:22 *** sla_ro|master has joined #openttd
08:51:02 <andythenorth> lol could we run a NewGRF and GS in the same WASM VM, and give them a shared memory structure?
09:08:50 <LordAro> andythenorth: you're right, that's terrible
10:03:35 *** JohnFranklin[d] has joined #openttd
10:03:35 <JohnFranklin[d]> Oh! the IRC chat is uploaded here!
10:03:51 *** reldred has joined #openttd
10:16:07 *** Baobao has quit IRC (Remote host closed the connection)
10:33:14 <LordAro> tbf, there are only 4 distinct warnings there
10:33:33 <LordAro> curious that VS didn't warn about either of them
10:33:40 <LordAro> wonder if there's additional warning flags we could enable
12:04:01 <petern> Hmm, I should copy my DOSBox directory over some how
12:11:11 *** WormnestAndroid has joined #openttd
12:13:27 <andythenorth> I can no longer DOSBox π¦
12:13:33 <andythenorth> due Apple ARM chips
12:13:40 <andythenorth> no more Warcraft 1 for me
12:14:20 <andythenorth> oh wait, I am an idiot, there are 3 unused intel laptops here
12:14:45 <andythenorth> DOSBox just crashes hard on M-series chips, some Rosetta incompatibility
12:14:55 <andythenorth> I could just play on the old laptops, or install Windows on one
12:15:00 <andythenorth> might be a thing
12:15:06 <andythenorth> is Windows free yet?
12:17:45 *** JohnFranklin has quit IRC (Quit: Going offline, see ya! (www.adiirc.com))
12:23:44 *** Samu has quit IRC (Read error: Connection reset by peer)
12:24:28 <petern> I accidentally upgraded my 486DX2/66 to a Pentium 233 MMX
12:28:09 <andythenorth> did you press 'turbo' ?
12:28:40 <petern> Oh I don't have a mouse driver. Forgot those were a thing.
12:30:39 <petern> This isn't quite right
12:32:42 <petern> Ah different video card is better.
13:06:34 <andythenorth> is this on your PC-card in your Acorn Risc-PC?
13:11:28 *** m1cr0man has quit IRC (Quit: G'luck)
13:40:35 *** m1cr0man has joined #openttd
14:14:01 *** sla_ro|master has quit IRC ()
14:43:54 *** JohnFranklin has joined #openttd
14:53:11 <JohnFranklin> Now you can see me in openttd-development but I am actually in IRC, the new universe. Different channels for different topics, away from governmental censorship!
14:54:58 *** JohnFranklin has quit IRC (Read error: Connection reset by peer)
14:57:47 <petern> So I hit the copy protection in Civ. Oops.
14:57:59 <petern> I never even knew it had copy protection.
15:03:21 <glx[d]> You don't need to be on orc if you are already on discord
15:15:45 *** Flygon has quit IRC (Ping timeout: 480 seconds)
15:33:09 *** Smedles has joined #openttd
15:54:21 <petern> TTD on a 386, let's see....
15:58:14 <petern> At least the music works.
17:11:46 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10376: Fix: [Script] Ensure building/removing rail lines can't be backwards and allow building/removing rail lines coming from or heading to the void https://github.com/OpenTTD/OpenTTD/pull/10376
17:12:11 *** HerzogDeXtEr has joined #openttd
17:17:21 <petern> Hmm, I think 486 or Pentium MMX is more useful π
17:23:54 <Pruple> I don't think I ever had a 386
17:25:10 <Pruple> but TTD definitely didn't run on a 286, and got bogged down by mid-game on a 486
17:35:25 <Samu> there are some ai related stuff on script_gui.cpp
17:41:28 <andythenorth> Big rabbit mould
17:41:40 <andythenorth> Timberwolf seems to have had my childhood
17:42:36 <andythenorth> oh the milk in the sun also
17:44:56 <glx[d]> all stuff I put in script_gui is used by both
17:45:48 <Timberwolf> Heh. I have learnt there were many copies from people streaming old Argos catalogues. :D
17:46:05 <glx[d]> maybe script parameters window feel AI specific, but it's also used for GS from debug window
17:46:12 <andythenorth> "it's break time, the milk has been in the playground in crates for 3 hours, yum"
17:46:20 <andythenorth> then Thatcher stole it
17:46:23 <Samu> gs parameters have their own
17:46:43 <glx[d]> not when you click on parameters in debug window
17:46:54 <Timberwolf> It was good when it was winter and most of it was a big chunk of ice which just went "thunk" inside the bottle.
17:46:54 <Samu> ah, debug window could link gs parameters to the gs version
17:47:03 <Samu> and ai parameters to the ai version
17:47:07 <Timberwolf> Then they'd tell you off for not drinking it fast enough.
17:47:41 <Timberwolf> Ooh, I had seen that when it was first announced then forgot about it.
17:59:16 <glx[d]> can't be any different, GSConfig is ScriptConfig with added script selection
17:59:30 <petern> 1:36.5 on Silverstone, must try harder.
17:59:55 *** supermop_toil has joined #openttd
18:02:07 <glx[d]> unless we make GSConfig a subclass of ScriptConfig
18:03:25 *** Wormnest has joined #openttd
18:04:28 <glx[d]> but duplicating is easier to do π
18:12:27 *** ChanServ sets mode: +v tokai
18:19:10 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
18:34:36 <Samu> maybe a redux version, without some buttons
18:36:20 <Samu> i still don't understand why the splitting in code
18:39:45 *** Flygon has quit IRC (Remote host closed the connection)
18:48:06 <DorpsGek> - Update: Translations from eints (by translators)
18:52:42 *** sla_ro|master has joined #openttd
19:13:35 *** Tirili has quit IRC (Ping timeout: 480 seconds)
19:17:52 <TrueBrain> ugh .. so DWORD is 32bit with MSVC, but 64bit with mingw?
19:20:37 <nielsm> the type DWORD in the context of windows api is fixed to be 32 bit unsigned integer
19:20:52 <TrueBrain> sadly, mingw disagrees π’
19:21:13 <TrueBrain> I don't know why .. it is just terrible, the whole of mingw π
19:21:35 <TrueBrain> `argument 4 has type 'DWORD' {aka 'long unsigned int'}`
19:22:16 <nielsm> "long int" is 32 bits on windows, regardless of it being 16 bit, 32 bit, or 64 bit target
19:22:43 <nielsm> only "long long int" is 64 bits
19:23:34 <TrueBrain> you are right; which means something else is terribly weird about mingw π
19:23:47 <TrueBrain> I just hate that 4 MSVC targets pass the code fine, and 2 mingw targets yell like their life is in danger
19:24:01 <TrueBrain> `expects argument of type 'int', but argument 4 has type 'DWORD' {aka 'long unsigned int'}`
19:24:08 <TrueBrain> so their definition of "int" is different from MSVC?
19:24:19 <TrueBrain> why did this became such a mess in the world ..
19:24:23 <nielsm> that sounds like a simple signedness issue
19:24:46 <nielsm> but that ought to trigger on any gcc then, unless of course it's in one of the windows-specific files
19:25:56 <TrueBrain> ha, okay, that makes a bit of sense ... and it doesn't ... but it does explain
19:26:00 <TrueBrain> WSAGetLastError returns an int
19:26:04 <TrueBrain> GetLastError returns a DWORD
19:27:17 <TrueBrain> cheers nielsm .. I was losing my mind of this, but mostly as I didn't expected it to be a signed issue π
19:30:24 <TrueBrain> let's try this again ....... 30 minutes later I will have an answer π
19:39:06 *** Tirili has quit IRC (Ping timeout: 480 seconds)
19:41:43 <frosch> "reinterpret_cast<DWORD_PTR>(this)" <- haha, C is so dated crap :p
19:42:03 <frosch> they didn't even use void*
19:42:33 <TrueBrain> I just gave up, honestly
19:48:54 <frosch> "void*" was a new feature in C89, K&R did not have it
19:49:13 <frosch> so probably that api was written by someone who had not yet caught up with c89
19:54:21 <TrueBrain> ugh, CORS ... stupid CORS.
19:55:15 <TrueBrain> okay, so migrating emscripten to https is doable, just .. a bunch more work π It can be done another time, there is no real rush
20:02:18 <TallTyler> NewGRF and AI/GS spec is added to NoDL, now the last step before it's ready for review is the network game list, requiring changes to network packets and game-coordinator. Learning to build that might be a project for another day...
20:04:52 <TrueBrain> `format '%u' expects argument of type 'unsigned int', but argument 4 has type 'DWORD' {aka 'long unsigned int'}`
20:04:55 * TrueBrain shakes head and walks away
20:05:10 <TrueBrain> so ... %lu? I guess ..
20:05:19 <TallTyler> Unless someone who already has a local game-coordinator environment wants to volunteer to test my changes once I PR them π
20:08:30 <TrueBrain> not until the concerns are addressed and it actually has a chance of being merged π
20:08:49 <TrueBrain> it has, by far, the most chance from all the possible solutions I have seen in the .. 20+ years of OpenTTD π
20:09:22 <TrueBrain> still, looking at some comments, it still has a tiny bit to go π So let's not fuzz too much about the GC etc till the rest is solid; I will help you with the GC and co when it is all done π
20:10:25 <glx[d]> printf and mingw, always fun
20:11:13 <glx[d]> And you are not trying to print a 64bit value
20:13:28 *** gelignite has joined #openttd
20:16:49 <frosch> i thought we added the fmt library?
20:16:57 <TrueBrain> `seprintf` statement
20:17:14 <TrueBrain> I just copy/pasted an existing statement in OpenTTD
20:17:21 <glx[d]> {fmt} doesn't work for that ?
20:17:28 <TrueBrain> but as mentioned before, turns out `WSAGetLastError` and `GetLastError` have nothing in common
20:17:57 <TrueBrain> at this point I am just bashing my head against the keyboard hoping it succeeds π
20:18:05 <glx[d]> and it's easier to work with std::string if possible π
20:19:13 <TallTyler> TrueBrain: Thank you β€οΈ
20:20:11 <glx[d]> don't forget many stuff in windows API is from 16bit era
20:20:24 <TrueBrain> I really like to forget, sorry π
20:21:45 <TallTyler> In that case, itβs ready for review! π
20:22:04 <glx[d]> a lot of stuff "disappears" from the doc, but it's probably still in the API headers
20:23:32 <TrueBrain> meh, de emscripten fetch API seems to act kinda weird on Chrome
20:23:42 <TrueBrain> it just doesn't report the first chunk of data it fetched
20:26:18 <TrueBrain> the whole of chrome is, yes π
20:26:31 <TrueBrain> file renders fine here on Chrome
20:26:40 <TrueBrain> if it cannot even render a simple text file .. ALL HOPE IS LOST
20:26:43 <TrueBrain> RUN TO THE LIFEBOATS
20:28:42 <LordAro> (because i'm on the Canary release channel for Reasonsα΅α΄Ή)
20:28:55 <TrueBrain> LordAro is a canary!
20:29:01 <TrueBrain> I am not surprised!
20:31:29 <TrueBrain> okay, how do I disable CORS check on Firefox .. attempts so far failed .. hmm
20:32:34 <glx[d]> seems it tried to be smart with encoding
20:32:43 <glx[d]> while it's basic ASCII
20:35:06 <TrueBrain> people quoting commits
20:36:22 <TrueBrain> mainly as there is no way of knowing if the GitHub user and Discord user carry the same name π
20:42:06 <glx[d]> we didn't even enable organization discussions
20:43:47 <andythenorth> ok so if grf was in WASM
20:43:57 <andythenorth> could we have native docs from grf in a browser? π
20:44:14 <andythenorth> basically WASM bananas
20:46:00 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:50:46 <frosch> oof, if i read that org/team discussion thing correctly, we can no longer separate team discussions. it would be more like "1 thread per language"
20:52:19 <Samu> I'm undoing part of glx work on ai_gui / script_gui split :(, i feel bad
20:53:00 <TrueBrain> frosch: yeah, I read it the same way ... such a shame, as it was rather valuable, the way it was structured now
20:53:29 <frosch> organisation discussion is just a shortcut to put openttd/discussions one level higher
20:53:38 <frosch> it's basically nothing :p
20:54:21 <frosch> one repository per language? :p
20:54:27 <glx[d]> TrueBrain: I think you can replace `seprintf(...` with `return fmt::format(...` here
20:55:55 <glx[d]> working with char[] buffer is only needed for winAPI, but the API returned an error anyway in this case
20:56:30 <TrueBrain> will try; so tired .... π
20:57:21 <frosch> we could use the "team" repository and create a "discussion category" per language
20:57:36 <TrueBrain> seems like a fair middle ground frosch
20:57:36 <andythenorth> do we use many discussions besides main repo?
20:57:59 <frosch> some translation teams use it a lot
20:58:20 <frosch> and we use it to notify translators
20:58:32 <frosch> it's some easy broadcast to a limited group
20:58:58 <TrueBrain> one of the more successful things about translator teams on GitHub π
20:59:14 <glx[d]> yeah team discussion was a nice feature
21:01:12 <frosch> it's all public then, but i guess that's no problem
21:01:49 <TrueBrain> do automate this via the script, I would say .. or you must be bored, ofc
21:02:03 <TrueBrain> do give it a few days
21:02:08 <TrueBrain> see if GitHub changes their mind
21:02:10 <frosch> we have some script to add new languages, which does all the team stuff
21:02:13 <TrueBrain> maybe a lot of people go: NOOOOOOOO
21:02:22 <frosch> should be easy to add discussion stuff as well
21:02:31 <glx[d]> yeah it's a change from today
21:03:10 <glx[d]> I just noticed it because I was checking ee_EE team before approving
21:03:12 <frosch> oh, shit, we can use country flags as icon
21:03:18 <frosch> who loves that flame war? π
21:04:35 <TrueBrain> been there, done that
21:04:38 <TrueBrain> got the bloody t-shirt
21:05:12 <glx[d]> just use belgium flag for FR and NL π
21:05:17 <frosch> i don't think it's possible to follow a specific category, so people have to rely on "@" highlights
21:05:54 <frosch> you can use belgian flag for DE as well π
21:06:23 <andythenorth> can we embed flags in the game for vehicles?
21:06:35 <andythenorth> grf property for which country owned it in which years
21:06:48 <andythenorth> including invasions, colonialism, war repatriations etc
21:06:59 <andythenorth> and foreign buyouts
21:07:54 <TrueBrain> okay, emscripten support for https fetch is just not viable .. only works reasonably well for Firefox
21:07:56 <TrueBrain> it is shit for Chrome
21:08:00 <TrueBrain> so let's still use the fallback method
21:08:05 <pickpacket> I hit the ceiling! I have 512 vehicles and can't create more! And I have stations that are overflowing with waiting cargo!
21:08:22 <glx[d]> why can't you create more ?
21:10:36 <Samu> hmm i have a problem with the GS config window
21:11:13 <glx[d]> yes, that's why AIConfig (now ScriptConfig) is used π
21:11:18 <Samu> i wanted to make it not part of WC_GAME_OPTIONS and made its hown WC_GS_SETTINGS
21:11:36 <Samu> but now windows priorities and whatnot is kind of messy
21:12:25 <Samu> WC_AI_SETTINGS are not part of WC_GAME_OPTIONS or are they? this is quite messed now
21:12:43 <Samu> when opening some windows via toolbar dropdown
21:12:46 <glx[d]> in theory GSConfig is AIConfig with some extra widgets on top, but it's not easy to subclass windows
21:13:21 <Samu> the GS isn't closed, maybe in toolbar_gui.cpp i can fix this? let me check
21:14:03 <glx[d]> search for CloseWindowsByClass or something like that
21:16:13 <frosch> wasm is quite a pile of stuff
21:16:25 <TrueBrain> yet it is so simple π
21:16:35 <frosch> globals are competing with memory, tables are competing with references
21:17:49 <TrueBrain> hmm .. so for WinHttp, I can enable HTTP/2.0, which would be useful
21:17:52 <TrueBrain> but it is Windows 10+
21:18:08 <TrueBrain> the issue .. I cannot really find what would happen if I enable it on older Windows
21:18:15 <TrueBrain> I -think- it just returns an error, which we can ignore
21:18:18 <TrueBrain> I just don't know if that is true
21:18:37 <frosch> why is http2 useful? content is few large files, not many small files
21:18:53 <TrueBrain> it is processed cloud-side a lot easier
21:19:12 <TrueBrain> and I have a similar question ready for HTTP/3.0 π
21:19:24 <Samu> dang it, this sucks, i really have to revert
21:19:27 <TrueBrain> and after that, for TLS π
21:19:35 <andythenorth> frosch: seems like javascript π
21:19:37 <TrueBrain> WinHttp is just a bit weird, that the default never changes
21:20:07 <TrueBrain> so I was looking through other projects
21:20:18 <TrueBrain> some pedantically check Windows versions
21:20:21 <TrueBrain> others just don't care
21:20:45 <TrueBrain> so it seems it would just work?
21:22:19 <frosch> so, just leave the default and it will do the right thing?
21:23:05 <TrueBrain> paints a different picture π
21:26:06 <TrueBrain> I am convinced; no more fiddling in tuning this .. let's get it merged first π
21:28:36 <TrueBrain> TallTyler: : so do I get it right that with your PR, there is no "I don't want this change" setting or something? (no judgement, just too lazy to actually understand the PR)
21:29:02 <Samu> InvalidateWindowData(WC_GAME_OPTIONS, WN_GAME_OPTIONS_GS);
21:29:10 <Samu> is this gonna do what I think it does?
21:29:48 <TrueBrain> Paint your room pink? I doubt it
21:30:22 *** gelignite has quit IRC (Read error: Connection reset by peer)
21:30:44 *** gelignite has joined #openttd
21:38:42 <Samu> alright, it's better now
21:39:27 <TallTyler> TrueBrain: Correct. It is a change to how the economy works, and there's no way to opt-out.. Economy dates are still expressed as days/months/years, but described in real time units (2 seconds/1 minute/12 minute "economy period") to ease player transitions to the new time scale. But even at 100% calendar progress speed the two date systems don't align, since economy months all have 30 days. If the player were to use legacy date un
21:39:27 <TallTyler> periods wouldn't line up with years, and various "x happened last minute" wouldn't line up with months.
21:40:41 <TrueBrain> okay .. so then my mind jumps to: can we solve that gap .. so just spitballing here, and I am more than willing to just try it out myself, but can't we abstract Year/Month etc a bit, and assign an implementation to it, so economy can be based on the current system, or change into the new, on user demand?
21:40:54 <TrueBrain> code-wise I can somewhat see that working, just a bit of C++ magic π
21:42:31 <TallTyler> Maybe? Something like changing `_economy_date` into `GetEconomyDate()` which then performs the calculations based on the chosen date format?
21:43:05 <TrueBrain> well, I guess it mostly comes down to pushing our OnMonthly / OnWeekly stuff a bit further
21:43:30 <TrueBrain> and have a "time" instance, that just calls them when-ever he considers them worthy π
21:43:34 <TrueBrain> most code already does, from what I remember
21:43:36 <TrueBrain> just not everything
21:44:45 <TallTyler> I don't imagine it would be possible to make this a client-side setting? That's bound to be the player request, but company data that's stored per-year would differ if there's 360 vs 365 days per year
21:44:57 <TrueBrain> no, it has to be global
21:45:04 <TrueBrain> otherwise things go a bit weird π
21:45:49 <TallTyler> I'd agree. Another likely place for bugs would be changing the setting in an existing game
21:46:10 <TrueBrain> well, no, I word that wrongly. High-level, from what I understand, your PR makes the game into two clocks, where we now have one
21:46:16 <TrueBrain> this allows for one to tick at a different rate
21:46:27 <TrueBrain> which I think is the nicest solution to day-length we can have
21:46:39 <TrueBrain> the problem currently is, that those two clocks cannot go in sync
21:47:02 <TrueBrain> and although I really like the concept of showing a bunch of stuff in "real time" instead of "game time", I do think many of our players are not ready for that, if we just .. do it like that
21:47:13 <TrueBrain> as, in their vision, it is a huge change for "the few"
21:47:22 <TrueBrain> so my mind is spinning like: can we make that gap smaller
21:47:39 <TallTyler> What if, instead of choosing which clock to follow based on the player setting, we just make both clocks tick at the same rate?
21:48:15 <TallTyler> Which is actually just, "is the economy calendar Gregorian or not?"
21:48:55 <TrueBrain> not sure I follow π
21:49:00 <TrueBrain> they tick at the same rate π
21:49:05 <TrueBrain> just one considers the concept of a year different
21:49:20 <TrueBrain> which makes total sense if you represent time in "real time"
21:49:34 *** tonyfinn has joined #openttd
21:49:44 <TrueBrain> but I wanna bet that a lot of players out there are not ready for that
21:49:46 <TallTyler> They only tick at the same rate if calendar progress speed (the new setting) is 100%. Otherwise the economy clock ticks at the same old rate and the calendar clock ticks at whatever rate you determine
21:49:55 <TallTyler> Which might be 0, no ticking at all, frozen
21:50:03 <TrueBrain> yeah, I am fine with all that
21:50:05 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:50:10 <TrueBrain> my issue is with what is considered a year for the economy
21:50:16 <TrueBrain> that missing 5 days, basically π
21:50:27 <TallTyler> Right, but also minutes/months
21:50:45 <TrueBrain> so I was thinking, what if we have 2 classes: EconomyInSeconds and EconomyInDays
21:50:51 <TrueBrain> that I can assign to `_economy`
21:51:14 <TrueBrain> and it is just a weird brainfart at this stage, but I can imagine that depending on the class, it changes how dates are shown
21:51:22 <TrueBrain> either in `12s` or in `24 days`
21:52:06 <TallTyler> (Other way around, it would be `12s` or `6 days`)
21:52:14 <TrueBrain> I made a guess ... I failed π
21:52:26 <TallTyler> I'm not clear what you mean by using classes for that
21:53:28 <TrueBrain> instead of having in translations `year` or `period`, it would be something like `{YEAR_NAME}`, or what-ever is a good name
21:53:46 <TrueBrain> but maybe I should just work out a bit what I mean, instead of trying to type it in words .. π
21:54:10 <TallTyler> Ah, special string codes would be a good approach
21:54:39 <TrueBrain> but in the bottom-line: that a user can select to either have the economy time how it currently is in 13.0, or in the way your PR makes it
21:54:46 <TrueBrain> (server-wide setting)
21:55:03 <TallTyler> Then the DParam would be the date, and the string code changes it to the right number of days or seconds?
21:55:04 <TrueBrain> based on your work, that seems a small step (although a lot of code :P)
21:55:31 <TrueBrain> and a year is different based on the setting .. in one it is 365 days, in the other it is 360 days
21:55:58 <TallTyler> Right, those are just consts now, but they could absolutely be calculated based on the setting instead
21:56:04 <Samu> can I PR that? it undoes part of your work
21:56:24 <TrueBrain> not sure it is a good idea; but I do know this PR pushes too many people out of their comfort zone
21:56:30 <TrueBrain> it basically redefines the game in its core π
21:57:16 <TallTyler> I'm glad that at least someone has ideas to improve it and fix that issue
21:58:55 <TallTyler> So I guess we have to live with the limitation (unless someone figures out how to remove it at a later date) that the choice of real-time or calendar dates is a server-wide setting that can't be changed in an existing game?
21:59:03 <TallTyler> Which I'm fine with, to be clear π
21:59:29 <TrueBrain> because it changes visualizations, like the yearly-bank-statement, there is not much of a choice, I would say
21:59:33 <TrueBrain> and honestly, I also think it is fine
22:00:01 <TrueBrain> and if you change the ratio between the two tickers, you are forced into this new way
22:00:03 <TrueBrain> which I am also fine with
22:00:15 <TrueBrain> "Want to have daylength? Sure, but we will show you a bunch of things in real time"
22:00:41 <TrueBrain> at least is an improvement over: "Someone might want to play with daylight, so you have to look at a bunch of things in real time now" π
22:00:43 <andythenorth> TrueBrain: sadly my build is not vcpkg right now, it's brew
22:00:55 <TrueBrain> andythenorth: same same, install libcurl first π
22:00:56 <andythenorth> I did try switching, but it broke my system for development
22:01:29 <TrueBrain> TallTyler: : what you PR also reminded me off, what we should have done years ago, is to make autosave depending on realtime no matter what
22:01:34 <TrueBrain> I think we talked about that many times π
22:01:46 <TallTyler> Yes, I've seen that discussion too
22:01:56 <TrueBrain> similar for a lot of network timeout related shit
22:02:02 <TrueBrain> those are all tick-based now, and that makes NO sense π
22:02:21 <TallTyler> I'd also say regardless of fast-forward or pausing, because people like to build while paused and would lose all their work if they crash or forget to save
22:02:41 <TrueBrain> FF with autosave on? GOOD LUCK!
22:03:45 <TrueBrain> to be clear, try downloading a new entry from the online content service, and check if your debug window is not showing any `HTTP request failed` errors π
22:04:12 <TrueBrain> from what I can tell, it should be stable and ready to ship
22:05:06 *** keoz has quit IRC (Ping timeout: 480 seconds)
22:05:12 <petern> when come back bring pie
22:05:38 <andythenorth> how do I test if libcurl is installed?
22:05:40 <TrueBrain> TallTyler: : I will think it over some more and maybe try some approaches .. I have some ideas π
22:05:45 <andythenorth> allegedly it ships on macOS by default
22:05:48 <TrueBrain> andythenorth: compile OpenTTD π
22:05:54 <TallTyler> Okay, keep me posted! π
22:05:56 <TrueBrain> yeah, you need the dev-files
22:06:03 <frosch> it builds without warning, suspicious
22:06:03 <TrueBrain> but cmake will fail if it cannot find it π
22:06:44 <andythenorth> cmake does not fail
22:07:18 <TrueBrain> CMake also showed it could find libcurl?
22:07:39 <TrueBrain> `-- CURL found -- -DWITH_CURL ...`
22:07:55 <andythenorth> I'm removing the build dir and going from clean
22:08:05 <frosch> it succeeds for some, but for opensfx it says "timeout was reached"
22:08:15 <andythenorth> -- CURL found -- -DWITH_CURL --
22:08:40 <TrueBrain> frosch: hmm .. I gave it 10 seconds ... but I think I misjudged the slowness of an average Internet connection there π
22:08:45 <frosch> oh, and now that it failed on one item, it does the rest without http
22:09:04 <frosch> i did not download a single package, but all upgrades
22:09:15 <frosch> so yes, it downloaded the first N, then aborted
22:09:36 <frosch> and downloading RAWR takes longer than 10 seconds π
22:09:41 <TrueBrain> `Pass a long as parameter containing timeout - the maximum time in seconds that you allow the libcurl transfer operation to take.`
22:09:45 <TrueBrain> yeah, this is just me being silly
22:09:57 <TrueBrain> I did test it, but even the biggest download was done before that time π
22:10:47 <frosch> all content is a few GB π
22:11:06 <TrueBrain> okay, 10s to create a connection
22:11:09 <TrueBrain> no limit on the actual download
22:11:34 <frosch> yes, people can abort manually
22:12:00 <TrueBrain> which reminds me .. I don't think aborting actually works in the way it doesn't stop the actual HTTP connection
22:12:04 <TrueBrain> that was already the case btw π
22:12:34 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:12:57 <petern> There's a bug report about that π
22:13:31 <TrueBrain> will fix that after this PR
22:13:34 <TrueBrain> easy enough now π
22:13:47 <frosch> is it supposed to use http? i thought the whole point was https?
22:13:58 <TrueBrain> you didn't read my description π’
22:14:04 <TrueBrain> it uses https on the initial connection
22:14:12 <TrueBrain> but the bananas-service currently returns http://
22:14:15 <TrueBrain> I have to fix that π
22:14:33 <TrueBrain> tnx a lot andythenorth . I am surprised it "just worked" on MacOS
22:14:37 <TrueBrain> libcurl is done very well π
22:14:45 <frosch> ah, ok, the initial /bananas thing uses https
22:15:09 <TrueBrain> so I know the certificate works for you both π Which also makes me very happy π
22:15:14 <frosch> download is actually rather slow
22:15:29 <frosch> only 0.5 MB/s, my connection is not that slow
22:15:36 <andythenorth> standard macOS. It either just works, or it's like pulling teeth
22:15:38 <TrueBrain> your IPv6 acting up?
22:16:04 <andythenorth> 99% of mac use "is it just works" then it punches you in the face for lolz
22:16:05 <frosch> then it would not work at all?
22:16:15 <TrueBrain> well, my IPv6 often is rather slow
22:16:24 <TrueBrain> that is .. my slow is not your slow in this case
22:16:29 <TrueBrain> but over IPv6 I cannot get above 30 MB/s
22:16:33 <TrueBrain> with IPv4 I get 100 MB/s easily
22:16:45 <TrueBrain> but can't think off another reason honestly, as that part is unchanged
22:17:22 <frosch> wget matches my connection speed, and uses ipv6
22:17:36 <TrueBrain> odd ... what can that be ...
22:18:07 <frosch> is there some max transfer buffer stuff?
22:18:17 <TrueBrain> was just looking that up
22:18:49 <frosch> well, i am using a debug build...
22:19:01 <TrueBrain> really shouldn't matter, honestly ...
22:19:31 <TrueBrain> it is speedy for me on WSL, but yeah .. doesn't really help you π
22:20:14 <TrueBrain> on older versions it was 512kB
22:20:21 <TrueBrain> I am sure curl has a good reason for that change
22:21:20 <frosch> that sounds rather small
22:21:25 <TrueBrain> with `-dnet=4` you can see how big of a callback buffer size it is actually using
22:21:39 <frosch> yeah, will do, i only did net=3 before :p
22:21:48 <TrueBrain> `Debug(net, 4, "HTTP callback: {} bytes", size * nmemb);`
22:21:56 <TrueBrain> gives you an idea of the rater and size we get from libcurl
22:22:12 <frosch> lto is still running π
22:22:24 <TrueBrain> otherwise you can try to add `curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 512L * 1024L);`
22:22:30 <TrueBrain> see if that improves the situation
22:22:40 <TrueBrain> but that would be weird, as then it would be slow for me too π
22:24:03 <TrueBrain> is `curl` from the CLI any faster?
22:24:10 <TrueBrain> as that would be doing nearly the same thing π
22:24:16 <frosch> wget is basically curl, isn't it?
22:24:53 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:24:53 <TrueBrain> `curl` on CLI uses `libcurl`, which OpenTTD now uses π
22:25:02 <TrueBrain> that might give more clues what is going on
22:25:16 <frosch> curl on cli is also fine
22:25:30 <TrueBrain> next would be `-dnet=5`, as that enables libcurl's debugging
22:25:45 <frosch> yes, i have that already
22:25:51 <frosch> should i try the buffer thing instead?
22:26:31 <TrueBrain> and share some logs with me if you like π
22:27:51 *** Wormnest has joined #openttd
22:28:18 <TrueBrain> `curl` CLI sets it to 100KiB
22:29:38 <Samu> redundant redeclaration of βvoid ShowGSConfigWindow()β in same scope [-Wredundant-decls], what is this?
22:31:51 *** Tirili has quit IRC (Ping timeout: 480 seconds)
22:32:36 <TrueBrain> frosch: : if that all doesn't help, disable the `NOSIGNAL` setting please and see if that helps anything
22:33:03 <frosch> the buffersize did nothing, it's still 16kb blocks...
22:33:21 <TrueBrain> yeah, documentation mentions it doesn't have to follow your request on the size π
22:33:22 <frosch> it compiled something, so i don't think i forgot "save" or something
22:38:28 <TrueBrain> okay, it is really slow for me too now
22:38:35 <TrueBrain> what did I change that caused that .........
22:38:53 <frosch> "curl_easy_setopt(this->curl, CURLOPT_NOSIGNAL, 0L);" fixes it \o(
22:40:14 <TrueBrain> good; was a pedantic thing from me anyway .. and now looking how the `curl` CLI works, one I regret π
22:41:27 <TrueBrain> still slow for me now .. weird π
22:42:40 <tonyfinn> I tried on my Arch desktop and nixos laptop. Both built and worked fine. The arch desktop is on a 2gbit wired connection and seemed in line with that. The nixos laptop gets 400mbit/s over wifi but was very slow
22:42:45 <TrueBrain> okay, I see what BUFFERSIZE does .. and that doesn't actually help π
22:47:40 <frosch> so, action15 "assign wasm to feature item", right?
22:47:56 <andythenorth> did we use action 15 already? π
22:48:23 <TrueBrain> hmm ... now the content service stays empty .... lol?
22:48:28 * andythenorth was worried we'd run out of actions
22:48:31 <frosch> no idea, did jgr need a new action? would surprise me
22:51:29 <TrueBrain> okay, figured out why my download is so slow
22:51:37 <TrueBrain> it can only handle a single chunk every game-tick
22:51:40 <TrueBrain> so the GUI gets updated π
22:55:20 <TrueBrain> so there is an upper-limit basically .. of about .. 2 MB/s or something?
22:57:06 <TrueBrain> a typical: we really should do this in a thread, situation
22:58:16 <TrueBrain> owh, the VPSes are throttled too, I forgot .. 100 mbit/s they now run at π Now with https I can fix that, but okay .. π
22:58:25 <Samu> I'm starting to having 2nd thoughts
22:59:57 *** Samu has quit IRC (Quit: Leaving)
22:59:59 <andythenorth> why does all the interesting stuff happen after my bed time? π
23:00:05 <andythenorth> is this some timezone thing?
23:00:38 <TrueBrain> hmm, do we have code to check if N time has passed ..
23:00:49 <TrueBrain> nothing with `timeval` at least ..
23:05:07 <TrueBrain> added some logic to make downloads faster; but more likely I make this threaded tomorrow or so
23:05:50 <TrueBrain> as that would also simplify the code π
23:08:41 <TrueBrain> on the other hand .. it is now as fast as the current master is .. and adding threads can add other problems ofc .. meh π
23:46:45 <TrueBrain> Tnx glx[d] , so this all seems to work fine π
23:58:29 *** sla_ro|master has quit IRC ()
continue to next day β΅