IRC logs for #openttd on OFTC at 2024-10-19
⏴ go to previous day
00:57:25 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
01:37:24 *** Wormnest has joined #openttd
02:34:57 *** Wormnest has quit IRC (Quit: Leaving)
02:51:59 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
02:55:15 *** Flygon has quit IRC (Read error: Connection reset by peer)
03:03:26 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:07:58 *** D-HUND is now known as debdog
03:30:38 <soylent_cow[m]> do plains tend to fall eventually?
03:30:47 <soylent_cow[m]> s/plains/planes/
03:31:08 <soylent_cow[m]> after like 24 hours of real time, all 6 of my plains are gone
03:31:21 <soylent_cow[m]> not sure what happened to them
03:32:56 <soylent_cow[m]> google is my friend
03:36:59 <soylent_cow[m]> plane_crashes 0 ftw
03:39:36 <soylent_cow[m]> should i let towns build roads? i can't decide ....
03:52:46 <debdog> if they want to grow, they need to build roads? I suppose
03:56:06 <soylent_cow[m]> well, players can build roads.... i am being a total control freak 😅
03:57:20 <debdog> I agree, in some cases it'd be really helpful for certain cities not build any roads
04:45:14 <DorpsGek> - Update: Translations from eints (by translators)
05:51:38 <soylent_cow[m]> how's the main menu game generated? is that like the same game being loaded and then simulated? is there a way to load a different game?
05:51:55 <soylent_cow[m]> like the game greeting screen background
05:53:40 <debdog> yes, it basically is just a saved game
05:54:39 <debdog> give me some time to dig up info
06:04:43 <debdog> its a savegame renamed to opntitle.dat at a certain location
06:05:07 <debdog> I know there is some docu for that out there somewhere....
07:01:51 *** Smedles has joined #openttd
10:04:07 <xarick> im getting a jsoh.hpp crash
10:05:04 <xarick> invalid UTF-8 byte at index
10:05:24 <xarick> but it crashed trying to display this invalid thing
10:07:39 <xarick> oh, something here is an invalid utf-8 byte or something like that
10:09:29 <xarick> a crash parsing the crash log?
10:19:56 <xarick> seems to be a very long line involving the definition of TileIndex?
10:26:16 <xarick> feel the power of TileIndex
10:26:28 <xarick> openttd 7FF67E742466 CommandHelper<108,std::tuple<CommandCost,OverflowSafeInt<__int64>,StrongType::Typedef<unsigned int,TileIndexTag,StrongType::Compare,StrongType::Integer,StrongType::Compatible<int>,StrongType::Compatible<__int64> > > (__cdecl*)(enum DoCommandFlag,StrongType::Typedef<unsigned
10:26:28 <xarick> int,TileIndexTag,StrongType::Compare,StrongType::Integer,StrongType::Compatible<int>,StrongType::Compatible<__int64> >,StrongType::Typedef<unsigned int,TileIndexTag,StrongType::Compare,StrongType::Integer,StrongType::Compatible<int>,StroÌÌÌÌÌÌÌÌÌÌḬ̀®oÓï + 758 (E:\OpenTTD Visual Studio\SamuXarick\OpenTTD\src\command_func.h:305)
10:28:09 <xarick> index 547 is at the first "Ì" in that line... StroÌÌÌÌÌÌÌÌÌÌÌÌ
10:35:53 <xarick> not sure what I'm supposed to look at
10:40:23 <xarick> probably what it's trying to write "invalid UTF-8 byte at index 547: 0xD6"
10:42:40 <_jgr_> The MAX_SYMBOL_LEN constant in the window crash log might need bumping for this level of templating
10:43:08 <_jgr_> Still, SymGetSymFromAddr64 really ought to truncate and null-terminate it properly if it doesn't fit
11:01:03 <xarick> that's a strange place...
11:02:02 <xarick> I was doing some terraforming at the left corner of the map
11:02:08 <xarick> and got the NOT_REACHED
11:02:32 <xarick> maybe I broke terraform
11:04:51 <xarick> wish i could know what was the value of "corners"
11:08:38 <xarick> trying to display the cost of terraform command
11:08:48 <xarick> ShowCostOrIncomeAnimation(x, y, GetSlopePixelZ(x, y), res.GetCost());
11:11:25 <xarick> GetPartialPixelZ is called with x = 0, y = 0 and corners = 25
11:11:53 <xarick> there's also another one
11:11:54 <xarick> GetTilePixelSlopeOutsideMap
11:17:03 <xarick> tile = 127, map is 64x64, freeform_edges is true
11:20:17 <xarick> i wish void tiles could be drawn so i could see what the heck the slope looks like
11:25:39 <xarick> oh, it's a SLOPE_NW, height 5
11:32:54 <xarick> SLOPE_W | SLOPE_N | SLOPE_STEEP = 25
11:34:37 <xarick> so there is no SLOPE_STEEP_NW, therefore it calls NOT_REACHED
11:38:44 <andythenorth[d]> it's a shame about CC_SPECIAL
11:38:58 <andythenorth[d]> it would have been helpful to have that as the name for bit 10
11:39:22 <andythenorth[d]> CC_OVERSIZED is near useless
11:46:45 <andythenorth[d]> what shall I rename CC_OVERSIZED to ?
11:46:49 <andythenorth[d]> CC_DIFFICULT?
11:46:59 <andythenorth[d]> CC_HARD_TO_HANDLE?
11:47:16 <andythenorth[d]> `(any cargo needing special means of transportation, e.g. industrial equipment, machinery, large format glass, ... )`
11:47:30 <andythenorth[d]> also includes Yeti Dudes from NUTS
11:53:00 <Borg> CC_OVERSIZED is perfect legal.. thats how actually its called in ADR?
11:57:51 <andythenorth[d]> CC_OVERSIZED is almost meaningless in OpenTTD
12:05:20 <_glx_> As I understand it, `Name` field is actually `MaxNameLength` + 1 long
12:06:50 <_glx_> So MaxNameLength is without null-terminating, but Name itself includes it
12:08:15 <_jgr_> As I said, I've tested it, if the symbol name is >= MaxNameLength, exactly MaxNameLength chars are written, none of which are null terminators
12:09:45 <_jgr_> If the null terminator was written at position MaxNameLength, there would be no bug
12:10:11 <_jgr_> Because of struct padding
12:10:21 <_glx_> MaxNameLength was wrong anyway
12:36:14 <peter1138> Why is `sym_info_raw` using `MAX_SYMBOL_LEN - 1`?
12:52:06 <xarick> i got a tile height difference of 3 within the same tile
12:55:50 <xarick> i broke terraform confirmed
13:04:53 <Borg> hm, whats the maxium allowed tile height?
13:06:23 <xarick> from one tile to the next one adjacent is 2
13:06:45 <xarick> i got a 3, so i broke it
13:07:48 <Borg> I mean not relative but absolute
13:11:07 <Rubidium> Borg: anywhere between 1 and 255, depending on the setting (construction.map_height_limit)
13:11:14 <peter1138> Borg: 255, but because there's no cliffs that isn't really usable.
13:26:39 <_glx_> we can't do that, it's an API struct
13:31:48 <_glx_> but removing the `- 1` and documenting the "weirdness" of `Name` field would simplify things
13:36:07 <andythenorth[d]> oof my python loop to figure out NOT AND is wrong 😛
13:36:38 <andythenorth[d]> do I need to do some boolean maths or something
13:36:44 <andythenorth[d]> I have no idea how to do this
13:37:08 <andythenorth[d]> cargo has `classes = ['foo', 'bar']`
13:37:47 <andythenorth[d]> vehicle has `
13:37:47 <andythenorth[d]> allowed_classes = ['foo', 'cabbage']
13:37:47 <andythenorth[d]> disallowed_classes = ['bar']
13:38:01 <andythenorth[d]> I have a loop across the cargo and vehicle
13:38:27 <andythenorth[d]> but it seems to be a mess of 'allow' flags getting set / unset, and break / continue in loops
13:38:32 <andythenorth[d]> there must be a one line way
13:49:54 <andythenorth[d]> we might back up a bit, and say "this is all silly"
13:50:17 <andythenorth[d]> Josef had an idea in 2005 that Michael Blunck indicated some flaws with at the time, and we're still pursuing it 😛
13:50:25 <_glx_> peter1138: replacing with std::array
13:51:03 <peter1138> crashlog_win.cpp:239 is a C-array.
13:57:50 <_glx_> auto sym_info_raw = std::array<char, sizeof(IMAGEHLP_SYMBOL64) + MAX_SYMBOL_LEN>();
13:57:50 <_glx_> IMAGEHLP_SYMBOL64 *sym_info = (IMAGEHLP_SYMBOL64*)sym_info_raw.data();
14:01:49 <_glx_> char sym_info_raw[sizeof(IMAGEHLP_SYMBOL64) + MAX_SYMBOL_LEN];
14:01:49 <_glx_> IMAGEHLP_SYMBOL64 *sym_info = (IMAGEHLP_SYMBOL64*)sym_info_raw;
14:01:49 <_glx_> sym_info->SizeOfStruct = sizeof(IMAGEHLP_SYMBOL64);
14:01:49 <_glx_> sym_info->MaxNameLength = MAX_SYMBOL_LEN;
14:01:51 <_glx_> sym_info->Name[MAX_SYMBOL_LEN] = '\0';
14:03:22 <Borg> im storing a byte value 0x80 to pernament storage.. and its interpretted as signed
14:03:28 <Borg> where that one comes from ;)
14:03:56 <Borg> solution is trival.. change generic byte -> generic word
14:04:06 <Borg> read word and mask it via 0x00FF
14:04:19 <_glx_> oh it should be somewhere in the spec
14:04:44 <Borg> I doubt it because spec is inconsistent
14:04:46 <peter1138> Varaction2s are signed or unsigned depending on the operator.
14:04:55 <Borg> many NFO operations are unspecified about sign
14:05:47 <_glx_> but when reading it depends on the operator
14:05:48 <Borg> ! *02 0A 02 gb 93 avs FF stp im 01 01
14:06:04 <Borg> yet this one makes it signed when values exceeds 0x7F
14:06:45 <Borg> _glx_ im not even doing anything w/ it.. just reading Industry storage via OpenTTD GRF Debugger
14:07:07 <_glx_> ah it's just a display issue then
14:07:09 <Borg> I wonder how its really extended..
14:07:15 <Borg> _glx_: I doubt its display issue
14:07:25 <Borg> I belive value is 0xFFFFFF80
14:07:39 <Borg> sign was extended from byte to dword
14:07:41 <peter1138> When you read it as a byte again, it'll be 0x80.
14:08:18 <Borg> but for peace of mind.. I change that above NFO gb -> gw
14:53:14 <peter1138> > If you're writing them using smaller sizes (anything but type 89/8A), the given value will be sign-extended to 4 bytes.
14:53:18 <peter1138> Seems to be in the spec.
14:58:16 <xarick> found a tiny bug in water regions
14:59:37 <xarick> with freeform_edges off, clearing a buoy that was placed at the edge of the map, will trigger a region invalidation on the opposite side of the map
15:00:21 <xarick> because it's an "adjacent" region 😮
15:13:38 <Borg> peter1138: ahh indeed! thanks
15:33:42 <peter1138> Something like that. I probably should've compiled first.
15:53:49 <soylent_cow[m]> OMG i just wuv the town growth algo, it's like addictive to watch
15:54:05 <soylent_cow[m]> it's like the best cellular automaton evah
15:54:29 <soylent_cow[m]> it's like sim city that builds itself
15:54:51 <soylent_cow[m]> i wish there were hospitals and schools and fire and police stations 😹
16:00:15 <kuhnovic> xarick: Not really a problem, but it's not necessary. Feel free to make a PR if you have a fix 😉
16:08:13 <xarick> he's on the mission of fixing stuff I report
16:13:18 <peter1138> It's usually less painful than seeing what you come up with.
16:19:23 <xarick> I'm trying to understand IsNeighborRoadTile
16:32:51 <xarick> for (uint pos = 4; pos < dist_multi; pos++) {
16:32:51 <xarick> I think this is missing something
16:33:42 <xarick> with TileIndexDiffC it would be much easier to follow what it's doing
16:36:08 *** merni has quit IRC (Quit: User went offline on Discord a while ago)
16:39:56 <xarick> positions tested: (0, -1), (0, 1), (1, -1), (1, 1), (0, -2), (0, 2), (1, -2), (1, 2) with DIAGDIR_NE
16:41:19 <xarick> but... there's a tiny chance it could go to the other side of the map
16:41:58 <xarick> I suspect it may happen in the map corners
16:45:20 <xarick> got an assert somewhere else in town_cmd
16:49:38 <xarick> should be < map::SizeX()
16:50:36 <peter1138> 4096 is not a possible x coordinate.
16:51:02 <xarick> yes, that's what this boundaries testing is doing... making sure they're in
16:52:31 <xarick> need the TileIndexDiffCWrap treatment is what I'm saying
17:01:56 <xarick> brute forcing town placements 🙂
17:02:56 <xarick> aha, got an assert in the place I was looking at
17:04:37 <xarick> tile + cur became a tile with a y = -1
17:07:50 *** Wormnest has joined #openttd
17:07:56 <xarick> IsValidTile(AddTileIndexDiffCWrap(tile, cur)) should fix it, provided hose TileIndexDiff's are converted to TileIndexDiffC's
17:23:24 <LordAro> seems a significant improvement
17:24:27 <peter1138> Not as much as that, though.
17:25:32 <LordAro> did you just disable the tile loop?
17:29:37 *** gelignite has joined #openttd
17:39:04 <peter1138> No, I loaded the same save in JGRPP.
17:40:30 <peter1138> But as there's so many changes it's difficult to narrow down.
17:44:55 <peter1138> JGRPP also skips changes like making TileIndex a StrongType.
17:51:15 <xarick> I think there's a problem with the check for Drivethrough direction... it should compare the axis
17:55:42 <_jgr_> Flooding in the water tile loop handler is probably the largest part of the performance gain for that, followed by snow line handling if you're in the arctic climate
17:56:57 <_jgr_> There are some other minor shavings but they're not that significant
18:21:22 <peter1138> Although not insignificant.
18:24:56 <peter1138> Annoying thing about the Steam nightly binaries is they are not directly comparable to my own.
18:25:45 <peter1138> Different compilers.
18:25:58 <peter1138> They are usually a little bit slower than my builds.
18:26:24 *** akimoto has joined #openttd
18:27:06 <truebrain> time to upgrade the nightly, you say? 😄
18:27:49 <peter1138> Hmm. 2048x2048 map with 90% water.
18:28:23 <peter1138> Oh, JGRPP doesn't open it yet.
18:41:08 <andythenorth[d]> hmm documenting how to use cargo classes is 🤯
18:41:38 <andythenorth[d]> explaining how authors can do the right thing, succinctly, is hard 🙂
18:42:10 <andythenorth[d]> - have to cover the following cases
18:42:37 <andythenorth[d]> - cargos are mostly ok, but setting both bit 13 and 14 will likely cause failures
18:43:15 <andythenorth[d]> - cargos need a fallback class, to account for vehicle GRFs that only set the most minimal classes
18:43:22 <andythenorth[d]> - or are unfinished, and only have limited wagons
18:44:20 <andythenorth[d]> - and cargos also need to set a good spread of classes, so authors of larger / more maintained / more comprehensive GRDS can match vehicle types to cargos without having to track all labels ever
18:44:28 <andythenorth[d]> - vehicles are mostly ok
18:44:54 <andythenorth[d]> - but authors need to ensure they don't set bit 13 and 14 too tightly, as they'll unintentionally exclude cargos
18:45:44 <andythenorth[d]> - and authors of smaller vehicle sets need to provide some general cargo vehicles, which set piece goods, and probably most of the other freight classes
18:46:10 <andythenorth[d]> - but authors of larger sets might want to set classes more selectively, if they have more vehicle types
18:47:24 <andythenorth[d]> - authors mostly don't bother with any of this, so more explanation is .... not something they're incentivised to read 🙂
18:52:20 <ian01223> you seem to be a fan of the bullet point
18:52:36 <andythenorth[d]> but one post at a time 😛
18:52:54 <ian01223> I do the latter too, to be fair
18:53:56 <ian01223> I mean, I imagine most authors of the larger vehicle sets probably have a somewhat healthier appetite for documentation and complexities than the average player, for them to have bothered to get this far
18:57:41 <andythenorth[d]> I'm a bit unclear what the right thing to do is for fallbacks
18:58:09 <andythenorth[d]> the more that cargos set 'piece goods' or 'open bulk' as fallbacks, the more authors will want to set up excludes
18:58:50 <andythenorth[d]> but excludes, used without care, are problematic and can lead to unrefittable cargos, in ways vehicle authors might not be able to predict
18:59:45 <andythenorth[d]> but asking authors to set classes like 'liquid' on general cargo vehicles is counter-intuitive
19:00:49 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
19:01:31 <peter1138> I wonder what happens with Xarick's silly save 😄
19:01:40 <andythenorth[d]> 70k cargo classes?
19:02:12 <peter1138> Predictably, nothing much.
19:04:02 <andythenorth[d]> pff, has anyone ever done anything to handle old cargos? 😛
19:09:11 <peter1138> Yes, cargo classes.
19:09:50 <peter1138> And if you mean pre-cargo class cargoes, then they are generally not worth dealing with.
19:15:00 <peter1138> I guess I might not have the tile state right.
19:23:38 *** Wormnest has joined #openttd
19:33:18 <xarick> xarick: Nevermind! IsAnyRoadStop also includes drivethrough
19:33:54 <xarick> but now there are roadstop waypoints?
19:38:06 <johnfranklin> Is London Bridge the "plainest" thing in london?
19:38:36 <johnfranklin> everything else is a piece of art
19:38:57 <_glx_> xarick: added 4 months ago
19:42:11 <xarick> amazed that IsDriveThroughStopTile returns true for roadstop waypoints
19:42:19 <xarick> so there's no need to update that
19:46:06 <andythenorth[d]> hmm is oxygen food-grade or not?
19:46:14 <andythenorth[d]> probably not relevant
19:48:22 <Rubidium> andythenorth[d]: there's definitely a difference between oxygen safe for human use and for industrial use, but I doubt that classifies as food-grade.
19:48:41 <andythenorth[d]> I've changed my example to Chlorine 😛
19:48:46 <andythenorth[d]> avoiding the issue
19:49:15 <peter1138> I mean, that "issue" is precisely the reason why you have potable and non-potable as two bits.
19:49:18 <Rubidium> unless you're talking about using liquid oxygen for some cooking process, like they use liquid nitrogen to make some weird icecream and such
19:49:22 <peter1138> (Well, at least one reason)
19:49:43 <andythenorth[d]> peter1138: yes, and in this case neither should be set
19:49:48 <andythenorth[d]> which confuses the docs 😛
19:49:58 <andythenorth[d]> oh nitrogen has same issue 😛
19:50:29 <andythenorth[d]> is ammonia transported as gas or liqud?
19:52:28 <squirejames> andythenorth[d]: "Ammonia is transported by rail and truck in pressurised liquid form. Insulated vessels with refrigeration systems are used for ocean and barge shipment.!"
19:53:14 <squirejames> (for more information on the storage and transport of Ammonia than I ever thought i'd want to know)
19:53:54 <andythenorth[d]> pff...it goes in pressure tankers
19:56:09 <squirejames> Go home AI, you're drunk
19:57:32 <squirejames> (was trying to recall what other gases were transported as pressurised liquids)
19:57:32 <squirejames> A pressurised class label could be used for more than just liquids though. I believe concrete is transported in pressure vessels
19:58:27 <squirejames> and there was something powdery that was. China Clay? Something with those weird twin tanker vessels. But yes, compressed powders be a thing too
19:58:58 <andythenorth[d]> I skip straight over 'AI overview'
19:59:04 <andythenorth[d]> it I want lies, I have GPT open
19:59:25 <squirejames> (I do especially like how oxygen "can be an oxidizing agent" well, blow me down)
20:01:14 <_glx_> I like how it mixed train and human blood
20:01:19 <andythenorth[d]> pff the break / continues in my 'disallow' loop....were wrong 😛
20:01:40 <squirejames> Also, sort of a philosophical though, is concrete a liquid? a very *thick* liquid? I mean, eh I guess? that just feels weird
20:02:17 <_glx_> and I think the "plan ahead" section is for people with oxygen bottle
20:02:48 <squirejames> I do like to make sure I have enough oxygen for my planned rail trip though
20:02:54 <xarick> @rubidium there seems to be an issue with flooding edge tiles now
20:08:02 <xarick> _glx_: nop, it is, just reverted and it works fine without the recent change
20:09:07 *** akimoto has quit IRC (Remote host closed the connection)
20:09:22 <truebrain> making the game faster peter? Pffff, that is so against policy 😄
20:09:50 <xarick> let me change to if (dest >= Map::Size()) continue;
20:09:52 <peter1138> It's easy to make the game faster. Just take lots of things out.
20:10:24 <peter1138> My PR does not affect the map edges at least 😄
20:10:39 <peter1138> truebrain: Also it's stolen from JGRPP so entirely not my fault.
20:12:43 <Rubidium> xarick: can you try dest == INVALID_TILE as well?
20:19:57 <ian01223> johnfranklin: london bridge was recently rebuilt and it's got the shard practically built into it, so it's relatively nice.
20:19:57 <ian01223> Also, Euston exists....
20:20:34 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
20:21:41 <ian01223> to be fair though, I don't think I'd count Euston as "plain" when things like the euston races exist, but those are usually the wrong kind of exciting...
20:22:37 <_glx_> xarick: `!IsValidTile(dest)` is equivalent to `dest >= Map::Size() || IsTileType(dest, MP_VOID)` so your change should not affect anything
20:23:07 <ian01223> that's what happens when you only announce which platform a train arrives at a 16 platform terminus a minute before the train arrives
20:24:08 <peter1138> MP_VOID tiles do affect flooding/drying state, so it will.
20:25:05 <peter1138> ian01223: Like one of the London termini that recently replaced the departure board with a full length massive display.
20:25:07 <peter1138> For showing adverts.
20:26:23 <peter1138> Hmm, I think they have switched it off now.
20:26:37 <_glx_> oh indeed MP_VOID could cause an early continue
20:27:19 <peter1138> That ... perfect for departures and... they used it for advetising.
20:27:44 <_glx_> oh they even used all the screen
20:28:52 <peter1138> Yes, the departure boards are the relatively tiny screens in the middle.
20:30:22 <_glx_> tickets are too cheap, they need extra money from ads 😉
20:32:31 <ian01223> well, obviously the advertising board is one thing (which they've turned off now) but apparently removing the big central departure boards and having little ones around the station did help with the flow issues
20:32:45 <ian01223> before there'd be a giant crowd in the middle that'd just block everyone's way
20:33:42 <ian01223> peter1138: that is, in fact, exactly the one I was talking about - Euston
20:34:11 <peter1138> Yeah, I somehow missed the first part 🙂
20:36:19 <ian01223> it's ironic, I've read the design guidelines for network rail stations myself and they explicitly say not to make enormous advertising boards more conspicuous than signage...
20:36:26 <johnfranklin> fish and chips, 20£, I guess I deserve to be hijacked since that place was near Big Ben...
20:37:21 <ian01223> that feels extortionate even for westminster
20:37:35 <peter1138> And I get pissed off with the current proliferation of advertising boards blocking pavements in town...
20:40:36 <squirejames> _glx_: Tickets are too cheap. You are able to travel from London to Newcastle at the low price of just one kidney 😛
20:42:41 <johnfranklin> ian01223: But it is indeed Westminster
20:45:11 <johnfranklin> Lol, it was hell-y old and was usually visited by Charles Dickens etc
20:52:12 <andythenorth[d]> hmm, the case of weird cargos remains weird
20:52:21 <andythenorth[d]> Yeti dudes, nuclear fuel, tractors
20:52:45 <andythenorth[d]> vehicle grfs that handle CC_OVERSIZED, that could be relied on as fallback
20:53:25 <andythenorth[d]> but the cargo needs to set another fallback class for old grfs, like CC_EXPRESS, CC_ARMOURED, or CC_PIECE_GOODS
20:53:43 <andythenorth[d]> which means that for sets that do handle CC_MISFIT, unwanted things will show up
20:54:06 <andythenorth[d]> and then nearly every vehicle needs to set CC_MISFIT to disallowed
20:54:54 <peter1138> Cargo class labels so that everyone can define their own classes and nothing is ever compatible...
20:55:23 <andythenorth[d]> I feel that might not be The One
20:56:07 <andythenorth[d]> it's way too much faff for OpenTTD test if a cargo has no suitable vehicles?
20:58:27 <andythenorth[d]> hmm, dunno, maybe I should look in the mirror 😛
20:58:40 <andythenorth[d]> when I don't like a specific refit, I just exclude that label
20:58:57 <andythenorth[d]> but I actually somewhat maintain grfs
20:59:19 <andythenorth[d]> other vehicle authors reasonably want to write it once, and have it work as expected forever
21:09:21 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:21:27 <squirejames> I think it should be considered that for every attempt to categorise, well, anything, there will inevitably be outliers and exceptions
21:23:37 <peter1138> Aww, they didn't embed. Never mind.
21:24:34 <xarick> i also think docks can flood, not sure
21:26:24 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:27:35 <xarick> I made them flood, remember
21:29:02 <peter1138> This only touches MP_WATER tiles, so MP_VOID will still behave as before.
21:29:50 <peter1138> But only a 4Kx4K map there are "not that many" MP_VOID tiles.
21:30:31 <peter1138> Buoys are station tiles, so again no behaviour change.
21:31:34 <peter1138> It could perhaps be improved though, because those don't need to stay as flooding tiles.
21:33:03 <peter1138> Same with dock tiles.
21:33:05 <xarick> im unsure about canals/rivers on sea level... i think they don't flood for "reasons"
21:33:51 <peter1138> They do not flood anyway.
21:34:14 <peter1138> My debugging output doesn't check for that because it's lazy 😄
21:36:31 <xarick> oh, there's also that rail track with water on the same tile
21:38:23 <peter1138> Hmm, that stays floodable. I guess it's rare enough to not care.
21:45:38 <xarick> this looks similar to docking tiles
21:51:17 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:51:52 *** tokai|noir has joined #openttd
21:51:52 *** ChanServ sets mode: +v tokai|noir
21:58:26 *** tokai has quit IRC (Ping timeout: 480 seconds)
22:15:50 *** Borg has quit IRC (Quit: leaving)
22:16:24 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
23:18:36 <peter1138> Hmm, ~56,700 animated tiles.
23:19:24 <peter1138> ```[2024-10-20 00:18:51] dbg: [misc:0] Before: 57107
23:19:24 <peter1138> [2024-10-20 00:18:51] dbg: [misc:0] After: 56831
23:19:24 <peter1138> [2024-10-20 00:18:51] dbg: [misc:0] Before: 57124
23:19:24 <peter1138> [2024-10-20 00:18:51] dbg: [misc:0] After: 56818
23:19:24 <peter1138> [2024-10-20 00:18:51] dbg: [misc:0] Before: 57117
23:19:25 <peter1138> [2024-10-20 00:18:51] dbg: [misc:0] After: 56825```
23:19:36 <peter1138> Seem to be adding & removing a lot every tick.
23:19:58 <_glx_> start/stop animation callbacks ?
23:21:01 *** Tirili has quit IRC (Quit: Leaving)
23:35:53 <peter1138> Hmm, although it stays around 57,000, there's about 130,000 tiles that have been animated at some point.
23:37:02 <peter1138> So adding and removing, but not the same tiles.
continue to next day ⏵