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

Powered by YARRSTE version: svn-trunk