IRC logs for #openttd on OFTC at 2025-12-22
⏴ go to previous day
01:02:00 *** ChanServ sets mode: +v tokai
01:08:45 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
02:48:44 *** gelignite is now known as Guest34176
02:48:48 *** gelignite has joined #openttd
02:56:05 *** Guest34176 has quit IRC (Ping timeout: 480 seconds)
02:59:16 *** Wormnest has quit IRC (Quit: Leaving)
04:46:04 <DorpsGek> - Update: Translations from eints (by translators)
04:58:47 *** Flygon has quit IRC (Ping timeout: 480 seconds)
05:22:21 *** Flygon_ has joined #openttd
05:28:47 *** Flygon has quit IRC (Ping timeout: 480 seconds)
05:35:54 *** MinchinWeb[m] has quit IRC (Read error: Connection reset by peer)
05:36:11 *** MinchinWeb[m] has joined #openttd
08:06:28 <ahyangyi> Copilot-style suggestions were completely unuseable to me. I don't know why. Just that when the suggestion is wrong 90% of the time, the remaining 10% doesn't matter.
08:08:43 <ahyangyi> However, coding agents feel much better. They don't do anything unless you ask to, so even if they are only useful for a small amount of tasks, they just don't get in the way. And even if you distrust them write any code, you can still ask them to do various kind of manual labor, like setting up a weird build environment to replicate a certain bug.
08:09:45 <ahyangyi> Or, say you fixed a dangling iterator bug, and you can ask them to go through the repo and tell you if they spotted any occurrence of similar bugs
08:56:36 *** Flygon_ has quit IRC (Read error: Connection reset by peer)
09:57:14 <xarick> hi, i actually made a mistake yesterday
10:00:01 <xarick> basically, the block that sets resume_item to a value was never reached
10:01:51 <xarick> `if (disabler.GetOriginalValue() && (!this->resume_item.has_value() || iter != std::any_cast<ScriptListMap::iterator>(this->resume_item)) && ScriptController::GetOpsTillSuspend() < 0) {`
10:02:43 <xarick> glx, I can't use iter != std::any_cast<ScriptListMap::iterator>(this->resume_item) directly, it gets a bad any_cast error
10:03:02 <xarick> need to check for has_value, but i made that check wrong yesterday
10:56:58 *** robinsonmanae0486 has joined #openttd
10:56:58 <robinsonmanae0486> I'll help the first 20 people interested on how to start earning $100k or more within a week, but you will reimburse me 10% of your profits when you receive it. Note: only interested people should send a friend request or send me a dm! ask me (HOW) via TG username
10:56:58 <robinsonmanae0486> @Robinsonmanae75
10:56:58 <robinsonmanae0486> Or use the TG link in my bio
10:58:10 *** gelignite has joined #openttd
11:15:42 <xarick> hmm temporary containers
11:16:23 <xarick> std::move to the original container, isn't that gonna trigger a mass erase of the old?
11:20:17 <xarick> oh, it's still using the non-suspendable code
11:38:02 *** peter1138 has quit IRC (Read error: Connection reset by peer)
11:38:11 *** peter1138 has joined #openttd
11:38:11 *** ChanServ sets mode: +o peter1138
11:42:23 <xarick> 'emplace': is not a member of 'btree::safe_btree_map
11:44:43 <Borg> I think I spotted bug, and it will be in master
11:45:25 <Borg> today I decided to take a look at CB results, just to be sure that signed values are handled properly.. this is a issue for GRFv6 due to historical <val> FF results...
11:45:43 <Borg> it is.. but I noticed weird oddity when debuging Cargo Rating..
11:46:37 <Borg> from time to time my rating result is negative.. like -90. or more.. so I started digging.. and noticed
11:46:51 <LordAro> well, you know where issues go :)
11:47:12 <LordAro> remember to describe the problem rather than your suggested solution ;)
11:47:21 <LordAro> it's easily done when you're in the weeds like this
11:47:32 <Borg> that one out of several callback calls... have twice amount of cargo reported waiting... (actually, correct one)... so I started digging more
11:47:43 <Borg> and in UpdateStationRating() there is this thing
11:47:57 <Borg> uint waiting_avg = waiting / (num_dests + 1);
11:48:12 <Borg> and later.. after several ifs.. there is this thing:
11:48:28 <Borg> ge->max_waiting_cargo = waiting_avg;
11:50:42 <Borg> I have hard time understading that part...
11:51:05 <Borg> waiting_avg is used to drop excees cargo when rating is low..
11:51:22 <Borg> but why alter max_waiting_cargo?
11:52:04 <Borg> this explains why my calcs were so off when I was first doing that year ago.. I noticed that cargo waiting given to callback is /2 of true value
11:52:42 <Borg> anyone can shred some light on that part of code?
11:52:47 <peter1138> LordAro, another write-only participant?
11:54:49 <Borg> that stuff is complicated I guess.. due to transfers feedback too.
11:56:09 <LordAro> peter1138: a bit, yes
12:01:34 <xarick> uh oh, i think glx made a mistake
12:03:59 <Borg> okey after adding more debugging
12:04:22 <Borg> max_waiting_cargo gets all waiting cargo after TruncateCargo() call
12:04:41 <xarick> only RC3 produces a different result
12:05:01 <xarick> and old master matches the others
12:05:11 <xarick> old master at the bottom left
12:08:38 <_glx_> Old master being before or after suspendable filters ?
12:10:53 <_glx_> Anyway your super complex `iter !=` can just be `iter != begin`
12:13:44 <_glx_> Oh indeed I did a mistake in this commit
12:14:11 <Borg> okey.. this comment is probably importand...:
12:14:13 <Borg> Feed back the exact own waiting cargo at this station for the next rating calculation.
12:14:16 <xarick> 15.0-RC3 still matches 14.1
12:14:51 <Borg> so, now question is.. why waiting_avg isnt used for rating calculation?
12:15:19 <Borg> most of time max_waiting_cargo == waiting_avg except for cargo truncating tick.. with skews rating for few ticks :)
12:17:27 <xarick> dang, i got a bunch of bad builds now :P
12:17:35 <_jgr_> xarick: emplace was added a month ago
12:19:51 <Borg> dbg: [misc] CBM_RATING_CALC: [1] max_waiting_cargo=1382 waiting_avg=691
12:19:51 <Borg> dbg: [misc] CB ci1=00000010 ci2=6805661A res: 32670
12:19:51 <Borg> dbg: [misc] CB rating: -98
12:19:51 <Borg> dbg: [misc] CBM_RATING_CALC: [1] max_waiting_cargo=691 waiting_avg=692
12:19:51 <Borg> dbg: [misc] CB ci1=00000010 ci2=6802B31B res: 39
12:19:53 <Borg> dbg: [misc] CB rating: 39
12:26:02 <Borg> I guess its better to not touch it [; might brake feeder services (transfer) when dest station is overflown w/ cargo.. :)
12:47:31 <Borg> yeah.. that stuff was introduced in 741c431c :)
13:38:45 <xarick> _jgr_: line endings changes, what to do?
13:40:59 <kaji_kaede> Change the line endings back. In VS/VSC there'll be a button in the bottom right that allows you to change the line endings.
13:41:56 <Borg> so.. does VS finally can manage files w/ UNIX (LF only) line endings?
13:42:27 <kaji_kaede> If I remember rightly at least.
13:42:37 <_glx_> it does it way better than linux shell with CRLF
13:42:46 <xarick> error C3861: 'dbg_assert': identifier not found
13:42:54 <xarick> i remember i had to fix this the other time
13:43:09 <Borg> _glx_: btw, how to solve that in git?
13:43:24 <Borg> I know about .gitattribute eol=crlf
13:43:29 <Borg> but that is when file itself is CRLF
13:43:36 <kaji_kaede> xarick: Presumably by including whatever file defines dbg_assert in whatever file is throwing that error?
13:43:37 <Borg> what if file is LF and you need CRLF?
13:45:11 <Borg> ohh and there is core.autocrlf too
13:46:39 <_glx_> indeed, it's weird to have LF files in a checkout on windows, git should have converted everything to CRLF (and back to LF on commit)
13:48:22 <kaji_kaede> i'm gonna choose to blame copilot regardless of how baseless it is :>
13:48:45 <Borg> _glx_: indeed.. I never cared for that, because I use Cygwin for everything...
13:49:13 <Borg> and occasionally.. if I need CRLF files.. I just slap eol=crlf into attributes
13:55:38 <xarick> oh, i have no idea you had a separate branch just for it
13:55:50 <xarick> > Remove use of deprectared
14:04:30 <xarick> LF vs CRLF issue again
14:08:13 <xarick> NULL remains NULL here?
14:08:25 <xarick> whatever, it builds, it passes regression
14:24:13 <Borg> xarick: answer is simple
14:24:18 <Borg> % find . -name '*.cpp' -exec lf -c -f {} \; | fgrep -c -v UNIX
15:35:18 <xarick> all my builds are post 17th december :| everything is wrong
15:54:22 *** gelignite has joined #openttd
16:53:14 <Borg> I wonder how usefull that might be..
16:53:21 <Borg> wait at PBS signal at block signal..
16:53:55 <Borg> if train is at PBS signal, and doing look ahead on signals.. if any block signal contains wait at PBS. it apply to that PBS signal...
16:54:45 <Borg> maybe it should be called wait at Entry signal..
16:58:35 *** Wormnest has joined #openttd
16:59:18 *** poochiedaddy has joined #openttd
16:59:33 <poochiedaddy> Cant connect to any servers
17:00:23 *** poochiedaddy has quit IRC ()
17:07:29 *** gelignite has joined #openttd
17:08:12 <_glx_> truebrain: it looks like we are having issues with STUN
17:32:50 <LordAro> _glx_: might require an email...
18:03:46 *** gelignite has quit IRC (Read error: Connection reset by peer)
18:15:01 <Borg> ha. not easy.. you can to cancel reservation.. hmm :)
18:15:29 *** gelignite has joined #openttd
18:29:24 <xarick> JGR subrange doesn't work well, or im not sure what im doing
18:32:47 <LordAro> _glx_: no other issues in that orginal change?
18:34:00 <xarick> it's not this->items, it's list->items
18:38:17 <xarick> derp, and it's not safe btree at all, it's transitioning away from safe btree to std map set
18:48:10 <Borg> okey :D that went quick :D lets test
18:50:44 <Borg> so far so good on basic track ;>
18:52:31 <Borg> I need to playtest it more :)
18:53:09 <Borg> _jgr_: I made it :) placing wait at PBS signal at block signal will affect nearby PBS
18:53:25 *** vldb1245 has joined #openttd
18:53:25 <vldb1245> Hi. How much would you charge me to modify openTTD my way?
18:54:06 <rito12_51026> Can multiple windows of the same class have the same window number?
18:55:01 <mmtunligit> vldb1245: its open source, any one can download the code and modify it any way they wish
18:55:10 <andythenorth> vldb1245: how much can you afford? 👀
18:58:20 <vldb1245> I have a outstanding idea how to make money on this game. But can't tell you until we sing an agreement
18:59:21 <mmtunligit> i think atari might get mad if we tried to make money off this
19:01:27 <mmtunligit> what about me, i also want money
19:01:51 <vldb1245> Than we can work as a team
19:02:03 <vldb1245> Let the main guy know we have a project to do
19:02:19 <mmtunligit> i dont think there is a main guy
19:02:39 <mmtunligit> its just a flat structure last i checked
19:02:51 <mmtunligit> itd be concerning if a mountain sprung up out of nowhere
19:04:54 <vldb1245> Than than need to build a team
19:05:22 <mmtunligit> flat structure is good
19:05:28 <vldb1245> Are you guys programmers, right?
19:05:45 <rito12_51026> There is a team... Why don't you join it?
19:05:50 <vldb1245> The first project is to return all images to original.
19:06:11 <mmtunligit> you can already do that if you have a TTD CD-ROM iirc
19:06:14 <vldb1245> Cause eyes hurt when a game played for a long time
19:06:35 <vldb1245> I dont have chrome, but I have a game
19:06:47 <Rubidium> rito12_51026: window number are unique within a window class. Check for example AllocateWindowDescFront
19:06:54 <mmtunligit> and there are plenty of graphics packs out there that more closely resemble the origional style
19:07:43 <vldb1245> That is not what I need. There will be more images. Game rules will be changed a bit
19:08:10 <mmtunligit> sounds like you want to make your own game
19:08:28 <vldb1245> Exactly, using original pictures
19:08:40 <vldb1245> But not that much own game
19:08:46 <_jgr_> Coming in with a manifesto is very unlikely to get other people to make your idea
19:08:47 <vldb1245> Everything cam stay the same
19:09:12 <audigex> Why do I feel like this is an “I’m an ideas guy, I just need some artists and programmers to bring the idea to life” kinda situation?
19:09:12 <mmtunligit> origional as in "new, made by you" or as in "the style of the origional game"
19:09:36 <mmtunligit> audigex: because thats exactl what it is, im only humoring because im bored and the convo is pretty funny
19:09:58 <vldb1245> That's how all ideas begin
19:10:23 <vldb1245> Anyway, I start and comeback
19:11:37 <mmtunligit> ok, so you say you have 10k, according to my friend who pays programmers and artists to make games with her, 10k would pay a programmer and artist for a grand total of two months
19:11:58 <rito12_51026> vldb1245: you can create a patch pack like JGR did and see what intrest there is in comunity, can't you?
19:12:08 <vldb1245> Unless I find the one who have no job. Gg
19:12:14 <mmtunligit> so i very much doubt youd actually get anywhere, and i doubt even more that anyone here would be interested in working with you
19:12:19 <vldb1245> And lives in a poor coutry
19:12:34 <mmtunligit> well thats just exploitaation isnt it
19:12:43 <vldb1245> I met once a programmer who told me for 10k will do
19:12:53 <vldb1245> So, that's not an issue
19:13:17 <mmtunligit> youre some rando who walked into a relatively close knit community and wants to make a competitor to the thign we pour our heart and souls into
19:13:55 <vldb1245> I pur mu heart and soul into designing a new idea
19:14:14 <mmtunligit> a lot of people do yeah
19:15:12 <mmtunligit> the thign about being an ideas guy is that at thsi scale you cant just be an ideas guy, you need to actually have some skills to contribute as well
19:16:01 <vldb1245> I can be a graphics designer for this thing
19:16:24 <lemuria0685> mmtunligit: what the hell am i reading
19:16:31 <mmtunligit> lemuria0685: i dont know
19:16:41 <vldb1245> Need to convert it back into 2D or a better 3D
19:16:44 <mmtunligit> vldb1245: well the game isnt 3D
19:16:49 <mmtunligit> its all 2d sprites
19:17:10 <lemuria0685> -# yeah i'm just gonna go back to figuring out how i can squeeze a local train between the eugenides to branciforte express trains
19:17:11 <mmtunligit> ok, another question, what do you think TTD stand for
19:17:12 <vldb1245> Isometric view us vetter
19:17:44 <vldb1245> T I u think I'm tgat dumb
19:17:47 <mmtunligit> the game is in isometric view?
19:18:00 <vldb1245> Yeah, original images
19:18:13 <blathijs> How can it be deluxe if it is not even in 3D? ;-p
19:18:23 <vldb1245> Original game us in isometric buew
19:18:26 <LordAro> i think it might be time for a moderator
19:18:31 <LordAro> as amusing as this is
19:18:32 <mmtunligit> im going to block you now i think, this was fun but now youre just being obtuse
19:19:50 <blathijs> That's just phonetic spelling ;-p
19:21:28 <vldb1245> Is there a way to get original TTD source code?
19:22:45 <Rubidium> vldb1245: just contact Atari about that. Not sure whether 10k will cut it though
19:23:19 <mmtunligit> imagine the egg on our face sif it somehow were enough
19:24:57 *** flanzine has joined #openttd
19:26:57 <flanzine> Hey ! I'm trying to open a NewGRF to access the Sprites. Therefor I downloaded NML 0.8.1 standalone version for Windows. When I open the nmlc app it opens then immediately closes. What do I do wrong ? Thanks
19:31:17 <Rubidium> flanzine: NML is a tool to make NewGRFs based on some text (source) files that you edit in something like notepad and some image files. Then nmlc is a console application (one without a graphical user interface) that converts that source code into a NewGRF
19:33:24 <flanzine> So you can't get the sprites from a NewGRF with it ?
19:33:43 <Rubidium> there is a tool called 'grfcodec' that can decode NewGRFs into some quite obfuscated text files and image files. That is also a console application, so you need to start that from the console and pass the right parameters (just starting grfcodec from the console will show you what parameters to pass)
19:35:47 <flanzine> Will try this, thank you. It won't be easy as I'm on Windows and really not used to windows terminal. I'd rather be on linux ^^
19:37:20 <flanzine> Yup but I don't have access to my computer on Christmas =P
19:44:22 <Borg> okey, I tested it more with long reserve and reserve through.. and all works correctly
19:45:07 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
19:45:35 <Borg> flanzine: what windows? 10? 11?
19:45:43 <Borg> I can shell you my l33t very old cygwin :D works like a charm
19:46:40 <Borg> or as LordAro said.. WSL is an option too..
19:50:48 *** MinchinWeb[m] has joined #openttd
19:53:03 <flanzine> Borg Win11 family edition
19:57:27 <flanzine> The big problem is, I'm not used to development tools and documentation for devs is not that much detailed. To me it's quite painful to get to know what to do ^^ Even using github is'nt that simple
19:58:27 <Borg> oh so you are not used to terminal/console at all.. okey
19:58:53 <Borg> if you want to mod.. you need to get used to the tools..
20:01:36 <andythenorth> that was an interlude
20:10:53 <andythenorth> can we make OpenTTD into a rogue-lite?
20:12:27 <andythenorth> maybe I mean a rogue-like
20:13:00 <mmtunligit> how do you propose we do this
20:13:15 <mmtunligit> and do you have 10k to get 1% of the way through making it happen
20:13:42 <andythenorth> well what are the core elements of a roguelike?
20:13:44 <andythenorth> I barely played any
20:13:56 <andythenorth> player some BBC Basic text dungeon games
20:14:08 <mmtunligit> something about map changing ever run, which we already have
20:14:20 <mmtunligit> these days i think theres usually some sort of lagacy upgrade system
20:33:35 *** flanzine has quit IRC (Remote host closed the connection)
20:45:48 *** sinas128 has joined #openttd
20:45:48 <sinas128> vldb1245: if anything, you need to work on your pitch, it sucks arse
20:47:30 <xarick> british broadcating computer?
20:48:14 <peter1138> British Broadcasting Corporation microcomputer, yes.
20:50:20 <peter1138> before the world decoded we needed KiB
20:50:30 <_glx_> that's not much, I started with another british system having 128kB
20:51:51 <_glx_> yes, and only 64kB accessible at a time
20:52:49 <_glx_> but it could map a bloc of 16kB to another one
20:52:49 <peter1138> Of course, 16-bit address bus.
20:52:52 <andythenorth> we had all the worst good computerrs in the UK
20:53:25 <andythenorth> oh Amiga wasn't British was it
20:53:28 <andythenorth> Nolan Bushnell or something
20:54:11 <andythenorth> maybe that was Atari
20:54:24 <peter1138> Others had sprites, ee had bitmspped displays.
20:54:38 *** djsayaxe has joined #openttd
20:54:38 <djsayaxe> we cant seem to join each other servers even with port forwarding anyone else having issues?
20:55:33 <_glx_> 3" floppy (worst choice ever)
20:56:34 <andythenorth> every day is a school day
20:56:40 <andythenorth> I never saw one of those
21:25:25 <Borg> 3" hah? never saw too :)
21:25:37 <Borg> 5.25" and 3.5" :) had both
21:26:35 <sinas128> Yeah I think you missed your target audience by a million miles
21:27:31 <vldb1245> I can't find Atari. Is this a nick?
21:28:32 <vldb1245> No. How did you know
21:29:20 <sinas128> he thought atari was a bloke
21:29:45 <vldb1245> Than I dont need no Atari to make this game
21:30:00 <belajalilija> wtf is this still going on
21:30:38 <vldb1245> They never work with me and before I contact them my sht has to be copyrighted
21:31:06 <vldb1245> And I can't copyright something that was already done
21:31:22 <vldb1245> So than will listen to me and say thank you very mucn
21:31:31 <sinas128> I suggest you take your 10.000 dollars and spend some time in marketing and project management before you undertake anything
21:31:39 <Borg> Amazon IP space, his client does not respond to VERSION
21:31:46 <Borg> I suspect its a troll...
21:32:55 <vldb1245> I know game marketing. They build in AI which play as a real player this way they attract more people as they think there are many playing
21:33:39 <vldb1245> Need a working game. Downloading Visual Studio.
21:35:04 <sinas128> vldb1245: On top of that project management and marketing course you should take, maybe also invest in some writing skills, like reasoning
21:35:20 <sinas128> sentence building, vocab
21:36:32 <peter1138> I recommend going to the pub
21:36:51 <sinas128> peter1138: Now thats an advice I can get behind
21:36:58 <belajalilija> or otherwise going outside
21:36:59 <sinas128> which ones do you recommend peter
21:37:43 <belajalilija> and bang on about moslim immigrunts
21:38:03 <belajalilija> and how they're taking are cuntry
21:38:16 <_zephyris> Just back from a brewery, Christmas special ale is now on hand
21:38:34 <belajalilija> didnt you hear that the woke has banned the worst christmas?
21:47:33 <peter1138> sinas128, anything local that isn't a chain and sells local beers
21:48:05 <_zephyris> Pretty sure I count as woke. Perhaps liberal elite... I get confused.
21:49:35 <_zephyris> Anyway, Stewart's Holly Jolly Christmas ale is a win.
21:50:03 <peter1138> I once scored 100% left on 9ne of those online quizes...
21:50:21 <belajalilija> kinda wonder where i score on those
21:50:33 *** reldred has joined #openttd
21:50:33 <reldred> @borg they’re a discord user, the client you’re seeing is the irc to discord bridge that’s connected to the Discord channel #openttd-development channel on the official OpenTTD discord. Should show as the same for me and bunch of others.
21:52:52 <Borg> oh.. then its not nice that Discord bridge doesnt identify itself
21:53:27 *** MinchinWeb[m] has quit IRC (Ping timeout: 480 seconds)
21:53:47 <reldred> TrueBrain wrote it I believe. Take it up with him 😛
21:54:14 <reldred> Or feel free to submit a PR to the relevant OpenTTD infrastructure repo 😛
21:54:18 *** MinchinWeb[m] has joined #openttd
21:55:06 <Borg> reldred: oh well.. not that I am the fan of Discord anyway... ;)
21:56:22 <_glx_> the bridge mostly exists for the one member still on IRC 🙂
21:56:28 <peter1138> I think reldred would be a good pub conpanion
21:56:43 <andythenorth> wetherwokespoons
21:57:13 <Borg> _glx_: so majority of users here are on Discord?
21:57:18 <peter1138> Nah, I d9nt go near Spoons. Too woke for that.
21:57:34 <reldred> peter1138: Nah I’m too quiet. Though I fare better at pubs than clubs. As soon as it gets too loud I go quiet and just start drinking myself under the table.
21:57:48 <belajalilija> andythenorth: replaces all the carlsberg with carlasberg, all toilets and gender neutral and there's no glass ceiling so all the rain pours in
21:57:50 <andythenorth> I have had some of my best naps in clubs
21:58:31 <_glx_> from all the active people in the chat, only 3 are on IRC yes
21:58:43 <_zephyris> Pub > club, unless fancy club with live music
21:59:35 <peter1138> This pub has live music
21:59:52 <Borg> holy moly.. what a times...
22:00:17 <reldred> Ugh, I hate when pubs are too loud. Either I want a club where I can get shitfaced and not talk to people or a quiet cozy pub
22:00:30 <belajalilija> i like my local conservative club, they always do pride, there's a bunch of labour supporters there and pints are £2,75
22:00:57 <reldred> I’ve yet to go out drinking since I got to brisbane
22:00:58 <belajalilija> there's nothing conservative about it, it's great
22:02:32 <reldred> Weee time for another day of answering work emails and playing TTD
22:02:40 <reldred> fly back to Adelaide tomorrow
22:02:53 <reldred> Then road trip back to brissie on Boxing Day
22:03:00 <reldred> Just a cheeky 2000km drive
22:03:08 <belajalilija> just a bit of banter
22:04:02 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:04:45 <rito12_51026> _glx_: The most important people?
22:08:15 *** Borg has quit IRC (Quit: leaving)
22:21:21 <xarick> an even cleaner version
22:23:21 <xarick> is the internet falling apart?
22:26:44 <xarick> microsoft singlehandedly destroying github
22:58:03 <Rubidium> I guess they're being forced to use co-pilot for their improvements
23:10:20 *** onfirenfs has joined #openttd
23:10:20 <onfirenfs> Hey I wanted to discuss a potential feature for OpenTTD, if this is the wrong channel to talk about it let me know. I’m interested in a directional “signal/sign” in OpenTTD. I think this would be a great compliment to the current path signals in the game and fix a pathing edge case with train roundabouts
23:10:39 <onfirenfs> In the image above, all of the outside tracks are directional with the centre track being bi-directional. This leads to a unique edge case where the train A has two potential paths. If the train takes the red option it train B and C can continue on their journey without getting interrupted but if train A chooses the green path it will block both train B and C causing them to stop. Placing a
23:10:39 <onfirenfs> directional path signal on the slip lanes prevents train A from choosing the green path but now allows trains to stop in the slip lanes which could lead to all the trains coming from that direction being blocked. This leads to a unique situation where a signal that enforces track direction but can’t be pathed to is desirable. Maybe there’s some other solution to this layout I’m not seeing?
23:19:22 <audigex> That's a very niche "problem" that only occurs because of a very unique set of circumstances in that particular junction and because of your bi-directional centre lanes, bi-directional "turning" lanes etc
23:19:22 <audigex> You could fix it with a waypoint, or (in JGRPP) programmable signals, or just designing your junction a little differently so that it isn't possible
23:19:22 <audigex> Personally I don't think it's worth changing OpenTTD for something that only happens if you specifically set up a junction in such a rare way, it would benefit a tiny number of people who could just make a slightly different junction instead
23:20:32 <audigex> As for a simpler fix: Just put a one-way signal on the green path so that it's "right turn only", and it'll force trains to use the red path
23:23:06 <audigex> You can also make the centre roundabout "one way" too (do it with signals on the entry tracks not on the roundabout itself)
23:27:14 <tabytac> You can also solve this by using a two way path signal and signal programming in JGRPP. Reserve trough means that the penalty from entering from behind the signal still applies, but also a train wont wait at the front of it
23:27:41 <onfirenfs> Thats fair, maybe I can try programmable signals. I was hoping there was some way to solve this in the base game though.
23:27:41 <onfirenfs> I guess that solution could be one-way signals on the green path. The only issue is if a train stops at that signal it will block this portion of the intersection
23:29:10 <_jgr_> If you're going for my branch there is a no-entry signal type specifically for this case, you don't have to use routing restrictions
23:36:45 <talltyler> I wouldn’t mind seeing no-entry signals in vanilla
23:42:37 <peter1138> I was going to backport it but didn't get very far.
23:44:39 <xarick> rebased everything again
23:44:58 <xarick> they're finally outputing the same results
23:53:31 <_glx_> 311MB without accounting ScriptList memory
continue to next day ⏵