Times are UTC Toggle Colours
00:18:10 *** bryjen has quit IRC 00:25:39 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #10567: [Bug]: Content system under dedicated server https://github.com/OpenTTD/OpenTTD/issues/10567 01:22:37 *** SoniEx2 has quit IRC 02:10:18 *** WormnestAndroid has quit IRC 02:14:47 *** WormnestAndroid has joined #openttd 02:22:32 *** Soni has joined #openttd 03:01:18 *** Wormnest has quit IRC 03:14:13 *** WormnestAndroid has quit IRC 03:14:17 *** WormnestAndroid has joined #openttd 03:19:21 *** D-HUND has joined #openttd 03:22:48 *** debdog has quit IRC 04:01:59 *** HerzogDeXtEr1 has joined #openttd 04:07:32 *** HerzogDeXtEr has quit IRC 04:33:02 *** keikoz has joined #openttd 06:03:07 *** keikoz has quit IRC 06:46:12 *** Flygon has joined #openttd 07:32:21 <petern> <https://hackers.town/@maddiefuzz/110014258507537834> 07:35:33 *** esselfe has quit IRC 08:06:00 <andythenorth> electric monks ๐ 08:06:03 <andythenorth> I had forgotten 08:57:22 *** Soccerdog has joined #openttd 08:57:22 <Soccerdog> yep 09:14:23 *** WormnestAndroid has quit IRC 09:17:26 *** WormnestAndroid has joined #openttd 09:18:51 *** esselfe has joined #openttd 10:10:26 *** WormnestAndroid has quit IRC 10:56:41 <petern> Hmm, can I make VS Code understand mid-statement alignment? 11:00:06 <petern> There's a plugin but of course the standard formatter then trashes it. 11:19:09 <petern> Is it lunch time? 11:23:29 <Xarick> VSCode has a bad Undo compared to Notepad++ 11:23:58 <Xarick> or maybe AutoSave is conflicting with Undo/Redo 11:35:26 *** WormnestAndroid has joined #openttd 11:37:56 <petern> Ctrl Z 11:48:00 <andythenorth> petern: but is it lunch? 11:49:57 *** gelignite has joined #openttd 11:51:47 *** gelignite has quit IRC 11:51:52 <pickpacket> andythenorth: yes 11:51:57 * pickpacket has had lunch 11:55:13 <DorpsGek> [OpenTTD/OpenTTD] telk5093 opened issue #10569: [Bug]: Windowed mode seems not be centered accurately https://github.com/OpenTTD/OpenTTD/issues/10569 11:56:12 *** gelignite has joined #openttd 11:59:29 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #10569: [Bug]: Windowed mode seems not be centered accurately https://github.com/OpenTTD/OpenTTD/issues/10569 12:50:03 <petern> Agon Light port? 13:08:15 *** WormnestAndroid has quit IRC 13:32:02 *** WormnestAndroid has joined #openttd 13:43:58 *** D-HUND is now known as debdog 13:51:04 <andythenorth> can it run Doom? 13:51:08 <andythenorth> or Chocks Away? 13:53:20 <petern> Well... it runs BBC BASIC... but no. 13:53:45 <petern> It's odd, they implemented MOS style commands and it's genuine BBC BASIC... for Z80. 13:55:23 <petern> Also 8-bit CPU but 24-bit addresses. 13:59:28 <andythenorth> are the offsets correct? 13:59:30 <andythenorth> ๐ 13:59:54 <andythenorth> ok in lunch news, I'm having leftover lamb biryani 14:00:24 <petern> Nice, I reluctantly had left over chicken biryani on Saturday. 14:00:35 <andythenorth> were you saving it up? 14:01:22 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on issue #10565: [Bug]: Train can't find the route to local depot https://github.com/OpenTTD/OpenTTD/issues/10565 14:01:27 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler closed issue #10565: [Bug]: Train can't find the route to local depot https://github.com/OpenTTD/OpenTTD/issues/10565 14:03:52 <petern> We all mature. 14:04:39 <petern> Depot issue should be fixed, but probably with a different strategy. 14:22:34 <Eddi|zuHause> well... it would require cancelling the current reservation 14:24:11 <petern> So? 14:36:45 <dP> JGR already said one solution, remove reservation, run pf, restore reservation or change path 14:37:12 <dP> another way would be to link reservation to a train, would also solve corrupt reservation issue 14:37:49 <andythenorth> stop the train 14:38:08 <andythenorth> have a little timeout while the driver walks to the signal post to phone the signaller 14:38:13 <andythenorth> then the signaller phones control 14:38:24 <andythenorth> then the driver gets authorisation to proceed on a new path 14:38:35 <andythenorth> simples 14:40:57 <dP> it probably also affects servicing as it has the same problem of having to undo reservation to find closest depot to service 14:41:50 <dP> hm, that makes me really wonder how servicing even works, it only looks for depots that are quite close, but when they're close there is a good chance it already pathed past them... 14:42:37 <dP> so I'd guess with a signal gap over 20 tiles it won't service at all... 14:44:30 <andythenorth> meh, it could look ahead for servicing order when getting a reservation? ๐ 14:44:43 <andythenorth> I guess it would need a heuristic for time / speed though 14:44:45 <andythenorth> nah 14:44:48 <dP> with order it would work, I mean automatic servicing 14:44:58 <petern> That doesn't help the pressing-the-depot-button case. 14:50:25 <dP> hm, I seem to recall another issue that is probably related 14:50:43 <andythenorth> RVs never service, they just drive past depots? ๐ 14:50:56 <andythenorth> bad andythenorth clean repro, or it doesn't happen 14:52:44 <dP> https://cdn.discordapp.com/attachments/1008473233844097104/1084851546178736268/Screenshot_from_2023-03-13_18-52-12.png 14:52:44 <dP> when you place a signal before a moving train it never recalculates the path, even if hundreds of tiles away 14:53:24 <dP> so it just bumps into that signal and reverses even though there is a perfectly valid path 14:53:27 <andythenorth> that's how I frequently crash trains ๐ 14:53:43 <andythenorth> if the signal is two-way PBS facing the other way 14:53:49 <andythenorth> another train can leave a depot 14:53:55 <dP> well, it won't crash them unless you remove signalss 14:54:06 <andythenorth> it's always the case of an unsignalled route with one train 14:54:14 <andythenorth> then adding the first signal to that network 14:54:25 <andythenorth> I do it almost every game 14:54:42 <dP> hm, not quite understand what you mean 14:54:52 <Xarick> I wish... I really really wish I could get vehicle lengths 14:54:55 <andythenorth> I'll try and repro 14:54:59 <Xarick> without having a vehicle 14:55:00 <dP> but I recall having some weird depot-related crashes I never managed to understand 14:55:00 <andythenorth> I usually do it by accident ๐ 14:55:43 <Xarick> meh 14:56:04 <andythenorth> clean repro 14:56:07 <andythenorth> shall I video it? 14:56:20 <dP> sure 14:56:33 <Xarick> how does an engine doesn't have a length before it is a vehicle? how does it then become a vehicle with a length? 14:56:51 <dP> there is a length callback 14:57:08 <dP> and property, so one of those 14:57:21 <petern> Engines don't "exist" -- they are prototypes. 14:57:56 <dP> somehow that reminds me of javascript xD 15:01:02 <andythenorth> javascript doesn't exist? 15:01:04 <andythenorth> I wish 15:10:34 *** nielsm has joined #openttd 15:12:18 *** Wormnest has joined #openttd 16:06:04 *** WormnestAndroid has quit IRC 16:19:43 *** keikoz has joined #openttd 16:34:34 <audigexJon> JavaScript isnโt real, it canโt hurt you 16:34:52 <audigexJon> Chanting that is the only way I can fall asleep at night 16:35:09 <audigexJon> Save us, typescript Jesus 16:40:54 <dP> hm, I have quite a few gameplay ideas where the amount of available vehicles of each type is limited 16:41:10 <dP> wonder if that needs patching vanilla or I can do something with name callback... 16:44:07 <dP> is it possible to pass some data to the name callback? via global var or smth 16:44:12 <dP> like snowline height xD 16:45:17 <Brickblock1> why would you want that 16:49:54 <dP> a) loot boxes xD 16:50:07 <dP> b) delivering x cargo to industry gives you one vehicle 16:50:21 <Brickblock1> is this for GS? 16:50:27 <dP> yep 16:50:51 <JGR> You can already access the current snowline height variable from within a callback 16:51:51 <dP> snowline height alone doesn't have enogh bits for that though 16:52:13 <dP> also, need it to be company-specific.... 16:52:35 <dP> well, I guess I can always set different snowline for each company xD 16:53:03 <dP> actually, is setting snowline even possible now 16:53:03 *** crem has quit IRC 16:53:07 <dP> I recall TB breaking it 16:53:10 <JGR> You can add new variables simply enough if you're doing your own client 16:53:39 *** crem has joined #openttd 16:54:05 <dP> problem is, I'm not :p 16:54:26 <dP> if I were doing incompatible client everything would be much simpler 16:56:12 <andythenorth> dP: GS 16:56:22 <JGR> I can't really see how any of the current global variables could be repurposed this way 16:57:02 <dP> add a few gs-controlled global vars? xDD 16:57:18 <andythenorth> what technicality do I miss? ๐ 16:57:25 <andythenorth> GS is global state, runs on the server? 16:57:31 <Brickblock1> can we do that for grf while we are at it? 16:57:32 *** gelignite has quit IRC 16:57:33 <andythenorth> what's the global vars needed for? ๐ 16:58:50 <JGR> If it needs to be company-specific, then a global is insufficient 16:58:57 <Rubidium> dP: it might be hacky, but there is a setting for the limit of vehicles... couldn't you inject the appropriate settings command just before the vehicle building command (and after it to reset it)? 16:59:29 <dP> it's not a problem to limit building, a problem is providing a count in the ui 16:59:43 <andythenorth> have you heard the word...about the bird? 16:59:47 <andythenorth> "story book" 16:59:58 <andythenorth> the all purpose, all-singing, all-dancing monorail of extensible GUI 17:00:10 <andythenorth> global or per company 17:00:18 <andythenorth> update it as often as once a month! 17:00:31 <dP> and as usual wil all-solutions it's bad for anything particular :p 17:00:43 <andythenorth> it's terrible 17:00:48 <andythenorth> but nothing changes unless it's used ๐ 17:01:14 <andythenorth> https://cdn.discordapp.com/attachments/1008473233844097104/1084883882974920744/image.png 17:01:14 <andythenorth> I mean...why would I even need this? 17:01:18 <dP> I'm using it for engine goals, that kinda works 17:01:39 <andythenorth> it's lolz how easy it is to get it out of state on savegame load 17:01:47 <andythenorth> I managed to duplicate many many pages 17:02:05 <andythenorth> however that could be solved with 'skilled programming' 17:02:37 <dP> https://cdn.discordapp.com/attachments/1008473233844097104/1084884231001493594/Screenshot_from_2023-03-13_21-02-26.png 17:06:34 *** RGBCube has joined #openttd 17:06:34 <RGBCube> Has anybody else thought of making a better dedicated server console? because i am thinking of porting the console library PaperMC uses to C++ 17:07:38 <andythenorth> dP: goals ๐ 17:07:47 <andythenorth> hmm loot boxes then 17:07:56 <andythenorth> actual payments? ๐ 17:08:57 <dP> https://cdn.discordapp.com/attachments/1008473233844097104/1084885825642311731/Screenshot_from_2023-03-13_21-08-08.png 17:08:57 <dP> RGBCube: idk what papermc is but I have something 17:09:04 <dP> very customized to citymania infra though 17:09:20 <RGBCube> No, i mean like a console like bash, with history, AutoComplete, etc 17:09:25 <RGBCube> but that does seem nice 17:09:54 <JGR> I've got partial tab-completion implemented in the console in my branch 17:10:36 <dP> https://cdn.discordapp.com/attachments/1008473233844097104/1084886243374022788/Screenshot_from_2023-03-13_21-10-14.png 17:10:36 <dP> it has console tab though it's just jquery-terminal 17:10:43 <RGBCube> are you planning to implement history & navigation using arrow keys? 17:11:04 <dP> yeah, that's done already 17:11:17 <dP> don't remember if I did that or it just comes with the terminal though 17:11:33 <RGBCube> huh, i keep writing the [B codes when i press it on 13.0 17:11:44 <RGBCube> is it available in master? 17:12:02 <dP> no, that's not even in the game, that's on the website 17:12:08 <RGBCube> oh, i see 17:12:14 <glx[d]> arrow up is the history 17:12:38 <dP> actually, yeah, the game has history too 17:12:45 <JGR> That only works in the GUI console 17:12:52 <RGBCube> Oh 17:13:28 <JGR> Headless processes don't normally behave like terminals 17:13:28 <RGBCube> i was asking about the dedicated server console - so i can work on it, right? 17:14:03 <JGR> You can run you dedicated server in some sort of terminal environment like screen or tmux or whatever if you need terminal functionality 17:17:04 <RGBCube> i am using screen, I'm talking about making the dedicated server terminal behave like a bash terminal, because currently it only accepts input and enter - no navigation or history 17:20:18 <andythenorth> dP: ever considered a hyperlink or button to open story book? ๐ 17:20:40 <andythenorth> lol I just had a truly horrific idea 17:21:45 <andythenorth> in Flash, you could attach arbitrary named functions to UI components 17:22:14 <andythenorth> for the usual UI widget events (onclick, onmouseup, onhover, onchange etc) 17:22:43 <andythenorth> imagine if we could extend the UI this way ๐ 17:22:54 <andythenorth> so bad 17:23:31 *** tokai has joined #openttd 17:23:31 *** ChanServ sets mode: +v tokai 17:23:53 *** Smedles_ has joined #openttd 17:23:58 <JGR> So when you mouse over a button, the whole UI jerks around for 10 seconds? 17:24:20 <JGR> It'd be like early DHTML websites all over again 17:25:02 *** gelignite has joined #openttd 17:26:55 <JGR> For anything like that to make sense you'd need to be able to run the script on the same instance as where the UI is shown 17:27:13 *** Smedles has quit IRC 17:29:22 <andythenorth> JGR: an unwise use could cause that yes 17:29:30 <andythenorth> especially given the CPUs of the time 17:29:42 <andythenorth> and it was exactly like early DHTML websites 17:30:32 *** tokai|noir has quit IRC 17:30:50 <andythenorth> hmm I wonder if we could limit it only to client-side things 17:30:58 <andythenorth> nah probably not useful 17:37:55 <audigexJon> Technically most websites are still DHTML, the term has just dropped out of use as JS became ubiquitous and "DHTML" became synonymous with bad early practices 17:38:10 <andythenorth> 'marketing' 17:39:47 <andythenorth> ok has anyone used GS story book buttons? 17:40:48 <Brickblock1> I don't know but I haven't seen any GS do it other than your ones 17:41:55 <JGR> The usual method for GS to user communication is pasting text into town windows 17:42:23 <andythenorth> I think I need to write book-keeping, so that the event dispatcher knows which widget was clicked, and can resolve a function appropriately 17:42:28 <petern> Or spamming signs 17:42:43 <andythenorth> I also want to avoid storing all the needed function params etc in the dispatcher 17:42:54 <andythenorth> so I need some kind of book-keeping table 17:43:35 <andythenorth> I shall enjoy greatly 17:44:16 <JGR> Seems like making a very spiky rod for your own back 17:44:34 <andythenorth> it's quite primitive 17:44:42 <andythenorth> but then so was nfo when I started using it 17:44:53 <andythenorth> the only way to handle a story book button click 17:45:00 <andythenorth> is to catch it in the GS main loop as an event 17:45:20 <andythenorth> then search for the widget ID, which appears to be a UUID (per company, or global, not sure yet) 17:46:10 <andythenorth> oh and the main loop with the event handler is recommended to run not more than every 5 game days 17:47:48 <glx[d]> GS event system is really not the best choice for button handling 17:48:27 <andythenorth> no 17:48:45 <andythenorth> hmm my FIRS GS has been running with only sleep(1) in the main loop ๐ฎ 17:48:48 <andythenorth> not the 5 day delay 17:48:50 <andythenorth> oops 17:49:03 <andythenorth> this means a lot of things might be much slower than I've been testing with 17:49:27 <andythenorth> 5 days is *really* a slow update interval for game scripting 17:49:49 <JGR> Normally with event loops you are woken when an event arrives 17:50:16 <andythenorth> oh so GS main loop could run with sleep(1), and check for events on that? 17:50:17 <JGR> Having to poll at a fixed interval is not really what you want 17:50:40 <glx[d]> GS requires polling 17:50:52 <JGR> andythenorth: As in with normal event APIs you do something like sleep(until_an_event_arrives) 17:50:54 <andythenorth> does waking up the event loop require once again explaining to me what callbacks are, and why GS can't have them architecturally? 17:52:06 <andythenorth> "event driven" in GS doesn't tally with "event driven" in other UI systems I've used, where objects / widgets subscribe to events, and are notified about them 17:52:18 <andythenorth> but we discussed that to death ๐ 17:52:37 <glx[d]> it all comes from AIs where events are just an info 17:53:20 <andythenorth> I am concerned currently about my use of sleep(1) in all recent testing ๐ 17:53:45 <andythenorth> as I remember it, I tested the effect of this vs. the 5 day sleep, and sleep(1) kills FFWD performance 17:53:45 <glx[d]> sleep(1) just means my tick is done 18:10:02 <andythenorth> it's slow because only one can write at a time 18:10:23 <andythenorth> it scales badly for write in certain circs 18:10:31 <glx[d]> but writes are limited to one at a time 18:10:48 <andythenorth> yes, I am not asking for this in OpenTTD ๐ 18:11:10 <andythenorth> it's quite interesting to think about shadow-copy of the map ๐ 18:11:18 <andythenorth> not really going to happen 18:12:34 <JGR> You can do a certain amount of undo, backups, etc within the command handlers 18:13:28 <andythenorth> imagine the case of terraforming for an industry...let's say ECS Hotel? 18:13:49 <andythenorth> GS could get the inf2023-03-13T23:36:04 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #10571: [Bug]: (Steam) Black screen on startup, can hear background noise. Cannot get past. https://github.com/OpenTTD/OpenTTD/issues/10571