Config
Log for #openttd on 13th March 2023:
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

Powered by YARRSTE version: svn-trunk