IRC logs for #openttd on OFTC at 2025-05-07
⏴ go to previous day
01:28:56 *** Wormnest has joined #openttd
02:23:40 *** gnu_jj_ has quit IRC (Ping timeout: 480 seconds)
02:32:00 *** Wormnest has quit IRC (Quit: Leaving)
03:26:02 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:26:06 *** WormnestAndroid has joined #openttd
03:26:07 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
03:26:27 *** WormnestAndroid has joined #openttd
04:58:48 *** greeter has quit IRC (Remote host closed the connection)
05:01:02 *** greeter has joined #openttd
05:19:36 *** toktik is now known as Guest15328
05:19:36 *** Guest15328 has quit IRC (Read error: Connection reset by peer)
06:11:31 <peter1138> Day off; do I 1) sit here doing OpenTTD all day or 2) go for a bike ride.
06:13:53 <pickpacket> peter1138: go for a bike ride and then do OpenTTD? Maybe even play the game?
06:23:35 <pickpacket> peter1138: you've mentioned that you rarely ever play OpenTTD because you get distracted by programming it :)
06:24:27 <peter1138> (that was the joke)
06:26:09 * pickpacket makes hand-flying-over-head gesture. WHOOOSH
06:26:33 <pickpacket> I've hardly slept at all last night. Not sure I should even go to work, tbh
06:29:16 *** akimoto has quit IRC (Remote host closed the connection)
06:39:07 <peter1138> Constants are usually named all-uppercase.
06:39:35 <peter1138> Static globals are usually named in snake case, with a prefix of _.
06:40:28 <peter1138> `static const X ...[]` however...
06:41:01 <peter1138> They are usually _snake_case. I guess they are not quite "constants" as such.
06:42:19 <peter1138> Check the history. Last change 4 years ago. Make up your own mind.
06:42:42 <pickpacket> peter1138: so probably not up to date, if that forum post is correct
06:53:04 <peter1138> "It's a Wiki, anyone can change it" means "It's a Wiki, nobody changes it, especailly not the developers."
06:57:12 <pickpacket> Can I find current info on the commands somewhere? Then I can update the wiki
07:01:43 <peter1138> I wouldn't expect it to be documentated anywhere. Ask others, or source code dive.
07:02:06 <peter1138> (And no, it's not usually immediately obvious from the code.)
07:35:42 <frosch123> Pickpacket: grep for ctrl in english.txt
07:42:23 <peter1138> What, that I had checked? :p
07:46:55 <peter1138> I appear to be donning cycling kit.
07:48:36 <peter1138> Cold enough for warmers :o
07:56:46 <andythenorth> peter1138[d]: go for a bike ride
09:37:27 <xarick> woah, the online content is so much faster in the browser version of openttd
09:51:37 <frosch123> That's because you did not download anything. Online content takes most time to check which scenarios you already have
10:14:22 <xarick> why do ships always bunch up
10:14:41 <xarick> could something be done about loading/unloading
10:15:12 <xarick> only 1 ship may unload/load at a time?...
10:47:06 <xarick> hmm, it's sticking too long with ships... :/
11:19:50 <xarick> does small ufo to road veh collision always prefer low company_id road vehs?
11:20:16 <xarick> sometimes it feels there's a bias
11:49:04 <_glx_> IIRC they don't target AIs
12:18:27 <squirejames> On the one hand, that feels unfair, on the other, the AI is already at a disadvantage. Throwing UFOs at them too does feel a bit, picking on the poor kid
12:48:38 <peter1138[d]> xarick: Unbunch at depot...
13:00:05 <peter1138[d]> andythenorth: 60 miles along, 3000 feet up
13:06:44 <squirejames> They seem to stay separated with autosep for me *shrug*
13:20:31 <xarick> hmm masterhellish does AI videos but I guess mine does not impress
13:21:14 <xarick> well I have a problem with 10k max opcodes
13:21:25 <xarick> it's not enough for my AI
13:21:50 <xarick> probably underperforms greatly vs other AIs
13:23:50 *** masterhellish has joined #openttd
13:23:50 <masterhellish> I feel most AI's are mid, so far I have only found AAAHogEx to be top. But my tests are some what limited. Still looking into it
13:25:50 <xarick> yes AAAHogEx is amazing
13:28:29 <xarick> it can find space and ways where others do not
13:28:52 <xarick> where I see an obstacle, Hog finds a passage
13:41:48 <peter1138> andythenorth, now what?
13:48:26 <xarick> I'm taking on the best AI as an AI
13:49:00 <xarick> same settings, let's see what happens to my ai
13:49:26 <xarick> not sure about world gen settings
13:49:58 <xarick> oh, there's a "game save"
13:55:14 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
14:01:36 <xarick> not quite a problem, but just a different methodology
14:01:46 <xarick> very few towns in the map
14:04:28 <xarick> by 1956 my AI was done with the map 🙂
14:05:13 <xarick> it takes the whole time pathfinding with no quick results
14:06:42 *** WormnestAndroid has joined #openttd
14:09:07 <xarick> this savegame just shows how abysmally slow my rail pathfinder is
14:11:08 <xarick> wow 9 years of rail pathfinding!
14:11:26 <peter1138[d]> Yeah, when you only ever do brute-force testing with max-opcodes, it skews your AI's goodness somewhat.
14:11:27 <xarick> it found a path! but it was already outdated
14:13:07 <xarick> I tried to understand AAAHogEx pathfinding method, and it's just seems like... it just does something regardless of the result, because it is actually adjusting the terrain while without yet the complete path, I'm not quite sure
14:14:19 <xarick> but im probably wrong, on money limited scenarios, it's quite efficient if it does this
14:14:44 <peter1138[d]> Sounds like you are lookiing for the best route, whereas AAAHogEx is just making the best route.
14:16:26 <xarick> yeah, his approach is more akin to what a human would do
14:17:53 <xarick> accurate, fast, efficient... just how did he pull that off
14:18:18 <xarick> doesn't require many op codes. My biggest hurdle is this
14:19:52 <peter1138[d]> Convert it into a library and consume that 😄
14:19:53 *** APTX has quit IRC (Quit: Farewell)
14:24:15 <xarick> oh, I'm not done with water routes yet, it seems
14:24:36 <xarick> it's trying the expensive ones, with canals
14:27:58 <xarick> well, it's building the water routes in a timely manner
14:28:20 <xarick> by timely.... i mean 60 days to 300 days, very bad actually
14:28:42 <xarick> but by comparison, 12 years and no rail route yet
14:32:58 <xarick> all water routes have been used! 1963
14:40:31 <xarick> 5 years till the end of the challenge
15:02:53 <xarick> masterhellish: 20 year challenge completed, but as an AI
15:03:17 <xarick> I see why it's unimpressive
15:04:02 <peter1138[d]> Heh, `WidgetData` was originally intended to be moved to a `std::variant` once the data types distinguishable.
15:04:14 <peter1138[d]> But now we're using multiple parts at once 🙂
15:05:05 <peter1138[d]> A `union` was considered as a temporary way but of course they're bad.
15:10:26 <peter1138[d]> (That was a fairly quick turn around from "but the iconic climate buttons!!!1111" from me.)
15:19:56 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
15:24:01 *** WormnestAndroid has joined #openttd
15:29:37 <xarick> how to extract gamesettings into a .ini
15:29:55 <xarick> oops, settings from a savegame into a openttd.cfg
15:32:27 <LordAro> there's a settings console command iirc
15:46:39 *** Wormnest has joined #openttd
16:03:13 <xarick> and why israel of all countries...
16:12:56 <xarick> I don't understand the rationale of eurovision
16:13:28 <xarick> shouldn't they be neutral
16:14:06 <masterhellish> xarick: This is a very interesting concept to attack the challenge as an AI I love it
16:25:29 *** gelignite has joined #openttd
16:41:41 <peter1138[d]> Unexpected breakpoint. That's why it hung.
16:53:18 <kuhnovic> (not from me, I love it)
16:53:32 <xarick> oh wow, the main menu is already merged
16:54:02 <xarick> how do i get to my ais now hmm new game i guess
16:55:34 <truebrain> Most controversial change in how many years? 😄 (but yeah, I like it 😄 )
16:57:43 <digitalfox> New main menu + toyland
16:57:43 <digitalfox> Going to be fun here / forums / reedit etc…
16:57:43 <digitalfox> I thinks it looks much better
16:58:30 <peter1138[d]> Branches will do that.
16:58:45 <peter1138[d]> (Even master, a bit)
16:59:05 <xarick> buttons could have their max width not regulated by window title
16:59:27 <peter1138[d]> Wouldn't be better.
16:59:48 <peter1138[d]> We could move the version out of the title.
16:59:59 <xarick> or make the title rollout like a news ticker
17:00:50 <xarick> no title, sounds like a good idea
17:03:05 <_zephyris> Yeah, version in the window content, like glyph and sprite warnings, should work.
17:04:43 <xarick> no hotkeys in main menu?
17:05:07 <peter1138[d]> Has there ever been?
17:06:51 *** asasnat has joined #openttd
17:10:50 <xarick> random idea: remember open windows and their positions
17:16:42 <peter1138[d]> asasnat: Collect the bags from a plane, I guess.
17:20:27 <peter1138[d]> (Not having a caption is a pain, the window can't be moved... not that it needs to be movable, but I'm used it to being so...)
17:21:09 <peter1138[d]> ((In the original TTD, the intro window is not moveable))
17:22:33 <peter1138[d]> Non-small font, for reference.
17:23:09 <peter1138[d]> I wonder. "OpenTTD 15.0" fits in the title, so for a release that makes sense.
17:26:26 <_glx_> I think the window being super large for extra long branch name is a non issue
17:27:15 <peter1138[d]> But it's also wider with the default master branch name.
17:27:20 <peter1138[d]> Just not as much 🙂
17:29:01 *** gelignite has quit IRC (Read error: Connection reset by peer)
17:29:18 <_glx_> btw even without a title bar the window could be moveable if the panel handles what used to be handled by title bar
17:30:42 <peter1138[d]> Yes, but I didn't want to spend effort yet doing that.
17:34:23 *** gelignite has joined #openttd
17:44:16 <peter1138[d]> Original sprites are not uniform size either. Bah.
17:44:28 <peter1138[d]> Not a huge issue.
17:51:12 <xarick> just had a random idea
17:51:35 <xarick> pause game on reaching score year
17:52:23 <peter1138[d]> It could even be paused and show the score table
17:53:07 <xarick> it shows the score table still, right?
17:53:45 <xarick> keep the game paused after closing that away
17:55:49 <peter1138[d]> Or just pause it.
17:56:03 <peter1138[d]> Press F1 or something.
17:59:52 <xarick> or imbue the functionality on the autopause on new game setting
18:03:01 *** kuka_lie has joined #openttd
18:03:15 *** peter1138 has quit IRC (Read error: Connection reset by peer)
18:04:41 *** peter1138 has joined #openttd
18:04:41 *** ChanServ sets mode: +o peter1138
18:05:33 <peter1138> Uh, well my pi (with irssi and pi-hole) crashed :S
18:26:40 <peter1138[d]> Maybe we don't need the version number on the intro menu...
18:27:42 <peter1138[d]> Alternative idea, implemented before I realised the titlebar has it anyway :p
18:30:05 *** WormnestAndroid has quit IRC (Remote host closed the connection)
18:30:08 <peter1138[d]> Well, other than the OPENTTD logo being hidden 😮
18:30:17 *** WormnestAndroid has joined #openttd
18:32:15 <peter1138[d]> Hmm. (Yeah, I manually moved it to here, but.)
18:32:30 <michi_cc> No title bar for fullscreen peeps though.
18:32:59 <peter1138[d]> Yeah, but anyone playing fullscreen probably doesn't care what specific git branch they are working on...
18:33:12 <peter1138[d]> (i.e. as a developer I never use fullscreen)
18:33:54 <michi_cc> Sure, but the normal version still needs to be visible somewhere, unless you plan to special-case tagged releases.
18:34:05 <frosch123> A wider window in nightly helps the baseset/translation warnings
18:36:37 <peter1138[d]> Still works, but yeah.
18:36:42 <peter1138[d]> I'm just playing really.
18:36:50 <peter1138[d]> Uh, well, not actually playing. That's... uh
18:38:03 <truebrain> peter1138[d]: That looks really slick!
18:54:13 <andythenorth> yair this will be good 🙂
18:57:05 *** gelignite has quit IRC (Quit: Stay safe!)
19:09:27 <xarick> peter1138[d]: I like this one the best
19:10:13 <peter1138[d]> That's just the one I PRed but I dragged the window to demo it 😄
19:10:58 <xarick> oh but all that empty space would be useful for other windowses
19:17:37 <peter1138[d]> Sure, but one thing at a time.
19:30:45 <Rubidium> _glx_: can I ask you to replace the use of MemCpyT/MemSetT from dmusic.cpp with more C++ like idioms, and remove core/mem_func.hpp when that's done?
20:01:38 <_glx_> pff it's a pain to find dmusic API doc
20:08:58 <peter1138[d]> Does init with `{}` work?
20:09:12 <peter1138[d]> Hmm, is PersistentStorage's feature property useful?
20:10:16 <peter1138[d]> It's only used in a debug message, but also it's not saved, so it's also not correct in many cases.
20:10:44 <peter1138[d]> So I'm wondering, do I do a savegame bump and save it, or just remove it.
20:11:58 <peter1138[d]> I meant for the dmusic stuff, but ok.
20:13:09 <peter1138[d]> Hmm, and it's a desync debug message.
20:13:25 <peter1138[d]> Is discarding persistent storage changes a known desync problem...?
20:15:12 <_glx_> yes init with {} works in my testings
20:18:56 <_glx_> no, it's two topics mixed
20:20:15 <xarick> meanwhile, I shouldn't be using tables
20:20:27 <xarick> but they're so good...
20:21:56 <xarick> is it possible to make squirrel tables more repeatable between runs?
20:23:54 *** kuka_lie has quit IRC (Quit: Lost terminal)
20:24:20 <xarick> make the items contained to be in order
20:24:56 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
20:25:02 <xarick> maybe i dont know what it does
20:25:40 <xarick> iteratable by order of insertion
20:27:55 *** nielsm has quit IRC (Ping timeout: 480 seconds)
20:29:38 <andythenorth> use an array to maintain table keys
20:29:55 <andythenorth> can't remember if that's idiomatic in Squirrel or not
20:30:23 <andythenorth> or use array of 2 tuples, can't remember if Squirrel has unpacking
20:52:19 <peter1138[d]> Hmm, I see. It's filled in later. Weird.
20:52:26 <xarick> how readable is this now?
20:52:38 <peter1138[d]> in `InitializeWindowsAndCaches()`, of all places.
21:00:44 <talltyler> What is a police station?
21:01:11 <peter1138[d]> I'm going to find out 🙂
21:01:48 <_glx_> so much magic done with the data in dmusic
21:03:15 <andythenorth> that's too weird
21:03:54 <peter1138[d]> Step one: Game crashes without NewGRFs.
21:04:12 <peter1138[d]> Step two: Maybe it crashes with NewGRFs for the same reason...
21:05:27 <peter1138[d]> 257MB of 32bpp 4x zoom eyecandy houses.
21:06:04 <_glx_> ok MemSetT removal seems done
21:06:29 <peter1138[d]> Huh, same message even with the NewGRFs added. Heh. Maybe it is.
21:06:35 <peter1138[d]> I should look at the logs.
21:07:04 <peter1138[d]> Quick fix then 🙂
21:15:50 <peter1138[d]> (Another "high-quality" 32bpp piece...)
21:19:36 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
21:23:54 <peter1138[d]> In Act4, ReadString() reads until a \0, so I think that can't include it.
21:26:18 <alpapilus> peter1138[d]: Just rolls off the tongue.
21:28:07 <xarick> it became less readable
21:30:19 <peter1138[d]> Hmm, well it's using the string stack for a station name.
21:38:03 <_glx_> for the `\80` inside the string
21:38:41 <_glx_> but the string is expected to have only this control code
21:42:50 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:46:38 *** ChanServ sets mode: +v tokai
21:46:49 <peter1138[d]> Well at some point a NUL is being put into a string buffer.
21:53:40 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
22:25:13 <peter1138[d]> "Pick a random string" station names
22:56:57 <peter1138[d]> Found the real cause.
22:57:40 <peter1138[d]> I think you'll agree this is a much... snappier name.
23:47:46 *** WormnestAndroid has quit IRC (Remote host closed the connection)
23:47:49 *** WormnestAndroid has joined #openttd
continue to next day ⏵