IRC logs for #openttd on OFTC at 2022-01-07
⏴ go to previous day
00:12:08 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
00:17:14 <Gustavo6046> what if spacing out timetables with ctrl-clicking Start Date doesn't work because you have to ctrl-click the "Set Date" button *after* it?
00:17:30 <Gustavo6046> Surely the c++ source would tell us more about it
00:18:42 <Gustavo6046> Also, is there no 2cc road vehicle newGRF with mail trucks?
00:18:55 <Gustavo6046> Just not sure what the best way to station them out is
00:24:16 <Gustavo6046> Augh, it doesn't work with my ships
00:54:57 <Gustavo6046> when to bus, and when to tram?
01:07:14 <Gustavo6046> so those three cities I want to link with a small railway... is it worth having a train for these? I'm also having a bit of a hard time picturing how I'm going to lay out the stations and the rails connecting the cities. There's not a lot of room for two-lane rails and fancy junctions... https://i.imgur.com/rs1uPts.png
01:07:27 <Gustavo6046> I mean, that is some of the fun part of OpenTTD, absolutely! Figuring out the layouts
01:33:06 <supermop_Home> what does hardware acceleration do?
01:34:04 <supermop_Home> definitely worth a train, but probably a simple line
01:44:52 <_aD> Gustavo6046: defo worth trains IMO. n.b. I am a raving train fan.
01:45:14 <Gustavo6046> right! but it's 2cc trains and they're expensive and the running costs are pretty big
01:45:19 <Gustavo6046> supermop_Home, so one train?
01:45:28 <_aD> aha. No harm in growing with buses first :-)
01:45:28 <Gustavo6046> also, hardware acceleration I think moves some of the rendering work to OpenGL and the GPU
01:45:40 <_aD> hardware acceleration replaces the software engines in the trains with CPUS.
01:45:46 <Gustavo6046> growing with buses? o.o
01:45:50 <Gustavo6046> that sounds inappropriate
02:18:11 <_aD> What train drivers wear to bed, when they need a rest from the trains.
02:36:01 *** Wormnest has quit IRC (Quit: Leaving)
03:44:11 *** _aD has quit IRC (Quit: leaving)
03:48:16 *** debdog has quit IRC (Ping timeout: 480 seconds)
03:55:32 *** Gustavo6046_ has joined #openttd
04:00:23 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)
04:05:43 *** D-HUND is now known as debdog
04:55:20 *** Gustavo6046_ has quit IRC (Ping timeout: 480 seconds)
05:24:04 *** Gustavo6046 has joined #openttd
06:09:52 *** Gustavo6046 has quit IRC ()
06:41:45 *** andythenorth has joined #openttd
07:17:53 *** andythenorth has quit IRC (Quit: andythenorth)
07:22:05 *** andythenorth has joined #openttd
07:26:08 *** andythenorth has quit IRC ()
07:36:01 *** sla_ro|master has joined #openttd
07:52:52 *** ChanServ sets mode: +v tokai
07:59:46 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
08:21:07 *** andythenorth has joined #openttd
08:26:33 *** andythenorth has quit IRC (Quit: andythenorth)
08:27:04 *** WormnestAndroid has quit IRC (Remote host closed the connection)
08:30:27 *** andythenorth has joined #openttd
11:44:59 *** WormnestAndroid has joined #openttd
13:03:20 <TrueBrain> w00p, a basic flow is working from RPN to NewGRF .. now to clean this stuff up and add functionality :P
13:05:31 *** WormnestAndroid has quit IRC (Remote host closed the connection)
13:07:18 <peter1138> Okay, brain is failing.
13:12:10 <peter1138> Trying to work out what percentage to add on a value to get a given margin. i.e. add 25% for a 20% margin
13:18:00 <TrueBrain> Read past end of pseudo-sprite
13:18:03 <TrueBrain> that also sounds like a fail :)
13:20:54 <glx> sounds like wrong sprite length
13:22:34 <TrueBrain> that is really unlikely, given that is all auto-calculated :)
13:22:42 <TrueBrain> I mostly get this error when I byte-encode the payload wrong
13:24:25 *** gelignite has joined #openttd
13:26:43 <TrueBrain> synthing advanced varaction2 is tricky, as it wants to know the last entry in the chain (the 0x20 flag) .. and fields are not of a prefixed length .. hmmmmmm
13:31:10 <TrueBrain> well, I don't ever use div or modulo, so I guess I can cheat my way in :)
13:44:19 <glx> yeah fields depend on flags
13:45:48 <TrueBrain> right, next issue ... NewGRF is nothing like an AST or an RPN .. how do a synth a complex rhs ... eeeuuuuuhhhhhhh
13:46:02 <TrueBrain> guess I need a temporary register for that
13:46:41 <glx> one or more temporary registers yes
13:47:41 <glx> mixed with operands reordering
13:48:36 <glx> like a + (b * c) is easier to write in nfo as (b * c) + a
13:49:51 <TrueBrain> RPN remember; I don't have that issue :P
13:50:48 <glx> yeah you can translate the stack with temp registers
13:52:26 <Eddi|zuHause> is that really easier to write?
13:52:33 <glx> advanced varact2 would be nice with some push/pop operators
13:53:03 <TrueBrain> it is just the order of generation, it is not that big of a deal
13:53:07 <TrueBrain> just need to assign a register to it :)
13:54:33 <peter1138> Well, I still can't work it out :p
13:54:52 <Eddi|zuHause> you can have virtual push/pop operations and in a second pass replace them with explicit registers
13:55:27 <peter1138> Is it turing complete yet?
13:55:46 <Eddi|zuHause> there's no loops in NFO
14:03:45 <glx> in theory NML could do loops (with unfolding)
14:03:59 <TrueBrain> so only against constants ;)
14:04:11 <TrueBrain> that still won't make you turing complete :)
14:04:58 <glx> it can work with variables too, but very expensive depending on variable size :)
14:06:14 <TrueBrain> hmm, calculating stack-depth is surprisingly difficult
14:14:04 <TrueBrain> right, now to add code to actually read a register :D
14:14:08 <TrueBrain> might be important .. might not :P
14:29:27 <glx> var7D for constant index, var7B for dynamic index
14:29:50 <TrueBrain> 7C, but I can read the specs, yes :)
14:30:00 <TrueBrain> (at least, I need 7C atm :P)
14:30:06 <TrueBrain> but I had no infra for parameters yet
14:30:16 <TrueBrain> hope it is working as I read the specs .. that is always fingers crossed
14:34:57 <TrueBrain> meh, I really have to make a new chain for every complex right hand side, don't I? Meh :P
14:35:02 <TrueBrain> was hoping I could keep on chaining advanced varaction2
14:35:31 <TrueBrain> but there is no noop operator
14:35:51 <TrueBrain> that is just sad :P New chains take so many bytes ... as they need a switch-case :)
14:36:21 <glx> you can put everything in the same varact2
14:36:59 <TrueBrain> how? As I said, there is no "noop" operator
14:37:17 <TrueBrain> I can't make a new head mid-chain
14:38:00 <TrueBrain> ah, tnx, that is what I was looking for. That is kinda hiding :P
14:39:14 <glx> only scope change needs a new varact2, but I think temp regs can help here too
14:40:37 <glx> like fill regs with related scope values then chain to self scope varact2 and use regs there
14:44:50 <andythenorth> peter1138 you want a 20% margin on the final price? :P
14:46:03 <andythenorth> is it not just multiply COGS by 5/4?
14:46:14 <TrueBrain> how does "grfcodec -d" works :P
14:47:19 <TrueBrain> with a lot of effort
14:47:24 <TrueBrain> is the correct answer
14:48:01 <TrueBrain> 02 0A 00 89 A8 20 FF 00 00 00 \2* "}ÿ ÿÿÿÿ" \2sto 1A 00 FE 00 00 00 01 00 00 00 00 00 00 "ÿÿÿÿý" 00
14:48:10 <TrueBrain> euuh ... what a weird characters :P
14:48:54 <TrueBrain> 02 0A 00 89 A8 20 FF 00 00 00 \2* 7D FF 20 FF FF FF FF \2sto 1A 00 FE 00 00 00 01 00 00 00 00 00 00 FF FF FF FF FD 00
14:53:32 *** gelignite has quit IRC (Quit: Stay safe!)
14:58:35 <TrueBrain> result:outputs ctt:COAL [] industry:colour industry:colour * industry:colour industry:colour * + =
14:58:37 <TrueBrain> gives another result than
14:58:39 <TrueBrain> result:outputs ctt:COAL [] industry:colour industry:colour industry:colour industry:colour * * + =
14:58:44 <TrueBrain> think I am doing something wrong still :D
15:00:28 <TrueBrain> yippie, means this kinda work :) Still need depth-detection, but we can revisit that later :)
15:02:26 <TrueBrain> result:outputs ctt:COAL [] 12 industry:colour * industry:colour 12 * + =
15:02:40 <TrueBrain> what is funny now, that depending on the order of your instructions, things can generate more or less efficient :)
15:04:27 *** Etua has quit IRC (Ping timeout: 480 seconds)
15:32:25 *** sla_ro|master has quit IRC ()
16:39:27 *** J0anJosep has joined #openttd
16:54:06 *** frosch123 has joined #openttd
17:07:16 <supermop_Home> how do i indicate a grf is meant to be static in nml?
17:09:03 <frosch123> only humans know what "static newgrf" are
17:12:42 *** WormnestAndroid has joined #openttd
17:13:55 <supermop_Home> can a static newgrf have parameters?
17:15:04 <frosch123> i guess there is no gui to set them, but they should work in openttd.cfg
17:17:32 *** Wormnest has joined #openttd
17:23:54 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
17:57:45 <glx> oh we are in the latest GOG email I received
17:58:08 <frosch123> what? new year's sale?
17:59:49 <glx> and they show 4 of them in the newletter, cave's story secret santa, symphonia, samorost 1 and openttd
18:03:00 *** J0anJosep has quit IRC (Quit: Konversation terminated!)
18:53:16 <peter1138> Oh of course, rain tomorrow.
19:12:42 *** Gustavo6046 has joined #openttd
20:06:14 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
20:12:28 <andythenorth> frosch rage quit early today
20:44:28 *** sla_ro|master has joined #openttd
21:21:38 <peter1138> Balls, missed Discovery due to video call :(
22:04:05 *** jottyfan has joined #openttd
23:22:42 *** nielsm has quit IRC (Ping timeout: 480 seconds)
23:33:12 *** EER has quit IRC (Remote host closed the connection)
23:35:21 *** andythenorth has quit IRC (Quit: andythenorth)
23:41:28 *** sla_ro|master has quit IRC ()
23:42:42 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:53:18 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
23:53:50 *** WormnestAndroid has quit IRC (Ping timeout: 480 seconds)
continue to next day ⏵