IRC logs for #openttd on OFTC at 2023-02-06
            
00:00:29 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
00:11:24 <DorpsGek> [OpenTTD/OpenTTD] mathan0305 opened issue #10450: [Bug]: Wrong signal spacing while using autoplacement feature https://github.com/OpenTTD/OpenTTD/issues/10450
00:37:16 *** supermop_toil_ has joined #openttd
00:42:51 *** supermop_toil has quit IRC (Ping timeout: 480 seconds)
01:20:33 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
02:02:31 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #8932: Maximum initial loan amount does not match Game Settings https://github.com/OpenTTD/OpenTTD/issues/8932
02:16:23 *** KiriDore has quit IRC (Remote host closed the connection)
02:16:37 *** KiriDore has joined #openttd
03:10:20 *** Wormnest has quit IRC (Quit: Leaving)
03:41:59 *** D-HUND has joined #openttd
03:45:23 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:05:33 <DorpsGek> [OpenTTD/OpenTTD] ShlokJswl commented on issue #8932: Maximum initial loan amount does not match Game Settings https://github.com/OpenTTD/OpenTTD/issues/8932
04:33:47 *** keikoz has joined #openttd
05:38:42 *** Flygon has joined #openttd
05:50:33 *** D-HUND is now known as debdog
06:04:51 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:13:21 *** Flygon_ has joined #openttd
06:19:53 *** Flygon has quit IRC (Ping timeout: 480 seconds)
06:59:49 *** Flygon has joined #openttd
07:00:22 *** Flygon_ has quit IRC (Ping timeout: 480 seconds)
07:24:57 *** sla_ro|master has joined #openttd
07:25:23 <andythenorth[d]> hmm
07:25:32 <andythenorth[d]> all this tile distance calculation stuff
07:25:38 <andythenorth[d]> circles and crap
07:25:52 <andythenorth[d]> alternative idea
07:26:19 <andythenorth[d]> - precomputed shapes as matrices
07:26:27 <andythenorth[d]> - pick appoint
07:27:09 <andythenorth[d]> - apply a matrix transformation, using the location of the start tile
07:30:16 <andythenorth[d]> - say FFT a lot, without remembering what it does
07:35:27 <andythenorth[d]> scaling up the shapes too much would lose resolution, e.g. circles, but eh, it's not photoshop 😛
07:41:28 * andythenorth[d] the case would be painting terrain features like rocks, trees (this isn't about industry GS regions ideas)
07:46:16 *** supermop_toil_ has quit IRC (Read error: Connection reset by peer)
07:54:14 <DorpsGek> [OpenTTD/OpenTTD] ldpl commented on issue #10450: [Bug]: Wrong signal spacing while using autoplacement feature https://github.com/OpenTTD/OpenTTD/issues/10450
08:16:04 *** gelignite has joined #openttd
08:44:48 <andythenorth[d]> oh more ideas 😄
08:45:04 <andythenorth[d]> how often does the tile loop run?
08:46:24 <andythenorth[d]> /* We update every tile every 256 ticks, so divide the map size by 2^8 = 256 */
08:46:37 <andythenorth[d]> is that guaranteed?
08:48:29 <petern> Not when it's paused.
08:48:47 <andythenorth[d]> I had the idea of planting a function in a tile
08:48:54 <andythenorth[d]> which can access vars only of the nearest 8 tiles
08:48:57 <andythenorth[d]> and can modify them
08:49:06 <andythenorth[d]> including planting a function into those tiles
08:49:11 <andythenorth[d]> self-modifying map
08:49:14 <petern> Game of life?
08:49:19 <andythenorth[d]> virus
08:49:19 <andythenorth[d]> yes
08:49:25 <andythenorth[d]> mostly for amusement
08:49:59 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1072076677473124393/s-l1600.png
08:49:59 <andythenorth[d]> you meant this game of life, yes? 😛
08:55:52 <petern> With a broken pinner.
08:55:54 <petern> *spinner
09:01:58 <andythenorth[d]> I think that's how I learnt about pensions
09:02:05 <andythenorth[d]> it was a choice near the end
09:02:09 <andythenorth[d]> both options were boring
09:02:18 <andythenorth[d]> anyway, self-modifying map
09:09:12 <andythenorth[d]> could probably be done as a grf feature 😛
09:09:46 <andythenorth[d]> feature type: map tile 256 tick lambda function
09:11:26 <andythenorth[d]> action 0: some arbitrary props
09:11:33 <andythenorth[d]> 256 tick callback to run the function
09:12:14 <andythenorth[d]> 9 cycles, 1 for each neighbouring tile, and 1 for self
09:13:15 <andythenorth[d]> one result per cycle, a pre-defined constant and some params for it in a register
09:13:51 <andythenorth[d]> constants would be things like: set terrain type, terraform tile, plant trees, plant object, change the tile function to another function
09:14:25 <andythenorth[d]> ha, can we swap tiles to / from void? 😛
09:28:25 <petern> Try it.
09:28:57 <petern> Urgh, old rawl plug wouldn't come out... found screw snapped in it 😦
09:33:00 <petern> Such large OpenTTD update.
09:33:08 <petern> 6.79MB to download ;D
09:36:05 <petern> RRP $1700 hardware synth makes the difference.
09:38:53 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1072088987348516914/image.png
09:38:53 <petern> Perfect use of signals.
09:39:04 <andythenorth[d]> ideal
09:39:24 <LordAro> sublime
09:40:49 <petern> Bunky Chevels in a release \o/
09:41:38 <LordAro> \o/
09:43:38 <andythenorth[d]> self-modifying bevels
09:43:44 <andythenorth[d]> give them an embedded function
09:43:48 <andythenorth[d]> call it every 256 ticks
09:44:38 * LordAro embeds a function in andythenorth[d] that's called every 256 ticks
09:44:56 <andythenorth[d]> isn't that just 'life'?
09:45:03 <LordAro> i call it "lyme disease"
09:45:08 <andythenorth[d]> quite a lot of my function seems to be sleep()
09:45:15 <andythenorth[d]> or watch_youtube()
09:45:28 <andythenorth[d]> or apparently_think_about_nothing()
09:45:42 *** reldred has joined #openttd
09:45:42 <reldred> mmmmmmm bevel
09:46:14 <andythenorth[d]> I seem to have function that garbage collects memory
09:46:25 <andythenorth[d]> and another one that erases the pointer to things I actually needed
09:47:56 <LordAro> :D
09:48:03 <andythenorth[d]> I kind of expect the game to just crash if I make a tile void
09:50:02 <LordAro> https://steamcommunity.com/app/1536610/eventcomments/3764481749073966881?snr=1_5_9_&ctp=2#c3764482197524252163 hmm
09:50:25 <LordAro> also a couple of comments about the new UI scaling making everything worse
09:54:59 <andythenorth[d]> " Going to 2x in order to get the high res icons at the top makes the city and stations icons way too big. So much bigger than the previous 2x size iteration." ? not for me
09:55:07 <andythenorth[d]> is that with a UI grf?
09:55:45 <dP> icons are too small relative to the font
09:55:56 <dP> if you use custom font everything is alright
09:56:44 <andythenorth[d]> dunno 🙂
09:56:52 * andythenorth[d] in the annoying 'works great for me' camp
09:57:22 <andythenorth[d]> 2x UI is now perfect
10:05:00 <FLHerne> (Steam comments) "add sex"
10:05:10 <FLHerne> someone hasn't seen that Long Vehicles version :p
10:08:38 <petern> andythenorth[d]: Yeah, nothing changed about which set of sprites are used at 2x zoom.
10:09:23 <petern> If you use the sprite font, everything is alright.
10:09:34 <petern> If you use a custom font with wonky sizing everything is shit.
10:10:10 <petern> *alright if you are not using OpenGFX with it's awful small font.
10:13:09 <andythenorth[d]> 'works for me' is like the 4th circle of hell
10:13:14 <andythenorth[d]> but eh, looks like TTD
10:15:19 <dP> petern: in 12.0 you could use double ui with normal font
10:15:39 <dP> int 13.0 it forces double font and all the extra padding bloating it even more
10:16:12 <petern> Yeah I guess by "town and station icons" they mean labels.
10:17:45 <Pruple> yes, afair it the gui scaling didn't used to scale [custom] fonts. So all you need to do to get it back to how it looked before is divide your font size by the gui scale you use.
10:18:21 <dP> does it understand non-integer sizes though?
10:18:40 <petern> For truetype fonts, yes.
10:18:56 <petern> For the bitmap font, no because it looks like shit.
10:19:59 <dP> petern: at least font command seems to ignore it
10:20:11 <dP> 12.5 is no different than 12
10:20:13 <petern> Oh you mean the setting? No, not currently.
10:20:59 <petern> Guess who has a patch for that...
10:21:16 <dP> imo it just shouldn't scale config sizes
10:21:37 <petern> Your opinion is wrong.
10:23:07 <dP> I don't see any case where someone would want the game to mess the font size they specifically specified
10:24:21 <dP> It would only make sense if you happen to contstantly switch between different displays and just changing ui scale happens to magically work for you
10:24:54 <dP> otherwise you just adjust ui scale and font size separately untill you manage to make the game look good
10:25:17 <petern> When I adjust Windows to 150% scale I don't have to manually change the fonts.
10:26:35 <dP> do you change Windows fonts at all?
10:26:51 <petern> Don't think you can these days 😄
10:27:27 <DorpsGek> [OpenTTD/OpenTTD] ShlokJswl commented on issue #8932: Maximum initial loan amount does not match Game Settings https://github.com/OpenTTD/OpenTTD/issues/8932
10:27:38 <dP> then your comparison is pointless :p
10:27:51 <petern> Hmm, is our IPv6 broken or is it mine...
10:30:46 <petern> Having separate gui and font scales broke the UI for so long you don't even realise it was broken 😄
10:37:46 <dP> oh, wow, 13.0 looks so much better with biggui...
10:38:38 <dP> well, icons look like crap but the size is just right
10:42:18 <dP> without big gui 2x zoom icons are a bit too small and with 2.5x paddings are a bit too big
10:50:14 <petern> > The quickest way to change the Windows 11 font is through a Windows Registry edit, which we'll do by creating a REG file.
10:52:24 <andythenorth[d]> hmm...ham 11 days over date. Eat / don't eat?
10:53:32 *** Samu has joined #openttd
11:02:15 <andythenorth[d]> I went with no
11:04:39 <reldred> Probably a safe bet.
11:12:26 <DorpsGek> [OpenTTD/OpenTTD] ghisvail commented on pull request #10141: Fix #10140: [SDL2] Lock mouse while moving viewport https://github.com/OpenTTD/OpenTTD/pull/10141#issuecomment-1418912060
11:44:06 <Samu> what's the difference between emplace_back and push_back?
11:44:12 <Samu> in a std::vector
11:49:50 <petern> Ham? No
11:50:02 <Samu> https://www.geeksforgeeks.org/push_back-vs-emplace_back-in-cpp-stl-vectors/ this explanation is too chinese for me
11:50:04 <petern> Ok seller says I can keep the wrong synth
11:51:09 <andythenorth[d]> who has the better end of the deal?
11:51:17 <petern> Depends what your vector type is
11:52:01 <Samu> std::vector<TileIndexDiffC> diffs;
11:52:21 <Samu> std::vector<TileIndex> normal_tiles;
11:52:42 <Samu> i dont even know if vector is what i want, i just need a place to store a list of diffs and normal tiles
11:53:00 <petern> andythenorth[d]: Me, it's worth about 2x what I paid
11:53:27 <Samu> i dont need any movements, no need for it to be ordered, doesnt matter
11:53:30 <andythenorth[d]> 🎵
11:53:41 <Samu> and i dont remove any from the list
11:54:09 <Samu> i just need to iterate over them all
11:55:14 <petern> Probably not quite the same sound but good with doom and openttd in GM mode, and good in synth mode too
11:57:49 <petern> Now I need to find space
11:58:05 <petern> Big 2U rack unit
11:59:49 <petern> Emplace/push makes a difference when it's a larger object or constructors are involved
11:59:58 *** debdog has quit IRC (Ping timeout: 480 seconds)
12:02:29 <Samu> TileIndexDiffC is a struct
12:02:36 <Samu> TileIndex is a...
12:02:45 <Samu> struct too
12:09:11 <Samu> i think im going with emplace_back
12:12:29 <glx[d]> Push when you already have an object, emplace to create the object on the fly
12:43:26 <DorpsGek> [OpenTTD/OpenTTD] orudge opened pull request #10451: Fix: Ensure logo for Windows Store common assets package is named correctly https://github.com/OpenTTD/OpenTTD/pull/10451
12:54:21 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #10451: Fix: Ensure logo for Windows Store common assets package is named correctly https://github.com/OpenTTD/OpenTTD/pull/10451#pullrequestreview-1285137230
13:22:30 *** KiriDore_ has joined #openttd
13:28:52 *** KiriDore has quit IRC (Ping timeout: 480 seconds)
14:12:40 <Samu> i just realized queue eats memory
14:12:47 <Samu> i changed into vector
14:14:19 <Samu> oh snap, this isn't working correctly
14:32:01 <andythenorth[d]> why isn't memory free?
14:32:10 <andythenorth[d]> we need a lot more
14:40:50 <petern> Free memory is wasted memory.
14:43:10 *** gelignite has quit IRC (Quit: Stay safe!)
14:49:26 <dP> I'm so tempted to just throw away all the command template crap and write my own handling from scratch
14:54:22 <petern> Go on then.
14:55:31 *** WormnestAndroid has quit IRC (Remote host closed the connection)
14:56:38 <LordAro> it feels like it should be pretty trivial to insert an "intercept" handler in the middle of it
14:56:57 <LordAro> well, as trivial as it can be for a C++ template monstrosity
14:57:31 <Samu> question
14:57:33 <Samu> auto p = queue.front();
14:57:33 <Samu> std::vector<std::pair<TileIndex, TileIndex>>::iterator pop = std::remove(queue.begin(), queue.end(), p);
14:57:33 <Samu> queue.erase(pop);
14:57:41 <Samu> is this gonna do what i want?
14:57:50 <dP> LordAro: I didn't even get to the intercept part yet xD
14:58:09 <Samu> i want to get the item at the front of a vector, then delete it
14:59:14 <dP> I just wanted to have a callback... and if callback in a client requiring some ridiculous hacks is kinda understandable, callback in a server can just be stored as it isn't going anywhere
14:59:17 <Samu> from the queue, which is no longer a queue, it's a vector
14:59:21 <dP> except it can't because of template type hell
14:59:23 <Samu> maybe i should rename
15:04:14 <Samu> nooo, it works, but it's super slow
15:04:17 <Samu> :(
15:04:44 <petern> Why do you need to remove?
15:04:58 <LordAro> and how do you define "super slow"
15:05:11 <Samu> i got about 16 million pairs of tiles
15:05:19 <Samu> or 1.6m
15:05:23 <Samu> 4096x4096
15:05:39 <petern> Why do you have a list that big in the first palce?
15:05:44 <LordAro> ^
15:05:54 <Samu> because... the map is big :)
15:05:57 <Samu> hehe
15:06:01 <LordAro> first rule of optimisation, do less on less data
15:06:22 <Samu> going back to queue being queue instead of vector again
15:07:23 <petern> If you need an entry for every tile on the map, probably your algorithm is wrong.
15:08:02 <Samu> i want an alternative to queue, because queue is memory hungry
15:08:13 <Samu> vector is light, but doesn't let me pop items in front
15:08:40 <LordAro> i don't see why queue would be (noticably) any more memory intensive than vector
15:10:16 <Samu> one uses about 200 mb, the other 900
15:10:27 <Samu> at least in debug mode
15:10:55 <LordAro> debug mode can bloat a lot, but i wouldn't have expected that much...
15:11:01 <LordAro> not by comparison anyway
15:12:47 <Samu> i tried list, eats even more memory
15:12:50 <Samu> std::list
15:17:50 *** WormnestAndroid has joined #openttd
15:21:21 *** nielsm has joined #openttd
15:27:34 <petern> Still never really answered the question.
15:43:57 <glx[d]> Yeah why store all these pairs ?
15:44:41 <glx[d]> What is the exact goal ?
16:13:32 <Samu> river generation on heightmaps is incredibly slow
16:14:33 <Samu> okay, not that incredible, but it stalled for quite 1 minute
16:19:42 *** gelignite has joined #openttd
16:20:38 *** keikoz has joined #openttd
16:32:22 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #10452: [Bug]: Long stalls during river generation on heightmap https://github.com/OpenTTD/OpenTTD/issues/10452
16:36:42 <DorpsGek> [OpenTTD/OpenTTD] owen commented on issue #10251: [Bug]: blue tint with hardware acceleration on https://github.com/OpenTTD/OpenTTD/issues/10251
16:54:52 <LordAro> Samu: i think that might be the wrong screenshot :D
16:54:55 <petern> RGB/BGR?
16:55:16 <glx[d]> slow generation is not surprising on big maps
16:55:26 <LordAro> wait, or are you actually using a screenshot to generate a heightmap?
16:57:14 <glx[d]> IIRC generating a 4k² map takes about 10 minutes for me with debug build
16:57:42 <glx[d]> (or more than 10 minutes, can't remember, I rarely do it)
16:57:50 <LordAro> might be worth a profile to see if there's anything easy
16:58:13 <LordAro> (of heightmaps, not mapgen in general)
17:00:50 <JGR> There's not much point doing any performance measurements of debug builds
17:01:37 <JGR> It's not going to give results which are usefully applicable to proper builds
17:03:39 <TrueBrain> https://news.ycombinator.com/item?id=34674066
17:03:39 <TrueBrain> Frontpage again 😄
17:06:23 <TrueBrain> If you ever feel down, read that thread .. lovely kind words
17:07:26 *** HerzogDeXtEr has joined #openttd
17:10:08 <Samu> that was on 13.0
17:12:00 <petern> Hmm, dare I use my mitre saw?
17:24:37 <TallTyler> It's funny how much people like the horn feature, was not expecting that
17:26:55 * petern spots more UI fixes to do
17:30:43 <frosch> yes, every thread on the internet is about the honking hotkey 🙂
17:30:47 <frosch> same on reddit
17:30:47 <petern> (OpenMSX doesn't sound great)
17:32:30 <frosch> TrueBrain: you can also read the thread as: if zephyris didn't do half of opengfx, openttd would be irrelevant 🙂
17:35:29 <TrueBrain> And they are not wrong 🙂
17:36:41 <LordAro> i do like the "if all these other projects /just/ made their own assets" comments
17:41:38 <TrueBrain> How long can that actually take, I mean, I can make a drawing in 10 minutes, so a talented person only needs a day for all assets right? /s
17:41:58 <LordAro> yeah, we all just have our priorities wrong
17:50:45 <TallTyler> Speaking of OpenGFX, I'm looking forward to seeing it updated with Zephyris' new sprites. Not exactly sure who's taking the lead on adding them though, if it's Zephyris or if there's been a miscommunication somewhere: https://www.tt-forums.net/viewtopic.php?p=1257992#p1257992
17:51:18 <glx[d]> well OpenGFX repo accepts PR
17:52:16 <LordAro> not exactly clear from his last message
17:54:08 <glx[d]> seems to be not ready to be published WIP
17:55:40 <glx[d]> and if opengfx repo can be cleaner as a result it's a bonus
18:01:06 <petern> I don't know how OpenGFX was originally done, but I read that Zeph thinks he just needs to post sprites as an attachment in the forums and someone else will merge it all.
18:01:17 <petern> *i read it as
18:03:48 <andythenorth[d]> has anyone DMed Zeph to say join discord?
18:03:53 <andythenorth[d]> otherwise I shall do that now
18:04:28 <petern> There's 2 zephyris via @...
18:06:14 <andythenorth[d]> ok I DMed anyway to see
18:12:07 *** tokai|noir has joined #openttd
18:12:08 *** ChanServ sets mode: +v tokai|noir
18:18:51 *** tokai has quit IRC (Ping timeout: 480 seconds)
18:37:41 *** supermop_toil has joined #openttd
18:38:58 <DorpsGek> [OpenTTD/eints] Boltyansky opened issue #131: Gender variation for strings returns error https://github.com/OpenTTD/eints/issues/131
18:42:24 <petern> Hmm, okay, my server is working now.
18:44:33 <DorpsGek> [OpenTTD/eints] frosch123 commented on issue #131: Gender variation for strings returns error https://github.com/OpenTTD/eints/issues/131
18:44:53 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/cb2944205c9943266d7675994ee48f665f44057a
18:44:54 <DorpsGek> - Update: Translations from eints (by translators)
18:47:25 <TrueBrain> Lol, cute
18:48:44 <DorpsGek> [OpenTTD/eints] glx22 commented on issue #131: Gender variation for strings returns error https://github.com/OpenTTD/eints/issues/131
18:49:07 <frosch> we are lucky it does not refer to the company president 🙂
18:52:46 *** supermop_toil has quit IRC (Remote host closed the connection)
18:59:42 <andythenorth[d]> is it naptime?
19:01:25 <frosch> is that a tautology?
19:02:02 <andythenorth[d]> not sure
19:02:28 * andythenorth[d] woke up thinking of new ones to fill out tile lists faster in GS
19:02:36 <andythenorth[d]> even though we shouldn't actually have tile lists anyway
19:02:58 <andythenorth[d]> not sure what I dreamt about, but it wasn't restful 🙂
19:04:06 <andythenorth[d]> considering testing if GSTileList.AddRect() is faster than a loop over tiles with array.push
19:04:22 <andythenorth[d]> but as the timing only has resolution to seconds, it will be hard to know 😄
19:04:44 <andythenorth[d]> and the only reason to make tile lists is to call GSTile.DemolishTile() on it
19:04:59 <andythenorth[d]> the short cut might be GSTile.DemolishArea(area)
19:06:16 <andythenorth[d]> oh
19:06:30 <andythenorth[d]> someone try demolishing the entire map as player?
19:06:58 <TrueBrain> I am scared, TallTyler made a fork of master-server .. this can't be good :p
19:07:21 *** Flygon has quit IRC (Read error: Connection reset by peer)
19:07:31 <andythenorth[d]> cheat money, turn on magic bulldozer, start a dynamite drag on N tile, then use cursors to cover entire map
19:07:54 <andythenorth[d]> only does a row of 9 tiles across one map side
19:08:12 <andythenorth[d]> is there terraform limit in settings kicking in?
19:08:38 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
19:09:12 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10322: Feature: Change speed of calendar progress https://github.com/OpenTTD/OpenTTD/pull/10322
19:09:25 <andythenorth[d]> map is 512x256
19:09:37 <andythenorth[d]> might be the clear limit of 4096?
19:09:44 <andythenorth[d]> clear_frame_burst = 4096 ?
19:10:52 <TallTyler> TrueBrain: I need to add a new field to `NetworkServerGameInfo` for total periods since the game elapsed, since years elapsed in the network game list isn't too useful at slow or frozen calendar progress speed. I think I've got the OpenTTD changes I need, but haven't touched master-server yet...
19:10:52 <TallTyler> NetworkServerGameInfo
19:10:53 <TrueBrain> PS: you want game-coordinator 🙂 master-server is only for pre-12.0 clients 🙂
19:11:19 <TallTyler> Ah, I'll look at game-coordinator instead 🙂
19:11:59 <TrueBrain> https://github.com/OpenTTD/py-protocol/blob/main/openttd_protocol/protocol/game.py#L64 to be really specific
19:13:00 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1072233469872181278/image.png
19:13:00 <andythenorth[d]> this rect
19:13:05 <andythenorth[d]> could we do a circle version?
19:13:21 <andythenorth[d]> and / or make it extensible to other primitives?
19:13:35 <andythenorth[d]> or even just brush shapes, it's just a matrix with a scaling factor for size
19:13:58 <TrueBrain> TallTyler: line 365..369 are a bit weird
19:14:18 <TrueBrain> guess placing it outside the switch makes more sense
19:14:29 <TallTyler> Yes, true
19:14:56 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1072233957174816900/image.png
19:14:56 <andythenorth[d]> oh this is nice
19:15:59 <TrueBrain> "Number of 12-minute economic years" <- that wording is so confusing 😄 But not super important right now 🙂
19:16:04 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1072234241947086908/image.png
19:16:04 <andythenorth[d]> yes, rectangular lakes, as nature intended
19:16:09 <andythenorth[d]> /me ideas form
19:16:31 <bigyihsuan> mentioned in Discord channel #openttd yesterday, but what would it take to make wide rivers arbitrarily large/1 tile for each joined stream?
19:17:16 <TallTyler> TrueBrain: Should be "economic periods" but I made a typo 😛
19:18:11 <TrueBrain> "typo"
19:18:18 <TrueBrain> 😄
19:18:18 <TallTyler> "forgot to change a word"
19:19:02 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler updated pull request #10322: Feature: Change speed of calendar progress https://github.com/OpenTTD/OpenTTD/pull/10322
19:19:31 <TallTyler> How do I test changes to the protocol? Do I need to run my own game coordinator locally?
19:19:34 <TrueBrain> owh, also https://github.com/OpenTTD/py-protocol/blob/main/openttd_protocol/protocol/coordinator.py#L145 btw .. forgot it is in two places 😛
19:19:52 <TrueBrain> TallTyler: yup! And use OTTD_COORDINATOR_CS as env-var to point to your local instance
19:20:15 <TallTyler> Oof, learning curve time
19:20:23 <TrueBrain> README should help you
19:20:48 <andythenorth[d]> ok so a weekend of lolz adventures taught me some things
19:20:59 <andythenorth[d]> 1) it's trivial to eat 1GB of RAM with GS
19:21:25 <andythenorth[d]> 2) Regions / Areas are not the way to adjust the landscape, nor nuke cities
19:22:15 <TrueBrain> TallTyler: in the end you want to change something like https://github.com/OpenTTD/master-server-web/blob/main/webclient/templates/server_entry.html#L106 to show you the new value .. which means also running the master-server-web 🙂
19:22:36 <TrueBrain> which requires `master_server` to serve the API
19:22:48 <TrueBrain> I never bothered splitting the API from `master_server` from the pre-12.0 discovery thingy 🙂
19:23:03 *** Wolf01 has joined #openttd
19:23:28 <TrueBrain> but they just deal with JSON, so they don't care if an extra key is added
19:25:36 <TrueBrain> why btw present it in periods? Isn't it easier / better to understand to just show in something like "playtime: 12h 4m 3s" format?
19:26:00 <bigyihsuan> bigyihsuan: weh, cloning the source code just to investigate this
19:28:58 <TrueBrain> btw TallTyler , just so I have mentioned it: since your PR shows realtime, a new challenge arises .. when a computer cannot keep up, "realtime" becomes a lie. Normally this wasn't an issue at all, as the calendar went slower, and that is it. But with your PR, I guess some visual feedback should be given the simulation cannot keep up. Not a #1 prio in your PR, or can even be done after your PR, but worth mentioning nevertheless 🙂
19:32:00 <TallTyler> TrueBrain: Yeah, this would probably be better
19:32:20 <frosch> the same applies to fast-forward in single-player, game-time is never real-time
19:32:44 <TallTyler> I'd definitely welcome some suggestions on how to handle "realtime is wrong because game is slow", but splitting it into a second PR would be lovely. The current changes are...overwhelming enough as-is
19:40:09 <andythenorth[d]> ok....so (1) improve scenario editor tools (2) make many of them available to GS, but in game context
19:41:10 <andythenorth[d]> 3) profit?
19:42:35 <frosch> you can also try (1) make it work on a 64x64 map using currrent api, (2) make it work well (3) optimise for bigger maps
19:43:45 <andythenorth[d]> I quite like that GS is a way to test things
19:44:34 <andythenorth[d]> I was considering fooling around with stuff like planting tile types
19:44:45 <andythenorth[d]> all this angst about tropic forests and desert
19:45:11 <andythenorth[d]> could just define a random 'brush' which is a 2D matrix
19:45:25 <andythenorth[d]> then paint it over areas of the map using some function with jitter
19:48:13 <andythenorth[d]> but looking at e.g. forest tool in scenario editor 🙂
19:48:20 <andythenorth[d]> this is clearly not an original idea 🙂
19:50:21 <TrueBrain> frosch: FF currently is visible; but not keeping up is not
19:50:35 <TrueBrain> so there is a difference there, I think 🙂
19:51:14 <frosch> starcraft2 multiplayer has been on "faster" since launch
19:51:29 <TrueBrain> a star moving away from you appears red
19:51:34 <TrueBrain> (random facts, join in! :P)
19:51:36 <TrueBrain> hihihihi
19:51:37 <TrueBrain> sorry 🙂
19:52:08 <frosch> well, i wanted to say, that an AAA game also has a mismatch between displayed in-game time and real-time
19:52:26 <frosch> but now i am unsure whether it wasn't fixed/changed somewhen later
19:52:39 <TrueBrain> 😄
19:52:45 <TrueBrain> sorry, was a long day, so trolling is required 😛
19:53:16 <andythenorth[d]> I have missed the trolling
19:53:25 <frosch> ah, no, just the APM computation was changed to be based on real-time instead of in-game time
19:53:34 <frosch> so, in-game-time is still faster than real-time
19:54:49 <frosch> TrueBrain: you also appear red from the star's POV :p
19:56:03 <TrueBrain> when a star appears blue to you, it is time to get scared
19:56:51 <frosch> ah, damn, i had an answer, but it does not work in english
19:59:48 * andythenorth[d] wonder if anyone actually uses scenario editor
20:00:31 <frosch> i think everyone who uses it is wondering about that
20:00:49 <andythenorth[d]> if no devs play the game
20:00:55 <andythenorth[d]> how many fewer devs use SE?
20:02:43 <JGR> If you create a scenario, players wanting to use it are mostly stuck with whatever GRFs you happened to be using
20:03:43 <JGR> Heightmaps are a bit more flexible/futureproof
20:04:05 <frosch> pretty sure andy will invent pyscn, and generate a new scenario from firs sources
20:04:34 <andythenorth[d]> odd you should mention this 😛
20:05:04 <andythenorth[d]> funny how rabbit holes work
20:05:21 <andythenorth[d]> all I wanted was a GS to add some farms to towns at game start
20:05:34 <andythenorth[d]> now I'm considering making the SE more suitable for painting terrain
20:05:42 <andythenorth[d]> and then teaching GS to do it, slowly
20:06:30 <bigyihsuan> bigyihsuan: double weh, couldn't get the dev env working, and one of the headers is complaining about missing `tables/strings.h`
20:06:46 <andythenorth[d]> also, how do we free GS from the command-tick limit?
20:06:57 <andythenorth[d]> make batch versions of suitable commands, where we can try and control rate limits etc?
20:07:04 <andythenorth[d]> like mass-demolish tiles
20:07:06 <andythenorth[d]> or
20:07:25 <dP> just stop delaying it for 1 tick :p
20:07:27 <andythenorth[d]> create a batch command, passing a command, a function, and a list of entities
20:07:33 <andythenorth[d]> which is mad, and exploitable
20:07:41 <andythenorth[d]> and will have horrific performance risks
20:07:43 <andythenorth[d]> but is more lolz
20:08:17 <andythenorth[d]> would also need a 'return on error' or 'ignore error' arg 😛
20:08:31 <FLHerne> bigyihsuan: that means strgen didn't run, or failed
20:08:41 <FLHerne> bigyihsuan: what platform are you trying to build on?
20:09:24 <bigyihsuan> FLHerne: windows 11
20:09:50 <bigyihsuan> (i'm also trying to get the env going in vscode because i don't like vs)
20:10:23 <FLHerne> Have you read https://github.com/OpenTTD/OpenTTD/blob/master/COMPILING.md#windows ?
20:10:35 <bigyihsuan> yes, and i've run it all
20:11:28 <FLHerne> "one of the headers is complaining" <- in the IDE or in the build?
20:12:13 <nielsm> tables/strings.h does not exist in the checkout, it gets generated as part of the build
20:12:24 <nielsm> you need to run cmake to build the project before that file will exist
20:12:33 <FLHerne> in the IDE, it should cure itself once you've built it the first time, and possibly added `YOUR_BUILD_DIR/generated` to your IDE's search path config
20:12:39 <bigyihsuan> FLHerne: ide
20:12:55 <FLHerne> (if it doesn't find that itself based on the CMakefiles)
20:14:50 <FLHerne> Have you successfully compiled other C/C++ projects with however you've set it up? OTTD isn't particularly unusual
20:15:40 <bigyihsuan> on this computer i haven't personally tested, but i have in the past
20:15:45 <FLHerne> it's been at least a decade since I last compiled anything on Windows so more specific advice will have to come from someone else
20:16:00 <bigyihsuan> hm after a re-clone and re-setup, it's building now
20:16:04 <FLHerne> if you can upload the log of your build failing that would probably help
20:16:17 <bigyihsuan> and vscode still `cannot open source file "table/strings.h" (dependency of "water_map.h")`
20:16:46 <bigyihsuan> my include path is currently set to `${workspaceFolder}/**`
20:17:51 <FLHerne> did the build succeed this time then?
20:18:01 <bigyihsuan> yes, lemme paste in the full output
20:18:38 <FLHerne> you'll need to add `${path_to_build_dir_whatever_that's_called}/generated/**` to the IDE's include path then
20:19:08 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072250113780617216/message.txt
20:20:30 <FLHerne> That looks like you've run a configure but not a build
20:21:43 <FLHerne> hm
20:21:48 <FLHerne> or that the output's truncated
20:22:24 <bigyihsuan> that's the full output
20:22:40 <bigyihsuan> running from a clean build flolder
20:22:47 <FLHerne> it's definitely truncated, it stops halfway through a line
20:22:59 <bigyihsuan> ah that's from me copy-pasting
20:23:06 <michi_cc[d]> Then you should have a solution (.sln) file in the build dir that can be opened with Visual Studio to build it.
20:23:17 <michi_cc[d]> Visual Studio not VS Code, mind you.
20:23:48 <FLHerne> ok, then my first call was right and you've run a configure but not a build :p
20:24:56 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072251573046091876/out.txt
20:27:00 <bigyihsuan> ugh so i have to use vs anyway? weh
20:27:31 <michi_cc[d]> No, but then you have to use a different cmake generator. Ninja usually works, but I'm not sure if you need to install or separately or not.
20:28:37 <michi_cc[d]> You still need to have some C++ compiler of course, and VS is usually the easiest to install (even if not the smallest).
20:29:34 <bigyihsuan> i have used vs before, for a game-mod course to mod quake 4 and 2, but i didn't really like it and it doesn't have the extensions that i use in vs code
20:29:50 <bigyihsuan> having vs open just for building it *is* annoying though
20:31:46 <nielsm> there are also alternate ways to get a functional build environment on windows, but using visual studio 2019 or 2022 for everything is by far the easiest
20:32:21 <nielsm> the one alternative is to install msys/mingw for building
20:33:02 <nielsm> the other is to install the ms windows sdk stuff, which will have all the compilers and headers needed, but not other tooling like cmake
20:33:41 <nielsm> you can also install visual studio only for the build tools and run those entire from commandline or set up things in vscode
20:33:52 <petern> GTA5 multiplayer is such a shitshow.
20:35:20 <bigyihsuan> like i have a vscode extension that colors identifiers and it's really nice and there's no (language-agnostic) equivalent in vs
20:35:38 <bigyihsuan> there's a c# one, but it doesn't work with cpp, etc
20:35:54 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072254332751319090/image.png
20:35:54 <bigyihsuan> mm yes
20:36:51 <TrueBrain> didn't read about what you wrote so far bigyihsuan , but clearly you have MSVC (compiler) installed .. so in VSCode, if you install the CMake plugin, and build "openttd.exe", it "just works", for me at least 😛
20:41:52 <TrueBrain> don't foget to set the vcpkg CMAKE_TOOLCHAIN_FILE in your Cmake Configure Args, it you would like to use the right libraries 😄
20:42:23 *** Wormnest has joined #openttd
20:46:28 <DorpsGek> [OpenTTD/team] ikyriakidis opened issue #393: [el_GR] Translator access request https://github.com/OpenTTD/team/issues/393
20:48:53 *** gelignite has quit IRC (Quit: Stay safe!)
21:00:44 <DorpsGek> [OpenTTD/team] frosch123 commented on issue #393: [el_GR] Translator access request https://github.com/OpenTTD/team/issues/393
21:01:22 <TrueBrain> lol, fun fact, quoting parameters with VSCode on Windows for Cmake doesn't work .. you have to leave them unquoted .. so silly
21:01:54 <TrueBrain> also silly, it only spins up a single compiler job ..
21:02:56 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:03:22 <TrueBrain> it does indicate it should run in parallel .. but it seems something is saying: NAH
21:04:53 <TrueBrain> "So you get multiple projects being built in parallel but not multiple compilation units from the same project."
21:04:54 <TrueBrain> lolz
21:06:22 <TrueBrain> fixed 2 months ago in CMake .. yeah, I am not running a version -that- new 😛
21:07:01 *** TROILUS6 has joined #openttd
21:08:56 <TrueBrain> owh, bigyihsuan , as a FYI, in VSCode it tends to starts openttd.exe from the wrong folder (`Debug`) .. just go up one folder and run `Debug\openttd.exe`, and you will be fine. Otherwise it complains about languages not found
21:12:08 <TrueBrain> still incredibly happy we switched to CMake, versus the what-ever-the-fuck-we-had-before .. makes integrations with IDEs a lot easier 😛
21:12:48 *** TROILUS has quit IRC (Ping timeout: 480 seconds)
21:13:09 *** TROILUS6 is now known as TROILUS
21:19:09 <andythenorth[d]> frosch: does the hovercraft patch still compile? 🧐
21:19:49 <frosch> probably
21:20:03 <andythenorth[d]> will it take orders to bouys?
21:20:04 <frosch> don't think anyone touched that area of code
21:21:09 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1072265710874656889/Untitled.mov
21:21:09 <andythenorth[d]> I have ideas 😛
21:21:16 <frosch> it follows regular orders, just that most flat land is traversible
21:27:54 <Samu> this feels dirty, isn't there a better way to get a diff ?https://gist.github.com/SamuXarick/4d1226c201967f3beb1eee3f931a7c02#file-landscape-cpp-L47-L57
21:28:45 <Samu> a list of diffs
21:38:43 <andythenorth[d]> hmm
21:39:00 <andythenorth[d]> might write some actual FIRS GS
21:39:06 <andythenorth[d]> instead of silly things or tests
21:39:20 <andythenorth[d]> I probably should just ignore memory use concerns for now, yes?
21:39:25 <andythenorth[d]> everyone has 16 GB or more?
21:46:35 *** lobstarooo has joined #openttd
21:46:45 *** Eddi|zuHause2 has joined #openttd
21:47:01 *** tokai has joined #openttd
21:47:01 *** ChanServ sets mode: +v tokai
21:47:27 *** pickpacket6 has joined #openttd
21:47:45 *** LordArtoo has joined #openttd
21:48:28 *** FLHerne_ has joined #openttd
21:48:31 *** michi_cc_ has joined #openttd
21:49:29 *** urdh_ has joined #openttd
21:49:54 *** SoniEx2 has joined #openttd
21:49:56 *** Mek_ has joined #openttd
21:50:10 *** milek7_ has joined #openttd
21:50:15 *** gnu_jj_ has joined #openttd
21:50:20 *** Venemo_ has joined #openttd
21:50:38 *** grossing has joined #openttd
21:51:10 *** Rubidium_ has joined #openttd
21:51:12 *** keoz has joined #openttd
21:51:13 <andythenorth[d]> is there any way to use something like a lambda with GSList.Valuate()?
21:51:37 *** tokai|noir has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** keikoz has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** lobstarooo__ has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** NGC3982 has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Xarick has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** frosch has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** royills[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Yozora has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** MasterOktagon has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** gnu_jj has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Xaroth5 has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Soni has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** pickpacket has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Gwyd has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** urdh has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** BriggsSaint has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Venemo has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** mlt has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** michi_cc[d] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Brickblock1 has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** bigyihsuan has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Dank_meme_kong has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Pruple has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** JGR has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** imlegos has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** TallTyler has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** dP has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** petern has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** GLaDOS has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Eddi|zuHause has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** michi_cc has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** jeeg[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** jact[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** calbasi[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Osai has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Mek has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** LordAro has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** karoline[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Rubidium has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** Webster has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** fonsinchen has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** gdown has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** zzy2357[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** linda[m]1 has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** ist5shreawf[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** natmac[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** dag[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:37 *** ookfof[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:38 *** tuxayo has quit IRC (charon.oftc.net helix.oftc.net)
21:51:38 *** FLHerne has quit IRC (charon.oftc.net helix.oftc.net)
21:51:38 *** grag[m] has quit IRC (charon.oftc.net helix.oftc.net)
21:51:38 *** eirc has quit IRC (charon.oftc.net helix.oftc.net)
21:51:38 *** Feuersalamander has quit IRC (charon.oftc.net helix.oftc.net)
21:51:38 *** milek7 has quit IRC (charon.oftc.net helix.oftc.net)
21:51:38 *** Hazzard has quit IRC (charon.oftc.net helix.oftc.net)
21:51:39 *** lobstarooo is now known as lobstarooo__
21:51:39 *** FLHerne_ is now known as FLHerne
21:51:39 *** pickpacket6 is now known as pickpacket
21:51:39 <andythenorth[d]> I can't find a syntax to pass a function with a single parameter
21:51:39 <andythenorth[d]> or pass the instance to another function
21:51:48 <andythenorth[d]> I probably just look in the wrong place?
21:52:59 <kamnet> andythenorth[d]: At least 8GB anyhow. If they don't have that much then they bought a cheap netbook from like 15 years ago.
21:53:55 *** michi_cc_ is now known as michi_cc
21:54:03 *** Hazzard has joined #openttd
21:54:52 *** fonsinchen has joined #openttd
21:55:28 <andythenorth[d]> 4GB for FIRS GS then 😛
21:56:03 *** eirc has joined #openttd
21:59:45 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:59:48 *** Xarick has joined #openttd
21:59:52 *** imlegos has joined #openttd
21:59:53 *** petern has joined #openttd
21:59:57 *** michi_cc[d] has joined #openttd
21:59:58 *** GLaDOS has joined #openttd
22:00:08 *** TallTyler has joined #openttd
22:00:13 *** mlt has joined #openttd
22:00:13 *** Pruple has joined #openttd
22:01:09 *** frosch has joined #openttd
22:01:40 *** NGC3982 has joined #openttd
22:02:43 *** Yozora has joined #openttd
22:02:43 *** BriggsSaint has joined #openttd
22:02:43 *** dP has joined #openttd
22:02:43 *** bigyihsuan has joined #openttd
22:02:43 *** Gwyd has joined #openttd
22:02:43 *** MasterOktagon has joined #openttd
22:02:43 *** Brickblock1 has joined #openttd
22:02:43 *** Dank_meme_kong has joined #openttd
22:02:43 *** JGR has joined #openttd
22:02:43 *** Xaroth5 has joined #openttd
22:02:43 *** Osai has joined #openttd
22:04:01 *** XarothBrook has joined #openttd
22:04:01 <XarothBrook> andythenorth[d]: https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam
22:04:46 <andythenorth[d]> thanks
22:04:47 <andythenorth[d]> 😛
22:05:10 <XarothBrook> Judging from that you can assume 90+% of users have at least 8GB
22:06:13 *** keoz has quit IRC (Ping timeout: 480 seconds)
22:08:05 *** calbasi[m] has joined #openttd
22:09:21 <glx[d]> TrueBrain: IIRC petern had some fix for that
22:10:07 <petern> TrueBrain: Yup
22:10:51 <petern> "cmake.buildToolArgs": [
22:10:51 <petern> "/maxcpucount:12" ],
22:11:03 <petern> (In settings.json)
22:12:46 <petern> Yeah, all that time I was bitching about compilation being slow on Windows...
22:16:43 <TrueBrain> I just use WSL, solves all my problems. Except if you need a Windows build for winhttp :p
22:28:35 <Samu> can a kdtree use DistanceSquare instead?
22:28:37 <andythenorth[d]> 947 thumbsup on Steam for 13.0
22:28:45 <andythenorth[d]> not that any of this social shit matters really
22:28:48 <andythenorth[d]> but it's nice 🙂
22:35:59 <andythenorth[d]> I need a name for a function that tries to maintain an approximate number of an industry on the map
22:36:06 <Samu> eww i expected kdtree to be fast
22:36:10 <andythenorth[d]> e.g. one farm per 2 towns
22:36:26 * andythenorth[d] has the function, has stupid name count_farms()
22:36:28 <JGR> TryToMaintainAnApproximateNumberOfAnIndustryOnTheMap?
22:36:37 <andythenorth[d]> I like it
22:36:39 <andythenorth[d]> snappy
22:36:48 <andythenorth[d]> I really do write function names that long also
22:36:56 <andythenorth[d]> BuildIndustryTypeInTown
22:37:22 <JGR> I occasionally have to write in Java 😛
22:37:31 <andythenorth[d]> did squirrel decide on any name / case convention yet?
22:37:56 <andythenorth[d]> the docs mix lower case, lower case with underscores and camel case
22:38:08 <Samu> kdtree insert is ugly slow :(
22:38:19 <Samu> should I be surprised?
22:38:22 <andythenorth[d]> where is PEP 8 or something for squirrel
22:38:44 <andythenorth[d]> Samu I have absolutely no context or comp sci training
22:39:01 <andythenorth[d]> but structures optimised to be very fast for e.g. read, or very sparse on memory
22:39:09 <andythenorth[d]> are often slow for things like insert, or random read
22:39:24 <andythenorth[d]> may be completely irrelevant here though 😛
22:39:34 <bigyihsuan> TrueBrain: where do i set this?
22:39:42 <bigyihsuan> and what do i set it to?
22:41:02 <bigyihsuan> i currently have visual studio open in the root dir of the ottd repo
22:41:25 <andythenorth[d]> oh squirrel docs also has dromedary case
22:43:12 <andythenorth[d]> hmm dunno what an Electric Imp is, but it has a Squirrel style guide https://developer.electricimp.com/squirrel/codestyle
22:43:17 <andythenorth[d]> do we agree with it?
22:44:29 <bigyihsuan> bigyihsuan: Project > CMake settings for openttd > CMake variables and cache
22:46:31 <andythenorth[d]> yair no, I'm no doing dromedaryCase
22:46:50 <andythenorth[d]> it's the most brain effort because it's not one thing or the other
22:46:57 <andythenorth[d]> and GS doesn't use it either
22:47:11 <andythenorth[d]> Squirrel style guide will have to get in the sea
22:47:48 <andythenorth[d]> also we declare functions with bracket on next line
22:47:52 <andythenorth[d]> `function firs::BuildIndustryTypeInTown(industry_type, town)
22:47:52 <andythenorth[d]> {
22:47:52 <andythenorth[d]> }
22:48:16 <andythenorth[d]> squirrel style guide says that's bad
22:48:51 <andythenorth[d]> we declare classes with brackets on same line
22:49:09 <andythenorth[d]> I hate style guide crap, so glad we have black for python
22:49:25 <JGR> In your own GS, you can use whatever style you like
22:50:37 *** Venemo_ is now known as Venemo
22:50:59 <andythenorth[d]> the nice thing is not having to decide 🙂
22:53:14 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1072288894411870258/image.png
22:53:14 <Xarick> 4 million items in a kdtree
22:53:31 <Xarick> was a bad idea
22:54:16 *** Xaroth51 has joined #openttd
22:55:00 <Xarick> 69 seconds to insert 4290349 items in the kdtree
22:57:04 <andythenorth[d]> can we be arsed to get Apple to take this down? https://apps.apple.com/gb/app/openttd/id1585549844
22:57:14 <andythenorth[d]> content dispute form is here https://www.apple.com/legal/internet-services/itunes/appstorenotices/#/contacts?lang=en
22:57:20 <andythenorth[d]> we have a company now?
22:57:36 <glx[d]> TrueBrain: I used it to test doxygen stuff, not fun with a CRLF checkout 🙂
22:58:25 *** JGR has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** Dank_meme_kong has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** Brickblock1 has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** MasterOktagon has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** Gwyd has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** bigyihsuan has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** dP has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** BriggsSaint has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** Yozora has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** Osai has quit IRC (charon.oftc.net helix.oftc.net)
22:58:25 *** Xaroth5 has quit IRC (charon.oftc.net helix.oftc.net)
22:59:07 <glx[d]> samu: if your algo needs to store that much it's a bad algo
22:59:48 <glx[d]> you need to rethink it instead of trying to find the optimal storage
22:59:50 <Samu> I couldn't think of an alternative yet
22:59:51 <andythenorth[d]> samu do you try these things to see what breaks (like I do), or because you're short of other ways? 🙂
23:00:07 <andythenorth[d]> I often pick the stupidest route to learn the edges
23:00:47 <Samu> i test stuff, sometimes I'm curious
23:01:03 <andythenorth[d]> meanwhile, in GS land, why does it take 1 second to set growth rate on 32 towns?
23:01:06 <andythenorth[d]> this seems piss poor TBH
23:01:16 <glx[d]> 32 ticks
23:01:19 <andythenorth[d]> how many ticks per second, 74?
23:01:22 *** Osai has joined #openttd
23:01:27 <andythenorth[d]> I think that's wrong 😛
23:02:08 <andythenorth[d]> 30ms per tick according to forums
23:02:21 <Samu> but for this rainforest thing, I don't know what I can do to speed it up, maybe I need to re-think from the start
23:02:33 <andythenorth[d]> ok so 32 ticks clips very close to 1s
23:02:46 <glx[d]> 74 ticks per day
23:03:00 <andythenorth[d]> and my only timing info is `system clock at start - system clock at end`
23:03:06 <andythenorth[d]> so sometimes that will fall into next second
23:03:18 <andythenorth[d]> 960 ms, even if nothing else needed to happen
23:04:05 <andythenorth[d]> it is lolz
23:04:44 <andythenorth[d]> so I probably need to batch town updates, and do a few in each GS loop, instead of doing them all at month end
23:04:44 <petern> Do all towns on a 4kx4k map.
23:04:44 <glx[d]> the issue is command handling is async for scripts
23:04:49 <andythenorth[d]> petern: tried it
23:04:56 <andythenorth[d]> on 'high towns'
23:05:06 <andythenorth[d]> or 9999 I think was max
23:05:18 <andythenorth[d]> think I tried it on JGRP 16k map also
23:05:24 <andythenorth[d]> conclusion was "don't"
23:05:44 <glx[d]> fire command and go to sleep, you'll get result on next wake up (which is next tick)
23:05:53 <andythenorth[d]> oo
23:06:31 *** dP has joined #openttd
23:06:46 *** bigyihsuan has joined #openttd
23:07:19 <andythenorth[d]> GSTown.BatchSetGrowthRate(valuated_list)
23:07:22 *** BriggsSaint has joined #openttd
23:07:22 *** Yozora has joined #openttd
23:07:29 <andythenorth[d]> 😛
23:07:52 <andythenorth[d]> GSBatchCMD(GSTown.SetGrowthRate, valuated_list)
23:08:13 *** Dank_meme_kong has joined #openttd
23:08:18 *** Brickblock1 has joined #openttd
23:08:18 *** JGR has joined #openttd
23:08:18 *** MasterOktagon has joined #openttd
23:08:24 <glx[d]> makes AI "speed" quite fair regarding player "speed"
23:08:29 *** Gwyd has joined #openttd
23:08:35 <andythenorth[d]> I know 🙂
23:08:40 <andythenorth[d]> although I disagree with some of it
23:08:46 <petern> It's a bit pants for GS though 🙂
23:08:53 <andythenorth[d]> if you watch an AI that logs, e.g. route building, it's really much slower than a human
23:09:01 <andythenorth[d]> my brain can find a route between 2 towns in seconds
23:09:07 <andythenorth[d]> but an AI pathfinder....cannot
23:09:41 <petern> Maybe we should create AndyAIAsAService?
23:09:42 <glx[d]> and GS where build onto AIs, so suffer the same limitation
23:09:50 <andythenorth[d]> petern: unsubscribe
23:10:08 <petern> AI shows Andy the map and he replies with the best route, in seconds.
23:10:29 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072293233838788608/image.png
23:10:33 <andythenorth[d]> using google glass
23:10:43 <andythenorth[d]> or I have to live in an Occulus forever
23:10:49 <andythenorth[d]> it just watches my eyeballs move
23:10:51 <glx[d]> wider rivers bigyihsuan ?
23:11:15 <bigyihsuan> glx[d]: just some experimentation, it's using `radius = std::max(3u, (current_river_length / (long_river_length / 3u)) + 1u);`
23:11:47 <andythenorth[d]> can you tell which rivers are going uphill? 😄
23:11:54 <andythenorth[d]> sorry, insider joke
23:12:12 <andythenorth[d]> https://github.com/OpenTTD/OpenTTD/issues/9031
23:13:39 <Samu> what used to take 122 seconds now takes 32
23:13:49 <Samu> i can't make it faster
23:13:58 <Samu> and i know it could be faster
23:14:47 <bigyihsuan> currently screenshotting a 200kx131k px screenshot, because i wanna share this massive river that is longer than my screen
23:14:54 *** royills[m] has joined #openttd
23:14:56 <bigyihsuan> this may be a mistake
23:16:10 <andythenorth[d]> /me thinks Samu should make tile-based game of life
23:16:24 <andythenorth[d]> landscape mutates
23:17:34 <bigyihsuan> screenshotting the whole map was a mistake
23:17:37 <Samu> here it is https://github.com/OpenTTD/OpenTTD/compare/master...SamuXarick:OpenTTD:make-desert-or-rainforest-_dp_
23:18:42 <Samu> time for bed, cyas goodnight
23:18:45 *** Samu has quit IRC (Quit: Leaving)
23:19:39 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1072295542102708356/image.png
23:19:39 <andythenorth[d]> ok so after many side quests, my GS builds farms near ~50% of towns
23:20:58 *** gdown has joined #openttd
23:21:36 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072296032580411506/image.png
23:21:36 <bigyihsuan> oh boy
23:21:50 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072296088175915048/image.png
23:22:37 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072296289418608690/image.png
23:22:37 <bigyihsuan> holy hell
23:22:47 *** zzy2357[m] has joined #openttd
23:23:26 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072296491651174440/image.png
23:23:26 <bigyihsuan> though...
23:24:12 <bigyihsuan> https://cdn.discordapp.com/attachments/1008473233844097104/1072296685688070154/image.png
23:24:17 <andythenorth[d]> bigyihsuan: this looks interesting
23:24:49 <andythenorth[d]> oof failure of adulting
23:24:51 <andythenorth[d]> I should be asleep
23:25:44 <andythenorth[d]> or I could write GS debugger in story book
23:27:47 *** Etua has joined #openttd
23:29:25 <andythenorth[d]> wonder what the update latency is on story page
23:29:31 <andythenorth[d]> 1 cmd to open it
23:29:40 <andythenorth[d]> 1 cmd to update each item on the page
23:30:46 <glx[d]> command handling for GS is suboptimal 🙂
23:30:51 *** Etua has quit IRC ()
23:31:24 <andythenorth[d]> well we could improve it 🙂
23:31:36 <andythenorth[d]> but meanwhile I can design within the constraints
23:31:48 <andythenorth[d]> or at least find how bad the performance is
23:31:59 <glx[d]> but it's hard to change it, because the result is received via command callback
23:32:19 <andythenorth[d]> previous story page tests shows it's really suboptimal there
23:32:28 <andythenorth[d]> clicking a button, then handling the queue, then running cmds
23:32:34 <andythenorth[d]> can be very laggy
23:32:44 <glx[d]> and the script needs to sleep for game thread to be able to handle the command
23:33:27 <andythenorth[d]> yes
23:33:38 <andythenorth[d]> I removed the sleep for testing, fails 🙂
23:34:00 <andythenorth[d]> I can cut the sleep to 1, which makes button clicks more responsive, but game stutters
23:38:30 <andythenorth[d]> also AIAndy.Sleep(21600)
23:40:52 <kamnet> **OpenTTD "Best Mods" Survey 2023/Q1 **
23:40:52 <kamnet> Every new player asks, "What are the best mods?"
23:40:52 <kamnet> Let's find out. Take the survey today. Results will be updated and reset every 3 months.
23:40:52 <kamnet> https://forms.gle/NHXfxSRTvXThMBqS9
23:40:52 <kamnet> (No personal information is collected. Only one response per person per quarter, please).
23:42:17 <glx[d]> hmm I need to try something that may help GS
23:59:07 *** debdog has joined #openttd