IRC logs for #openttd on OFTC at 2025-11-27
⏴ go to previous day
00:00:13 <tabytac> squirejames: just checking you are talking about using the house placer next to something like a highway which disables normal housing?
00:00:14 <talltyler> House placer should let you place houses wherever you want.
00:00:49 <talltyler> It lets you place them nowhere near a road, so the fact that a highway blocks them is definitely not intended behavior (i.e. a bug) 🙂
00:01:35 <tabytac> im currious why you think it should be left as it is right now?
00:01:44 <squirejames> I use Timberwolfs roads, and the A Roads and Motorway roads he added forbade houses growing along them
00:02:16 <squirejames> Because, if you can't grow houses along said roads, I wouldn't want to place them there either (even accidentally). As I said, a switch for this behaviour would, for me at least, be desirable
00:03:34 <squirejames> If, for example in your screenshot, you were to have a regular road one square north of where you're trying to plop the house, it would be next to that road and able to be built. As I said, I like that functionality
00:04:17 <tabytac> do you mean like this?
00:04:27 <tabytac> it still is disallowed
00:16:46 *** reldred has joined #openttd
00:16:46 <reldred> Yeah it’s a good reminder what the roads for personally. If I did want a small cluster of houses beside a freeway I should probably be building them their own little strip of dirt road anyway, which is very common in my country.
00:21:07 <mmtunligit> Idk if I’m using the house placer then I’m putting them next to the highway for a reason. If it lets you put them in the middle of nowhere without a road you should be able to put them next to a road that doesn’t let them grow there, I’ve personally had to convert roads to house types and back when making rural areas, it’s real annoying
00:46:49 <squirejames> Hence why a switch is desirable. Turn on the behaviour if you like it, turn it off if you don't
00:48:29 <talltyler> I don’t know why you need a setting to stop yourself from placing eyecandy in the wrong place somewhere 🙂
00:49:08 <talltyler> Once placed, the house does not care about the road
00:49:15 <squirejames> I don't know why you'd need to place houses alongside a motorway
00:49:26 <squirejames> But, as I said, that's why a switch is desirable
00:50:05 <talltyler> I’ve run into the error trying to place a farmhouse along a dirt road in the countryside
00:52:03 <squirejames> I understand why you want that behaviour turned off. People play the game differently. I repeat, for the nth time, it's why a switch is desirable
00:58:22 <talltyler> We try to avoid excess settings, as the game already has too many. I don’t think preventing yourself from placing a house in the wrong place is a strong enough argument for a new setting.
00:59:17 <tabytac> yeah i just dont see a genuine usecase for wanting to not be able to place houses with the "sandboxy" house placer feature
01:03:39 <audigex> squirejames: IMO it's the kind of thing that the newGRF author should put in a parameter, rather than needing to have a game setting for it
01:03:39 <audigex> Although I guess when you have a game setting for disabling wagon speed limits, but design-vs-service speeds are a newGRF param, this is a bit of a grey area in terms of the logic of where things should be
01:04:55 <squirejames> Others opinions may differ. I don't think asking for it to be a setting is unreasonable *shrug*
01:06:40 <audigex> Yeah I'd be fine with it, just a question of where you draw the line. I have no objection to it being a game setting, I could equally support the idea of "It's an artistic choice from the newGRF"
01:06:40 <audigex> Really it's a philosophical question over where we draw the line between player choice vs newGRF vision
01:07:51 <mmtunligit> the purpose of the house placer is for sandbox play, a thign that says "you cant do that here" seems directly antithetical to the purpose of it in the first place
01:08:24 <audigex> That's true, it's not really a normal gameplay outcome of that newGRF design choice
01:09:06 <squirejames> I should be able to place houses on water then?
01:09:40 <squirejames> As, it's a sandbox, so, I can do as I wish, or, should such a tool obey the limitations other objects in the game apply?
01:12:52 <audigex> Let it be placed and then wipe it out when the water flows back :p
01:13:23 <squirejames> Good idea 😛 silly example I know but, as you said, it comes down to arbitrary lines on what is an isn't...I guess the word is appropriate? for what the tool is designed to do
01:14:16 <audigex> Yup. Personally I mostly come down on the side of "Set sensible defaults, but ultimately let the player do what they want" - it's not a competitive game, let people have fun however they find it fun
01:25:27 *** kuka_lie has quit IRC (Quit: Lost terminal)
03:11:59 *** Wormnest has quit IRC (Quit: Leaving)
03:41:55 *** gnu_jj_ has joined #openttd
03:45:10 *** gnu_jj has quit IRC (Ping timeout: 480 seconds)
04:09:54 *** Zathras_1 has joined #openttd
04:13:29 *** Zathras_4 has quit IRC (Ping timeout: 480 seconds)
04:39:57 <DorpsGek> - Update: Translations from eints (by translators)
05:45:10 <rito12_51026> talltyler: It does not need to be a full setting. There is no considerable point in saving it. It would work even better as a tool in the house picker window.
06:41:21 *** ChanServ sets mode: +v tokai
06:48:19 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
07:19:54 *** toktik is now known as Guest32378
07:25:06 *** Guest32378 has quit IRC (Ping timeout: 480 seconds)
07:49:43 *** fairyflossy has joined #openttd
07:49:43 <fairyflossy> My question about the house placer bug thing is... does it also stop you from building houses next to a road that does accept houses if there's a road that doesn't accept them on the other side? Or does the bug only trigger if there's *only* a not-house-allowing road?
07:54:09 <reldred> I'm not convinced I'd consider it a bug
07:57:32 <fairyflossy> If it was the former I'd be 100% on the side of "This is a bug" the latter is a Personal Taste thing. I'd say valid to implement for people that want to do that, but not exactly a bug.
07:59:02 <locosage> iirc it's the former, house checks for any non-allowing road nearby
07:59:18 <reldred> yeah that I'd call a bug
08:00:08 <kaji_kaede> If you can place a house anywhere else, including not next to roads at all, you should be able to place it next to roads that wouldn't ordinarily allow it.
08:00:58 <kaji_kaede> Anything else seems like a very arbitray restriction for a feature which, as far as I know? Is primarily intended for 'detailers'.
08:03:16 <reldred> I'm not opposed to goes it throw out limitation, making it a switch just seems like pointless busywork. Lot of files to touch to add a new setting, strings to add, yadda yadda.
08:03:33 <locosage> though it doesn't match what screenshot in 9071 shows
08:05:15 <locosage> actually, wth is that code even doing 😵💫
08:05:57 <locosage> `return !allow;` great naming xD
08:07:21 <kaibaneddy> talltyler: Unless it does... my code yeets newly-built houses that are not next to a road (for generation reasons, not with the intention of enforcing anything on the player - and afaik there's no way to distinguish between a generated and placed house)
08:08:26 <kaji_kaede> locosage: What's hard to understand?
08:08:37 *** gelignite has joined #openttd
08:09:18 <locosage> `allow` var being inverted is kinda confusing
08:09:21 <locosage> but I guess it works
08:10:16 <locosage> `allow = true;` means house is not allowed 😅
08:14:26 <kaji_kaede> yeah that part's... *interesting*
08:14:58 <locosage> locosage: ah, that screenshot I was looking at is not for the actual behavior 😅
08:23:28 *** toktik has quit IRC (Remote host closed the connection)
10:01:39 <peter1138> Might need to check the history to figure out that allow :p
10:02:33 <peter1138> Could be weird logic leftover from trying to get the no-houses-next-to-roads path working.
10:09:57 <locosage> I actually checked, if there was history it's burred somewhere in NRT branch
10:25:07 *** kuka_lie has joined #openttd
12:06:23 <peter1138> So it's not an alias trick?
12:12:15 <peter1138> What do I need to do to get the bridge pillar and badge stuff merged into NML?
12:13:37 <peter1138> Yay, laptop now has 24GiB instead of 8GiB.
12:15:59 <_zephyris> Did you download more RAM?
12:19:00 <peter1138> No, I spotted a single eBay buy-it-now which had prices not reflecting the current increases.
12:19:01 <_zephyris> Aww, 404, you must've put them out of business
12:19:39 <_zephyris> I'm feeling lucky I maxxed my MoBo 6 months ago.
12:31:21 <xarick> i bought a year ago, maybe two, a kit of 2x8GB DDR4 3200 for €37, insane how the prices are now
13:14:47 <andythenorth> RAM situation here
14:20:40 <Borg> thats amazing.. how everything balooned ;D
14:20:48 <Borg> 30GB of RAM used... *sigh*
14:20:59 <Borg> Free Memory: 15.46G (96%)
14:20:59 <Borg> Free System PTEs: 150233
14:27:05 <peter1138> Free memory is wasted memory.
14:27:08 <mmtunligit> dont code when youre tired, you make stupid mistakes
14:30:09 <rito12_51026> What to do when you're tired?
14:35:12 <rito12_51026> But the sun hasn't settled yet.
14:35:38 <xarick> iterator validation is so annoying
14:41:57 *** Flygon_ has joined #openttd
14:45:10 <kuhnovic> rito12_51026: Close your eyes
14:48:47 *** Flygon has quit IRC (Ping timeout: 480 seconds)
14:58:25 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
15:14:20 *** zanooda2000 has joined #openttd
15:14:20 <zanooda2000> mmtunligit: _try using on-screen keyboard with your mouse instead of typing_
15:14:20 <zanooda2000> Mouse has a lot of unique use cases, but navigation through _well-known_ UI is not one of them. It's extremely frustrating when you know exactly what do you need to do and where you need to click but everything that stopping you from doing it is absolute need to aim to a few tiny buttons. With hitkeys you need to once remember some keystroke sequence. You don't need to aim, just move your fingers
15:14:20 <zanooda2000> over a tactically perceptible area.
15:14:20 <zanooda2000> When UI is not well-known is another question.
15:14:20 <zanooda2000> Even in this game using hotkeys will save you tonnes of mouse clicks, nerves and seconds.
15:19:26 <jfkuayue> In recent 2 months, two mouses of mine have broken in a row…
15:22:46 <peter1138> So tempting to put Debian on this laptop.
15:23:00 <peter1138> rito12_51026, siesta.
15:24:37 <rito12_51026> Not yet I have an event in the church
16:03:50 *** Wormnest has joined #openttd
16:34:58 *** Flygon__ has joined #openttd
16:41:47 *** Flygon_ has quit IRC (Ping timeout: 480 seconds)
17:03:36 <peter1138> Just played with Keyed services in dotnet (I'm late) but I can't see how to just get a list of them :/
17:26:04 <xarick> SwapList became a little bit heavy...
17:26:30 *** Borg has quit IRC (Quit: leaving)
17:26:34 <xarick> due to 5 million iterators needing revalidation
17:28:29 <xarick> when can I use FlatSet?
17:39:52 <_jgr_> FlatSet is not the right answer if you need to store 5 million items...
17:45:04 <xarick> peter had a way to sync lists
17:45:32 <kaji_kaede> ...The heck are you doing that needs five million iterators?
17:46:02 <xarick> std::map element pointing to std::set equivalent element
17:46:10 <LordAro> kaji_kaede: what a silly question :p
17:46:41 <xarick> peter used some iota stuff and then advance or so,
17:46:50 <xarick> need to see if i can apply it here
17:47:37 <kaji_kaede> xarick: No no, like... What the heck is this for?
17:48:36 <xarick> it's to make remove item, set value, stuff like that faster when the list is sorted by value
17:49:45 <peter1138> My code is not suitable for massive lists.
17:49:55 <peter1138> It's likely not a benefit for small lists either.
17:50:28 <kaji_kaede> xarick: So you're just... Making technical changes for the hell of it?
17:50:53 <xarick> i guess the iota/advance approach would require constantly updating the whole stuff, unlike with iterator
17:51:45 <peter1138> The iota stuff is filling a vector with a sequence of numbers. It's using memory for each entry, no magic.
17:52:24 <LordAro> kaji_kaede: you're new here
17:53:46 <kaji_kaede> Ha. I've thought so for a while, but sometimes I need to check my sanity.
17:54:30 <kaji_kaede> *I am sane, and I don't like it.*
17:55:55 <_glx_> still think more ScriptList operations need to be suspendable
17:59:10 <locosage> hm, wonder how boost::bimap would fair as a ScriptList storage
18:00:00 <_jgr_> The current suspendable approach seems to involve operations being done either 1, 2 or somewhere in the middle number of times, which seems likely to result in non-deterministic problems
18:02:44 <_jgr_> I'd expect that charging ops/memory for ScriptList operations would be easier and more likely to discourage script authors from doing pointlessly expensive operations
18:03:23 <peter1138> I'm sure that, somehow, it's possible to suspend in the middle of an evaluator. Just not easy without hacking into things.
18:42:51 <locosage> intended behavior that's asking for a bug fix 😛
18:44:07 <_zephyris> I suspect the real fix (feature) is per-NewGRF maximum sprite resolution...
18:45:14 <locosage> both per-grf resolution and separating gui sprites would be useful
18:46:33 <_zephyris> Hmm, I do kinda see
18:46:52 <_zephyris> Bigger GUI sprite problems exist, like track NewGRF mouse cursors...
18:50:00 <_zephyris> My fault of course...
21:29:05 <peter1138> What's the maximum amount of profit a group can make (pretty sure that's a trick question)
21:30:28 <xarick> this is becoming illegible SQInteger value = item_iter->second.value_item_pair.first;
21:32:08 <xarick> SQInteger value = item_iter->second.value(); okay, slightly better
21:33:16 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:39:30 *** Flygon__ has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
21:39:43 <peter1138> Yeah, I don't think I want the widget to be that wide "just in case" :)
21:41:48 <Rubidium> though... with the compact money format it won't get really big, right?
21:42:10 <peter1138> Right, but it's the long format at the moment.
21:49:55 <peter1138> Short is kinda weird anyway, as there's two values (this year and last year) that can end up with different display formats.
22:06:17 <peter1138> Maybe it should just resize as the window is drawn. I don't know like that though.
22:11:20 * rito12_51026 Reading "Lots of pointers" surely expected more like 32 than 9.
22:29:05 * peter1138 tests Wentbourne. The usual test-case.
23:14:37 <xarick> do I need iterator viter{} or viter?
23:14:47 <xarick> can i omit explicit ItemRecord etc...
23:15:12 <xarick> i want it to default initialize to end
23:18:59 <xarick> well, regression passes
23:19:25 <xarick> but regression doesn't even test SwapList or so
23:21:46 <xarick> but then i would have stuff like second.first in some places... very confusing
23:22:56 <xarick> ItemRecord is also a weird name
23:24:00 <xarick> here's an example usage:
23:24:00 <xarick> `auto [item_iter, inserted] = this->items.try_emplace(item, ItemRecord(value));`
23:29:10 <xarick> when viter is not yet defined, it should say viter = end, not viter = ???
23:31:52 <xarick> the default initialization didn't set viter to end? im confused whether this is fine
23:40:07 <_glx_> long life iterators are painful, so many events could invalidated them
continue to next day ⏵