--- | Log | opened Sat Jan 15 00:00:30 2022 |
01:49 | -!- | Gustavo6046 [~Gustavo60@2804:14d:4cd8:96b6:f57:b290:e69a:6832] has joined #openttd |
01:49 | -!- | Gustavo6046 is "realname" on #llvm #openttd |
02:28 | -!- | nielsm [~nielsm@188-181-82-243-cable.dk.customer.tdc.net] has joined #openttd |
02:28 | -!- | nielsm is "Niels Martin Hansen" on #openttd |
03:45 | -!- | WormnestAndroid [~WormnestA@35.136.189.95] has quit [Remote host closed the connection] |
04:04 | -!- | andythenorth [~andytheno@cpc87165-aztw31-2-0-cust40.18-1.cable.virginm.net] has joined #openttd |
04:04 | -!- | andythenorth is "andythenorth" on #openttd |
04:23 | -!- | Gustavo6046 [~Gustavo60@2804:14d:4cd8:96b6:f57:b290:e69a:6832] has quit [] |
04:36 | <TrueBrain> | meh; there is no varaction2 opcode to skip the next opcode or something? |
04:37 | <TrueBrain> | for if-statements I really have to make a switch, and a lot more sets? :( |
04:52 | <_dp_> | nml does some math for ifs, not sure if it's better than switch though |
05:10 | -!- | jottyfan [~Thunderbi@dynamic-078-055-053-247.78.55.pool.telefonica.de] has joined #openttd |
05:10 | -!- | jottyfan is "jottyfan" on #openttd |
05:16 | <andythenorth> | multiplayer ! |
05:16 | <andythenorth> | pikka's server |
05:17 | <@peter1138> | multipikka |
05:34 | <TrueBrain> | lol @ newgrf specs .. so every time varaction2advanced is: signed / unsigned .. except for the last one |
05:34 | <TrueBrain> | there it is unsigned / signed |
05:34 | <TrueBrain> | because sanity is overrated :D :D :D |
05:34 | <TrueBrain> | happy I caught that in time |
05:40 | <Eddi|zuHause> | mathematically, "if (a) then b else c" can be translated into a*b+(not a)*c. but you lose the short evaluation. and the boolean value of a has to be normalized into 0/1 instead of 0/not 0 |
05:40 | <TrueBrain> | I did consider it :P |
05:40 | <TrueBrain> | but the fact you evaluate both branches ..... would give weird results :D |
05:42 | <Eddi|zuHause> | well, then translating it into a switch is the only option |
05:42 | <TrueBrain> | but that wasn't my question ;) |
05:42 | <TrueBrain> | I was hoping there was an opcode to skip varaction2advanced entries :D |
05:43 | <Eddi|zuHause> | there was never a need for that, because a switch already does that :) |
05:43 | <TrueBrain> | it sure does; but many of those switch cases don't need to branch, and a lot of administration around them :) |
05:46 | <Eddi|zuHause> | that's only weird because you view it from an angle nobody else did before :) |
05:46 | <TrueBrain> | doesn't make it weird ;) |
05:46 | <TrueBrain> | NML had the same issue btw :P |
05:46 | <TrueBrain> | but .. I am just asking the questions. NewGRF has some funky things |
05:46 | <TrueBrain> | so sometimes where I think: this surely isn't possible, someone comes and says: yeah, you can do that like this |
05:47 | <Eddi|zuHause> | i don't remember NML having an if operator |
05:47 | <Eddi|zuHause> | at least i never tried using one |
05:47 | <Eddi|zuHause> | there's an if block, but that's action 7/9 |
05:49 | <TrueBrain> | w00p, constant comparisons work :D (so "10 11 1 2 <" resolves into 10) |
05:51 | <Eddi|zuHause> | that syntax creeps me out... |
05:51 | <TrueBrain> | poor you :) |
05:51 | <Eddi|zuHause> | how is anyone supposed to work out which operand goes in which position, if you're not using that daily? |
05:52 | <TrueBrain> | learning something new, yeah, I know, sounds horrible :P |
05:52 | <Eddi|zuHause> | that's not the point |
05:54 | <Eddi|zuHause> | i mean from a "try to understand what you wrote 5 years ago" perspective, this is barely any better than brainfuck |
06:01 | <TrueBrain> | feels a bit like you worry that minified Javascript is not maintainable :P |
06:05 | <LordAro> | or indeed machine code |
06:05 | <LordAro> | or wait, that's not nfo |
06:05 | <LordAro> | that's your rpn thing |
06:05 | <TrueBrain> | :D |
06:05 | <TrueBrain> | tomato tomato |
06:27 | <TrueBrain> | wow, my brain hurts from attempting to create switches out of if-statements :P |
07:17 | -!- | WormnestAndroid [~WormnestA@35.136.189.95] has joined #openttd |
07:17 | -!- | WormnestAndroid is "WormnestAndroid" on #openttd |
07:25 | -!- | Kitrana1 [~yoshi@45.130.86.7] has joined #openttd |
07:25 | -!- | Kitrana1 is "purple" on #openttd |
07:31 | -!- | Kitrana [~yoshi@d24-146-38-9.commercial.cgocable.net] has quit [Ping timeout: 480 seconds] |
07:50 | <@peter1138> | varactions, because creating your own bytecode when hacking into x86 assembly is the best |
07:51 | -!- | frosch123 [~frosch@00013ce7.user.oftc.net] has joined #openttd |
07:51 | -!- | frosch123 is "frosch" on #openttd |
08:08 | <frosch123> | that dosgameclub guy put some effort into creating explain-ottd-code videos... quite some unusual format |
08:08 | <TrueBrain> | peter1138: haha :D Nicely worded ;) |
08:11 | <andythenorth> | hmm |
08:11 | <andythenorth> | multiple GS in one map |
08:12 | * | andythenorth wonders if all GS authors could be persuaded to write them as callable modules |
08:12 | <andythenorth> | then you just choose the modules you want in settings for FIRS GS |
08:14 | <Eddi|zuHause> | peter1138: are you suggesting injecting x86 code would have been the better option? :p |
08:29 | <TrueBrain> | I wonder if limiting if-in-if-in-if-.. depth to like 10 would be an issue :P |
08:33 | * | andythenorth explores GS cargo monitor |
08:33 | <andythenorth> | I want to run the same industry production calculation in both GS and grf |
08:33 | <andythenorth> | curious if they will diverge |
08:34 | <andythenorth> | so I need to trigger every 256 ticks |
08:35 | <_dp_> | probably not a good idea, GS isn't particularly consistent |
08:35 | <andythenorth> | hmm GS has no ticks concept |
08:35 | <andythenorth> | I'll have to do it on date |
08:35 | <andythenorth> | how many ticks per day? |
08:36 | <andythenorth> | 74? |
08:36 | <andythenorth> | @calc 256/74 |
08:36 | <@DorpsGek> | andythenorth: 3.4594594594594597 |
08:36 | <andythenorth> | meh that's not an integer |
08:40 | <TrueBrain> | right ... "store left value in register", "run compare body", "if 0 go to else-body / if 1 go to if-body", "run either if/else body", "load left value from register", "do operator with 'last computed result'" ... |
08:40 | <TrueBrain> | I cannot imagine anyone writing sane ifs in NML :P |
08:41 | <andythenorth> | stacked ternary |
08:42 | <TrueBrain> | either way, that is for an if in the right-hand-side ... now to figure out if I can do this on the left-hand-side too .. but that is more complex :P |
08:43 | <TrueBrain> | I think I need to solve this differently :) |
08:45 | <frosch123> | TrueBrain: imagine an open cargo wagon with different graphics for 60 cargo types |
08:45 | <frosch123> | that needs a long switch/if-cascade |
08:48 | <TrueBrain> | These setids are a pain in the ass :p |
08:49 | <andythenorth> | who would do that though frosch123? :P |
08:52 | <frosch123> | https://github.com/V453000/NUTS/blob/master/src-includes/rail_freight_wagons_1_graphics.nml#L1578 <- 71 cases :p |
08:52 | <frosch123> | it lacks support for the newest industry sets |
08:52 | <TrueBrain> | yeah, but switches can be solved :) If-in-if on different info is a bit harder ;) |
08:53 | <TrueBrain> | well, guess every if inside an if only needs 1 more setid .. so the limit would be ~200 |
08:53 | <frosch123> | andythenorth: another problem with supporting 256 cargos. vehicle va2 cannot switch on so many cargo types |
08:53 | <TrueBrain> | that should be fine :P |
08:54 | <andythenorth> | frosch123 sharding? :P |
08:55 | * | andythenorth oof lost in GS<->grf ideas again |
08:56 | <TrueBrain> | meh, using procedures is a bit better, but still a bit clunky ... "store left value in register", "call procedure", "restore left value from register", "use 1C to do math operation with" (for a right-hand-side if-statement) |
08:57 | <TrueBrain> | this 15bit result bla is bla :P |
08:57 | <TrueBrain> | but for a left-hand-side it becomes a lot easier in that case: "call procedure", "\2rst 1C", ... |
08:58 | <TrueBrain> | can a procedure switch to another chain btw? |
08:58 | <TrueBrain> | I assume it can :P |
08:59 | <TrueBrain> | as that would mean the procedure could have the compare-body, and based on the result switch to the if or else body, returning the value of the procedure |
09:02 | <frosch123> | yes, you can recurse into other switches at procedures as you like |
09:03 | <TrueBrain> | good :) |
09:04 | <TrueBrain> | so annoying that order of operations is important in life :P |
09:06 | <andythenorth> | so do we think GS can reliably walk all the towns on the map at month end? |
09:06 | * | andythenorth has no idea about GS performance |
09:06 | <TrueBrain> | GS is limited in amount of opcodes it can execute per tick |
09:07 | <TrueBrain> | so there is no (like: zero) guarantee about anything happening in any in-game amount of time |
09:07 | <andythenorth> | but if we allow some leeway about what 'month end' means |
09:07 | <TrueBrain> | depends both on user configuration and size of the thing you are iterating |
09:07 | <andythenorth> | this isn't strict 'real-time system' |
09:07 | <TrueBrain> | so say, 10000 towns has another performance than 10 towns |
09:07 | <TrueBrain> | and a user that sets opcodes to 10 has other performance than one that uses 10000 |
09:08 | <andythenorth> | I guess it's only verifiable empirically |
09:08 | <andythenorth> | well |
09:08 | <andythenorth> | yolo |
09:15 | <TrueBrain> | I have no clue how you want to do that if a user can change those values, but sure :P |
09:16 | <TrueBrain> | but "works for me" is a valid statement :D |
09:17 | <frosch123> | gs can change settings, so they can increase their opcode limit :p |
09:17 | <TrueBrain> | lol |
09:17 | <frosch123> | not sure whether the limit actually applies to GS, or only AI |
09:18 | <TrueBrain> | it is one of those settings that was more meant for: so we can tune it |
09:18 | <TrueBrain> | more than: anyone should be able to change it |
09:18 | <TrueBrain> | like pf-stuff :P |
09:19 | <frosch123> | pf-stuff is great, whenever someone complanis about pf not working like they want in their weird track layout, yuo can just sent them down the parameter rabbit hole |
09:23 | <TrueBrain> | right ... now to find a way for my code parts to talk to each other ... |
09:23 | <TrueBrain> | I didn't want things like "setid" in the RPN parser |
09:23 | <TrueBrain> | but ... yeah ... tricky to communicate internally :D |
09:25 | <TrueBrain> | but in fun news, except for if-bodies, a whole function is generated in a single chain :D |
09:34 | -!- | glx [~glx@000128ec.user.oftc.net] has joined #openttd |
09:34 | -!- | mode/#openttd [+v glx] by ChanServ |
09:34 | -!- | glx is "Loïc GUILLOUX" on +#openttd |
09:58 | <supermop_Home> | hello |
10:00 | <TrueBrain> | hi! |
10:07 | <supermop_Home> | hows it going |
10:08 | <TrueBrain> | slowly getting FIRS economy working in TrueGRF :P |
10:08 | <supermop_Home> | nice |
10:09 | <supermop_Home> | apparently i can just reuse the same template for replacing basically all of the house sprites, except the statue |
10:15 | -!- | roadt_ [~roadt@114.97.240.218] has quit [Remote host closed the connection] |
10:30 | <TrueBrain> | debugging NFO ... lovely .... I don't want to do this :P |
10:37 | <+glx> | it's not the easiest thing to debug |
10:38 | <TrueBrain> | I think my procedure call fails .. but how do I know .. hmm |
10:48 | <TrueBrain> | owh, lol, wrongly reusing of setids .. lovely :D |
10:52 | <supermop_Home> | 4000 should be enough to cover even a very large map, but maybe not a 4096x4096... https://uhpress.hawaii.edu/title/place-names-of-hawaii-revised-and-expanded-edition/ |
10:53 | <supermop_Home> | i guess i'll need to learn enough orthographic rules to write some kind of generator |
10:56 | <TrueBrain> | IT ACTUALLY WORKS! \o/ :D |
10:56 | <TrueBrain> | I have function if-statements in RPN now :) |
10:57 | <TrueBrain> | functional |
10:57 | <supermop_Home> | yay |
10:57 | <TrueBrain> | now .... to not use the stupid 15bit result, but rather the 32bit ... means inserting some more operators :D |
11:04 | <TrueBrain> | @calc 2 ** 18 |
11:04 | <@DorpsGek> | TrueBrain: 262144 |
11:05 | <TrueBrain> | now that works fine too :) w00p |
11:06 | <TrueBrain> | if-in-if works too :) With the lowest amount of setids used :) |
11:08 | <TrueBrain> | now to support functions in the cases .. lets see if that is possible :D |
11:09 | <TrueBrain> | "just works" |
11:09 | <TrueBrain> | hihi :) |
11:10 | <TrueBrain> | that means the example from Lumberjack Industries can now be done .. :D :) :D |
11:10 | <TrueBrain> | right .. next pickle ... variables .. but that is for another day :) |
11:13 | <TrueBrain> | https://github.com/TrueBrain/TrueGRF/compare/dev?expand=1 <- 714 lines of code to parse the RPN and counting :) |
11:13 | -!- | Wormnest [~Wormnest@35.136.189.95] has joined #openttd |
11:13 | -!- | Wormnest is "Wormnest" on #openttd |
11:14 | <andythenorth> | \o/ |
11:15 | <TrueBrain> | I really like it only jumps to another setid if it really has to (read: branching) .. otherwise it just creates 1 single (very low) action2 chain :D |
11:15 | <TrueBrain> | it uses temporary registers to glue stuff together if it needs to :P |
11:16 | <TrueBrain> | very low = very long |
11:16 | <TrueBrain> | I need dinner |
11:16 | <frosch123> | when you can replicate firs, you can compare how many setids and registers you need with how many nml needs :p |
11:16 | <TrueBrain> | ha! That is a nice idea :) |
11:18 | <TrueBrain> | in general, might be good to compare the NML result of FIRS with my result .. just to see if nothing extremely weird happened :P |
11:21 | <TrueBrain> | but yeah, you can make 254 if-in-if statements before things go wrong .. should be fine, not? :) |
11:22 | <TrueBrain> | hmm, no, infinite if-in-if |
11:22 | <frosch123> | https://github.com/OpenTTD/OpenGFX/runs/4754568847?check_suite_focus=true#step:7:194 <- nml prints some statistics |
11:23 | <frosch123> | i do not have them for firs at the moment :) |
11:23 | <TrueBrain> | the problem happens with if-else-in-if-else-in-if-else ... |
11:23 | <TrueBrain> | NML only supports up to 127 action2 chains? |
11:24 | <frosch123> | you mean registers? |
11:24 | <TrueBrain> | yeah |
11:24 | <TrueBrain> | sorry, typing hard |
11:24 | <frosch123> | 00-7F are for the user LOAD/STORE_TEMP |
11:24 | <frosch123> | 80-FF are used by nml expressions |
11:24 | <TrueBrain> | ah, it claimed a set, gotcha |
11:24 | <TrueBrain> | TrueGRF just needs a few for stack |
11:25 | <TrueBrain> | I don't realistic every expect that to exceed 10 :P |
11:25 | <frosch123> | so i guess firs-nml cheats by storing some values in user-allocated register |
11:25 | <frosch123> | but at the same time nml cannot optimise whatever the user entered there :p |
11:26 | <TrueBrain> | (in case of "1 var 1 + +", the right-hand-side is complex, and is generated as "var", "+1", "store-in-register", "1", "+register") |
11:26 | <TrueBrain> | so if people go insane in a single statement with these kind of complex rhs structures .. I need a bit of registers for that :D |
11:27 | <TrueBrain> | nor sure how NML does that, but claiming 128 seems excessive :P |
11:27 | <frosch123> | nml cannot reorder switches |
11:28 | <frosch123> | so it suffers |
11:28 | <frosch123> | with whatever the user does |
11:28 | <TrueBrain> | poor NML :P |
11:28 | <frosch123> | if user defines 100 spritesets at the start of the file, and uses them at the end of the file, that occupies 100 ids throughout the file |
11:29 | <TrueBrain> | TrueGRF does not have that issue :P I control when actual content is generated :) |
11:29 | <frosch123> | yes, truegrf is more high-level in that regard :) |
11:30 | <TrueBrain> | https://github.com/TrueBrain/TrueGRF/blob/dev/truegrf-rs/src/grf/mod.rs#L178 <- the only place so far I waste a setid because I am too lazy to fix it properly |
11:30 | <frosch123> | that's why the nml statistics print the source location where the maximum was reached |
11:30 | <frosch123> | hoping the user identfies what they did bad |
11:30 | <TrueBrain> | that is really smart, printing where it came from :) |
11:30 | <frosch123> | with pynml it's really useless though :p |
11:31 | <TrueBrain> | and poo, reading back that comment I just linked .. I need to reword that :D |
11:31 | <frosch123> | issue at line 156284 of generated nml :p |
11:31 | <TrueBrain> | haha :D |
11:31 | <TrueBrain> | NML gives absolute freedom, and as such the user has to resolve a lot of things |
11:31 | <TrueBrain> | that is the result of that choice, I guess :) |
11:31 | <TrueBrain> | TrueGRF limits the user a lot, and as such, can do a lot of things for the human :) |
11:32 | <@DorpsGek> | [OpenTTD/nml] glx22 opened pull request #247: Add: Translate ternary operator into varact2 if needed https://github.com/OpenTTD/nml/pull/247 |
11:33 | <frosch123> | haha, sounds like the opposite of what truegrf does :p |
11:34 | <TrueBrain> | we will see :) |
11:35 | <TrueBrain> | yeah, had to double-check, but if you do 255 "if () {} else { if () { } else { if () { } else { ...", it breaks |
11:35 | <TrueBrain> | but I am pretty sure sanity has been lost long before that :P |
11:35 | <TrueBrain> | "if () { if () { if () { if () { ..." has no limit |
11:36 | <TrueBrain> | maybe I should revert them, as it is more likely people cascade if-else, I guess (as you pointed out earlier) |
11:37 | <TrueBrain> | owh, no, I am wrong ... I already flipped them. So yeah, flip the examples, and that is what is going on |
11:37 | <TrueBrain> | I am fine with that :P |
11:38 | <TrueBrain> | https://github.com/TrueBrain/TrueGRF/blob/a371da458bb0bc72f393d8ef57bf4fd88da47e50/truegrf-rs/src/grf/actions/action2/rpn.rs#L465 <- I might have copied that from NML :P Really didn't want to do my own math :D |
11:39 | <+glx> | oh yes the crazy NFO compare |
11:39 | <TrueBrain> | as I do not allow compares to be used for getting 0 / 1 back, I might also move things to the switch statement, now I come to think of it |
11:50 | -!- | sla_ro|master [~sla.ro@93.118.46.75] has joined #openttd |
11:50 | -!- | sla_ro|master is "slamaster" on @#sla #openttd |
12:11 | -!- | Flygon [~Flygon@2001:44b8:411e:4e00:a5ae:f9b2:ec78:5202] has quit [Quit: A toaster's basically a soldering iron designed to toast bread] |
13:13 | -!- | Wormnest [~Wormnest@35.136.189.95] has quit [Ping timeout: 480 seconds] |
13:16 | -!- | WormnestAndroid [~WormnestA@35.136.189.95] has quit [Ping timeout: 480 seconds] |
13:38 | -!- | Wormnest [~Wormnest@35.136.189.95] has joined #openttd |
13:38 | -!- | Wormnest is "Wormnest" on #openttd |
13:49 | <@DorpsGek> | [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/15c919156865e82bae8ca3568a97e48ffae71a17 |
13:49 | <@DorpsGek> | - Update: Translations from eints (by translators) |
14:04 | -!- | WormnestAndroid [~WormnestA@172.56.26.20] has joined #openttd |
14:04 | -!- | WormnestAndroid is "WormnestAndroid" on #openttd |
14:08 | <andythenorth> | hmm |
14:08 | <andythenorth> | if towns had a regional capital |
14:08 | <andythenorth> | electricity would be less silly |
14:38 | -!- | jottyfan [~Thunderbi@dynamic-078-055-053-247.78.55.pool.telefonica.de] has quit [Quit: jottyfan] |
14:49 | <wiscii> | latest firefox update 96.0 forces google search |
14:49 | <wiscii> | because firefox really care about your privacy ...... |
14:50 | <wiscii> | just as google shut down free access to their app portal |
14:53 | <wiscii> | i know about the "Trans Siberian Railway" but isn't there a Chinese route as well ? |
14:54 | <wiscii> | China to Europe ? |
14:54 | <wiscii> | ah, Sino-Euro .. |
14:55 | -!- | Gustavo6046 [~Gustavo60@2804:14d:4cd8:96b6:f57:b290:e69a:6832] has joined #openttd |
14:55 | -!- | Gustavo6046 is "realname" on #llvm #openttd |
14:57 | <wiscii> | ah-so , the end-to-end Sino-Euro trip is around 15~18 days, ~35 days there and back - Around 10 trips per year |
14:58 | <wiscii> | My most profitable goods line makes 1million per delivery and makes 4 deliveries per year |
15:14 | <@DorpsGek> | [OpenTTD/OpenTTD] nchappe updated pull request #9760: Feature: [Linkgraph] Show a tooltip with statistics when hovering a link https://github.com/OpenTTD/OpenTTD/pull/9760 |
15:17 | <TrueBrain> | frosch123: are there things that would break if I make all variables signed? :P |
15:18 | <TrueBrain> | tracking signed/unsigned is such a nag |
15:21 | <frosch123> | not sure, signedness is so weird when multiple fields are bitstuffed into one 32bit or 15bit thing |
15:22 | <frosch123> | so when you extract 3 bits from some larger variable, you certainly do not want to sign-extend those |
15:23 | <TrueBrain> | I went the NML route, and TrueGRF doesn't show the bitstuffed fields itself |
15:23 | <TrueBrain> | for example, it says "x" and "y", which are in a single variable |
15:23 | <TrueBrain> | so I kinda take that away, I think .. |
15:23 | <TrueBrain> | unless there are callback return values which need them stuffed again |
15:23 | <frosch123> | nml does that for variables, but not for cb results |
15:23 | <frosch123> | there are plenty of cb results with "stringid | flag1 | flag2" |
15:24 | <frosch123> | where stringid is some 12bit value |
15:24 | <frosch123> | (yeah, 12 :p) |
15:24 | <TrueBrain> | I already did "result:inputs[]", to not bother users with this stuff .. guess I might as well for those callback results |
15:24 | <TrueBrain> | so given that, what else breaks if it is signed only .. |
15:25 | <TrueBrain> | hard to see :D |
15:25 | <frosch123> | most individual things do not exceed 31 bits, though there are "32 random bits" thingies sometimes |
15:26 | <frosch123> | but then you usually also pick some of them, instead of all |
15:26 | <TrueBrain> | it would simplify it a lot if just everything is signed, and kinda works how you expect |
15:26 | <TrueBrain> | maybe I should just try it signed first, and see if we run into something |
15:26 | <TrueBrain> | can always add a "unsigned" keyword :P |
15:35 | <+glx> | ok I wasn't expecting nml#247 CI to fail this way |
15:36 | <TrueBrain> | how did it fail? |
15:36 | <TrueBrain> | it now sounds like it did boom :P |
15:37 | <+glx> | python 3.5 and 3.6 not available on macos |
15:37 | <TrueBrain> | lolz |
15:37 | <TrueBrain> | I wouldn't have seen that coming either :D |
15:41 | <+glx> | https://github.com/actions/virtual-environments/issues/4744 <-- oh I should take care of this one too |
15:42 | <+glx> | https://github.com/actions/virtual-environments/issues/4060 <-- I guess this one just hit me actually |
15:43 | <+glx> | workflow ran macos-11 indeed |
15:43 | <+glx> | and this image just doesn't have 3.5 nor 3.6 |
15:57 | <TrueBrain> | guess it is time to burn 3.5 with fire :P |
16:00 | <@DorpsGek> | [OpenTTD/nml] glx22 opened pull request #248: Update: [Actions] python versions for regression test https://github.com/OpenTTD/nml/pull/248 |
16:01 | <+glx> | I need to try to remember why nml workflows are forced to windows-2016, because this image will disappear in march |
16:06 | <wiscii> | github explicitly told everybody to use windows-latest |
16:06 | <+glx> | yes we know, that's why I need to remember why it's not the case |
16:07 | <@DorpsGek> | [OpenTTD/nml] glx22 updated pull request #248: Update: [Actions] python versions for regression test https://github.com/OpenTTD/nml/pull/248 |
16:16 | -!- | gelignite [~gelignite@55d476aa.access.ecotel.net] has joined #openttd |
16:16 | -!- | gelignite is "gelignite" on #llvm #openttd |
16:22 | <_dp_> | wow, first desync since 12.0 |
16:23 | <LordAro> | oh no |
16:26 | <Gustavo6046> | hm? |
16:26 | <Gustavo6046> | what happened? |
16:33 | <wiscii> | sounds like flying foo hit spinning bah! :) |
16:36 | <TrueBrain> | w00p, persistent registers work \o/ :D |
16:36 | <TrueBrain> | code needs a bit of a cleanup :D |
16:36 | -!- | _aD [~quadrant@0001362b.user.oftc.net] has joined #openttd |
16:36 | -!- | _aD is "Adam Piggott" on #openttd |
16:40 | <@DorpsGek> | [OpenTTD/nml] glx22 updated pull request #248: Update: [Actions] python versions for regression test https://github.com/OpenTTD/nml/pull/248 |
16:42 | <+glx> | hmm and there's a new error reported by codeQL |
16:43 | -!- | WormnestAndroid [~WormnestA@172.56.26.20] has quit [Ping timeout: 480 seconds] |
16:43 | -!- | WormnestAndroid [~WormnestA@35.136.189.95] has joined #openttd |
16:43 | -!- | WormnestAndroid is "WormnestAndroid" on #openttd |
16:50 | -!- | 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] |
16:52 | <+glx> | https://github.com/OpenTTD/nml/security/code-scanning/128?query=ref%3Arefs%2Fpull%2F248%2Fmerge+ref%3Arefs%2Fpull%2F248%2Fhead <-- regex are fun, but I hate this one |
16:57 | <Gustavo6046> | what the heck is that regex |
16:57 | <Gustavo6046> | oh |
16:58 | <+glx> | https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html <-- it should match that |
16:58 | <Gustavo6046> | exponential backtracking... really? I don't see any lookbehinds |
16:59 | <+glx> | not explicitely, but python engine seems to do it |
17:01 | <Gustavo6046> | :/ |
17:01 | <Gustavo6046> | I mean, the Python re engine is dumb |
17:12 | -!- | Wormnest [~Wormnest@35.136.189.95] has quit [Ping timeout: 480 seconds] |
17:17 | -!- | WormnestAndroid [~WormnestA@35.136.189.95] has quit [Ping timeout: 480 seconds] |
17:18 | -!- | WormnestAndroid [~WormnestA@172.56.27.36] has joined #openttd |
17:18 | -!- | WormnestAndroid is "WormnestAndroid" on #openttd |
17:18 | -!- | andythenorth_ [~andytheno@cpc87165-aztw31-2-0-cust40.18-1.cable.virginm.net] has joined #openttd |
17:18 | -!- | andythenorth_ is "andythenorth" on #openttd |
17:20 | -!- | andythenorth [~andytheno@cpc87165-aztw31-2-0-cust40.18-1.cable.virginm.net] has quit [Ping timeout: 480 seconds] |
17:20 | <_dp_> | is there a way to know what's the latest netsave.sav now? |
17:21 | <_dp_> | want to ask player to send it but there are multiple now |
17:26 | -!- | geli [~gelignite@55d476aa.access.ecotel.net] has joined #openttd |
17:26 | -!- | geli is "gelignite" on #llvm #openttd |
17:26 | -!- | geli [~gelignite@55d476aa.access.ecotel.net] has quit [Remote host closed the connection] |
17:33 | <+glx> | file date probably |
17:36 | <_dp_> | I'm just gonna give up, he's not responding anymore |
17:37 | <_dp_> | judging by how slow and awful he plays I blame android :p |
17:40 | -!- | Wormnest [~Wormnest@35.136.189.95] has joined #openttd |
17:40 | -!- | Wormnest is "Wormnest" on #openttd |
17:40 | <wiscii> | it's saturday night and your client is on android, probably has a girlfriend too xP |
18:04 | -!- | andythenorth_ [~andytheno@cpc87165-aztw31-2-0-cust40.18-1.cable.virginm.net] has quit [Quit: andythenorth_] |
18:20 | -!- | LouWestin_ is now known as LouWestin |
18:37 | -!- | gelignite [~gelignite@55d476aa.access.ecotel.net] has quit [Quit: Stay safe!] |
19:09 | -!- | nielsm [~nielsm@188-181-82-243-cable.dk.customer.tdc.net] has quit [Ping timeout: 480 seconds] |
19:24 | -!- | sla_ro|master [~sla.ro@93.118.46.75] has quit [] |
20:18 | <Gustavo6046> | still waiting for openttd: socialism edition |
20:18 | <Gustavo6046> | :p |
20:31 | <wiscii> | with labor laws |
20:34 | <Gustavo6046> | and industries that get faster and can expand if you supply them with more passengers |
20:34 | <Gustavo6046> | what if the presence of industries and the local movement of goods influences what other industries can randomly prop up in an area? |
20:34 | <Gustavo6046> | so if there's a fishing spot, and food is moved around nearby (demand), it's possible for ports (that convert fish into food) to appear |
20:36 | <wiscii> | question, do you then use a very flat setting because you want to build an efficient infra-structure ? |
20:38 | <wiscii> | there is the other point, that this is a computer game |
20:39 | <wiscii> | computer games, generally, do not co-operate, deliberately .. ;-) |
20:40 | <wiscii> | i was wondering if sports stadiums in towns could randomly generate excess passengers |
20:40 | <wiscii> | home game, type thing .. |
20:41 | <wiscii> | but the ottd passenger model does not seem to allow for such |
20:43 | <wiscii> | Gustavo6046: i have a save game that i can share which generally does away with your idea of localised industry effects |
20:43 | <Gustavo6046> | :o |
20:44 | <wiscii> | the idea of the game is to ship things long distances |
20:44 | <wiscii> | = profit |
20:44 | <wiscii> | do you want to see ? |
20:46 | <wiscii> | lots of imagination |
20:47 | <Gustavo6046> | hmm |
20:47 | <Gustavo6046> | okay |
20:48 | <wiscii> | sure, hold on |
20:52 | <wiscii> | sorry .. glitches |
20:53 | <wiscii> | there you go, i am listed as 'tct' on https://servers.openttd.org/listing |
20:53 | <wiscii> | i'll even give a guided tour ;-) |
20:54 | <wiscii> | the password is my username here |
20:59 | <wiscii> | i also have month one |
21:58 | -!- | _aD [~quadrant@0001362b.user.oftc.net] has quit [Quit: leaving] |
22:19 | -!- | glx [~glx@000128ec.user.oftc.net] has quit [] |
22:32 | <@DorpsGek> | [OpenTTD/OpenTTD] 2TallTyler opened pull request #9789: Feature: Technology progresses independently of game time https://github.com/OpenTTD/OpenTTD/pull/9789 |
22:47 | <supermop_Home> | whats the max pixel height of a sprite? |
22:47 | <reldred> | @supermop_Home fixed the electric RV switch |
22:47 | <reldred> | I tagged you in the release thread with a fresh nml |
22:48 | <supermop_Home> | i recall it being like 216-ish |
22:48 | <reldred> | max height seems to be a bit subjective though, when I re-coded Luxtram's skyscrapers I managed to fix most of the flickering. |
22:48 | <supermop_Home> | but maybe it's less? i really want just about 124-28 to get the mast on this: |
22:49 | <supermop_Home> | https://ssl.cdn-redfin.com/photo/169/mbphoto/326/genMid.202118326_0.jpg |
22:49 | <reldred> | but I think my trick only works for multi-tile buildings because I overlaid the building on top of itself so if one sprite is flickering the other isn't, etc. |
22:49 | <reldred> | Ooooh shiny |
22:49 | <supermop_Home> | (mine's only 1x1 and only 12 stories tall) |
22:49 | <reldred> | Yeah |
22:50 | <supermop_Home> | more of a chibi version |
22:50 | <supermop_Home> | to fit the scale of my other HNL buildings |
22:50 | <reldred> | god they're gorgeous 😍 |
22:50 | <supermop_Home> | and to replace the 70s arctic/tropic skyscraper |
22:52 | <supermop_Home> | that one is 117 tall |
22:52 | <supermop_Home> | mirror glass is hard to draw with the palette while keeping Foster-ish style |
22:53 | <reldred> | Yup. I think that's what prompted fridaemon to bust out of the palette with his |
22:54 | <supermop_Home> | generally I've just been not drawing much mirror glass anyway. more in keeping with my Miesian/brutalist/metabolist nature anyway |
22:54 | <reldred> | Oh yeah btw supermop_Home, it was these two that have their purchase window graphics smooshed up: https://usercontent.irccloud-cdn.com/file/b9M6murh/image.png |
22:55 | <supermop_Home> | but with current 80s/90s postmodernist nostalgia/revisionism, and the fact that the base set has a bunch of 70s-90s towers, i kind of have to glaze at least a few of these |
22:56 | <supermop_Home> | reldred huh it doesn't look smooshed for me in game? |
22:56 | <reldred> | yeah in game its fine |
22:56 | <reldred> | it's just the purchase window for me |
22:56 | <supermop_Home> | what year is that |
22:56 | <reldred> | 1900 |
22:57 | <supermop_Home> | the passenger compartment of the old buses is composited on, so that it can change with era |
22:57 | <supermop_Home> | so maybe its just one era that's misaligned |
22:58 | <reldred> | mebbe, |
22:58 | <reldred> | I'm just happy I fixed the parameter issue |
22:58 | <supermop_Home> | i wanted to do this for the 70s tower, but its just a tad of a stretch for 1974: https://thebrattonteam.com/wp-content/uploads/2014/01/9055628393_e3a1a8ffa6_o.jpg |
22:59 | <reldred> | I actually LOVE your electrics and the hybrids, I just hate the current UI for OpenTTD road menu, etc. becoming a jumbled mess that scrolls off the screen 😿 |
22:59 | <supermop_Home> | just like with mirror glass, bronze tint glass cant really be shown in the palette |
22:59 | <supermop_Home> | which is a big loss for 80s postmodern buildings |
23:00 | <supermop_Home> | how many road types are you using? |
23:00 | <supermop_Home> | i can't be bothered with more than about 6 |
23:00 | <reldred> | I'm using U&RATT2 which, well, yes. |
23:00 | <reldred> | there are road types |
23:01 | <reldred> | about a few |
23:02 | -!- | Flygon [~Flygon@2001:44b8:411e:4e00:dd2e:ebe:4322:6554] has joined #openttd |
23:02 | -!- | Flygon is "Flygon" on #openttd |
23:04 | <supermop_Home> | ok at least one building in the base set is 130 px |
23:04 | <supermop_Home> | so i feel safe at 128 |
23:18 | <supermop_Home> | i always wonder if its worth doing things like hiding little winks and nods in vehicle names |
23:29 | -!- | WormnestAndroid [~WormnestA@172.56.27.36] has quit [Ping timeout: 480 seconds] |
23:30 | -!- | WormnestAndroid [~WormnestA@35.136.189.95] has joined #openttd |
23:30 | -!- | WormnestAndroid is "WormnestAndroid" on #openttd |
23:33 | <Gustavo6046> | wiscii, oh |
23:33 | <Gustavo6046> | I thought you were going to upload a savefile |
23:33 | <Gustavo6046> | apologies |
23:35 | -!- | Wormnest [~Wormnest@35.136.189.95] has quit [Quit: Leaving] |
23:38 | -!- | supermop_Home [~user@pool-162-83-189-16.nycmny.fios.verizon.net] has quit [Ping timeout: 480 seconds] |
23:56 | <wiscii> | Gustavo6046: i'm not oiye via yet |
23:58 | <Gustavo6046> | not what? |
23:59 | <Gustavo6046> | anyway, now I can check the server |
23:59 | <Gustavo6046> | I couldn't earlier |
--- | Log | closed Sun Jan 16 00:00:31 2022 |