IRC logs for #openttd on OFTC at 2022-01-04
            
00:27:40 *** snail_UES_ has joined #openttd
00:45:37 *** roadt__ has joined #openttd
00:46:46 *** esselfe has quit IRC (Read error: No route to host)
00:50:43 *** esselfe has joined #openttd
00:52:40 *** roadt_ has quit IRC (Ping timeout: 480 seconds)
01:14:18 *** Gustavo6046 has quit IRC (Read error: Connection reset by peer)
01:19:41 *** Gustavo6046 has joined #openttd
02:33:49 *** Wormnest has quit IRC (Quit: Leaving)
03:12:54 *** Flygon has joined #openttd
03:36:00 *** glx has quit IRC ()
03:47:53 *** D-HUND has joined #openttd
03:51:16 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:54:08 *** D-HUND is now known as debdog
05:59:50 <supermop_Home_> with rams you need to make sure they are in the right order
05:59:54 <supermop_Home_> *trams
06:00:25 <supermop_Home_> if not you can have one duck into a depot so the one behind can pass it
06:01:16 <supermop_Home_> ships usually work well, espescially if they have some slack that can allow a late running one to catch up
06:03:40 <supermop_Home_> vehicles will have trouble if their start date is set in the past, or if it is never possible to catch up
06:04:53 <supermop_Home_> also, if a vehicle is 30 days from getting to order 1, but its start date is tomorrow, its going to be hopelessly late unless order 1 has a long lay up time
06:07:04 <supermop_Home_> if you have a clump of 3 ships on a 90 day timetable and set the start date for the last ship for when it reaches order 1, ships 1 and 2 will be 60 and 30 days late already - it may take them years to catch up
06:07:39 <supermop_Home_> if instead you set the start date for the first ship, ships 2 and 3 will be 30 and 60 days early
06:21:18 *** snail_UES_ has quit IRC (Quit: snail_UES_)
07:25:01 *** sla_ro|master has joined #openttd
07:52:28 *** tokai|noir has joined #openttd
07:52:28 *** ChanServ sets mode: +v tokai|noir
07:59:21 *** tokai has quit IRC (Ping timeout: 480 seconds)
08:17:41 *** Gustavo6046 has quit IRC ()
08:28:12 *** Wolf01 has joined #openttd
08:55:23 *** WormnestAndroid has quit IRC (Remote host closed the connection)
09:07:14 *** andythenorth has joined #openttd
10:22:55 *** roadt__ has quit IRC (Ping timeout: 480 seconds)
10:23:08 *** roadt__ has joined #openttd
11:25:07 <TrueBrain> orudge: nightlies are failing: "* You must first sign the relevant contracts online. (1048) (1048)" on MacOS Notarize .. lol
12:04:16 *** WormnestAndroid has joined #openttd
12:57:16 <peter1138> okay how do i store an attribute table in SQL... where the value could be decimal, or text, or...
12:57:40 <peter1138> I could just lazily use varchar and enforce it in code.
12:59:04 <TrueBrain> both!
13:03:29 <peter1138> Yeah, I could have separate columns depending on the type :/
13:10:11 <milek7> don't bother and store attributes as json in row :P
13:13:29 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
13:13:42 *** WormnestAndroid has joined #openttd
13:17:35 <peter1138> It's not the worst idea but... it is also the worst idea.
13:18:00 <TrueBrain> and one is not like the other, right? :D
13:37:29 <peter1138> Although JSON would solve the issue of having to do joins as well... Hmm
13:40:13 *** snail_UES_ has joined #openttd
13:49:49 <TrueBrain> https://truebrain.github.io/TrueGRF/ <- first iteration of "ground sprite" support .. you can now edit tiles and change their ground-sprite.
13:50:25 <TrueBrain> I went for the lazy solution, and every tile has his own spriteset, even if they share ground-sprites with others :P
13:50:41 <TrueBrain> GRF is still only 500KB
13:52:03 <Wolf01> <peter1138> okay how do i store an attribute table in SQL... where the value could be decimal, or text, or... <- I use 2, 3 different typed fields and one "data type" field, then I read the right field according with the declared type
13:52:19 <TrueBrain> transparent buildings still aren't working, and I don't know why not :P
13:54:02 <TrueBrain> I think I need frosch to help me out with that :P
13:57:52 <TrueBrain> I wonder if the issue is that action2 ignores the transparent setting or something .. but then why is it a flag to begin with
13:59:06 *** snail_UES_ has quit IRC (Quit: snail_UES_)
14:19:20 *** glx has joined #openttd
14:19:20 *** ChanServ sets mode: +v glx
14:27:03 <glx> TrueBrain: I think there's a mix of bits 14-15 and 30
14:30:09 <glx> but using 0 for both should be enough
14:30:34 <supermop_Home_> TrueBrain can i drag existing sprites from other industries?
14:39:52 <TrueBrain> supermop_Home_: right click, copy image, click on another tile, click on the image, hit paste
14:40:03 <TrueBrain> I have yet to fix that you can paste anywhere in the window .. now you first have to click the HTML element before it works :)
14:40:17 <TrueBrain> glx: bit 14-15 is set to 2, to have colour remapping
14:40:21 <TrueBrain> but the rest is 0
14:41:27 <TrueBrain> funny, specs say bit 14-15, but in reality there is a bit 14, and a bit 15 :P
14:41:41 <TrueBrain> 3 is also a valid value, for example :)
14:48:41 <glx> transparency seems to work for me
14:49:02 <glx> it's just the transparent building menu option doesn't affect industries
14:49:08 <TrueBrain> ......
14:49:12 <TrueBrain> you got to be kidding me
14:49:25 <TrueBrain> tnx
14:49:37 <TrueBrain> the grf-specs keeps mentioning the toggle, that it toggles industry buildings
14:49:42 <TrueBrain> ... what a weird thing
14:50:02 <glx> it may be a regression
14:52:51 <TrueBrain> nah
14:52:57 <TrueBrain> has been like this for at least 14 years
14:53:11 <glx> hmm keyboard doesn't want to work in the preview
14:53:19 <TrueBrain> it is just that the language is rather ambiguous, and the specs kept saying it should do what I expected it to do
14:53:28 <TrueBrain> ugh, yeah, the iframe needs focus
14:53:34 <TrueBrain> otherwise keyboard actions are not send there
14:54:16 <TrueBrain> anyway, tnx glx, at least it does work :)
14:55:33 <glx> ok after some press on TAB it works (clicking is not enough)
14:55:43 <TrueBrain> no, you can't click the iframe
14:55:56 <TrueBrain> I need to give it focus when you change tabs, I guess
14:58:08 <glx> anyway the "X" shortcut works very well for transparency :)
14:58:14 <glx> and it affects everything
14:58:26 <TrueBrain> yeah, it is what I normally use .. but as I couldn't use keyboard, I was using the menu one
14:58:32 <TrueBrain> and "building" is the wrong word there
14:58:34 <TrueBrain> "houses" would be 10x better :)
15:02:29 <TrueBrain> right, now to figure out what "production multiplier" actually is
15:02:34 <TrueBrain> as it means very little to me :P
15:05:53 <TrueBrain> ah .. it is randomized on construction
15:05:55 <TrueBrain> that explains :)
15:06:12 <TrueBrain> between halve that value and double that value
15:06:13 <TrueBrain> k
15:06:35 <TrueBrain> other than that, it is multiplier * 8
15:26:02 <TrueBrain> oof, and I forgot there are different sets of economy ofc .. eeuuuhhhmmm .. yeah, that just sucks :P
15:32:06 <TrueBrain> "UsesOriginalEconomy", taking guesses to what the function actually does
15:32:07 <TrueBrain> no cheating
15:40:59 *** nielsm has joined #openttd
16:33:59 *** andythenorth has quit IRC (Quit: andythenorth)
16:35:57 *** andythenorth has joined #openttd
16:39:42 *** andythenorth has quit IRC ()
16:59:30 *** andythenorth has joined #openttd
17:03:57 *** frosch123 has joined #openttd
17:08:41 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
17:09:03 <frosch123> TrueBrain: since you are doing tile layouts: https://github.com/OpenTTD/OpenTTD/blob/master/src/viewport.cpp#L109 <- there is a largely unknown limitation about how big a sprite on a tile can be
17:09:39 <frosch123> if a sprite extends over the left/bottom/right border of a tile, the tile will not be properly considered for drawing, and the sprite will glitch
17:09:56 <frosch123> towards the top there is also a maximum height
17:12:58 <frosch123> TrueBrain: about economy: "smooth economy" is an ottd invention not known to newgrf. once a newgrf does anything with industry production, non-smooth/original economy is enforced for the industry
17:15:14 <TrueBrain> and that is why the name UsesOriginalEconomy is just shitty :P
17:15:24 <TrueBrain> DoesntUseSmoothEconomy would be more correct, I guess :P
17:15:57 <TrueBrain> as for the sprite limits, good point; not going to do anything with it now, but it is something I should add eventually :D
17:16:19 <TrueBrain> which brings us rather close to the: support drawing 1x2 buildings, and TrueGRF should do the splitting etc :P
17:17:33 <frosch123> ah right, forgot about that thing :)
17:17:47 <TrueBrain> is there a way in NewGRF to read what kind of economy is running?
17:20:00 <frosch123> no, noone cares about smooth economy
17:20:15 <frosch123> newgrf do their own economies
17:20:43 <TrueBrain> what I am pondering about, is to make production/acceptance a bit more intuitive in TrueGRF
17:20:48 <frosch123> "smooth economy" missed the "rejected, can be done via newgrf" line :)
17:20:52 <TrueBrain> the current way of doing is just .. well, I don't even understand it
17:21:13 <TrueBrain> but I guess people might want to use the vanilla behaviour
17:21:39 <TrueBrain> I can also just say: fuck that shit, and force you to pick original, smooth, or a custom :P
17:21:57 <TrueBrain> and that the economy setting becomes pointless :)
17:22:06 <frosch123> what is the problem? there is primary production, producing at a default rate, that can change during the game
17:22:17 <frosch123> and there is secondary production, processing input cargos into output cargos
17:22:22 <TrueBrain> there isn't a problem
17:22:29 <TrueBrain> there are choices to be made :)
17:22:32 <TrueBrain> I was hoping I could read the type of economy
17:22:37 <TrueBrain> so I could have a "vanilla" callback chain
17:23:17 <frosch123> once you enable the production callbacks or produciton change callbacks, original/non-smooth is enforced
17:23:23 <TrueBrain> I know
17:23:28 <TrueBrain> but I can fake smooth economy in the callback
17:23:31 <frosch123> so from a newgrf POV "smooth" and "frozen" do not exist
17:23:52 <TrueBrain> so I could have made the cb aware of the economy ;)
17:24:20 <glx> I think only thing newgrf may access is a GS status
17:24:52 <frosch123> is that thing documented meanwhile?
17:25:01 <TrueBrain> and now I am wondering if it would be an issue if a NewGRF forces an economy on the user .. hmm
17:25:16 <TrueBrain> FIRS already does, ofc
17:25:35 <frosch123> https://wiki.openttd.org/en/Development/NewGRF/Specification%20Status#openttd-1-11 <- nope, still missing
17:25:50 <frosch123> i guess we can revert it after a year
17:28:06 <TrueBrain> okay, so each industry basically gets a dropdown with what kind of economy they run .. either origin, smooth, custom1, custom2, etc
17:28:28 <TrueBrain> will that be an issue .. guess someone will complain changing economy from original to smooth doesn't change NewGRF behaviour ..
17:29:08 <TrueBrain> but this is already try for FIRS
17:29:13 <TrueBrain> even frozen doesn't work, I guess
17:29:17 <TrueBrain> try = true
17:29:50 <frosch123> all those types make no sense for FIRS
17:30:09 <frosch123> FIRS industries do not change production, they only react to supplies
17:31:17 <frosch123> i think the same holds for all the firs forks. some add different production mechanics like needing workers etc. but noone likes random changes like original/smooth economy
17:32:22 <TrueBrain> so basically you say, don't even bother with "original" and "smooth", just make custom1, custom2, ..
17:32:23 <frosch123> so, i claim noone wants a "original"/"smooth" dropdown :) only a "game default"/"custom" option
17:32:31 <TrueBrain> ;)
17:33:59 <TrueBrain> so in a cb I can either set prod_level, or manipulate it with basic math
17:34:10 <TrueBrain> guess I can use a register to do the latter myself
17:34:15 <TrueBrain> so I only need to care about the first
17:35:22 <glx> you have CB29 to decide what random changes do
17:36:15 <TrueBrain> so now for the unit of production_rate .. it is 8 cargo?
17:36:16 <TrueBrain> or is it done 8 times a month
17:36:16 <frosch123> industries have persistent storage, so technically you can ignore prod_level and do your own thing
17:36:23 <TrueBrain> trying to decypher the "* 8" I see everywhere :P
17:36:29 <frosch123> it's done every 256 ticks
17:36:35 <frosch123> which is 8 or 9 times per month
17:36:44 <TrueBrain> ah
17:37:49 <TrueBrain> so if I initialize the multipliers at zero, I can just do my own thing in IndustryProductionCallback?
17:37:59 <frosch123> correct
17:38:11 <TrueBrain> that would make a lot of things a lot easier
17:39:09 <frosch123> just don't tell the GS-should-do-industry-production faction :p
17:39:37 <TrueBrain> economy vs industry
17:39:49 <TrueBrain> global vs local :)
17:43:45 *** jottyfan has joined #openttd
17:46:36 <TrueBrain> so just make cb29 and cb35 return 0, and I disable production changes .. after that, production callback takes control
17:49:15 <frosch123> the monthly callback can be used to change your internal variables and make the industry time-aware. but it still returns 0 then :)
17:49:38 <frosch123> firs uses it to track supply delivery over time
17:49:39 <TrueBrain> similar with the random one, could be useful, if you so decide :)
17:49:58 <frosch123> i think the monthly callback also gets random data in some variable
17:50:03 <TrueBrain> okay, and it sets incoming_cargo_waiting and produced_cargo_waiting directly
17:50:19 <TrueBrain> so it would totally bypass the whole prod_level and production_rate stuff
17:50:21 <TrueBrain> good
17:51:09 <TrueBrain> multiplier is 1 by default, so that just makes it a bit easier to understand for the human :)
17:51:36 <frosch123> for secondary production YETI uses a method to not process all cargo at once, but stockpile everything and process like 15% of it every 256 ticks
17:51:53 <frosch123> that smoothes the output and makes train departure look more nicely
17:52:07 <TrueBrain> it is one of the things I personally don't like about OpenTTD .. no matter how much you deliver to a secondary, it will process it for you
17:52:12 <TrueBrain> makes for stupid networks
17:52:30 <frosch123> ah, there are also newgrf who set an upper limit
17:52:33 <TrueBrain> so I wouldn't even do % :P
17:52:48 <frosch123> but once the cargo is rejected, your vehicles leave full-loaded, which messes up your network :p
17:53:06 <TrueBrain> it is not for the weakminded :P
17:53:57 <frosch123> anyway, callback 3D is called to figure out whether a industry's stockpile is full
17:54:10 *** oldp has joined #openttd
17:54:21 <frosch123> it's called in the station-tile-processing, so updates are never immediate
17:55:14 <frosch123> if a industry says "stop accepting cargo, if stockpile > 1000", it may still take up to 255 ticks for the station to notice and stop accepting
17:56:03 <frosch123> oh, and cargo is delivered in cargopackets, so if stockpile is at 999 and 10 is delivered, the stockpile goes to 1009
17:56:12 <TrueBrain> yeah, okay .. so the game puts the cargo in the stockpile
17:56:13 <frosch123> ECS people were very upset about that :p
17:56:17 <TrueBrain> there is not a cb handling that
17:57:04 <frosch123> you can use the on-delivery-production-cb to discard cargo, if you really want to
17:57:10 <frosch123> but it will be paid nevertheless
17:57:22 <TrueBrain> yeah, so that is rather pointless :D
17:57:46 <TrueBrain> for now, I don't really care about the stockpile
17:57:57 <TrueBrain> I just want to give control for primary/secondary, how much they output
17:59:10 *** oldp has quit IRC ()
17:59:40 <TrueBrain> right .. guess I finally need to look into registers etc :P
18:00:26 <TrueBrain> hmm .. industry var69, is that per cargo, or a global value?
18:00:40 <frosch123> hmm, how about defining secondary production in a table: each row specifies "amount of input needed" and "output", and truegrf makes the production cb pick the first row that is fulfilled
18:01:00 <frosch123> that way authors can define different output amounts if multiple input cargos are available, vs only some
18:01:23 <frosch123> var69 takes a cargotype as parameter
18:01:29 <TrueBrain> not sure I follow, but I have already come to terms that what-ever I come up with, someone else will have another request .. so I am thinking about something more dynamic
18:01:48 <TrueBrain> frosch123: ah .. I forgot they could have parameters ..
18:03:21 <frosch123> don't worry, i just like spreadsheets sometimes :)
18:03:27 <TrueBrain> :P
18:03:33 <TrueBrain> I think in the backend I make the cb an RPN
18:04:09 <TrueBrain> so something like: waiting[COAL] 4 / produce[BATTERY] =
18:04:31 <TrueBrain> for the frontend, I think I will add "economies" which you can select per industry
18:04:42 <TrueBrain> and each economy has different questions for you to answer
18:04:47 <dwfreed> RPN is great
18:04:57 <TrueBrain> so you can have an economy like "secondary with boost"
18:05:06 <TrueBrain> which takes care of the boosting part etc etc
18:05:16 <TrueBrain> and just asks you: what are the inputs, what is the output, how do they relate
18:05:22 <TrueBrain> frontend generates the RPN to the backend
18:05:27 <TrueBrain> and that makes the GRF
18:05:40 <frosch123> how do you make conditions in RPN?
18:05:46 <TrueBrain> dwfreed: my last attempted used a DAG instead ... I am not happy about it :P
18:05:59 <frosch123> like lisp?
18:06:08 <TrueBrain> I do not know lisp
18:06:13 <frosch123> me neither :p
18:06:29 <frosch123> but i guess they have some tertiary-thingie
18:06:40 <TrueBrain> yeah
18:06:54 <TrueBrain> "stack-based language"
18:09:12 <TrueBrain> anyway, the only drawback is that for every type of economy, TrueGRF needs an update
18:09:22 <TrueBrain> but .. yeah ... you can't have it all :P
18:10:47 <frosch123> oh... i missed the "backend" part... i thought you would let the user enter the RPN
18:10:55 <TrueBrain> they could
18:10:58 <TrueBrain> as "advanced" option
18:11:00 <TrueBrain> for sure
18:11:13 <TrueBrain> but some boilerplating for the common case won't hurt
18:12:28 <TrueBrain> I wonder if I could pull off a Javascript -> GRF ..... :P
18:12:38 *** gelignite has joined #openttd
18:12:53 <andythenorth> TrueBrain sometimes the * 8 is just to deal with integer maths
18:13:09 <andythenorth> not sure how much of that is left but eh
18:13:45 <TrueBrain> andythenorth: question you might not know the answer to: https://github.com/andythenorth/firs/blob/master/src/templates/produce_primary.pynml talks about incoming cargo
18:13:52 <TrueBrain> but .. it is a primary industry?
18:14:14 *** Compu has joined #openttd
18:14:55 *** Compu has quit IRC ()
18:17:01 <frosch123> primary industries take supplies
18:17:06 <frosch123> in FIRS
18:17:16 <TrueBrain> so primary but not really :D
18:17:22 <glx> like boost cargo
18:17:25 <frosch123> they also produce without supplies :)
18:17:28 <frosch123> just les
18:17:39 <TrueBrain> ah, boosts
18:18:20 <frosch123> i think it was YETI... industries produce nothing on their own, you first have to deliver workers
18:19:19 <TrueBrain> okay ... so "primary" is taken with a bit of salt there
18:19:22 <TrueBrain> not complaining
18:19:34 <TrueBrain> just confirming my current method of doing this will fail horribly
18:19:36 <glx> primary in FIRS chains
18:19:39 <TrueBrain> and my new idea indeed would fix it :)
18:19:48 <frosch123> "primary"/"secondary" is still important for player-funding
18:20:14 <glx> but yeah secondary industries never produce without input
18:20:20 <frosch123> secondary are always built at player-choosen position
18:20:44 <frosch123> primary are different depending on setting, and possibly way more expensive (different base cost)
18:21:02 <glx> prospecting being the most annoying one :)
18:21:10 <glx> expensive and may fail
18:21:23 <TrueBrain> does the game differ between secondary and tertiary?
18:22:20 <frosch123> with default-production changes, tertiary industries never close down
18:22:35 <frosch123> or something weird
18:22:54 <TrueBrain> yeah, okay
18:23:00 <glx> https://newgrf-specs.tt-wiki.net/wiki/Action0/Industries#Industry_production_type_.280B.29
18:23:01 <frosch123> but if you do production with newgrf, then secondary/tertiary is the same
18:23:01 <TrueBrain> I just leave it in there, it is fine
18:24:56 <TrueBrain> in what scenarios do you think branching in RPN is important btw frosch123 ?
18:25:22 <TrueBrain> aren't they all solvable by multiplying by 1 / 0?
18:25:46 <frosch123> probably :)
18:26:09 <glx> nml does just that for most ternary operations
18:26:12 *** Wormnest has joined #openttd
18:26:24 <frosch123> i was thinking of "if inputs A and B are available, produce C. if only A is available, produce D. if only B is available, produce E"
18:26:44 <TrueBrain> C, D, and E the same cargo, but different amounts?
18:26:48 <TrueBrain> or completely different cargoes?
18:26:57 <frosch123> which may be hard to express in your RPN, if you include operations with side-effects, like "consume input cargo"
18:27:26 <frosch123> TrueBrain: former, but maybe both :p
18:27:35 *** jottyfan has quit IRC (Quit: jottyfan)
18:29:27 <TrueBrain> I kinda wanted to get ride of the DAG, which does allow branching etc etc
18:29:38 <TrueBrain> visual languages are really nice, especially for non-coders
18:29:44 <TrueBrain> but they are a bitch in JSON format :P
18:31:13 <frosch123> so labview... :p
18:31:58 <TrueBrain> seems Flight Simulator (the latest) uses RPN :P
18:32:11 <TrueBrain> someone wrote a tool to write a slightly higher language that converts to RPN :P
18:32:38 <Rubidium> frosch123: no, rather code in G ;)
18:32:50 <TrueBrain> l0 0 > if{
18:32:52 <TrueBrain> l0 0 - 100 25 - * 100 0 - / 25 +
18:32:56 <TrueBrain> } els{
18:32:58 <TrueBrain> l0 -20 - 25 0 - * 100 -20 - / 0 +
18:33:01 <TrueBrain> } (>L:MY_THROTTLE)
18:33:09 <TrueBrain> I love the "els" there
18:33:19 <TrueBrain> like: fuck it, I wrote 3 characters, not going to do the 4th!
18:33:20 <frosch123> oh, so that was not your typo?
18:34:07 <frosch123> Rubidium: i haven't used labview in 15 years... back then it was incompatible with every release, so it was impossible to share code with others
18:34:57 <TrueBrain> https://www.prepar3d.com/SDKv5/sdk/scripting/rpn_scripting.html
18:35:00 <frosch123> someone wrote something in labview3, you had to upgrade it with labview5 before you could use it in labview6
18:35:10 <frosch123> even though nothing really changed in the language
18:35:46 <Rubidium> well, LabVIEW is still crap for cooperation in a project with multiple people... though not that crap
18:37:02 <Rubidium> though upgrading through a few versions is not that bad anymore
18:42:21 <TrueBrain> (LOAD_PERM(${get_perm_num("total_produced_cargo_available")}) / 8) >= 1 <- why not just >= 8, I wonder ..
18:43:31 <TrueBrain> hard to understand what FIRS actually does .. but that is mostly because NML is just weird to read
18:48:56 <TrueBrain> wow, 256 persistent registers? That is more than I expected ..
18:50:29 <TrueBrain> lol @ persistent storage accesses by GRFID ..
18:50:30 <TrueBrain> someone had an idea there
18:50:37 <frosch123> people wanted to track 16 input cargos over 16 months or something...
18:50:40 <TrueBrain> pretty sure it never actually became something? :)
18:51:02 <frosch123> andy is using the town-registers only now
18:51:22 <frosch123> i think they were implemented in 2011, and in 2019 people reported them not working in nml or so :p
18:51:52 <TrueBrain> so basically, if I just always write 0xffffffff in var100, it is just a global register
18:51:56 <TrueBrain> too bad it is only for towns :P
18:52:38 <glx> 0x100 is write only
18:53:37 <TrueBrain> not sure how that matters glx :P
18:54:15 <frosch123> newgrf is like an old CISC cpu :) 8051 has all kind of registers and output-ports which interact in weird ways
18:55:01 <TrueBrain> having global registers for industries could be interesting .. well, I guess it can, via towns?
18:55:13 <andythenorth> only via the town though
18:55:15 <andythenorth> no global
18:55:21 * andythenorth has newsletter
18:55:23 <andythenorth> :(
18:55:27 <andythenorth> but apparently GS is for that
18:56:38 <glx> industries can share data via towns, but synchronisation may be hard
18:56:56 <andythenorth> it's really quite hard
18:57:30 <TrueBrain> right, I regret mentioning any of this
18:57:43 * andythenorth doesn't
18:57:51 <andythenorth> it's one of the last interesting areas of the game to explore
18:58:15 <glx> debugging that is even harder
18:58:23 <andythenorth> it really is
18:58:40 <andythenorth> it took me a couple of days just to get a reliable monthly loop
18:58:54 <andythenorth> although I think 15 bit callback results were the actual confusion there :P
18:59:29 <glx> 15bit signed values, always fun :)
19:00:54 <andythenorth> can't remember what it was I wanted
19:01:01 <andythenorth> maybe it was a monthly town loop
19:01:37 <frosch123> you wanted access to town GUI, to show spreadsheets
19:08:06 <andythenorth> oh yeah
19:08:15 <andythenorth> I do that with an industry instead
19:08:25 <andythenorth> and I'm adding a GS to build the industry in every town
19:08:38 <andythenorth> then I need to merge nocargoal and silicon valley into my GS
19:09:02 <andythenorth> this will be interesting
19:14:36 * andythenorth wonders if a GS can wrap a GS
19:14:58 <andythenorth> it has some kind of import / module thing?
19:15:14 <andythenorth> maybe I can call out from main loop to the main loop of an existing GS
19:15:19 <frosch123> no threads afaik, so you have to solve the two-event-loops problem
19:15:38 <andythenorth> I'm so out of my depth :)
19:15:52 <andythenorth> but I was wondering if I could delegate the event loop
19:15:57 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 approved pull request #9767: Fix #9766: Don't write uninitialised data in config file https://git.io/JSDsS
19:16:07 <andythenorth> possibly by editing the wrapped GS :P
19:16:15 <frosch123> though i guess you can monkey-patch the event api and do context switches there
19:16:41 <andythenorth> I was wondering more if I could rewrite event loop handler in wrapped GS and call it as a function :P
19:16:55 <andythenorth> I don't know what vars are in scope...or anything really
19:17:02 <andythenorth> let's assume mass ignorance on my part
19:26:06 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #9761: Change: add a timestamp in name of crash files https://git.io/JSDGc
19:34:48 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #9772: Fix missing icon https://git.io/JSDGV
20:02:35 <DorpsGek> [OpenTTD/OpenTTD] JGRennison commented on pull request #9761: Change: add a timestamp in name of crash files https://git.io/JSDnk
20:37:33 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
20:38:49 *** Smedles has joined #openttd
21:12:10 <DorpsGek> [OpenTTD/OpenTTD] glx22 merged pull request #9767: Fix #9766: Don't write uninitialised data in config file https://git.io/JyLmD
21:12:13 <DorpsGek> [OpenTTD/OpenTTD] glx22 closed issue #9766: [Bug]: SDTG_MMANY/ManyOfMany settings may write unintiailised bytes into the config file when no bits are set https://git.io/JyLkB
21:25:53 <andythenorth> hmm
21:25:58 <andythenorth> WASM BBC Micro games
21:26:44 <NGC3982> https://pbs.twimg.com/media/FIRneKhXIAYuHHs?format=jpg&name=large
21:43:55 *** gelignite has quit IRC (Quit: Stay safe!)
21:56:39 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
22:20:16 *** Gustavo6046 has joined #openttd
22:21:23 <Gustavo6046> So I have this two lane, two way railway track, and each lane has one way path signals.
22:21:33 <Gustavo6046> And a city right next to it
22:21:57 <Gustavo6046> So with a little rail roundabout I built a station and depot
22:22:11 <Gustavo6046> How do I connect with the railway? Fancy bridges?
22:24:30 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:26:55 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
22:29:28 *** WormnestAndroid has joined #openttd
22:44:26 *** _aD has joined #openttd
22:52:02 *** WormnestAndroid has quit IRC (Remote host closed the connection)
22:52:15 *** WormnestAndroid has joined #openttd
22:53:51 *** sla_ro|master has quit IRC ()
22:57:09 *** jottyfan has joined #openttd
22:57:13 *** jottyfan has quit IRC ()
23:02:43 *** Wormnest has joined #openttd
23:13:28 *** andythenorth has quit IRC (Quit: andythenorth)
23:19:27 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:24:50 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
23:25:55 *** WormnestAndroid has joined #openttd
23:35:35 *** nielsm has quit IRC (Ping timeout: 480 seconds)
23:48:32 <supermop_Home_> do CEO ties get CC recolor?
23:51:20 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)