IRC logs for #openttd on OFTC at 2018-07-28
            
00:00:04 *** Supercheese has quit IRC
01:01:36 *** keoz has quit IRC
01:17:57 *** chomwitt has quit IRC
01:55:44 *** virtualrandomnumber has quit IRC
02:39:06 *** Progman has quit IRC
02:39:23 *** snail_UES_ has joined #openttd
02:52:27 *** tyteen4a03 is now known as t4
02:55:43 *** t4 is now known as tyteen4a03
04:10:52 *** Ttech has joined #openttd
04:31:25 *** WHamilton has joined #openttd
04:33:01 <WHamilton> help, my first plane won't land! is the airport too close to the road? https://gfycat.com/VerifiableGraveIberiannase
04:35:35 <Eddi|zuHause> that doesn't sound like a legit url
04:37:55 <Eddi|zuHause> anyway, there might be a "close airport" button somewhere that you ticked
04:39:16 <WHamilton> forgot i closed it earlier, thanks
04:39:18 *** WHamilton has quit IRC
07:21:18 *** Alberth has joined #openttd
07:21:18 *** ChanServ sets mode: +o Alberth
07:21:23 <Alberth> o/
07:53:51 *** nielsm has joined #openttd
07:54:08 <nielsm> morning
08:03:56 *** andythenorth has joined #openttd
08:04:14 <andythenorth> moin
08:07:46 <peter1138> yes
08:07:50 <andythenorth> @seen pikka
08:07:50 <DorpsGek> andythenorth: pikka was last seen in #openttd 6 weeks, 4 days, 20 hours, 49 minutes, and 53 seconds ago: <Pikka> oops
08:07:55 <peter1138> o_O
08:09:09 <andythenorth> I have 90 trains to draw :P
08:09:19 <andythenorth> somehow pikka reminds me to do it
08:09:30 <andythenorth> but no pikka so eh
08:39:48 <Alberth> apparently, pikka doesn't need to be around for you to remind it?
08:40:13 <Alberth> *remember
08:40:42 *** SpComb has joined #openttd
08:42:23 <andythenorth> apparently
08:49:29 <nielsm> I just spent way too long on painting this :D https://user-images.githubusercontent.com/1062071/43353938-720a617c-9242-11e8-8de6-72a2136b8282.png
08:54:23 <andythenorth> o_O
08:54:28 <andythenorth> moin nielsm
08:57:32 <andythenorth> is 'type city produces accepts' a dropdown filter?
09:02:24 <nielsm> yes that's the intention
09:09:43 <peter1138> Argh at Chain Reaction
09:09:52 <peter1138> Ordered something last night for 4-5 day free delivery.
09:10:05 <peter1138> They shipped it. Today. To my work address, of course, because 4-5 day free delivery.
09:12:22 <andythenorth> :P
09:13:20 <andythenorth> I hate drawing tank wagons :P
09:13:23 <andythenorth> or anything round
09:13:27 <andythenorth> or pointy
09:16:08 <Alberth> that leaves box wagons and open wagons I guess? :)
09:16:24 <andythenorth> they're ok
09:16:33 <andythenorth> also hoppers mostly ok
09:17:03 <Alberth> except for the cargo
09:19:01 <andythenorth> once I have one good tank wagon, the other 14 will be easier
09:21:34 <Alberth> can't pixa compute the color based on position on the tank?
09:25:15 <andythenorth> probably could teach it
09:40:42 *** chomwitt has joined #openttd
10:00:55 <andythenorth> nielsm: this industry stuff is pretty exciting :)
10:03:11 <nielsm> have you managed to do anything useful yet?
10:09:17 <andythenorth> I haven't tried patching nml yet
10:09:24 <andythenorth> waiting to see what happens with the github import
10:16:30 <andythenorth> getting nml reviewed without github is kind of daft
10:40:17 *** Progman has joined #openttd
10:53:22 <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
10:55:30 <nielsm> nah my "cargo slots" means something else
10:55:52 <nielsm> it's position in the array of accepted/produced cargoes for the industry in question
10:58:44 <nielsm> hmm I seem to have broken cargo suffixes on industries
10:59:34 <nielsm> https://0x0.st/sV7w.png
11:01:14 * andythenorth afk a bit
11:03:03 *** keoz has joined #openttd
11:03:44 <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 ;)
11:32:10 *** Wormnest has joined #openttd
11:39:08 <Alberth> oh joy, there are several tables for grf actions, and they overlap
11:40:53 *** keoz has quit IRC
11:46:07 *** Eddi|zuHause has quit IRC
12:13:18 <nielsm> /* There are no callbacks 0x3E - 0x13F */
12:13:36 <nielsm> is that because it's impossible, or just that they haven't been defined?
12:24:11 <Alberth> who knows, it's all one pile of legacy crap
12:27:57 <nielsm> I have a suspicion AddAcceptedCargo_Industry has been broken for years and per-tile cargo acceptance callbacks don't actually work
12:29:43 <nielsm> oh wait never mind
12:41:34 <andythenorth> :)
12:43:29 <nielsm> should also add the variable length acceptance to house tiles, but they're annoying because of special logic surrounding goods/food/toys acceptance
12:45:25 <nielsm> also will have to write an updated spec update including all the changes to frosch's initial :D
12:45:27 <andythenorth> :P
12:53:28 <nielsm> should I add some kind of global a grf can query about actual max number of accepted/produced cargoes?
12:56:23 <Alberth> would be implied by a grf version number, wouldn't ?
12:57:09 <nielsm> could query openttd version and assume 1.9+ has minimum 16 of each ya
12:57:20 <nielsm> that might be good enough
12:58:09 <Alberth> you can specify 16 cargos input/output in the current definition?
12:59:16 <Alberth> https://newgrf-specs.tt-wiki.net/wiki/Action0/Industries#Production_cargo_types_.2810.29 <-- says "two", so no
12:59:33 <nielsm> https://github.com/OpenTTD/OpenTTD/pull/6867
12:59:40 <nielsm> the patch I'm working on :)
12:59:51 <nielsm> about to write an updated spec update
13:01:19 <Alberth> property 10 is a word, so I fail to see how it does not change the grfspec
13:02:31 <nielsm> by adding new properties instead
13:02:48 <nielsm> the old properties don't change meaning in an incompatible way
13:05:39 <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???!!!
13:09:25 <andythenorth> I have them in my browser Alberth
13:10:31 <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
13:11:56 <Alberth> https://newgrf-specs.tt-wiki.net/wiki/ActionD nice, simple, generic, but no mention of \DR
13:12:58 <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
13:13:55 <Alberth> and there are at least 2 more D tables
13:15:48 *** Wacko1976-work has quit IRC
13:17:06 <andythenorth> :P
13:21:53 <Alberth> you can laugh, but I don't know what to do now
13:23:22 <Alberth> so how is this not ambigious?
13:25:24 <andythenorth> I don't know :)
13:25:32 <andythenorth> I have never used the GRM stuff
13:26:00 <andythenorth> I've never had a problem that I need it to solve
13:26:32 <Alberth> you do use it, read chips/sprites/nfo/grm_sprites.pnfo :p
13:27:41 <andythenorth> yexo wrote that :)
13:28:01 <andythenorth> when I add things to CHIPS, I do it by cargo culy
13:28:03 <andythenorth> cult *
13:28:10 <andythenorth> I have no real idea how the set is built
13:28:18 <andythenorth> I just find the action 2 / 3 I need to change
13:28:48 <Alberth> yeah, that fails if you need to write a station compiler :p
13:28:56 <andythenorth> sorry :(
13:29:48 <Alberth> hopefully someone else knows
13:45:37 <peter1138> don't look at me
14:03:59 <nielsm> okay, finished the long post with spec changes
14:04:02 <nielsm> phew
14:14:01 <andythenorth> :)
14:20:32 <peter1138> hmm so
14:25:34 <andythenorth> I like the tree spec
14:27:08 <nielsm> it's basically a cellular automaton ruleset :P
14:29:00 *** Compu has joined #openttd
14:33:35 <andythenorth> it looks really nice
14:33:48 <andythenorth> there is zero requirement for controlling per tree, per tile
15:08:24 *** ToBeFree has joined #openttd
15:08:50 <nielsm> big question of TT world: what happens to the cargo industries produce but don't transport?
15:11:39 <peter1138> They transported it by hand.
15:12:22 <andythenorth> invisble movers
15:12:28 <andythenorth> like in railroad tycoon 3
15:22:30 <Alberth> simple track .tnfo 966 lines, omg
15:24:33 *** andythenorth has quit IRC
15:38:47 *** sim-al2 has quit IRC
16:07:30 <nielsm> test newgrf: Super Power Plant! https://0x0.st/sVhC.png
16:11:44 *** andythenorth has joined #openttd
16:13:15 <nielsm> https://0x0.st/sVFX.png
16:19:57 *** keoz has joined #openttd
16:23:37 <andythenorth> nielsm: \o/
16:23:46 <andythenorth> this is great :)
16:24:45 <andythenorth> snail_UES_: https://github.com/OpenTTD/OpenTTD/pull/6805
16:26:19 <nielsm> andythenorth, also upgrading house tiles to support var length accepts lists? y/n
16:28:19 <nielsm> https://0x0.st/sVFB.nfo <- superpowerstation.nfo
16:29:38 <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)
16:29:40 <andythenorth> ok :)
16:30:03 <andythenorth> if house tiles follow naturally from industry tiles, it seems legit
16:30:32 <andythenorth> it's not essential though
16:31:41 <nielsm> https://github.com/OpenTTD/OpenTTD/blob/master/src/newgrf.cpp#L2404
16:31:58 <nielsm> it's a bit annoying because of special rules regarding goods/food/drinks
16:34:23 <nielsm> huh, prop 1E is suspicious
16:34:53 <nielsm> oh, right just three bytes in a dword
16:35:10 <snail_UES_> andythenorth: saw that… so now it’s in trunk? :)
16:40:16 <andythenorth> snail_UES_: yes
16:40:22 <andythenorth> but there's no compile farm at the moment
16:40:43 <snail_UES_> hmm, what does thst mean?
16:40:57 <andythenorth> no binaries are getting built
16:41:05 <andythenorth> if you want to try it, you'll have to compile your own
16:45:19 <snail_UES_> ok, I use a mac anyway :p
16:45:27 <snail_UES_> I’ve always had to compile my OTTD
16:46:42 *** Kippers has joined #openttd
16:47:30 <andythenorth> binaries never worked? :o
16:48:03 <snail_UES_> honestly I never tried…
16:48:32 <snail_UES_> I leanrt how to apply patches OTTD time ago so I became familiar with compiling my own
16:48:38 <snail_UES_> so never cared for binaries since :D
16:50:23 <nielsm> I'm reading nml's code right now
16:50:46 <nielsm> wondering what's a better approach to the variable lenth acceptance
16:51:18 <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
16:52:35 <andythenorth> nml tends towards magic
16:52:39 <andythenorth> I'd favour magic
16:53:05 <andythenorth> magic makes it use nfo docs to understand nml, which I often have to do
16:53:05 <andythenorth> but
16:53:11 <andythenorth> it's easier for authors on average
16:53:51 <snail_UES_> question for you guys. Could we have certain railtypes only allow 90-degree curves, instead of “all or nothing”?
16:54:15 <snail_UES_> I think this request was pushed back time ago, but was wondering if our progress since would make it possible
16:54:17 <andythenorth> oof, I made a tactical coffee error
16:54:30 <andythenorth> I didn't drink coffee due to my gut hurting
16:54:42 <andythenorth> now I have shakes and sweats and no-coffee rage
16:55:02 <nielsm> snail_UES_: without knowing much about the pathfinding logic, I think having train types be limited instead is easier to implement at least
16:58:32 <snail_UES_> nielsm: meaning, only trains coded with certain railtypes would be able to run on 90-degrees line?
16:58:48 <snail_UES_> that would be a useful feature by itself
16:59:24 <nielsm> I think you might be able implement it as a per-vehicle flag
16:59:48 <snail_UES_> that would work...
17:00: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
17:00:02 <nielsm> for example
17:00:33 <snail_UES_> nielsm: yes, I was thinking about using gauge as the criterion
17:00:40 <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)
17:03:44 <andythenorth> that is an interesting idea
17:03:55 <andythenorth> like a reverse-tilt bonus :P
17:04:14 <andythenorth> due to pathfinding, I'd rather nerf the speed than ban 90 degrees
17:04:50 <snail_UES_> andythenorth: speed is already limited
17:05:52 <andythenorth> for me the interesting question is 'how to buff narrow gauge'
17:06:03 <andythenorth> are there other ways? o_O
17:07:29 <nielsm> can't imagine anything other than making slopes even steeper
17:07:51 *** ToBeFree has quit IRC
17:09:16 <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)
17:09:38 <andythenorth> just buff TE
17:11:28 <snail_UES_> nielsm: that’s rackrail…
17:11:51 <snail_UES_> as you said, unfortunately all slopes in the game have the same steep
17:12:15 <snail_UES_> so rackrail trains, even if I give them a zillion kN of TE, don’t really have a real in-game advantage
17:12:41 <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
17:13:18 <snail_UES_> that’s why I was thinking about sharper (90-degree) curves
17:37:44 *** Kippers has quit IRC
17:40:37 *** chomwitt has quit IRC
18:05:02 <andythenorth> the thing with NG
18:05:12 <andythenorth> is that it is still 1 track per tile, so no density gain
18:05:20 <andythenorth> and the vehicles tend to be lower capacity per unit length
18:05:25 <andythenorth> so negative density there
18:05:30 <andythenorth> so it's quite nerfed :D
18:09:12 <michi_cc> snail_UES_: Absolutely untested in any way: https://gist.github.com/michicc/8d16426de023d015ce4f16d85d77a606
18:10:24 <michi_cc> Two more flags for prop 10, bit 2 always allow, bit 3 always disallow, disallow wins (also when two different railtypes connect).
18:11:06 <snail_UES_> michi_cc: looks great...
18:11:30 <michi_cc> I didn't even press run, so YMMV :p
18:14:31 <snail_UES_> I can test it myself if that helps
18:14:53 <michi_cc> I was expecting that :p
18:15:03 <snail_UES_> if I download ottd’s source code from github, how can I apply this patch? (sorry for the silly question)
18:15:19 <michi_cc> patch -p1 -i <insert file name here>
18:15:26 <snail_UES_> ok
18:20:57 <snail_UES_> michi_cc: any particular things/train behaviors I should be specifically test for?
18:21:06 <michi_cc> Maybe even: curl -s https://gist.githubusercontent.com/michicc/8d16426de023d015ce4f16d85d77a606/raw/3947816604d7c2b03988caec66a59bb0edf78908/railtype_90deg_curve.patch | patch -p1
18:21:24 <michi_cc> snail_UES_: Everything, I literally didn't even run openttd :)
18:21:34 <snail_UES_> haha ok
18:23:58 <snail_UES_> michi_cc: again sorry for the silly question: what step should I run “patch -p1” etc. at? between the “./configure” and “make”?
18:24:04 <snail_UES_> or before “configure”?
18:24:51 <michi_cc> Before usually, but in this case the patch doesn't change anything in configure, so it doesn't matter here.
18:24:59 <snail_UES_> ok, thanks
18:25:01 *** Kippers has joined #openttd
18:31:03 <snail_UES_> michi_cc: it compiled fine, I’ll test it later today
18:32:11 <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:
18:32:13 <snail_UES_> “checking revision... no detection”
18:32:18 <snail_UES_> “WARNING: there is no means to determine the version.”
18:32:24 <snail_UES_> "WARNING: please use a subversion, mercurial, or git checkout of OpenTTD."
18:32:31 <snail_UES_> “WARNING: you can only join game servers that have been compiled without”
18:32:37 <snail_UES_> “WARNING: version detection.”
18:32:42 <snail_UES_> “WARNING: there is a great chance you desync."
18:33:10 <snail_UES_> and when I run the game, the window label is “OpenTTD norev000"...
18:33:20 <michi_cc> You need to make a proper git clone and not just download a source archive.
18:33:20 <snail_UES_> what am I doing wrong?
18:33:53 <michi_cc> And additionally have git on your PATH.
18:34:53 <snail_UES_> ahguess I need GitHubDesktop?
18:35:49 <Alberth> just plain git is what you need, no idea if that GH thing has it
18:39:59 *** haudrauf has joined #openttd
18:49:32 *** Kippers has quit IRC
18:49:48 <andythenorth> snail_UES_: mac OS right?
18:49:50 <andythenorth> git is built in
18:49:54 <snail_UES_> yes
18:50:14 *** virtualrandomnumber has joined #openttd
18:53:08 <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
19:04:55 <nielsm> making an svn checkout is almost certainly wrong?
19:05:20 <snail_UES_> right… silly move of mine
19:10:49 *** imdak has joined #openttd
19:29:32 <virtualrandomnumber> found weird behaviour regarding two-way path signals: https://i.imgur.com/eR2KkGK.png
19:43:34 <LordAro> nielsm: is this the thing where github actually has svn repos?
19:52:51 *** Kippers has joined #openttd
19:54:10 <nielsm> LordAro, never heard of it and strongly doubt it
19:54:37 <LordAro> nielsm: https://help.github.com/articles/support-for-subversion-clients/ ;)
19:54:51 <nielsm> huh okay
19:54:56 *** keoz has quit IRC
20:03:09 <peter1138> It's still wrong, we use git ;p
20:03:50 *** Kippers has quit IRC
20:07:06 *** haudrauf has quit IRC
20:07:44 *** haudrauf has joined #openttd
20:13:24 *** Kippers has joined #openttd
20:15:03 <planetmaker> virtualrandomnumber, and what exactly is weired there?
20:16:25 <virtualrandomnumber> one of the trains is waiting at the block signal, but it should be able to proceed to the path signal
20:20:24 <nielsm> I'd say "just don't put signals up right against each other, it's plain wrong to do"
20:20:32 <nielsm> (because it is, in my opinion)
20:21:00 <nielsm> but the actual reason is something to do with two behaviors of the signal types being too different
20:22:30 <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
20:24:56 <nielsm> I wonder if it's really worth it to keep allowing vehicles with no orders to move
20:25:06 <nielsm> not having a pathfinding destination causes weirdness all over
20:25:08 <nielsm> doesn't it?
20:29:50 <planetmaker> virtualrandomnumber, 'stopped' at that position looks very much like manually stopped
20:30:19 <nielsm> planetmaker, it's train 3 that's interesting
20:31:20 *** Hobbyboy has joined #openttd
20:31:34 <virtualrandomnumber> the rightmost train is stopped to showcase that it reserved a path despite coming from a block signal
20:31:59 <planetmaker> hm, you mean #3 should move to the next signal and then wait?
20:32:29 <planetmaker> maybe...
20:35:26 <SpComb> what kind of person mixes path and block signals together?
20:36:14 <nielsm> I often build line blocks, possibly just a bad habit
20:36:38 <nielsm> and then path signals at junctions
20:37:27 <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
20:41:38 <Alberth> not bad, just crashy :p
20:43:49 <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.
20:44:58 <Alberth> I know, it's a very good way to crash your trains
20:56:21 <Kippers> But what if you just want to watch the world burn?
20:57:19 <Alberth> is not a development goal of the game
20:58:16 <Alberth> planetmaker: https://webster.openttdcoop.org/index.php?channel=openttd&date=1532736000#1532775939 halp :(
20:59:14 <Alberth> also, made GH project for the macro-thingie, but didn't push yet
21:00:53 <nielsm> yay it's raining here!
21:04:27 <andythenorth> Alberth: hope frosch knows how Action D works :|
21:06:10 <Alberth> this was the 5th or so NFO statement I looked at, not promising :(
21:06:35 *** Kippers has quit IRC
21:07:04 <Alberth> maybe I should write a GRF disassembler
21:07:57 <andythenorth> might help :)
21:08:13 <Alberth> I 'll run into all problems at least then
21:08:15 <nielsm> call it lmn
21:08:18 <nielsm> logic matcher for nfo
21:08:22 <andythenorth> seems like quite an organic spec eh
21:08:50 <Alberth> I could look in the openttd source code, but it should be in the spec
21:09:13 <andythenorth> https://dev.openttdcoop.org/issues/954
21:09:26 <nielsm> what we need is NotGRF
21:09:39 <nielsm> something that isn't GRF, for modding
21:09:47 <Alberth> there is no entry point to decode an arbitrary nfo sequence, it seems
21:10:15 <andythenorth> xml :P
21:10:46 <nielsm> yes you pretty much have to execute the GRF program to determine its meaning
21:12:24 <Alberth> I am aware of that, but it's a too simple approach, besides I would start from grf rather than nfo
21:13:36 <nielsm> as far as I understand, there is very little distance between NFO and GRF
21:14:08 <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
21:18:23 <Alberth> yep, although grf container 2 shuffles the realsprites and the nfo statements into two separate sections
21:18:56 * planetmaker reads
21:19:01 <Alberth> but it eliminates all the text stuff, and syntactic shorthands
21:19:26 <Alberth> ie just plain bytes :)
21:20:10 <Alberth> (and words and double words :p )
21:20:36 <planetmaker> Alberth, so your confusion is as of the different types of Action D?
21:21:15 <planetmaker> or do I need to scroll up more to understand the question? :D
21:21:17 <Alberth> curently, yes
21:22:07 <Alberth> the 2 links describe different things, but the latter (GRM stuff) fits in the former template
21:22:27 <planetmaker> yes, it should at least
21:22:28 <Alberth> so no way to differentiate between both
21:22:49 <Alberth> it should?
21:24:30 <Alberth> so I want some math operation, invent source1, source2, and data or whatever, and suddenly it's interpreted as GRM?
21:25:20 <planetmaker> I think there is a way... hm
21:25:50 <Alberth> not to mention this isn't even mentioned at the action D page
21:26:06 <Alberth> there is a list of alternative interpretations in the overview only
21:26:28 <Alberth> no idea if there is overlap there too
21:28:45 <Alberth> I hope that is the complete list, there could be more tables that overlap
21:29:08 <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
21:29:44 <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.
21:30:45 <planetmaker> https://newgrf-specs.tt-wiki.net/wiki/ActionD#target.2C_source1.2C_source2
21:30:53 <Alberth> yeah, I see
21:31:20 <Alberth> oh joy, let's just remove value 254
21:32:08 *** Supercheese has joined #openttd
21:32:21 <Alberth> ok, thanks
21:32:27 <planetmaker> Removing that, and making it a separate action for those things, might actually simplify stuff :)
21:32:33 <planetmaker> but... legacy...
21:32:39 <planetmaker> grf v9
21:33:11 <Alberth> let's just start from action 20 then
21:33:31 <Alberth> everything < x20 is obsolete by definition
21:33:47 <planetmaker> <0x20 for what?
21:33:57 <planetmaker> ah, new actions. Hm
21:34:01 <Alberth> not use it at all
21:34:02 <planetmaker> yeah.
21:34:20 <planetmaker> Doing so, jointly with implementing stuff in NML would probably be a nice thing :)
21:34:28 <planetmaker> could be added step by step
21:35:28 <Alberth> not sure it makes sense to change nml
21:35:44 <Alberth> but not there by a long shot currently
21:35:57 *** Kippers has joined #openttd
21:36:26 <planetmaker> ok, so your take is rather "starting with action 0x20 and nmlc2 (or by whatever name it goes)"?
21:36:40 <Alberth> the core is expressions, but with the dynamic Python, it's very hard to refactor it
21:37:28 <Alberth> oh, I don't know, I would say stations should work in current grf :p
21:37:30 <planetmaker> not sure I understand what you're telling me
21:38:29 <Alberth> nml is huge and messy in the core; expressions aren't done right as far as I can tell
21:38:49 <planetmaker> hm
21:39:07 <Alberth> causing massive memory needs and being slow
21:39:43 <Alberth> I think it tries to optimize the same expressions a zillion times, making new copies all the time
21:41:16 <Alberth> I tried improving it, but the entire programs comes down, since nml is basically expression manipulation and not much more
21:41:39 <nielsm> ottd would kinda benefit from putting newgrf and squirrel into the "legacy" corner of shame and replacing both with a single modern language
21:41:48 <nielsm> but the effort would be gigantic
21:41:51 <nielsm> to reach feature parity
21:41:53 <Alberth> and Python makes it hard to change the code, since there is not hard typing available
21:43:08 <Alberth> or rather. consistency checks, with "x.expr" are BinOp.expr field accesses? no simple way to tell.
21:43:18 <Alberth> s/with/which/
21:44:49 <Alberth> so improving nml is a major effort at least
21:45:12 <Alberth> nielsm: I don't think newgrf and squirrel can be merged into one language
21:45:33 <Alberth> you'd be trying to get machine language and eg Python into one language
21:46:11 <nielsm> I'm not saying to just blind copy the way everything is done
21:46:24 <nielsm> but rather reimagine and build a new programming interface for it
21:46:50 <planetmaker> Then include the game scripts, too. But that's... indeed very huge
21:47:12 <Alberth> you'd need much higher level newgrf-like primitives then
21:47:30 <Alberth> and it's hard to sell, as authors give up a lot of control that they have now
21:48:12 <Alberth> squirrel mat be weird, but it's simple enough that people can write AIs in it
21:48:38 <Alberth> just like Andy can hack nml, as it's Python and not C++
21:49:07 <Alberth> or C
21:50:48 <planetmaker> hm... yes-ish
21:52:09 <nielsm> I don't think it'd actuallyh be a good idea to try making a replacement though :)
21:52:20 *** glx has joined #openttd
21:52:20 *** ChanServ sets mode: +v glx
21:52:29 <nielsm> OTTD itself is just a gigantic ball of legacy rolled onto legacy
21:53:59 <Alberth> yep :)
21:54:25 <nielsm> in other words, may as well write a brand new game from ground up
21:56:10 <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)
21:56:14 <Alberth> yes, but then you get the problem of what to build
21:57:32 <Alberth> having nice looking graphics is what sells, good scaling doesn't
21:59:14 <nielsm> eh, for the hardcore transport sim crowd, mechanics and customizability sells
22:00:28 <FLHerne> Alberth: There was grf2html at one time
22:00:54 <Alberth> there was, wasn't it :)
22:01:03 <Alberth> no idea what that did :p
22:01:04 <planetmaker> but that was only to somewhat display the NewGRF contents, not any of its logic
22:01:07 <Alberth> but good thought
22:02:10 *** imdak has quit IRC
22:03:01 <FLHerne> I was thinking about trying to make a newer version of that
22:03:52 <FLHerne> (currently, I'm on restart-from-scratch n+1 of trying to make a GRFMaker-esque tool that reads/writes NML)
22:04:05 <Alberth> https://www.tt-forums.net/viewtopic.php?f=68&t=34279&sid=614f3171947f084600ba31d249d852bc it does show links between sprites
22:04:37 <planetmaker> ah, true
22:05:05 <Alberth> starting behind the parser, or after it is converted to a data structure FLHerne ?
22:05:39 <planetmaker> FLHerne, I never quite understood the advantage of grfmaker over NML... what does it make easier?
22:05:45 <Alberth> so grf2html may do a lot of things I need to have as well
22:07:05 <Alberth> pre-grfcontainer 2 though :p
22:07:25 <FLHerne> Alberth: Using a lightly-modified version of nmlc, currently
22:07:40 <FLHerne> http://www.flherne.uk/files/munge_screenshot.png
22:08:02 <FLHerne> (still not at all what I actually want)
22:08:25 <FLHerne> planetmaker: It's nice for people who just want to click some buttons to put their sprites in the game
22:08:45 <FLHerne> And don't want to learn a new programming language (or the concept of a programming language) to do so
22:09:06 <FLHerne> (the problem with GRFMaker being that if you want to do anything else, you're stuck at a dead end)
22:09:41 <FLHerne> Currently I'm working on being able to edit strings
22:10:48 <FLHerne> Alberth: To be clearer - it's working pretty much directly on the output of NMLParser.parse()
22:11:12 <FLHerne> But I'm using various other methods where they're useful
22:12:41 <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
22:12:53 <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!!
22:12:54 <nielsm> ;)
22:13:31 <planetmaker> hehe
22:14:16 <Alberth> I am pondering if we could have something else than switches, they seem too low level
22:14:30 <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
22:14:46 <planetmaker> so people wouldn't even need to install anything other than a text editor and graphics editor
22:15:03 <Alberth> app :p
22:15:15 <FLHerne> It would be nice to have something like grf2html aimed at end-users running on Bananas
22:15:56 <Alberth> too techy probably, you want some nice screenshots
22:15:59 <FLHerne> So people could browse the contents of grfs rather than just look at the names
22:16:19 <Alberth> ie advertising :)
22:16:21 <planetmaker> it would indeed... Both actually. I think DevZone once used grf2html to document the grfs it built
22:16:34 <planetmaker> but... grf2html failed to parse the container2 stuff, so was discontinued
22:16:59 *** frosch123 has joined #openttd
22:17:10 <FLHerne> Alberth: Was thinking of andy's shiny docs http://bundles.openttdcoop.org/iron-horse/push/LATEST/docs/html/trains.html
22:17:56 <FLHerne> They're a bit techy, but if that's too techy then OTTD is the wrong game for you
22:18:04 <Alberth> yep, all nicely automagically generated from Python tables
22:18:33 <Alberth> or objects nowadays, I think
22:18:58 <Alberth> which also generates the nml code, so it's always consistent :)
22:19:16 <Alberth> andy has a very nice setup for making grfs
22:19:38 <planetmaker> very much indeed
22:20:14 <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
22:20:55 <Alberth> FLHerne: maybe you should start simpler, your screenshot already has a lot of details for someone wanting to click stuff
22:21:06 <Alberth> eg a table like andy has
22:21:13 <FLHerne> Alberth: I'm kind of doing it backwards ;-)
22:21:49 <frosch123> https://newgrf-specs.tt-wiki.net/wiki/ActionD <- Alberth: there are three links in the target,source1,source 2 section
22:21:56 <frosch123> the third one is the one you were missing
22:22:03 <FLHerne> I started out with just having all the properties editable as plaintext NML expressions, then incrementally making UI editors per type
22:23:00 <FLHerne> That way if you feed it something I've not thought of yet (i.e. most things...), you can still edit it manually
22:24:03 <Alberth> frosch123: I was confused by no way to distinguish between that page and the page behind the 3rd link
22:24:12 <nielsm> frosch123: So adding something in that range risks breaking things? i.e. I should renumber the new callbacks I defined
22:24:25 <Alberth> but apparently there is, I missed a sentence above the links
22:24:38 <frosch123> nielsm: i did not catch up so far, no idea what callbacks you added
22:27:06 <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
22:27:29 <Alberth> together with expecting the table to be complete in differentiating all the cases, rather than hiding stuff in text
22:28:15 <frosch123> well, i think there is a single usecase left for GRM
22:28:18 <frosch123> so hardly important
22:28:50 <planetmaker> reading parameters from other NewGRFs is done
22:29:14 <planetmaker> and checking for the presence of those, of course
22:30:49 <Alberth> doesn't matter whether it is used, if it's part of the spec it must be described
22:31:33 <planetmaker> Well. NML does not try to implement *everything*. Just the useful bits. Leaving out some stuff on purpose
22:31:50 <planetmaker> That stuff which we want to phase-out from being used
22:32:10 <Alberth> oh that's fine
22:32:43 <planetmaker> especially of course, when there's several ways to the same end... then choosing the nicer one is an easy choice :)
22:32:53 <Alberth> code generator has the freedom to implement it in any way such that it works
22:34:32 <frosch123> planetmaker: https://paste.openttdcoop.org/psdklxgfg/jjtegn <- that's the mapping i used
22:34:36 <frosch123> for nml
22:34:41 <Alberth> hmm, x86 instructions perhaps? :p
22:34:57 <frosch123> i found some magic thingie to convert redmine issues to gh, i'll try that one tomorrow
22:35:13 <planetmaker> yay :)
22:36:16 <planetmaker> and yes, that clone you made worked/s nicely for me
22:36:17 <frosch123> i think the only mail that does not exist is hirundo's
22:36:20 <frosch123> i invented that one
22:37:27 <planetmaker> :)
22:39:39 <Alberth> @example.org :)
22:42:16 <planetmaker> @coop is ok
22:45:00 <Alberth> yeah, should be fine
23:00:09 *** Alberth has left #openttd
23:00:29 <frosch123> anyway, if you find any typos, it's a few seconds to do a conversion with different author mapping
23:01:10 <planetmaker> FWIW: I didn't see any yesterday. Nor when I looked a few minutes ago.
23:07:13 <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.
23:10:29 <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
23:10:49 <frosch123> some issues have a label "good first issue"
23:10:52 <frosch123> or similar
23:10:54 <planetmaker> like "tree" when you look for things related to tree generation/drawing/... and then go from what you need
23:11:41 <planetmaker> bed time though. Last nights all were late. Good night :)
23:12:04 <Kippers> Thanks, I'll try it tomorrow
23:16:02 *** sim-al2 has joined #openttd
23:17:35 *** argoneus has quit IRC
23:21:00 <andythenorth> bed
23:21:01 *** andythenorth has left #openttd
23:35:22 *** Kippers has quit IRC
23:37:18 *** peter1138 is now known as Guest2335
23:37:25 *** peter1138 has joined #openttd
23:37:25 *** ChanServ sets mode: +o peter1138
23:38:26 *** Guest2335 has quit IRC
23:40:09 <nielsm> okay I think that's also 16 cargo types acceptance for houses done
23:57:46 <nielsm> and gn