Config
Log for #openttd on 18th January 2023:
Times are UTC Toggle Colours
10:40:51  <DorpsGek> [OpenTTD/OpenTTD] George-VB opened issue #10371: [Bug]: Different display of additional_text for vehicle, that is vehicle group in depot https://github.com/OpenTTD/OpenTTD/issues/10371
10:43:15  *** Samu has joined #openttd
10:58:45  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10227: Fix 3c047b1: AIGroup.GetProfitLastYear could get values different than those displayed in GUI https://github.com/OpenTTD/OpenTTD/pull/10227
11:13:05  <andythenorth[d]> LordAro: last I recall frosch was -1 to renum, but that might be false memories
11:18:27  <Samu> question
11:18:59  <Samu> the returns values are slightly strange https://github.com/OpenTTD/OpenTTD/blob/58014427800685a4fbaf7b7a242841a78e4ae70c/src/script/api/script_order.cpp#L373-L380
11:19:24  <Samu> there are two sources of CT_NO_REFIT
11:20:48  <Samu> CargoType::CT_NO_REFIT
11:21:11  <Samu> SpecialCargoID::CT_NO_REFIT
11:21:32  <Samu> they all happend to have the same value, but still looks strange
11:41:10  <dP> Pruple: grf-py decompile is quite readable ;)
11:42:27  <dP> but ofc not at the level of hand-written code
11:42:53  <dP> though some hand-written nfo is worse :p
11:45:40  <CplBurdenR3294> I find its one of those truisms that no matter how bad machine written code is, you can always find a human who chooses to code in an even sloppier style πŸ˜„
11:45:59  <CplBurdenR3294> It takes human ingenuity to really foul things up πŸ˜‰
11:46:34  <petern> Hmm, 60 seconds to restore packages before compiling. Maybe I should pre-cache those...
11:46:52  <petern> On the other hand, it's not that much, and reproducible builds are nice.
11:47:53  <dP> in my latest attemps at decompiling sbb I managed to make it look like this: https://pastebin.com/pYJ8Ucj5
11:56:33  <petern> > The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/system.reflection.emit.ilgeneration/index.json' has timed out after 100000ms.
11:56:37  <petern> Well, that took extra long...
12:17:32  <andythenorth[d]> ok let's try partitioning all tiles into various regions, in GS
12:17:36  <andythenorth[d]> for the whole map
12:17:41  <andythenorth[d]> 'what could go wrong'?
12:27:53  <LordAro> how hard can it be?
12:34:47  *** WormnestAndroid has joined #openttd
12:41:21  <glx[d]> andythenorth[d]: It's already possible to build a straight section in one call
12:42:01  <glx[d]> As user can drag to build
13:02:08  *** JustANortherner has quit IRC
13:10:35  <Samu> regression doesn't test many things, and yet it's still does a lot already
13:13:41  <andythenorth[d]> glx[d]: presumably this? https://docs.openttd.org/gs-api/classGSRoad.html#a7524232dae8b45554fad352a2c4df651
13:14:04  <andythenorth[d]> I have a regrettable idea to make a test / examples GS
13:14:28  <andythenorth[d]> one of the main reasons NML succeeded is that people wrote a *lot* of docs
13:14:38  <andythenorth[d]> like serious effort, writing docs is really hard and boring
13:14:53  <andythenorth[d]> that was a big achievement
13:15:47  <andythenorth[d]> lol
13:15:55  <andythenorth[d]> how in scope is the squirrel?
13:16:15  <andythenorth[d]> do we have access to actual squirrel lines of code in OpenTTD?
13:16:15  <andythenorth[d]> or is it all compiled to some bytecode or something?
13:19:53  <glx[d]> It's compiled to bytecode
13:20:21  <andythenorth[d]> I was thinking of - I don't know how exactly - but something like an example GS with a storybook
13:20:32  <andythenorth[d]> so you could go to the 'GSRoad' page of the storybook
13:20:37  <andythenorth[d]> and click 'build a road example'
13:20:41  <andythenorth[d]> and see what it does
13:20:53  <andythenorth[d]> but also have a window with the related squirrel
13:21:52  <glx[d]> Regression AI uses many parts of the API
13:22:04  <LordAro> and also not nearly enough
13:22:57  <andythenorth[d]> well the nice thing about regressions etc is that every little improvement is good πŸ™‚
13:23:01  <andythenorth[d]> and having anything beats having nothing
13:23:43  <andythenorth[d]> for that prospecting issue, what I _should_ have done is provide a quick example GS
13:23:51  <andythenorth[d]> to at least aid testing
13:24:48  <glx[d]> From GS POV prospecting was fine, the issue was with newgrf communication πŸ™‚
13:25:22  <andythenorth[d]> ok so maybe I should have provided both πŸ™‚
13:25:32  <andythenorth[d]> it looked to Tyler like a GS issue, so maybe the framing has to be better
13:26:32  *** WormnestAndroid has quit IRC
13:26:35  *** WormnestAndroid has joined #openttd
13:26:39  <andythenorth[d]> does regressions AI run on the CI?
13:28:47  <LordAro> yes
13:29:29  <andythenorth[d]> is there an equivalent regressions GS, or would that just be duplicating the same methods etc?
13:30:28  <Samu>  * \li AIOrder::GetOrderDistance parameter order has changed to 'origin_tile, dest_tile, vehicle_type'
13:30:29  <Samu>  *     from 'vehicle_type, origin_tile, dest_tile', to make it useable with valuators. Now tests the
13:30:29  <Samu>  *     validity of the vehicle type, returning -1 for invalid vehicle types.
13:30:34  <Samu> is this good english?
13:31:56  <glx[d]> Hmm if you want to use it as valuator it's easy to write a wrapper and not change the function itself
13:32:22  <Samu> oh :
13:32:59  <Samu> didn't think about that :)
13:33:31  <Samu> undoing, brb
13:38:48  <Samu> how do i check how the doxygen document looks like?
13:39:39  <Samu> script_order.hpp
13:40:05  <Samu> this, but for my build https://docs.openttd.org/ai-api/classAIOrder.html#ae25118472500d3e2ca33512aec378dc7
13:40:19  <Samu> wanted to see how it ends up looking like
13:47:01  <andythenorth[d]> petern: https://www.theregister.com/2023/01/17/retro_tech_week_rool/?td=rt-3a
13:47:46  <petern> Bring back the OpenTTD port?
13:50:36  <petern> Hmm, can I run it on my A7000+?
13:51:43  <andythenorth[d]> I just want chocks away on a pi πŸ˜›
13:51:58  <petern> Best flying game.
13:52:01  <andythenorth[d]> steam deck would be even better
13:52:11  <andythenorth[d]> Andrew Hutchings probably lives near ish to you
13:52:20  <andythenorth[d]> Reading, Slough, M4 corridor somewhere
13:52:25  <andythenorth[d]> he does sound programming now
13:53:34  <andythenorth[d]> was it lunch?
13:59:50  <petern> Yes, you missed it. You'll have to wait for dinner time now.
14:03:50  <LordAro> i've denied the person who directly requested membership of the es_MX group
14:09:45  <andythenorth[d]> petern: might have a nap then
14:09:59  <petern> Might as well.
14:10:04  * andythenorth[d] stuck in a queue to get drains unblocked
14:10:34  <petern> Do I want to go MTB cycling at feels-like -3Β°C tonight?
14:10:42  <andythenorth[d]> it's apparently good for you
14:11:05  <andythenorth[d]> I wouldn't, but I'm an indoors type, and I've accepted I won't live 3 years longer
14:11:17  <andythenorth[d]> all weather cyclists live longer, on average
14:12:23  <andythenorth[d]> I'd find a reference link, but every result in google is just a cookie banner
14:12:26  <andythenorth[d]> glad about the internet
14:14:03  <LordAro> i wasn't planning on going road (well, flood lit circuit) cycling tonight in feels-like -4C
14:14:15  <andythenorth[d]> shall I stream this hold music in Discord?
14:14:46  <andythenorth[d]> is 'feels-like' accounting for wind chill at 20 mph?
14:14:55  <andythenorth[d]> and does it net off the heat gain from activity?
14:15:34  <LordAro> dunno where the number comes from, i was just taking it off BBC weather
14:16:02  <LordAro> i'm already at the point of shivering just sitting at my desk
14:16:08  * LordAro goes to find a jumper
14:16:35  <andythenorth[d]> I have 2 hoodies
14:16:38  <andythenorth[d]> and a hat
14:18:47  <petern> I also have my current excuse of "waiting for my new prescription cycling glasses so I don't ruin my Β£200 regular glasses"
14:24:30  <Samu> this looks ready for PR now https://github.com/OpenTTD/OpenTTD/compare/master...SamuXarick:OpenTTD:script-random-values
14:25:12  <Samu> regression is kinda lacking for the tests I wanted
14:25:30  <Samu> cus it never tests the compatibility nut files
14:27:56  <Samu> i searched the return values of all uint and int functions, found a few issues and fixed them
14:28:28  <petern> You can make more tests that test those.
14:29:34  <glx[d]> It should be possible to manually load compatibility files
14:34:22  <glx[d]> Run the tests, load compat_0.7, rerun the tests
14:36:57  <glx[d]> First time will need manual comparison of the results, but after that any diff in the output should be easy to catch
14:38:57  <glx[d]> Another option is to add another regression test which just set API version to 0.7 and compare output to the normal regression output
14:40:02  <glx[d]> Hmm no, can't work as output can be different for previous versions, that's why we add compatibility nut
14:43:07  <DorpsGek> [OpenTTD/OpenTTD] merni-ns commented on issue #10370: [Bug]: Too low length limit when renaming vehicles https://github.com/OpenTTD/OpenTTD/issues/10370
14:57:38  <Merni> merni-nsviaGitHub: JGRPP just increases the limit to 63 (similar to increasing station name length limits etc). I think that'd practically work for the majority of cases -- especially considering more than 63 letters are likely to be not visible in the purchase menu anyway (since there is no horizontal scrolling there).
14:59:07  <Merni> https://cdn.discordapp.com/attachments/1008473233844097104/1065284206692937738/Screenshot_2023-01-18_202849.png
14:59:07  <Merni> I got the issue because the Czech Railway Set uses a huge number of spaces to align text like this 🀦. This is even more than 63 chars
15:00:32  <Merni> https://cdn.discordapp.com/attachments/1008473233844097104/1065284563875659816/Screenshot_2023-01-18_202849.png
15:00:32  <Merni> There's also this example from the v4 CEE set which is more than 64 chars and doesn't fit in any way on my screen unless I reduce the text scaling 🀦
15:00:57  <Merni> https://cdn.discordapp.com/attachments/1008473233844097104/1065284671308566548/Screenshot_2023-01-18_203045.png
15:02:15  <Merni> Come to think of it, why don't NewGRF strings have a length limit?
15:09:59  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #10372: [Bug]: incorrect squared aircraft range multiplication https://github.com/OpenTTD/OpenTTD/issues/10372
15:26:02  *** nielsm has joined #openttd
15:29:32  <andythenorth[d]> Merni: I applaud the idea, that implementation sucks.  petern separate suffixes? πŸ˜›
15:30:12  <FLHerne> All_Heil_Lord_Pepe: other thing is: if you only want to alter the graphics it's easy in any case
15:30:18  <Merni> Or just do icons, or non-aligned (), like every other set
15:30:20  <FLHerne> (see https://www.reddit.com/r/openttd/comments/davh7b/how_do_i_edit_grfs/f1x0q0e/ )
15:31:31  <Merni> The offsets they've used are so huge that unless you make the window very *w  i  d  e*, you just see "..." instead of that column
15:31:37  <andythenorth[d]> lol πŸ™‚
15:33:43  <Pruple> Merni: Or none of the above, and put it in the extra text just in case the player *really* needs to know "this is a diesel"...
15:34:24  <Merni> I would argue it's quite important to at least know whether something is electric or not
15:38:26  <andythenorth[d]> I just like the TTD style
15:38:57  <andythenorth[d]> I do find it noisy though
15:43:42  <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1065295428775592038/image.png
15:43:42  <andythenorth[d]> might be self-inflicted
15:44:26  <glx[d]> Samu: it's what we call an overflow
15:53:02  <petern> andythenorth[d]: Someone was going all out with suggesting callbacks and stacks... I have no idea.
16:16:48  <andythenorth[d]> some people are just wrong though
16:47:56  *** gelignite has joined #openttd
17:17:15  <frosch> some weird company which crawled our website, found it necessary to sent us a mail that it did so, and how it will process the data in compliance to the GDPR, including forwarding it to outside the EU
17:19:44  *** Wolf01 has joined #openttd
17:20:30  <andythenorth[d]> frosch: shall we consult legal counsel?
17:21:26  <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened pull request #10373: Allow Scripts to convert returned uint32 values to int64 https://github.com/OpenTTD/OpenTTD/pull/10373
17:21:54  <frosch> is that you?
17:22:04  <andythenorth[d]> I hope not
17:22:13  <andythenorth[d]> 'armchair legal counsel'
17:22:18  <andythenorth[d]> I should update my linkedin
17:22:27  <frosch> backseat legal counsel?
17:48:31  *** Wormnest has joined #openttd
17:50:45  *** esselfe has quit IRC
17:50:55  *** Flygon has quit IRC
18:02:55  *** esselfe has joined #openttd
18:15:59  *** crem has joined #openttd
18:22:06  <andythenorth[d]> hmm timing GS
18:23:04  <andythenorth[d]> ah we have systemtime πŸ™‚
18:26:20  <andythenorth[d]> ah granular to seconds only
18:26:24  <andythenorth[d]> hmm
18:27:42  <andythenorth[d]> hmm are there limited free opcodes at game start?
18:27:59  <andythenorth[d]> my script ran a bunch of commands very fast, then suddenly stopped
18:28:03  <andythenorth[d]> until I unpaused
18:29:43  <andythenorth[d]> will be 2000 or more
18:44:05  <frosch> chatgpt labels each conversation with some title matching the subject
18:44:22  <frosch> i talked with it about newgrf, and it titled the conversation "new chat" πŸ™‚
18:45:16  <frosch> you never now when it is correct and when not
18:45:57  <frosch> anyway, when i pressured it into clarifying the details, which it got wrong, it gave up answering :/
18:46:15  <frosch> it's like a sales person
18:46:24  <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/83d5e681fc133d2820aff3cf05159bce820e2b56
18:46:25  <DorpsGek>   - Update: Translations from eints (by translators)
18:52:28  <andythenorth[d]> can it advise me on GS?
18:52:40  <andythenorth[d]> I think quite some part of this can be done already in GS https://wiki.openttd.org/en/Development/Design%20Drafts/Scripts/Area%20Control
18:52:46  <andythenorth[d]> just inefficiently and clunky
18:55:02  <frosch> it can talk better about things, which are often talked about on the internet
18:55:13  <frosch> the nml/nfo stuff was pretty bad
18:55:50  <frosch> if you ask it about ottd-addon design, most of the training data is probably andy chatting on irc
18:56:10  <frosch> so you could talk with your past self about gs design πŸ™‚
19:01:04  <andythenorth[d]> we asked it to redesign Horse, in another channel
19:01:17  <andythenorth[d]> it was not bad, but it was quite focussed on realism
19:01:25  <andythenorth[d]> or lies, presented as realism
19:01:45  <andythenorth[d]> it wasn't very keen on suggesting gameplay, and kept saying "it's your choice"
19:01:55  <andythenorth[d]> lawyer-induced liability clause maybe πŸ˜›
19:03:13  <frosch> i don't think lawyers are involved πŸ™‚ it generally talks a lot without saying much, and repeating everything at least twice
19:04:55  <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1065346066272231454/image.png
19:04:55  <andythenorth[d]> am I GS correctly?
19:05:06  <frosch> it's actually annoying to talk to, it beats around the bush all long
19:06:34  <frosch> are you writing a GS which observes player's construction efforts and tries to block their progress by putting industries into their way?
19:06:57  <andythenorth[d]> no but that sounds good
19:07:39  <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1065346754318446592/image.png
19:07:39  <andythenorth[d]> I want to divide the map into 9 equal quadrants, then build n farms in each quadrant
19:07:56  <andythenorth[d]> I can't limit prospecting, so I'll have to reimplement a random tile search
19:08:08  <andythenorth[d]> but I can use the GS test mode somehow to prospect
19:08:23  <andythenorth[d]> I might want to detect sea tiles also, and adjust the placement attempts accordingly
19:08:55  <andythenorth[d]> an alternative project is to place a scrap yard in every town with more than x population
19:09:12  <andythenorth[d]> which will require walking all the tiles to find which town they belong to
19:09:25  <andythenorth[d]> GS is really interesting, dunno why it's so neglected πŸ˜„
19:10:24  <andythenorth[d]> I was hoping I could walk all the tiles in the free opcodes at game start
19:10:59  <andythenorth[d]> GS seems to have Init() or so which seems less restricted
19:11:13  <andythenorth[d]> if I don't exec any commands, am I unlimited?
19:11:52  <frosch> looks like you found your hammer to turn things into nails πŸ™‚
19:12:14  <andythenorth[d]> or to make everything look like a nail?
19:13:03  <frosch> "walk all tiles" sounds like something that is always wrong to do πŸ™‚
19:13:26  <andythenorth[d]> I am hoping (a) it works, (b) somebody agrees it's stupid and provides alternative methods / ideas
19:13:42  <andythenorth[d]> otherwise we just go around in hot air about GS vs everything else, like since 2012
19:13:44  <frosch> you could walk the towns instead
19:14:11  <andythenorth[d]> if we had actual areas, I could define an area per town?
19:14:31  <andythenorth[d]> I'd probably generate allowed areas for different industries by type or something
19:14:39  <andythenorth[d]> there are many use cases
19:15:14  <frosch> interesting, when i wrote the area-control thingie, i aborted it because i did not find any use case πŸ™‚
19:15:21  <andythenorth[d]> I can find many I think
19:15:59  <andythenorth[d]> also, if there's some common data structure, which GS can update, and grf can read as a var or something
19:16:18  <andythenorth[d]> then the 'GS is not a callback' problem disappears
19:16:54  <andythenorth[d]> areas do not generally need frequently updating, and if we lost 20% of the use cases because they're slow to update, then 80% is still good
19:17:23  <andythenorth[d]> GS -> for industry type X, these are the allowed tile indexes
19:17:34  <andythenorth[d]> grf -> read that as a var during cb 28 or friends
19:17:51  <andythenorth[d]> or a flag to delegate entirely to the area
19:18:25  <frosch> https://wiki.openttd.org/en/Development/Design%20Drafts/GS-NewGRF%20Communication%20via%20JSON <- look, that is from 2015 :p
19:18:26  <andythenorth[d]> it can't just be delegated as 'area' might be one of a number of conditions
19:18:39  <andythenorth[d]> I read that yesterday again πŸ™‚
19:19:15  <andythenorth[d]> I'm stumbling on why we actually need json, except that it's more arbitrarily extensible?
19:19:18  <andythenorth[d]> but yes
19:19:51  <andythenorth[d]> "NewGRF can query GS information, which has been set in advance by the GS."
19:20:57  <andythenorth[d]> "GS can then also not influence placement of initial industries etc." <- no but it could delete ALL of them πŸ˜›
19:21:04  <andythenorth[d]> and start again
19:21:40  <andythenorth[d]> I've already ruled out caring about performance on (1) very large maps (2) very large numbers of towns or industries
19:22:21  <dP> andythenorth[d]: well, you could do delaunay triangulation...
19:22:26  <dP> <https://en.wikipedia.org/wiki/Delaunay_triangulation#Relationship_with_the_Voronoi_diagram>
19:24:05  <andythenorth[d]> frosch: "GS/AI info query callback" <- can that be otherwise understood, as 'here is a templated query, please fill out the correct values', like a form πŸ˜›
19:24:10  * andythenorth[d] trying to understand
19:25:28  <frosch> yes, the newgrf contains a static template. then callbacks fill in the variables. and the gs gets a complete data structure
19:25:54  <DorpsGek> [OpenTTD/OpenTTD] CitrusWire opened issue #10374: [Bug]: Auto-distributed timetabled trains leave depot in order different from timetable requirements https://github.com/OpenTTD/OpenTTD/issues/10374
19:26:22  <frosch> for exchanging data dicts/lists/... are pretty common, and gs/ai also uses them for saveload data
19:26:32  <frosch> so the idea is to also use that for gs<->newgrf
19:26:44  <frosch> json is just one syntax (which ottd already uses in other places)
19:27:06  <DorpsGek> [OpenTTD/OpenTTD] CitrusWire commented on issue #10374: [Bug]: Auto-distributed timetabled trains leave depot in order different from timetable requirements https://github.com/OpenTTD/OpenTTD/issues/10374
19:27:09  <frosch> you could also use protobuf or whatever, but json is the easiest format of the non-ambiguous ones
19:27:32  <andythenorth[d]> sems fine πŸ™‚
19:27:40  <frosch> tb likes to use yaml, but it's really crap: https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
19:27:58  <LordAro> shots fired
19:28:16  <frosch> though maybe that would make yaml a good fit for newgrf πŸ™‚
19:28:18  <andythenorth[d]> it's probably much more likely to get a PR now we've got a format war πŸ˜›
19:29:06  <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1065352149514600518/image.png
19:29:06  <andythenorth[d]> unrelated, but it would be helpful if news messages could be suppressed πŸ˜›
19:29:17  <andythenorth[d]> GS commands might not want to be newsworthy
19:29:55  <frosch> i guess events at game start are not newsworthy
19:30:14  <frosch> but otherwise they are relevant as the default industry spawn spam
19:30:19  <andythenorth[d]> yes
19:30:27  <andythenorth[d]> it would need selective suppression
19:34:03  <andythenorth[d]> I can probably reimplement prospecting in GS, but it would be helpful to just use game prospecting, restricted to an optional tile array or other area definition,
20:20:59  <andythenorth[d]> trying to find map size in GS πŸ™‚
20:21:08  <andythenorth[d]> doxygen search would be so helpful πŸ™‚
20:21:33  <andythenorth[d]> found it
20:24:33  <dP> GSMap.GetMapSizeX
20:25:15  <dP> I usually search source code xD
20:27:19  <supermop_toil> i could have sworn grasshopper could use regular expressions and a could write module*
20:27:24  <supermop_toil> but i guess noe
20:27:28  <supermop_toil> not
20:27:38  <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1065366881676034068/image.png
20:27:38  <andythenorth[d]> could we patch the errors to not be unreadable?
20:27:47  <andythenorth[d]> red on grey with black shadow
20:27:49  <andythenorth[d]> nope
20:29:05  <andythenorth[d]> can't see any string codes here `seprintf(buf, lastof(buf), "Your script made an error: %s\n", error);`
20:35:52  <andythenorth[d]> is the URL something I'm supposed to supply?
20:43:15  <andythenorth[d]> actually can't find the red πŸ™‚
20:43:46  <andythenorth[d]> found `STR_ERROR_AI_PLEASE_REPORT_CRASH`
20:44:29  <Pruple> they're less unreadable in a proper font... and yes, it will show the URL you provide in the info.nut iirc
20:47:14  *** TROILUS5 has joined #openttd
20:48:06  <andythenorth[d]> I don't want errors reported πŸ˜„
20:54:18  *** TROILUS has quit IRC
20:54:19  *** TROILUS5 is now known as TROILUS
20:55:33  *** Beer has joined #openttd
20:55:38  <andythenorth[d]> ErrorPrintFunc or something?
21:02:26  <andythenorth[d]> ok baffled, red string code must be injected somewhere
21:02:29  <andythenorth[d]> but I can't find it
21:07:53  *** Beer has quit IRC
21:08:04  *** Beer has joined #openttd
21:10:47  *** gelignite has quit IRC
21:17:13  *** Beer has quit IRC
21:17:29  *** Beer has joined #openttd
21:24:26  *** Beer has quit IRC
21:24:58  <petern> ai_gui.cpp:1168-1172
21:27:33  *** nielsm has quit IRC
21:31:24  <andythenorth[d]> thanks
21:35:12  <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1065383883832569946/image.png
21:35:12  <andythenorth[d]> so much better
21:52:27  <DorpsGek> [OpenTTD/OpenTTD] andythenorth opened pull request #10375: Change: improve legibility of AI/GS errors https://github.com/OpenTTD/OpenTTD/pull/10375
21:54:25  <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on pull request #10375: Change: improve legibility of AI/GS errors https://github.com/OpenTTD/OpenTTD/pull/10375#issuecomment-1396137747
22:00:49  <dP> why is this not doing `line.top += ...` like all other code? <https://github.com/OpenTTD/OpenTTD/blob/master/src/graph_gui.cpp#L971>
22:02:55  <TallTyler> andythenorth[d]: Is regular AI/GS console test always black, or can it be other colours?
22:03:28  <TallTyler> White on grey does look much better, as long as it stands out as an error against otherwise black text
22:03:37  <andythenorth[d]> there are classes of log message
22:03:49  <andythenorth[d]> LOG_WARNING is yellow
22:03:55  <andythenorth[d]> the other non-errors are black
22:04:14  <TallTyler> Oh I see in the code now πŸ˜›
22:04:56  *** keikoz has quit IRC
22:05:14  <TallTyler> It feels strange to me to have Warnings be more β€œhey look at me” than Errors
22:05:51  <TallTyler> Perhaps a different colour could be used, maybe Gold or Orange, to be more scary looking than Yellow but more readable than Red
22:06:06  <TallTyler> Or warnings could change too
22:06:20  <andythenorth[d]> the script crashes anyway on error
22:06:23  <andythenorth[d]> so you have to look
22:06:27  <andythenorth[d]> and the window opens
22:06:32  <andythenorth[d]> so it's not like you have to spot them πŸ™‚
22:06:36  <andythenorth[d]> legibility is the priority
22:07:41  <andythenorth[d]> I still don't understand GS, this list is empty when printed
22:07:44  <andythenorth[d]> `    local tile_list = GSTileList();
22:07:45  <andythenorth[d]> `
22:23:12

Powered by YARRSTE version: svn-trunk