Back to Home / #openttd / 2022 / 01 / Prev Day | Next Day
#openttd IRC Logs for 2022-01-04

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