Config
Log for #openttd on 19th July 2014:
Times are UTC Toggle Colours
00:13:56  *** Hazzard [~quassel@c-67-174-253-44.hsd1.ca.comcast.net] has joined #openttd
00:15:39  *** luaduck is now known as luaduck_zzz
00:20:42  *** Hazzard_ [~quassel@c-67-174-253-44.hsd1.ca.comcast.net] has quit [Ping timeout: 480 seconds]
00:59:04  *** kero [~keikoz@78.250.211.8] has joined #openttd
01:08:18  *** kero [~keikoz@78.250.211.8] has quit [Quit: kero]
01:41:46  *** glx [~glx@000128ec.user.oftc.net] has quit [Quit: Bye]
01:58:20  *** SylvieLorxu [~sylvie@dhcp-077-251-165-191.chello.nl] has quit [Remote host closed the connection]
02:37:08  *** tokai|mdlx [~tokai@port-92-195-54-110.dynamic.qsc.de] has joined #openttd
02:43:17  *** tokai|noir [~tokai@00012860.user.oftc.net] has quit [Ping timeout: 480 seconds]
02:54:28  *** pthagnar [~pthagnar@cpc7-pres17-2-0-cust28.18-3.cable.virginm.net] has joined #openttd
03:37:16  *** trendynick [~trendynic@188.26.254.160] has joined #openttd
04:56:02  *** Eddi|zuHause [~johekr@p5DC670C5.dip0.t-ipconnect.de] has quit []
04:56:16  *** Eddi|zuHause [~johekr@p5DC6748A.dip0.t-ipconnect.de] has joined #openttd
05:28:19  *** Flygon_ [~Flygon@147.18.214.218.sta.commander.net.au] has joined #openttd
05:34:47  *** Flygon [~Flygon@147.18.214.218.sta.commander.net.au] has quit [Ping timeout: 480 seconds]
05:36:17  *** smb_ [~smb_@199.119.245.122] has joined #openttd
05:51:33  *** Hazzard [~quassel@c-67-174-253-44.hsd1.ca.comcast.net] has quit [Ping timeout: 480 seconds]
05:52:45  *** LSky` [~LSky@5ED4B2EA.cm-7-5c.dynamic.ziggo.nl] has joined #openttd
06:19:51  *** shirish_ [~quassel@117.195.109.97] has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
06:20:56  *** Pensacola [~quassel@h220216.upc-h.chello.nl] has joined #openttd
06:45:34  *** shirish [~quassel@117.195.109.97] has joined #openttd
06:49:03  *** HerzogDeXtEr [~flex@88.130.171.0] has joined #openttd
06:50:39  *** Wolf01 [~wolf01@0001288e.user.oftc.net] has joined #openttd
06:50:57  <Wolf01> hello o/
06:55:17  *** Yotson [~Yotson@2001:980:6ac8:1:3cec:b06c:1c6b:29f1] has joined #openttd
07:02:14  *** Polleke [~quassel@h220216.upc-h.chello.nl] has joined #openttd
07:04:07  *** shirish_ [~quassel@59.88.98.197] has joined #openttd
07:06:25  *** Progman [~progman@p57A1BB79.dip0.t-ipconnect.de] has joined #openttd
07:08:01  *** bugzee [~bugzee@208.114.86.155] has quit [Read error: Operation timed out]
07:08:12  *** Pensacola [~quassel@h220216.upc-h.chello.nl] has quit [Ping timeout: 480 seconds]
07:08:21  *** EyeMWing [~Wing@c-68-33-226-154.hsd1.va.comcast.net] has quit [Read error: Connection reset by peer]
07:10:31  *** Pensacola [~quassel@h220216.upc-h.chello.nl] has joined #openttd
07:11:28  *** EyeMWing [~Wing@c-68-33-226-154.hsd1.va.comcast.net] has joined #openttd
07:11:32  *** shirish [~quassel@0001358e.user.oftc.net] has quit [Ping timeout: 480 seconds]
07:16:11  *** Polleke [~quassel@h220216.upc-h.chello.nl] has quit [Read error: Operation timed out]
07:17:45  *** bugzee [~bugzee@208.114.86.155] has joined #openttd
07:48:30  *** HerzogDeXtEr [~flex@88.130.171.0] has quit [Quit: Leaving.]
08:03:22  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has quit [Remote host closed the connection]
08:03:37  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has joined #openttd
08:07:12  *** smb_ [~smb_@199.119.245.122] has quit [Ping timeout: 480 seconds]
08:08:51  *** Pensacola [~quassel@h220216.upc-h.chello.nl] has quit [Read error: Connection reset by peer]
08:09:03  *** Pensacola [~quassel@h220216.upc-h.chello.nl] has joined #openttd
08:18:00  *** Polleke [~quassel@h220216.upc-h.chello.nl] has joined #openttd
08:20:17  *** Pensacola [~quassel@h220216.upc-h.chello.nl] has quit [Ping timeout: 480 seconds]
08:27:03  *** Polleke [~quassel@h220216.upc-h.chello.nl] has quit [Remote host closed the connection]
08:33:53  *** FLHerne [~flh@dsl-217-155-24-22.zen.co.uk] has joined #openttd
08:39:19  *** SylvieLorxu [~sylvie@dhcp-077-251-165-191.chello.nl] has joined #openttd
08:42:12  *** andythenorth [~Andy@host86-141-169-95.range86-141.btcentralplus.com] has joined #openttd
08:47:57  *** frosch123 [~frosch@frnk-4d01d786.pool.mediaways.net] has joined #openttd
08:53:56  <andythenorth> o/
09:00:40  <frosch123> hai
09:01:55  <andythenorth> partial compiles :P
09:01:57  <andythenorth> and dep checks
09:02:05  <andythenorth> no point going faster if the result is wrong :P
09:03:21  <andythenorth> can I trust the modification date on a dir to be the date of the last modified file?
09:03:26  <andythenorth> assuming no renames
09:03:39  <andythenorth> or is that only OS X?
09:04:47  <frosch123> no, it only changes if you change the directory entry
09:04:52  <frosch123> modifying files does not change it
09:04:59  <andythenorth> urgh
09:05:05  <frosch123> also it is changed by unrelated files
09:05:06  <andythenorth> that means I have to walk every file in the dir :(
09:05:16  <frosch123> 'find' is your friend
09:07:13  <andythenorth> wondering if there’s any problem with using the python equivalent?
09:07:29  <andythenorth> there will be one in os.[something]
09:08:09  *** MJP [~mjp@hq.z77.fr] has joined #openttd
09:11:25  <andythenorth> hmm
09:11:40  <andythenorth> try / except is kind of deprecated these days?
09:17:13  <andythenorth> L47-54 I’m doing something wrong there
09:17:13  <andythenorth> https://dev.openttdcoop.org/projects/iron-horse/repository/revisions/default/entry/src/render_nml_nfo.py#L45
09:17:17  <andythenorth> it works, but it’s odd
09:18:28  <andythenorth> where are the code police when you need them?
09:18:32  <andythenorth> saturday morning is quiet
09:19:40  * andythenorth removes some if statements
09:22:08  *** kero [~keikoz@78.250.197.251] has joined #openttd
09:22:22  *** bdavenport [~davenport@aeolus.mindlesstux.com] has quit [Ping timeout: 480 seconds]
09:30:40  <Xaroth|Work> 11:11 < andythenorth> try / except is kind of deprecated these days? << why would that be?
09:33:11  *** kero [~keikoz@78.250.197.251] has quit [Ping timeout: 480 seconds]
09:35:50  *** Alberth [~hat@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
09:35:53  *** mode/#openttd [+o Alberth] by ChanServ
09:36:29  *** sla_ro|master [slamaster@89.137.74.191] has joined #openttd
09:40:31  <andythenorth> Xaroth|Work: don’t swallow errors
09:40:45  <andythenorth> it’s usually being used by inexperienced coders who don’t then raise on the except
09:48:49  *** Yotson [~Yotson@2001:980:6ac8:1:3cec:b06c:1c6b:29f1] has quit [Quit: .]
09:49:59  <andythenorth> lo Alberth
09:50:59  <Alberth> hi hi
09:58:38  *** kero [~keikoz@78.250.221.235] has joined #openttd
10:10:46  *** kero [~keikoz@78.250.221.235] has quit [Ping timeout: 480 seconds]
10:11:10  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has quit [Remote host closed the connection]
10:11:24  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has joined #openttd
10:24:00  *** kero [~keikoz@78.250.221.235] has joined #openttd
10:53:32  <Xaroth|Work> andythenorth: exceptions should be swallowed where applicable; it'd be a bit harsh if you had to re-raise every ValueError you get after you int(user_input) ...
10:54:18  <andythenorth> my experience is that using try/except as a conditional block causes errors to be swallowed in production
10:54:38  <andythenorth> 10 years ago there was lot of stuff about using try/except for type checking (for example)
10:55:19  <Eddi|zuHause> that's when you catch more than you actually handle in the except
10:55:29  <Eddi|zuHause> then it goes bad
10:55:54  <Eddi|zuHause> like all other language features, it can be used in good and bad ways
11:32:17  *** Supercheese [~Superchee@76.178.136.186] has quit [Read error: Connection reset by peer]
11:32:47  *** Supercheese [~Superchee@76.178.136.186] has joined #openttd
11:36:06  * andythenorth needs to fix a bloody auto-replace bug in Iron Horse
11:36:08  <andythenorth> :|
11:38:35  <andythenorth> some vehicle types replace fine
11:38:36  <andythenorth> others don't
11:38:40  <andythenorth> just refuse
11:39:45  <andythenorth> also for some reason passenger cars can be replaced by refrigerated cars :P
11:42:27  *** KWKdesign [~KWKdesign@pool-108-52-130-213.phlapa.fios.verizon.net] has quit [Ping timeout: 480 seconds]
11:42:48  *** KWKdesign [~KWKdesign@pool-108-52-130-213.phlapa.fios.verizon.net] has joined #openttd
11:43:31  <andythenorth> default cargo PASS on lead unit of articulated consist :P
11:43:35  <andythenorth> shenanigans
11:46:01  <peter1138> clearly we need cargo ANDY
11:46:48  <andythenorth> ho ho ho
11:49:04  *** Stimrol [~Stimrol@46-239-219-51.tal.is] has quit [Quit: ZNC - http://znc.in]
12:04:59  <andythenorth> bloody caboose wagons
12:05:07  <andythenorth> I need them to be auto-replaceable
12:05:11  <andythenorth> but they have zero capacity
12:05:15  <andythenorth> it’s a PITA :)
12:09:02  <Alberth> perhaps this issue? http://www.tt-forums.net/viewtopic.php?p=1126246#p1126246
12:09:29  <andythenorth> nah :)
12:09:34  <Alberth> kk
12:09:40  <andythenorth> it’s the infamous frosch123 cargo refit diagram
12:09:50  <andythenorth> auto-replace will only work if there’s a valid refit
12:10:00  <andythenorth> and ther refit is determined by capacity + refittability + ???
12:10:06  <andythenorth> sacrificing chickens afaict
12:10:08  <NGC3982> You can be infamous.
12:10:42  <andythenorth> afaict it’s impossible to make a train wagon which is replaceable by ${any other train in the game}
12:12:55  <andythenorth> hmm
12:13:04  <andythenorth> it does work if the caboose is refitted first to appropriate cargo
12:13:11  <andythenorth> so to replace with tanker, first refit oil
12:13:13  <andythenorth> etc
12:13:30  <andythenorth> meh
12:15:06  <andythenorth> if we had consist management, I could ignore this :D
12:16:32  <andythenorth> hmm
12:16:37  <andythenorth> or I just ship the fix I found :P
12:17:31  *** tommylommykins [~t@ks362631.kimsufi.com] has left #openttd []
12:18:06  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has quit [Remote host closed the connection]
12:18:20  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has joined #openttd
12:31:28  <andythenorth> bah not a fix
12:31:30  <andythenorth> boring
12:38:09  *** luaduck_zzz is now known as luaduck
13:12:35  *** HerzogDeXtEr [~flex@88.130.171.0] has joined #openttd
13:16:30  *** kero [~keikoz@78.250.221.235] has quit [Ping timeout: 480 seconds]
13:24:06  <Eddi|zuHause> i think you're trying to make autoreplace do something it never was intended to do. why do that?
13:25:03  <Eddi|zuHause> autoreplace only ever was meant to replace a wagon with the same kind of wagon. so you can only make cabooses be replaced by other cabooses
13:29:51  <andythenorth> I’m trying to do it because otherwise replacing cabooses is a PITA
13:29:59  <andythenorth> maybe cabooses are a PITA full stop
13:31:33  <andythenorth> BAD FEATURE
13:32:54  <Alberth> it's bad enough that you need an engine that cannot haul coal :p
13:33:11  <Alberth> such a waste of 1/2 a tile :)
13:41:31  *** Progman [~progman@p57A1BB79.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
13:47:44  <peter1138> Just make everything refittable to anything.
13:55:01  <FLHerne> Just have one vehicle, that runs on all tracks, refits to every cargo, and increases max speed/power/capacity based on date :P
13:56:20  <andythenorth> NUTS
13:56:22  <andythenorth> !
13:56:38  <andythenorth> also
13:56:44  <andythenorth> is livery over-ride a thing, and is it in nml?
13:56:46  <andythenorth> or is it bollocks?
13:56:51  <andythenorth> I could implement my own version
13:59:39  <V453000> it is there but I dont think it is useful for anything except maybe some hack with powered wagons
13:59:49  <V453000> you can just change sprites based on vehicle_type_id with a switch
14:02:40  <andythenorth> yair
14:04:42  *** kero [~keikoz@78.250.199.92] has joined #openttd
14:06:06  <V453000> btw FUCK YES, I managed to cut my sprites in after effects :>
14:06:16  <V453000> no more NML cutting bullshit and overlapping
14:07:39  <V453000> just needed photoshop masks for precision :>
14:13:01  *** kero_ [~keikoz@78.250.199.92] has joined #openttd
14:14:21  <Eddi|zuHause> aw man, it's not enough anymore that Alberth and V453000 have the same colour and same length, now they're also saying the same kind of stuff...
14:14:33  *** kero [~keikoz@78.250.199.92] has quit [Ping timeout: 480 seconds]
14:14:33  <V453000> wat
14:14:36  <Alberth> wta
14:15:01  <Alberth> V doesn't do 1/2 tiles
14:15:19  <Eddi|zuHause> yes, that part should have made me suspicious :p
14:15:43  <V453000> I just started doing them Alberth  :|
14:15:50  <Alberth> :D
14:16:26  <V453000> https://dl.dropboxusercontent.com/u/20419525/CUT_SCHEME_X.png 1,0 and 0,1 :P
14:16:35  <Eddi|zuHause> tbh, colour trumps everything. length i hardly notice
14:18:45  <Alberth> ha yes, I wondered about the left of 2,0, but that wouldn't work of course
14:20:58  <Eddi|zuHause> that looks weird, but i guess it has some kind of logic behind it
14:21:21  <Eddi|zuHause> may have strange effects during construction stages
14:21:41  <Eddi|zuHause> as each industrytile may be in a different stage
14:21:46  <V453000> it has a lot of logic, otherwise you would either get overlaps (which I do now and it costs 2x more space) ... or you would have to not define some things
14:21:48  <V453000> ha
14:21:51  <V453000> :D :)
14:23:38  <Eddi|zuHause> sure, but lots of other ways of cutting things would get you this effect
14:24:07  <V453000> mhm :) well I hope this way I chose will be good :P
14:24:16  <Eddi|zuHause> for example doing 1,0 and 2,0 the same way as 3,0
14:24:48  <V453000> hm yeah that is a possibility
14:24:51  <Eddi|zuHause> (that would also easily scale further)
14:25:09  <V453000> yeah I guess that is a good suggestion :)
14:26:11  <V453000> going to do that
14:29:29  <frosch123> hmm, spam getting better again :)
14:40:18  *** Myhorta [~Myhorta@00018fad.user.oftc.net] has joined #openttd
14:45:46  <Eddi|zuHause> if anything is pushing the development of artificial intelligence, it's spam :p
14:51:41  <andythenorth> new Iron Horse
14:51:42  <andythenorth> spam that
14:51:48  <andythenorth> alpha-6 now on bannaanananananns
14:53:31  <V453000> why do you call it alpha when you are going to abandon it before 1.0 anyway? :P
14:53:34  <V453000> :D cruel
14:54:45  <andythenorth> shouldn’t happen to a horse
14:55:01  <andythenorth> take it out and shoot it :P
14:58:50  <V453000> :D
14:58:56  <V453000> ok so no dying announcements
14:59:02  <V453000> now Horsie goes to the salam
14:59:11  <V453000> way to go andythenorth
15:03:06  *** andythenorth [~Andy@host86-141-169-95.range86-141.btcentralplus.com] has quit [Ping timeout: 480 seconds]
15:03:57  *** andythenorth [~Andy@host86-141-169-95.range86-141.btcentralplus.com] has joined #openttd
15:04:08  <Eddi|zuHause> horse-salami?
15:04:36  <andythenorth> it’s very unfair, the amount I get trolled
15:04:37  <Eddi|zuHause> what happened to all the horse-lasagna anyway?
15:04:39  * andythenorth never trolls anyone
15:05:10  <V453000> LOL
15:05:28  <andythenorth> LOLWUT
15:06:55  <Eddi|zuHause> is "lolwut" any kind of related to "tollwut"?
15:07:22  <andythenorth> probably
15:07:23  <Eddi|zuHause> (tollwut = rabies)
15:07:30  <V453000> I WIN BITCHES :D https://dl.dropboxusercontent.com/u/20419525/industry_3X_f0000.png
15:07:37  <V453000> 404 probably
15:07:42  <Eddi|zuHause> yeah
15:07:50  <Eddi|zuHause> BICHES!
15:07:58  * andythenorth BEACHES!
15:08:20  * andythenorth is bored of typing “make COMPILE_FASTER=True”
15:08:24  <andythenorth> maybe I’ll shorten it :P
15:08:46  <SpComb> make CC=distcc
15:08:57  <SpComb> make CC=distcc -j 9001
15:09:19  <andythenorth> yeah, that assumes I did things properly
15:09:22  <V453000> LOL
15:09:28  <andythenorth> “at least 9,000 threads"
15:09:34  <V453000> shouldnt make better be like default? :P
15:09:37  <andythenorth> no
15:09:44  <andythenorth> the dependency check is totally untrustworthy
15:10:02  <andythenorth> you should only use ‘faster’ when you know it’s safe
15:10:06  <andythenorth> it’s great, this system of mine
15:11:36  <Eddi|zuHause> andythenorth: "export COMPILE_FASTER=True"
15:12:50  <Eddi|zuHause> SpComb: it's over 9000
15:13:02  <andythenorth> and then just flip it when I want to compile better?
15:13:16  <andythenorth> tbh a make clean has the same effect of forcing full compile
15:13:21  <Eddi|zuHause> compile from a different terminal
15:13:37  <Eddi|zuHause> force a full compile with "make -B"
15:14:22  <andythenorth> -B is ?
15:14:34  <andythenorth> I googled it but just got spurious results
15:15:28  <frosch123> man make
15:18:49  <Eddi|zuHause> you can't google for "-B"
15:18:57  <Eddi|zuHause> it means "all results that do not contain B"
15:19:48  <frosch123> since when does google care about what you type exactly?
15:20:18  <Eddi|zuHause> andythenorth: also, i generally type "m[PgUp]" to get the last parameters i typed
15:21:16  <Eddi|zuHause> frosch123: in all likelyhood, it just ignores the bit because it's too short
15:26:47  <Alberth> !m  using the history :)
15:27:00  *** andythenorth [~Andy@host86-141-169-95.range86-141.btcentralplus.com] has quit [Quit: andythenorth]
15:31:37  <frosch123> ! always scares me
15:31:50  <frosch123> sometimes you get something unexpected :)
15:38:13  <peter1138> event not found
15:38:34  <Eddi|zuHause> i have never figured out what ! does in bash
15:43:45  <planetmaker> hi ho
15:45:58  <Alberth> type 'history', !<prefix> searches back in the list, and executes the first matching line
15:46:19  <Alberth> hi hi
15:47:32  <Alberth> the scary part is that by default bash saves the history, so if your first command is a !, it executes a line from the previous session
15:48:24  <Alberth> saving that didn't strike me as a sane idea, so I disabled that very quickly :)
15:50:32  <Eddi|zuHause> i always save history. sometimes i wonder "how did you do this half a year ago?"
15:51:05  <Alberth> I make "./mk" scripts, or a Makefile to keep that information
15:51:11  *** Jinassi [~Jinassi@0001ec72.user.oftc.net] has quit []
15:51:17  <planetmaker> would it make sense to start a library of free textures? Like licensed CC-BY-SA or GPL v2+ (whatever you like)?
15:51:17  <Alberth> also saves typing the command each time :)
15:51:38  <Eddi|zuHause> Alberth: sometimes i didn't know half a year ago that i would need this again
15:51:42  <Alberth> planetmaker: wouldn't that exist already?
15:51:54  <peter1138> I tend to just use ^R to redo something
15:52:15  <planetmaker> partially it sure exist
15:53:08  <Eddi|zuHause> planetmaker: i'm pretty sure i have seen stuff like "cargo graphics" library
15:53:41  <planetmaker> I've seen many libraries. Most I've seen have no free licenses
15:53:46  <planetmaker> but something weired usually
15:53:55  <planetmaker> like cgtextures
15:54:27  <Eddi|zuHause> i have no particular interest in this stuff currently, anyway
15:55:45  *** kero_ [~keikoz@78.250.199.92] has quit [Ping timeout: 480 seconds]
15:58:16  *** andythenorth [~Andy@host86-141-169-95.range86-141.btcentralplus.com] has joined #openttd
16:03:02  *** bugzee [~bugzee@208.114.86.155] has quit [Quit: Leaving.]
16:10:59  *** Yotson [~Yotson@92.66.58.22] has joined #openttd
16:18:15  <andythenorth> so how do I call CPP on a bunch of files? :P
16:19:54  <frosch123> %.nml: %.pnml\n\t${CPP} -E -o $@ $<
16:22:13  <andythenorth> yay
16:22:17  <andythenorth> very obvious :)
16:23:58  <andythenorth> so I have a generated/pnml/ dir full of .pnml
16:24:07  <andythenorth> and I need a generated/nml dir full of .nml
16:24:11  <andythenorth> the .nml dir needs creating
16:24:16  *** Myhorta [~Myhorta@00018fad.user.oftc.net] has quit [Ping timeout: 480 seconds]
16:24:48  <frosch123> generated/nml/%.nml: generated/pnml/%.pnml  ....
16:24:48  <andythenorth> do I do this in Makefile, or Makefile.in?
16:25:30  <frosch123> i didn't write your makefiles :)
16:25:35  <andythenorth> I had better go read the Makefile tutorial again
16:25:42  <andythenorth> I just don’t get it
16:29:07  <peter1138> phew, so hot...
16:29:30  <juzza1> if you are using make-nml, it has the same effect in Makefile and Makefile.in
16:29:37  <juzza1> as the main Makefile just includes Makefile.in
16:29:53  <andythenorth> I have some old outdated and non-supported Makefile
16:30:01  <planetmaker> hot... yes... 35+°C here
16:30:12  <andythenorth> :o
16:30:39  <planetmaker> bit cooler inside, luckily
16:33:29  <peter1138> Merely 24°C here, apparently. Feels scorching though.
16:34:52  <andythenorth> scorchio
16:35:01  <andythenorth> humidity
16:35:08  * andythenorth is in Wales, Wales is hot
16:35:25  <andythenorth> if I do this FIRS compile in python, that’s wrong, yes?
16:38:49  <andythenorth> what does this mean?
16:38:50  <andythenorth> nml: $(GENERATE_PNML)
16:38:50  <andythenorth> 	$(_E) "[CPP] $(NML_FILE)"
16:38:51  <andythenorth> 	$(_V) $(CC) -D REPO_REVISION=$(NEWGRF_VERSION) $(CC_FLAGS) -o $(NML_FILE) $(MAIN_SRC_FILE)
16:42:09  <frosch123> _E is most likely a variable for "echo"
16:42:15  <frosch123> i.e. spam
16:42:16  <planetmaker> target nml depends on target GENERATE_PNML
16:42:25  <frosch123> "_V" is most likely a variable for "verbose output"
16:42:28  <planetmaker> _E is an alias for echo
16:42:31  *** Hazzard [~quassel@c-67-174-253-44.hsd1.ca.comcast.net] has joined #openttd
16:42:34  <planetmaker> _V for verbose
16:42:39  <planetmaker> thus:
16:42:50  <planetmaker> echo "cpp $NML_FILE"
16:43:19  <planetmaker> CC -D REPO_REVISION=... $CC_FLAGS -o $NML_FILE $MAIN_SRC_FILE
16:43:27  <planetmaker> where $NML_FILE is firs.nml
16:43:34  <planetmaker> MAIN_SRC_FILE is firs.pnml
16:43:58  <planetmaker> CC_FLAGS something defined above. Like -E --no-c-headers
16:44:00  <planetmaker> or similar
16:44:48  <andythenorth> and this?
16:44:49  <andythenorth> GENERATE_PNML ?= pnml
16:45:05  <planetmaker> ignore the ?
16:45:19  <planetmaker> (?= means: define only if not yet defined)
16:48:52  <planetmaker> basically: nml: $(GENERATE_PNML) means: generate the nml (as defined below) after you generated the pnml
16:49:02  <andythenorth> so that is what I want to change
16:49:06  <planetmaker> and the pnml step is what you fill in with your python scripts
16:49:22  *** kero [~keikoz@78.250.200.34] has joined #openttd
16:49:56  <andythenorth> so afaict, currently the compile depends on firs.pnml
16:50:06  <andythenorth> which then #includes everything else
16:50:27  <andythenorth> instead it needs to call cpp for each pnml file, producing an nml file
16:51:08  <andythenorth> then nmlc needs to render each nml file to nfo
16:51:20  <andythenorth> then the nfo needs concatenating and junk splitting out
16:51:30  <andythenorth> then nforenum and grfcodec need calling
16:53:12  <planetmaker> easiest is: re-define $GENERATE_NML and $GENERATE_PNML to your own targets. And there define what needs doing
16:53:22  <planetmaker> and possibly also $GENERATE_GRF as your own
16:53:52  <planetmaker> then you can keep Makefile unchanged basically (and its build rules will be ignored and the one from Makefile.in will be used
16:56:09  <Eddi|zuHause> andythenorth: if at all possible, only modify Makefile.in. should the makefile ever be updated, it causes the least conflicts
16:56:43  <andythenorth> so how is a -include handled?
16:56:54  <andythenorth> does it just over-write any existing variable definitions, etc
16:56:54  <andythenorth> ?
16:57:05  <Eddi|zuHause> yes
16:57:14  <Eddi|zuHause> "-" says "ignore if not exists"
16:57:19  <andythenorth> ok, so it’s like every other include system in the world :P
16:57:27  <planetmaker> yes, as it's included after Makefile's definitions. Also thus: the $GENERATE_XXX targets. There's XXX=PNML, NML, LANG, GRF iirc.
16:57:39  <Eddi|zuHause> some variables get added to, instead of overwritten
16:58:16  <Eddi|zuHause> you usually see that with "XXX_FLAGS"
16:58:27  <andythenorth> so I can’t find the rules for $GENERATE_NML
16:58:39  <andythenorth> it just resolves to nml
16:59:08  <andythenorth> oh that depends on pnml
16:59:11  <andythenorth> which has no rules
16:59:17  <planetmaker> yeah
16:59:24  <planetmaker> but nml has rules
16:59:35  <andythenorth> oh GENERATE_PNML rules are in Makefile.n
16:59:41  <andythenorth> .in *
16:59:42  <planetmaker> that's your own rules
16:59:48  <planetmaker> specific for firs
16:59:55  <andythenorth> but that uses the the bizarre .PHONY thing
16:59:59  <planetmaker> I added generate_pnml only for you :P
17:00:03  <andythenorth> he :)
17:00:06  <planetmaker> phony means 'is no real file'
17:00:19  <Eddi|zuHause> andythenorth: when something has no rules, it's assumed to be a file existing on the repo
17:00:28  <andythenorth> ok
17:00:43  <Eddi|zuHause> andythenorth: don't use .PHONY
17:01:08  <andythenorth> Eddi|zuHause: https://dev.openttdcoop.org/projects/firs/repository/entry/Makefile.in
17:01:32  <andythenorth> maybe I’m going about this wrong
17:02:08  <Alberth> unless you use autotools, the filename looks wrong :p
17:02:16  <andythenorth> currently the python stuff renders all industries in one pass
17:02:25  <andythenorth> and header stuff
17:02:35  <andythenorth> it needs to render just a single .pnml file for each call
17:02:41  <andythenorth> how do I pass it the filename?
17:02:52  <andythenorth> if I clean up the existing python, maybe I learn enough make
17:03:11  <Alberth> sys.argv gives the provided command arguments
17:03:21  <andythenorth> oh I use that already :)
17:03:33  <Eddi|zuHause> andythenorth: you should probably just change that to "firs.pnml"
17:03:42  <andythenorth> Eddi|zuHause: let’s try that....
17:03:46  <Alberth> there are a few libraries for parsing sys.argv
17:03:47  <Eddi|zuHause> as that is (one of) the files you create in that recipe
17:03:59  * andythenorth has to do something other than stare at $ % ?
17:04:33  <Alberth> cook me some dinner?
17:05:01  <andythenorth> long distance?
17:05:12  <Eddi|zuHause> sudo cook me some dinner!
17:05:19  <andythenorth> http://www.justeat.nl ?
17:05:31  <andythenorth> http://www.just-eat.com
17:07:25  <andythenorth> hmm
17:07:44  <Alberth> $%   The target member name, when the target is an archive member ...     <-- looks like the wrong one
17:07:47  <andythenorth> GENERATE_PNML doesn’t get called http://paste.openttdcoop.org/show/3514/
17:08:16  <Alberth> $@ is a better target
17:08:17  <andythenorth> makefile tries to straight away call firs.nml
17:08:30  <andythenorth> so no pnml exists
17:08:43  <Alberth> or no rule to build it
17:09:14  <andythenorth> how will make find it on disk?
17:09:18  <andythenorth> it doesn’t exist yet
17:09:22  * andythenorth remains confused :P
17:11:22  <andythenorth> do I have to give the path to firs.pnml?
17:11:50  <andythenorth> oh I made it work maybe :O
17:11:55  <andythenorth> order of rules is significant?
17:12:21  <Eddi|zuHause> # eis eis tonne
17:12:49  <Alberth> not really, except the first one, as that is the default target
17:13:05  <andythenorth> hrm
17:13:10  <andythenorth> this is copying generated/pnml/firs.pnml to firs.pnml
17:13:13  <andythenorth> looks ugly
17:13:28  * andythenorth waits 3 minutes to see if make completes
17:13:58  <Eddi|zuHause> andythenorth: if firs.nml doesn't first call firs.pnml, then you forgot the dependency
17:14:04  <andythenorth> one tiny step at a time :(
17:14:08  <andythenorth> let’s see if it worked
17:14:25  <andythenorth> so slow
17:14:37  *** smb_ [~smb_@199.119.245.122] has joined #openttd
17:16:28  <andythenorth> Eddi|zuHause: better? https://dev.openttdcoop.org/projects/firs/repository/revisions/35038ae89eb9/diff/Makefile.in
17:16:31  <planetmaker> andythenorth, pnml must not depend on firs.pnml
17:16:47  <andythenorth> oh
17:16:54  <planetmaker> it *generates* firs.pnml
17:16:57  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has quit [Remote host closed the connection]
17:17:08  <planetmaker> but as-is, that step is simply skipped if firs.pnml exists
17:17:11  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has joined #openttd
17:17:24  <planetmaker> a result never must depend on what it generates
17:17:36  <andythenorth> oh
17:17:44  <andythenorth> I thought I’d made progress :P
17:18:20  <planetmaker> pnml does not have any dependencies. unless you want to list all your source files
17:18:57  <andythenorth> yeah, I’ve no idea how to do that
17:19:00  <Eddi|zuHause> the generator script should generate these dependencies
17:19:02  <andythenorth> but it needs doing
17:19:08  <Eddi|zuHause> write them into firs.src.dep
17:19:48  * andythenorth is confused why the last commit works at all
17:19:50  <andythenorth> it’s backwards
17:20:06  <Eddi|zuHause> andythenorth: anyway, firs.pnml should be the target, not the dependency
17:20:12  *** glx [~glx@000128ec.user.oftc.net] has joined #openttd
17:20:13  *** mode/#openttd [+v glx] by ChanServ
17:20:13  <planetmaker> it worked on CF as firs.pnml did not exist (yet)
17:20:27  <andythenorth> Eddi|zuHause: firs.pnml: pnml
17:20:28  <andythenorth> ?
17:20:33  <planetmaker> no...
17:20:52  <Alberth> "pnml" is a source file?
17:21:00  <andythenorth> target?
17:21:02  <planetmaker> pnml is a pseudo-rule. you should not use pnml at all
17:21:04  <Eddi|zuHause> firs.pnml: $(ALL_GENERATOR_PY_FILES)
17:21:14  <Alberth> andythenorth:     target: source-list
17:21:14  <planetmaker> you should redefine $GENERATE_PNML to something you like
17:21:26  <planetmaker> GENERATE_PNML = my_pnml_generateor
17:21:35  <planetmaker> my_pnml_generator: firs.pnml
17:21:51  <Alberth> planetmaker:  $(GENERATE_PNML)
17:21:59  <Eddi|zuHause> planetmaker: that's basically the opposite of what i previously said
17:22:02  <andythenorth> isn’t that ass backwards?
17:22:12  <planetmaker> firs.pnml:\n\tcall to python script which generates it
17:22:18  <andythenorth> I am reading a tutorial that says outut_file: input_file
17:22:23  *** Stimrol [~Stimrol@46-239-219-51.tal.is] has joined #openttd
17:22:28  <planetmaker> Eddi|zuHause, maybe it is. Doesn't make it wrong what I say. But yours ;)
17:22:46  <planetmaker> though there are many paths to get it going
17:22:48  <andythenorth> so the python script call is already in the rules
17:22:56  <andythenorth> how do I make it instead the input file?
17:23:01  <Eddi|zuHause> planetmaker: PHONY targets are bad, because make cannot figure out whether it should skip them.
17:23:45  <Eddi|zuHause> andythenorth: just add it behind the : as dependency. leave the command in the recipe like it is
17:23:51  <andythenorth> ? http://paste.openttdcoop.org/show/3515/
17:24:24  <Eddi|zuHause> no
17:24:34  <planetmaker> you shouldn't re-define ${GENERATE_PNML}
17:24:41  <Eddi|zuHause> leave all lines in the recipe intact
17:24:52  <Eddi|zuHause> just ADD things
17:24:55  <Eddi|zuHause> do not MOVE things
17:25:11  <andythenorth> hrm
17:25:17  <planetmaker> revert Makefile
17:25:22  <planetmaker> in Makefile.in:
17:25:27  <andythenorth> it’s surprising how many of these bad things actually work :P
17:25:37  <planetmaker> GENERATE_NML = my_nml
17:25:40  <andythenorth> another totally wrong version just compiled the pnml
17:25:51  <planetmaker> my_nml: ...
17:25:57  <planetmaker> and start from there to add your own stuff
17:26:18  <planetmaker> and / or define a new GENERATE_PNML, too
17:26:46  <andythenorth> this apparently works http://paste.openttdcoop.org/show/3516/
17:27:06  <andythenorth> but substituting GENERATE_PNML for pnml does not
17:27:51  <planetmaker> I wonder that it works. Might be random
17:27:54  <andythenorth> Makefile is unchanged btw
17:27:58  <planetmaker> GENERATE_PNML = my_pnml
17:28:00  <andythenorth> I’m only doing Makefile.in
17:28:05  <planetmaker> my_pnml: scripts/preprocess.py
17:28:07  <planetmaker> ...
17:28:30  <planetmaker> then I would expect it to work and not bork for double declaration :)
17:28:31  <Eddi|zuHause> planetmaker: again. i think phony targets are to be avoided
17:28:39  <Eddi|zuHause> planetmaker: only use targets that are real files
17:28:53  <planetmaker> ceterum censeo carthaginem esse delendam.
17:28:58  <andythenorth> this works http://paste.openttdcoop.org/show/3517/
17:29:00  <Eddi|zuHause> gesundeit
17:29:58  <Eddi|zuHause> andythenorth: now i would replace all occurances of my_pnml with firs.pnml
17:30:08  <planetmaker> and eddi wants s/my_pnml/firs.pnml/ - which might also work. But imho doesn't offer much gain
17:30:33  <Eddi|zuHause> planetmaker: it does. it allows make to figure out "this hasn't been changed. skip it"
17:30:37  <andythenorth> I love it when we differ :)
17:30:40  <andythenorth> makes learning much easier
17:31:03  <Eddi|zuHause> it can't do that with a phony target, because there is no timestamp. so phony targets are always forced to execute
17:32:48  <andythenorth> ok so currently I have my own dep checks in python that might negate that issue
17:32:51  <andythenorth> but they should get rmed
17:33:22  *** pthagnar [~pthagnar@cpc7-pres17-2-0-cust28.18-3.cable.virginm.net] has quit [Quit: Leaving]
17:33:52  <Eddi|zuHause> unrelated: "$(_V)-rm -rf $(NML_FILE)a" <-- what does that do?
17:35:00  <andythenorth> can I stop mv-ing firs.pnml to repo root?
17:35:06  <andythenorth> and just provide the proper path to it instead?
17:35:40  <andythenorth> I don’t actually want it at all in long-term, but one change at a time
17:36:18  *** Myhorta [~Myhorta@00018fad.user.oftc.net] has joined #openttd
17:37:30  *** Yotson [~Yotson@92.66.58.22] has quit [Quit: .]
17:37:50  *** kero [~keikoz@78.250.200.34] has quit [Ping timeout: 480 seconds]
17:38:16  *** trendynick [~trendynic@188.26.254.160] has quit [Ping timeout: 480 seconds]
17:38:26  <Eddi|zuHause> MAIN_SRC_FILE       := $(BASE_FILENAME).pnml <-- probably should become generated/firs.pnml
17:38:42  <Eddi|zuHause> but that may cause trouble further down
17:39:08  <andythenorth> can I use that as the dep against the GENERATE_PNML target?
17:39:25  <andythenorth> although there will eventually be no MAIN_SRC_FILE
17:39:33  <Eddi|zuHause> no. it must pass this pathname to nmlc and stuff
17:40:28  <Eddi|zuHause> $(_V) $(CC) -D REPO_REVISION=$(NEWGRF_VERSION) $(CC_FLAGS) -o $(NML_FILE) $(MAIN_SRC_FILE)
17:40:48  <Eddi|zuHause> this line creates firs.nml from firs.pnml
17:41:01  <Eddi|zuHause> you want this to create firs.nml from generated/firs.pnml
17:41:14  <Eddi|zuHause> maybe you also want generated/firs.nml
17:41:22  <Eddi|zuHause> then adjust NML_FILE also
17:41:28  <andythenorth> ok
17:41:37  <andythenorth> I want to end up with generated/firs.nfo
17:41:41  <andythenorth> but that’s a few steps away
17:43:11  <andythenorth> ¿ so I add a target for firs.nml depending on generated/pnml/firs.pnml
17:44:20  <planetmaker> yes
17:45:20  <DorpsGek> Commit by translators :: r26696 trunk/src/lang/vietnamese.txt (2014-07-19 17:45:13 UTC)
17:45:21  <DorpsGek> -Update from WebTranslator v3.0:
17:45:22  <DorpsGek> vietnamese - 11 changes by nglekhoi
17:47:15  *** andythenorth is now known as Guest3225
17:47:15  *** andythenorth [~Andy@host31-53-98-216.range31-53.btcentralplus.com] has joined #openttd
17:47:21  <andythenorth> bad wifi
17:51:16  *** Guest3225 [~Andy@host86-141-169-95.range86-141.btcentralplus.com] has quit [Ping timeout: 480 seconds]
17:55:00  *** Brumi [~quassel@78-131-41-191.pool.digikabel.hu] has joined #openttd
18:05:39  <Eddi|zuHause> andythenorth: try adding the lines "MAIN_SRC_FILE:=generated/firs.pnml" and "NML_FILE := generated/firs.nml" to Makefile.in
18:05:58  <Eddi|zuHause> see what it does
18:08:21  * andythenorth tries
18:09:13  <andythenorth> oops, /me forgets that make doesn’t know about all the deps
18:12:29  <andythenorth> Eddi|zuHause: seems to work
18:12:34  <andythenorth> might break some other paths
18:12:39  <andythenorth> waiting for nmlc :P
18:13:37  <Eddi|zuHause> hmm... how do i prevent these stupid dogs to fall into the lake and get stuck under a waterlily
18:15:28  <Alberth> drink the lake :p
18:16:40  <Eddi|zuHause> lake is an infinite water source. can't empty it with buckets
18:17:53  <Eddi|zuHause> also, i need the water to grow crops
18:18:20  <Alberth> make the dogs want to go elsewhere
18:18:56  <Alberth> take out the water lily?
18:19:07  <Eddi|zuHause> i can make the dogs "sit", but they will still be pushed around when i walk past them
18:24:47  <andythenorth> Eddi|zuHause: better? http://paste.openttdcoop.org/show/3520/
18:25:35  <Eddi|zuHause> that last line shouldn't be needed
18:26:26  <andythenorth> which last?
18:26:38  <andythenorth> firs.nml?
18:26:56  *** Afdal [~chatzilla@host-174-45-188-234.chy-wy.client.bresnan.net] has joined #openttd
18:27:14  <Afdal> Would anyone happen to know how the custom sea level %s correlate to the other sea level settings?
18:27:50  <andythenorth> ok I removed firs.nml: generated/pnml/firs.pnml
18:27:53  <andythenorth> still works
18:29:07  <andythenorth> now I want to remove the dependency on firs.pnml, and process each pnml file individually with cpp
18:29:17  <andythenorth> so it will be a % thingy?
18:32:55  <Afdal> like what % is Medium
18:32:59  <Afdal> what % is Low...
18:33:19  <Alberth> hmm, should be in the source, shouldn't it?
18:33:45  <frosch123> i thought it said in parentheses
18:34:21  *** MTsPony1 [~marctraid@008-086-128-083.dynamic.caiway.nl] has joined #openttd
18:34:22  *** MTsPony1 is now known as MTsPony
18:34:38  <frosch123> @calc 400/1024
18:34:38  <DorpsGek> frosch123: 0.390625
18:34:43  <frosch123> @calc 250/1024
18:34:43  <DorpsGek> frosch123: 0.244140625
18:34:47  <frosch123> @calc 80/1024
18:34:47  <DorpsGek> frosch123: 0.078125
18:34:48  <frosch123> @calc 20/1024
18:34:48  <DorpsGek> frosch123: 0.01953125
18:35:02  <frosch123> so, 2%, 8%, 24% and 39% :)
18:35:24  *** MTsPony_zzz [~marctraid@008-086-128-083.dynamic.caiway.nl] has quit [Ping timeout: 480 seconds]
18:36:06  <Afdal> those are for sea level?
18:36:17  <Afdal> very low to high?
18:36:29  <frosch123> yes, i hope there are 4 things to choose :)
18:36:39  <Afdal> Thanks a bunch, very helpful
18:37:26  *** Myhorta [~Myhorta@00018fad.user.oftc.net] has quit [Ping timeout: 480 seconds]
18:39:47  * andythenorth looks at CETS makefile.in
18:39:48  <Alberth> frosch123: no percentages next to the text afaik
18:39:51  *** oskari89 [oskari89@83-102-63-32.bb.dnainternet.fi] has joined #openttd
18:46:48  <andythenorth> http://paste.openttdcoop.org/show/3521/
18:46:58  <andythenorth> so I expected "[GENERATE ONML]" to be echoed
18:47:02  <andythenorth> it doesn’t?
18:52:15  *** trendynick [~trendynic@188.26.254.160] has joined #openttd
18:52:34  <planetmaker> missing " "
18:52:53  <planetmaker> for the PNML hm
18:53:18  <Alberth> based on what?    line 13 is just nonsense
18:53:39  <Alberth> what is %.onml supposed to do?
18:53:49  <planetmaker> oO
18:54:19  <Alberth> %<foo>  can only be used for making a dependency rule   %.o: %.cpp
18:54:52  <Alberth> why do you think it should reach that file?
18:55:01  <Alberth> *line
18:55:29  <andythenorth> this is closer http://paste.openttdcoop.org/show/3522/
18:55:50  <andythenorth> I don’t know if it’s correct, but it actually does what I expect
18:56:17  <planetmaker> he... "Please add new cases to slovak language settings:
18:56:17  <planetmaker> g (already in system), d, a, l, i "
18:56:23  *** Afdal [~chatzilla@host-174-45-188-234.chy-wy.client.bresnan.net] has left #openttd []
18:56:53  <Alberth> what is .onml relative to .pnml?
18:57:30  <Alberth> line 21 sees it as target to build, while line 10 sees it as source
19:11:35  *** Alberth [~hat@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
19:30:30  <andythenorth> hmm
19:30:46  <andythenorth> mkdir is complaining that the dir already exists
19:31:40  *** Myhorta [~Myhorta@00018fad.user.oftc.net] has joined #openttd
19:33:55  <andythenorth> fixed
19:34:17  <frosch123> "-p"
19:34:25  <andythenorth> new problem
19:34:25  <andythenorth> make: *** No rule to make target `%.onml', needed by `nml'.  Stop.
19:34:30  <andythenorth> http://paste.openttdcoop.org/show/3523/
19:35:29  <andythenorth> %.onml is a target
19:35:36  <andythenorth> I don’t see what I’ve done wrong
19:35:38  <frosch123> you can use % only in patterns
19:35:51  <frosch123> what is GENERATE_PNML ?
19:36:10  <frosch123> shall it be a list of files or something?
19:38:03  <andythenorth> I don’t know
19:38:09  <andythenorth> I don’t understand it tbh
19:38:18  <andythenorth> I’m trying to copy from CETS
19:38:31  <andythenorth> but one step at a time, so I can learn something
19:39:02  <andythenorth> make is like nothing I’ve seen before, and I’ve been coding since I was 6
19:39:05  <andythenorth> which is 30 years :(
19:39:41  <andythenorth> do I have to use make to call cpp?
19:41:45  <planetmaker> $GENERATE_PNML is the name of the target which generates the pnml file(s)
19:42:13  <planetmaker> $GENERATE_NML is the name of the target which generates the nml file from the main pnml file
19:42:27  <planetmaker> $GENERATE_GRF is the name of the target which generates the grf file from the nml file
19:42:44  <andythenorth> I am going to revert this
19:43:03  <andythenorth> copying from CETS is a bad idea if I don’t understand what I’m pasting
19:43:08  <andythenorth> the last commit at least works ok
19:43:52  <andythenorth> I can’t see how to call cpp on all the .pnml files
19:43:59  <andythenorth> can I write a python script to do it?
19:44:16  <planetmaker> you can do whatever works
19:44:26  <planetmaker> the CF will call make; make bundle; make bundle_src
19:44:34  <Eddi|zuHause> andythenorth: if your python scripts outputs a deps file, you need a "%.pnml: %.nml" rule
19:44:40  * andythenorth googles for how to invoke CPP
19:44:53  <andythenorth> is a deps file a standard format?
19:45:07  <planetmaker> sorry. make; make bundle_zip; make bundle_src
19:45:17  <andythenorth> ta
19:45:21  <planetmaker> a deps file is like a makefile
19:45:27  <planetmaker> target: dependency
19:45:29  <Eddi|zuHause> deps file has the format: "main_file: other_file(s)"
19:45:31  <planetmaker> target: dependency2
19:45:38  <planetmaker> target2: dependency3
19:45:42  <planetmaker> target2: dependency4
19:45:43  <Eddi|zuHause> main file will be firs.pnml
19:45:48  <planetmaker> target3: dependency
19:45:49  <planetmaker> etc
19:45:56  <Eddi|zuHause> and other files all other autogenerated files
19:46:16  <andythenorth> hmm cpp seems to call clang
19:46:30  <Eddi|zuHause> that depends on which compiler you installed
19:46:35  <andythenorth> clang by default here
19:47:31  <andythenorth> I can’t figure out how to concatenate the nml files without python
19:47:41  <andythenorth> I guess shell can do that for me
19:47:55  <Eddi|zuHause> cat file1 file2 file3 > file
19:47:58  <andythenorth> ok
19:48:05  <andythenorth> I can’t use firs.pnml any more for this
19:48:26  <Eddi|zuHause> that's why i used onml
19:48:27  <andythenorth> it will get processed in an order I can’t control and might fail
19:48:42  <andythenorth> I couldn’t see how to make onml a dependency
19:48:47  <Eddi|zuHause> each processing step gets a new file extension
19:48:56  <andythenorth> yes, I liked that
19:49:02  <andythenorth> it made 100% sense
19:49:15  <andythenorth> it fits with the make tutorial I read as well about .o files and such
19:50:08  <Eddi|zuHause> andythenorth: you can only use "%" in a dependency, if the target also contains "%"
19:50:11  *** Aphid [~Aphid@5351C956.cm-6-2d.dynamic.ziggo.nl] has joined #openttd
19:50:29  <Eddi|zuHause> so "nml: %.onml" won't work, because "nml" doesn't contain a "%"
19:50:36  <andythenorth> ok
19:50:48  <Eddi|zuHause> the "%" is replaced by the same file base name by make
19:51:39  <andythenorth> and $@ and $< get the filenames?
19:52:25  <Eddi|zuHause> yes
19:52:57  <Aphid> I have a question. When a script calls 'GSTown::SetGrowthRate() to change a town's growth rate from A to B days/house, and the ticker is currently at C houses, where C <= A, what will the ticker be after the action? E.g. if the rate is changed often, what happens, for example?
19:53:25  <andythenorth> so this puzzles me http://paste.openttdcoop.org/show/3524/
19:53:33  <andythenorth> no constant substitution ?
19:53:51  <andythenorth> L9 and L34 are the differences
20:00:22  *** jjavaholic [~jjavaholi@grahamg63.plus.com] has quit [Quit: Ex-Chat]
20:00:39  *** jjavaholic [~jjavaholi@grahamg63.plus.com] has joined #openttd
20:01:00  <frosch123> GENERATE_PNML = MAIN_SRC_FILE <- lacks $( )
20:01:14  <frosch123> MAIN_SRC_FILE is a variable, no value
20:01:46  <andythenorth> so /me is being dumb
20:02:16  <andythenorth> that works
20:06:17  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has quit [Remote host closed the connection]
20:06:32  *** tycoondemon [~ashnohoe@ip503d7ac1.speed.planet.nl] has joined #openttd
20:09:37  <Aphid> Huh... apparently the speed is one dph slower than indicated, e.g. ' every 3 days'  actually means every 4 days.
20:13:01  <frosch123> town growth?
20:13:09  <frosch123> yes, i think there is an fs issue about that
20:13:15  <andythenorth> why is generated/pnml/firs.pnml the MAIN_SRC_FILE
20:13:19  <andythenorth> why isn’t it firs.nml?
20:13:55  <andythenorth> the pnml is just an intermediate
20:14:05  <andythenorth> it doesn’t make any sense for either meaning of src that I understand
20:15:10  <andythenorth> :)
20:16:41  <frosch123> well, it's the same for all languages using $ @ ! and stuff
20:17:21  <frosch123> "understanding them" is equivalent to "being the author"
20:17:36  <frosch123> make, bash, perl, ... :)
20:17:54  <andythenorth> I believe that pm doesn’t like this particular makefile anyway
20:18:01  <andythenorth> I wonder if I’m starting from totally the wrong place
20:18:09  <andythenorth> certainly this isn’t time saving
20:18:14  <andythenorth> and I’m not learning much :)
20:24:09  <planetmaker> andythenorth, main_src_file is what the *source* has (hence the name).
20:24:16  <planetmaker> the nml file is not part of the source
20:24:56  <planetmaker> andythenorth, what I do think is: if you want to understand makefile, disregard mine. Write a small one which works for you
20:25:07  <planetmaker> without all the boilerplate of the 'standard' newgrf makefile
20:25:14  <andythenorth> I was wondering about that
20:25:40  <planetmaker> as said, there's three targets which only need to work:
20:25:42  <planetmaker> make
20:25:52  <planetmaker> (which will build the grf)
20:25:59  <planetmaker> it's the first target in the makefile defined
20:26:34  <planetmaker> bundle_zip. That's expected to create a tar.zip. When unzipped it should be usable by openttd
20:26:53  <planetmaker> bundle_src. That's supposed to create a source archive from which I can build the grf
20:27:36  <planetmaker> but you can ignore that all for getting to know how it works
20:28:32  <andythenorth> so (before I quit and go to sleep :P ) - firs.pnml is no source either
20:28:37  <andythenorth> so perhaps I need to fix that?
20:32:12  <andythenorth> that is quite separate to understanding the makefile :)
20:32:12  <andythenorth> problem with project structure
20:38:16  *** andythenorth [~Andy@host31-53-98-216.range31-53.btcentralplus.com] has quit [Read error: Connection reset by peer]
20:38:22  *** andythenorth [~Andy@host31-53-98-216.range31-53.btcentralplus.com] has joined #openttd
20:38:47  <planetmaker> well, in your case it's not. indeed
20:39:35  <planetmaker> but the naming MAIN_SRC_FILE is not that important. It's just a name for the pnml file
20:39:42  <planetmaker> could have called it like that
20:39:51  <planetmaker> MAIN_PNML_FILE
20:40:02  <planetmaker> that's how it's used
20:40:26  <andythenorth> ok, so that makes sense
20:40:35  <andythenorth> and there won’t be a main pnml file
20:40:54  <andythenorth> there will be a main nfo file I guess
20:41:37  <andythenorth> oh maybe I just figured it out from that
20:41:46  <andythenorth> if there’s a main nfo file, and everything else is deps....
20:41:56  <andythenorth> it just chains back
20:42:01  <andythenorth> target: deps /n rules
20:42:58  <planetmaker> yeah
20:43:04  <planetmaker> and that works nicely recursively
20:43:10  <andythenorth> I am biting off quite a lot in one go with this
20:43:14  <planetmaker> the recursion is the key to makefiles :)
20:43:20  <Aphid> The real thing i wanted to know about town growing is just what happens to the internal 'house ticker', when a script overrides the speed. it works by keeping an internal integer variable (I think it's 16bit) and setting it to your dph to start with. This value is decremented every day. When it is at zero (and decrement would overflow it), it is instead set back to the dph value.
20:43:23  <andythenorth> maybe I write the compile in python, and then convert to make
20:44:01  <andythenorth> the only reason I didn’t do a python compile was that I thought I needed make for cpp
20:44:08  <andythenorth> but cpp is just a program :P
20:44:13  <planetmaker> yup :)
20:44:33  *** trendynick [~trendynic@188.26.254.160] has quit [Ping timeout: 480 seconds]
20:45:14  <Aphid> Now if I say set the dph to 10,000 (one house per 30 years), wait 15 years (counter is now at 5,000), and then set the counter to dph to 100, what happens exactly?
20:47:25  <frosch123> Aphid: when changing the speed the relative "growth progress" is preserved
20:47:42  <frosch123> if it was at 2000/5000 and you set the speed to 500, it will go to 200/500
20:47:46  <andythenorth> hrm
20:48:08  <andythenorth> cpp input.file > output.file
20:48:14  <frosch123> "-E"
20:48:27  <andythenorth> can I pipe a string to cpp somehow?
20:48:31  <frosch123> also i prefer "-o output.file" instead of ">"
20:49:06  <frosch123> i guess if you skip all files you can also pipe through it
20:49:23  <planetmaker> andythenorth, -C -E -nostdinc -x c-header
20:49:34  <planetmaker> ^ CFLAGS
20:49:39  <planetmaker> CC_FLAGS
20:49:40  * andythenorth tries to find -E in cpp manual
20:49:52  <planetmaker> it won't work without the -nostdinc -x c-header
20:49:55  <andythenorth> ok
20:50:05  <planetmaker> at least for gcc >= 4.8 or so
20:50:56  *** Progman [~progman@p57A1BB79.dip0.t-ipconnect.de] has joined #openttd
20:56:02  <andythenorth> cpp -C -E -nostdinc -x c-header generated/pnml/arable_farm.pnml arable.nml
20:56:03  <andythenorth> clang: error: no input files
20:56:28  <andythenorth> doesn’t like -x
20:58:03  <andythenorth> clang docs suggest it should work
20:58:38  <TinoDidriksen> If in doubt, ask #llvm
20:59:07  <planetmaker> andythenorth, you didn't provide output
20:59:15  <planetmaker>  clang -C -E -nostdinc -x c-header firs.pnml -o firs.nml
20:59:18  <planetmaker> missing -o
20:59:45  <planetmaker> and arguably the error message is in need of being clearer :)
20:59:50  <andythenorth> hmm
21:00:02  <andythenorth>  clang -C -E -nostdinc -x c-header generated/pnml/arable_farm.pnml -o arable.nml
21:00:03  <andythenorth> works
21:00:07  <planetmaker> yup
21:00:09  <andythenorth> cpp -C -E -nostdinc -x c-header generated/pnml/arable_farm.pnml -o arable.nml
21:00:11  <andythenorth> doesn't
21:00:18  <andythenorth> so clang’s support of cpp is defective
21:00:26  <planetmaker> hu?
21:00:33  <planetmaker> both works for me
21:00:41  <planetmaker> whether I use cpp or clang with those arguments
21:00:55  <andythenorth> Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
21:01:03  <planetmaker> gcc 4.8.3 and clang 3.4
21:01:11  <andythenorth> cpp —version and clang —version return identical for me
21:01:23  <planetmaker> :D
21:01:46  <andythenorth> I think cpp is just an alias
21:01:51  <planetmaker> likely
21:02:00  <planetmaker> it's also when using gcc
21:02:14  <planetmaker> then it's an alias for gcc
21:03:27  <andythenorth> bit weird that one fails
21:03:36  <andythenorth> also I need to call cpp, not clang
21:03:42  <andythenorth> not everyone has clang :P
21:03:52  <planetmaker> CF doesn't ;)
21:04:11  <planetmaker> at least not yet
21:04:12  <andythenorth> gcc works
21:04:26  <andythenorth> I’ll just ignore cpp
21:10:47  <andythenorth> yeah, now I have nml
21:12:00  <Wolf01> 'night
21:12:08  *** Wolf01 [~wolf01@0001288e.user.oftc.net] has quit [Quit: Once again the world is quick to bury me.]
21:13:33  <andythenorth> now all I need is nmlc nml->nfo
21:13:45  <andythenorth> then concatenate nfo and teach makefile to call grfcodec
21:13:56  *** sla_ro|master [slamaster@89.137.74.191] has quit []
21:14:01  * andythenorth throws away the power of make in favour of results :P
21:15:30  <planetmaker> without make no CF, tho :P
21:15:57  <andythenorth> still make :)
21:16:10  <andythenorth> just not getting tied in knots trying to batch process with make
21:16:20  <andythenorth> I can learn that, but it’s too much change in one go
21:16:28  <planetmaker> or you can provide all your own build rules in a custom build script. then you can avoid make, too ;)
21:16:33  <andythenorth> I dunno
21:16:44  <andythenorth> I’m worried about dependency checks
21:16:51  <andythenorth> I was hoping make would solve that
21:17:33  <planetmaker> it can
21:17:41  <andythenorth> I think dep checks are super hard
21:17:48  <planetmaker> and yes, they are
21:17:49  <andythenorth> there almost needs to be code checking the deps
21:18:00  <planetmaker> cpp can help with those :P
21:18:14  <planetmaker> cpp -MMD file -o file.dep
21:18:47  <andythenorth> it probably doesn’t understand python imports etc?
21:18:49  <planetmaker> it will pickup the includes. But not the graphics
21:18:51  <frosch123> s/.dep/.nml/ ?
21:19:06  <planetmaker> frosch123, for checking deps? na
21:19:28  <frosch123> doesn't -MMD output to "outfile.file.dep"?
21:19:41  <frosch123> or is that a gnu extension?
21:20:27  <planetmaker> I don't understand the man page output on -MD :P. It depends on other settings ;)
21:20:38  <planetmaker>  -MD -MD is equivalent to -M -MF file, except that -E is not implied.  The driver determines file based on whether an -o option is given.  If it is, the driver uses its argument but with a
21:20:38  <planetmaker>            suffix of .d, otherwise it takes the name of the input file, removes any directory components and suffix, and applies a .d suffix.
21:20:38  <planetmaker>            If -MD is used in conjunction with -E, any -o switch is understood to specify the dependency output file, but if used without -E, each -o is understood to specify a target object file.
21:20:38  <planetmaker>            Since -E is not implied, -MD can be used to generate a dependency output file as a side-effect of the compilation process.
21:20:45  <frosch123> be carefule, there are -MM -MD -MMD
21:20:53  <andythenorth> isn’t this specific to C / C++?
21:21:02  <andythenorth> I did do some reading about that a few weeks ago :P
21:21:03  <planetmaker> -MMD is like -MD except ... :P
21:21:18  <frosch123> andythenorth: it tracks the #include
21:21:26  <frosch123> so, specific to the preprocessor, not to c/c++
21:21:31  <andythenorth> ok so python imports won’t show
21:21:37  <planetmaker> nope, they won't
21:21:39  <andythenorth> nor python template usage
21:21:41  <andythenorth> nor lang files
21:21:54  <planetmaker> neither
21:22:15  <planetmaker> but that's what make solved... %.grf: lang/*.lng
21:22:25  <frosch123> andythenorth: it's not libinterpose :p
21:23:18  <frosch123> though i never figured out, where that lib comes from
21:23:28  <andythenorth> neither did google apparently
21:23:40  <frosch123> there are only myths about it, but i have it at work
21:23:58  <frosch123> possibly it is only a "concept" and someone else implemented it
21:25:28  *** bugzee [~bugzee@75-106-22-229.cust.wildblue.net] has joined #openttd
21:25:38  <andythenorth> hmm
21:26:02  <andythenorth> so if I write *enough* python scripts to output the lists of deps, make can use those :P
21:26:11  <andythenorth> but then it’s back to my flakey python
21:26:28  <andythenorth> anyway, bed time
21:26:40  <planetmaker> as long as you use python to write your nml or nfo you have to use that to write the deps
21:26:47  <planetmaker> and... sleep well :)
21:26:51  <andythenorth> thanks, that was painful, maybe I learnt something :P
21:26:52  <andythenorth> dunno
21:26:56  <andythenorth> tomorrow is a new day :)
21:27:14  *** andythenorth [~Andy@host31-53-98-216.range31-53.btcentralplus.com] has quit [Quit: andythenorth]
21:32:11  <Aphid> when changing the speed the relative "growth progress" is preserved --> Might be good to add that to the API documentation.
21:47:45  *** KWKdesign [~KWKdesign@pool-108-52-130-213.phlapa.fios.verizon.net] has quit [Read error: Connection reset by peer]
21:48:01  *** KWKdesign [~KWKdesign@pool-108-52-130-213.phlapa.fios.verizon.net] has joined #openttd
21:48:05  *** Progman [~progman@p57A1BB79.dip0.t-ipconnect.de] has quit [Ping timeout: 480 seconds]
21:48:11  *** Myhorta [~Myhorta@00018fad.user.oftc.net] has quit [Ping timeout: 480 seconds]
21:49:55  *** jinks [~jinks@172.245.35.67] has quit [Quit: ZNC - http://znc.in]
21:50:26  *** jinks [~jinks@172.245.35.67] has joined #openttd
21:51:31  *** LSky` [~LSky@5ED4B2EA.cm-7-5c.dynamic.ziggo.nl] has quit []
21:53:56  <Eddi|zuHause> yay, i finished a railway line from my farm to the nearest village
21:58:07  <frosch123> night
21:58:10  *** frosch123 [~frosch@frnk-4d01d786.pool.mediaways.net] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
22:08:52  *** oskari89 [oskari89@83-102-63-32.bb.dnainternet.fi] has quit []
22:44:17  *** smb_ [~smb_@199.119.245.122] has quit [Ping timeout: 480 seconds]
22:49:19  *** Brumi [~quassel@78-131-41-191.pool.digikabel.hu] has quit []
22:55:50  *** smb_ [~smb_@OSH-195-222.onshore.net] has joined #openttd
23:05:55  *** Aphid [~Aphid@5351C956.cm-6-2d.dynamic.ziggo.nl] has quit [Ping timeout: 480 seconds]
23:20:18  *** FLHerne [~flh@dsl-217-155-24-22.zen.co.uk] has quit [Quit: There's a real world out here!]
23:29:46  *** Supercheese [~Superchee@76.178.136.186] has quit [Quit: Valete omnes]
23:51:17  *** smb_ [~smb_@OSH-195-222.onshore.net] has quit [Ping timeout: 480 seconds]
23:55:17  *** smb_ [~smb_@OSH-195-222.onshore.net] has joined #openttd

Powered by YARRSTE version: svn-trunk