IRC logs for #openttd on OFTC at 2024-03-04
β΄ go to previous day
00:00:08 <_glx_> I think it would be simpler to reverse pathfinding so the destination is the vehicle, that way you can have multiple origins
00:03:08 <xarick> oops, it seems it made a copy
00:04:07 <LordAro> m_destTiles will be a copy of dest_tiles, yes
00:04:17 <_glx_> if m_destTiles is not a reference it will copy
00:04:24 <LordAro> well, technically you can but it's not a good idea to do so
00:04:49 <_glx_> but indeed it's expected to do a copy
00:05:21 <LordAro> i'm not going to tell you, because it will just lead you down a path that you shouldn't be going down
00:05:26 <LordAro> if you really want to, look it up
00:05:57 <xarick> imagine I have 500 ship depots
00:06:52 <xarick> copying 500 items from a vector to another is slower than... pointing to dest_tiles
00:07:13 <peter1138> If you want to pass ownership of dest_tile to m_destTiles, and don't need it again, pass it as an lvalue reference (not sure that's the right term), and use std::move.
00:07:46 <peter1138> `std::vector<TileIndex> &&dest_tiles` and `m_destTiles = std::move(dest_tiles);`
00:08:04 <peter1138> This only works if you don't need dest_tiles again after your SetShipDepotDestinations call.
00:16:07 <xarick> i'm in the rabbit hole π
00:17:47 <peter1138> I wish you could fmt::format an enum and have it output the name of it...
00:18:58 <xarick> couldn't do it.. bed time, will try again tomorrow
01:28:56 *** ChanServ sets mode: +v tokai
01:35:51 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
01:48:37 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
03:04:11 *** Wormnest has quit IRC (Quit: Leaving)
03:17:50 *** reldred has joined #openttd
03:48:30 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:50:34 *** D-HUND is now known as debdog
03:53:46 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
06:30:21 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:49:13 <belajalilija> tony_pixel: What are you gonna do?
07:00:09 <LordAro> _glx_: Rb added a macro for that recently, i think?
07:55:58 <DorpsGek> - Add: summary for week 09 of 2024 (by OpenTTD Survey)
08:02:52 <LordAro> something seems to have failed
08:20:17 <peter1138> If you know what's good for.
08:20:36 <peter1138> I edited to add the "you" π
08:20:48 <peter1138> I should go back to sleep.
08:23:49 <kuhnovic> truebrain: I didn't know this existed, damn that's awesome!
08:24:28 <kuhnovic> This is essentially how enums should work π
08:50:05 <peter1138> Can I combine window behaviours with something like CRTP...
08:51:12 *** Leopold___ has quit IRC (Remote host closed the connection)
08:54:17 *** Leopold_ has joined #openttd
09:11:42 <truebrain> kuhnovic: Reflection ftw!
09:21:47 <kuhnovic> ... for enums, I'm ok with reflection π
09:22:31 <peter1138> I have some C# code that dynamically creates a class. Some kind of reverse reflection, except reflections are 'reversed' anyway... Hmm.
09:31:13 <kuhnovic> I had to do something like that in python for work. It worked well, python is incredibly powerful that way. But man that code was hard to understand.
09:35:33 <xarick> Lvalue Rvalue... I didn't know programming was into politics
09:36:10 <LordAro> those are definitely the only two meanings of those words
09:36:43 <LordAro> shun lvalues, too woke
09:37:24 <reldred> no because cvalues don't stand for anything
09:38:00 <kuhnovic> And again Rvalue wants to keep it all for itself, while Lvalue wants to share. Man, it is political indeed π
09:40:50 <reldred> I mean the lvalues say that but even they're liable to cronyism if you turn your back for five minutes
09:43:19 <reldred> anyhow this has all gotten very silly
09:43:24 <locosage> are there iValues for mac?
09:43:47 <LordAro> no, but there are IValues from Cisco
09:44:19 *** Leopold_ has quit IRC (Read error: Connection reset by peer)
09:45:18 <locosage> kuhnovic: in python you can just write class in a function
09:46:22 <kuhnovic> Yeah I used type here. It had to be dynamically generated, it was wrapping a C++ backend tucked behind a C api. It all got a bit messy π
09:47:04 <locosage> iirc the only time I had to make class dynamically is when I wanted to make my own namedtuple
09:47:24 <locosage> otherwise metaclasses usually cover the most of weird cases
09:48:48 <kuhnovic> This class had dynamic properties that had to be added based on whatever the backend told it to add. It got pretty convoluted in some cases, but it worked like a charm once we got the bugs out.
09:48:53 *** Leopold has joined #openttd
09:50:23 <peter1138> me shopping at the weekend: urgh, i'm so fat, won't buy any snacks.
09:50:32 <peter1138> me first thing monday morning: argh, no snacks π¦
09:50:53 <truebrain> only at Monday? I already had that issue Sunday evening π
10:02:07 <truebrain> I am mad at my survey script ... why do things work locally, and not on a CI
10:03:55 <kuhnovic> The harsh reality of working in software? π
10:04:09 <orudge> Oh nice, I still have the original ICQ log with ludde from, hmm, 2003.
10:04:12 * orudge is composing a blog post
10:07:22 <truebrain> orudge: and how is the conversation about signing Windows binaries progressing?
10:07:37 <orudge> truebrain: I replied to the guy from MS, not heard back yet though
10:08:12 <truebrain> very curious how this turns out π If it works out, it is a more robust solution, so I kinda hope it works out fine π
10:10:05 <peter1138> How much does it normally cost...
10:10:43 <peter1138> Or is it one those "get a quote to find out" things.
10:11:46 <truebrain> mostly I hope that this Azure-based solution means it will just be a yearly fee, and that is it. No annoying changing of keys, finding a new supplier every 3 years, etc etc
10:12:13 <orudge> Yes, hopefully. It's still a preview project as far as I can see, so I don't know that costs are defined yet.
10:12:22 <truebrain> the cost is more than it should anyway, and something you can't avoid. But a few hunderd dollars every 2 to 3 years is the normal price for these things
10:12:39 <truebrain> well, maybe Microsoft will sponsor Open Source projects; we can hope for that π
10:16:00 <truebrain> Survey is fixed btw; so now you can see wk09 report π
10:18:54 <truebrain> 3 or 4 more weeks, before I can run a quarterly report; that should be interesting too π
10:33:04 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
10:36:21 *** johnfranklin has joined #openttd
10:36:21 <johnfranklin> I think there is an impolite question, but the person related to that is crucial in openttd history.
10:39:14 <tony_pixel> belajalilija: Nothing, I went to bed
10:39:52 <truebrain> johnfranklin: are you replying to something, or am I actually missing some context here?
10:40:38 <belajalilija> tony_pixel: I need to stop making references to 20 year old videogames dont i
10:41:41 <johnfranklin> I heard they have some bad disease, and about the existence of them... (sorry)
10:42:53 <LordAro> say what you have to say, or don't say it at all
10:43:53 <johnfranklin> Sorry, I would have better said nothing.
10:47:39 <peter1138> Lacking so much context.
10:48:06 <truebrain> I am just going with what LordAro says, and ignore the conversation π
10:48:54 <peter1138> I don't think there was one π
10:51:05 <johnfranklin> In fact the context is orudge's message. But I should have said nothing, sorry.
10:52:40 <truebrain> I am hungry; guess I should get lunch now.
10:52:52 <LordAro> aw man, now i'm hungry too
10:53:24 <reldred> I had wontons in soup. And shalot pancake that was chopped into biscuits.
10:53:32 <truebrain> no; just lunch time. Well, in 10 minutes, lunch time.
10:54:14 <peter1138> I'm going to have a cup of tea. Earl grey. Hot.
10:54:36 <LordAro> i was so disappointed when i found out that Earl grey was crap
10:54:39 <reldred> truebrain: I mean it's not like I deliberately poured it over myself
10:54:53 <reldred> I may be a filfthy deviant, but not that sort.
10:56:31 <peter1138> LordAro: Leave now.
10:57:17 <rutoks> I have addressed all the comments. Could you please take another look?
10:57:17 <rutoks> I understand that everyone here is working voluntarily, so no pressure, I just want to understand the approximate timeline for review or maybe you are expecting me to do something.
11:03:44 <LordAro> peter1138: yorkshire tea or get out
11:03:51 <LordAro> strong as you can make it
11:03:56 <peter1138> Don't they do the stupid flavour ones too?
11:04:09 <peter1138> Rich Tea biscuit flavour tea or something.
11:04:32 <LordAro> but very much not to be drunk as standard
11:05:13 <johnfranklin> coffee is better
11:08:35 <peter1138> I had coffee already, but couldn't be bothered to put another pot on, so teabags it is.
11:13:12 <LordAro> rutoks: how's that? :)
11:20:52 <peter1138> Similar to what, LordAro?
11:21:08 <peter1138> Reviewing the reviewer π
11:21:27 <LordAro> i had hoped that the ordering of the comments would make it obvious
11:23:01 <LordAro> yeah it was in the hidden section
11:24:11 <peter1138> Github makes the order of things a bit weird.
11:26:40 <xarick> `std::vector<TileIndex> &&depot_tiles{};`
11:26:40 <xarick> this looks hella weird
11:32:38 <rutoks> Something to do while I am on a train. Thanks.
11:33:46 <rutoks> LordAro: Something to do while I am on a train. Thanks.
11:50:31 <truebrain> We should fix the wiki honestly π
12:01:13 <merni> It doesn't show on "view deployment"?
12:01:36 <orudge> Yes, you can manually preview it locally I guess
12:06:07 <_zephyris> Nice post, and some silly image ideas
12:06:48 <orudge> I fired up OpenTTD 0.1 (aka "Transport Tycoon Deluxe - by ludde") to get a screenshot
12:06:58 <orudge> but it's just really... TTD :D
12:07:02 <peter1138> Yeah, a shout out to TTDPatch would be nice, if there isn't one.
12:07:13 <_zephyris> There's a shoutout to TTDPatch, but no link
12:07:21 <orudge> TTDPatch is mentioned briefly, but I can perhaps add some more
12:07:34 <_zephyris> Maybe just one line extra
12:07:48 <_zephyris> Nice to show how it got the modding community fired up
12:08:37 <xarick> `std::unique_ptr<std::vector<TileIndex>> depot_tiles = std::make_unique<std::vector<TileIndex>>();`^
12:08:37 <xarick> What am I even writing?
12:08:52 <LordAro> probably nothing good
12:09:03 <peter1138> In general, aAvoid pointers
12:09:04 <LordAro> it's very rare that you should be taking pointers to containers
12:09:13 <peter1138> In general, avoid pointers, even if they are smart pointers.
12:11:02 <kuhnovic> And this would be a good use case for auto so you don't have to repeat the type `auto depot_tiles = std::make_unique<std::vector<TileIndex>>();` .
12:11:52 <kuhnovic> But I agree with what the others say. You probably don't need this.
12:12:54 <truebrain> _zephyris: maybe a shot with one part TTD the other part OpenTTD, diagonally, showing how far we came in 20 years? Dunno if that is feasable π
12:13:27 <truebrain> but yeah, needs a Steam image if you want this published on Steam orudge π
12:14:19 <mnhebi> huh has it really been 20 years already
12:15:27 <mnhebi> I remember talking with ludde back in the day...I feel old.
12:15:34 <truebrain> it is because you are π
12:16:21 <orudge> Somewhat randomly, I bumped into somebody at FOSDEM this year who I've known online for almost 25 years (I was an annoying 13-year-old on a mailing list at the time). That made me feel a bit ancient.
12:17:07 <mnhebi> You, an annoying 13 year old? Impossible. You were the nicest lad back in the day ;)
12:17:31 <peter1138> I've always been old.
12:17:41 <orudge> I now have my own, well, 14-year-old now.
12:18:23 <truebrain> orudge: time is a funny thing π
12:18:42 <mnhebi> Time...flows and heals all wounds...
12:22:14 <_zephyris> It hurts my head that TTO->OTTD is 10 years, OTTD->now is 20 years...
12:22:59 <peter1138> Yeah, TTO/D seemed ancient back then.
12:23:25 <mnhebi> To think I've been playing pretty much the same game for 30 years.
12:24:04 <truebrain> orudge: nice post btw π And also: tnx π
12:24:27 <orudge> I was thinking about it for a while, but in my head, the anniversary was in April
12:24:33 <orudge> then realised, nope, it's on Wednesday
12:25:05 <truebrain> the only thing the blog doesn't answer: why did ludde send a message to you?
12:25:27 <orudge> truebrain: I don't know for sure. I think just because I ran some popular TTD sites at the time. He also contacted Josef too, I understand.
12:25:47 <truebrain> "just reaching out", that makes sense
12:27:04 <orudge> I could start the blog with something like "If you don't know me, I'm Owen Rudge, and have been involved in the online Transport Tycoon community for almost 25 years."
12:27:08 <orudge> to perhaps give a bit more context
12:27:25 <truebrain> I always reason: if people don't know who I am, it is their problem, not mine π But yeah, you could π
12:30:16 <_zephyris> On a _totally_ different subject, are there any Hebrew speakers around who can tell me how I messed up the alphabet? (and sorry for doing it left to right...)
12:31:30 <mnhebi> hmm, I should try openttd with an ath alphabet font.
12:37:16 <truebrain> for some reason that image ticks me off in terms of alignment .. that island should be lower π
12:37:40 <orudge> I did think about having "Happy birthday" at the top and "OpenTTD" at the bottom
12:37:52 <orudge> but thought it looked better this way round
12:38:03 <truebrain> and maybe here too: "Happy 20th\n\nbirthday OpenTTD" π
12:39:38 <truebrain> ghehe, a soft shadow π
12:39:50 <truebrain> also, what is wrong with this image (talking about shadows):
12:43:06 <orudge> truebrain: uploaded an alternative
12:43:35 <truebrain> meh; it looked better in my head π
12:43:43 <truebrain> guess birthday should be on top
12:44:25 <truebrain> I like I had to count if it was actually 20
12:46:10 <orudge> truebrain: third time lucky...
13:47:32 <peter1138> ```fatal error: too many errors emitted, stopping now [-ferror-limit=]
13:49:02 <truebrain> stop murdering the compiler π
13:49:28 <peter1138> I enabled a few extra warnings, and... it's a bit too much.
13:49:46 <truebrain> so disable them again plz
13:50:29 <peter1138> > error: implicit conversion changes signedness: 'size_t' (aka 'unsigned long') to 'std::streamsize' (aka 'long')
13:50:53 <truebrain> which compiler flag is that? I was looking for that the other day π
13:51:00 <peter1138> This shit (the std) is so broken.
13:51:02 <truebrain> `-Wsigned` or what-ever it was called was not doing what I expected
13:51:04 <peter1138> `-Wsign-conversion`
13:51:57 <peter1138> You end up needing to cast between `size_t`, `off_t`, `std::streamsize`, `long`, `unsigned long`...
13:52:01 *** Leopold has joined #openttd
13:52:13 <truebrain> to cast or not to cast, that is the question!
13:52:35 <peter1138> Step 1: Find out which is the most appropriate type...
13:52:50 <peter1138> Step 2: Throw it all out.
14:06:12 *** Leopold has quit IRC (Remote host closed the connection)
14:06:27 *** matusguy has joined #openttd
14:06:27 <matusguy> peter1138: What the heck is an std::streamsize!!!
14:07:22 *** Leopold has joined #openttd
14:07:33 <mnhebi> just remember not to cross the streams ;)
14:08:02 <matusguy> What does this mean!!!!
14:08:16 <LordAro> Ever increasing numbers of !!!!!
14:09:10 <matusguy> Because I'm too lazy to look up std::streamsize!!!!!!
14:10:34 <matusguy> oh it's just some random integer
14:13:18 <peter1138> matusguy: It literally says it in the error...
14:13:40 <matusguy> I was asking why is it used nvm
14:14:21 <peter1138> You asked what it is π
14:14:50 <peter1138> But yeah, it's used by some std library functions.
14:17:54 *** Leopold has quit IRC (Remote host closed the connection)
14:24:16 <_glx_> main question is how can a size be negative ?
14:25:25 <_glx_> "Except in the constructors of std::strstreambuf, negative values of std::streamsize are never used. ", ok a weird use case probably
14:27:09 *** Leopold_ has joined #openttd
14:27:25 <_glx_> "if n is greater than zero, n is used. If n is zero, std::strlen(gnext) is executed to determine the buffer size. If n is negative, INT_MAX is used." <-- weird use case indeed
14:37:03 *** Leopold_ has quit IRC (Remote host closed the connection)
14:47:34 *** Leopold_ has joined #openttd
15:03:09 *** Leopold_ has quit IRC (Ping timeout: 480 seconds)
15:08:38 <peter1138> We got an email user π
15:17:38 <mnhebi> theres still mailing list groups going around these days that date back to the 90s...
15:38:30 *** Wormnest has joined #openttd
15:45:34 *** Leopold_ has joined #openttd
15:49:08 *** Leopold_ has quit IRC (Remote host closed the connection)
15:53:24 *** Leopold_ has joined #openttd
16:07:34 *** Leopold_ has quit IRC (Remote host closed the connection)
16:07:59 <mnhebi> andythenorth: I had some lovely Wiener schnitzel myself.
16:10:55 *** Leopold_ has joined #openttd
16:18:30 <xarick> Why does PfCalcEstimate checks for destination?
16:19:07 <xarick> what happens if I remove that check
16:28:17 <xarick> I'm testing too much stuff at the same time
16:39:07 <merni> peter1138: I have replied a few times on email. Sometimes quite convenient rather than logging into github etc
16:41:52 <truebrain> No no, this was different π
16:44:18 <LordAro> also modem firmware update
16:50:50 <rutoks> Fefer-IvanviaGitHub: Sorry for the spam, didnβt realize that every comment is forwarded here. I will just resolve done comments in the future
16:51:41 <LordAro> if you also do a review, you can chain all comments together into a single notification
16:52:06 <LordAro> (this applies to emails as well as these discord/irc notifications, so does have a bit of a wider scope than just here :) )
16:55:55 <SigHunter_> I build many helicopters to transport all the passengers from every oilrig (about 30) to towns. some ingame years later, nearly all of them went out of business. is this because I was NOT transporting any oil?
17:13:57 <klote> Hi can some one tell me why the scripts are not working?
17:14:10 <klote> im trying to set MOTD via on_server_connect.scr
17:14:25 <klote> but its not showing up when people connect
17:17:02 <Rubidium> what does happen when you do `exec scripts/on_server_connect.scr 0` in the in-game console?
17:19:57 <Rubidium> oh sorry, run it without the 0
17:23:10 <klote> lol the file is right there
17:23:45 <klote> do i need to run administrator?
17:24:39 <Rubidium> the file is in a folder called scripts relative to the executable?
17:24:39 <klote> the folder and file are in the same place as the application
17:25:16 *** HerzogDeXtEr has joined #openttd
17:26:28 <Rubidium> then I do not have a clue what could be wrong; it works for me on Linux
17:27:02 <Rubidium> though for some reason it cannot find the file it's looking for and that's what's causing the problem
17:27:19 <Rubidium> oh... if you're on Windows, did you set the working directory appropriately?
17:28:30 <klote> the shortcut has start variables "C:\Program Files\OpenTTD\openttd.exe" -D -g "C:\Program Files\OpenTTD\BuildEurope.scn"
17:28:32 <_glx_> if it can find langfiles it should also find script dir
17:28:38 <Rubidium> if you use a shortcut there's a property somewhere with that name. I don't know what it does with the working directory when you just double click it from the explorer
17:31:56 <klote> those are all variables
17:32:37 <_glx_> oh yeah we know -D and -g π
17:33:17 <LordAro> klote: you say "shortcut", if you're running the server directly from a windows shortcut, there'll be a value "Start in"
17:33:19 <_glx_> I know -c can have some unexpected side effect, but you are not using it
17:33:23 <belajalilija> it wasnt as hard as i thought it would be
17:33:29 <LordAro> that's the working directory
17:34:21 <LordAro> and where is the script file?
17:36:08 <LordAro> how about `exec scripts\on_server_connect.scr` ?
17:36:09 <Rubidium> all those files are <script>.scr.example
17:36:31 <klote> LordAro: file not found
17:36:33 <LordAro> Windows hidden file extensions strikes again
17:36:53 <LordAro> such a terrible design decision
17:37:45 <LordAro> you'll want to check the "View -> File name extensions" box
17:38:00 <LordAro> (and then rename the file)
17:38:11 <LordAro> (or files, depending how many you've modified)
17:39:11 <_glx_> by default if you see an extension in file explorer, it's not the file extension π
17:39:51 <_glx_> I never understood why they decided to hide extensions by default
17:41:25 <xarick> > [DetectShipDepotDestination_std_find, 100000] 169096 us [avg: 1.7 us]
17:41:25 <xarick> > [DetectShipDepotDestination_is_depot, 100000] 409 us [avg: 0.0 us]
17:41:25 <xarick> I thought std stuff was fast
17:42:21 <_glx_> it's proportional to number of items in the container
17:42:33 <_glx_> and the container type matters too
17:43:29 <xarick> oh wait, this is debug version
17:43:44 <_glx_> ah yes std in debug is super slow
17:43:57 <_glx_> because it validates everything
17:48:56 <peter1138> Oops, debug output in a 'factory/singleton' causes it to output during build...
17:49:03 <peter1138> That is a bit weird.
17:51:01 <peter1138> Yeah it's not just my stuff, if I add a debug level 0 message to the blitter factory it's displayed on build too.
17:53:45 <xarick> I am tempted to remove it
18:02:13 <xarick> ```class CYapfDestinationTileWaterT
18:02:13 <xarick> std::vector<TileIndex> m_destTiles;
18:02:14 <xarick> I can't make this static, why?
18:03:06 <xarick> static std::vector<TileIndex> m_destTiles;
18:03:27 <LordAro> and what happens when you do?
18:04:26 <xarick> visual studio doesn't build
18:04:52 <LordAro> "it doesn't work" is very rarely a useful thing to say
18:07:19 <LordAro> a partial error is also not very helpful
18:07:35 <LordAro> (and images of text is often unhelpful too)
18:07:48 <LordAro> (depending how much of it there is, of course0
18:08:09 <xarick> D:\OpenTTD\OpenTTD GitHub\OpenTTD\out\build\x64-Debug\yapf_ship.cpp.obj : error LNK2001: unresolved external symbol "protected: static class std::vector<struct StrongType::Typedef<unsigned int,struct TileIndexTag,struct StrongType::Compare,struct StrongType::Integer,struct StrongType::Compatible<int>,struct StrongType::Compatible<__int64> >,class std::allocator<struct StrongType::Typedef<unsigned
18:08:09 <xarick> int,struct TileIndexTag,struct StrongType::Compare,struct StrongType::Integer,struct StrongType::Compatible<int>,struct StrongType::Compatible<__int64> > > > CYapfDestinationTileWaterT<struct CYapfShip_TypesT<struct CYapfShip,struct CFollowTrackT<2,struct Ship,1,0>,class CNodeList_HashTableT<struct CYapfShipNodeT<struct CYapfNodeKeyExitDir>,10,12> > >::m_destTiles" (?m_destTiles@?$CYapfDestination
18:08:09 <xarick> TileWaterT@U?$CYapfShip_TypesT@UCYapfShip@@U?$CFollowTrackT@$01UShip@@$00$0A@@@V?$CNodeList_HashTableT@U?$CYapfShipNodeT@UCYapfNodeKeyExitDir@@@@$09$0M@@@@@@@1V?$vector@U?$Typedef@IUTileIndexTag@@UCompare@StrongType@@UInteger@3@U?$Compatible@H@3@U?$Compatible@_J@3@@StrongType@@V?$allocator@U?$Typedef@IUTileIndexTag@@UCompare@StrongType@@UInteger@3@U?$Compatible@H@3@U?$Compatible@_J@3@@StrongType@@
18:08:52 *** Leopold_ has quit IRC (Remote host closed the connection)
18:09:17 <LordAro> that is a lot of symbols
18:10:01 *** Leopold_ has joined #openttd
18:10:16 <LordAro> but i think in this case you've run into the common pitfall of static class members
18:20:38 <xarick> inline static std::vector<TileIndex> m_destTiles{};
18:20:38 <xarick> okay this builds, lol i wonder what's the worst that can happen now
18:22:01 *** gelignite has joined #openttd
18:23:25 <xarick> ah, nice, seems to do what I need. Just need to make sure to clear it
18:28:15 <xarick> static inline or inline static, does the order matter?
18:32:14 <peter1138> Technically no, but we usually (but not always) do static inline.
18:35:46 <DorpsGek> - Update: Translations from eints (by translators)
18:38:35 <xarick> do ships really need to check m_destTrackdirs
18:39:28 <xarick> I'm about to remove it
18:39:38 <xarick> I got a feeling it's not necessary
18:50:03 *** Leopold_ has quit IRC (Remote host closed the connection)
18:51:20 *** Leopold_ has joined #openttd
19:26:21 *** sam_chug has joined #openttd
19:26:21 <sam_chug> when uploading to BaNaNaS, do I upload the source folder or just the .grf file
19:45:28 *** salut3585 has joined #openttd
19:45:28 <salut3585> using GetPlatformLength I can find out the length of the station, how to find out the width of the station
19:45:28 <salut3585> exactly the size that the user set when building this station?
19:53:04 <_jgr_> Stations are not required to be rectangular
19:53:44 <_jgr_> The result of GetPlatformLength is only for the individual platform which has been queried
19:56:27 <kuhnovic> Let's continue with the pitchfork-PR π
20:02:21 *** Leopold_ has quit IRC (Remote host closed the connection)
20:05:09 <michi_cc> truebrain: I hope you approve of the teaser text π
20:07:20 <klote> Any of the newgrf developers open for requests to edit or make one?
20:07:59 <klote> And maybe teach me how to make one myself?
20:08:47 <michi_cc> klote: Most NewGRF developers will probably be in Discord channel #add-on-development instead of here.
20:08:55 *** Leopold_ has joined #openttd
20:09:57 <kuhnovic> TrueBrainviaGitHub: For this one, should I do a replace in all the language files as suggested by Rubidium? The situation is a bit different now, not sure what happens if you pass too many string params.
20:12:12 <truebrain> Who knew documentation to be useful
20:13:45 <kuhnovic> Damn, I'm impressed!
20:14:20 <kuhnovic> One of the hardest part of documentation is knowing that it's there π
20:15:28 *** tokai has quit IRC (Quit: c('~' )o)
20:25:25 <frosch123> "I did write a nice long description here, but IE/the forum/something went and barfed it." <- this has always been my favorite part of the original ottd annoucement :p
20:31:25 *** Leopold_ has quit IRC (Remote host closed the connection)
20:31:25 *** gelignite has quit IRC (Quit: Stay safe!)
20:31:45 <xarick> building openttd is taking more time nowadays
20:33:36 <xarick> isn't breakpad thing supposed to catch my asserts?
20:35:15 <kuhnovic> Tip: unload the regression test projects
20:35:49 <xarick> it asserts, then i click ok, and i get this instead
20:37:33 <xarick> I expected a breakpoint or something into visual studio
20:38:22 <_glx_> it used to show NOT_REACHED
20:39:02 <_glx_> still won't tell where was the error
20:39:24 <xarick> it told me where it was
20:39:33 <xarick> but didn't point to it automatically
20:41:17 <_glx_> it will just tell thread.h:67
20:42:37 <_glx_> by the message it's somewhere in fmt
20:43:20 <_glx_> ah so it crashed in crash handler
20:43:52 *** marchnex has joined #openttd
20:44:40 <_glx_> I guess it crashed while writing assert error in the debug console
20:45:38 <xarick> why would it be related to fmt?
20:46:03 <xarick> I was working on the pathfinder
20:46:54 <_glx_> crash was in fmt::print
20:47:10 <_glx_> and crashlog.cpp uses a lot
20:48:47 <xarick> anyway, it asserted, meaning that I have stuff wrong in the pf :p
20:49:21 <_glx_> that's why you got the window you were not expecting, a crash while handling your crash
20:49:22 <truebrain> frosch123: that commit message π
20:50:08 <frosch123> it's almost sad i fixed some other typos earlier
20:50:15 <frosch123> i would have loved if that was my only contribution :p
20:51:07 <frosch123> normally i hate poetry, but i love 2tt's
20:53:06 <talltyler> I should update my PRs and website post and fix the unbunching bug
20:54:38 <truebrain> 3 weeks or so to get that all done π
20:54:53 <truebrain> If we can help, let us know
20:59:47 <xarick> I was sending ships to the wrong depot
21:00:23 <xarick> it still was a depot of the same owner though
21:00:36 <xarick> detecting destination fail
21:11:07 *** Leopold has joined #openttd
21:13:01 <xarick> ewww glx, have you seen Terron?
21:13:13 <xarick> it's a mess to configure that AI now
21:13:32 <xarick> the parameters confuse each other
21:16:13 <kuhnovic> Oh man, I did not see that name "Drogenschede West" before I recorded those GIFs. For the Dutch guys among us: I did NOT do this on purpose π
21:16:57 <kuhnovic> (it means something like "dry lady parts")
21:17:12 <xarick> that is something that will indeed mess with AI logic
21:17:24 <xarick> let's see how many will break π
21:18:23 <xarick> the road after bridge/tunnel already killed some AIs
21:19:09 <kuhnovic> That was a much more high-impact change. This one seems much more niche to me.
21:19:12 <_glx_> that's just easy/medium/hard conversion
21:20:06 <_glx_> maybe we should have just use medium as default without any random_deviation
21:22:21 <truebrain> _glx_: Still looking for a way to make deviation editable; but yeah, that works too
21:23:52 <_glx_> deviation when it's set by the script itself should not be an issue
21:24:11 <truebrain> Even then, not being able to edit it feels wrong
21:24:49 <truebrain> But honestly, maybe we should just remove deviation
21:25:06 <truebrain> Has almost no usages, and is more trouble than it helps
21:25:40 <_glx_> I think it may be used to affect decisions of multiple instance of the same script
21:26:06 <_glx_> so they don't all do the same
21:26:12 <truebrain> We know only 1 (!) AI actively uses it. So clearly it didn't catch on π
21:27:06 <truebrain> What I noticed about AIs and GSes, that we kinda ask a lot of authors
21:27:14 <truebrain> So maybe dumming it down isn't the worst
21:27:50 <xarick> fine by me... it can add deviation after the AI has started, somewhere in the main.nut.
21:28:22 <truebrain> (Don't get me wrong, I like your [1..10] solution; but if we use medium instead of a range, it is a very niche solution for a single user :P)
21:28:50 <xarick> seems that terron uses deviation
21:29:04 <xarick> or nvm, it's the medium easy hard conversion, sorry
21:29:48 <_glx_> hmm maybe we should not add deviation if it's a "dropdown"
21:30:27 <_glx_> but for pure numeric values it seems fine
21:32:24 <truebrain> Again, 1 user. In 15 years. Clearly it is not understood by authors, or not wanted π
21:36:20 <_glx_> well removing random_deviation is not hard
21:37:42 <truebrain> And just use `medium` instead of deviation .. solves all these problems at once π
21:38:06 <truebrain> We tried to make it work, but .. sometimes simpler is better π
21:38:50 <_glx_> it's simple to remove stuff π
21:39:22 <xarick> some AIs do better with hard
21:40:08 <truebrain> So go for it, I would say. Or you feel strongly deviation can still work and we can convince authors to use it?
21:46:33 <talltyler> Goes it delete implicit orders to fix 12203? π
21:48:41 *** marchnex has quit IRC (Quit: marchnex)
21:49:06 <frosch123> in retrospect "deleting non-non-stop orders" may have been the better option, or at least to disallow it with cdist
21:49:44 <talltyler> Is that not the same thing?
21:50:11 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:50:46 <frosch123> non-stop and non-non-stop orders are an original TTD thing
21:50:58 <frosch123> cdist added support for them by tracking the intermediate stop
21:51:16 <frosch123> during codereview we demanded to make that user visible, so implicit orders came into existence
21:51:46 <frosch123> probably the other way around would have been better: disallow non-non-stop orders with cdist, so it does not have to secretely track them
21:52:03 <talltyler> It's not too late π
21:52:21 <frosch123> it is for version 15 :p
21:52:37 <talltyler> I look forward to approving your PR π
21:52:46 <talltyler> We're about to release 14
21:52:51 <_glx_> just make all orders "go to non stop", always
21:52:55 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:53:21 <frosch123> but yes, i wouldn't consider that bug release-crticial for 14 π
21:53:28 <frosch123> i just wanted to blame someone π
21:53:43 <andythenorth> for the record, I am not anti-cdist π
21:53:44 <talltyler> I started a patch to adding a setting that hides implicit orders, then if enabled simplifies the text in the order window
21:53:48 <andythenorth> just....has side effects
21:54:03 <_glx_> I'm sure many rely on implicit orders in their gameplay
21:54:05 <talltyler> Excessive text in the order window is a driving factor for a lot of the simplification I've attempted π
21:54:57 <frosch123> andythenorth: i think i saw that before. by now it is age-restricted ...
21:57:08 <talltyler> Well, it appears that `cur_implicit_order_index` also contains real orders, so it's a simple fix to use that instead of `cur_real_order_index` π
22:05:37 <_jgr_> talltyler: That seems like it would lead to confusion when the orders aren't behaving as expected but everything "looks OK" in the order list?
22:06:04 <talltyler> I got stuck anyway, I forget why π
22:06:09 <_jgr_> Would it not be better to have the setting actually disable stopping orders (and therefore implict orders)
22:07:56 <talltyler> I still don't understand the difference π
22:09:04 <_jgr_> Hiding the source of the problem so the user can't resolve it vs actually preventing it?
22:21:31 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:38:53 <talltyler> _jgr_: No, I mean I donβt understand the difference between stopping orders and implicit orders.
22:40:07 <_jgr_> As in OT_GOTO_STATION without ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS vs OT_IMPLICIT
22:45:54 <michi_cc> Stopping orders can lead to implicit orders, because the vehicle will just stop if it happens to stumble upon a station somewhere. Non-stop orders prevent any stops not on the explicit order list, so implicit orders are never generated.
23:00:09 *** nanapipirara has joined #openttd
23:00:09 <nanapipirara> talltyler: Not sure if this is related, but I find the βshare ordersβ command very confusing. I always assumed it _exports_ the orders to a click vehicle.
23:01:49 <xarick> implicit orders with shared orders doesn't work that well
23:02:32 <xarick> I found that sometimes the implicit orders are deleted, triggering unbunch variable resets
23:08:51 <Eddi|zuHause> unbunch should probably ignore implicit orders
23:26:47 <peter1138> Am I the only person who likes non-non-stop and implicit orders?
23:28:56 <xarick> is it safe to assume I don't need to clear if I'm doing a std::move?
23:45:58 *** Leopold has quit IRC (Read error: Connection reset by peer)
23:47:24 *** Leopold_ has joined #openttd
23:49:23 <talltyler> Oh I get it now π
continue to next day β΅