Times are UTC Toggle Colours
10:34:18 <andythenorth> π 10:34:26 <andythenorth> hmm back to random item from list 10:34:35 <andythenorth> probably superlib does it π 10:39:48 <andythenorth> crashed the game again π 10:39:49 <andythenorth> lol 10:46:19 <andythenorth> ok GS now puts a scrap yard in every town with population above > n 10:46:22 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1065582988936617984/image.png 10:46:37 <andythenorth> the need to walk all the tiles at game start is....funky 10:46:50 <andythenorth> areas might be nice to prepopulate 10:46:57 <andythenorth> -> all tiles for each town 10:47:00 <andythenorth> -> all snow tiles 10:47:04 <andythenorth> -> all coast tiles 10:47:04 <andythenorth> etc 10:47:35 <andythenorth> there's probably some cool structure we could use, like voroni something π 10:48:10 <andythenorth> then the other areas can be arbitrarily extensible 10:48:12 <andythenorth> by GS 10:48:24 <dP> andythenorth: map array :P 10:48:37 <dP> voronoi is only for closest points like towns 10:48:50 <andythenorth> I defer to those with greater knowledge π 10:48:56 <andythenorth> I'm just here writing clown GS 10:49:23 <andythenorth> in some cases 'all' might not be needed 10:49:34 <andythenorth> 'most' would be enough 10:49:57 <andythenorth> uuuuf 10:50:09 <andythenorth> if e.g. all the water areas were individual areas 10:50:19 <andythenorth> I could solve FIRS ports stupidity just by measuring the length of the list 10:50:40 <andythenorth> I don't actually care if they connect to edge of map, they just look stupid in small lakes 10:51:46 <dP> andythenorth: so you want map_size*4 byte structure just to measure length? π 10:51:59 <andythenorth> 'could' not 'want' 10:53:13 <andythenorth> but different case: if you wanted to plant industries on water, then a list of water regions has utility 10:53:31 <andythenorth> if you wanted to limit e.g. fishing grounds to one per region, then same 10:53:39 <andythenorth> area / region /s 10:56:41 <andythenorth> hmm 10:56:49 <andythenorth> `Communication during game-initialisation. NewGRFs are loaded first. They cannot query GS information at this point. GS can then also not influence placement of initial industries etc.` from frosch spec 10:57:11 <andythenorth> but when loading the grf, we know what GS settings are in OpenTTD? 10:57:21 <andythenorth> i.e. we know if a GS is selected or not, and which one? 10:57:47 <andythenorth> and we know what GS is in a savegame / scenario file? 10:58:21 <andythenorth> currently my GS needs to clean up where FIRS grf has tried to place industries accurately during map gen, but can't always do it 10:58:26 <Samu> there is a long standing bug about GS's in scenario editor 10:58:50 <andythenorth> I can't default to FIRS not placing any industries, because the GS needs to be optional 10:59:50 <Samu> and the recent fixes to allow changing GS's in scenario editor makes it worse 11:01:06 <andythenorth> see also https://gist.github.com/TrueBrain/976cab3b6c88f208636653191ba5c420 11:01:45 <Samu> the scenario file, when loaded, will lack information whether the GS has already started or not, it just assumes it did, but that's not always the case for scenario files 11:02:06 <Samu> it is for savegames though 11:04:57 <andythenorth> eh, Truebrain vision https://gist.github.com/TrueBrain/51d914880f1090ea574aa40db748c1a7 11:07:12 *** andythenorth is now known as Guest1828 11:07:13 *** Guest1828 is now known as andythenorth[d] 11:28:25 <FLHerne> Squirrel is pretty tiny, can we upgrade to 3.2 for new scripts while keeping the old version as a fallback? 11:29:02 <petern> Such URL previews 11:30:35 <petern> Samu: TBH for scenarios we should start the GS fresh. 11:31:23 <petern> *For playing scenarios. 11:31:37 <petern> For editing scenarios, the GS probably shouldn't be loaded. 11:33:20 <Samu> what when you rename a .sav to .scn and load it in the scenario editor? the GS was already started before 11:45:17 <andythenorth[d]> petern: I should delete them eh π 11:46:01 <petern> Samu: It be started again, as you have converted a savegame to a scenario. 12:04:54 <andythenorth[d]> squirrel tables eh? 12:05:11 <andythenorth[d]> so if I walk everything on the map at game start 12:05:20 <andythenorth[d]> I can put it all into squirrel 12:05:22 <andythenorth[d]> π 12:05:30 <andythenorth[d]> towns, industries, tiles 12:05:34 <andythenorth[d]> 'what could go wrong?' 12:05:46 <andythenorth[d]> do we memory limit script API? 12:10:45 *** glx has joined #openttd 12:10:45 <glx> We do 12:11:25 *** glx is now known as Guest1831 12:11:26 *** Guest1831 is now known as glx[d] 12:11:39 <glx[d]> LordAro: I can't remember, it was a long time ago 12:14:13 <petern> Mortgage gone from 2.1% to 5% over the past year, joy. 12:14:53 <glx[d]> https://github.com/OpenTTD/OpenTTD/pull/7708#issuecomment-526169121 12:18:44 <andythenorth[d]> oo 12:18:59 <andythenorth[d]> at some point carrying around our own dead Squirrel is a bit weird 12:19:14 <andythenorth[d]> stuff and things π 12:20:38 <petern> It's impossible to update old scripts, don't you know? 12:22:00 <petern> I fixed an issue with my updated js and it now has exactly the same problem as the original. So that rewrite was totally worth it. 12:25:22 <petern> Is it breakfast time yet? 12:27:17 <andythenorth[d]> petern: someone on the forums might complain 12:27:33 <petern> No change there. 12:27:49 <andythenorth[d]> petern: that is perfectly executed refactoring, do all your tests fail exactly the same? 12:28:17 <andythenorth[d]> goes it OpenTTD PeterPP? 12:28:53 <Eddi|zuHause> as long as PeterN doesn't go PeterT :p 12:29:30 *** WormnestAndroid has joined #openttd 12:29:35 <andythenorth[d]> PP38 12:29:51 <glx[d]> We can redefine functions in compat scripts, but in this case it's a variable like language keyword 12:30:12 <andythenorth[d]> can we break things and see what happens? π 12:30:22 <andythenorth[d]> it's not like OpenTTD runs nuclear power stations 12:30:29 <andythenorth[d]> OTOH, I don't actually enjoy the drama at all 12:30:49 <andythenorth[d]> the people on one side of the drama are often the least equipped socially for it 12:31:37 <Eddi|zuHause> andythenorth[d]: breaking things if you previously promised to not break things generally is bad style 12:31:59 <andythenorth[d]> well the first thing to break is the promise not to break things π 12:32:07 <glx[d]> https://github.com/albertodemichelis/squirrel/blob/master/HISTORY#L209-210 12:32:32 <andythenorth[d]> someone pointed out recently I think 12:32:39 <Eddi|zuHause> andythenorth[d]: the problem with breaking things isn't the people who complain, but the people who aren't around anymore to update their stuff 12:32:40 <andythenorth[d]> the promise is that savegames will load 12:32:55 <andythenorth[d]> not that behaviour will be guaranteed 12:33:28 <glx[d]> Maybe it's possible to reintroduce vargc but as vargv usage is very different it's complicated 12:33:37 <petern> We should've updated to v3 10 years ago. 12:33:47 <Eddi|zuHause> that is true, we had that discussion with an acceleration change which "broke peoples networks" 12:33:59 <andythenorth[d]> disabling GS or AI 12:34:03 <andythenorth[d]> is not breaking the promise 12:34:19 <andythenorth[d]> in principle a game could be manually migrated to new version of script 12:34:44 <Eddi|zuHause> andythenorth[d]: that's like saying "making the map flat isn't breaking the promise" 12:35:03 <glx[d]> We have compatibility mechanism via API version to not break stuff 12:35:15 <andythenorth[d]> where is the promise, and which armchair layer wrote it? π 12:36:11 <Eddi|zuHause> andythenorth[d]: imagine we say "we don't load v6 grfs anymore" 12:36:34 <glx[d]> Because throwing away perfectly fine but not maintained scripts is wrong 12:37:13 <andythenorth[d]> Eddi|zuHause: imagine if we could go through the grf spec after that and delete some of it 12:37:43 <andythenorth[d]> scorched earth <-> sensible conservatism 12:37:55 <Eddi|zuHause> andythenorth[d]: you can perfectly well do that without dropping v6 12:38:09 <andythenorth[d]> TBH things like this are better as a triangle, not a single linear scale 12:38:32 <andythenorth[d]> dunno what the 3rd vertex would be 12:38:38 <andythenorth[d]> probably not 'progress' 12:39:12 <petern> Implement sq3 and keep sq2. That's work well π 12:39:23 <andythenorth[d]> glx[d]: how many are there I wonder? 12:39:26 <Eddi|zuHause> be careful, you could end up in a 26 dimensional optimisation space very quickly 12:39:39 <andythenorth[d]> sometimes a survey shows the problem is very not real, or really very real 12:40:50 <andythenorth[d]> if only bananas had column count and date sort π 12:41:21 <dP> add WASM and make no promises :P 12:42:23 <andythenorth[d]> https://docs.google.com/spreadsheets/d/1l37yTJ-rI82ddY8p01WDxdb8RdXjakG6kOyLra93Lpc/edit?usp=sharing 12:42:50 <andythenorth[d]> could expand that with AIs, then plot update / release dates 12:43:29 <andythenorth[d]> I don't know how to google sheets properly π 12:43:30 <andythenorth[d]> oof 12:43:48 <andythenorth[d]> ok lunch 12:45:06 <petern> Tuna salad pot. 12:45:27 <Eddi|zuHause> andythenorth[d]: i don't think that list helps us in any way 12:45:49 <dP> tbf, making a new thing with no compatibility while keeping legacy newgrf and gs spec is the most reasonable way going forward imo 12:46:05 <petern> Easier to make a new game. 12:46:21 <dP> yeah, I already considered that 12:46:37 <dP> but life interfered :p 12:52:21 <Eddi|zuHause> people make new games all the time, yet people are also still here 12:53:54 <dP> they make wrong games :p 12:53:59 <Eddi|zuHause> loading extremely old stuff is the unique selling point of this game 12:55:01 <dP> not as much when your whole game is old stuff :p 13:11:43 <andythenorth[d]> Eddi|zuHause: you don't read reddit enough π 13:11:53 <andythenorth[d]> that is not a USP reddit is aware of 13:14:06 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #10376: Fix [Script]: Add missing precondition and ensure building/removing rail lines can't be backwards https://github.com/OpenTTD/OpenTTD/pull/10376#issuecomment-1396958747 13:33:16 <petern> Want to play that old game with an old gamescript? Just play OpenTTD before version 13... 13:34:01 <petern> There. Guaranteed compatibility. 13:34:53 <dP> yep, menu is just a launcher, you open the save it picks the right version ;) 13:36:09 <dP> also, rust clone wen? even Vangers have one nowadays π 13:36:29 <petern> Can you mix C++ and rust? 13:37:16 <dP> I guess kinda... 13:37:20 <dP> same as mixing with c 13:38:07 <dP> well, if you consider c a separate language and now just write c in c++ 13:41:03 <petern> It seems to be more "I mean you could, but" territory... 13:42:43 <dP> yeah, but `extern "C"` basically 13:43:37 <dP> makes sense as Rust is no oop 13:48:38 <petern> Okay so I can write `extern "C"` and then start writing code in rust, gotcha. 14:02:48 <LordAro> https://cxx.rs/ 14:02:52 <LordAro> apparently. 14:05:19 <petern> Yeah, rust OOP is totally different, so that'll be fun π 14:15:08 <andythenorth[d]> was that WASM-everything? 14:15:24 <andythenorth[d]> we port to Rust, but inside a WASM container? 14:19:32 <dP> in container it's not exactly port, it's just that you can write mods in rust 14:19:36 <dP> like squirrel and grf 14:19:52 <andythenorth[d]> well 14:19:56 * andythenorth[d] back to FIRS GS 14:20:12 <andythenorth[d]> maybe I should move more of the logic into python compile 14:20:25 <andythenorth[d]> I don't like squirrel much, I keep falling over my own feet in it 14:21:01 <andythenorth[d]> then when you do the Rust version, I can just make new templates for FIRS GS 14:21:07 <andythenorth[d]> π 14:29:23 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065639114558427156/image.png 14:29:23 <petern> How much is this non-power-of-2 nearest-neighbour scaling hated? 14:33:58 <petern> I hate it less than I thought I would, but... 14:37:06 *** TallTyler has joined #openttd 14:37:06 <TallTyler> It looks fine until you look closely and notice that lines which are supposed to match (bar graph width) don't 14:39:12 *** gelignite has joined #openttd 14:45:37 <petern> That might be an obiwan, the right-most column/bottom-most row is missing currently. 14:46:11 <petern> But might not be π 14:47:57 <Samu> glx[d], https://gist.github.com/SamuXarick/e566722c7fa73555c8cd84edeaca5c75 14:48:04 <Samu> attempting compat conversion 14:48:19 <Samu> not sure if it can be simplified further 14:49:03 <LordAro> at the very least, you are allowed to use variables... 14:49:06 <Samu> also, it won't work 100%, because 'from' can become an edge tile, and when passing it to BuildRail, it will fail on IsValidTile 14:49:31 <Samu> so... not sure what to do at this point 14:49:53 <LordAro> petern: looks fine to me 14:49:58 *** nielsm has joined #openttd 14:50:04 <Samu> by edge tile, i actually meant void tile, my bad 14:50:05 <LordAro> but also... does the book look upsidedown to anyone else? 14:50:14 <Samu> let me fix that typo 14:50:59 <petern> `/* 14 ensures rail can't be built backwards */` What is backwards? 14:51:42 <LordAro> honestly, this feels like a bug fix to me 14:51:47 <LordAro> which doesn't need compatibility at all 14:51:59 <LordAro> if you were doing it before, it was wrong and was not doing what it was supposed to 14:53:07 <petern> What is backwards though? 14:53:17 <glx[d]> It made no sense to not have tile between from and to 14:54:08 <glx[d]> In map pov, not tileindex view 15:00:56 <glx[d]> And the screenshot shows it builds rail [tile,to) as the doc says 15:03:29 *** _aD has joined #openttd 15:03:43 <andythenorth[d]> petern: on a scale of 0-10 where 10 is most hated? 0 15:03:57 <glx[d]> Some constraints are not fully enforced but it seems to work as intended 15:04:26 <andythenorth[d]> why does the map start at 1,1 not 0,0? 15:04:37 <glx[d]> Void tiles 15:04:50 <andythenorth[d]> fair enough 15:05:11 <glx[d]> Easiest way to detect the border 15:05:13 <andythenorth[d]> I hate writing docs, but I forsee a 30% chance I volunteer to write GS docs 15:05:14 <LordAro> hysterical raisins 15:05:20 <andythenorth[d]> or expand the AI script guide 15:05:24 <andythenorth[d]> I hate writing docs 15:05:53 <andythenorth[d]> the fucking frustrating thing is that doxygen is pretty comprehensive π 15:06:01 <andythenorth[d]> but does not give you what you actually need 15:06:26 <andythenorth[d]> I think doxygen can have extra comments, occasionally there's an inline example 15:07:08 <andythenorth[d]> I still have NML docs with my name on them though π 15:07:23 <glx[d]> Usually when looking for a function in script API the flow is to suppose what would be the logical class for it 15:08:04 <glx[d]> Then you look in the doc to see if something with a name matching what it would do exists 15:17:58 <Rubidium> andythenorth[d]: if you set freeform_edges to false, then you will have 0,0 ;) 15:18:34 <Rubidium> the whole map border will also implicitly become water 15:22:21 <Samu> hmm, 'from' and 'to' don't actually require IsValidTile check 15:22:29 <Samu> only 'tile' 15:22:33 <andythenorth[d]> sounds like a GS needs to know if freeform edges are set? π 15:22:37 <andythenorth[d]> oof 15:22:56 <petern> GS just needs to know if a TileIndex is valid. 15:23:03 <Eddi|zuHause> why would they need to know? 15:23:31 <andythenorth[d]> put it another way 15:24:10 <Eddi|zuHause> if any map border is freeform, the map is 1 tile smaller 15:24:11 <andythenorth[d]> when adding all valid tiles on the map to a TileList using AddRectangle, it's important to know whether to start at 0,0 or 1,1 for first vertex 15:24:21 <andythenorth[d]> which requires a test of 0,0 15:24:26 <Rubidium> andythenorth[d]: you can't really build anything useful on the 0 "row"/"column" in either case, so just ignore that "row"/"column" in your GS 15:24:44 <andythenorth[d]> oh are the water tiles non-buildable? 15:25:24 <andythenorth[d]> what I'm doing in the GS I shouldn't be doing anyway 15:25:28 <Rubidium> well, technically you can probably build on it but why add complications to your script to support it? 15:25:39 <andythenorth[d]> the GS is a lolz script to see what breaks 15:25:52 <andythenorth[d]> and learn what docs we might need, if I could face writing any 15:26:12 <andythenorth[d]> copying all the tiles in the map into a GSTileList is unwise 15:26:23 <andythenorth[d]> then I walk over all of them and put them in a table/slots structure 15:26:31 <petern> Have you PR'd areas/regions? 15:26:34 <andythenorth[d]> I have not 15:26:47 <andythenorth[d]> I think it's more likely that I'll write docs π 15:26:53 <andythenorth[d]> more chance of success 15:27:00 <andythenorth[d]> /me stats 15:27:34 <andythenorth[d]> ok Rubidium is still the winner https://github.com/OpenTTD/OpenTTD/graphs/contributors 15:28:00 <andythenorth[d]> I apparently have 29 commits, which is 23 more than I remember 15:28:47 <petern> I don't know if it knows about all commits from the SVN days. 15:28:53 <andythenorth[d]> 10% of my commits are GS 15:29:15 <petern> Hmm, starts early, so I guess it does. 15:29:32 <andythenorth[d]> yeah mostly I did docs commits 15:30:00 <andythenorth[d]> petern: you probably have a branch for areas/regions? 15:30:02 <andythenorth[d]> from last time? 15:30:18 <Eddi|zuHause> the svn accounts were matched to github accounts wherever that was known 15:30:46 <LordAro> assuming people have linked username@openttd.org to their GH account 15:30:57 <LordAro> if they're not linked, they don't show up at all 15:31:13 <Eddi|zuHause> no, there was a bit more effort put into that 15:31:58 <Eddi|zuHause> what was not matched was svn patch authors vs. committers... 15:32:55 *** Smedles has quit IRC 15:33:07 *** Smedles has joined #openttd 15:33:58 <Eddi|zuHause> at least i removed more lines than i added... that must mean the code is better :p 15:34:38 <Samu> I got an idea! 15:35:03 <Samu> but involves changing the rules a bit 15:35:38 <Samu> if my prediction is correct, then conversion can be done afterwards! 15:38:55 <Samu> AIMap.DistanceManhattan complicates things a bit, it's not exactly equal to OpenTTD's own DistanceManhattan 15:40:25 <glx[d]> For me your are trying to fix a non-issue, yes some preconditions might be missing, but BuildRail seems to build what it's supposed to build 15:44:59 <andythenorth[d]> Samu is trying to fix everything, and I'm trying to break everything π 15:45:02 <andythenorth[d]> good combo 15:45:57 *** imlegos has joined #openttd 15:45:58 <imlegos> https://tenor.com/view/thanos-perfectlybalanced-gif-18301221 15:51:33 <Samu> there should be a AITile.IsVoidTile 15:52:00 <Samu> but I understand why there's not 15:53:29 <andythenorth[d]> it's testable no? 15:53:46 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #10227: Fix 3c047b1: AIGroup.GetProfitLastYear could get values different than those displayed in GUI https://github.com/OpenTTD/OpenTTD/pull/10227#pullrequestreview-1262082014 15:54:15 <andythenorth[d]> IsValidTile? 15:55:25 <Rubidium> Samu: void tiles are an implementation detail about the map border, they serve no purpose to the end user (script, AI, player) 15:56:02 <Samu> IsValidTile returns false, but i can't assume just because it returned false, it was a void tile 15:56:31 <Rubidium> why do you want to know if it's a void tile? 15:56:42 <petern> GS don't need to know about void tiles, they are simply invalid tiles. 15:57:55 <Samu> well, if the tile is inside mapsize, and is not valid, i can assume it's a void tile, right? 15:58:16 <petern> You can assume an invalid tile is invalid. 15:59:22 <Samu> mapsize is something like 256*256 = 65536. so if tileindex is above 65535, then it can no longer be a voil tile, but if it's <= 65535 and is invalid tile, then it's a void tile 15:59:25 <Samu> is my logic correct? 15:59:49 <petern> Write-only mode again. 15:59:54 <andythenorth[d]> there are no useful cases for needing to specifically know a tile is void π 16:00:08 <andythenorth[d]> if it's void you can't do anything with it π 16:00:22 <andythenorth[d]> if the number of void tiles at map edge was variable, THEN we might need to check them 16:00:28 <LordAro> a human doesn't need to know if it's a void tile, why should an AI? 16:00:29 <andythenorth[d]> but ... it isn't really 16:01:12 <petern> I'll make a circle map with void tiles 16:01:15 <andythenorth[d]> oh is this some difference of approach. Duck-type, but defensively, vs. 'everything must be exactly specified' 16:01:37 <andythenorth[d]> petern: make pacman face 16:01:45 <petern> Repton face. 16:01:51 <andythenorth[d]> chuckie egg map 16:02:02 <Rubidium> Samu: I wouldn't even say that in case of map size 256x256 a tileindex above 65535 needs to be invalid. I can really imagine higher tiles being misused for stuff like corners/junctions/stations in tunnels and bridges 16:02:04 <andythenorth[d]> isn't there a hole in the middle of the Catan board? 16:02:09 <andythenorth[d]> oh donut maps might be a thing 16:02:13 <LordAro> troll face map 16:02:14 <andythenorth[d]> this a great idea 16:02:17 <andythenorth[d]> ok, more void tiles 16:02:26 <andythenorth[d]> donut maps mean you have to go round, not across 16:02:29 <LordAro> wasn't head2head implemented using void tiles? 16:02:34 <petern> Rubidium: PR please π 16:03:27 <petern> Sliced tileindexes? 16:05:21 <Rubidium> I Publicly Renounce the idea of corners/junctions/stations in tunnels and bridges ;) 16:05:51 <andythenorth[d]> oh...can we tunnel through the void though? 16:05:54 <andythenorth[d]> in the donut map? 16:05:59 <andythenorth[d]> donut? doughnut? 16:06:34 <petern> MΓΆbius maps? 16:06:46 <Rubidium> would essentially be an infinite map 16:07:03 <LordAro> i feel like i've seen that suggestion before 16:07:24 <LordAro> if you could visually wrap a 4k map, would anyone ever know? 16:08:49 <petern> They might as well be. 16:08:59 <andythenorth[d]> MΓΆbius maps, but you can fly your biplane around them 16:09:19 <andythenorth[d]> we've been way too conservative with OpenTTD π 16:09:28 <andythenorth[d]> we should add many more things 16:09:31 <andythenorth[d]> just not an email client 16:10:05 <andythenorth[d]> https://en.wikipedia.org/wiki/Jamie_Zawinski#:~:text=Zawinski's%20Law%20of%20Software%20Envelopment,replaced%20by%20ones%20which%20can. 16:10:15 <andythenorth[d]> well maybe an email client 16:11:03 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365#pullrequestreview-1262113253 16:16:59 <DorpsGek> [OpenTTD/OpenTTD] FLHerne updated pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365 16:17:15 *** _aD has quit IRC 16:18:48 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365#pullrequestreview-1262126966 16:20:53 <FLHerne> macOS CI failed for some spurious reason :-/ 16:21:08 <FLHerne> error: http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz: curl failed to download with exit code 7 16:21:28 <Samu> ah crap, i can't set AIError's 16:21:41 <Samu> ScriptObject is not accessible 16:22:24 <Samu> but! I can provoke a precondition fail 16:22:59 <Samu> gonna cheat the precondition fail in 16:23:20 <Rubidium> FLHerne: it's even worse :( 16:24:17 <FLHerne> Windows seems the same 16:24:52 <FLHerne> oberhumer.com is just broken atm 16:37:54 *** keikoz has joined #openttd 16:40:12 <petern> Works for me. 16:41:50 <FLHerne> It does for me now too 16:42:08 <FLHerne> Can someone rerun the CI? 16:43:21 <glx[d]> Looks like bad luck and new image so no cache yet 16:48:49 <glx[d]> Cancelled and re-run, seems better 16:50:11 <LordAro> FLHerne: also, opening { should be on its own line 16:51:14 <FLHerne> blah 16:51:21 <DorpsGek> [OpenTTD/OpenTTD] FLHerne dismissed a review for pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365#pullrequestreview-1262126966 16:51:24 <DorpsGek> [OpenTTD/OpenTTD] FLHerne updated pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365 16:51:28 <LordAro> :) 16:53:44 <glx[d]> And I won't cancel again the previous CI (to cache vcpkg as it worked this time) 17:05:46 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365#pullrequestreview-1262219671 17:11:23 <FLHerne> CodeQL is slooow 17:11:58 <LordAro> MSYS is sloooower! 17:14:29 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365#pullrequestreview-1262229612 17:15:39 <petern> I rage-quit out of Doom yesterday, then realised I hadn't saved any progress on that level. Oops. 17:17:54 <FLHerne> petern: I don't understand your comment at all 17:18:10 <LordAro> FLHerne: Doom is a game from the early 90s 17:18:14 <FLHerne> the four STR_BRIDGE_SELECT_INFO_* strings are all used in the same place 17:18:20 <FLHerne> and nowhere else 17:18:44 <FLHerne> not all of them use all the parameters because that's the whole point of them being separate strings 17:18:53 <FLHerne> LordAro: that I understand 17:19:05 <petern> `STR_SELECT_BRIDGE_INFO` is used in scenario editor mode now. 17:19:17 <petern> Previously it was used in normal game mode. 17:19:46 <petern> Given the parameter change as well... 17:20:03 <FLHerne> oh, different from the old code 17:20:13 <FLHerne> I guess so 17:25:34 <DorpsGek> [OpenTTD/OpenTTD] FLHerne dismissed a review for pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365#pullrequestreview-1262219671 17:25:37 <DorpsGek> [OpenTTD/OpenTTD] FLHerne updated pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365 17:33:10 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #10365: Fix #10362: NewGRF bridges without speed limits. https://github.com/OpenTTD/OpenTTD/pull/10365#pullrequestreview-1262285667 17:53:11 <DorpsGek> [OpenTTD/OpenTTD] George-VB opened issue #10377: [Bug]: Sorting order is not correct - engine between wagons https://github.com/OpenTTD/OpenTTD/issues/10377 17:56:00 <dP> https://cdn.discordapp.com/attachments/1008473233844097104/1065691110879547462/Screenshot_from_2023-01-19_21-54-38.png 17:56:01 <dP> so, yeah, new game... 17:56:17 <dP> still needs a bit of work before finished π 18:11:19 <andythenorth[d]> model train layout? π 18:14:02 <dP> realism :p 18:22:48 *** Flygon has quit IRC 18:26:30 <andythenorth[d]> wonder if I can crash GS some more 18:27:55 <andythenorth[d]> can the town for a tile change during game? 18:29:01 <andythenorth[d]> also, my OpenTTD normally runs around 500 MB RAM use 18:29:29 <andythenorth[d]> storing all the town tiles in GS pushes that to about 800 MB 18:29:31 <andythenorth[d]> probably fine? 18:29:49 <andythenorth[d]> 2048^2 map 18:30:01 <andythenorth[d]> 4 seconds to walk all the tiles at game start 18:36:31 <dP> andythenorth[d]: yes, you can found towns during the game 18:36:43 <Eddi|zuHause> andythenorth[d]: if you found a new town some tiles may change 18:37:24 <Eddi|zuHause> andythenorth[d]: also, towns that grow faster can grow into the area of other towns, so the town which "owns" the tile is not necessarily the "town authority" responsible for the town 18:37:45 <Eddi|zuHause> *last "town" should be "tile" 18:39:18 <dP> lol, I wonder what happens when you fund industry by replacing houses 18:39:27 <dP> does it get town of the tile or of the house 18:39:53 <andythenorth[d]> ok so we'll need to walk all the tiles periodically 18:39:55 <andythenorth[d]> maybe once a month 18:40:03 <andythenorth[d]> 4 seconds is fine? 18:40:16 <andythenorth[d]> do I get free opcodes if GS pauses the game? 18:40:21 <dP> if you just need to fund industries you don't need to store tiles at all 18:40:33 <andythenorth[d]> I need to put them in a specif