--- | Log | opened 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] |
--- | Log | closed Wed Jan 05 00:00:15 2022 |