IRC logs for #openttd on OFTC at 2023-01-08
00:03:31 <glx[d]> andythenorth: I don't see why it should not, it's using cmake
00:04:02 <andythenorth> grfcodec cmake seems to be looking for an XCode 12 SDK
00:04:22 <andythenorth> and the build wants some libs that are deprecated / missing
00:04:23 <glx[d]> clear the cache
00:05:08 <andythenorth> every time I forget ๐Ÿ˜
00:05:10 <andythenorth> oops
00:05:43 <glx[d]> (that should fix the sdk thing)
00:06:01 <andythenorth> it did ๐Ÿ™‚
00:12:35 <petern> `#include"nforenum.h"`
00:12:44 <petern> Who writes code like that, with no spaces?
00:13:00 *** sla_ro|master has quit IRC ()
00:13:06 <dwfreed> animals
00:16:39 <reldred> Disgusting
00:16:56 <petern> `if(_grfver<7&&lang&0x60&&(lang&0x7F)!=0x7F)IssueMessage(WARNING3,UNKNOWN_LANG_BIT,2,lang);`
00:17:00 <petern> Aw yeah
00:24:43 <Pruple> what did I do? ๐Ÿ™‚
00:24:53 <Pruple>
00:25:06 <Pruple> start game > 1930, build "small airport", crash ๐Ÿ™‚
00:26:36 <petern> I was going to go to sleep...
00:27:25 <andythenorth> me too
00:27:37 <andythenorth> have important things to do tomorrow
00:27:41 <andythenorth> like get up, have coffee
00:27:44 <andythenorth> not feel like crap ๐Ÿ™‚
00:29:26 <glx[d]> petern: and that's one of the 2 different coding styles in the whole project
00:30:03 <petern> Pruple: Hmm, so the cost to build was different
00:31:05 <petern> 9300 in test, 9225 in exec.
00:35:26 <petern>
00:35:26 <petern> Hmm
00:38:16 <Pruple> oops, defined some tile locations overlapping. is that the problem? ๐Ÿ™‚
00:38:39 <petern> That... could be a problem.
00:40:18 <Pruple> that seems to fix it. ๐Ÿ™‚ panic over.
00:40:35 <Pruple> /me learn to count to 4
00:56:21 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
00:56:28 *** WormnestAndroid has joined #openttd
01:13:19 <reldred> vs code with the nml extension is very comfy
01:13:21 <reldred> I like this
01:19:25 *** supermop_Home_ has quit IRC (Ping timeout: 480 seconds)
01:21:53 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
01:22:29 *** WormnestAndroid has joined #openttd
01:35:37 *** gelignite has quit IRC (Quit: Stay safe!)
01:39:48 <reldred> alright, multi tile buildings in NML, let's see how badly I stuff this up
01:55:23 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #10330: Codechange: Rework 'start_date' parameter for AIs as a game setting
02:06:46 <reldred> Hmm, converting multi tile building logic from objects to houses isn't quite so simple
02:07:56 <reldred> hmm maybe this doesn't need to be that complicated, I'm not doing randomization on these
02:17:56 <reldred> lmao it worked lol
02:51:03 <reldred> this nml stuff isn't too bad I suppose
02:58:11 *** Wormnest has quit IRC (Quit: Leaving)
03:24:41 *** godbed has joined #openttd
03:28:03 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:49:27 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
04:16:00 *** TROILUS6 has joined #openttd
04:21:38 *** TROILUS has quit IRC (Ping timeout: 480 seconds)
04:21:38 *** TROILUS6 is now known as TROILUS
04:51:39 <reldred> I've gotten more done in about three sessions worth of nml'ing than I did in months of developing this same set in NFO ๐Ÿ˜ณ
04:52:09 <reldred>
04:52:09 <reldred> So many buildings
04:52:22 <reldred> I still need to sort out stats for the buildings, cargo acceptance, etc.
04:52:36 <reldred> min pop requirements, etc.
05:00:09 *** keikoz has joined #openttd
05:21:14 *** Flygon has joined #openttd
07:12:42 *** HerzogDeXtEr has joined #openttd
07:34:43 <pickpacket> reldred: do regular houses have cargo acceptance? Is that why it varies whether a city accepts passengers or not?
07:35:32 <reldred> yes
07:36:02 <reldred> not a lot of house sets implement accepting anything other than food or goods though
07:36:37 <reldred> I want this set to have rich commercial areas or light industrial areas so I'll get to play around with the cargo acceptance a bit
07:36:54 <reldred> ruin the careful balance of FIRS, and so forth
07:38:10 <pickpacket> lol
07:38:42 <pickpacket> I was about to ask about food, but I guess thatโ€™s a FIRS thing
07:39:00 <pickpacket> Iโ€™ve only played vanilla + tea tea deluxe
07:39:04 <reldred> No food is a thing in sub arctic in vanilla ttd
07:39:11 <pickpacket> Oh!
07:39:25 <reldred> I canโ€™t remember whether it is in sub tropic
07:40:05 <Merni> petern: That does look stupid but I've seen plenty of `#include<stdio.h>` and imo that looks less stupid
07:53:20 <dwfreed> #include"file.h" is a lot worse than #include<file.h>, but both are bad
08:07:38 <andythenorth> moin
08:08:27 <reldred> final stretch, just got a few shopping centres to code up then I can tweak stats
08:08:35 <Pruple> boin
08:08:41 <andythenorth> goes it ruin FIRS
08:08:48 <Pruple> frequently
08:08:48 <andythenorth> that delicate cargo town balance
08:09:09 <reldred> andythenorth: absolutely
08:09:16 <andythenorth> Pruple: I am deleting most 2020 edition Horse wagons, subscribe?
08:09:24 <reldred> I'm going to give you reason to need to block my grfid
08:09:29 <Pruple> it's like taking a sledgehammer to a sledgehammer testing facility
08:09:32 <reldred> and then, I'll just change the grfid again
08:09:47 <andythenorth> Horse gen 6 is gen 5, with 4 tons more, and 3 different pixels
08:10:08 <reldred>
08:10:08 <reldred> tesco next to the kfc
08:10:14 <Pruple> andythenorth: I am generally in favour of fewer vehicles, less confusing for players and less to balance/draw ๐Ÿ™‚
08:10:20 <reldred> and a maccies just down the road
08:10:36 <andythenorth> Pruple: but there might be an increase in 1990 wagons ๐Ÿ˜›
08:10:47 <Pruple> 1990 is a lot of wagons ๐Ÿ˜ฎ
08:10:59 <andythenorth> I suspect my unwritten goal is to never build the same train twice ๐Ÿ˜›
08:11:02 <reldred> future horse future horse
08:11:07 <reldred> future horse
08:13:33 <Pruple> huh
08:14:38 <andythenorth>
08:14:38 <andythenorth> reldred: enjoying the actual realism there
08:14:43 <andythenorth> you have modelled where I live
08:15:22 <reldred> lmao
08:15:29 <reldred> but where's the maccies
08:17:18 *** sla_ro|master has joined #openttd
08:18:28 <andythenorth> they don't have one there
08:20:06 <reldred> no maccies? ๐Ÿ˜ฎ
08:21:44 <reldred> two more sets of supermarkets
08:21:49 <reldred> and then I think I'm done
08:25:48 <andythenorth> 28 Horse wagons deleted so far
08:37:01 <reldred> Okay, how do these bitmasks in NML work? If I want availability mask to say for instance allow only two particular zones do I do [bitmask(TOWNZONE_CENTRE | TOWNZONE_INNER_SUBURB)] ?
08:38:39 <andythenorth> commas
08:38:51 <andythenorth> bitmask(CC_PASSENGERS, CC_MAIL, CC_ARMOURED)
08:38:56 <reldred> gotcha
08:39:03 <reldred> arigatou gozaimasu
08:39:05 <andythenorth> sometimes you have to & it with the var
08:39:40 <andythenorth> cargo_classes & bitmask(CC_PASSENGERS, CC_MAIL, CC_ARMOURED)
08:41:25 <reldred> nice, well that's the next task then, going through and giving all these buildings the correct stats
08:45:35 <andythenorth> Horse will be v3 then
08:45:40 <andythenorth> leave v2 alone I think
08:45:52 <andythenorth> then Reddit can be confused
08:46:12 <reldred> lol, lmao.
08:46:53 <petern> And me.
08:47:12 <andythenorth> be confused on Reddit
08:47:16 <andythenorth> it's the special place for it
08:54:02 <reldred> rude
08:54:15 <reldred> andy woke up this morning and chose violence
08:57:42 <andythenorth> I suspect I made poor choices ๐Ÿ˜›
08:58:08 <andythenorth> went to sleep at 2am
08:58:14 <andythenorth> one of my kids woke up noisily at 6am
08:59:08 <andythenorth>
08:59:08 <andythenorth> on the plus side, if I delete one more engine, magic 150
08:59:43 *** nielsm has joined #openttd
08:59:58 <reldred> kids these days have it too easy, if I'd have woken my parents up at 6am I'd be thrashed within an inch of my life
09:01:15 *** WormnestAndroid has quit IRC (Remote host closed the connection)
09:21:39 <andythenorth> did I crash Bananas?
09:22:01 <andythenorth> nope, it just needed a think
09:41:14 <reldred> okay, basic stats and basic intro years done, now we watch the city grow on fast forward
09:44:42 <andythenorth>
09:44:42 <andythenorth> crashed it again ๐Ÿ˜„
09:44:52 <reldred> I need to put some minimum ages on these buildings
09:45:10 <reldred> dirty great block of flats goes up, and gets knocked down 2 minutes later
09:45:48 *** Fairy has joined #openttd
09:45:48 <Fairy> indecisive urban planners
09:45:58 <reldred> skyscraper got knocked down and replaced with a maccies
09:45:58 <Fairy> "You know what, no, I think it should go like, five meters to the left"
09:46:11 <Fairy> "Who needs homes when you can make money instead?"
09:48:39 <petern>
09:48:39 <petern> Cool, seems like I have no broken that... yet.
09:51:12 <petern> Although maybe the list could be expanded widthwise.
09:51:17 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
09:53:13 <petern> Hmm, is this vinyl damaged or is the battery in the pre-amp running low...
09:53:48 *** gelignite has joined #openttd
09:57:56 <petern> Ah, gotta be the battery ๐Ÿ˜ฆ
10:00:51 <reldred> Okay let's see how this behaves with min ages
10:02:40 <andythenorth> the crashes might be related to variants changing in the grf
10:02:47 <andythenorth> but only triggers with groups
10:03:04 <andythenorth> and is triggered either by opening autoreplace on the group, or switching autoreplace from engines to wagons
10:03:18 <andythenorth> deleting the groups and remaking them eliminates the issue
10:03:29 <petern> Huh
10:03:32 <andythenorth> does not trigger for 'all trains' or 'ungrouped trains'
10:03:52 <petern> Do you not get a backtrace when you get that error popup?
10:04:03 <andythenorth> I do but the mac backtrace is crap
10:04:12 <petern> It shouldn't be.
10:04:50 <andythenorth>
10:05:38 <petern> Message: Assertion failed at line 750 of /Users/runner/work/OpenTTD/OpenTTD/src/widget_type.h: this->count <= this->cap ? (position == 0) : (position + this->cap <= this->count)
10:06:14 <petern> That tells me it's an issue populating scrollbar info.
10:07:46 <petern> Your stacktrace is mostly fine. The useless stacktraces of our builds were fixed by #10072.
10:08:30 <andythenorth> \o/
10:08:51 * andythenorth behind the times
10:24:06 <LordAro> andythenorth: giv bug report
10:24:40 <andythenorth> reloaded grfs
10:24:45 <andythenorth> no bug reports
10:24:49 <andythenorth> remember the rules? ๐Ÿ™‚
10:24:55 <andythenorth> automatic close
10:25:27 <LordAro> ah
10:25:30 <andythenorth> can't get a repro in a fresh game
10:25:51 <LordAro> well, still might be worth looking into
10:26:01 <LordAro> may be some "corrupt savegame" protection that could be added
10:26:15 <reldred> some of these random jobbies aren't working properly ๐Ÿ˜ 
10:29:34 *** Samu has joined #openttd
10:37:27 <reldred> Okay, got a curly one, if I do this:
10:37:27 <reldred> `` sprite: spriteset_tbs1_2((animation_frame + random_bits) % 3);``
10:37:27 <reldred> Or any other odd number, the randomization works
10:37:28 <reldred> If I do an even number:
10:37:28 <reldred> `` sprite: spriteset_tbs1_3((animation_frame + random_bits) % 4);``
10:37:29 <reldred> It doesn't work?
10:38:35 <reldred> TBH, I don't even know why that animation frame bizzo is even in there, this is fridaemons newobjects nml I've converted to newhouses
10:40:58 <andythenorth> well let's see if I can crash it deliberately
10:44:12 <andythenorth> 'maybe'
10:46:30 <reldred> I'll try pseudo random bits instead of random bits
10:47:22 <andythenorth> ok seems that the crash requires reloading a grf that has actually been modified
10:47:27 <reldred> hmm, no, that doesn't work
10:52:41 <Samu> what are annotations
11:04:55 <petern> Samu,
11:10:23 <Samu> I see
11:14:05 <reldred> I don't get this, why, would random_bits % 4 work fine in a switch block but not in a sprite layout
11:14:20 <reldred> mod 3 or 5 or 9 works fine in a sprite layout,
11:15:30 <Samu> okay the problem is the widget selection. I wanna close WC_QUERY_STRING in a smart manner
11:20:43 <JGR> reldred: `% 4` only looks at the lowest two bits, if the "randomness" was all in other parts you could have issues?
11:22:52 <reldred> hmm
11:24:01 <reldred> So the full line from fridaemons object set nml is this:
11:24:01 <reldred> `` sprite: spriteset_tbs1_2((animation_frame + nearby_tile_random_bits(0,0)) % 4);``
11:24:25 <reldred> is that just an inherit difference between how nearby_tile_random_bits(0,0) works?
11:24:40 <reldred> or is this relying on the animation frame to actually do something?
11:25:33 <reldred> but likewise I wouldn't get why % 3 would work but % 4 wouldn't?
11:26:47 <reldred> and random_bits % 4 works fine in a switch block
11:27:06 <JGR> Presumably this is to add an offset to your animation so they're not synchronised?
11:27:37 <reldred> These aren't even animated, it's just picking a random sprite
11:29:11 <reldred> I have a workaround now, oh well
11:29:14 <reldred> Just a bit weird
11:31:12 <JGR> Could be that the original was doing something fancy, might be worth checking for other animation and random related things
11:32:17 <reldred> here we go, found these:
11:32:17 <reldred> `` anim_control: return CB_RESULT_NEXT_FRAME;
11:32:17 <reldred> anim_next_frame: return CB_RESULT_NEXT_FRAME;``
11:32:25 <reldred> in the graphics section of the item
11:33:28 <TonyPixel> What if write IDE for NML ๐Ÿค”
11:35:51 <petern> Hmm, type-safety but it's via templates, so the error is... very verbose.
11:36:15 <reldred> Nope, that did nothing
11:40:04 <JGR> Are you using random triggers?
11:40:33 <reldred> I barely know what I'm doing at this stage
11:40:53 <reldred> it's late and I've spent the whole day staring at NML ๐Ÿ˜›
11:41:01 <reldred> My brain is pickled at this stage
11:41:19 <andythenorth> animation is pissy because there are about 4 ways to do it
11:41:39 <andythenorth> so it always feels like you might have picked the wrong one
11:41:57 <andythenorth> * lots of ways is good, it's flexible
11:42:01 <reldred> I'm turning in for the night, later all
11:42:05 <andythenorth> o/
11:42:10 <JGR> Good night
11:47:58 <reldred> o/
11:48:40 <andythenorth> hmm do we need Variant Categories? ๐Ÿ˜›
11:50:50 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #10330: Codechange: Rework 'start_date' parameter for AIs as a game setting
11:51:42 <andythenorth> or maybe icons in the vehicle list for each generation? ๐Ÿ˜›
11:55:51 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #10330: Codechange: Rework 'start_date' parameter for AIs as a game setting
11:55:55 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #10330: Codechange: Rework 'start_date' parameter for AIs as a game setting
11:56:21 <andythenorth> Hmm
11:57:39 <andythenorth> Specifically I want to make it easy to tell differen generations of vehicle apart in the buy menu. I try to draw them visually distinct but not always easy
11:58:27 <andythenorth> How about I overlay a tombstone icon when itโ€™s near end of model life? ๐Ÿ˜›
11:59:15 <andythenorth> I mocked up a โ€˜newโ€™ sticker as well once, pretty sure frosch was going to code it, yez/no?
12:07:57 <petern> o_O
12:08:19 <Samu> InteractiveRandomRange is this multiplayer safe?
12:09:12 <Samu> AIs are started by the server
12:09:44 <Samu> so, i expect InteractiveRandomRange to not sync with clients, I think...
12:10:08 <Samu> otherwise, server runs a different course
12:19:38 <Samu> well ai_start_next is synced between multiplayer servers, it actually doesn't require sync if I think about it
12:20:00 <Samu> only the server can start AIs
12:23:22 <petern> Between servers? Have you federated them?
12:23:48 <Samu> between server and client
12:24:17 <Samu> what i mean is
12:24:29 <Samu> InteractiveRandomRange is only run on the server, clients don't run it
12:24:36 <Samu> will it be cause for desyncs?
12:28:01 <Samu> gonna test it atm
12:59:26 *** murr4y has quit IRC (Ping timeout: 480 seconds)
13:06:40 *** murr4y has joined #openttd
13:08:35 *** sla_ro|master has quit IRC ()
13:10:57 *** Samu_ has joined #openttd
13:14:46 *** Samu has quit IRC (Ping timeout: 480 seconds)
13:39:56 <Samu_> it's been 1 hour, no desyncs
13:45:08 *** Samu_ has quit IRC (Quit: Leaving)
13:45:30 *** Samu has joined #openttd
13:54:58 <Samu> got a crash, trying to load an old savegame
13:56:08 <Samu> ScriptObject::ActiveInstance::ActiveInstance(ScriptInstance *instance) : alc_scope(instance->engine)
13:56:16 <Samu> instance was nullptr.
13:57:59 <Samu> let me try on 12.2
14:03:57 <Eddi|zuHause> andythenorth: make the buy menu sprite depend on the current year?
14:05:44 <petern> Game could easily do it but we can't change anything
14:07:10 <Samu> loads fine on 12.2
14:16:54 <andythenorth> Eddi|zuHause: Yup might try it
14:17:33 <petern> As intro date is randomized it'll be a big vague.
14:18:06 <Eddi|zuHause> i like to use "early retirement" to force them out of the buy menu
14:24:09 <Samu> emergency save also crashes, that's funny!
14:24:52 <petern> Does it crash in master?
14:27:37 <glx[d]> Loading of scripts in 12.2 was different, so test master and right before #9745 merge
14:33:02 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #10331: [Crash]: Loading old savegame with only an AI in it
14:34:36 <Samu> yes, crashes in master
14:35:12 <Samu> it's trying to broadcast news to other AIs, but their instances are nullptr
14:36:32 <LordAro> how odd
14:37:58 <glx[d]> The log says 2 human companies
14:38:27 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #10331: [Crash]: Loading old savegame with only an AI in it
14:45:26 *** geli has joined #openttd
14:48:24 *** Wolf01 has joined #openttd
14:52:51 *** gelignite has quit IRC (Ping timeout: 480 seconds)
15:08:26 *** WormnestAndroid has joined #openttd
15:11:34 <Samu> the "start_date" getting in the way of those crash reports
15:13:15 *** HerzogDeXtEr has joined #openttd
15:16:54 <michi_cc[d]> Any plans from anybody on a RC2 (or a .0)?
15:26:20 <andythenorth> petern: goes it a var for intro date? ๐Ÿ˜›
15:26:23 <andythenorth> maybe there is one
15:27:10 <andythenorth> 80+ vehicles var 02?
15:27:27 <andythenorth> or is it one of those 80+ vars that can't be trusted? ๐Ÿ˜›
15:27:59 <andythenorth> "Date of the introduction"
15:28:02 <petern> `0x02: break; // not implemented`
15:28:09 <andythenorth> lol TTDP only?
15:28:44 <petern> Deliberately, it would be wonky for anything outside the original years.
15:28:46 <andythenorth> a var for 'is vehicle with ID X available || in exclusive preview'
15:28:57 <andythenorth> but that might have circularities or something, dunno
15:29:00 <andythenorth> there was probably a reason
15:29:16 <petern> I like the idea of just having extra info, either in the list or in the details.
15:29:27 <petern> (And not requiring NewGRF to have to do it)
15:30:06 <andythenorth> it's one of those things...all my suggestions are half-assed, based on little tweaks to the current spec
15:30:06 <petern> michi_cc[d]: Not me but I might have a look at some bugs.
15:30:31 <andythenorth> I'm only thinking of hacks on what we can do now, instead of what would be good
15:30:37 <petern> "But now it clutters the purchase list"
15:30:38 <andythenorth> half-assed
15:31:02 <Samu> how do i test an old version of openttd, trying to run openttd as of 6953df7b
15:31:26 <Samu> I forgot how to do it
15:31:32 <petern> git checkout 6953df7b
15:32:20 <andythenorth>
15:32:20 <andythenorth> it's only this period of time when the wagons overlap that I find confusing
15:33:08 <andythenorth>
15:33:08 <andythenorth> it's fine when there's a big visual change
15:33:34 <petern> Make them variants ๐Ÿ˜‰
15:33:38 <andythenorth>
15:33:38 <andythenorth> but some types have limited scope ๐Ÿ˜›
15:33:40 <andythenorth> yeah considered variants
15:34:18 <andythenorth> "Gen 5 Bulkhead Flat Wagon" or something
15:34:20 <andythenorth> also
15:34:22 <andythenorth> or overlays
15:34:53 <andythenorth> or a filter that hides vehicles introduced > % of the model life
15:35:10 <andythenorth> or drawing them to look more different ๐Ÿ˜›
15:35:43 <andythenorth>
15:35:43 <andythenorth> engines just don't have the same visual difficulty
15:36:00 <andythenorth> RV trucks do have this issue though
15:42:50 <andythenorth> hmm what does buy menu look like in other train games
15:43:08 <petern> Not so many different choices :p
15:43:53 * andythenorth reads about train fever modding
15:44:16 <andythenorth>
15:44:29 <andythenorth> oh groups and variants
15:44:34 <andythenorth> identical terminology maybe
15:44:42 <andythenorth> convergent evolution ๐Ÿ˜›
15:45:34 <andythenorth> oh they have conventions for buy menu sprites
15:45:46 <andythenorth>
15:45:46 <andythenorth> one of them is to overlap
15:46:04 <andythenorth> tried something like that for random wagons
15:47:10 <petern> We do that for vehicle lists when they're grouped.
15:47:31 <petern> Could be done for purchase list but our sprites are much smaller.
15:47:46 <petern> We also don't do side-on view.
15:48:33 <andythenorth> I could composite it for sprites, and see how it looks
15:48:36 <andythenorth> probably bad
15:48:40 <andythenorth>
15:48:40 <andythenorth> meanwhile
15:48:52 <andythenorth> that's not massively interesting as a UI
15:49:00 <petern> "It's too big"
15:49:01 <andythenorth> it's just more panels than we have
15:49:36 <petern> Do you compose it there, or does it just come pre-built like articulateds?
15:51:10 <andythenorth> I think it's pre-built
15:51:36 <andythenorth> `To create the image do the following steps:
15:51:36 <andythenorth> Take up to 4 of the available variants
15:51:36 <andythenorth> Place them 30 pixels apart of each other with the right one being at the front
15:51:36 <andythenorth> Make an approximately 2 pixel wide gap between the variants to improve the contrast`
15:51:37 <andythenorth> etc
15:51:52 <andythenorth>
15:51:52 <andythenorth> Voxel Tycoon buy menu
15:51:58 <andythenorth> has colours instead of suffixes
15:52:00 <andythenorth> green = powered
15:52:10 <andythenorth> purple = advanced multiple unit capabilities
15:53:52 <petern> Each cell could be coloured...
15:54:04 <petern> "What colour"
15:55:04 <andythenorth> meh, Horse docs do that already, it's lacking a key ๐Ÿ˜›
15:55:19 <andythenorth>
15:55:46 <andythenorth> I didn't find anything better than what we have ๐Ÿ˜›
15:56:56 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
15:57:00 *** WormnestAndroid has joined #openttd
16:01:55 <Samu> how do i start openttd in visual studio but with "-D -g D:\OpenTTD\openttd-12.2-windows-win64\test_9720.sav" in front of it?
16:02:02 <Samu> wanna debug
16:10:15 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #10331: [Crash]: Loading old savegame with only an AI in it
16:16:52 *** TROILUS9 has joined #openttd
16:16:56 <andythenorth> hmm
16:17:16 <andythenorth>
16:17:16 <andythenorth> all dual-head diesels/electrics could have equivalent single unit
16:17:23 <andythenorth> and all single units could have a dual head option
16:17:34 <andythenorth> but something is weird about it
16:17:41 <petern> "buy two single heads and flip one"
16:18:00 <andythenorth> seems like I'd want to reset the entire tech tree to do this
16:18:43 <Rubidium> so #10331 sounds like a bug we would want to solve before a proper release, right? Would starting the company maybe also be moved to the same location as the afterload stuff for AIs (i.e. start that company after the AIs?)
16:19:29 <Rubidium> I reckon such a change warrants another RC, to get at least some chance of finding issues with that approach before millions download the game
16:20:00 <petern> Good call, I'll try moving it to the end.
16:21:07 <petern> Doesn't crash at least ๐Ÿ™‚
16:22:26 *** TROILUS has quit IRC (Remote host closed the connection)
16:22:26 *** TROILUS9 is now known as TROILUS
16:27:39 <petern> Doesn't affect scenarios with gamescript, so it's just this case of a samegame with ai but no human player.
16:30:00 *** Wormnest has joined #openttd
16:30:35 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #10332: Fix #10331: Starting new company during load must happen after AI start.
16:31:19 <petern> I don't know what happens if there's no room for a human company...
16:33:06 <LordAro> *explosion noises*
16:34:32 *** supermop_Home_ has joined #openttd
16:42:03 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10332: Fix #10331: Starting new company during load must happen after AI start.
17:00:00 <Samu> i can test that, i presume it goes into the first company
17:06:21 <Samu> I'm getting a "Could not start the server" error message :/
17:10:24 <Samu> i could create servers earlier today, now suddenly i get this message
17:11:31 <Samu> dbg: [net] getaddrinfo for hostname ":", port 1, address family either IPv4 or IPv6 and socket type tcp failed: Este anfitriโ”œรบo nโ”œรบo โ”œยฎ conhecido.
17:11:31 <Samu> dbg: [net] Could not start network: could not create listening socket
17:11:56 <petern> Have you left a server running?
17:12:14 <petern> (Not sure if we pick a specific port any more)
17:12:50 <LordAro> looks like bad input
17:13:02 <LordAro> 'hostname ":", port 1'
17:13:30 <Samu> is that in openttd.cfg?
17:15:42 <Samu> i remember running a command line with -D ::1 - g savegame.sav
17:15:59 <petern> That probably did it ๐Ÿ™‚
17:16:06 <Samu> what did i do to ruin it?
17:16:18 <LordAro> ::1 is not doing what you think it is
17:17:20 <LordAro> [::1] might work better
17:18:19 <Samu> 3979
17:18:27 <Samu> i still can't start server :(
17:18:48 <Rubidium> yup, the colons of IPv6 need to be between square brackets. And then [::1] just means localhost
17:19:09 <petern> Would be nice if invalid input didn't get saved and break it?
17:20:00 <Samu> I followed this
17:20:08 <Samu> and bricked myself from hosting servers :(
17:20:19 <Samu> how do i undo?
17:20:22 <petern> You can just edit the config...
17:23:46 <Samu> where is it reading the ":" from in openttd.cfg
17:23:50 <Samu> can't find
17:24:16 <LordAro> if you're running -D ::1, it's not
17:24:29 <LordAro> ::1 is being parsed as hostname ":", port 1
17:24:50 <LordAro> hence, wrap it in square brackets
17:24:54 <LordAro> as RB & I said
17:25:03 <Samu> im not using any command line now
17:25:09 <Samu> i found the port problem
17:25:13 <Samu> but not the hostname
17:25:25 <supermop_Home_> in a real paralysis loop drawing this building
17:27:22 <supermop_Home_> modeled it in rhino and exported dimetric views to trace, to get the proportions of arches and roof right, and then started tracing it in 4x, then went back to render it instead, then started just drawing it in 1x, then tried to export flat shaded 1x
17:27:36 <supermop_Home_> then went back to drawing it from scratch
17:27:38 <petern> Run with -D "[::1]:3979" might help?
17:27:55 <supermop_Home_> and now i'm like, maybe I should go back to tracingit
17:28:00 <petern> Maybe -D "" clears it, dunno ๐Ÿ™‚
17:28:03 <Samu> im using the multiplayer menu from openttd, im not setting any hosts
17:28:36 <Samu> openttd > multiplayer > start server > newgame and it fails
17:29:57 <supermop_Home_> i cant even decide whether i want it to be beige white or pink
17:31:19 <DorpsGek> [OpenTTD/OpenTTD] PeterN updated pull request #10332: Fix #10331: Starting new company during load must happen after AI start.
17:38:14 <Samu> let me restart windows
17:38:16 *** Samu has quit IRC (Quit: Leaving)
17:40:03 *** Samu has joined #openttd
17:40:28 <Samu> didn't wokr
17:40:32 <glx[d]> restarting windows won't help if it's in config
17:40:47 <Samu> where in the config, i can't find anyting named :
17:42:00 <glx[d]> server_bind_addresses section in private.cfg
17:42:46 <Samu> ah, i see it
17:42:49 <Samu> [server_bind_addresses]
17:42:49 <Samu> : =
17:42:53 <Samu> ok i remove it?
17:43:20 <glx[d]> yup remove
17:43:25 <Samu> yay, it worked!
17:43:27 <Samu> thanks
17:43:35 <Samu> I would never guess it
17:43:55 *** sla_ro|master has joined #openttd
17:46:31 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #10332: Fix #10331: Starting new company during load must happen after AI start.
17:49:10 <Samu> tested, if there are no room for a human company, it goes to first company
17:49:42 <Rubidium> and if there's no room for a human company, it doesn't crash in master
17:51:12 <glx[d]> the issue was just a "minor" change in order of events
17:51:31 <glx[d]> that's a typical AfterLoadGame() issue
17:51:48 <glx[d]> there's so much stuff in it
17:52:42 <Samu> i wonder how AI data is loaded now, must see if it solves many of the issues i've been reporting
17:53:11 <glx[d]> AI data is loaded in memory, pushed on AI stack on AI start
17:53:51 <Samu> theorethically nothing changes, but i still wanna check out
17:53:58 <glx[d]> and AI is not started in the middle of loading, but once loading is finished
17:55:32 <glx[d]> previously the AI was started and directly read data from savegame, but could have issues if trying to access some game state
17:57:59 <glx[d]> and #9745 was open for a full year before being finally merged (and 2 bugs found in it since the merge)
17:58:45 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10332: Fix #10331: Starting new company during load must happen after AI start.
17:59:08 <Samu> "Loading failed: there was data for the script to load, but the script does not have a Load() function."
17:59:17 <Samu> so this is a recent message i've been seeing on many ais
17:59:23 <Samu> interesting
18:00:33 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on pull request #10332: Fix #10331: Starting new company during load must happen after AI start.
18:06:32 <glx[d]> Samu: strange, the message is not new
18:07:53 <glx[d]> reading data (or not) from the savegame didn't change, it just put on the stack at a different moment
18:09:15 <Samu> i don't recall ever reading it before
18:09:42 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #10332: Fix #10331: Starting new company during load must happen after AI start.
18:09:45 <DorpsGek> [OpenTTD/OpenTTD] PeterN closed issue #10331: [Crash]: Loading old savegame with only an AI in it
18:10:12 <Samu> let me check on 12.2
18:10:51 <Samu> ah, it was there already
18:10:59 <Samu> stupid me
18:11:24 <glx[d]> that means the AI saves data but ignores it on load
18:11:52 <Samu> HeliFerry pops that message
18:14:31 <Samu> maybe I dont test loading heliferry much
18:14:34 <Samu> hehe
18:15:07 <Samu> anyway, the data it failed to load was just {}
18:15:10 <Samu> lol
18:15:42 <glx[d]> yeah empty Save and no Load
18:15:57 <glx[d]> definitely a bug in the AI
18:19:06 *** gelignite has joined #openttd
18:19:06 *** geli has quit IRC (Read error: Connection reset by peer)
18:26:58 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10330: Codechange: Rework 'start_date' parameter for AIs as a game setting
18:28:47 <Samu> found a maybe not a bug
18:29:25 <Samu> (undefined string) in town names
18:29:42 <Samu> i have unloaded japanese town names newgrf
18:30:19 <Samu> it was set to Japanese
18:31:23 *** Flygon has quit IRC (Remote host closed the connection)
18:31:34 <glx[d]> not a bug
18:32:15 <Samu> starting a new game with (undefined string) created towns in english names
18:35:40 <glx[d]> yes it's the fallback
18:42:30 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master
18:42:31 <DorpsGek> - Update: Translations from eints (by translators)
18:43:49 <LordAro> glx[d]: feel like the UI and/or setting should be better at updating
18:51:49 <glx[d]> it's done that way so you can readd the townname newgrf
18:53:40 <Samu> loading AI save data still randomizes values >
18:53:47 <Samu> well, kinda expected
18:55:46 <Samu> i dont think my PR will solve it either, oh boy
18:55:48 <glx[d]> nothing changed in this area
19:02:53 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #10310: [Bug]: Wrecks of vehicles left at level crossings cause an avalanche of further accidents
19:16:21 <DorpsGek> [OpenTTD/website] frosch123 opened pull request #246: Update: TT-MS rediscovered the source of this magazine article.
19:21:44 <DorpsGek> [OpenTTD/website] 2TallTyler approved pull request #246: Update: TT-MS rediscovered the source of this magazine article.
19:38:40 <DorpsGek> [OpenTTD/website] michicc merged pull request #246: Update: TT-MS rediscovered the source of this magazine article.
19:42:25 <andythenorth> oof unscheduled nap
19:42:42 <andythenorth> wow 3 full hours
19:43:02 <petern> That means you can go to sleep at 2am again.
19:43:02 <frosch> fun fact: roman sent a mail 6 hours ago, asking whether we knew where the article was from, after he had checked all issues from 2004. when i checked 2 hours ago, i found the info on his homepage. turned out he had found the issue meanwhile and had already updated the site ๐Ÿ™‚
19:52:33 <andythenorth> this one is a fair question, but it doesn't really work that way?
19:52:38 <andythenorth> Wentbourne instead?
19:55:24 <frosch> i think "yeti" is the answer
19:55:42 <frosch> animated 32bpp industries, we do not have anything more heavy
19:57:02 <frosch> also, is there a counter how often the "cpu: yes" joke is posted on reddit?
20:01:06 <LordAro> frosch: yes
20:01:42 <Samu> okay, I'm not happy with the way InteractiveRandomRange does the random thing
20:02:12 <Samu> if i restart the game, InteractiveRandomRange comes up with different values
20:02:28 <Samu> i'd prefer it to repeat the values
20:02:41 <Samu> how to solve, hmm
20:03:36 <Brickblock1> I made a looping grf once I wonder if it might be the most demanding
20:03:55 <frosch> LordAro: there is a counter? ๐Ÿ˜ฎ
20:05:32 <Samu> how to make it deterministic random
20:05:40 <Samu> pseudo-random
20:05:41 <LordAro> as much as there's a counter for people in irc(/discord) asking about reddit posts asking about cpu
20:09:50 <Samu> RandomRange works, but I suspect this one isn't multiplayer safe
20:10:17 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on pull request #10322: Feature: Change speed of calendar progress
20:10:40 <TallTyler> I think the real answer about intensive newgrfs is temporal8โ€™s โ€œreal Xโ€ sets โ€” see #10192
20:11:05 <TallTyler> JGRPP has commits to fix that but they donโ€™t cherry-pick cleanly and I donโ€™t understand sprite drawing code well enough to sort that out
20:12:24 <frosch> ah, yes, you can also use the old ECS sets. at some point we added "do not use this callback" to the specs ๐Ÿ™‚
20:13:23 <Samu> crap! desync :(
20:13:26 <frosch> ah, great... that part was dropped from nml specs :/
20:18:06 <LordAro> TallTyler: not really "graphically intensive" though
20:18:47 <JGR> TallTyler: It's not the sprite drawing code that's the problem
20:19:52 <JGR> It's mostly animated tiles
20:21:45 <frosch> is it the animation-length callback?
20:21:49 <JGR> Adding/removing animated tiles is O(N) in the total number of animated tiles, so the real X sets trigger O(N^2) behaviour
20:21:50 <frosch> or just many animated tiles?
20:23:21 <JGR> Changing the first to O(log N) would make a lot of the problem go away without having to touch anything complicated at all
20:34:54 *** luk3Z has joined #openttd
20:34:54 <luk3Z> There is a problem on 2 polish servers with some people who abusing the game rules. I think there should be smthg like "Players Ethical Rating" in the game (thumb up/down), so players could be albe to vote who should be auto-banned by the game.
20:38:45 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #10322: Feature: Change speed of calendar progress
20:39:05 <FLHerne> luk3Z: I can foresee that being abused in itself by trolls joining under multiple IPs to ban real players or so
20:39:24 <Pruple> votekick systems invariably get abused
20:39:26 <glx[d]> that's something for admin port
20:39:46 <Pruple> two people (or one person twice) can stop anyone else joining the server
20:39:49 *** gelignite has quit IRC (Quit: Stay safe!)
20:40:32 <FLHerne> in principle it can be done already by an admin-port bot reading the chat (!votekick blah or so)
20:41:07 <nielsm> lots of ways to do it
20:41:21 <FLHerne> you could make it harder to abuse in various ways - minimum quorum, only players with companies over some age/size/activity, etc
20:42:11 <FLHerne> but getting those parameters correct to prevent false-positives while minimising false-negatives would take some experimentation
20:42:19 <luk3Z> FLHerne: It could be a some kind of protection for players ie. long time in game or wealth etc.
20:43:01 <nielsm> luk3Z: the point is, the game as it exists today already has mechanisms to allow server owners to set that kind of thing up
20:44:45 <nielsm> and the only surefire protection against griefing is having human moderators available to go in and resolve issues
20:45:06 <luk3Z> nielsm: I heard of activity but I have to ask some people for teh rest ๐Ÿ˜„
20:45:06 <luk3Z> I make my own server someday, so that's why I care ๐Ÿ˜„
20:45:50 <nielsm> you could even make your server so it's forced-pause during hours where there are no moderators available (that also requires using admin port)
20:46:21 <nielsm> so e.g. a poland-based server might only be available during 10-24 local time in poland or similar
20:46:52 <luk3Z> nielsm: Ok thank you for fast answers. See you later.
20:48:14 <nielsm> what might get added to the game would be more ways for players to have a constant identity instead of everyone being effectively-anonymous, so you can have more actual trust
21:16:05 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
21:21:02 <Samu> sometimes i wish i had 2 monitors
21:21:49 <Samu> debugging server + client
21:28:08 *** nielsm has quit IRC (Ping timeout: 480 seconds)
21:28:55 <Samu> It's synced now! with RandomRange
21:33:20 *** godbed is now known as debdog
21:38:11 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10330: Codechange: Rework 'start_date' parameter for AIs as a game setting
21:40:16 <Samu> now both server and client do --_next_competitor_start while still maintaining the server the only one that can start AIs
21:40:30 <Samu> sync achieved!
21:43:11 *** keikoz has quit IRC (Ping timeout: 480 seconds)
21:46:04 <Samu> wow regression failed :)
21:46:20 <Samu> because.-. i touched Random
21:46:33 <glx[d]> if you add/remove random calls that's expected
21:52:31 <Samu> the idea of going back to InteractiveRandomRange displeases me :(
21:55:36 <petern> You want a random start but you don't want it too random?
21:57:56 *** debdog has quit IRC (Quit: Initiating getting-the-hell-out-of-here maneuver!)
21:58:10 *** debdog has joined #openttd
21:59:24 <Samu> how did it work in the first place
21:59:45 <glx[d]> not very well
21:59:47 <Samu> i could type restart in the console and it would make ais build the same way
21:59:57 <Samu> even with random start datews
22:02:58 <glx[d]> it was using AddRandomDeviation() for the AI config, including start_date, and that uses InteractiveRandomRange() so doesn't affect game Random(ร 
22:04:27 <glx[d]> but handling of start_date itself was hacky
22:10:08 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10330: Codechange: Rework 'start_date' parameter for AIs as a game setting
22:13:48 <andythenorth> FLHerne: blockchain, proof of work voting
22:13:58 <andythenorth> "finally a legitimate use for blockchain"
22:21:04 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on pull request #10322: Feature: Change speed of calendar progress
22:24:14 <andythenorth> Pruple: how's your 91 / DVT variant thing working out? ๐Ÿ™‚ Did you see the Chinook image I posted?
22:24:45 <andythenorth> can't work out why I think it's weird to have different combinations of units, seems like it would be totally logical
22:24:48 <petern> reldred: Do I need to investigate prometheus and grafana?
22:26:52 <reldred> I use influxdb instead but yes
22:26:55 <reldred> Am a fan
22:27:23 <reldred> I do all my data collection/mangling with powershell, then into either mssql or influxdb, then render in grafana
22:27:27 <Pruple> andythenorth: working out fine, for double-ended trainsets. using it to just double locos with articulation seems a bit unnecessary? no difference between building a double variant and building two singles.
22:33:36 <andythenorth> autoreplace
22:33:54 <andythenorth> the doubles can replace tender steam engines without having to manually fix the consist
22:34:16 <andythenorth> not sure that escalates to 'all singles need a double also'
22:40:11 <EmperorJake> Would be redundant with template replacement, but the current JGR implementation is quite janky
22:41:29 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:43:18 <andythenorth> agreed
22:43:32 <andythenorth> although Chinook would probably still be a double, seems to be iconic ๐Ÿ˜›
22:43:59 <andythenorth> I'm kinda more interested in how it would work with NARS Horse and f-units
22:44:17 <andythenorth> do they come in different models with different numbers of units, to replace different size steam engines
22:44:29 <andythenorth> or does each model have variants with 1, 2, 3, 4 units
22:44:33 <andythenorth> and cabs / not cabs ๐Ÿ˜›
22:44:58 <andythenorth> Horse is inconsistent, in that it provides articulated diesels, but railcars have to be built one-by-one
22:46:27 <Fairy> Im gonna do length funkiness with variants too, probably. Thinking of adding both free-length and fixed-length MUs using them so you can either be like "I want this one exactly this long" or "I'll grab a four-length one in one go"
22:47:40 <andythenorth> maybe nested variants? ๐Ÿ™‚
22:47:50 <Fairy> Yes, already gonna do those
22:47:52 <andythenorth> 'singles' and 'multiples'
22:48:24 <Fairy> I'm gonna give nested in nested a try, push variants to their limit to completely eliminate livery refits from my set
22:49:22 <Fairy> I know it's possible, we'll just have to find out how it's like actually using it once I'm done
22:49:43 <andythenorth> has to be tried
22:49:47 <Fairy> But I'll be having vehicles > variants > liveries > livery colorings as the layers
22:49:54 <andythenorth> I push lots of things to limit in Horse, then delete them ๐Ÿ˜›
22:50:38 <Fairy> Yeah, it's something that needs to be tried to see if it's any good, and given what I'm working on, I feel like my UKRS2 rework is perfectly positioned to be the set that tries a lot of things with liveries and variants
22:51:01 *** supermop_Home_ has quit IRC (Ping timeout: 480 seconds)
22:52:47 <Fairy> Also variants makes "proper" DBSOs feasible without too wonky code if you're fine with having a lot of variants. Just code them as a multiple unit with different locomotives as the variants
22:53:59 <Fairy> I'm really enthusiastic about all the possibilities that Variants provide, honestly
22:54:14 <andythenorth> ๐Ÿ’ฏ
22:54:35 <andythenorth> they're so easy to create as well
22:54:38 <andythenorth> just one prop
22:55:34 <Fairy> Yeah
22:55:56 <Fairy> Of course it can get tedious if you make a lot of variants but that part's gonna be automated
22:56:32 <Fairy> It's just going to boil down to manually fixing the occasional quirky thing that's really specific to like, one or two vehicles
22:57:19 <reldred> andythenorth: I think from memory it was just A and B units and sometimes they'd do ABB sometimes AA sometimes ABAB sometimes ABBA, it really seems to just be whatever the railyard had lying around at any given time
22:57:43 <andythenorth> there's probably a photo of every possible combo
22:57:54 <Fairy> "sounds like a case for random locomotive setup"
22:58:02 <andythenorth> might be
22:58:12 <reldred> and with steam they'd sometimes just lash up an extra loco to get over a mountain range and then pull it off after they got over.
22:58:15 <andythenorth> hmm
22:58:27 <andythenorth> UK Horse: "buy a random type 3 engine"
22:58:51 <andythenorth> I think I'd really like the JGRPP split engine / wagon UI, but with one extra pain
22:58:51 <reldred> so the big thing with the early diesels was to be able to replicate that, adding and subtracting units as necessary to get over obstacles
22:58:58 <andythenorth> where the grf can define list of randomised purchases
22:59:09 <andythenorth> oh fuck, I probably played too much tanks with loot boxes eh
22:59:16 <andythenorth> I just realised where I got the design pattern from ๐Ÿ˜›
22:59:18 <Fairy> When are we getting the Train Whack button, where you buy and get a completely randomized consist
22:59:30 <andythenorth> when someone implements
23:00:21 <andythenorth> 'fill this train out to 5 tiles, with minimum of 4 hp / t, and wagons that carry carbon steel'
23:00:38 <andythenorth> result: 4.5 tiles of gronk, and one steel wagon
23:00:55 <Fairy> Nah, that's too useful
23:01:06 <Fairy> Just completely random. No choice in the matter
23:01:12 <Fairy> You buy it and you make do
23:05:48 *** Samu has quit IRC (Quit: Leaving)
23:14:45 <andythenorth> lol such GS FIRS ideas
23:33:43 <EmperorJake> andythenorth: I seem to remember an AI that built trains like this, except it was with the 2cc trainset
23:36:03 <FLHerne> happened with the DBSetXL DVT addon too
23:39:25 <Pruple> because the default trains don't have wagon speed limits, a lot of AIs overestimate how much power is appropriate for newgrf freight trains ๐Ÿ™‚