IRC logs for #openttd on OFTC at 2023-02-01
⏴ go to previous day
01:50:18 *** _aD has quit IRC (Quit: leaving)
02:42:31 *** Wormnest has quit IRC (Quit: Leaving)
03:51:31 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:54:22 *** KiriDore_ has joined #openttd
03:55:42 *** KiriDore has quit IRC (Ping timeout: 480 seconds)
04:31:38 *** HerzogDeXtEr has joined #openttd
05:59:33 *** keikoz has quit IRC (Ping timeout: 480 seconds)
06:55:56 *** nielsm has quit IRC (Ping timeout: 480 seconds)
07:05:22 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
07:18:16 *** sla_ro|master has joined #openttd
07:34:19 *** Jericho has joined #openttd
07:34:19 <Jericho> Hello everyone. Not sure to post here or help, so sorry if this is the wrong channel. I want to know how to draw trains in better graphics... I am struggling with the small amount of pixels i have
07:34:30 <Jericho> any advice would be welcome
08:42:03 <LordAro> kamnet: ideally Z would make a pull request with the new sprites
08:42:10 <LordAro> i wouldn't want to add them without his say so
08:43:12 <kamnet> I'm pretty sure him asking about it is pretty much him giving his say so.
08:44:05 <kamnet> Especially since he has stated that all of his work is free for use. Seems odd that he would put in all this work to improve OpenGFX and then deny its inclusion
08:44:27 <LordAro> i'm not suggesting he would deny it, just that the sprites posted may not be "ready" or something else
08:44:46 <LordAro> regardless, even an issue on the OGFX repo with links/attachments would suffice
08:46:51 <andythenorth[d]> I've replied in the thread also
09:16:08 *** WormnestAndroid has quit IRC (Remote host closed the connection)
10:24:04 *** Etua has quit IRC (Quit: Etua)
10:27:36 *** Flygon_ has joined #openttd
10:35:07 *** Flygon has quit IRC (Ping timeout: 480 seconds)
11:09:58 <Jericho> FLHerne: Thanks, once i get trains right i was going to look at road vehicals so totally fine, it will work out later
11:10:37 <FLHerne> (sadly the site is offline, but most of it seems archived)
11:11:07 <FLHerne> I suck at drawing stuff, andy or Pikka might give you better advice
11:11:25 <FLHerne> all I can do is link things by people who don't suck :p
11:12:59 <Jericho> FLHerne: Thanks any help is appercated, the links are good for now
11:13:45 *** WormnestAndroid has joined #openttd
11:15:55 <FLHerne> depends if you're better at pixel art or 3D modelling
11:17:52 <Jericho> FLHerne: I am just starting out so i will try both, enjoying pixel art though, just drawing /\ those angles are beating me down
11:18:44 <FLHerne> compare notes with pickpacket, who's also learning to draw pixels :D
11:20:26 <pickpacket> I haven't done any 32pp (or whatever it's called), but a bit of the ordinary stuff.
11:27:00 <Jericho> pickpacket: mmmm Tea.... I am very intrested now! omw its awesome do you have a NewGRF to download ?
11:27:50 <Jericho> Yeah pssshhh like no pressure hey
11:27:53 <andythenorth[d]> was it lunch?
11:28:56 <Jericho> I really appreciate the help everyone has given me so far
11:30:33 <FLHerne> it's fail-at-making-bread-again
11:30:59 <FLHerne> to be fair, I'm trying to bake it on top of the woodburner and that makes it hard to accurately control temperature
11:41:51 <Samu> script_stationlist.hpp is so complicated! planned waiting via by from
11:44:02 <Samu> if i put invalid cargo mode or cargo selector, will it assert?
11:45:26 <Samu> are these functions resilient enough to not crash openttd?
11:53:27 <LordAro> Samu: what do you think NO_REACHED does?
11:53:44 <Samu> produce an error somewhere
11:54:24 <LordAro> well, it does do that
11:54:53 <LordAro> it just crashes OTTD as well :)
11:55:00 <LordAro> think of NOT_REACHED as an assert
11:55:14 <LordAro> i.e. the code should never allow that position to be reachable
12:14:12 <pickpacket> Jericho: it's published in the game :) "Check Online Content" and search for Tea Tea Deluxe
12:27:16 <Samu> ScriptStoryPage::StoryPageElementID ScriptStoryPage::NewElement also has a NOT_REACHED if i pass an invalid StoryPageElementType, i think, quite complex function
12:30:13 <LordAro> Samu: if you can manage to make a minimal reproducer script, you know where bugs go
12:30:26 <LordAro> in theory all such things should be guarded by preconditions
12:47:59 *** Etua has quit IRC (Quit: Etua)
13:24:52 <andythenorth[d]> was it lunch?
13:24:57 <andythenorth[d]> what is clocks?
13:26:58 <LordAro> petern: help, a 170 commit rebase
13:54:55 <LordAro> petern: rebasing the "make our codebase build and run with git" onto the final converted repo
13:55:34 <petern> Build systems with VCS dependencies? Just say no 🙂
13:56:02 <LordAro> but a lot of stuff has crept in over the years
13:56:14 <LordAro> also completely redoing how much of the "pull in 3rdparty libraries" stuffw works
13:57:25 <Jericho> pickpacket: Thanks i will
14:29:42 <Samu> i was getting weird values on reference_id
14:29:57 <Samu> then there's a bunch of SB on it afterwards
14:30:49 <Samu> on a just initialized StoryPageButtonData
14:32:32 <Samu> i think the validation is in the wrong order, feels buggy
14:33:27 <Samu> data.SetFlags will overwrite on top of data.SetColour bits
14:33:36 <Samu> if the flags that are passed are invalid
14:34:55 <Samu> a valid colour becomes invalid suddenly
14:35:14 <Samu> validation is in the wrong place
14:47:11 <Samu> it's doing the right thing, it was something else that was changing the value on reference_id and i didn't catch it
14:47:28 <Samu> but reference_id initializes as 0xCCCCCCCC
14:47:35 <Samu> makes it really confusing
15:04:24 <Samu> all the 3 StoryPageButtonFormatting functions can crash openttd, by passing invalid StoryPageButtonColour, invalid StoryPageButtonCursor or invalid ScriptVehicle::VehicleType
15:20:09 <Samu> there are many situations similar to those where crashing openttd is possible :( do i really have to report them all
15:20:51 <Samu> i mean, i don't wanna fill the issue list with reports of the same nature :| but
15:37:31 <andythenorth[d]> do they have a common cause?
15:37:45 <andythenorth[d]> I have crashed OpenTTD a lot with GS
15:37:54 <andythenorth[d]> but some of the causes were identifiable
15:44:41 <FLHerne> Samu: if they're all variants of "pass an invalid value from AI/GS and it crashes" you can probably just make one issue with a list
15:44:59 <FLHerne> normally that's frowned on because combining multiple issues
15:45:35 <FLHerne> but if they're all trivial one-liner checks that can be added in the same commit that's not a big problem
15:48:46 <andythenorth[d]> if it's the same OpenTTD method / class that needs fixed
15:48:54 <andythenorth[d]> then it's one and done
15:49:14 <andythenorth[d]> if it's not...unfortunately that's a judgement call, and 2 different devs might give 2 different answers about how to do it 🙂
15:50:32 <FLHerne> do make it literally a list that can be checked off one-by-one
15:51:12 *** HerzogDeXtEr has joined #openttd
15:52:16 <FLHerne> if you can't write "* GSBlah.DoThing(): invalid `foo` or `bar` crashes / * GSBlah.DoStuff(): invalid `whatever` crashes / * ..." then probably separate commits needed
15:58:34 *** Wormnest has joined #openttd
16:23:49 <Samu> because I was gonna complain about invalid slopes
16:29:08 <Samu> gonna be difficult to avoid triggering NOT_REACHED with slopes
16:42:03 <LordAro> 4865 files changed, 137020 insertions(+), 1329620 deletions(-)
16:43:29 <LordAro> this is the culmination of over a year's worth of work
16:44:01 <TallTyler> Rebasing an old fork or something?
16:44:51 <LordAro> though this isn't OTTD related :)
16:49:59 <TallTyler> I don't want to imagine the merge conflicts involved
16:58:14 <andythenorth[d]> 'tests pass, ship it'
17:05:31 *** WormnestAndroid has quit IRC (Remote host closed the connection)
17:11:23 *** WormnestAndroid has joined #openttd
17:12:04 <supermop_toil> TallTyler: looks neat
17:18:11 <Samu> why not pass new_rating directly to CmdTownRating? :(
17:18:39 <LordAro> probably a relic from the old command structures
17:20:51 <Samu> ah, because p2 used to be uint, and it needed to pass negative values?
17:22:06 <LordAro> Samu: probably something like that
17:24:24 <Samu> SourceID src; ///< Index of source. Either TownID or IndustryID
17:26:01 <LordAro> but still, you know the rules
17:26:09 <LordAro> stop putting meaningful stuff in here
17:29:00 *** sla_ro|master has quit IRC ()
17:33:08 <Samu> im too slow at finding the code to quote and post an answer :|
17:46:46 <Samu> im removing the memcpy thing in a pr, and i dunno what to describe in the commit
17:47:09 <LordAro> probably cleanup, tbh
17:54:03 *** Flygon_ has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
17:57:25 <Samu> town layout TL_RANDOM is not available to scripts
18:11:52 *** tokai|noir has joined #openttd
18:11:52 *** ChanServ sets mode: +v tokai|noir
18:18:53 *** tokai has quit IRC (Ping timeout: 480 seconds)
18:34:26 *** gelignite has joined #openttd
18:35:13 <Samu> never seen script enums with a begin and end
18:47:37 <DorpsGek> - Update: Translations from eints (by translators)
19:36:32 <TallTyler> Hmm, seem to have mixed up some DParams somewhere 😛
19:37:29 <michi_cc[d]> Hmm, who's got NML commit rights to merge #276?
19:57:55 <TrueBrain> yippie, my voted counted!
19:59:36 <TrueBrain> and I see we need to pay michi_cc[d] more .. as we cannot have that a rework is above his paygrade ..
20:00:35 <TrueBrain> `4 m 18 s` .. who writes like that?! It is `4m 18s` or `4m18s`, ffs 😛
20:01:05 <TallTyler> The frame rate window writes like that, it's what I consulted for our standard 😛
20:01:25 <TrueBrain> it is the most horrible use of spaces I have seen in a while 😛
20:01:42 <TrueBrain> like .. the visual spacing doesn't assist in contextual information at all 😛
20:02:15 <TallTyler> Nah, you're right, but even without spacing I'd rather not stuff twice the numerals into the window
20:02:30 <TrueBrain> I have no opinion on that matter 😛
20:09:31 <Rubidium> TrueBrain: the anti-Dalestan?
20:23:55 <Rubidium> anybody fancy reviewing #10355?
20:45:59 <Rubidium> oh, I must have set that a quite while ago
20:50:48 <Samu> WindowClass is an enum, WindowNumber is a int32, but on script_window, it's using uint32 for window number :|
20:51:03 <Samu> script_window.cpp functions
20:51:17 *** sla_ro|master has joined #openttd
20:51:29 *** gelignite has quit IRC (Quit: Stay safe!)
20:52:40 <Samu> and then, there's the NUMBER_ALL issue
20:53:56 <Rubidium> just change NUMBER_ALL to -1 and be done with it? ;)
20:54:29 <Rubidium> I'm not aware of any windows that use negative numbers
21:04:43 <andythenorth[d]> when is OpenTTD 2.0?
21:10:31 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:12:36 <LordAro> andythenorth[d]: if we use the new versioning scheme, 2012
21:25:59 <Samu> wow, while looking through all the affected code i found something
21:26:59 <Samu> packs a uint32 value and then sends it as a WindowNumber, but this is a int32, how's that gonna be received at the other end?
21:31:52 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:45:33 <Samu> so, the only things that may break, is in 7 places
21:45:55 <Samu> not worth risking, but that VLI stuff is fishy
21:47:30 <Samu> it's dealing in uint32 that ends being transformed to int32
21:47:50 <Samu> someone else should take a look?
21:51:03 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
21:53:51 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:03:51 <Samu> the rabbit hole, as andy say
22:04:32 <Samu> the more I dig, the more issues I find, i need to stop
22:06:04 <andythenorth[d]> lots of software is broken in code paths that are rarely or never followed
22:06:09 <andythenorth[d]> the world survives
22:10:51 *** Samu has quit IRC (Quit: Leaving)
22:11:06 <glx[d]> samu: uint32 or int32 are exactly the same in memory
22:11:27 <glx[d]> it's just the meaning of the bits that changes
22:14:50 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:15:10 <glx[d]> depending on how the value is used being signed or not may have no difference
22:18:37 <glx[d]> like if a script gets an uint32 from openttd (converted to int32 at some point) they pass it again (untouched) to an openttd command as int32 (when an uint32 is expected) everything will be fine
22:22:06 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:25:35 *** Wormnest has joined #openttd
22:37:51 *** sla_ro|master has quit IRC ()
23:21:43 *** Etua has quit IRC (Ping timeout: 480 seconds)
continue to next day ⏵