IRC logs for #openttd on OFTC at 2025-05-31
            
00:13:39 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
00:14:13 *** WormnestAndroid has joined #openttd
00:19:13 *** Zathras is now known as debdog
00:38:41 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
00:40:37 *** WormnestAndroid has joined #openttd
01:29:59 *** godbed has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
02:44:26 *** gnu_jj_ has joined #openttd
02:48:04 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
03:22:06 *** D-HUND has joined #openttd
03:25:41 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:56:35 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:56:37 *** WormnestAndroid has joined #openttd
03:56:47 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:56:48 *** WormnestAndroid has joined #openttd
03:56:51 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:56:51 *** WormnestAndroid has joined #openttd
04:08:36 *** ipravd has joined #openttd
04:08:52 *** ipravd_ has joined #openttd
04:09:18 *** ipravd_ has quit IRC ()
04:09:59 *** ipravd has left #openttd
04:12:11 *** keikoz has joined #openttd
04:20:22 *** ipravd_ has joined #openttd
04:21:26 *** ipravd_ has quit IRC ()
04:21:59 *** ipravd_ has joined #openttd
04:28:51 <ipravd_> Hi OpenTTD community
04:28:58 <ipravd_> I am looking at bug #14277 at Github and I went down the rabbit holde trying to understand airport blocking mechanisms. What does AirportBlocks actually represent? Is it a block as in part of the airport layout or as a obstruction of an area of the airport? It seems like it acts as both
04:35:10 *** ipravd_ has quit IRC (Quit: ipravd_)
04:35:41 *** ipravd_ has joined #openttd
04:39:31 <DorpsGek> [OpenTTD/OpenTTD] eints-sync[bot] pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/621c031307b842f238f4fbb5c95607cd5718659d
04:39:32 <DorpsGek> - Update: Translations from eints (by translators)
05:19:38 *** keikoz has quit IRC ()
05:22:40 *** keikoz has joined #openttd
05:54:07 *** Flygon has joined #openttd
06:20:16 *** D-HUND is now known as debdog
06:28:11 *** ipravd_ has quit IRC (Ping timeout: 480 seconds)
07:37:46 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14315: Fix 5664b1e2f6: Upgrade button in NewGRF window no longer worked. https://github.com/OpenTTD/OpenTTD/pull/14315
07:39:53 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #14315: Fix 5664b1e2f6: Upgrade button in NewGRF window no longer worked. https://github.com/OpenTTD/OpenTTD/pull/14315#pullrequestreview-2883630648
07:48:56 *** Wolf01 has joined #openttd
08:04:35 *** mindlesstux has quit IRC (Quit: The Lounge - https://thelounge.chat)
08:05:02 *** mindlesstux has joined #openttd
08:10:04 *** mindlesstux has quit IRC (Quit: The Lounge - https://thelounge.chat)
08:11:01 *** mindlesstux has joined #openttd
08:20:59 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #14315: Fix 5664b1e2f6: Upgrade button in NewGRF window no longer worked. https://github.com/OpenTTD/OpenTTD/pull/14315
08:28:42 <LordAro> only 4 months
09:36:03 <xarick> hi
09:52:31 <xarick> dear glx
09:53:03 <xarick> this function here https://docs.openttd.org/gs-api/classGSTileList#a5e1d5f74611db93b226a74b020b6fe10 can be nasty
09:56:52 <xarick> I shouldn't speak against it, but it could perhaps use the excessive cpu valuator thingy
09:59:04 <andythenorth> ha ha in retrospect maybe railtypes should have had classes ๐Ÿ˜„
09:59:07 <andythenorth> 20:20 vision
09:59:25 <xarick> here's an "offending" AI https://www.tt-forums.net/viewtopic.php?p=1268870#p1268870
10:00:17 * andythenorth tries to work out if we can do predicates for partial matching against railtype labels
10:00:44 * andythenorth this is not wise
10:07:21 <andythenorth> `railtype_has_byte(value, shift, mask)` ๐Ÿ˜›
10:07:39 <andythenorth> wonder if raw nfo can do that
10:24:20 *** brickblock19280 has joined #openttd
10:24:20 <brickblock19280> Current railtype and functions should work
10:24:45 <brickblock19280> But nothing makes sure the actual label follows the scheme which is why current railtype doesn't work
10:30:08 <DorpsGek> [OpenTTD/OpenTTD] Ruizaki closed pull request #14313: Update townname.h add "Vannes" https://github.com/OpenTTD/OpenTTD/pull/14313
10:31:36 *** riuzaki56 has joined #openttd
10:31:36 <riuzaki56> I would like to add a city name, is it possible? โค๏ธ
10:41:55 <DorpsGek> [OpenTTD/team] PascalGrosse opened issue #639: [fr_FR] Translator access request https://github.com/OpenTTD/team/issues/639
10:43:12 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #14316: Fix: Drag drop line position when dragging NewGRF from file to active panel https://github.com/OpenTTD/OpenTTD/pull/14316
10:44:53 <xarick> `i++.tostring()` is squirrel smart enough to understand this?
10:45:37 <FLHerne> riuzaki56: The existing town name lists aren't being changed, but you can create a NewGRF with whatever names you like
10:46:09 <FLHerne> (there are already 'French Town Names' and 'French Small Town Names')
11:09:24 <LordAro> riuzaki56: the way the internal town name lists is by index, so to change them will result in renaming towns in all existing saves
11:09:55 <xarick> just discovered some anomaly
11:10:09 <LordAro> so thank you for the lovely words, but we cannot alter those names (without significantly reworking town names)
11:14:35 <xarick> <https://gist.github.com/SamuXarick/05a01cb48eee8c61ebc19e371c361d28>
11:14:35 <xarick> the problem happens in the `while` test. I made sure coordinates x and y always make up valid tiles inside the map, but somehow the tests only returns true the first time, and false on the next. I thought it could be due to async mode when tested without it, it still happens.
11:16:18 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378331249269014660/image.png?ex=683c3681&is=683ae501&hm=629963fc5868dde128be0c3c07fe7006840cef7cba2aeb60415eef472fab4d87&
11:19:05 <xarick> oh, I am stoopid
11:19:30 <xarick> BuildSign doesn't return a true
11:19:41 <xarick> returns a SignID
11:19:49 <xarick> my bad
11:22:11 <xarick> `while (GSSign.IsValidSign(GSSign.BuildSign(GSMap.GetTileIndex(x, y), i.tostring()))) {` this works
11:26:29 <belajalilija> I just saw in the jgr channel thereโ€™s bugs relating to the grf window but that theyโ€™re vanilla bugs
11:26:36 <belajalilija> I think i have another
11:27:10 <belajalilija> When arranging grfs one can control click on move up to send a grf to the top
11:27:41 <belajalilija> The intended behaviour is that the last grf becomes the first and the old first becomes the second
11:28:11 <belajalilija> However the reality is that they just swap around
11:41:03 *** _jgr_ has joined #openttd
11:41:03 <_jgr_> It is not a vanilla bug, it is fixed now anyway
11:57:14 *** akimoto has joined #openttd
12:01:09 *** reldred has quit IRC (Quit: User went offline on Discord a while ago)
12:02:42 <peter1138[d]> Nice, you tackled the other issue while I was out cycling instead.
12:06:13 <peter1138[d]> Hmm, not sure about it though. I think the drop function needs to consider half-positions.
12:27:57 *** toktik is now known as Guest17069
12:28:01 *** Guest17069 has quit IRC (Remote host closed the connection)
12:28:05 *** toktik has joined #openttd
12:33:38 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378350707337334825/image.png?ex=683c48a1&is=683af721&hm=28ec1bd2902be261aee43963e61d6fe61f42d91212aaa926ffc695bfdd15232d&
12:33:38 <xarick> something's wrong with the face
12:44:54 <peter1138[d]> Did you not know that LordAro has no nose or mouth?
12:49:36 <andythenorth> witness protection programme
12:49:41 <andythenorth> sunglasses, obscured features
12:50:42 <_glx_> maybe something wrong in `RandomCompanyManagerFaceBits` and callees
12:51:14 <_glx_> or it's the drawing code
12:52:18 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #14292: Codechange: Use StrongType and StrongBitSet for CargoType and CargoTypes. https://github.com/OpenTTD/OpenTTD/pull/14292
12:52:56 <_glx_> truebrain: with reusable workflow I think it should be fine in OpenTTD repo
12:54:51 <peter1138[d]> xarick: Can you get the face number, or at least a save game?
12:55:14 <peter1138[d]> I have my branch for faces so would be interesting to see.
12:56:13 <xarick> yes, as soon as I can do it: I'm in the middle of a GS massing 1 million vehicles
12:56:31 <_glx_> ah another stupid test ๐Ÿ˜‰
12:57:38 <peter1138[d]> Of course
13:00:01 <xarick> it's about moving wagons
13:01:40 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378357765902172160/Wrindham_Transport_1950-01-13.sav?ex=683c4f34&is=683afdb4&hm=91ede4dc2814f66ed26e6bcf6238206d1bda41b8a8e86b144c02e1e0bbca0ac1&
13:03:55 <peter1138[d]> Heh, it works on OpenGFX 1 and 2. Fun.
13:04:52 <peter1138[d]> 2973920282
13:05:37 <peter1138[d]> Some bug generating the number, though.
13:05:59 <peter1138[d]> It's not possible to enter this number.
13:06:48 <peter1138[d]> Let's try my branch ๐Ÿ˜„
13:07:25 <xarick> I think AroAI changes gender if it's not male, let me check
13:09:47 <xarick> ah no, im wrong
13:10:38 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378360021842133002/image.png?ex=683c514d&is=683affcd&hm=f13265eaf23a2626d39e842879b5464eb91988c46248fe571b7814bfe096f974&
13:10:38 <xarick> only does this
13:12:25 <peter1138[d]> I think `ScaleAllCompanyManagerFaceBits()` doesn't take all the conditional parts into account, and Zephyris' fix to allow a wider ride of valid values then falls foul.
13:13:50 <peter1138[d]> With my branch, it's still broken until I go into the face window which doesn't allow the invalid face.
13:14:05 <peter1138[d]> So my branch will fix this from happening in future, at least.
13:14:56 <peter1138[d]> But also my branch doesn't allow changing gender, because the ethnicity and gender markers are removed and replaced with a generic numeric face type.
13:16:06 <peter1138[d]> Maybe I need to add a property to the face number :/
13:29:41 *** gelignite has joined #openttd
13:30:21 <andythenorth> lunch?
13:32:43 <peter1138[d]> face labels?
13:33:08 <andythenorth> face classes, labels, badges?
13:34:32 <peter1138[d]> Are face classes like cargo classes, or like badge classes?
13:35:17 <peter1138[d]> (Or
13:38:59 <LordAro> NoFace when
13:39:11 <peter1138[d]> Well, that's easy.
13:39:29 *** jfkuayue has joined #openttd
13:39:29 <jfkuayue> catface
13:40:52 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378367629718192168/image.png?ex=683c5863&is=683b06e3&hm=db94e48e04779634b5efa5b656c1bc26b3d6af30833f6cfacf2e3bedeb6c9679&
13:40:52 <xarick> when random gives you a perfect round number
13:41:20 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378367747448115360/image.png?ex=683c587f&is=683b06ff&hm=dba477e4872da953506952b38b8f1583b8615d50daa99edc4ee9901b91cf1178&
13:41:30 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378367790112575528/Screencast_from_2025-05-31_14-41-14.webm?ex=683c5889&is=683b0709&hm=aa3ce923eaffc9a0c372972d142b1d69ebd0109ec2a836d5c414afaa7276e043&
13:42:12 <xarick> there are 300000 vehicles
13:42:48 <xarick> how many face combinations there are
13:42:54 <peter1138[d]> "Yes"
13:43:51 <andythenorth> crossface
13:43:54 <andythenorth> happyface
13:44:07 <andythenorth> aboutface
13:46:44 <peter1138[d]> If you count all the variants of moustache/no moustache, glasses/no glasses, earing/no earing... etc... as separate faces...
13:46:59 <xarick> valid faces only
13:47:43 <peter1138[d]> Yes, all variants, but only valid.
13:47:48 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378369375056433292/image.png?ex=683c5a03&is=683b0883&hm=daf83fa5c781baf9f4744bd1f65f91c77d8fbe624f9486dcdea03fe83900d14e&
13:47:48 <xarick> took me a while to get this error
13:47:48 <peter1138[d]> 31059504, ish.
13:48:08 <peter1138[d]> What a waste of 32 bits ๐Ÿ™‚
13:48:36 <peter1138[d]> There is not uint25_t though.
13:51:55 <peter1138[d]> NewGRF authors: if there was a NewGRF face spec, would you create faces?
13:52:16 <peter1138[d]> (Or am I just over-engineering these changes...)
13:53:12 *** reldred has joined #openttd
13:53:12 <reldred> Would be fun to implement the mars faces as new faces rather than replacing
13:53:35 <reldred> But thereโ€™s probably things to be NewGRFโ€™d higher on peopleโ€™s wish lists
13:53:49 <reldred> Like bridges ๐Ÿ˜›
13:54:47 <peter1138[d]> Yes, but wish list priority isn't the same as implementation priority.
13:55:03 <xarick> a list with 64000 SignIDs can't trigger excessive cpu in filter function
13:55:18 <xarick> only a list with 300000 VehicleIDs can
13:55:51 <xarick> unless i make the filter function really bad
13:55:58 <reldred> peter1138[d]: Hence the tongue sticking out face ๐Ÿ˜›
13:56:47 <peter1138[d]> Basically, if I design these face changes to use labels, but don't actually implement anything in NewGRF, then it means it's ready-to-go for later if someone does implement it.
13:57:50 <peter1138[d]> And using labels basically just means that when you save your favourite face it knows which face it's meant to be, instead of just a numeric ID which could change later.
13:58:35 <reldred> Yeah I mean if youโ€™re already there it makes sense
13:58:42 <peter1138[d]> Face no. then becomes something like "label:number"
13:58:56 <peter1138[d]> (We are not adding labels for all the different combinations, hehe)
14:03:02 <andythenorth> give each character meaningful semantics
14:03:11 <andythenorth> "that won't end badly"
14:06:59 <peter1138[d]> GRFv9.A should make all labels be string labels.
14:10:52 *** akimoto has quit IRC (Remote host closed the connection)
14:24:40 <talltyler> Is it finally time for pickpacketโ€™s beard faces?
14:36:58 *** Wormnest has joined #openttd
14:38:12 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378382058832789535/image.png?ex=683c65d3&is=683b1453&hm=2f930a2f2680bb4139d8301063de8f8ff8461f445f266f2ccc74625e388c1aaf&
14:38:33 <xarick> my stuff works
14:41:25 <xarick> ``` local filter_function = function(item, out, max, j) {
14:41:25 <xarick> local ret;
14:41:25 <xarick> do {
14:41:25 <xarick> ret = GSBase.Chance(out % max, max);
14:41:25 <xarick> } while (j-- > 0);
14:41:27 <xarick> return ret;
14:41:27 <xarick> };```
14:41:54 <xarick> I'm however surprised about random not being deterministic
14:45:23 <LordAro> i promise it is
14:46:26 <xarick> ah, different map seeds, im stoopid again
14:48:38 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378384685360615645/image.png?ex=683c6846&is=683b16c6&hm=0bec3908c999e8b4044b53729b447ea7547390786894671c224cc9902581262c&
14:48:45 <xarick> it's fine
14:51:01 <xarick> my stuff is slow, must fix
14:59:48 <peter1138[d]> Is AI's ability to get/set gender important?
15:01:17 <xarick> unsure which AIs base their decisions on president gender
15:02:15 <xarick> maybe CivilAI, it does some whacky stuff
15:02:22 <xarick> didn't check
15:10:10 <yiffgirl> peter1138[d]: barely count as a newgrf developer but i've wanted to commission art for a furry faceset for ages, if that means anything.
15:11:44 <pickpacket> talltyler: I have a GS to finish first. Trying to wrap my head around how GSText works ๐Ÿคจ
15:12:38 <peter1138[d]> Bah, I can't pipe SetBitIterator() into std::views::drop() ๐Ÿ˜ฆ
15:13:05 <pickpacket> talltyler: and also a string issue thingy
15:13:16 <pickpacket> to fix, I mean. Before the beard NewGRF
15:16:40 <pickpacket> Ohhhh! Now I understand GSText
15:19:35 <pickpacket> is anything following # in a lang file a comment or only when the line starts with #?
15:24:57 <peter1138[d]> Probably not anything, strings might need to contain
15:24:59 <peter1138[d]> a #.
15:27:16 <_zephyris> peter1138[d]: Quite possibly, but using the highly controversial stable diffusion... ๐Ÿ˜‰
15:27:40 <_zephyris> What's your imagined spec?
15:27:48 <peter1138[d]> If you're running it locally and you trained it all yourself...
15:27:56 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
15:28:08 <_zephyris> Funny you should say that...
15:30:45 <peter1138[d]> You get a blank slate of options.
15:31:19 <peter1138[d]> You get to to add layers in whatever order you like, and those layers can have whatever number of sprites you like.
15:31:31 <peter1138[d]> That will allocate enough bits to store a value for that layer.
15:32:52 <_zephyris> How are you thinking of handling cross-compatibility?
15:33:07 <peter1138[d]> Well, it's NewGRF, so everyone needs to have the same NewGRFs.
15:33:38 <_zephyris> Meaning face style compatibility. Ogfx features aren't compatible with original
15:34:05 <peter1138[d]> I'm not sure what you mean.
15:34:06 <_zephyris> But, someone might want to add a new layer to ogfx
15:34:23 <peter1138[d]> Basesets have to stick to the existing rules.
15:34:35 <peter1138[d]> But NewGRFs get to define their own.
15:34:56 <_zephyris> So how would two newgrfs interact?
15:35:07 <peter1138[d]> Same as anything else?
15:35:22 <peter1138[d]> You get faces from both NewGRFs...
15:36:25 <_zephyris> Say there is a newgrf "steampunk faces", how will "beards for steampunk faces" indicate it should add a layer to the other newgrf?
15:38:17 <peter1138[d]> Well, keeping it simples, all NewGRF faces are standalone, not adding layers to something else.
15:38:45 <peter1138[d]> So "beards for steampunk faces" would have to fork "steampunk faces" and add the layer it wants.
15:39:30 <peter1138[d]> Making it more complex, perhaps NewGRFs could be added the ability to add a layer to another face, as long as bits are available.
15:41:06 <_zephyris> At a practical drawing level, there are three tiers. Overall design/pose. Distinct genders/skin tones/etc which can share features. Then, layers within those groups.
15:41:44 <_zephyris> Might be nice to be able to add cross newgrf, but also might be too much work for too little effort
15:41:46 <andythenorth> can we lego people? ๐Ÿ˜›
15:42:28 <peter1138[d]> skin tones and genders are abstract concepts.
15:42:44 <peter1138[d]> In my branch those are moved to numbered styles.
15:43:23 <peter1138[d]> Of course, different styles can reuse sprites if they want to. The layers are defined separately for each style.
15:43:51 <peter1138[d]> So you don't need to choose a skin colour, or a gender. You just choose a base style.
15:44:07 <peter1138[d]> Hence my question about the script API, which decided that gender was important.
15:44:19 <_zephyris> peter1138[d]: Yup, equivalent to overall pose, full body vs head, etc.
15:46:18 <_zephyris> peter1138[d]: Is there any gender agreement in strings?
15:47:04 <peter1138[d]> Faces have no impact on any strings used in game (other than the display of the selected gender)
15:47:42 <peter1138[d]> The API is just there to allow an AI to present as male or female without having to understand the numerical format of face nos.
15:47:56 <xarick> oops, i managed to crash openttd
15:47:59 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378399619809022044/image.png?ex=683c762e&is=683b24ae&hm=c525b3f4f92f4708cd36312173035e34c0d61ed06cbf8306399f6bdf4c2e305e&
15:48:07 <peter1138[d]> When an AI changes gender, it makes a random face for the AI.
15:49:07 <xarick> `type filter_function_return` = crash
15:50:04 <_zephyris> Doesn't sound very important!
15:51:04 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378400399026815141/image.png?ex=683c76e8&is=683b2568&hm=11f25a1333bb8a9840eebbca8fe2b436a177e90594bb18083b18a1e423753e9f&
15:51:25 <peter1138[d]> Nope. Just this AI uses it to be a little interesting ๐Ÿ™‚
15:52:54 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
15:54:29 *** WormnestAndroid has joined #openttd
16:11:31 *** ipravd_ has joined #openttd
16:43:48 *** ipravd_ has quit IRC (Read error: Connection reset by peer)
16:47:51 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
16:48:35 *** WormnestAndroid has joined #openttd
16:55:20 <xarick> well, it died <https://github.com/OpenTTD/OpenTTD/blob/master/src/game/game_instance.cpp#L53>
16:57:35 <xarick> this->Died() nulls this->engine, RegisterGameTranslation wants to engine.GetVM() but struct at NULL
17:00:46 *** ipravd_ has joined #openttd
17:05:40 <peter1138[d]> Nice, easy fix.
17:21:44 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378423216502083584/image.png?ex=683c8c28&is=683b3aa8&hm=4cbe788e704369cc5a162fea5b1e7dda13a76b9b5498e19c02ca946c6f8c7c09&
17:22:46 <peter1138[d]> Would splitting out the face no. be any benefit... instead of 353666203, "Y:Y:1:2:3:1:2:2:2:2:1"
17:22:54 <andythenorth> nice bevels
17:23:04 <peter1138[d]> Chunky.
17:23:40 <peter1138[d]> Remember when chunky bevels was a joke-meme and we didn't have it?
17:23:55 <andythenorth> life was less good
17:24:38 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378423944050249859/image.png?ex=683c8cd6&is=683b3b56&hm=d8b3793b8d11dde933577b2d6d175c1e69d8f7a68ecadd33c8a204235fe62a56&
17:24:38 <peter1138[d]> This is weird.
17:29:25 <DorpsGek> [OpenTTD/OpenTTD] ivpravdin opened pull request #14317: Fix #14277: Aircrafts can land when Zeppeliner in the runway https://github.com/OpenTTD/OpenTTD/pull/14317
17:33:50 <_glx_> xarick: that looks like a squirrel compile error (`type filter_function_return` is a syntax error)
17:33:51 <DorpsGek> [OpenTTD/OpenTTD] ivpravdin updated pull request #14317: Fix #14277: Aircrafts can land when Zeppeliner in the runway https://github.com/OpenTTD/OpenTTD/pull/14317
17:34:33 <_glx_> but it's probably happening during compat loading
17:34:47 <_glx_> not the best place for compile errors I guess
17:36:11 <_glx_> oh I see, it used to be fine but some code has been reordered IIRC
17:40:12 <peter1138[d]> As I say, easy fix ๐Ÿ™‚
17:40:12 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
17:42:40 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14318: Fix bd1a3fe0b7: Crash if loading compatibility scripts fails. https://github.com/OpenTTD/OpenTTD/pull/14318
17:46:26 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #14318: Fix bd1a3fe0b7: Crash if loading compatibility scripts fails. https://github.com/OpenTTD/OpenTTD/pull/14318#pullrequestreview-2884384763
17:46:50 *** WormnestAndroid has joined #openttd
17:49:45 <xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1378430264199348354/2025-05-31_18-48-56.mp4?ex=683c92b8&is=683b4138&hm=5a1aec48e5f0822cdb55dac9b5a79e096ff35726dd2f13d0c2c13126b020d738&
17:50:09 <DorpsGek> [OpenTTD/OpenTTD] ivpravdin updated pull request #14317: Fix #14277: Aircrafts can land when Zeppeliner in the runway https://github.com/OpenTTD/OpenTTD/pull/14317
17:50:55 <xarick> kek video
17:54:19 <_zephyris> peter1138[d]: That bevel settings list looks nice, trying to work out what you've refined
17:54:20 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
17:55:47 *** WormnestAndroid has joined #openttd
17:57:33 <peter1138[d]> peter1138[d]: Previously the matrix was floating inside the main panel which covered most of the window, instead of being next to it.
17:58:01 <peter1138[d]> So it's more like a other matrix-infused windows.
18:07:54 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
18:11:13 *** WormnestAndroid has joined #openttd
18:18:46 <peter1138[d]> Hmm.
18:20:34 <_zephyris> Works well IMO, good style match
18:59:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #14318: Fix bd1a3fe0b7: Crash if loading compatibility scripts fails. https://github.com/OpenTTD/OpenTTD/pull/14318
19:01:34 *** WormnestAndroid has quit IRC (Remote host closed the connection)
19:01:37 *** WormnestAndroid has joined #openttd
19:02:17 <_zephyris> peter1138[d]: Style 1/5?
19:02:54 <peter1138[d]> The weirdness was having chunky bevels off ๐Ÿ™‚
19:03:03 <xarick> How do I extract more performance here?<https://gist.github.com/SamuXarick/b3522d6cfa68331a6dd02324ead6eecf>
19:03:13 <xarick> less opcodes
19:03:29 <_zephyris> I can imagine a "Set 1/N" at the top level, for newgrf defined face sets.
19:05:43 <peter1138[d]> None of the values have names, so the styles don't have names either. And one of the considerations was that the terms "European" and "African" are not entirely... neutral.
19:06:03 <peter1138[d]> So now it's all just numbers.
19:06:17 <peter1138[d]> (No. 6)
19:06:47 <_zephyris> I was just confused why it's 5 instead of 4 styles...
19:07:44 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378449891835252807/image.png?ex=683ca500&is=683b5380&hm=62f5d857e2cfc465c1f3ad2ac26bca06e2d1769c251f9cb223d1e3a605ef29ee&
19:08:49 <peter1138[d]> As a quick test, I added a style with no layers ๐Ÿ™‚
19:09:00 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
19:09:30 *** WormnestAndroid has joined #openttd
19:19:56 <peter1138[d]> GetPresidentGender()
19:19:57 <peter1138[d]> Hmm
19:20:07 <peter1138[d]> return Random()? ๐Ÿ˜„
19:20:20 <peter1138[d]> (Or return 4; guaranteed random...)
19:22:12 <_glx_> used a fair dice ๐Ÿ˜‰
19:22:28 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378453598140104784/image.png?ex=683ca874&is=683b56f4&hm=5af9e3e07cb60d5a07eec04acc94a979fbb7f42cebd49b6a952a92976d223e1e&
19:22:28 <peter1138[d]> :p
19:34:54 <xarick> List of potentially nasty function:
19:34:54 <xarick> `ScriptTileList::AddRectangle`
19:34:54 <xarick> `ScriptTileList::RemoveRectangle`
19:34:54 <xarick> `ScriptTile::IsBuildableRectangle`
19:34:54 <xarick> `ScriptTile::LevelTiles`
19:35:21 <andythenorth> what's nasty about them?
19:35:28 <xarick> 4k map
19:35:32 <_glx_> may take some time
19:35:54 <_glx_> but using AI on 4k map is unusual
19:36:27 <peter1138[d]> Doctor, doctor, why does it hurt when I smack my head against the wall?
19:37:00 <xarick> OtviAI was found adding rectangles with 1.5 million tiles
19:37:01 <andythenorth> are we once again learning that computation is computationally expensive?
19:37:15 <andythenorth> I mean...I learn that every month or so with Horse
19:38:12 <xarick> PlantTreeRectangle seems reasonable
19:38:17 <xarick> caps at a max of 20x20
19:41:51 <xarick> i thought otviai had a repository
19:43:14 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
19:49:53 *** WormnestAndroid has joined #openttd
19:54:38 *** WormnestAndroid has quit IRC (Remote host closed the connection)
19:54:50 *** WormnestAndroid has joined #openttd
20:04:48 *** WormnestAndroid has quit IRC (Remote host closed the connection)
20:04:51 *** WormnestAndroid has joined #openttd
20:14:23 <xarick> nest quest: slow rectangle
20:14:28 <xarick> maybe
20:21:38 <riuzaki56> I'd like to create a NewGRF that allows Vannes to be added as a city.
20:21:38 <riuzaki56> My code:
20:21:38 <riuzaki56> namespace vannes;
20:21:38 <riuzaki56> namespace vannes;
20:21:38 <riuzaki56> grf {
20:21:40 <riuzaki56> grfid: "VNS";
20:21:40 <riuzaki56> name: string(STR_GRF_NAME);
20:21:42 <riuzaki56> desc: string(STR_GRF_DESC);
20:21:42 <riuzaki56> url: string(STR_WEBSITE);
20:21:44 <riuzaki56> version: 1;
20:21:44 <riuzaki56> min_compatible_version: 1;
20:21:46 <riuzaki56> }
20:21:46 <riuzaki56> town_names(main) {
20:21:48 <riuzaki56> styles: string(STR_TOWN_VANNES);
20:21:48 <riuzaki56> {
20:21:50 <riuzaki56> text(string(STR_TOWN_VANNES), 1),
20:21:50 <riuzaki56> }
20:21:52 <riuzaki56> }
20:21:52 <riuzaki56> But it tells me this: "nmlc ERROR: "Vannes.nml", line 1: Syntax error, unexpected token "vannes" Help me
20:22:51 <_glx_> clearly invalid nml, I guess you asked an AI for that
20:23:41 <riuzaki56> _glx_: yes ๐Ÿ‘
20:24:10 <_glx_> anyway a townname grf with a single town is not a good idea, you won't be able to get more than one town on the whole map
20:24:12 <fairyflossy> riuzaki56: The problem you also need to consider is that you can only have only one town name set active
20:24:15 <andythenorth> GPT got closer, but still bullshit `grf {
20:24:15 <andythenorth> grfid: "VNNS01",
20:24:15 <andythenorth> name: string(STR_GRF_NAME),
20:24:15 <andythenorth> desc: string(STR_GRF_DESC),
20:24:15 <andythenorth> version: 1,
20:24:17 <andythenorth> min_compatible_version: 1,
20:24:17 <andythenorth> palette: PAL_NONE,
20:24:19 <andythenorth> }
20:24:19 <andythenorth> grf_text {
20:24:21 <andythenorth> STR_GRF_NAME : string("Vannes Town Name Set")
20:24:21 <andythenorth> STR_GRF_DESC : string("Adds a single town name: Vannes")
20:24:23 <andythenorth> }
20:24:23 <andythenorth> town_names(VANNES_SET, french) {
20:24:25 <andythenorth> VANNES_NAME
20:24:25 <andythenorth> }
20:24:27 <andythenorth> town_name(VANNES_NAME) {
20:24:27 <andythenorth> name: string(STR_TOWN_NAME_VANNES);
20:24:29 <andythenorth> }
20:24:29 <andythenorth> strings {
20:24:31 <andythenorth> STR_TOWN_NAME_VANNES : string("Vannes")
20:24:31 <andythenorth> }
20:24:33 <andythenorth> `
20:24:44 <_glx_> yeah that's invalid nml too ๐Ÿ™‚
20:24:57 <andythenorth> "vector collapse"
20:25:20 <andythenorth> infinite monkey typewriter
20:25:24 <riuzaki56> It is test
20:26:50 <_glx_> <https://truegrf.truebrain.nl/> is supposed to be easy to use to create a townname grf
20:28:19 <riuzaki56> Why is your pp the Breton logo?
20:32:57 <peter1138[d]> That's a bit personal ๐Ÿ™‚
20:32:58 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
20:34:14 *** WormnestAndroid has joined #openttd
21:28:29 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
21:34:27 *** WormnestAndroid has joined #openttd
21:35:55 <xarick> it's done <https://github.com/OpenTTD/OpenTTD/blob/3dae63f0fb983e47c1fd18ddcc86950465fd5098/bin/ai/compat_15.nut>
21:38:38 <xarick> PR? ๐Ÿ˜
21:38:42 <xarick> j/k
21:44:21 *** ipravd_ has quit IRC (Ping timeout: 480 seconds)
21:44:34 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
21:45:39 *** WormnestAndroid has joined #openttd
21:46:53 <peter1138[d]> `player_face = default/face4:85230720`
21:47:11 <peter1138[d]> Config changes, woo.
21:57:05 <peter1138[d]> Okay.
21:57:16 <peter1138[d]> Just the script gender connundrum :/
21:57:41 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:03:02 *** WormnestAndroid has quit IRC (Remote host closed the connection)
22:03:05 *** WormnestAndroid has joined #openttd
22:04:23 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:15:12 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378497069362319390/image.png?ex=683cd0f0&is=683b7f70&hm=cee78006ca8eca3f88926b477925ea69d7e6e94139f14ed42f62cf70265aa8e4&
22:15:12 <peter1138[d]> Faked it, but...
22:34:11 *** WormnestAndroid has quit IRC (Remote host closed the connection)
22:34:14 *** WormnestAndroid has joined #openttd
22:42:51 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
22:43:24 *** WormnestAndroid has joined #openttd
22:48:48 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #14319: Change: Company manager face definitions and dynamic UI. https://github.com/OpenTTD/OpenTTD/pull/14319
22:49:20 <peter1138[d]> Very side-quest.
22:50:16 <peter1138[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1378505891799633930/image.png?ex=683cd928&is=683b87a8&hm=443c15a77115a2dd4a026f777e268336de6d77198f83fad61bb025a4ad64c944&
22:50:16 <peter1138[d]> Heh
22:51:28 <peter1138[d]> Hmm, unused strings.
22:52:16 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #14319: Change: Company manager face definitions and dynamic UI. https://github.com/OpenTTD/OpenTTD/pull/14319
22:53:16 <peter1138[d]> I should do my graph stuff at some point.
22:55:28 <peter1138[d]> Huih, that's actually slightly less lines of code, although it's a bit on the messy side at the moment.
23:02:39 *** Flygon has quit IRC (Read error: Connection reset by peer)
23:08:45 *** Wormnest has joined #openttd