Times are UTC Toggle Colours
00:42:17 *** WormnestAndroid has quit IRC 00:42:20 *** WormnestAndroid has joined #openttd 00:54:22 *** Wormnest has quit IRC 01:42:05 *** Wormnest has joined #openttd 02:02:50 *** herms has quit IRC 02:04:06 *** herms has joined #openttd 02:19:39 *** Wormnest has quit IRC 03:25:05 *** D-HUND has joined #openttd 03:28:26 *** debdog has quit IRC 04:34:41 *** keikoz has joined #openttd 04:55:49 *** WormnestAndroid has quit IRC 04:58:00 *** WormnestAndroid has joined #openttd 05:05:02 *** Smedles_ has quit IRC 05:05:07 *** Smedles has joined #openttd 06:08:47 *** keikoz has quit IRC 06:53:40 *** D-HUND is now known as debdog 07:02:06 *** Flygon has joined #openttd 07:21:18 *** sla_ro|master has joined #openttd 08:23:14 <DorpsGek> [OpenTTD/OpenTTD] Joel-Milligan commented on issue #10502: [Crash]: Fatal Application Failure whilst buying an engine https://github.com/OpenTTD/OpenTTD/issues/10502 09:17:01 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #10553: Change: Truncated music set song names, and music set changing. https://github.com/OpenTTD/OpenTTD/pull/10553 09:18:59 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #10553: Change: Truncated music set song names, and music set changing. https://github.com/OpenTTD/OpenTTD/pull/10553#issuecomment-1459830253 09:28:39 <petern> Snowing eh 09:32:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #10553: Change: Truncated music set song names, and music set changing. https://github.com/OpenTTD/OpenTTD/pull/10553#issuecomment-1459859407 10:17:31 <Xarick> hi 10:22:56 <Xarick> i knew i was missing something 😮 10:28:12 <Xarick> how do I get the depot index 10:30:51 <Xarick> nvm 11:05:13 <Xarick> there should be a group->child 11:21:25 <petern> There can be multiple children, but only one parent. 11:29:47 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #10502: [Crash]: Fatal Application Failure whilst buying an engine https://github.com/OpenTTD/OpenTTD/issues/10502 11:34:04 <petern> Another win for accidental release asserts. 11:37:02 *** WormnestAndroid has quit IRC 11:46:24 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548 12:04:43 <Xarick> I'm having trouble dealing with empty lists 12:07:53 <Xarick> `ScriptList::~ScriptList() 12:07:53 <Xarick> { 12:07:53 <Xarick> delete this->sorter; 12:07:53 <Xarick> }` 12:07:59 <Xarick> it's asserting here 12:08:03 <Xarick> don't know what to do 12:12:37 <Xarick> asserts on line 31 when the list comes empty <https://gist.github.com/SamuXarick/bb25276e300a42f58e34400e64876a66#file-script_vehiclelist-cpp-L31> 12:28:26 *** WormnestAndroid has joined #openttd 12:29:37 <glx[d]> Remove the & 12:31:59 <petern> Why add ScriptVehicleList1() to list1, instead of just using ScriptVehicleList1()? 12:33:22 <glx[d]> That too 12:33:32 <petern> And as list1 is added to this list anyway, why even have that temporary list too? 12:34:57 <glx[d]> Anyway AddList wants a pointer, and you pass the address of the pointer, that's wrong 12:40:43 <glx[d]> You really need to learn the basics about pointers 13:10:35 <Xarick> weird, there's no error in release mode 13:10:45 <Xarick> only asserts in debug 13:16:51 <Xarick> didn't work that way petern 13:17:52 <Xarick> read access violation 13:20:18 <petern> Release builds don't have asserts enabled. 13:29:07 <Xarick> im back to the same problem i had yesterday, memory usage doesn't go down 13:29:59 <glx[d]> `ScriptList *list1 = new ScriptVehicleList1();` should work 13:31:41 <glx[d]> ah no can't work, it's not a constructor 13:31:59 <LordAro> petern: pretty sure they do unless you're building a release branch (which has changed the default) or you've explicitly disabled them 13:33:12 *** keikoz has joined #openttd 13:33:27 <glx[d]> only openttd asserts are still present I think 13:34:01 <glx[d]> this one was probably an msvcrt assert 13:35:21 <glx[d]> anyway ScriptVehicleList1() and ScriptVehicleList2() are probably wrong, returning local stack object is never a good idea 13:44:31 <Xarick> im stuck on this 😦 13:47:21 <glx[d]> try <https://gist.github.com/glx22/c59bc7d8cc6133643d0f91500b1f7371> 13:53:15 *** Smedles has quit IRC 13:53:42 <Xarick> nice, seems to work 13:53:48 <Xarick> no memory issue 13:54:01 <Xarick> unsure about asserts, let me try debug mode 13:54:15 *** Smedles has joined #openttd 13:55:36 <Xarick> i swear i tried that before and i had issues, now it works 13:55:44 <Xarick> i must have missed something 14:14:03 <Xarick> fantastic! I can finally test AIs 14:14:25 <Xarick> both list methods are produced and asserted if they're equal 14:19:46 <Xarick> the expected assert on free wagons 14:20:05 <Xarick> wondering if any AI really needs to list free wagons 14:21:30 <petern> Using a separate list for list1 is still redundant and makes a copy of the list contents. 14:22:09 <glx[d]> not really important, it's just a debug test for the functions 14:23:04 <glx[d]> in the end one of the two will be the actual constructor code 14:25:39 <kamnet> I'm surprised that nobody has taken ownership of the OpenGFX+ projects and moved them to Github 14:29:04 *** HerzogDeXtEr has joined #openttd 14:33:29 <Xarick> <https://github.com/OpenTTD/OpenTTD/issues/5685> 14:33:34 <Xarick> okay, valid reasons 14:51:05 <petern> kamnet: Are you offering? 😄 14:56:01 *** WormnestAndroid has quit IRC 14:56:15 *** WormnestAndroid has joined #openttd 14:59:06 *** Smedles has quit IRC 14:59:12 *** Smedles has joined #openttd 15:09:47 *** nielsm has joined #openttd 15:15:50 <kamnet> petern: Only if you want to watch me screw it all up for giggles 15:25:19 <Xarick> wide rivers broke HellyFerry 15:25:29 <Xarick> HeliFerry* 15:34:43 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548 15:39:48 *** WormnestAndroid has quit IRC 15:45:08 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548#pullrequestreview-1330930593 15:47:13 *** WormnestAndroid has joined #openttd 15:55:09 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548 16:00:27 <Xarick> I am probably dropping the cache checks 16:00:34 <Xarick> in openttd.cpp 16:00:44 <Xarick> can't find any issue as of yet 16:04:26 <Xarick> just had a random idea 16:04:44 <Xarick> limit the number of statues per town 16:04:48 <Xarick> company statues 16:10:25 <Rubidium> #10221 16:15:53 <Xarick> no, not those statues 16:16:10 <Xarick> the one that gives a perma boost to station ratings 16:21:51 <Xarick> i got some infrastructure cache mismatch: multiple companies in commands-out.log 16:22:06 <Xarick> but i don't know when that happened 16:22:36 <Xarick> yesterday or the day before, or so 16:24:03 <Xarick> is commands-out.log created from fresh everytime i debuglevel desync=2 ? 16:25:39 *** gelignite has joined #openttd 16:31:55 <Xarick> i dont know what to do with these savegames 16:32:12 <Xarick> dmp_cmds_c34224fc_000ade1f.sav and the like 16:33:29 <LordAro> Xarick: there's a file in doc that describes debug desync 16:33:33 <LordAro> good luck. 16:38:12 <Xarick> 07-03 was yesterday 16:38:27 <Xarick> what did i run with debuglevel desync=2 that caused it to save 16:49:07 <GeorgeVB> https://github.com/OpenTTD/OpenTTD/pull/10399 16:49:07 <GeorgeVB> Would these variables be available for purchase sprite as well? 16:49:07 <GeorgeVB> If we can adjust a name in the purchase tree, it would be nice to adjust graphics just the same way. 16:51:00 <GeorgeVB> https://cdn.discordapp.com/attachments/1008473233844097104/1083069367002071081/image.png 16:53:09 <GeorgeVB> As you can see, the serie's name is not replaced with a sub name, but is saved and only followed by a sub name. 16:54:50 <GeorgeVB> The same can be applied to menu sprite as well. Instead of having a sub sprite it would be possible to use some special sprite with a serie's part and subs part. 17:10:59 <Xarick> hmm the infrastructure cache mismatch was on the game I was currently running 17:11:33 <Xarick> too bad i closed the game, i guess i can reproduce it 17:11:37 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep updated pull request #8480: Feature: Extended depots https://github.com/OpenTTD/OpenTTD/pull/8480 17:13:50 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened issue #10554: [Crash]: Assertion failure scrolling to collapsed variant in autoreplace window https://github.com/OpenTTD/OpenTTD/issues/10554 17:23:20 *** tokai|noir has joined #openttd 17:23:20 *** ChanServ sets mode: +v tokai|noir 17:23:59 <GeorgeVB> J0anJosepviaGitHub: It would be nice to have the possibility to limit the available trains' types as well. It is rather annoying to have steamers in the modern depot for electric trains 17:30:12 *** tokai has quit IRC 17:31:25 <petern> 1) Best place to respond to a PR is in the PR 2) Seems offtopic for that PR. 17:34:09 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083080230991827025/image.png 17:34:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #10555: Fix #10554: Let Scrollbar::SetPosition clamp instead of assert. https://github.com/OpenTTD/OpenTTD/pull/10555 17:34:59 <petern> 🤷 17:35:23 <petern> andythenorth: see the pinned messages 😉 17:37:08 <LordAro> andythenorth: only 89? 17:37:13 <LordAro> we're clearly not trying hard enough 17:37:42 <andythenorth> petern: it's a meme now 17:38:38 <andythenorth> so full yolo, change the purchase sprite according to context? 17:38:48 * andythenorth dunno 17:38:49 <pickpacket> I'm getting a pretty hefty return on my taxes this year. I'd like to put some of that toward supporting the project. Now I'm putting the responsibility for reminding me (probably around Easter) of that promise ;) 17:39:00 <petern> Purchase sprite vs not purchase sprite is the context 17:40:20 <Xarick> the infrastructure desync points out to road piece counting 17:40:37 <Xarick> 9 pieces vs 7 pieces 17:40:47 <andythenorth> petern: but categories! 17:40:52 <andythenorth> Separators! 17:41:21 <petern> "Why does the vehicle I purchased look different from the purchase list?" 17:42:41 <andythenorth> because it's a category folder divider marker 17:42:55 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1083082434041626664/image.png 17:43:12 <Xarick> any road changes recently? 17:44:21 *** Flygon has quit IRC 17:45:12 <pickpacket> uhh... are there any known bugs with the music or effects in 13.0? 17:45:13 <petern> How many road pieces are there? 17:46:45 <petern> I noticed that with the original DOS music the initial set up delay isn't there/enough. 17:47:51 <Xarick> okay, build a lorry station, then demolish it, you remain with 2 road pieces 17:47:58 <Xarick> there's the problem 17:48:38 <petern> 2? Drive through road stop? 17:48:53 <Xarick> yes 17:48:58 <Xarick> but i used demolish, dynamite 17:49:02 <Xarick> road is gone 17:50:20 <Xarick> bug is not present in 13.0 17:50:33 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #10553: Change: Truncated music set song names, and music set changing. https://github.com/OpenTTD/OpenTTD/pull/10553#pullrequestreview-1331161323 17:53:53 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #10555: Fix #10554: Let Scrollbar::SetPosition clamp instead of assert. https://github.com/OpenTTD/OpenTTD/pull/10555#pullrequestreview-1331157794 17:56:53 <Xarick> trying to hunt which commit caused the bug 😮 17:56:55 <Xarick> any ideas 17:57:11 <Rubidium> git bisect 17:59:03 <Xarick> hmm I don't know it 18:07:09 <Xarick> I think i found it 18:08:36 <Xarick> 4c1406a4b5421632df2b5faadd56d5d965c108a8 18:09:01 <Xarick> Add: NewGRF road stops 18:09:04 <Xarick> this one 18:09:05 *** gelignite has quit IRC 18:09:07 <pickpacket> When I try to play music in 13.0 it looks like this: https://lounge.warmedal.se/uploads/e45f17c4b1326c9f/Screencast%202023-03-08%2019%3A03%3A59.mp4 18:14:37 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #10556: [Bug]: Road piece count incorrect https://github.com/OpenTTD/OpenTTD/issues/10556 18:16:20 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 requested changes for pull request #10512: Doc: Add Coding Style into the repo for easier access, also add vscode into gitignore https://github.com/OpenTTD/OpenTTD/pull/10512#pullrequestreview-1331173169 18:17:06 <andythenorth> hmm 18:17:19 <andythenorth> you know we need to increase roadtype limit to 65k? 18:17:29 <andythenorth> well that would be great, then we could have categories 18:17:34 <andythenorth> how about roadtype variants? 18:21:33 *** Wormnest has joined #openttd 18:21:37 <andythenorth> timberwolf I played Stunt Car Racer recently 18:21:45 <andythenorth> WASM or dosbox web or something 18:21:48 <andythenorth> still super hard 18:21:54 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #10557: Fix #10556: Duplication of road infrastructure count updates when building a road stop https://github.com/OpenTTD/OpenTTD/pull/10557 18:25:32 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #10557: Fix #10556: Duplication of road infrastructure count updates when building a road stop https://github.com/OpenTTD/OpenTTD/pull/10557#pullrequestreview-1331215153 18:26:29 <kamnet> andythenorth: Yes, please and thank you. Gosh I knew I was missing something! 18:26:44 <andythenorth> it was intended as a troll suggestion 18:26:46 <andythenorth> but err 18:26:54 <andythenorth> it might actually solve a lot of the fuckery 18:28:04 <kamnet> Road -> Road with white stripes / Road with yellow stripes / road with or without electricity. 18:28:45 <kamnet> It would actually make the UI easier 18:28:58 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083094023436251186/image.png 18:30:08 <kamnet> Something like that, yes. 18:30:28 <andythenorth> that's just how it is now 😛 18:30:37 <andythenorth> that's how roadtypes are used 😛 18:32:04 <kamnet> Oh I thought the [ - ] was supposed to represent a submenu you could open 18:33:23 <TallTyler> Variants would probably need the road menu to change from a dropdown to a new GUI, like the Object menu. Which probably wouldn't be a bad thing, new players get confused by the dropdown, in my experience. Rails would need the same treatment too, I think. 18:33:24 <Xarick> "electrifield" 18:34:28 <petern> andythenorth: Such interoperability. 18:34:30 <kamnet> TallTyler: Would be better for mobile platforms too 18:35:10 <TallTyler> Indeed 18:35:16 <petern> Why did someone include green backgrounds... 18:35:16 <andythenorth> I mean...ideas are easy 🙂 18:35:24 <andythenorth> I've had as many as 10 ideas before breakfast 18:35:37 <andythenorth> 6 of them impossible 18:38:25 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler merged pull request #10557: Fix #10556: Duplication of road infrastructure count updates when building a road stop https://github.com/OpenTTD/OpenTTD/pull/10557 18:38:28 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler closed issue #10556: [Bug]: Road piece count incorrect https://github.com/OpenTTD/OpenTTD/issues/10556 18:45:04 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick closed pull request #10373: Allow Scripts to convert returned uint32 values to int64 https://github.com/OpenTTD/OpenTTD/pull/10373 18:48:41 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/4af7f3e6454c7feeaef70229a3ed28c154209e44 18:48:42 <DorpsGek> - Update: Translations from eints (by translators) 19:52:17 <Timberwolf> andythenorth: I was fine until I got to Division 2, and then it got difficult :) 19:52:33 <Timberwolf> I still haven't seen the Super Division off the back of my own work. 20:02:19 <andythenorth> I can't even finish track 1 20:02:56 <Xarick> I'm not sure where to put the EnforceCompanyModeValid 20:03:59 <Xarick> in here <https://github.com/OpenTTD/OpenTTD/blob/master/src/script/api/script_order.cpp#L564> 20:04:17 <andythenorth> timberwolf ever played Stunt Racer 2000 on RiscOS? 20:04:51 <Xarick> do I put it before the retry part, or after? 20:05:20 <Timberwolf> No, I didn't even realise it existed! 20:05:49 <andythenorth> definite 'inspired by' 20:06:04 <andythenorth> physics handling was more complete, but also even twitchier 20:06:23 <Xarick> or do I put it at line 623? 20:06:28 <Rubidium> Xarick: maybe be inspired by #10529? 20:06:28 <andythenorth> had some good mod-tracker or midi music https://www.youtube.com/watch?v=Oy6VeQtunoY 20:08:08 <Xarick> ah, thanks 20:09:30 <Xarick> oh, pff, you're doing there what I was going to do 20:10:34 <Rubidium> did that previous month, but split it up into multiple smaller simpler PRs... and now that one's waiting for a review 20:13:12 <Xarick> I was wondering if i could put the condition earlier 20:13:40 <Xarick> you have them placed in the same position as I do in script_order.cpp 20:14:59 <Xarick> there's no need to, for example, resolve order position if the company isn't valid 20:15:16 <Xarick> i could move them up 20:15:33 <Rubidium> I've just took the easy route and added them just before the others 20:15:57 <TrueBrain> oooeeehhhh, did Rubidium write Python code? 😄 20:17:32 <andythenorth> I saw a rubidium PR with python in it 20:17:32 <Xarick> SetOrderFlags is difficult to understand what it does 20:17:44 <Xarick> there's callbacks 20:20:52 <glx[d]> callback is just to try multiple times 20:23:13 <Rubidium> TrueBrain: I might have, I wouldn't necessarily say it's good or efficient code 20:23:31 <TrueBrain> I am writing you the most nitpicking review OpenTTD has seen in a while 20:23:38 <TrueBrain> and you can 100% ignore all comments if you so like 😄 20:23:47 <TrueBrain> but thought you might appreciate some Pythonic hints and tricks 😄 20:24:45 <Rubidium> the last I wrote Python was probably still in the 2.x era 20:25:08 *** gelignite has joined #openttd 20:25:14 <TrueBrain> function wise you did well; nothing really to improve there 20:26:49 <TrueBrain> does `@game` and `@pre` stack? Cool 🙂 20:27:43 <Rubidium> I saw it being used in many other places, so I guess it does 20:28:43 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #10529: Fix: crash due to incomplete deity/company mode precondition checks https://github.com/OpenTTD/OpenTTD/pull/10529#pullrequestreview-1331376007 20:28:56 <TrueBrain> none of these comments matter; so do with them what-ever you like 🙂 20:31:23 <LordAro> oh wow, i didn't even notice the tabs 20:31:35 <TrueBrain> your OCD sucks balls 20:31:38 <TrueBrain> 😄 20:31:47 <LordAro> github hid it from me 20:32:04 <TrueBrain> for me it renders as 8 spaces, so it triggered me 😛 20:33:39 <TrueBrain> I like you wrote a script to prevent this problem from existing again 🙂 That is nice 🙂 20:35:01 *** nielsm has quit IRC 20:36:29 <TallTyler> Hey people who are smarter at bitwise ops than me, what's `(_date & 0x1F) == 0` mean? It's true every 30 days? (https://github.com/OpenTTD/OpenTTD/blob/master/src/openttd.cpp#L1382) 20:36:48 <glx[d]> 31 20:37:04 <JGR> Once every 32 days 20:37:25 <TrueBrain> `0 & 0x1F` is zero, `0x20 & 0x1f` is zero, `0x40 & 0x1f` is zero 20:38:49 <TallTyler> Is there a reason to use this instead of a modulo? 20:39:08 <TrueBrain> https://gist.github.com/TrueBrain/f06b37f57db4c8aae6660c188bf10fbd 20:39:42 <glx[d]> playing with bits is often faster 20:39:48 <TrueBrain> TallTyler: premature optimization basically. In the old days, not all compilers changed a modulo into an and. And this way you know you are using a power-of-two, instead of a slower modulo 20:40:06 <dwfreed> modern compilers generally produce the same results when doing mod a power of 2 20:40:39 <TallTyler> Ah, that gist is very helpful at showing why it's more efficient 🙂 20:41:14 <JGR> Mod behaves unintuitively with negative numbers, & is generally easier to understand 20:42:06 <TrueBrain> it gets wild when people start to do `_date & ((1 << 6) - 1)` 😛 20:42:29 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep opened pull request #10558: Fix: Improve grfmessage for ShipVehicleChangeInfo. https://github.com/OpenTTD/OpenTTD/pull/10558 20:45:31 <Rubidium> dwfreed: only true when using *unsigned* integers, with *signed* integers you get a different result (due to modulo behaving differently with negative numbers) 20:46:32 <dwfreed> sure, but generally if you're dealing with negative numbers, you know you are :P 20:48:50 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #10558: Fix: Improve grfmessage for ShipVehicleChangeInfo. https://github.com/OpenTTD/OpenTTD/pull/10558#pullrequestreview-1331420646 20:48:58 <Rubidium> true, but the compiler might not know that the int you did the modulo on doesn't (shouldn't) become negative, or won't be negative in your specific part of the code 20:50:00 <Rubidium> though if you do your types correctly, i.e. mark them unsigned when they shouldn't become negative then there's no problem 20:51:02 <dwfreed> heh, gcc identifies that I'm performing the same operation and doesn't even calculate the second var 20:51:19 <TrueBrain> I just love when your modulo is negative, not all languages return the same value 😛 It confuses me every time ... 20:51:40 <dwfreed> indeed, python does not do negative modulo 20:51:51 <TrueBrain> it kinda does, just different 😛 20:51:57 <TrueBrain> 9 % -4 == -3 20:52:07 <dwfreed> -37 % 32 is -5 in C, 27 in python 20:53:04 <TrueBrain> it just cracks me up, languages can behave differently like that .. it is so confusing 20:53:13 <TrueBrain> like .. MAKE UP YOUR MIND I AM TRYING TO BUILD GOLD HERE 20:53:19 <glx[d]> it's the same plus/minus 32 🙂 20:53:30 <TrueBrain> and neither is wrong 20:53:33 <TrueBrain> they are just different 😛 20:56:00 <andythenorth> ok time to write my GS debugger some more 20:56:01 <andythenorth> in GS 20:56:04 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083131040727572581/image.png 20:56:09 <andythenorth> can I have text entry and eval? 20:56:18 <andythenorth> then I can run an arbitrary named function 20:56:31 <andythenorth> or inspect the values of arbitrary table slots and class instances 20:56:40 <andythenorth> "what could go wrong" 20:57:01 <TrueBrain> can I have "insert something widely out of scope of the thing at hand" here? Answer: no 20:57:02 <TrueBrain> there, I solved it 😄 20:57:16 <andythenorth> I have an idea though 20:57:27 <andythenorth> there's probably a case for a search widget in storybook 20:57:33 <andythenorth> then I can take the search query and abuse it 😛 20:57:35 <andythenorth> as a text input 20:58:22 <andythenorth> "Search the storybook" would be really useful....right? 20:58:45 <dP> I haven't seen any case for a buttons in storybook yet 20:58:53 <dP> besides your ... thing 20:59:06 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #10558: Fix: Improve grfmessage for ShipVehicleChangeInfo. https://github.com/OpenTTD/OpenTTD/pull/10558 20:59:27 <andythenorth> it was originally tutorial I think? 20:59:28 <andythenorth> maybe 20:59:30 <andythenorth> not sure 20:59:51 <TallTyler> The tutorial doesn't use the storybook, it hadn't been added yet 20:59:54 <dP> no someone just added them for no particular reason iirc 21:00:00 <TallTyler> Just the blue notification messages 21:01:06 <andythenorth> anyway, as I am trying to teach everyone I know... 21:01:06 <andythenorth> once you have 21:01:06 <andythenorth> - food & shelter 21:01:06 <andythenorth> - access to medical care 21:01:06 <andythenorth> - basic level of human relations (friends / family / etc) 21:01:07 <andythenorth> Then the only remaining use case for anything is 'lolz' 21:01:22 <andythenorth> Obvs. not everyone has those things, so they are unable to make progress on the 'for the lolz' agenda 21:01:28 <andythenorth> sad state of the world 21:01:32 <Xarick> question: `* @game @pre ScriptCompanyMode::IsValid() when group_id != GROUP_ALL && group_id != GROUP_DEFAULT.`is this good english? 21:01:46 <TallTyler> I didn't expect a philosophy lesson in Discord channel #openttd-development today 😛 21:01:59 <TrueBrain> it is andythenorth , you never actually know what you can expect 21:04:43 <dP> in theory buttons in the story book sound like a good idea 21:04:56 <dP> on practice they're kinda awkward like the rest of the story book 21:05:20 <dP> I have a feeling most players don't even know what story book is 21:06:21 <dP> and then there is a whole thing with individual story books for each company... 21:08:36 <andythenorth> the buttons are awesome 21:08:38 <andythenorth> but also shitty 21:08:51 <andythenorth> they have quite a few nice features about styling 21:08:56 <andythenorth> a little bit of layout control 21:09:07 <andythenorth> and a totally horrific way of bubbling events to handle UI clicks 21:09:57 <andythenorth> they can do colours and stuff 21:09:58 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083134542711377980/image.png 21:10:02 <andythenorth> and position left / middle / right 21:10:43 <andythenorth> It would be really helpful to have toggles / latches, but I can fake them by removing the button on click and replacing it with a different one 21:10:52 <andythenorth> I am planning to make the settings for my GS in the story book 21:11:00 <andythenorth> so they can be changed during gameplay 21:11:55 <andythenorth> oh maybe settings can be changed in GS during gameplay anyway now? 21:12:08 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083135084707717130/image.png 21:12:11 <andythenorth> seems to be available to me 21:12:58 <dP> may be affected by debug mode 21:14:17 <andythenorth> what does 'reload_ai' do and why doesn't GS have it? 🙂 21:14:23 * andythenorth did list_cmds 21:14:37 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 updated pull request #10529: Fix: crash due to incomplete deity/company mode precondition checks https://github.com/OpenTTD/OpenTTD/pull/10529 21:14:58 <glx[d]> reload_ai kills the company and restart it 21:15:52 <andythenorth> ok so not applicable to GS 21:16:14 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #10529: Fix: crash due to incomplete deity/company mode precondition checks https://github.com/OpenTTD/OpenTTD/pull/10529#pullrequestreview-1331461092 21:26:55 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10411: Expose more functions to game scripts https://github.com/OpenTTD/OpenTTD/pull/10411 21:33:32 *** gelignite has quit IRC 21:33:52 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #10529: Fix: crash due to incomplete deity/company mode precondition checks https://github.com/OpenTTD/OpenTTD/pull/10529 21:34:10 <Rubidium> thanks TrueBrain ;) 21:34:27 <Xarick> wow, conflicts incoming, and i just rebased 21:34:32 <Xarick> amazing 21:35:43 <Rubidium> you could've expected that given the approval ;) 21:40:50 <Xarick> 🙂 21:42:55 <glx[d]> there's still many places not using EnforceXXX macros 21:45:48 <Rubidium> is that in company/deity mode context, or just in general? 21:46:29 <glx[d]> in general 21:46:47 <glx[d]> noticed them when doing SQInteger stuff 21:47:41 <Rubidium> yeah, I noticed them too and then thought... something for later ;) 21:47:57 <glx[d]> yeah was out of scope for my PR 21:48:04 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083144125894885477/image.png 21:48:04 <andythenorth> is it intended that pages in the global story book also show in the company story book? 21:49:34 <andythenorth> seems to be 21:49:35 <andythenorth> ok 22:03:29 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1083148007173791744/image.png 22:03:29 <Xarick> we have a disagreement 22:03:56 <Xarick> it's not a command 22:04:27 <frosch> TrueBrain: for the record: the python 3.x modulo is the correct one 22:04:30 <glx[d]> but it's using GetCompany() 22:04:46 <andythenorth> hmm writing table slot values to story book 22:04:57 <Xarick> one sets an error message, the other doesn't 22:05:00 <TrueBrain> frosch: Glad you made that decision :p 22:05:05 <glx[d]> anything using GetCompany() needs to be enforced 22:05:23 <andythenorth> should I write a recursive function, for when slots contain tables? 😛 22:05:27 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083148502038757376/image.png 22:06:18 <glx[d]> setting the error is ok here 22:06:44 <glx[d]> as it is actually an error 22:07:13 <Xarick> but it's not running a DoCommand 😦 22:07:15 <Xarick> ok, then 22:07:41 <andythenorth> oof can't sort squirrel tables it seems 22:07:59 <glx[d]> preconditions are not only for commands, they can be for any API functions 22:08:53 <Xarick> got a dilema to solve now 😦 22:09:21 <Xarick> GetEngineReplacement 22:09:42 <Xarick> GetNumEngines 22:09:46 <Xarick> GetNumVehicles 22:15:21 *** keikoz has quit IRC 22:21:16 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10411: Expose more functions to game scripts https://github.com/OpenTTD/OpenTTD/pull/10411 22:21:19 <Xarick> let's see what's gonna happen 22:21:41 <Xarick> failed 22:23:35 <Xarick> wow, this is new 22:23:37 <Xarick> hehe 22:24:04 <Xarick> <https://github.com/OpenTTD/OpenTTD/actions/runs/4369053861/jobs/7642403240> 22:24:39 <Xarick> I put the precondition in ScriptOrder::SetOrderFlags() instead 22:25:42 <Xarick> oops GetNumVehicles doesn't need the precondition 22:26:55 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10411: Expose more functions to game scripts https://github.com/OpenTTD/OpenTTD/pull/10411 22:26:58 <glx[d]> use EnforceDeityOrCompanyModeValid then 22:27:12 <andythenorth> can I lambda sort in squirrel 2 sort() 22:27:21 <andythenorth> or do I have to write a custom comparator? 22:27:40 <andythenorth> squirrel 3 seems to have `result.sort(@(a,b) a<=>b);` 22:27:43 <andythenorth> but that errors in GS 22:28:51 <Xarick> how is this detection method working? 22:29:16 <Rubidium> Xarick: it does need one of the preconditions checks, specifically the one glx mentioned, because a company mode becomes invalid when the company goes away, but you aren't deity either. 22:29:49 <Xarick> i see 22:29:57 <Rubidium> in other words, CompanyMode::IsValid() || CompanyMode::IsDeity() does not always result in true 22:30:18 <glx[d]> the script mainly checks if ScriptObject::GetCompany() is protected 22:32:22 <Xarick> EnforceDeityOrCompanyModeValid(false); for those 3 functions seems weird 22:32:32 <Xarick> they have special rules 22:33:22 <Xarick> depending on the group, it may or may not require being in Company Mode 22:35:03 <glx[d]> you can put the Enforce call only where needed 22:36:07 <Rubidium> please don't add EnforceDeityMode and EnforceCompanyModeValid in two different branches 22:36:24 <Rubidium> just use EnforceDeityOrCompanyModeValid before branching 22:36:54 <Rubidium> any further rules you can implement after it, just like is done for building roads 22:37:57 <glx[d]> anyway for ScriptGroup::GetNumVehicles() the Or version is fine 22:38:00 <Rubidium> or... just not make the functions complicated by only allowing company mode 22:38:11 <glx[d]> as you explicitely want one or another 22:38:39 * andythenorth such fun :) 22:38:41 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083156867167039578/image.png 22:38:42 <Rubidium> because... why would you want to iterate over *some* groups of vehicles? 22:38:47 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1083156893691826296/image.png 22:39:09 <Rubidium> but not have access to the default/all group. That's only going to make the API harder to understand and use 22:39:58 <andythenorth> I think next I need to abuse side channels so GS can control industry 22:40:04 <andythenorth> how many bits do I get? 22:40:51 <andythenorth> 3 bits via IndustryControlFlags 22:40:56 <andythenorth> that's 8 values? 22:41:12 <andythenorth> https://docs.openttd.org/gs-api/classGSIndustry.html#ab61cc57edac0cdc1db5a1b94086dfc9f 22:41:37 <glx[d]> and I agree with rubidium, groups are for company scope, if GS wants to do more it can change scope multiple times 22:43:17 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10411: Expose more functions to game scripts https://github.com/OpenTTD/OpenTTD/pull/10411 22:44:16 *** esselfe has quit IRC 22:45:08 <Xarick> _SetOrderFlags is false positive imo 22:45:22 <Xarick> I moved it up further to SetOrderFlags instead 22:47:45 <glx[d]> it must be in _SetOrderFlags 22:48:27 <Xarick> ah, i see, there's 2 functions 22:48:35 <Xarick> calling _SetOrderFlags 22:48:37 <andythenorth> hmm can we add more arbitrary industry control flags? 22:48:58 <Xarick> think im gonna revert my movements 22:49:34 <andythenorth> if I can find 1 more bit that can be given a reason to exist 22:50:09 <andythenorth> then I have 16 values 22:50:24 <andythenorth> or 2 sets of 4 22:51:03 *** esselfe has joined #openttd 22:51:41 <andythenorth> INDCTL_CLOSE_SOON? 22:52:12 <andythenorth> or I could just not abuse side channels, and we could have actual comms? 22:52:22 <andythenorth> but I don't know how 😛 22:52:56 <andythenorth> GS reading / writing grf registers was already ruled out 23:00:45 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10411: Expose more functions to game scripts https://github.com/OpenTTD/OpenTTD/pull/10411 23:01:26 <glx[d]> using registers could work, but only if 2 are reserved for that, one for newgrf->GS, one for GS->newgrf 23:03:38 <Xarick> <https://github.com/OpenTTD/OpenTTD/actions/runs/4369297532/jobs/7642935166> 23:03:45 <Xarick> I have this <https://github.com/OpenTTD/OpenTTD/pull/10411/files#diff-db08835d77d74481e1a60d0514188c7a87873cd7537cf8970c36ba1fe7733ff5> 23:03:55 <Xarick> it's correct 23:05:21 <JGR> Directly writing to NewGRF registers is probably not the best design 23:06:12 <glx[d]> a specific newgrf callback would be better I guess 23:06:37 <Xarick> It didn't detect ScriptCompany::IsMine btw 23:06:50 <Xarick> I'm not using enforce precondition 23:07:17 <glx[d]> the detection is done for Command or GetCompany 23:07:54 <glx[d]> if the function doesn't call these it won't enforce 23:08:20 <Xarick> it requires being in a valid company 23:08:20 <JGR> Given that GSs can be arbitrarily suspended, you'd have all sorts of horrid race issues if you wanted to write more than one register at once 23:08:40 <Xarick> oh well 23:09:50 <JGR> A callback is atomic and the command layer already handles proper queuing 23:10:27 <glx[d]> so yeah command and newgrf callback 23:19:59 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10411: Expose more functions to game scripts https://github.com/OpenTTD/OpenTTD/pull/10411 23:20:54 <Xarick> yes, it didn't complain now 23:22:24 <Xarick> oh, linux failed 23:22:29 <Xarick> not my fault