Back to Home / #openttd / 2018 / 07 / Prev Day | Next Day
#openttd IRC Logs for 2018-07-28

---Logopened Sat Jul 28 00:00:52 2018
01:21-!-Alberth [~alberth@00015f9e.user.oftc.net] has joined #openttd
01:21-!-Alberth is "purple" on #openttd
01:21-!-mode/#openttd [+o Alberth] by ChanServ
01:21<@Alberth>o/
01:53-!-nielsm [~nielsm@62-243-118-198-cable.dk.customer.tdc.net] has joined #openttd
01:53-!-nielsm is "Niels Martin Hansen" on #openttd #tycoon
01:54<nielsm>morning
02:03-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
02:03-!-andythenorth is "andythenorth" on #openttd
02:04<andythenorth>moin
02:07<@peter1138>yes
02:07<andythenorth>@seen pikka
02:07<@DorpsGek>andythenorth: pikka was last seen in #openttd 6 weeks, 4 days, 20 hours, 49 minutes, and 53 seconds ago: <Pikka> oops
02:07<@peter1138>o_O
02:09<andythenorth>I have 90 trains to draw :P
02:09<andythenorth>somehow pikka reminds me to do it
02:09<andythenorth>but no pikka so eh
02:39<@Alberth>apparently, pikka doesn't need to be around for you to remind it?
02:40<@Alberth>*remember
02:40-!-SpComb [terom@zapotek.paivola.fi] has joined #openttd
02:40-!-SpComb is "Tero Marttila" on #openttd #oftc #bitlbee #tycoon
02:42<andythenorth>apparently
02:49<nielsm>I just spent way too long on painting this :D https://user-images.githubusercontent.com/1062071/43353938-720a617c-9242-11e8-8de6-72a2136b8282.png
02:54<andythenorth>o_O
02:54<andythenorth>moin nielsm
02:57<andythenorth>is 'type city produces accepts' a dropdown filter?
03:02<nielsm>yes that's the intention
03:09<@peter1138>Argh at Chain Reaction
03:09<@peter1138>Ordered something last night for 4-5 day free delivery.
03:10<@peter1138>They shipped it. Today. To my work address, of course, because 4-5 day free delivery.
03:12<andythenorth>:P
03:13<andythenorth>I hate drawing tank wagons :P
03:13<andythenorth>or anything round
03:13<andythenorth>or pointy
03:16<@Alberth>that leaves box wagons and open wagons I guess? :)
03:16<andythenorth>they're ok
03:16<andythenorth>also hoppers mostly ok
03:17<@Alberth>except for the cargo
03:19<andythenorth>once I have one good tank wagon, the other 14 will be easier
03:21<@Alberth>can't pixa compute the color based on position on the tank?
03:25<andythenorth>probably could teach it
03:40-!-chomwitt is "chomwitt" on #debian #debian-games
03:40-!-chomwitt [~chomwitt@ppp-94-66-223-149.home.otenet.gr] has joined #openttd
04:00<andythenorth>nielsm: this industry stuff is pretty exciting :)
04:03<nielsm>have you managed to do anything useful yet?
04:09<andythenorth>I haven't tried patching nml yet
04:09<andythenorth>waiting to see what happens with the github import
04:16<andythenorth>getting nml reviewed without github is kind of daft
04:40-!-Progman [~progman@p4FD667F8.dip0.t-ipconnect.de] has joined #openttd
04:40-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttdcoop #openttd
04:53<@Alberth>nielsm: you were talking about cargo slots instead of ids? https://newgrf-specs.tt-wiki.net/wiki/Version_numbers#GRF_version_7 seems to have done the reverse change
04:55<nielsm>nah my "cargo slots" means something else
04:55<nielsm>it's position in the array of accepted/produced cargoes for the industry in question
04:58<nielsm>hmm I seem to have broken cargo suffixes on industries
04:59<nielsm>https://0x0.st/sV7w.png
05:01*andythenorth afk a bit
05:03-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has joined #openttd
05:03-!-keoz is "Grmph" on #openttd
05:03<@Rubidium>peter1138: but then the 4-5 day shipping holds, right? Friday, Saturday, Sunday and finally arriving on Monday; I count 4 days of shipping ;)
05:32-!-Wormnest [~Wormnest@s5596abd2.adsl.online.nl] has joined #openttd
05:32-!-Wormnest is "Wormnest" on #openttd
05:39<@Alberth>oh joy, there are several tables for grf actions, and they overlap
05:40-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has quit []
05:46-!-Eddi|zuHause [~johekr@p5B12E6BD.dip0.t-ipconnect.de] has quit [Ping timeout: 480 seconds]
06:13<nielsm>/* There are no callbacks 0x3E - 0x13F */
06:13<nielsm>is that because it's impossible, or just that they haven't been defined?
06:24<@Alberth>who knows, it's all one pile of legacy crap
06:27<nielsm>I have a suspicion AddAcceptedCargo_Industry has been broken for years and per-tile cargo acceptance callbacks don't actually work
06:29<nielsm>oh wait never mind
06:41<andythenorth>:)
06:43<nielsm>should also add the variable length acceptance to house tiles, but they're annoying because of special logic surrounding goods/food/toys acceptance
06:45<nielsm>also will have to write an updated spec update including all the changes to frosch's initial :D
06:45<andythenorth>:P
06:53<nielsm>should I add some kind of global a grf can query about actual max number of accepted/produced cargoes?
06:56<@Alberth>would be implied by a grf version number, wouldn't ?
06:57<nielsm>could query openttd version and assume 1.9+ has minimum 16 of each ya
06:57<nielsm>that might be good enough
06:58<@Alberth>you can specify 16 cargos input/output in the current definition?
06:59<@Alberth>https://newgrf-specs.tt-wiki.net/wiki/Action0/Industries#Production_cargo_types_.2810.29 <-- says "two", so no
06:59<nielsm>https://github.com/OpenTTD/OpenTTD/pull/6867
06:59<nielsm>the patch I'm working on :)
06:59<nielsm>about to write an updated spec update
07:01<@Alberth>property 10 is a word, so I fail to see how it does not change the grfspec
07:02<nielsm>by adding new properties instead
07:02<nielsm>the old properties don't change meaning in an incompatible way
07:05<@Alberth>andythenorth: so you can read NFO only if you have all the wiki pages in your head, with all the edge cases and exceptions???!!!
07:09<andythenorth>I have them in my browser Alberth
07:10<@Alberth>so have I, but specs are ambigious, and don't say how to decode to the right page, or not even mention which pages exist
07:11<@Alberth>https://newgrf-specs.tt-wiki.net/wiki/ActionD nice, simple, generic, but no mention of \DR
07:12<@Alberth>https://newgrf-specs.tt-wiki.net/wiki/GRFResourceManagement so that's here apparently, but that table fits in the previous table, so D is ambigious
07:13<@Alberth>and there are at least 2 more D tables
07:15-!-Wacko1976-work [~IceChat9@ip-213-126-235-146.ip.prioritytelecom.net] has quit [Quit: I couldn't repair your brakes, so I made your horn louder.]
07:17<andythenorth>:P
07:21<@Alberth>you can laugh, but I don't know what to do now
07:23<@Alberth>so how is this not ambigious?
07:25<andythenorth>I don't know :)
07:25<andythenorth>I have never used the GRM stuff
07:26<andythenorth>I've never had a problem that I need it to solve
07:26<@Alberth>you do use it, read chips/sprites/nfo/grm_sprites.pnfo :p
07:27<andythenorth>yexo wrote that :)
07:28<andythenorth>when I add things to CHIPS, I do it by cargo culy
07:28<andythenorth>cult *
07:28<andythenorth>I have no real idea how the set is built
07:28<andythenorth>I just find the action 2 / 3 I need to change
07:28<@Alberth>yeah, that fails if you need to write a station compiler :p
07:28<andythenorth>sorry :(
07:29<@Alberth>hopefully someone else knows
07:45<@peter1138>don't look at me
08:03<nielsm>okay, finished the long post with spec changes
08:04<nielsm>phew
08:14<andythenorth>:)
08:20<@peter1138>hmm so
08:25<andythenorth>I like the tree spec
08:27<nielsm>it's basically a cellular automaton ruleset :P
08:29-!-Compu [~Compu@0001feeb.user.oftc.net] has joined #openttd
08:29-!-Compu is "Compu" on #help #openttd #openttdcoop.stable #openttdcoop #/r/openttd
08:29-!-Compu [~Compu@0001feeb.user.oftc.net] has quit [Remote host closed the connection]
08:33<andythenorth>it looks really nice
08:33<andythenorth>there is zero requirement for controlling per tree, per tile
09:08-!-ToBeFree [~tobefree@00019d36.user.oftc.net] has joined #openttd
09:08-!-ToBeFree is "Tobias "ToBeFree" Frei" on #debian #openttd @#freiwuppertal #https-everywhere #oolite-dev @#linux #oolite #oolite-ger
09:08<nielsm>big question of TT world: what happens to the cargo industries produce but don't transport?
09:11<@peter1138>They transported it by hand.
09:12<andythenorth>invisble movers
09:12<andythenorth>like in railroad tycoon 3
09:22<@Alberth>simple track .tnfo 966 lines, omg
09:24-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has quit [Quit: andythenorth]
09:38-!-sim-al2 [~sim-al2@c-75-65-196-171.hsd1.tn.comcast.net] has quit [Ping timeout: 480 seconds]
10:07<nielsm>test newgrf: Super Power Plant! https://0x0.st/sVhC.png
10:11-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
10:11-!-andythenorth is "andythenorth" on #openttd
10:13<nielsm>https://0x0.st/sVFX.png
10:19-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has joined #openttd
10:19-!-keoz is "Grmph" on #kernelnewbies #openttdcoop #openttd.dev #openttd
10:23<andythenorth>nielsm: \o/
10:23<andythenorth>this is great :)
10:24<andythenorth>snail_UES_: https://github.com/OpenTTD/OpenTTD/pull/6805
10:26<nielsm>andythenorth, also upgrading house tiles to support var length accepts lists? y/n
10:28<nielsm>https://0x0.st/sVFB.nfo <- superpowerstation.nfo
10:29<nielsm>(I think I attempted to make some trains back in 2003 or something, but this is the most successful .nfo file I've authored)
10:29<andythenorth>ok :)
10:30<andythenorth>if house tiles follow naturally from industry tiles, it seems legit
10:30<andythenorth>it's not essential though
10:31<nielsm>https://github.com/OpenTTD/OpenTTD/blob/master/src/newgrf.cpp#L2404
10:31<nielsm>it's a bit annoying because of special rules regarding goods/food/drinks
10:34<nielsm>huh, prop 1E is suspicious
10:34<nielsm>oh, right just three bytes in a dword
10:35<snail_UES_> andythenorth: saw that… so now it’s in trunk? :)
10:40<andythenorth>snail_UES_: yes
10:40<andythenorth>but there's no compile farm at the moment
10:40<snail_UES_>hmm, what does thst mean?
10:40<andythenorth>no binaries are getting built
10:41<andythenorth>if you want to try it, you'll have to compile your own
10:45<snail_UES_>ok, I use a mac anyway :p
10:45<snail_UES_>I’ve always had to compile my OTTD
10:46-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has joined #openttd
10:46-!-Kippers is "ScumbagDog" on #openttd #openttd.dev
10:47<andythenorth>binaries never worked? :o
10:48<snail_UES_>honestly I never tried…
10:48<snail_UES_>I leanrt how to apply patches OTTD time ago so I became familiar with compiling my own
10:48<snail_UES_>so never cared for binaries since :D
10:50<nielsm>I'm reading nml's code right now
10:50<nielsm>wondering what's a better approach to the variable lenth acceptance
10:51<nielsm>write old properties if <=3 cargoes accepted and new properties it >3 cargoes accepted, or define a separate property name in nml for the new properties
10:52<andythenorth>nml tends towards magic
10:52<andythenorth>I'd favour magic
10:53<andythenorth>magic makes it use nfo docs to understand nml, which I often have to do
10:53<andythenorth>but
10:53<andythenorth>it's easier for authors on average
10:53<snail_UES_>question for you guys. Could we have certain railtypes only allow 90-degree curves, instead of “all or nothing”?
10:54<snail_UES_>I think this request was pushed back time ago, but was wondering if our progress since would make it possible
10:54<andythenorth>oof, I made a tactical coffee error
10:54<andythenorth>I didn't drink coffee due to my gut hurting
10:54<andythenorth>now I have shakes and sweats and no-coffee rage
10:55<nielsm>snail_UES_: without knowing much about the pathfinding logic, I think having train types be limited instead is easier to implement at least
10:58<snail_UES_>nielsm: meaning, only trains coded with certain railtypes would be able to run on 90-degrees line?
10:58<snail_UES_>that would be a useful feature by itself
10:59<nielsm>I think you might be able implement it as a per-vehicle flag
10:59<snail_UES_>that would work...
11:00<nielsm>so you could have wagons with widely spaced axles unable to cross narrow turns, but closely set axles/flexible bogies would be able to
11:00<nielsm>for example
11:00<snail_UES_>nielsm: yes, I was thinking about using gauge as the criterion
11:00<snail_UES_>I’ve always felt narrow gauge would be much more interesting if it had an in-game advantage, and this would suit them well (in reality they had sharper curves)
11:03<andythenorth>that is an interesting idea
11:03<andythenorth>like a reverse-tilt bonus :P
11:04<andythenorth>due to pathfinding, I'd rather nerf the speed than ban 90 degrees
11:04<snail_UES_>andythenorth: speed is already limited
11:05<andythenorth>for me the interesting question is 'how to buff narrow gauge'
11:06<andythenorth>are there other ways? o_O
11:07<nielsm>can't imagine anything other than making slopes even steeper
11:07-!-ToBeFree [~tobefree@00019d36.user.oftc.net] has quit [Remote host closed the connection]
11:09<nielsm>make a narrow gauge variation that costs significantly more in construction/maintenance but allows supporting vehs much greater power going uphill? (chain pull up hills)
11:09<andythenorth>just buff TE
11:11<snail_UES_>nielsm: that’s rackrail…
11:11<snail_UES_>as you said, unfortunately all slopes in the game have the same steep
11:12<snail_UES_>so rackrail trains, even if I give them a zillion kN of TE, don’t really have a real in-game advantage
11:12<snail_UES_>especially because, in reality, their speed was very limited, so it’d be silly for me to allow them to do more than, say, 25 km/h
11:13<snail_UES_>that’s why I was thinking about sharper (90-degree) curves
11:37-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has quit [Ping timeout: 480 seconds]
11:40-!-chomwitt [~chomwitt@ppp-94-66-223-149.home.otenet.gr] has quit [Ping timeout: 480 seconds]
12:05<andythenorth>the thing with NG
12:05<andythenorth>is that it is still 1 track per tile, so no density gain
12:05<andythenorth>and the vehicles tend to be lower capacity per unit length
12:05<andythenorth>so negative density there
12:05<andythenorth>so it's quite nerfed :D
12:09<+michi_cc>snail_UES_: Absolutely untested in any way: https://gist.github.com/michicc/8d16426de023d015ce4f16d85d77a606
12:10<+michi_cc>Two more flags for prop 10, bit 2 always allow, bit 3 always disallow, disallow wins (also when two different railtypes connect).
12:11<snail_UES_>michi_cc: looks great...
12:11<+michi_cc>I didn't even press run, so YMMV :p
12:14<snail_UES_>I can test it myself if that helps
12:14<+michi_cc>I was expecting that :p
12:15<snail_UES_>if I download ottd’s source code from github, how can I apply this patch? (sorry for the silly question)
12:15<+michi_cc>patch -p1 -i <insert file name here>
12:15<snail_UES_>ok
12:20<snail_UES_>michi_cc: any particular things/train behaviors I should be specifically test for?
12:21<+michi_cc>Maybe even: curl -s https://gist.githubusercontent.com/michicc/8d16426de023d015ce4f16d85d77a606/raw/3947816604d7c2b03988caec66a59bb0edf78908/railtype_90deg_curve.patch | patch -p1
12:21<+michi_cc>snail_UES_: Everything, I literally didn't even run openttd :)
12:21<snail_UES_>haha ok
12:23<snail_UES_>michi_cc: again sorry for the silly question: what step should I run “patch -p1” etc. at? between the “./configure” and “make”?
12:24<snail_UES_>or before “configure”?
12:24<+michi_cc>Before usually, but in this case the patch doesn't change anything in configure, so it doesn't matter here.
12:24<snail_UES_>ok, thanks
12:25-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has joined #openttd
12:25-!-Kippers is "ScumbagDog" on #openttd #openttd.dev
12:31<snail_UES_>michi_cc: it compiled fine, I’ll test it later today
12:32<snail_UES_>however, something weird is happening as I compile OTTD (not just this patch: I’ve noticed it many times lately). I get the following warnings:
12:32<snail_UES_>“checking revision... no detection”
12:32<snail_UES_>“WARNING: there is no means to determine the version.”
12:32<snail_UES_>"WARNING: please use a subversion, mercurial, or git checkout of OpenTTD."
12:32<snail_UES_>“WARNING: you can only join game servers that have been compiled without”
12:32<snail_UES_>“WARNING: version detection.”
12:32<snail_UES_>“WARNING: there is a great chance you desync."
12:33<snail_UES_>and when I run the game, the window label is “OpenTTD norev000"...
12:33<+michi_cc>You need to make a proper git clone and not just download a source archive.
12:33<snail_UES_>what am I doing wrong?
12:33<+michi_cc>And additionally have git on your PATH.
12:34<snail_UES_>ahguess I need GitHubDesktop?
12:35<@Alberth>just plain git is what you need, no idea if that GH thing has it
12:39-!-haudrauf [~haudrauf2@00021656.user.oftc.net] has joined #openttd
12:39-!-haudrauf is "Haudrauf" on #openttd #frickelplatz #cryptoparty
12:49-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has quit [Ping timeout: 480 seconds]
12:49<andythenorth>snail_UES_: mac OS right?
12:49<andythenorth>git is built in
12:49<snail_UES_>yes
12:50-!-virtualrandomnumber [~chatzilla@p57A43143.dip0.t-ipconnect.de] has joined #openttd
12:50-!-virtualrandomnumber is "New Now Know How" on #openttd #/r/openttd #openttdcoop.stable #openttdcoop
12:53<snail_UES_>I tried to run a SVN CHECKOUT on the URL I found on github and it’s now downloading a huge amount of files :P
13:04<nielsm>making an svn checkout is almost certainly wrong?
13:05<snail_UES_>right… silly move of mine
13:10-!-imdak [~sprta@217.16.190.198] has joined #openttd
13:10-!-imdak is "Radek Sprta" on #openttd
13:29<virtualrandomnumber>found weird behaviour regarding two-way path signals: https://i.imgur.com/eR2KkGK.png
13:43<LordAro>nielsm: is this the thing where github actually has svn repos?
13:52-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has joined #openttd
13:52-!-Kippers is "ScumbagDog" on #openttd #openttd.dev
13:54<nielsm>LordAro, never heard of it and strongly doubt it
13:54<LordAro>nielsm: https://help.github.com/articles/support-for-subversion-clients/ ;)
13:54<nielsm>huh okay
13:54-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has quit [Ping timeout: 480 seconds]
14:03<@peter1138>It's still wrong, we use git ;p
14:03-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has quit []
14:07-!-haudrauf [~haudrauf2@00021656.user.oftc.net] has quit [Quit: ZNC - http://znc.in]
14:07-!-haudrauf [~haudrauf2@00021656.user.oftc.net] has joined #openttd
14:07-!-haudrauf is "Haudrauf" on #openttd #frickelplatz #cryptoparty
14:13-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has joined #openttd
14:13-!-Kippers is "ScumbagDog" on #openttd #openttd.dev
14:15<@planetmaker>virtualrandomnumber, and what exactly is weired there?
14:16<virtualrandomnumber>one of the trains is waiting at the block signal, but it should be able to proceed to the path signal
14:20<nielsm>I'd say "just don't put signals up right against each other, it's plain wrong to do"
14:20<nielsm>(because it is, in my opinion)
14:21<nielsm>but the actual reason is something to do with two behaviors of the signal types being too different
14:22<@Alberth>path signals sometimes block trains a little longer in an attempt to get a better path, so that could be happening. Also, the train can't reach it destination it seems, so it's lost. At that point it acts weird, and usual rules don't apply
14:24<nielsm>I wonder if it's really worth it to keep allowing vehicles with no orders to move
14:25<nielsm>not having a pathfinding destination causes weirdness all over
14:25<nielsm>doesn't it?
14:29<@planetmaker>virtualrandomnumber, 'stopped' at that position looks very much like manually stopped
14:30<nielsm>planetmaker, it's train 3 that's interesting
14:31-!-Hobbyboy [Hobbyboy@0001fb73.user.oftc.net] has joined #openttd
14:31-!-Hobbyboy is "Andrew" on #openttd #perl #oftc #msys2 #moocows #mingw-w64 #linode #debian
14:31<virtualrandomnumber>the rightmost train is stopped to showcase that it reserved a path despite coming from a block signal
14:31<@planetmaker>hm, you mean #3 should move to the next signal and then wait?
14:32<@planetmaker>maybe...
14:35<SpComb>what kind of person mixes path and block signals together?
14:36<nielsm>I often build line blocks, possibly just a bad habit
14:36<nielsm>and then path signals at junctions
14:37<@planetmaker>the mixture there is not bad as only one signal type controls a block. It's only bad to have block and path signals control the same block of track
14:41<@Alberth>not bad, just crashy :p
14:43<@planetmaker>na, if you have one line of tracks, you can alternate the signals. You may just not have a join with a block and a path signal controlling different sides of it.
14:44<@Alberth>I know, it's a very good way to crash your trains
14:56<Kippers>But what if you just want to watch the world burn?
14:57<@Alberth>is not a development goal of the game
14:58<@Alberth>planetmaker: https://webster.openttdcoop.org/index.php?channel=openttd&date=1532736000#1532775939 halp :(
14:59<@Alberth>also, made GH project for the macro-thingie, but didn't push yet
15:00<nielsm>yay it's raining here!
15:04<andythenorth>Alberth: hope frosch knows how Action D works :|
15:06<@Alberth>this was the 5th or so NFO statement I looked at, not promising :(
15:06-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has quit []
15:07<@Alberth>maybe I should write a GRF disassembler
15:07<andythenorth>might help :)
15:08<@Alberth>I 'll run into all problems at least then
15:08<nielsm>call it lmn
15:08<nielsm>logic matcher for nfo
15:08<andythenorth>seems like quite an organic spec eh
15:08<@Alberth>I could look in the openttd source code, but it should be in the spec
15:09<andythenorth>https://dev.openttdcoop.org/issues/954
15:09<nielsm>what we need is NotGRF
15:09<nielsm>something that isn't GRF, for modding
15:09<@Alberth>there is no entry point to decode an arbitrary nfo sequence, it seems
15:10<andythenorth>xml :P
15:10<nielsm>yes you pretty much have to execute the GRF program to determine its meaning
15:12<@Alberth>I am aware of that, but it's a too simple approach, besides I would start from grf rather than nfo
15:13<nielsm>as far as I understand, there is very little distance between NFO and GRF
15:14<nielsm>pretty much the difference between looking at an enlarged picture of a ROM die, and a hex dump printout of the contents of the ROM
15:18<@Alberth>yep, although grf container 2 shuffles the realsprites and the nfo statements into two separate sections
15:18*planetmaker reads
15:19<@Alberth>but it eliminates all the text stuff, and syntactic shorthands
15:19<@Alberth>ie just plain bytes :)
15:20<@Alberth>(and words and double words :p )
15:20<@planetmaker>Alberth, so your confusion is as of the different types of Action D?
15:21<@planetmaker>or do I need to scroll up more to understand the question? :D
15:21<@Alberth>curently, yes
15:22<@Alberth>the 2 links describe different things, but the latter (GRM stuff) fits in the former template
15:22<@planetmaker>yes, it should at least
15:22<@Alberth>so no way to differentiate between both
15:22<@Alberth>it should?
15:24<@Alberth>so I want some math operation, invent source1, source2, and data or whatever, and suddenly it's interpreted as GRM?
15:25<@planetmaker>I think there is a way... hm
15:25<@Alberth>not to mention this isn't even mentioned at the action D page
15:26<@Alberth>there is a list of alternative interpretations in the overview only
15:26<@Alberth>no idea if there is overlap there too
15:28<@Alberth>I hope that is the complete list, there could be more tables that overlap
15:29<@planetmaker>"If <source2> is FE, then this action D will perform one of the following special variable accesses. In this case, <operation> must be assignment and <data> is an argument to the data access, not a source value. " might be the clue
15:29<+michi_cc>Alberth: The Action D pages says that source2 == FE means special stuff, which are the linked sub-pages. The GRM page isn't explicit about it, but the action bytes shown match each other.
15:30<@planetmaker>https://newgrf-specs.tt-wiki.net/wiki/ActionD#target.2C_source1.2C_source2
15:30<@Alberth>yeah, I see
15:31<@Alberth>oh joy, let's just remove value 254
15:32-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has joined #openttd
15:32-!-Supercheese is "Supercheese" on #openttd
15:32<@Alberth>ok, thanks
15:32<@planetmaker>Removing that, and making it a separate action for those things, might actually simplify stuff :)
15:32<@planetmaker>but... legacy...
15:32<@planetmaker>grf v9
15:33<@Alberth>let's just start from action 20 then
15:33<@Alberth>everything < x20 is obsolete by definition
15:33<@planetmaker><0x20 for what?
15:33<@planetmaker>ah, new actions. Hm
15:34<@Alberth>not use it at all
15:34<@planetmaker>yeah.
15:34<@planetmaker>Doing so, jointly with implementing stuff in NML would probably be a nice thing :)
15:34<@planetmaker>could be added step by step
15:35<@Alberth>not sure it makes sense to change nml
15:35<@Alberth>but not there by a long shot currently
15:35-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has joined #openttd
15:35-!-Kippers is "ScumbagDog" on #openttd #openttd.dev
15:36<@planetmaker>ok, so your take is rather "starting with action 0x20 and nmlc2 (or by whatever name it goes)"?
15:36<@Alberth>the core is expressions, but with the dynamic Python, it's very hard to refactor it
15:37<@Alberth>oh, I don't know, I would say stations should work in current grf :p
15:37<@planetmaker>not sure I understand what you're telling me
15:38<@Alberth>nml is huge and messy in the core; expressions aren't done right as far as I can tell
15:38<@planetmaker>hm
15:39<@Alberth>causing massive memory needs and being slow
15:39<@Alberth>I think it tries to optimize the same expressions a zillion times, making new copies all the time
15:41<@Alberth>I tried improving it, but the entire programs comes down, since nml is basically expression manipulation and not much more
15:41<nielsm>ottd would kinda benefit from putting newgrf and squirrel into the "legacy" corner of shame and replacing both with a single modern language
15:41<nielsm>but the effort would be gigantic
15:41<nielsm>to reach feature parity
15:41<@Alberth>and Python makes it hard to change the code, since there is not hard typing available
15:43<@Alberth>or rather. consistency checks, with "x.expr" are BinOp.expr field accesses? no simple way to tell.
15:43<@Alberth>s/with/which/
15:44<@Alberth>so improving nml is a major effort at least
15:45<@Alberth>nielsm: I don't think newgrf and squirrel can be merged into one language
15:45<@Alberth>you'd be trying to get machine language and eg Python into one language
15:46<nielsm>I'm not saying to just blind copy the way everything is done
15:46<nielsm>but rather reimagine and build a new programming interface for it
15:46<@planetmaker>Then include the game scripts, too. But that's... indeed very huge
15:47<@Alberth>you'd need much higher level newgrf-like primitives then
15:47<@Alberth>and it's hard to sell, as authors give up a lot of control that they have now
15:48<@Alberth>squirrel mat be weird, but it's simple enough that people can write AIs in it
15:48<@Alberth>just like Andy can hack nml, as it's Python and not C++
15:49<@Alberth>or C
15:50<@planetmaker>hm... yes-ish
15:52<nielsm>I don't think it'd actuallyh be a good idea to try making a replacement though :)
15:52-!-glx [~glx@000128ec.user.oftc.net] has joined #openttd
15:52-!-glx is "Loïc GUILLOUX" on #openttd
15:52-!-mode/#openttd [+v glx] by ChanServ
15:52<nielsm>OTTD itself is just a gigantic ball of legacy rolled onto legacy
15:53<@Alberth>yep :)
15:54<nielsm>in other words, may as well write a brand new game from ground up
15:56<nielsm>(and not walk into the pit Train/Transport Fever did with making all modding entirely table based, allowing no kinds of runtime scripts at all. imo that's 75% of what's killed interest in those, the remaining 25% being the bad performance)
15:56<@Alberth>yes, but then you get the problem of what to build
15:57<@Alberth>having nice looking graphics is what sells, good scaling doesn't
15:59<nielsm>eh, for the hardcore transport sim crowd, mechanics and customizability sells
16:00<FLHerne>Alberth: There was grf2html at one time
16:00<@Alberth>there was, wasn't it :)
16:01<@Alberth>no idea what that did :p
16:01<@planetmaker>but that was only to somewhat display the NewGRF contents, not any of its logic
16:01<@Alberth>but good thought
16:02-!-imdak [~sprta@217.16.190.198] has quit [Remote host closed the connection]
16:03<FLHerne>I was thinking about trying to make a newer version of that
16:03<FLHerne>(currently, I'm on restart-from-scratch n+1 of trying to make a GRFMaker-esque tool that reads/writes NML)
16:04<@Alberth>https://www.tt-forums.net/viewtopic.php?f=68&t=34279&sid=614f3171947f084600ba31d249d852bc it does show links between sprites
16:04<@planetmaker>ah, true
16:05<@Alberth>starting behind the parser, or after it is converted to a data structure FLHerne ?
16:05<@planetmaker>FLHerne, I never quite understood the advantage of grfmaker over NML... what does it make easier?
16:05<@Alberth>so grf2html may do a lot of things I need to have as well
16:07<@Alberth>pre-grfcontainer 2 though :p
16:07<FLHerne>Alberth: Using a lightly-modified version of nmlc, currently
16:07<FLHerne>http://www.flherne.uk/files/munge_screenshot.png
16:08<FLHerne>(still not at all what I actually want)
16:08<FLHerne>planetmaker: It's nice for people who just want to click some buttons to put their sprites in the game
16:08<FLHerne>And don't want to learn a new programming language (or the concept of a programming language) to do so
16:09<FLHerne>(the problem with GRFMaker being that if you want to do anything else, you're stuck at a dead end)
16:09<FLHerne>Currently I'm working on being able to edit strings
16:10<FLHerne>Alberth: To be clearer - it's working pretty much directly on the output of NMLParser.parse()
16:11<FLHerne>But I'm using various other methods where they're useful
16:12<FLHerne>Odds on it ever being finished are...not good - I made a thing to express switches, spritegroups etc. as a flowchart a few years ago, then got distracted and now I can't even find the damn code
16:12<nielsm>should make a html5 page where you can upload some photos of a train and have it spit out a fully working grf from it!!
16:12<nielsm>;)
16:13<@planetmaker>hehe
16:14<@Alberth>I am pondering if we could have something else than switches, they seem too low level
16:14<@planetmaker>I actually once had a devzone project (though never made public) which allows to upload the files needed to build the grf (written in nml) and as result spits-out the ready-built newgrf
16:14<@planetmaker>so people wouldn't even need to install anything other than a text editor and graphics editor
16:15<@Alberth>app :p
16:15<FLHerne>It would be nice to have something like grf2html aimed at end-users running on Bananas
16:15<@Alberth>too techy probably, you want some nice screenshots
16:15<FLHerne>So people could browse the contents of grfs rather than just look at the names
16:16<@Alberth>ie advertising :)
16:16<@planetmaker>it would indeed... Both actually. I think DevZone once used grf2html to document the grfs it built
16:16<@planetmaker>but... grf2html failed to parse the container2 stuff, so was discontinued
16:16-!-frosch123 [~frosch@00013ce7.user.oftc.net] has joined #openttd
16:16-!-frosch123 is "frosch" on #openttdcoop.devzone #openttd.dev #openttd
16:17<FLHerne>Alberth: Was thinking of andy's shiny docs http://bundles.openttdcoop.org/iron-horse/push/LATEST/docs/html/trains.html
16:17<FLHerne>They're a bit techy, but if that's too techy then OTTD is the wrong game for you
16:18<@Alberth>yep, all nicely automagically generated from Python tables
16:18<@Alberth>or objects nowadays, I think
16:18<@Alberth>which also generates the nml code, so it's always consistent :)
16:19<@Alberth>andy has a very nice setup for making grfs
16:19<@planetmaker>very much indeed
16:20<frosch123>nielsm: callbacks 3e-13f do not exist to trick oldschool newgrf authors to check the whole callback id, instead of only the low 8 bit
16:20<@Alberth>FLHerne: maybe you should start simpler, your screenshot already has a lot of details for someone wanting to click stuff
16:21<@Alberth>eg a table like andy has
16:21<FLHerne>Alberth: I'm kind of doing it backwards ;-)
16:21<frosch123>https://newgrf-specs.tt-wiki.net/wiki/ActionD <- Alberth: there are three links in the target,source1,source 2 section
16:21<frosch123>the third one is the one you were missing
16:22<FLHerne>I started out with just having all the properties editable as plaintext NML expressions, then incrementally making UI editors per type
16:23<FLHerne>That way if you feed it something I've not thought of yet (i.e. most things...), you can still edit it manually
16:24<@Alberth>frosch123: I was confused by no way to distinguish between that page and the page behind the 3rd link
16:24<nielsm>frosch123: So adding something in that range risks breaking things? i.e. I should renumber the new callbacks I defined
16:24<@Alberth>but apparently there is, I missed a sentence above the links
16:24<frosch123>nielsm: i did not catch up so far, no idea what callbacks you added
16:27<nielsm>hmm I think HouseSpec::watched_cargoes got missed in the extension to 64 cargo types, it seems to be a bitfield of cargo types watched
16:27<@Alberth>together with expecting the table to be complete in differentiating all the cases, rather than hiding stuff in text
16:28<frosch123>well, i think there is a single usecase left for GRM
16:28<frosch123>so hardly important
16:28<@planetmaker>reading parameters from other NewGRFs is done
16:29<@planetmaker>and checking for the presence of those, of course
16:30<@Alberth>doesn't matter whether it is used, if it's part of the spec it must be described
16:31<@planetmaker>Well. NML does not try to implement *everything*. Just the useful bits. Leaving out some stuff on purpose
16:31<@planetmaker>That stuff which we want to phase-out from being used
16:32<@Alberth>oh that's fine
16:32<@planetmaker>especially of course, when there's several ways to the same end... then choosing the nicer one is an easy choice :)
16:32<@Alberth>code generator has the freedom to implement it in any way such that it works
16:34<frosch123>planetmaker: https://paste.openttdcoop.org/psdklxgfg/jjtegn <- that's the mapping i used
16:34<frosch123>for nml
16:34<@Alberth>hmm, x86 instructions perhaps? :p
16:34<frosch123>i found some magic thingie to convert redmine issues to gh, i'll try that one tomorrow
16:35<@planetmaker>yay :)
16:36<@planetmaker>and yes, that clone you made worked/s nicely for me
16:36<frosch123>i think the only mail that does not exist is hirundo's
16:36<frosch123>i invented that one
16:37<@planetmaker>:)
16:39<@Alberth> @example.org :)
16:42<@planetmaker>@coop is ok
16:45<@Alberth>yeah, should be fine
17:00-!-Alberth [~alberth@00015f9e.user.oftc.net] has left #openttd []
17:00<frosch123>anyway, if you find any typos, it's a few seconds to do a conversion with different author mapping
17:01<@planetmaker>FWIW: I didn't see any yesterday. Nor when I looked a few minutes ago.
17:07<Kippers>What's a good place to start contributing for a nub C coder? I tried looking through the codebase and the github issue tracker, but I get so confused whenever I try actually fixing an issue, because I don't know which files contain which logic.
17:10<@planetmaker>Kippers, there's http://docs.openttd.org - but usually the files are named according to what they contain... and it's a good idea to start looking at a place. And then grep the codebase for possible follow-ups of interesting search terms you find
17:10<frosch123>some issues have a label "good first issue"
17:10<frosch123>or similar
17:10<@planetmaker>like "tree" when you look for things related to tree generation/drawing/... and then go from what you need
17:11<@planetmaker>bed time though. Last nights all were late. Good night :)
17:12<Kippers>Thanks, I'll try it tomorrow
17:16-!-sim-al2 [~sim-al2@c-75-65-196-171.hsd1.tn.comcast.net] has joined #openttd
17:16-!-sim-al2 is "sim-al2" on #openttd
17:17-!-argoneus [~argoneus@2a00:d880:5:dd::8a76] has quit [Remote host closed the connection]
17:21<andythenorth>bed
17:21-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has left #openttd []
17:35-!-Kippers [~kippers@93-160-85-36-dynamic.dk.customer.tdc.net] has quit []
17:37-!-peter1138 is now known as Guest2335
17:37-!-peter1138 [~petern@00013681.user.oftc.net] has joined #openttd
17:37-!-mode/#openttd [+o peter1138] by ChanServ
17:37-!-peter1138 is "Peter Nelson" on @#openttd #openttd.notice #tycoon
17:38-!-Guest2335 [~petern@00013681.user.oftc.net] has quit [Quit: Reconnecting]
17:40<nielsm>okay I think that's also 16 cargo types acceptance for houses done
17:57<nielsm>and gn
18:03-!-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]
18:05-!-nielsm [~nielsm@62-243-118-198-cable.dk.customer.tdc.net] has quit [Ping timeout: 480 seconds]
18:15-!-chomwitt is "chomwitt" on #debian #debian-games
18:15-!-chomwitt [~chomwitt@ppp-94-66-223-221.home.otenet.gr] has joined #openttd
18:22-!-Wormnest [~Wormnest@s5596abd2.adsl.online.nl] has quit [Quit: Leaving]
18:39-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has quit [Read error: Connection reset by peer]
18:39-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has joined #openttd
18:39-!-Supercheese is "Supercheese" on #openttd
19:02-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has joined #openttd
19:02-!-keoz is "Grmph" on #openttd
19:07-!-Progman [~progman@p4FD667F8.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
19:12-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has quit [Ping timeout: 480 seconds]
19:16-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has quit [Read error: Connection reset by peer]
19:16-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has joined #openttd
19:16-!-snail_UES_ is "Jacopo Coletto" on #openttd
19:40-!-ccfreak2k [~ccfreak2k@persephone.untrusted.app] has quit [Quit: ZNC - http://znc.sourceforge.net]
19:41-!-ccfreak2k is "Got ZNC?" on #moocows
19:41-!-ccfreak2k [~ccfreak2k@persephone.untrusted.app] has joined #openttd
20:03-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has joined #openttd
20:03-!-keoz is "Grmph" on #openttd
20:20-!-virtualrandomnumber [~chatzilla@p57A43143.dip0.t-ipconnect.de] has quit [Quit: ChatZilla 0.9.93 [Firefox 52.9.0/20180621064021]]
20:41-!-chomwitt [~chomwitt@ppp-94-66-223-221.home.otenet.gr] has quit [Ping timeout: 480 seconds]
21:54-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has quit [Ping timeout: 480 seconds]
22:10-!-Mazur [mazur@5ED2A7DE.cm-7-3c.dynamic.ziggo.nl] has quit [Ping timeout: 480 seconds]
22:18-!-Mazur [mazur@5ED2A7DE.cm-7-3c.dynamic.ziggo.nl] has joined #openttd
22:18-!-Mazur is "Stefan Linnemann" on #oolite #openttd #openttdcoop.stable #openttdcoop
23:09-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has quit [Read error: Connection reset by peer]
23:09-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has joined #openttd
23:09-!-Supercheese is "Supercheese" on #openttd
23:20-!-glx [~glx@000128ec.user.oftc.net] has quit [Quit: Bye]
23:34-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has quit [Quit: Valete omnes]
23:43-!-haudrauf [~haudrauf2@00021656.user.oftc.net] has quit [Ping timeout: 480 seconds]
23:44-!-haudrauf [~haudrauf2@00021656.user.oftc.net] has joined #openttd
23:44-!-haudrauf is "Haudrauf" on #openttd #frickelplatz #cryptoparty
---Logclosed Sun Jul 29 00:00:54 2018