Log for #openttd on 4th February 2012:
Times are UTC Toggle Colours
00:20:04  *** valhallasw [~valhallas@] has quit [Quit: leaving]
00:20:05  <michi_cc> Rhamphoryncus: If you (re)calculate something on load take very good care that the result will deterministically match what the server has at the same time. If not, you're on direct route to a desyncer.
00:23:21  *** MJP [] has quit [Ping timeout: 480 seconds]
00:23:53  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
00:28:05  *** _11Runner_ [] has joined #openttd
00:32:40  <Rhamphoryncus> Yeah, I was thinking about that
00:34:49  <michi_cc> You probably don't do that, but as a general note: *Never* sort by memory address.
00:37:15  <planetmaker> by square of it? :-P
00:38:27  *** Progman [] has quit [Remote host closed the connection]
00:38:27  *** Neon [] has quit [Quit: Python is way too complicated... I prefer doing it quickly in C.]
00:52:44  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
00:55:36  *** Biolunar [] has quit [Quit: All your IRC are belong to us]
01:02:59  *** kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Ping timeout: 480 seconds]
01:08:34  *** Pixa [] has quit [Read error: Connection reset by peer]
01:09:28  *** roboboy [] has joined #openttd
01:24:23  *** Snail_ [] has joined #openttd
01:28:43  *** Cybertinus [] has quit [Remote host closed the connection]
01:30:41  *** kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #openttd
01:33:49  *** cmircea [~cmircea@] has quit [Ping timeout: 480 seconds]
01:45:57  <Wolf01> 'night
01:46:01  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
02:04:36  *** roboboy [] has quit [Ping timeout: 480 seconds]
02:14:20  *** roboboy [] has joined #openttd
02:20:45  *** tensai_cirno [~cirno@] has quit [Quit: Leaving]
02:40:53  *** roboboy [] has quit [Read error: Connection reset by peer]
02:47:12  *** kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Read error: Connection reset by peer]
02:47:36  *** kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #openttd
02:54:19  *** peteris [~peteris@] has quit [Quit: Ex-Chat]
03:07:23  *** kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Read error: Operation timed out]
03:39:51  *** vodka [] has quit [Quit: Leaving]
04:06:39  <Rhamphoryncus> michi_cc: My primary thing would be schedule offsets, but I was considering falling back to unitnumber if the offset was somehow the same.  However, that should ONLY be for importing old save games; active games should always maintain it perfectly sorted.
04:18:20  *** mahmoud [] has quit [Ping timeout: 480 seconds]
04:19:23  *** roboboy [] has joined #openttd
04:26:02  *** glx [glx@2a01:e35:2f59:c7c0:80eb:e191:ffee:b1a3] has quit [Quit: bye]
04:38:14  *** DDR_ [~chatzilla@] has joined #openttd
04:38:28  *** DDR [~chatzilla@] has quit [Ping timeout: 480 seconds]
04:38:40  *** DDR_ is now known as DDR
04:44:13  *** Snail_ [] has quit [Read error: Connection reset by peer]
05:20:51  *** roboboy [] has quit [Ping timeout: 480 seconds]
05:28:24  *** Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
05:46:48  *** Brianetta [] has quit [Quit: TschÌß]
06:11:34  *** Xrufuian [] has joined #openttd
06:20:18  *** kkb110 [] has joined #openttd
06:44:48  *** Eddi|zuHause [] has quit []
06:45:07  *** Eddi|zuHause [] has joined #openttd
08:05:43  *** andythenorth [] has joined #openttd
08:06:41  <andythenorth> morning
08:06:50  *** cmircea [~cmircea@] has joined #openttd
08:08:07  <Rubidium> morning andy
08:13:51  <Eddi|zuHause> more ning
08:14:46  *** andythenorth [] has quit [Ping timeout: 480 seconds]
08:20:57  *** andythenorth [] has joined #openttd
08:27:40  *** sla_ro|master [~slaco@] has joined #openttd
08:44:27  <Terkhen> good morning
08:45:20  <andythenorth> hola
08:48:00  *** |Jeroen| [] has joined #openttd
08:53:43  *** _11Runner_ [] has left #openttd []
09:02:21  * andythenorth adventures again in the makefil
09:02:23  <andythenorth> e
09:03:32  <andythenorth> with limited success :(
09:05:34  <peter1138> hello
09:05:42  <Terkhen> hi peter1138
09:12:22  <andythenorth> moin
09:14:15  *** tokai|noir [] has joined #openttd
09:14:18  *** mode/#openttd [+v tokai|noir] by ChanServ
09:16:16  *** Elukka [] has joined #openttd
09:20:01  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
09:20:24  *** Phoenix_the_II [] has joined #openttd
09:22:49  *** DDR [~chatzilla@] has quit [Read error: Operation timed out]
09:24:16  <planetmaker> moin
09:24:56  <andythenorth> bonjour
09:25:06  <planetmaker> andythenorth: makefile principle is easy:
09:25:27  <planetmaker> target_file: files_it_needs_present_to_be_build
09:25:35  <planetmaker>   rules_to_create_file
09:26:03  *** snack2 [] has joined #openttd
09:26:04  <andythenorth> k
09:26:33  <andythenorth> ah
09:26:39  <andythenorth> does the dep check rely on hg?
09:26:48  <andythenorth> i.e. a file hg has forgotten won't be seen by dep check
09:27:11  <andythenorth> or the path rather than file
09:27:51  <Ammler> no, it works also without, but a file not in the repo will be missing on remote :-)
09:28:26  <andythenorth> I have been moving files in the BANDIT repo so it makes more sense
09:28:44  <andythenorth> but make is now failing
09:28:50  <andythenorth> I have the rule bandit.nml: sprites/nml/bandit.pnml
09:29:01  <andythenorth> and sprites/nml/bandit.pnml is present
09:29:07  <andythenorth> but bandit.nml is not built
09:29:48  <andythenorth> although....maybe now is the time to eliminate the .pnml step anyway
09:30:19  * andythenorth will hack a bit
09:31:26  <andythenorth> ho
09:31:28  <andythenorth> that might work
09:32:28  <Eddi|zuHause> the easiest way to test whether such a rule is actually evaulated is "touch sprites/nml/bandit.pnml"
09:34:04  <andythenorth> seems I've fixed it
09:34:10  <andythenorth> the structure is a bit more logical I hope
09:34:17  <andythenorth> [for repo filesystem]
09:35:32  <Eddi|zuHause> i'm sure there are plenty of inconsistencies left :)
09:35:42  <andythenorth> there are
09:35:45  * andythenorth has....questions :P
09:36:45  *** DDR [~chatzilla@] has joined #openttd
09:36:56  <Ammler> also moving around is not supported by Redmine, so do it as less as possible :-)
09:37:07  <andythenorth> ok
09:37:10  <andythenorth> too late :o
09:37:21  <andythenorth> but I will try not to
09:37:28  <andythenorth> it's often tmwftlb
09:37:30  <Ammler> well, it's ok
09:37:46  <Ammler> you just will lose history view there
09:38:36  <andythenorth> I have a few inconsistencies to figure out
09:38:44  <andythenorth> filename extensions is one
09:39:02  *** Neon [] has joined #openttd
09:40:09  <andythenorth> what's a good extension for a file that contains nml with templating markup?
09:40:12  <andythenorth> .tnml?
09:40:44  <Eddi|zuHause> sounds about right
09:41:25  <Ammler> also you might consider replacing the targets with wildcards: %.nml: %.pnml
09:41:28  <andythenorth> the convention for the template module I use is .pt (page template), but it's not enforced
09:41:28  <Ammler> etc...
09:41:50  <andythenorth> Ammler: so they are decoupled from the extension?
09:42:21  <Ammler> from the grf name
09:43:29  <andythenorth> ah
09:44:25  <Ammler> the future goal is move the content of to the makefile framework, right?
09:44:37  <andythenorth> I'm not sure :)
09:44:43  <andythenorth> I hadn't thought that far ahead
09:44:56  <andythenorth> it's kind of not my decision either ;)
09:45:29  <Ammler> well, if you prepare a nice patch, planetmaker would sure welcome it, I guess
09:46:31  <Ammler> at least the parts you share with cets
09:46:39  <planetmaker> I could add a variant w/o gcc indeed
09:47:20  <andythenorth> so is this:
09:47:27  <andythenorth> what would need to be generic?
09:47:35  <andythenorth> - build script name
09:47:51  <andythenorth> - config data file name
09:48:21  <Eddi|zuHause> maybe take the prepocessing part out of Makefile.nml, and make it a Makefile.cpp
09:48:24  <planetmaker> but renaming the main file to tnml IMHO is stupid
09:48:29  <Eddi|zuHause> then you could add a Makefile.python
09:48:41  <Eddi|zuHause> and it would be arbitrarily combinable by the config
09:48:42  <planetmaker> it's not a template
09:48:47  <andythenorth> planetmaker: I'm open to suggestions
09:48:51  <planetmaker> it's still a file which needs pre-processing. Thus pnml
09:49:06  <planetmaker> template is something which is being re-used
09:49:11  <planetmaker> that is not
09:49:24  <andythenorth> different semantics I guess
09:49:31  <andythenorth> for the templating module, it's a template
09:49:43  <planetmaker> basically I think your whole last commit there was... wrong by my definition of what's a template
09:49:49  <andythenorth> it's called by PageTemplateLoader class
09:50:03  <andythenorth> I'm happy to agree a convention
09:50:15  <andythenorth> I don't really have strong opinions on this stuff, just whatever makes sense to other people
09:50:15  <planetmaker> pnml :-P
09:50:22  <andythenorth> processed nml?
09:50:31  <planetmaker> nml to-be- pre-processed
09:50:43  <andythenorth> using [pre-processor of choice]
09:50:49  <planetmaker> thus everything is a pnml.
09:50:53  <andythenorth> ok
09:50:57  <andythenorth> I'll just flip them
09:51:08  <andythenorth> anybody else rabidly disagree with planetmaker ?
09:51:10  <planetmaker> Except those parts which are reused several times in the coding of individual vehicles
09:51:10  <Eddi|zuHause> i do think it's sensible to keep extensions for cpp-processed and python-processed nml separate
09:51:13  <andythenorth> before I play commit tennis?
09:51:18  <andythenorth> nmlt?
09:51:39  <Eddi|zuHause> pynml?
09:51:54  <andythenorth> I considered cnml
09:51:59  <andythenorth> for chameleon-processed nml
09:52:00  <planetmaker> cnml?!
09:52:04  <andythenorth> but that's specific to my templater
09:52:13  <andythenorth> "other python templaters are available"
09:52:15  <Ammler> shouldn't it be possible to use both in one project?
09:52:20  <andythenorth> it is
09:53:08  <Eddi|zuHause> this is one of those questions where you shouldn't just make your mind up in 2 minutes and commit it
09:53:25  <andythenorth> I won't
09:53:33  <andythenorth> second time around :P
09:53:56  <Ammler> how do you create target line, if you the source depends on different preprocessor?
09:54:41  <andythenorth> Ammler: not sure
09:54:52  *** Phoenix_the_II [] has quit [Ping timeout: 480 seconds]
09:54:59  <andythenorth> the pipeline I had was python build script -> cpp -> nml
09:55:02  <andythenorth> it worked
09:55:09  <andythenorth> I've cut the cpp step afaict
09:55:22  <Ammler> ah
09:55:33  <Ammler> so you just run a file through both
09:55:42  <andythenorth> yup
09:55:42  <andythenorth> same as CETS is doing
09:55:50  <planetmaker> well. At least tnml is for source code templates which are re-used
09:55:56  <andythenorth> I've eliminated all the cpp now though
09:56:30  <planetmaker> a CTT or the main file never are re-used in a project, they're one-time code snippets
09:57:01  *** kkb110 [] has quit [Ping timeout: 480 seconds]
09:57:27  <Ammler> so it isn't possible to setup makefile rules depending on source available, e.g. I need %.nml and have either %.cnml or %pnml which need either python or cpp?
09:57:50  <andythenorth> planetmaker: seems you'd like the semantics to refer to how file is used, rather than what module uses the file?
09:57:58  <andythenorth> which is fine, just want to be sure
09:58:02  <planetmaker> that's not possible. You'd need to add a configure step. Or individual rules, Ammler
09:58:12  <planetmaker> andythenorth: of course
09:58:16  <andythenorth> ok
09:58:18  <andythenorth> hmm
09:58:46  <planetmaker> .cpp is also not about what's in it. Not about the module using it
09:58:51  <planetmaker> it's about the language it contains
09:58:59  <andythenorth> what about the case where I have a template, but only re-use it once? :o
09:59:12  <planetmaker> then it's silly to use a template tbh
09:59:22  <planetmaker> it's over-engineered then
09:59:42  <andythenorth> could be
09:59:44  <peter1138> if you re-use it once, then you've used it twice
10:00:14  <andythenorth> I wonder if it's confusing though
10:00:15  <planetmaker> well, yes :-) For two usages it makes sense :-)
10:01:14  *** MJP [] has joined #openttd
10:01:31  <andythenorth> authors using python will be calling Template() class or PageTemplateLoader() or whatever
10:01:31  <andythenorth> even to setup things which are singletons
10:01:31  <andythenorth> I'll leave it as tnml with the agreement to change it when we have agreement
10:02:48  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
10:03:02  <planetmaker> ach, whatever
10:05:14  <Rubidium> andythenorth: make it ntl
10:05:34  <Rubidium> nml template language, or rather newgrf meta language template language ;)
10:06:10  <Ammler> andythenorth: pnml is not because it needs cpp, it is because it needs preprocessing, same as your tnml needs
10:07:19  <andythenorth> mntl
10:07:19  <andythenorth> meta (blah)
10:07:19  <andythenorth> sure
10:07:19  <andythenorth> I'm only not changing it right now because of what Eddi reminded me - don't decided in 2 mins then commit in haste
10:07:21  <Ammler> I don't think, it is a good idea to invent new names just for good readability
10:07:33  <andythenorth> I'd be fine with .pnml as well
10:07:40  <planetmaker> tnml is really unfortunate. Functunally it's the same as the pnml in the other projects. And additionally it has already a meaning in the other projects different from this tnml
10:08:03  <planetmaker> and... you already went for the hasty renaming
10:08:23  <planetmaker> so the damage is done and now festers
10:08:41  <Ammler> we wait for hg 2.1, where you can push such things as draft :-p
10:08:50  <planetmaker> :-)
10:09:24  *** Xrufuian [] has quit [Quit: Good morning.]
10:09:28  * andythenorth ponders :P
10:09:31  <andythenorth> .ptnml
10:09:43  <andythenorth> as the templater by convention uses .pt :P
10:09:47  * andythenorth is not serious
10:10:04  <Ammler> but I fear redmine will not be able to handle hg phases
10:10:11  <Eddi|zuHause> permutation(l,m,n,p,t)
10:10:25  <planetmaker> you use python for pre-processing. then eddi's suggestion to use pynml is a quite good one
10:10:49  <andythenorth> I kind of like it too
10:11:04  <andythenorth> but the point was made that .pnml is not specific to cpp?
10:11:55  <Eddi|zuHause> that's kind of an unfounded argument
10:12:14  <Eddi|zuHause> it was only used for cpp in the past
10:12:24  <Eddi|zuHause> so it was never defined
10:12:51  <Eddi|zuHause> so now it's exactly the right time to define it
10:13:01  <Ammler> Eddi|zuHause: the method you use to preprocess should not define the source
10:13:34  <Eddi|zuHause> yes, that's the entire point of extensions
10:13:41  <Eddi|zuHause> specify the program it should be used with
10:13:59  <Ammler> but makefile can't handle it anyway
10:14:25  <andythenorth> I don't have text files called .letter .angry_note_to_wife .tax_evasion_plan
10:15:19  <andythenorth> maybe I should
10:15:28  <Eddi|zuHause> but you have xml files called .odf
10:15:38  <Eddi|zuHause> and RIFF files called .avi
10:15:56  <Rubidium> isn't .odf a zip?
10:16:02  <andythenorth> and mac folders called .app
10:16:06  <Eddi|zuHause> yes, a zipped xml
10:16:19  <andythenorth> is this bikeshedding? :D
10:16:26  <SpComb> yellow
10:16:35  <Rubidium> vcxproj is a xml as well ;)
10:16:43  <andythenorth> what should the precedence order be for .tnml and .pnml?
10:16:45  <Rubidium> on the other hand, it's a text file too
10:17:14  <andythenorth> all .tnml files are processed.  but not all .pnml files are templates used more than once
10:17:20  <Eddi|zuHause> extensions are used to let meta-tools like filemanagers or makefiles make assumptions about the content without looking at the content
10:18:01  <planetmaker> andythenorth: pnml does NOT indicate template
10:18:22  <Eddi|zuHause> i don't use tnml in CETS
10:18:31  <planetmaker> it indicates need for pre-processing
10:18:36  <Eddi|zuHause> it's all just pnml to me
10:18:36  <planetmaker> and only that
10:20:12  <planetmaker> and my idea behind tnml was that those are files which are included multiple times
10:21:09  <planetmaker> and yes, again as eddi says: extensions are meant to give one-glance idea of what's inside
10:21:09  *** TGYoshi [~TGYoshi@] has joined #openttd
10:21:35  <planetmaker> in terms of file type / language contained
10:22:57  <andythenorth> so repeat_inclusion > processing?
10:23:08  <andythenorth> i.e. a pnml file is a tnml file if used > once?
10:24:06  <planetmaker> kinda
10:24:21  <andythenorth> it made total sense with cpp
10:24:27  <andythenorth> there were no problems with the convention
10:24:29  <Rubidium> hahaha... in some town somewhere in Belgium the preschools apparantly sent a letter to everyone "of the right birth year" to start preschool, so everyone whom's birth year ended in 09 got the letter
10:24:31  <andythenorth> it was obvious
10:24:47  <planetmaker> haha @ Rubidium :-)
10:24:54  <planetmaker> I can imagine the result :-P
10:25:04  <Rubidium> including a 102 year old guy ;)
10:25:23  <Rubidium> I fear he's not going to finish his second round of education
10:25:28  <planetmaker> :-P
10:25:53  <planetmaker> also in the sports classes he might not be up to some challanges
10:26:34  <planetmaker> he might also get marks deducted for "bad" handwriting ;-)
10:26:56  <andythenorth> planetmaker: it seems that to avoid bikeshedding this, I should just follow the convention established
10:27:02  <andythenorth> .pnml and .tnml
10:28:01  <planetmaker> I don't really mind which you follow. But if you use another, it's bad to use the same extensions with different meaning
10:28:15  <Eddi|zuHause> Rubidium: these y2k bugs never die out
10:28:30  <andythenorth> planetmaker: agreed on extension collisions
10:28:58  <andythenorth> so either .tnml and .pnml, or .pynml
10:28:59  <Eddi|zuHause> a few years ago i think it was in finland, where a 106 year old got the notification for school-enrollment
10:29:05  <andythenorth> I'll decide later :P
10:29:12  <andythenorth> classic decision by committee :P
10:30:52  * andythenorth just thought of an evil practical joke
10:31:08  <andythenorth> swap someone's smiley set to invert :( and :)
10:31:13  <andythenorth> assuming they use graphic smileys
10:31:37  <planetmaker> so you changed the files in a split second to clash with "standard" and decide later whether to use something sane? :-P
10:31:41  <andythenorth> yes
10:31:48  <planetmaker> great
10:31:48  <andythenorth> standard andythenorth haste :P
10:32:00  <andythenorth> no point repeating the mistake twice
10:32:24  <planetmaker> yeah. Let it rest, forget and build on... a bad decision :-P
10:32:33  *** Alberth [] has joined #openttd
10:32:36  *** mode/#openttd [+o Alberth] by ChanServ
10:32:56  <andythenorth> planetmaker last time I asked the question about extension you weren't here
10:33:09  <planetmaker> omg
10:33:11  <andythenorth> I was told 'stop asking dumb questions, just decide something and write code' effectively
10:33:31  <Alberth> hi hi
10:33:37  <planetmaker> hi Alberth
10:33:59  <andythenorth> advice varies by person giving it :D
10:34:23  <planetmaker> the question in the first place is: why does it need a change at all?
10:34:28  <planetmaker> And that wasn't IMHO asked at all
10:34:48  <planetmaker> but your game, your call
10:35:17  <andythenorth> why does the extension need a change?
10:35:36  <andythenorth> only that I had files in my repo that started life as cpp and migrated to python
10:35:45  <andythenorth> and the extension use had no consistency
10:35:54  <andythenorth> it's just cleanup
10:37:41  <planetmaker> "cleanup"? Interesting definition
10:38:28  <andythenorth> hmm
10:38:33  <andythenorth> we seem to be at cross purposes
10:38:44  <andythenorth> I need to use correct extensions according to a convention
10:38:47  <andythenorth> they were wrong
10:38:51  <andythenorth> I needed to change them
10:38:58  <andythenorth> my first attempt was...hasty
10:39:25  <Alberth> first one always is ;)
10:39:55  <andythenorth> the makefile project convention of 'template' suffers an unfortunate naming collision with python templates
10:39:57  <Alberth> it's more 'an exploration of possibilities', I think, in general :)
10:40:00  <andythenorth> which confused me a bit
10:40:20  <andythenorth> we now have two entities in play, with the same name
10:40:35  <andythenorth> python template modeules/classes, which load template files
10:40:46  <andythenorth> and templates, which are template files used more than once
10:41:12  <andythenorth> I'm sorry if the decision was wrong or annoying
10:41:19  <andythenorth> I'm just confused by what is the right thing to do
10:41:37  <planetmaker> just use unique extensions, if you must use something different
10:41:39  <planetmaker> that's all
10:42:13  <planetmaker> anyway, RL is calling. See you later
10:42:20  <Alberth> bye planetmaker
10:44:00  *** andythenorth [] has quit [Quit: andythenorth]
10:46:15  *** KouDy [~KouDy@] has joined #openttd
10:47:12  *** chester [] has joined #openttd
10:49:21  *** Chris_Booth [] has joined #openttd
10:50:28  *** Progman [] has joined #openttd
10:54:45  *** Zuu_ [] has joined #openttd
11:04:28  *** DDR [~chatzilla@] has quit [Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111221202647]]
11:05:54  *** Brianetta [] has joined #openttd
11:10:28  *** OpenTTD_Johannes [] has joined #openttd
11:10:56  <OpenTTD_Johannes> Hey all
11:11:16  <Zuu_> Hello
11:11:25  <OpenTTD_Johannes> I have a map save for the title-image contest. Do I need to register in the forum to submit?
11:12:33  <Alberth> yes, otherwise you cannot post
11:12:40  <Zuu_> That would make it easier for pm to organize it.
11:13:00  <OpenTTD_Johannes> Don't send me spam after registration :P
11:13:06  *** pjpe [] has quit [Quit: ajax IRC Client]
11:13:21  <Zuu_> If you email he would need to monitor his email too for saves.
11:13:28  *** mahmoud [] has joined #openttd
11:13:35  *** tensai_cirno [~cirno@] has joined #openttd
11:13:43  <Alberth> OpenTTD_Johannes: did not happen with me so far
11:14:02  <Alberth> be sure to disable the email address display in your preferences
11:14:04  <OpenTTD_Johannes> Only kidding. Thanks for the advice, I'll upload it soon! :)
11:14:12  <OpenTTD_Johannes> Sure.
11:15:46  *** KouDy [~KouDy@] has quit [Ping timeout: 480 seconds]
11:16:14  <Zuu_> You will only soon get addicted to the forums. ;)
11:16:21  *** frosch123 [] has joined #openttd
11:18:07  *** Zuu_ [] has quit [Quit: Bye]
11:18:57  *** KouDy [~KouDy@] has joined #openttd
11:19:17  <frosch123> yay, it's not even noon, and i am already here :p
11:21:16  <Ammler> Alberth: do you have any clue, how fedora handles "recommends" with package manager (rpm)?
11:22:18  *** JVassie [~James@] has joined #openttd
11:23:07  <Eddi|zuHause> # it's so cold it's so cold it's so cold it's so cold
11:25:00  <Alberth> Ammler: it has 'recommends'? never noticed it
11:25:16  <__ln__> only -16,3°C now
11:25:31  <Elukka>
11:25:33  <Elukka> it was -24 earlier
11:25:36  *** pugi [] has joined #openttd
11:25:38  *** KouDy [~KouDy@] has quit [Quit: Leaving.]
11:25:57  <OpenTTD_Johannes> The perfect weather for playing openttd all day :)
11:26:01  *** KouDy [~KouDy@] has joined #openttd
11:28:15  <V453000> Elukka: AMAZING website :D :D :D
11:29:07  <frosch123> Elukka: you are living in a weird climate, if it snows at -18°C
11:29:19  <Elukka> ...yeah
11:29:20  <Elukka> the site is wrong
11:29:34  <V453000> it says snowing even here, and no snowing :) but still F cold
11:34:21  <Ammler> Alberth: it seems not having it, that is why I ask, how do you Fedora guys handle that?
11:34:24  <OpenTTD_Johannes> Ummm is openttd interested in C/C++-Coders?
11:34:59  <Alberth> OpenTTD_Johannes: the top-left corner of the save game stays where it is, so perhaps if you move that (in your screenshot at least), it may be better for small screens
11:35:01  <Eddi|zuHause> certainly
11:35:25  <Alberth> OpenTTD_Johannes: as well as squirrelers :)
11:35:35  <OpenTTD_Johannes> okay Alberth, I'll fix it, thanks!
11:35:44  <Alberth> Ammler: what is it?
11:36:24  <Alberth> OpenTTD_Johannes: in the game options you can switch to smaller window sizes so you can see how it looks
11:36:41  <OpenTTD_Johannes> Oh? Squirrel is an animal, right? Sorry, I am bad in English... :(
11:37:32  <Eddi|zuHause> yes, but it's also a scripting language
11:37:36  <Alberth> OpenTTD_Johannes: it's an animal but also the programming language for AIs and goal scripts:
11:39:06  <OpenTTD_Johannes> Ahhh, okay, I usually only code in C++. But I have time left, and if there was anything that needed to be done, I could try it.
11:39:15  *** tokai|mdlx [] has joined #openttd
11:41:07  *** FLHerne [] has joined #openttd
11:41:32  <planetmaker> just back from shopping I updated the titlegame page
11:43:29  *** DayDreamer [~DayDreame@] has joined #openttd
11:43:52  *** tokai|noir [] has quit [Read error: Operation timed out]
11:44:37  <planetmaker> ^ OpenTTD_Johannes, thus you can just browse the screens
11:45:54  <Alberth> too much temperate climate :(
11:47:46  <planetmaker> Alberth: we had arctic and desert already :-)
11:47:57  <planetmaker> kinda time for a temperate ;-)
11:48:12  <planetmaker> But then, I know what you mean
11:48:22  <planetmaker> and somewhat feel with you
11:48:46  *** Brianetta [] has quit [Quit: TschÌß]
11:49:24  *** OpenTTD_Johannes [] has quit [Quit: ajax IRC Client]
11:50:19  <V453000> toyland.!
11:51:00  <Alberth> I'd like that, but it is too controversial I fear to ever get enough votes for
11:52:16  *** hbccbh [~hbc@] has joined #openttd
11:53:56  <frosch123> it's funny how the screenshots randomly switch between english and german :p
11:54:18  <planetmaker> :-) Different times they were generated
11:54:25  <planetmaker> And ... I switched languages, I guess
11:54:26  * Alberth watches a screenshot intently to see it change
11:54:45  <frosch123> :p
12:01:18  *** lmergen [] has joined #openttd
12:01:32  *** KouDy [~KouDy@] has quit [Ping timeout: 480 seconds]
12:03:06  *** |Jeroen| [] has quit [Remote host closed the connection]
12:10:07  *** andythenorth [] has joined #openttd
12:13:36  <andythenorth> Eddi|zuHause: .gnml - generated nml?
12:15:01  <Alberth> generic nml
12:15:10  *** KouDy [~KouDy@] has joined #openttd
12:15:19  <andythenorth> it's used in CETS ;)
12:15:45  <Alberth> xnml   could be fun too ;)
12:16:07  <andythenorth> sounds like it would be xml :P
12:16:14  <andythenorth> mine contains some xml :P
12:16:21  <andythenorth> but it's not a valid xml doc
12:16:23  <Alberth> it's extended nml  :)
12:16:26  <andythenorth> ho
12:16:32  <andythenorth> fun with extensions :o
12:16:50  <andythenorth> I want to use .pynml for templates
12:17:17  <Alberth> seems fine to me
12:17:23  <andythenorth> but I'm kind of reluctant to make the change without some agreement
12:17:52  <Alberth> it contains python code?
12:18:01  <andythenorth> yes
12:18:14  <andythenorth> and I can't find the extension in use by other projects
12:18:39  <Alberth> the number of 'nml' projects is not so large :)
12:19:29  <Alberth> I'd just use .py, but that is much less exciting
12:20:55  <planetmaker> andythenorth: what is a template in your context?
12:22:02  <andythenorth> it's a file used by chameleon templating module
12:22:02  <andythenorth>
12:22:25  <andythenorth> although I was considering just now writing a python module that aliased all references to 'template' to something else :)
12:22:34  <andythenorth> but then the docs will be harder to use ;)
12:25:22  <andythenorth> I also need to think about the dir I have called 'templates'
12:25:46  <andythenorth> as that's a convention for the python module, but collides with our convention for newgrfs
12:26:03  <andythenorth> 'templates' in HEQS currently means something quite different to templates in 'BANDIT'
12:26:09  <andythenorth> hmm
12:26:17  <andythenorth> those quote marks were wrong :P
12:28:14  *** KouDy [~KouDy@] has quit [Read error: Connection reset by peer]
12:30:57  *** DayDreamer [~DayDreame@] has quit [Quit: Leaving.]
12:31:46  *** KindOne [] has joined #openttd
12:32:17  *** KindOne [] has left #openttd []
12:32:41  <andythenorth> maybe I don't need them in a dir
12:32:46  <andythenorth> a bigger project might
12:33:43  <andythenorth> Alberth: would you have time to review some more code?
12:33:50  <andythenorth> it might help figure out the structure too
12:38:17  <Alberth> sure, just need to get a coffee
12:39:30  *** KouDy [~KouDy@] has joined #openttd
12:39:50  <Eddi|zuHause> andythenorth: yes, .gnml is the generated files. that is to easily do "rm -rf *.gnml" on clean
12:40:36  <Eddi|zuHause> and "**.gnml" in hg
12:40:41  <Alberth> -f ?   you protect them?
12:40:44  <Eddi|zuHause> hgignore
12:41:02  <Eddi|zuHause> Alberth: no.
12:41:07  <Eddi|zuHause> Alberth: that was just an example
12:42:26  <Eddi|zuHause> actually... the makefile doesn't currently seem to do that
12:45:25  <Alberth> I normally explicitly calculate which files to delete:  for i in $(OBJFILES) $(CXXFILES:.cpp=.d) table/strings.h $(TARGET); do if test -f $$i; then rm $$i; fi; done
12:47:08  <CIA-1> OpenTTD: rubidium * r23878 /trunk/ (6 files in 4 dirs): -Prepare: 1.2.0-beta4
12:48:57  *** yorick_ [] has joined #openttd
12:50:49  <CIA-1> OpenTTD: rubidium * r23879 /tags/1.2.0-beta4/: -Release: 1.2.0-beta4
12:51:22  *** yorick [] has quit [Ping timeout: 480 seconds]
12:52:53  <Eddi|zuHause> Alberth: right, but not all .gnml files have a makefile rule
12:53:45  <Eddi|zuHause> and that fails to remove files whose original got removed
12:54:38  <Ammler> does distcc or ccache have advantage for the final binary?
12:55:02  <Alberth> Eddi|zuHause: nah,    CXXFILES=config_reader.cpp fileio.cpp language.cpp main.cpp map.cpp math_func.cpp ...     :)
12:56:16  <Alberth> Ammler: other than building it possibly faster, not that I am aware of
12:56:21  <Eddi|zuHause> Alberth: but if one of those files is removed from the repository (moved, split, obsoleted, etc.), then it won't be in CXXFILES anymore
12:57:03  <Eddi|zuHause> Alberth: the repository makes sure the .cpp file is removed, but the compiler files remain
12:57:25  * Alberth nods
13:02:20  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
13:03:43  *** sla_ro|master [~slaco@] has joined #openttd
13:05:32  * Alberth prods andythenorth
13:06:29  *** |Jeroen| [] has joined #openttd
13:06:34  *** Brianetta [~brian@] has joined #openttd
13:07:07  <andythenorth> hola
13:07:16  <andythenorth> Alberth: might be worth getting a checkout
13:07:18  <andythenorth> ?
13:07:34  <andythenorth>
13:07:38  <Alberth> ah, you are not frozen :)
13:09:04  <Alberth> oops, wrong url :)
13:09:12  <andythenorth> I am building lego forest police with a toddler
13:09:19  <andythenorth> but I can multi-task ;)
13:09:57  <andythenorth> most of my code is now written with some > 0 amount of child-based brain contention
13:11:44  <Alberth> what should I read?
13:12:58  <andythenorth> a few oddities
13:13:10  <andythenorth> worth reading the templates
13:13:17  <andythenorth> the syntax is easy enough
13:13:23  <andythenorth> I learnt it 7 years ago without docs :)
13:13:53  <andythenorth> I'm not convinced I need the '' dict
13:14:05  <andythenorth> I could just create instance variables on vehicle
13:14:36  <andythenorth> but I don't know an easy way to do that without manually writing out every var
13:14:58  <andythenorth> and afaik, programmatic creation of vars is frowned upon anyway, due to possible collisions
13:16:26  <andythenorth> could just do a self[i] = j for [i,j in properties.items()]
13:16:27  <andythenorth> or such
13:21:09  <andythenorth> Alberth: if you look at the templates, I should mention that where you see <tal:foo ...> the foo part is arbitrary
13:21:44  <Alberth> you could make properties queryable from the instance
13:22:50  <Alberth> I sort of skipped lines with "<tal: ......>"   :)
13:22:58  <Alberth> what's tal?
13:23:57  <Alberth> (I am considering to have a go at a WT3 REST server)
13:25:33  <Alberth> is generated?
13:25:58  <Alberth> it could be moved to a ConfigParser file :)
13:26:13  *** lmergen [] has quit [Ping timeout: 480 seconds]
13:28:42  <andythenorth> is generated from my web server
13:29:01  <andythenorth> although I want to try building a browser app to generate it locally
13:29:14  <andythenorth> using pyramid framework, or just simple python wsgi
13:29:24  <andythenorth> tal is template attribute language
13:29:33  <andythenorth> chameleon is a tal implementation
13:30:02  <andythenorth> it's one of about 4 or 5 widely used python templaters for web stuff
13:30:03  <Ammler> wsgi is just a way deploy...
13:30:23  <andythenorth> well it's a little more
13:30:42  <andythenorth> but yes
13:31:11  *** valhallasw [~valhallas@] has joined #openttd
13:32:33  <andythenorth> Alberth: if I've understood your goal with WT3 correctly, you might also use either pyramid (or a similar lightweight framework), or just write a from-scratch python app, using wsgi for the http server interface etc
13:33:10  <Ammler> just meant, using wsgi should not be up to the dev :-)
13:33:41  <andythenorth> well yes
13:33:54  <andythenorth> you might use paste as server to dev locally, but not maybe in production :)
13:34:02  <andythenorth> etc
13:34:23  <Alberth> yeah, smaller frameworks are better, but you need authentication and utf-8 support
13:35:14  <Ammler> we don't use wsgi to deploy hg or paste
13:35:32  <Ammler> hmm, do we?
13:37:22  <andythenorth> not sure
13:37:34  <andythenorth> what's in front of hg?  anything?
13:38:58  <Mazur> I don't know the table by heart, but I believe it's Au.
13:40:13  <andythenorth> Alberth: ConfigParser?
13:40:34  <andythenorth> so that's a module...
13:41:03  <frosch123> Au is correct
13:41:15  <frosch123> Tl is behind
13:42:48  <Eddi|zuHause> @calc 8
13:42:48  <DorpsGek> Eddi|zuHause: 8
13:42:54  <Eddi|zuHause> @calc 8*255
13:42:54  <DorpsGek> Eddi|zuHause: 2040
13:43:00  <Eddi|zuHause> @calc 9*255
13:43:00  <DorpsGek> Eddi|zuHause: 2295
13:43:09  <Alberth> andythenorth: the INI file parser module of Python
13:43:49  <Eddi|zuHause> @calc 6*9*255
13:43:49  <DorpsGek> Eddi|zuHause: 13770
13:43:57  <Eddi|zuHause> @calc 8*9*255
13:43:58  <DorpsGek> Eddi|zuHause: 18360
13:43:59  <andythenorth> is it overkill? :D
13:44:05  <andythenorth> my config file is a dict...
13:45:43  <Alberth> it is less cluttered with quotes, commas, and curly brackets, and more human readable, but that's all
13:46:39  <andythenorth> hmm
13:46:51  <andythenorth> those are all the things I want to get rid of, (except for human readable)
13:47:09  <andythenorth> currently I use the web cms to abstract from those things
13:47:16  <andythenorth> let's see about ConfigParser then
13:47:26  <Eddi|zuHause> ini format sounds like a sensible solution
13:47:46  <Alberth>
13:47:47  <andythenorth> "You can use this to write Python programs which can be customized by end users easily."
13:48:09  *** Chris_Booth [] has quit [Ping timeout: 480 seconds]
13:48:24  <Alberth> I used it as file format for state machines :p
13:48:46  <andythenorth> can it handle equivalent of list structures?
13:49:02  <andythenorth> foo = (value1,value2,value3) etc
13:50:08  <Alberth> it's just strings, so after reading, you can do some string processing, like  [val.strip() for val in split(line,  ',')]
13:50:17  <andythenorth> ok
13:50:25  <Alberth> hmm, line.split(',')  of course
13:50:26  <andythenorth> so this is basically sane name value parits
13:50:28  <andythenorth> pairs
13:50:29  <andythenorth> oh
13:50:39  <andythenorth> it has utilities for modifying the config file as well
13:50:59  <andythenorth> that's the main reason I'm using a web cms: I can batch add / remove / change attributes
13:51:00  <Alberth> you can create and write a config file too :)
13:51:22  <andythenorth> is writing a dict then importing it just a bit dumb then?
13:51:30  <andythenorth> it's not very human readable for starters
13:51:39  <andythenorth> I tried pretty print, but it was tmwftlb
13:52:10  <Alberth> import is inherently dangerous, as you execute the imported file
13:52:25  <andythenorth> easy attack vector
13:52:40  <Alberth> but as machine-readable format, it would be fine imho
13:52:42  <andythenorth> especially as my instructions are 'paste here [stuff from the interwebs]'
13:53:33  <Alberth> json would be another option, which has support for different data structs as well
13:53:46  <andythenorth> I considered JSON too
13:53:54  <andythenorth> the INI style file is very simple
13:53:57  <andythenorth> I like it
13:55:05  <Alberth> the only disadvantage imho is that it does not give you a true dict, you have to fiddle with method calls a bit to get all data you want
13:55:26  <andythenorth> the dict arrives at Truck class anyway and is parsed
13:55:30  <andythenorth> it's only an intermediate format
13:55:38  <andythenorth> I'm not convinced it's necessary
13:55:49  <andythenorth> especially as I am not happy with in the templates
13:57:15  <andythenorth> I'll rewrite the CMS to output INI style format
13:57:22  <andythenorth> later though
13:57:32  <andythenorth> in case you point out anything else that should be done first
14:01:30  <andythenorth> Alberth: you might raise your eyebrows at how I am getting some global constants into the templates
14:05:01  <Alberth>    an idea to hide the dict
14:05:35  *** Rhamphoryncus [] has joined #openttd
14:05:41  <andythenorth> oh ok
14:05:51  *** FLHerne [] has left #openttd []
14:05:53  <andythenorth> __setattr__ and __getattr__ are new to me
14:06:04  <andythenorth> although they match a slightly more abstracted version used in my cms
14:09:46  <Rubidium> @topic set 1 1.1.5, 1.2.0-beta4
14:09:47  *** DorpsGek changed the topic of #openttd to: 1.1.5, 1.2.0-beta4 | Website: * (translator: translator, server list: servers, wiki: wiki, patches & bug-reports: bugs, revision log: vcs, release info: finger) | Don't ask to ask, just ask | 'Latest' is not a valid version, ever | English only
14:09:58  <andythenorth> so this is a mapping into the properties dict?
14:10:10  <andythenorth> rather than creating instances of variables directly on the object?
14:10:54  <Alberth> the indenting of is not PEP8 compliant :)
14:10:54  <Alberth> but otherwise mostly fine. Not sure what to change further tbh
14:11:14  <Alberth> yes, it redirects attribute access to the properties dict
14:11:38  <Alberth> at the cost of not being able to make your own variables, as you can see in the init
14:13:01  <andythenorth> worth knowin
14:13:02  <andythenorth> g
14:14:10  <Alberth> I would have moved all the assignments to below the classes, and put all the stuff in a run() function, but that's not a big issue
14:14:35  <andythenorth> might be worth considering
14:14:42  <andythenorth> I have no problem binning code
14:14:45  <andythenorth> all code dies
14:16:40  <Alberth> together with    if __name__ == '__main__': run()     it allows you to import the file without running the code
14:17:20  <CIA-1> OpenTTD: michi_cc * r23880 /trunk/src/core/alloc_type.hpp: -Add: A simple smart pointer.
14:17:25  <CIA-1> OpenTTD: michi_cc * r23881 /trunk/src/spriteloader/grf.cpp: -Codechange: Move GRF sprite decoding into a separate function.
14:17:29  <CIA-1> OpenTTD: michi_cc * r23882 /trunk/src/ (newgrf.cpp newgrf_sound.cpp newgrf_sound.h sound.cpp): -Codechange: Delay parsing of NewGRF sound effects until first usage.
14:17:33  <CIA-1> OpenTTD: michi_cc * r23883 /trunk/src/newgrf.cpp: -Fix: [NewGRF] It wasn't possible to import sounds from a NewGRF later in the load order.
14:17:37  <CIA-1> OpenTTD: michi_cc * r23884 /trunk/src/spritecache.cpp: -Codechange: Store recolour sprites in memory directly during GRF loading.
14:17:41  <CIA-1> OpenTTD: michi_cc * r23885 /trunk/src/ (landscape.cpp spritecache.cpp): -Codechange: Use the GRF sprite loader for then mapgen sprites as well.
14:17:45  <CIA-1> OpenTTD: michi_cc * r23886 /trunk/src/ (base_media_base.h base_media_func.h gfxinit.cpp): -Codechange: Allow limiting the MD5 file hash to the first x bytes of the file.
14:17:50  <CIA-1> OpenTTD: michi_cc * r23887 /trunk/src/ (12 files in 2 dirs): -Feature: [NewGRF] Support for container version 2.
14:17:54  <CIA-1> OpenTTD: michi_cc * r23888 /trunk/src/table/ (misc_settings.ini settings.ini): -Change: Move the min/max zoom settings to the "misc" section so they are valid before sprites are loaded.
14:18:02  <CIA-1> OpenTTD: michi_cc * r23889 /trunk/src/ (9 files in 3 dirs): -Codechange: Centralise sprite resizing in one place. (peter1138)
14:18:04  <CIA-1> OpenTTD: michi_cc * r23890 /trunk/src/spriteloader/grf.cpp: -Add: [NewGRF] Support for RealSprites with multiple zoom levels.
14:18:08  <andythenorth> commit spree :o
14:19:32  *** FLHerne [] has joined #openttd
14:19:42  <Rhamphoryncus> commitgasm?
14:21:35  <Alberth> feature :)
14:23:16  <andythenorth> Alberth: I have two other things I'm not convinced by:
14:23:26  <andythenorth> - structure of /src, specifically use of /templates dir
14:23:33  <andythenorth> -
14:28:02  <andythenorth> I'm not sure nesting into /templates is needed
14:28:49  <Alberth>  somewhat screams INI file, but on the other hand, this may be easier to manage, and they change very little probably
14:29:03  <Alberth> better a directory too much than too few
14:30:04  <Alberth> it reduces clutter in the src directory, and I found it useful for understanding the repo structure
14:30:08  <andythenorth> k
14:30:28  <andythenorth> is basically a cheat to make CONSTANTS appear in the template namespace
14:30:38  <andythenorth> it's one extra place to find when looking where things are defined
14:30:50  <andythenorth> and it's one extra piece of code to write when adding a global var
14:31:07  <Alberth> you seem to have more trickery around the template stuff
14:31:23  <andythenorth> maybe I could make globals() an object
14:31:33  <andythenorth> and then use __setattr__ and __getattr__ for names
14:31:44  <andythenorth> hmm
14:31:45  * andythenorth ponders
14:32:02  <andythenorth> the template namespace only contains what is passed to it, or what it imports
14:32:04  <Alberth> in my view the template stuff is broken if it needs global vars
14:32:16  <andythenorth> it doesn't need them particularly
14:32:30  <andythenorth> I am trying to preserve the ability to use things like SOLO_TRUCK_TYPE_NUM
14:32:39  <andythenorth> without accessing another obj or structure
14:32:47  <andythenorth> but that might not be a valid goal
14:32:56  <andythenorth> magic constants :o
14:33:12  <Eddi|zuHause> what's a "container version 2"?
14:33:20  <andythenorth> where is it?
14:33:41  <Eddi|zuHause> in the commitgasm
14:33:53  <andythenorth> probably replaces version 1 :P
14:34:05  <andythenorth> is it vehicles in vehicles? :D
14:34:09  <andythenorth> probably not
14:38:57  <michi_cc> Eddi|zuHause: The magic stuff that enables multiple zoom levels and colour depths per sprite and allows stripping of unneeded zoom levels/colourdepths without affecting network compatibility.
14:39:02  <Alberth> in Python I only have global constants, but that may be due to the sort of things I normally program
14:39:52  <andythenorth> I considered putting them on the vehicle objects
14:40:07  <andythenorth> I don't really like code where you have to read 10 loc to find the actual point a var is defined though
14:40:33  <andythenorth> e.g. foo = = global foo = from globals import stuff{foo:10}
14:40:38  <andythenorth> or so
14:40:54  <andythenorth> annoys other people :)
14:40:59  <Eddi|zuHause> don't read my code then
14:41:01  <Eddi|zuHause> :p
14:41:52  <andythenorth> I should have probably explained that differently :)
14:41:55  <andythenorth> one line assignments are fine
14:42:17  <andythenorth> but playing 'hunt the actual value' in 3 or 4 different files is dull
14:42:25  <frosch123> michi_cc: nice summary ^^
14:45:30  *** Phoenix_the_II [] has joined #openttd
14:56:06  *** Brianetta [~brian@] has quit [Quit: TschÌß]
14:56:30  *** kkb110 [] has joined #openttd
14:57:49  *** Aygar[Work|afk] [~quassel@] has joined #openttd
14:57:50  *** Aygar [~quassel@] has quit [Ping timeout: 480 seconds]
15:07:29  <andythenorth> hmm
15:07:40  <andythenorth> Alberth: can config parser sort out types?
15:07:52  <andythenorth> or will I be calling int() and such a lot?
15:08:06  <andythenorth> here's some test input
15:10:19  <Alberth> no, it only does strings
15:11:10  <Alberth> json does I think
15:11:38  <Alberth> but otherwise, that's why loading text is so much safer than importing :p
15:12:46  *** lmergen [] has joined #openttd
15:13:10  <andythenorth> I ruled out JSON, it has all the same scaffolding issues - braces, etc
15:15:39  * andythenorth ponders, split lists on | or ,
15:15:47  <andythenorth> , might appear validly in strings
15:16:11  <Alberth> or use ; or :
15:16:22  <Alberth> or \n :p
15:16:43  <Alberth> the latter messes up ini file formatting though
15:17:40  *** theholyduck [] has joined #openttd
15:18:18  <Eddi|zuHause> <andythenorth> , might appear validly in strings <-- that's why i used tsv and not csv
15:18:48  <SpComb> psv fixes all the delimiter issues!
15:19:34  <andythenorth> I used to use || for passing lists in url query strings
15:19:35  <valhallasw> csv supports escaping
15:19:50  <valhallasw> a,b,"boo,hoo",d,etc
15:20:07  <valhallasw> at least, escaping is generally accepted by parsers
15:20:15  <SpComb> valhallasw: and " in values? :P
15:20:35  <valhallasw> ""
15:20:46  <valhallasw> at least, that's what excel does
15:20:53  <SpComb> CSV is great, because it supports escaping in a variety of different fashions, all depending on what generated it and what's parsing it!
15:20:56  <SpComb> ..
15:21:04  * Alberth ponders using a scanner for this kind of things
15:21:12  <andythenorth> scanner?
15:21:58  <valhallasw> >>> x.writerow(["a", ",", "'", '"'])
15:21:58  <valhallasw> a,",",',""""
15:22:13  <valhallasw> SpComb: everybody uses the excel dialect
15:22:33  <SpComb> python's csv is cofigureable for different dialects
15:22:50  <SpComb> and excel uses something bizarre like UTF-8 CSV
15:22:56  <SpComb> err, UTF-16
15:23:08  <SpComb> which severely messes things up
15:23:40  <SpComb> (and python's csv module does neither unicode nor NULs)
15:23:49  *** Cybertinus [] has joined #openttd
15:24:06  <SpComb> pain and suffering, etc
15:24:25  <valhallasw> point taken
15:24:28  <Alberth> andythenorth:  <-- that's the scanner of nml, it takes your text, and it spits out a sequence of tokens which have a token-type (eg NUMBER) and optionally a value attached
15:25:05  <Alberth> but you may want something more light-weight :)
15:25:12  <valhallasw> however, creating /another/ new format is even worse ;-)
15:25:37  <valhallasw> andythenorth: you could also consider YAML
15:25:54  <valhallasw> or just go enterprise with XML directly
15:28:18  <Alberth> xml doesn't do text-int conversion automagically either
15:29:21  <Alberth> bleh, the scanner debug code got removed from nml :(
15:33:10  *** TWerkhoven[l] [] has joined #openttd
15:40:35  <Eddi|zuHause> so, is this how passing "static" parameters to strings is supposed to work? i didn't find any documentation about it:                name:                           string(STR_NAME_ENG_pruss_E_Abt4,string(STR_NAME_ENG_PASSENGER),string(STR_NAME_ENG_ACCELERATED),string(STR_NAME_ENG_FOUR_AXLE));
15:41:11  <Eddi|zuHause> the language file contains this:
15:41:13  <Eddi|zuHause> STR_NAME_ENG_pruss_E_Abt4 :{STRING} - {STRING} (Abteilwagen, {STRING})
15:44:43  <Eddi|zuHause> and what happens if there's too few (or too many) parameters?
15:45:31  <Hirundo> demons may fly out of your nose
15:46:12  <Hirundo> I wouldn't know really, string handling is 99% Yexo's work
15:47:08  *** Biolunar [] has joined #openttd
15:47:16  <Hirundo> Alberth: what 'scanner debug code' ?
15:49:01  <Hirundo> frosch123: Is there any relationship between real sprite 'info version 7 / 32' and grfv7/grfv8?
15:49:28  <michi_cc>
15:49:45  <Alberth> Hirundo: a function that runs the scanner only, and dumps the found tokens. Would have been nice to show andy
15:49:50  *** lmergen [] has quit [Ping timeout: 480 seconds]
15:50:04  <frosch123> Hirundo: there is no relation between grf version, nfo version and grf container version
15:50:09  <frosch123> all combinations are possible
15:50:23  <frosch123> however, only grf container 2 plus nfo32 allow usage of multiple zoom levels or 32bpp
15:50:49  <frosch123> conversion to grf container 1 or nfo < 32 will strip 32bpp and zoom levels, but still work
15:51:04  <Hirundo> OK, thanks for info
15:51:17  <Hirundo> Obviously, I should have checked the forum before asking questions :-)
15:51:21  *** KritiK [~Maxim@] has joined #openttd
15:51:27  <michi_cc> NFO version is only really relevant for grfcodec though.
15:51:37  <frosch123> you asked your question 2 minutes before the forum post :p
15:52:16  <Hirundo> NML can output both grf (needs container v2) and nfo (needs nfo v32)
15:55:43  <Eddi|zuHause> nmlc: "src/../src/pruss/E_Abt4.gnml", line 126: First parameter of string() must be an identifier. <-- that's probably the wrong error message :p
15:56:31  <Eddi|zuHause> (or maybe i'm doing something else wrong)
15:57:26  <Eddi|zuHause> ah, think i found it
16:01:48  <Eddi|zuHause> openttd: /home/johannes/spiele/OpenTTD/trunk/src/strings_func.h:82: int64 StringParameters::GetInt64(WChar): Assertion `this->offset < this->num_param' failed.
16:01:52  <Eddi|zuHause> that's probably not right...
16:03:55  <Eddi|zuHause>      Removed NewGRF: GRF ID 4A430201, filename: newgrf/test/ng_frails.grf (matches GRFID only). Gamelog inconsistency: GrfID was never added! <-- err...??
16:04:23  <Eddi|zuHause> (that is probably not related, though :p)
16:04:42  <Hirundo> loaded as static grf?
16:05:13  *** theholyduck [] has quit [Read error: Connection reset by peer]
16:05:36  *** theholyduck [] has joined #openttd
16:07:28  <Hirundo> frosch123: Currently the GRFTempEngineData::refitmask_grf is set only when setting the xor mask, which I plan to deprecate / remove in NML
16:08:32  <Hirundo> Might it make sense, to also set refitmask_grf when setting the allowed / disallowed cargo lists?
16:08:44  <frosch123> yeah, i guess so
16:10:28  *** frosch123 is now known as frosch
16:11:30  <Eddi|zuHause> anyway... conclusion: NML happily applies too many or too few parameters, but openttd crashes when displaying the string in the vehicle menu
16:11:36  <Eddi|zuHause> it probably shouldn't do that
16:12:54  <andythenorth> openttd is very fussy about strings changing :P
16:13:01  <andythenorth> most times I crash it is because I changed a string :)
16:13:19  <andythenorth> valhallasw: XML has the same 'way too much scaffolding problem' as others
16:13:39  <Eddi|zuHause> for varying values of "same" :)
16:13:51  <andythenorth> I wonder if I'm slightly solving the wrong problem, BANDIT is configured like this anyway:
16:14:57  <Alberth> pretty
16:15:06  <andythenorth> could be prettier
16:15:27  <andythenorth> but I like to try INI format
16:15:35  <andythenorth> as intermediary at least
16:15:43  <andythenorth> easier for others to work with
16:15:54  <Hirundo> frosch: Why is the refit mask not translated when parsing the property?
16:15:55  <andythenorth> and I'm not doing write = anonymous on my cms :P
16:16:11  *** Chris_Booth [] has joined #openttd
16:18:48  <andythenorth> Alberth: anything wrong with this to set attrs on an object?
16:18:49  <andythenorth>     for i,j in properties.items():
16:18:49  <andythenorth>       self.__setattr__(i, j)
16:18:53  <andythenorth> seems to work
16:19:08  <andythenorth> I could probably play the one line game on it :P
16:19:16  <Eddi|zuHause> what's wrong with self[i]=j?
16:19:29  <andythenorth> TypeError: 'Truck' object does not support item assignment
16:19:34  <andythenorth> tried that first
16:19:48  <Eddi|zuHause> self should be derived from dict, then
16:19:58  <andythenorth> could do that
16:20:00  <andythenorth> is it wise?
16:20:05  <Eddi|zuHause> probably not :)
16:21:19  <andythenorth> "python is so bracing"
16:21:29  <Rhamphoryncus> Deriving from dict is usually pretty silly
16:21:50  <andythenorth>
16:21:52  <Rhamphoryncus> andythenorth: use setattr()
16:22:13  <andythenorth> rather than __setattr__()
16:22:14  <andythenorth> ?
16:22:26  <Rhamphoryncus> yes
16:22:32  <andythenorth> because...?
16:22:53  <Rhamphoryncus> __setattr__ is the backend API to be used by setattr() and normal assignment
16:23:04  <andythenorth> setattr() is not available to my class
16:23:11  <Rhamphoryncus> it's a global function
16:23:12  <andythenorth> AttributeError: 'Truck' object has no attribute 'setattr'
16:23:20  <Rhamphoryncus> A builtin more specifically
16:23:42  <Rhamphoryncus> Think of it as a keyword that happens to be build as a function
16:26:07  <andythenorth> not available to me for some reason ;)
16:26:23  <Rhamphoryncus> eh?
16:26:45  <valhallasw> andythenorth: setattr(self, 'attr', 'value')
16:26:47  <Rhamphoryncus> are all the builtins missing?  len, zip, int, float, str, list, dict..
16:26:55  <andythenorth> nope
16:27:12  <valhallasw> andythenorth: you attributeerror suggests you're doing self.setattr
16:27:17  <andythenorth> yup
16:27:19  <andythenorth> that is the error
16:27:21  <valhallasw> don't do that
16:27:28  <valhallasw> setattr(self, 'attr', 'value') < do that instead
16:27:36  <Rhamphoryncus> It's a builtin.  It's not a method.
16:28:44  <andythenorth> sorted
16:32:08  *** flaa [] has joined #openttd
16:33:12  <Alberth> (16:35:04) andythenorth: Alberth: anything wrong with this to set attrs on an object?  <-- except for breaking the data hiding concept and the 'objects take their of their own data' concept, absolutely nothing
16:34:19  <Alberth> imho if you have dynamic entries, use a dict rather than an object.
16:35:21  <Eddi|zuHause> there's probably also "named dicts" or similar
16:35:51  *** FLHerne [] has quit [Read error: Connection reset by peer]
16:35:55  <Eddi|zuHause> that you can access by both blah["i"] and blah.i
16:35:59  <andythenorth> Alberth: so the solution you posted for mapping into a dict is better?
16:36:07  <andythenorth> more correct?
16:36:39  <Alberth> in my view it is
16:37:03  <andythenorth> what about just explicitly writing out all the attributes I want on the object?
16:37:12  <andythenorth> I don't trust dynamic attributes either
16:37:22  <Alberth> but then I am generally very worried about changing state in ways I cannot find again
16:38:15  <andythenorth> I don't mind explicitly writing them out
16:38:20  <Rhamphoryncus> Eddi|zuHause: no named dicts.  Easy to do, but it's frowned upon.  Pick one approach and stick to it.
16:38:57  <andythenorth> writing out explicitly makes it easy to understand the interface
16:39:05  <andythenorth> but it's quite a lot of loc
16:39:08  <Alberth> andythenorth: that's the alternative, but you loose the option to iterate over them like in a dict
16:39:20  <andythenorth> I have no requirement for that at the moment
16:39:46  *** SamCat [] has joined #openttd
16:39:54  <andythenorth> this way there are fewer entities
16:40:01  <Alberth> you need to list the attributes in 'properties' too, which costs also loc
16:40:18  * andythenorth thinks manually write them out
16:40:35  <SamCat> Hello!
16:40:41  <Alberth> hi
16:40:49  <SamCat> how is everyone?
16:40:56  <frosch> cold
16:41:09  <Alberth> in need of some warm food
16:41:33  <SamCat> I live in California... explain to me... what is this 'cold' you speak of?
16:42:00  <planetmaker> -5 ... -20°C
16:42:01  <Alberth> no 'weather in europe' news items there?
16:42:22  <planetmaker> you do the conversion to °F, I can't be bothered ;-)
16:43:06  *** Cybertinus [] has quit [Remote host closed the connection]
16:43:07  <Rubidium> planetmaker: it's simply... just < 0°F and < 0°C
16:43:25  <planetmaker> eh?
16:43:54  <frosch> planetmaker: 0°F is the coldest thing which that fahrenheit guy knew
16:43:59  <Rubidium> or at least it was around 08:00 for me
16:44:01  <frosch> (and thought is possible)
16:44:04  <frosch> currently it is colder :p
16:44:07  <SamCat> heh
16:44:09  <planetmaker> iirc it*s T(°F) = (T(°C) - 32) * 4/9 or so
16:44:18  <SamCat> I guess I'm kinda just tired
16:44:26  <SamCat> I've been playing with trains instead of sleeping like I ought to have
16:44:40  <Rubidium> planetmaker: so, it can be both less than 0 °F and less than 0 °C, right?
16:44:43  <valhallasw> planetmaker: other way around
16:44:45  <frosch> in other words, the lower fixpoint of the fahrenheit unit is one of the most stupid things in human science
16:45:14  <valhallasw> 0°C = 32°F
16:45:30  <planetmaker> yes, I know. I just failed to derive the formula from that knowledge :-P
16:45:37  <valhallasw> frosch: it was 'the lowest temperature'. Which was wrong, but hey.
16:45:47  <valhallasw> it's as arbitrary as 0 and 100°C are
16:45:59  <planetmaker> not quite
16:46:14  <frosch> celsius is very useful for cooking and weather
16:46:16  <SamCat> that would be on the freezing and boiling point of water!
16:46:24  <planetmaker> that is clearly defined as freezing and boiling temperature of destilled water at normal pressure, valhallasw
16:46:33  <frosch> 100°F is useful when caring for cows
16:46:34  <planetmaker> °F is like "cold mixture" and "body temperature"
16:46:37  <planetmaker> oh yeah
16:47:06  <Alberth>
16:47:08  <planetmaker> And for added benefit 1K = 1°C
16:47:16  <planetmaker> as differences go. Not absolute
16:47:21  <SamCat> yeah, but having celsius based on water is awesome because everything else in the metric system is based on water
16:47:21  <frosch> so, while 100°F might be more useful than 100°C, 0°F is completely stupid
16:47:23  <Elukka> <@planetmaker> iirc it*s T(°F) = (T(°C) - 32) * 4/9 or so
16:47:25  <valhallasw> planetmaker: and 1°R = 1°F
16:47:26  <SamCat> okay, a lot of stuff is based on water
16:47:34  <frosch> planetmaker: thats what R is for :p
16:47:35  <Elukka> no, these days it's "20 c in f" written in google :p
16:47:36  <SamCat> a cubic centimeter of water weighs a gram, for example
16:47:41  <Rubidium> frosch: at standard atmospheric pressure ;)
16:47:42  <frosch> but neither R not C have a ° :p
16:47:52  <Elukka> google is terribly useful for unit conversions
16:47:58  <planetmaker> valhallasw: your point being?
16:48:03  <valhallasw> frosch: nor K you mean ;-)
16:48:16  <frosch> yeah :)
16:48:29  <Elukka> it can do esoteric stuff too, i once asked google what "200 times the speed of light in AU/s" was :P
16:48:56  <planetmaker> °C - and K of course foremost - goes quite well with the thermodynamic definition of temperature
16:48:59  <planetmaker> the others don't
16:49:00  <valhallasw> planetmaker: my point is: 1°C=1K is not a specific advantage - we could use Rankines as well
16:49:06  <frosch> hmm, i wondered what's so special about 33
16:49:13  <valhallasw> how does °C go well with thermodynamics?
16:49:17  <valhallasw> K goes well and R goes well
16:49:28  <SamCat> yes, but the intervals of K were derived from C so there
16:49:33  <Rubidium> and K&R make C ;)
16:49:36  <frosch> why does °N define 33°N = boiling of water? :o
16:49:53  <planetmaker> yup
16:50:08  <valhallasw> why do we use kelvins or rankines at all? why not just joules!
16:50:13  <planetmaker> South of it it's hot, frosch
16:50:31  <SamCat> because joules are a measure of energy whereas kelvins are a measure of average energy
16:50:33  <planetmaker> valhallasw: then you didn't understand the concept of external and internal thermodynamic properties
16:50:37  <SamCat> (average thermal energy)
16:51:01  <valhallasw> SamCat: how is 'average thermal energy' not an energy?
16:51:04  <Eddi|zuHause> frosch: what's so special about 100?
16:51:06  <Alberth> Rubidium: it's B!      >>> chr(ord('K') & ord('R'))  --> 'B'
16:51:17  <Elukka> last time there was talk of thermodynamics on this channel someone was arguing the mass of a certain amount of liquid changes with temperature, and volume doesn't...
16:51:23  <planetmaker> with the same argument, valhallasw, you could argue away the concept of (mass) density when we have mass itself
16:51:29  <Eddi|zuHause> well, technically, Celsius wanted 0 to be the boiling point, and 100 the freezing point
16:51:38  <Eddi|zuHause> but it got switched around quite fast
16:51:43  <SamCat> valhallasw: because something with lots of mass has more energy in it than something with less mass?
16:51:47  * andythenorth should maybe learn how to use pdb :P
16:52:00  <valhallasw> SamCat: so? in terms of units it's still energy
16:52:01  <frosch> Eddi|zuHause: i did not ask why 60°RÞ = boiling water
16:52:04  <Alberth> andythenorth: 'print' works too :)
16:52:08  <Rubidium> Alberth: I didn't say is, I said make (although I should have said made)
16:52:10  <frosch> i know about traditional usages of 100 and 60
16:52:12  <frosch> but not 33 :p
16:52:13  <planetmaker> valhallasw: temperature is NOT energy
16:52:16  <valhallasw> it's a different physical quantity
16:52:17  <planetmaker> that's fundamentally wrong
16:52:22  <SamCat> valhallasw: if I apply a blow torch to a pin it's going to get really hot really fast but if I apply it to a ton of steel it's barely going to do anything
16:52:49  <SamCat> valhallasw: you're applying the same amount of energy (joules) but because you're applying it to more mass you get less rise in temperature (kelvin)
16:52:54  <valhallasw> planetmaker: yes, and newtonmeters and newtonmeters can be completely different things. So what?
16:53:21  * andythenorth looks for something like getattrs
16:53:22  <valhallasw> (namely: energy and torque)
16:53:47  <valhallasw> SamCat: yes, I understand. The fact that they are different physical quantities does not mean we cannot use the same units.
16:53:47  <andythenorth> dir()?
16:54:15  <SamCat> SamCat: saying kelvins are the same as joules is like saying a volt is the same as an amp
16:54:22  <Alberth> andythenorth:
16:54:35  <SamCat> valhallasw: yes, it does, beacuse you can't describe something's temperature by saying how many joules are in it
16:54:39  *** FLHerne [] has joined #openttd
16:54:57  <SamCat> valhallasw: not only would you need to know the amount of mass but you would need the substance's thermal coefficient
16:55:07  <valhallasw> SamCat: wrong. I can't describe somethings temperature by saying how many *energy* is in it.
16:55:17  <valhallasw> the *units* are seperate from the *physical quantity*
16:55:48  <SamCat> valhallasw: but joules are a measure of energy...
16:56:02  <Eddi|zuHause> valhallasw: next you're trying to tell us that mass is energy as well :p
16:56:08  <valhallasw> joules are *generally used* as a measure of energy
16:56:18  <Rubidium> Eddi|zuHause: that'd be useful
16:56:22  <valhallasw> Eddi|zuHause: that's what theoreticians do generally, yes.
16:56:23  <planetmaker> valhallasw: you cannot describe the temperature by the energy content. You need many other parameters to succeed
16:56:36  <valhallasw> planetmaker: I'm not doing that. I'm describing temperature in Joules.
16:56:36  <SamCat> vahlallasw: saynig something has 100 joules is like saying you have 100 liters of water... saying something is 100K is like saying the water is at 100 mm of hg
16:56:41  <valhallasw> That's something completely different.
16:56:45  <Rubidium> today it's the weather will 42kg in the afternoon and a mere 30kg at night
16:57:06  <SamCat> you know... when I made the joke about someone explaining cold to me I didn't exactly expect a debate about thermodynamics ;)
16:57:09  <Rubidium> and my grammar is totally sucking at the moment
16:57:31  *** lmergen [] has joined #openttd
16:57:36  <Alberth> SamCat: we are always highly off-topic here :p
16:57:51  <Eddi|zuHause> well, there _are_ those crazy physicists who define c=1, and thus E=m
16:58:07  <valhallasw> SamCat: saynig something has [Energy] is like saying you have [Volume] of water... saying something is [Temperature] is like saying the water is at [Pressure].
16:58:09  <Alberth> Eddi|zuHause: they live in a different universe :)
16:58:16  <SamCat> valhallasw: you can't describe temperature with units of energy for the same reason you can't describe speed with just units of distance or just units of time or why you can't describe pressure with just units of mass
16:58:47  <Eddi|zuHause> Alberth: ah well, we have plenty of those :p
16:58:51  <SamCat> vahlallasw: yeah... that's what I said... now I'm completely confused ;_;
16:59:13  <SamCat> valhallasw: nevermind, I misread what you said
16:59:23  <valhallasw> SamCat: it's the difference between *units* [J] and *physical quantity* [Energy] that's important
16:59:39  <valhallasw> you can use the same *unit* (J) for a *different* physical quantity (Temperature)
16:59:42  *** theholyduck [] has quit [Read error: Connection reset by peer]
16:59:49  <SamCat> valhallasw: right... joules are a measure of thermal energy, why?
16:59:57  *** theholyduck [] has joined #openttd
16:59:59  <valhallasw> just like you use Nm's for both energy and torque
17:00:05  <Eddi|zuHause> valhallasw: so you're also saying power = loudness?
17:00:23  *** Cybertinus [] has joined #openttd
17:00:28  <valhallasw> Eddi|zuHause: no, I'm not. Those are different physical quantities
17:00:30  <Eddi|zuHause> for sure, if i get speakers with more watts, they're louder
17:00:35  <SamCat> valhallasw:
17:00:38  <valhallasw> but if you want to use the same units, go ahead
17:01:00  <SamCat> Eddi: no, you've got less efficient speakers. there's a difference!
17:01:05  <Eddi|zuHause> but it's the same thing, if i put more energy in, it gets warmers
17:01:16  <Eddi|zuHause> -s
17:01:17  <valhallasw> SamCat: I can also use Joules to measure Torque
17:01:37  <SamCat> valhallasw: you can use joules to measure torque... but torque is not temperature
17:01:37  <valhallasw> people will look at me as if I'm crazy, but that's a different story
17:01:50  <SamCat> actually...
17:02:23  <SamCat> valhallasw: actually you can't... because torque is usually a description of power, not energy and joules are energy not power. You need Watts or Newtons for that
17:03:14  <Eddi|zuHause> SamCat: actually, if i apply the right torque to your arm, it gets warm :p
17:03:27  <valhallasw> SamCat: again, the difference between units and physical quantities
17:03:35  <valhallasw> Joule = kg m^2/s^2
17:03:43  <Eddi|zuHause> we call that "Brennessel"
17:03:43  <SamCat> ...
17:03:45  <Eddi|zuHause> :p
17:03:51  <SamCat> *head explodes*
17:04:08  <valhallasw> Newton metre = kg m^2/s^2
17:05:12  <valhallasw> but although you use the same units for energy and torque, they are clearly different physical quantities
17:05:23  <andythenorth> Alberth: I concluded on this
17:05:35  <andythenorth> it's long but explicit.  No 'wtf is that value coming from?'
17:05:55  <andythenorth> tempted to align all the = though :P
17:06:37  <SamCat> Valhallasw: the joule is an SI unit that is DEFINED AS a measure of energy. You can therefore not use it to describe the concentration of said energy in a system (temperature for example) or to describe power without considerations of other variables
17:06:37  <SamCat> blah
17:06:59  *** Pixa [~pixa@] has joined #openttd
17:07:02  <SamCat> oh hey look! something OpenTTD related!
17:08:51  <SamCat> by the way... the reason I came here was to ask: how can you tell when an industry has reached that point in its production where it's incapable of increasing production? I've been playing a larger map than my usual 64*64 where there are multiples of industries but they're not going away and they don't increase production either even when it says they have
17:08:58  <valhallasw> SamCat: as far as I know, it's only defined as J=kg m^2/s^2 - the rest is convention
17:09:43  <valhallasw> and inventing a new temperature scale is breaking with convention anyway ;-)
17:10:15  <SamCat> because I see a lot of industries that are producing 40 units of something per month which is kinda where I assumed the point of no return was
17:10:16  <planetmaker> Point is though that the Kelvin is one of the 7 base units
17:10:57  <planetmaker> SamCat: there's no general way to tell
17:11:22  <SamCat> planetmaker: damn... so how come the damn things won't sod off already?!
17:11:50  <planetmaker> depends on the industry. Any newgrf there?
17:12:10  <SamCat> yes, but no industries
17:12:14  <planetmaker> the last instance of an industry actually might never close
17:12:17  *** kkb110 [] has quit [Read error: Operation timed out]
17:12:29  <SamCat> I know that last bit but this is in a map with at least two of everything
17:12:48  <planetmaker> and "no industries" is... not clear. There's quite a few newgrfs which are not industry newgrfs on first sight :-) But which actually are
17:13:10  <CIA-1> OpenTTD: rubidium * r23891 /trunk/src/video/sdl_v.cpp: -Fix-ish: compile failures with SDL 1.3
17:13:24  <planetmaker> And even then, the industry might need several years before it decides to close down
17:13:52  <SamCat> the newgrfs I was using: ukrs2, ukrs2+,finescale tracks, uk town set, bob's random british vehicles, BATS, use-able default aircraft, city stations, rural stations, suburban stations, industrial stations renewal, generic cars, and FISH
17:14:27  <SamCat> *nods*
17:16:17  <planetmaker> I'm not sure about uk towns
17:16:23  *** KouDy [~KouDy@] has quit [Quit: Leaving.]
17:16:49  <SamCat> I'll look it up then
17:16:50  <planetmaker> I simply don't know it enought
17:17:10  <SamCat> my understanding is it just adds a bunch of new house graphics but I should double check
17:17:53  <andythenorth> would it be useful if a newgrf reported what features it implements?
17:18:00  <planetmaker> let's assume it doesn't do anything. Then it's just the default industries where there's basically a random chance to increase or decrease production - or not change
17:18:05  <andythenorth> (action 0 features)
17:18:09  <planetmaker> Thus... it's quite random how long it takes, SamCat
17:18:27  <planetmaker> andythenorth: no. It does that already
17:18:58  <andythenorth> did I miss that :o
17:19:19  <planetmaker> andythenorth: feature byte
17:19:24  <planetmaker> you did not miss that ;-)
17:19:31  <SamCat> planetmaker: thanks... it's just frustrating when you see it reporting increases and decreases by percentage of an industry which is stuck at minimum and unsalvigable
17:19:56  <SamCat> by the way... would it make sense in the code to have it check to see if the production value is at 1 and, if so, to add one instead of trying to multiply it?
17:20:08  <SamCat> or subtract one instead of trying to multiply it
17:20:51  <planetmaker> SamCat: it's up to the newgrf
17:21:05  <andythenorth> I was thinking of a window in newgrf config
17:21:05  <planetmaker> and up to the economy you enabled
17:21:16  <planetmaker> rough vs. smooth
17:21:18  <andythenorth> This grf modifies: (list)
17:21:38  <SamCat> yeah, that would be nice Andythenorth
17:21:44  <planetmaker> andythenorth: iirc that's part of grf-topia
17:22:44  *** Wolf01 [] has joined #openttd
17:23:05  <Wolf01> hello
17:24:42  <SamCat> hi
17:25:09  *** lmergen [] has quit [Ping timeout: 480 seconds]
17:26:36  * andythenorth is unconvinced by
17:26:36  <andythenorth> from global_constants import * #import all stuff from constants for easy reference in python scripts
17:27:05  <andythenorth> means it's guesswork where the actual values / objects in global_constants are coming from
17:27:11  <Eddi|zuHause> import * is an antipattern
17:27:20  <Eddi|zuHause> or at least code smell
17:27:31  <andythenorth> stinks
17:27:36  <andythenorth> better to be explicit
17:27:48  <Eddi|zuHause> just import global_constants
17:27:56  <Eddi|zuHause> and use global_constants.blah everywhere
17:28:06  <andythenorth> yup
17:28:25  <Rhamphoryncus> SamCat: Do I understand this right?  An industry can drop to an internal output value of 1, which gets multiplied up when displayed to the user (which is why I've never seen 1), but all the modifiers aren't sufficient to change it any further?
17:28:42  <andythenorth> I have a non-useful obsession with trying to keep lines short
17:29:01  <andythenorth> e.g.     self.non_refittable_classes = standard_class_refits['default']['disallow']
17:29:04  <andythenorth> instead of
17:29:05  <andythenorth>     self.non_refittable_classes = global_constants.standard_class_refits['default']['disallow']
17:29:17  <SamCat> Rhamphoryncus: that's my understanding of how it works, yes, but I'm not one of the devs so I can't be sure
17:29:18  <andythenorth> but it makes for bad reading
17:30:28  *** kermie [] has joined #openttd
17:30:32  <kermie> Hello
17:30:36  <SamCat> hy Kermie
17:30:40  <SamCat> hi
17:30:40  <Eddi|zuHause> Rhamphoryncus: an industry produces every 255 ticks, which is 8 or 9 times per month, the GUI will only ever display the sum of all these. so the lowest an industry can produce per month is 8
17:30:44  <kermie> I need help installing openttd 1.0.5
17:30:49  <kermie> on ubuntu
17:30:56  <Eddi|zuHause> kermie: don't install 1.0.5
17:30:57  <kermie> + I am beginner with ubuntu
17:30:59  <Rhamphoryncus> Eddi|zuHause: *nods*
17:31:00  <kermie> Why not?
17:31:10  <SamCat> kermie: because it's old
17:31:12  <Eddi|zuHause> kermie: because that is outdated by over a year
17:31:17  <kermie> Uhm
17:31:18  <Eddi|zuHause> kermie: we have 1.1.5 now
17:31:22  <Rhamphoryncus> SamCat: I'd definitely call it a bug for an intended increase/decrease to have no effect
17:31:27  <kermie> 1.1.5 *
17:31:28  <kermie> Sorry
17:31:28  <Eddi|zuHause> kermie: and 1.2.0-beta4
17:31:31  <SamCat> I think the 1.0.5 is the one in the ubuntu repos
17:31:47  <SamCat> oh! okay!
17:31:47  <kermie> I currently have 1.0.0 installed
17:31:52  <kermie> How do i update it?
17:31:53  <Eddi|zuHause> kermie: so, what did you try, and what fails?
17:32:21  <SamCat>
17:32:23  <kermie> Let me delete it and try to download 1.1.5 and install it again and i'll tell you what happens
17:32:27  <SamCat> download the .deb and install it ;)
17:32:36  <SamCat> that's what I did on my computer
17:33:06  <planetmaker> you don't even need to install it actually
17:33:11  <kermie> An older version is available in a software channel  Generally you are recommended to install the version from the software channel, since it is usually better supported.
17:33:14  <planetmaker> much easier to update without insall
17:33:15  <kermie> This is what i get
17:33:34  <kermie> That's why i used ubuntu repos
17:34:05  <SamCat> ubuntu's repos are outdated last I chicked
17:34:13  <kermie> Yes they are
17:34:19  <SamCat> if you install the .deb ubuntu will recognize that it's a newer version of the same program, too
17:34:27  <SamCat> or it should
17:34:28  <SamCat> it did on mine
17:34:33  <kermie> I clicked install
17:34:52  <kermie> It gave me error
17:35:02  <kermie> version is installed
17:35:08  <kermie> conflicting packages
17:35:17  *** Progman [] has quit [Remote host closed the connection]
17:35:18  <SamCat> hmm
17:35:20  <SamCat> odd
17:35:26  <SamCat> uninstal the old one first?
17:35:27  <kermie> I'll try to uninstall it first
17:35:29  <SamCat> yeah
17:35:30  *** JVassie [~James@] has joined #openttd
17:35:32  <SamCat> just don't purge
17:35:38  <kermie> What is purge
17:36:08  <kermie> Complete removal?
17:37:03  * andythenorth concludes that trying to make GLOBAL_CONSTANTS_LIKE_THIS is tmwftlb
17:37:18  <andythenorth> in python templates
17:38:30  <SamCat> kermie: yes, it removes config files as well as the app itself
17:39:53  <Eddi|zuHause> andythenorth: if you have a module as prefix, there's no use syntactically separating the constants by capitalizing them
17:39:56  <kermie> i did not select complete removal
17:40:10  <kermie> i have removed (normal) all 3 entries of openttd installed
17:40:15  <kermie> I have installed it succesfully
17:40:30  <kermie> Now it won't start
17:40:36  <andythenorth> Eddi|zuHause: I was trying to preserve the CPP method, I quite like it.  This is specific to use in the template files, not the python script ;)
17:40:43  <andythenorth> but it's just wrong
17:41:08  <SamCat> kermie: are you sure you're using the right .deb?
17:41:14  <SamCat> kermie: what version of ubuntu are you using?
17:41:31  <andythenorth> ${FOO} is not much better than ${}
17:42:23  <kermie> SamCat: You are using Ubuntu 10.04 LTS - the Lucid Lynx - released in April 2010 and supported until April 2013.
17:43:17  <kermie> SamCat: openttd-1.1.5-linux-ubuntu-lucid-i386.deb
17:43:27  <SamCat> Kermie: okay... I'm using 11.10 here...
17:43:39  <SamCat> that's really odd
17:43:42  <kermie> SamCat: I've also updated ubuntu
17:43:52  <kermie> Maybe it's because i have no GFX
17:43:53  <SamCat> have you tried running it from a terminal and seeing if it pukes any error messages at you?
17:43:57  <kermie> 1.0.0 worked fine
17:44:07  <kermie> SamCat: i don't know how to do that
17:44:09  <SamCat> ooooh yeah... you need the gfx
17:44:21  <kermie> I have the original GFX can i use those?
17:44:25  *** kkb110_ [] has joined #openttd
17:44:27  <kermie> The new ones are just... ugly
17:44:32  <SamCat> open a terminal and type openttd
17:44:38  <SamCat> yeah, you can use the original
17:44:49  <SamCat> I like the new ones...
17:45:06  <kermie> yes
17:45:12  <kermie> needs graphic set
17:45:20  <SamCat> cool, install graphics set
17:45:30  <kermie> What should i get from my windows ?
17:45:43  *** theholyduck [] has quit [Read error: Connection reset by peer]
17:45:46  <Eddi|zuHause> all .grf files and
17:46:06  *** theholyduck [] has joined #openttd
17:46:06  <Eddi|zuHause> and the .gm files if you want music
17:46:16  <kermie> all grf and .gm
17:46:16  <kermie> ok
17:46:20  <kermie> where do i put them?
17:46:37  <Eddi|zuHause> the grfs and in ~/.openttd/data
17:46:50  <planetmaker> in ~/.openttd/baseset
17:46:50  <Eddi|zuHause> the gms in ~/.openttd/gm
17:47:00  <Eddi|zuHause> planetmaker: also in 1.1.5?
17:47:04  <planetmaker> there not
17:47:05  <Alberth>
17:47:19  <kermie> how do i reach ~/.openttd
17:47:35  <Eddi|zuHause> kermie: select "show hidden files" in your filemanager
17:47:58  <kermie> Done
17:48:11  <kermie> I am in file system
17:48:13  <Eddi|zuHause> ~ is your home directory
17:48:13  <kermie> i see
17:48:28  <Eddi|zuHause> /home/<username>/
17:48:30  <kermie> bin boot cdrom dev etc home
17:48:41  <kermie> Ahaaaa
17:48:45  <Alberth> that's root :)
17:48:50  <kermie> There they are
17:50:02  <kermie> They can not escape the craving of ottd
17:50:32  <kermie> content_download/data you mean
17:50:36  <Eddi|zuHause> no
17:50:39  <Eddi|zuHause> just data
17:50:44  <kermie> There is no just data
17:50:48  <Eddi|zuHause> then make it
17:50:51  <kermie> Okay
17:51:01  <kermie> I made it
17:51:34  <Eddi|zuHause> now put the .grfs in
17:51:37  <kermie> It worked
17:51:43  <kermie> I don't have the gms
17:51:44  <kermie> =(
17:52:03  <Eddi|zuHause> well, they are on your original cd :)
17:52:14  <Eddi|zuHause> (if you have the windows version)
17:52:22  <kermie> i take that back
17:52:24  <Eddi|zuHause> (they're not on the dos version)
17:52:26  <kermie> i have them
17:52:35  <kermie> Why can't i alt tab from the game
17:53:08  <Eddi|zuHause> no idea
17:53:17  <Eddi|zuHause> that has always worked...
17:53:38  *** Phoenix_the_II [] has quit [Ping timeout: 480 seconds]
17:56:08  <kermie> Okay
17:56:20  <kermie> Thanks for the help but i'm dissapointed about 2 things
17:56:23  <kermie> I can't alt tab
17:56:57  <kermie> And scrolling fast with right click throughout the land skips and isn't smooth
17:57:26  <kermie> Thanks again for the help. I'm going back to windows :D
17:57:44  *** kermie [] has quit [Quit: ajax IRC Client]
18:00:10  *** FLHerne [] has left #openttd []
18:11:11  <andythenorth> bah
18:11:28  * andythenorth just decided that debugging python-driven newgrfs was way too hard
18:11:30  <andythenorth> then...
18:11:51  <andythenorth> ...found I have wrong version of grf in game
18:13:09  <SamCat> *sighs* I wish industries would close once they become unrecoverable
18:15:04  <Alberth> nothing the magic bulldozer cannot fix :)
18:15:32  <SamCat> yeah, but then I have to use cheats
18:16:37  *** KritiK [~Maxim@] has quit [Ping timeout: 480 seconds]
18:17:11  <Rubidium> are you using an industry NewGRF?
18:18:52  <andythenorth> so .pynml ok then?
18:19:03  <andythenorth> for nml files templated with python
18:19:06  *** eQualizer [] has quit [Quit: kikkeli]
18:27:18  *** [1]Mark [] has joined #openttd
18:27:19  *** Mark is now known as Guest1544
18:27:19  *** Guest1387 is now known as Mark
18:30:17  *** vodka [] has joined #openttd
18:30:43  *** Chris_Booth [] has quit [Quit: ChatZilla 0.9.88 [Firefox 11.0/20120201153158]]
18:30:50  *** KritiK [~Maxim@] has joined #openttd
18:32:19  *** Guest1544 [] has quit [Ping timeout: 480 seconds]
18:32:47  *** |Jeroen| [] has quit [Quit: oO]
18:35:52  <andythenorth> hmm
18:36:08  <andythenorth> || sucks as a separator for lists in config files
18:37:56  <andythenorth> maybe just |
18:38:40  *** theholyduck [] has quit [Read error: Connection reset by peer]
18:39:07  *** theholyduck [] has joined #openttd
18:45:39  *** Pixa [~pixa@] has quit [Quit: TTFN!]
18:50:18  *** lmergen [] has joined #openttd
18:56:12  *** glx [glx@2a01:e35:2f59:c7c0:7cdc:1099:124a:4d7e] has joined #openttd
18:56:15  *** mode/#openttd [+v glx] by ChanServ
19:01:49  <planetmaker> andythenorth: ";"
19:02:04  <planetmaker> or ,
19:02:10  <andythenorth> , might turn up in strings sadly
19:02:15  <andythenorth> | less so I gope
19:02:17  <andythenorth> gope?
19:03:00  <planetmaker> short for "guess and hope" ;-)
19:05:07  * andythenorth wonders if python has equivalent of setdefault() for casting something to an int
19:05:13  <andythenorth> try: except: seems overkill
19:05:51  <andythenorth> calling int('') is not valid for obvious reasons
19:07:46  <Alberth>
19:08:23  <andythenorth> thought so
19:08:27  <andythenorth> try except
19:08:29  <Alberth> andythenorth: explicit is better than implicit :)
19:08:44  <andythenorth> Alberth:
19:08:48  <andythenorth> I'm not sure this is wise
19:09:05  <andythenorth> but it would catch a user who set num trailers = 2, but forgot to define their capacities :P
19:09:32  <andythenorth> the issue is that I end up calling int('') on vehicles where trailer_capacities = ''
19:09:44  <andythenorth> which can be valid, or a user mistake
19:10:13  <andythenorth> I think I'll use your method
19:11:46  <Alberth>   without try/except :p
19:12:19  <Alberth> I'd throw an error back to the user rather than guess what he meant
19:13:10  <andythenorth> ooh
19:13:12  <andythenorth> new things
19:13:15  <andythenorth> pat.match etc
19:13:36  <andythenorth> I think it's best to write a function that cleanly parses config file strings into lists
19:13:37  <Prof_Frink>
19:14:47  *** yoshi [] has joined #openttd
19:15:25  <Alberth> you might as well use a proper parser such as ply :p
19:15:31  *** yoshi [] has left #openttd []
19:18:11  <andythenorth> hmm
19:18:16  <andythenorth> let the errors pass?
19:18:26  <andythenorth> it's not a nice pattern, but a common one :P
19:18:26  *** Mark is now known as Guest1547
19:18:26  *** [1]Mark is now known as mark
19:18:46  <andythenorth> Alberth:
19:18:49  <andythenorth> ugly?
19:19:18  <Eddi|zuHause> hm... so the string(STR, PARAM1, ...) thing doesn't seem to work in translations
19:19:32  <Alberth> "except:"  is wrong by definition, you catch ALL errors, including your typos in that try line
19:19:40  <andythenorth> yup
19:19:57  <andythenorth> so I could check for txt=''
19:20:04  <andythenorth> but that would only catch one kind of error
19:20:19  <Eddi|zuHause> i find it sometimes hard to find an exception specific enough to catch only what i want to catch
19:20:25  <Alberth> I hate the "absorb all errors" pattern
19:20:25  <andythenorth> I could check the string is in the literals
19:20:38  *** FLHerne [] has joined #openttd
19:20:43  *** LordAro [] has joined #openttd
19:20:51  <LordAro> evenings
19:20:56  <andythenorth> string.digits
19:20:57  <andythenorth> ?
19:20:58  <Alberth> evenink
19:21:24  <Alberth> what about it?
19:22:07  <andythenorth> if i in digits:
19:22:07  <andythenorth> ?
19:22:12  <Eddi|zuHause> clarification for the above: string(STR, PARAM1, ...) doesn't work if STR doesn't exist in the translation file
19:22:38  <Eddi|zuHause> which is probably a correctable error...
19:22:49  <andythenorth> hmm
19:22:52  <Alberth> andythenorth: that's what '\d+' does
19:23:01  <andythenorth> is that magic?
19:23:49  <Eddi|zuHause> Alberth: tried r'\d+' yet? (raw string literals disable the whole escaping mess)
19:24:06  <andythenorth> hmm
19:24:17  <andythenorth> regular expressions scare me
19:24:18  <Alberth> Eddi|zuHause: until you try r'\'  :p    but yeah, I know
19:24:28  <andythenorth> incidentally, why can't I import digits?
19:24:43  <andythenorth>
19:24:47  <Alberth> from string import digits
19:24:54  <andythenorth> nah
19:24:58  <andythenorth> I'm doing it wrong
19:26:17  <Eddi|zuHause> anyone looked at yet?
19:26:39  <Eddi|zuHause> to me it looks like a simple "is already at the end of the string" check is missing
19:27:25  * andythenorth didn't think that parsing a list would be this hard :o
19:33:39  *** mark is now known as Mark
19:34:15  <CIA-1> OpenTTD: translators * r23892 /trunk/src/lang/ (french.txt latvian.txt spanish.txt unfinished/tamil.txt):
19:34:15  <CIA-1> OpenTTD: -Update from WebTranslator v3.0:
19:34:15  <CIA-1> OpenTTD: french - 65 changes by OliTTD
19:34:15  <CIA-1> OpenTTD: latvian - 23 changes by Parastais
19:34:15  <CIA-1> OpenTTD: spanish - 1 changes by Terkhen
19:34:15  <CIA-1> OpenTTD: tamil - 15 changes by aswn
19:34:26  <andythenorth> maybe config parser should be a separate module
19:34:28  *** flaa [] has quit [Quit: leaving]
19:35:30  *** Pixa [~pixa@] has joined #openttd
19:35:41  *** _11Runner_ [] has joined #openttd
19:48:14  *** LordAro [] has quit [Quit: KVIrc 4.0.4 Insomnia]
19:50:29  *** pjpe [] has joined #openttd
19:51:47  <Eddi|zuHause> what happened to the idea to make nmlc ignore the value of the magic pink palette entries?
19:52:19  *** FLHerne [] has left #openttd []
19:53:00  *** FLHerne [] has joined #openttd
19:56:19  <michi_cc> Today's nightly will be delayed by a few minutes till we sort out a code problem :)
19:57:46  *** HerzogDeXtEr [~Flex@] has joined #openttd
20:04:19  *** HerzogDeXtEr1 [] has quit [Ping timeout: 480 seconds]
20:08:18  <andythenorth> so does this look like a sane way to edit a newgrf?
20:08:29  <andythenorth> I could add comments
20:09:19  *** Pixa [~pixa@] has quit [Read error: Connection reset by peer]
20:09:31  *** Pixa [~pixa@] has joined #openttd
20:10:07  *** tensai_cirno [~cirno@] has quit [Remote host closed the connection]
20:10:16  <CIA-1> OpenTTD: michi_cc * r23893 /trunk/src/spriteloader/grf.cpp: -Change: [NewGRF] Extended chunked sprite encoding to work for bigger sprites.
20:10:36  <michi_cc> Thank you for your patience, we now resume or regular nightly service :)
20:14:01  <Alberth> thank you for your nice announcements :)
20:15:28  <Alberth> andythenorth: looks like it needs a default entry, which you use as base
20:15:43  <andythenorth> ?
20:16:08  <planetmaker> Eddi|zuHause: iirc it was considered a nice idea. But no-one wrote code so far
20:16:13  <Alberth> or just default properties
20:18:57  <andythenorth> you refer to things that are duplicated so could be defaults?
20:19:00  <andythenorth> or something else
20:20:37  <Alberth> yes, either seperately for each property, or per vehicle (eg  'default = <section-name>')
20:20:44  <__ln__> anyone been to Falkland Islands?
20:21:05  <Alberth> so you just need to list the differences
20:21:28  <andythenorth> ok
20:21:29  <andythenorth> hmm
20:21:43  <Alberth> and aligning the '=' would make it much more readable
20:21:49  <andythenorth> mostly the options should be different, as each vehicle should be unique
20:21:58  <andythenorth> but there are some that are choices from a limited list
20:22:02  *** pjpe [] has quit [Quit: ajax IRC Client]
20:22:55  <Eddi|zuHause> falkland islands has a mine field. and the penguins are light enough to not trigger the mines, so they actually now have a protected area :)
20:23:48  <__ln__> nice
20:23:53  * andythenorth ponders a way to do 30 * ' '
20:23:59  <andythenorth> to get 30 spaces
20:24:07  <Alberth> andythenorth: ok, not much use thus
20:24:35  <Alberth> andythenorth: ' ' * 30
20:24:40  <andythenorth> really?
20:24:46  <Eddi|zuHause> Alberth: doesn't python do that natively?
20:24:51  <Eddi|zuHause> andythenorth: i meant
20:25:15  <andythenorth> I was going to do ' '.join([0:30]) or such
20:25:25  <andythenorth> guess that's silly
20:25:26  <Alberth> oh, even 30 * ' ' works :o
20:25:47  <Alberth> Eddi|zuHause: I thought you had to put the string first
20:25:54  <andythenorth> Alberth: closer?
20:26:21  *** mahmoud [] has quit [Read error: Connection reset by peer]
20:26:37  *** Biolunar [] has quit [Quit: All your IRC are belong to us]
20:27:15  *** Biolunar [] has joined #openttd
20:30:31  <Alberth>   somewhat nicer layout :)
20:30:58  <andythenorth> ho
20:31:03  <andythenorth> indeed
20:31:18  <andythenorth> there is but one small problem
20:31:23  <andythenorth> I am lazy :P
20:31:40  <andythenorth> this is the script on the cms that outputs the config file
20:31:41  <andythenorth>
20:31:51  <andythenorth> making it output in your format is not hard
20:32:04  <andythenorth> it just means changing the last few lines
20:32:50  <Alberth> ok :)    I just grouped similar setting next to each other in blocks
20:32:55  <andythenorth> could write a python script in the repo to do the reformat
20:33:00  <andythenorth> but that's a bit magical
20:33:02  <andythenorth> gah
20:33:15  *** SamCat [] has quit [Quit: Leaving.]
20:33:22  <andythenorth> now I'll have to change the cms script :)
20:33:32  <andythenorth> "look what you made me do"
20:33:46  <Alberth> make a ini-file template :p
20:33:50  <andythenorth> could do
20:33:52  <andythenorth> yes
20:33:58  <andythenorth> why not
20:34:06  <andythenorth> maybe you could?
20:34:11  <andythenorth> you can learn tal that way :P
20:34:17  * andythenorth will do it though
20:36:50  *** Pixa [~pixa@] has quit [Read error: Connection reset by peer]
20:37:01  *** Pixa [~pixa@] has joined #openttd
20:42:08  *** pjpe [] has joined #openttd
20:42:11  *** pjpe [] has quit []
20:42:14  *** pjpe [] has joined #openttd
20:42:31  *** bryjen [~bryjen@] has joined #openttd
20:45:32  *** DDR [~chatzilla@] has joined #openttd
20:51:28  *** mahmoud [] has joined #openttd
20:58:56  *** Keyboard_Warrior [] has joined #openttd
21:00:50  <CIA-1> OpenTTD: michi_cc * r23894 /trunk/src/spriteloader/grf.cpp: -Fix (r23893): Use the right variable, not the one that's always going to be 0.
21:01:05  <michi_cc> All the effort, and still a slightly broken nightly :(
21:04:05  *** eQualizer [] has joined #openttd
21:06:28  *** theholyduck [] has quit [Ping timeout: 480 seconds]
21:17:25  *** Phoenix_the_II [] has joined #openttd
21:19:14  *** DDR [~chatzilla@] has quit [Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111221202647]]
21:19:33  *** tparker [~tparker@2600:3c03::1d:4242] has quit [Quit: brb]
21:20:22  *** DDR [~chatzilla@] has joined #openttd
21:21:47  <Hirundo> hmm... how does the 32bpp 'mask' thingie work?
21:22:12  *** tparker [~tparker@2600:3c03::1d:4242] has joined #openttd
21:23:10  *** Keyboard_Warrior is now known as theholyduck
21:23:31  *** _11Runner_ [] has quit [Quit: Leaving.]
21:24:31  <Hirundo> you specify a palette colour, and the pixel is recoloured as if it were that colour but with intensity / alpha adjustments?
21:24:32  <Hirundo> or not?
21:26:02  <michi_cc> If the pixel has a mask with color index 0, the blitter simply takes the rgb colour. If it is non-zero, the rgb part is converted to a brightness value which is then used to modulate the palette colour from the mask pixel.
21:27:59  <michi_cc> Very simplified pseudo-code: colour = (mask == 0) ? rgb : pal2rgb[mask] * max(r,g,b) / 64
21:28:42  *** vodka [] has quit [Quit: Leaving]
21:39:38  <andythenorth> Alberth:
21:39:46  <andythenorth> took longer than it should have due to errors by me :P
21:40:15  *** Markavian` [] has joined #openttd
21:43:43  *** Markavian` [] has quit []
21:45:32  *** Markavian [] has quit [Ping timeout: 480 seconds]
21:49:09  <Alberth> looks nice, perhaps add a space behind the '=' ?
21:52:30  *** Progman [] has joined #openttd
21:52:43  *** theholyduck [] has quit [Read error: Connection reset by peer]
21:52:58  *** theholyduck [] has joined #openttd
22:02:33  *** peteris [~peteris@] has joined #openttd
22:03:44  *** cmircea [~cmircea@] has quit [Read error: Connection reset by peer]
22:03:49  *** Belugas [~belugas@] has quit [Ping timeout: 480 seconds]
22:07:46  *** Belugas [~belugas@] has joined #openttd
22:07:49  *** mode/#openttd [+o Belugas] by ChanServ
22:10:10  *** cmircea [~cmircea@] has joined #openttd
22:11:39  *** kkb110_ [] has quit [Ping timeout: 480 seconds]
22:12:15  *** Brianetta [] has joined #openttd
22:15:36  <andythenorth> Alberth: done:
22:20:25  <Alberth> finished :)
22:25:14  *** tparker [~tparker@2600:3c03::1d:4242] has quit [Quit: leaving]
22:26:24  <andythenorth> Alberth: thanks for the config file tip, it's a good format
22:26:49  <andythenorth> also - Eddi|zuHause - thanks, what you did with CETS encouraged me that python is a good route
22:27:05  <andythenorth> + I couldn't have hooked up the makefile alone without the copy-paste from CETS
22:28:05  *** tparker [~tparker@2600:3c03::1d:4242] has joined #openttd
22:29:03  <andythenorth> hmm
22:29:25  <andythenorth> if a file doesn't get processed by python, but is included by python, should the extension be .nml?  or .pynml?
22:29:34  <andythenorth> before I rush into a commit ;P
22:29:40  <Alberth> .py :p
22:30:04  <planetmaker> if it's pure nml... either .nml or .pnml, I'd say
22:30:24  <andythenorth> it's pure nml
22:30:34  <andythenorth> cargo table
22:30:38  <andythenorth> disable default vehicles
22:30:45  <andythenorth> I'm not even sure they should be separate files
22:31:08  <andythenorth> one of them is 2 loc, 50% of that is comment :P
22:31:17  <andythenorth> seems dubious
22:31:22  <Alberth> .nml then
22:31:33  *** xahodo [] has joined #openttd
22:32:04  <xahodo> Hello
22:32:43  <xahodo> Hello
22:32:56  <__ln__> echo
22:33:03  <xahodo> I've got an assertion failed when I choose advanced settings in the main menu.
22:33:56  <Rubidium> sounds like you patched OpenTTD
22:34:08  <xahodo> Nope, nightly.
22:34:09  <MJP> same problÚme here
22:34:19  <MJP> zoom_min not found
22:35:19  * Rubidium blames r23888
22:35:35  <Rubidium> michi_cc: ^ (good luck)
22:36:16  <xahodo> In r23874 advanced settings works as normal.
22:37:44  <xahodo> same for r23877
22:39:28  *** theholyduck [] has quit [Read error: Connection reset by peer]
22:39:36  * andythenorth wonders if .pylng is good for .lng files templated with python?
22:39:59  *** theholyduck [] has joined #openttd
22:41:51  *** xahodo [] has quit [Quit: ajax IRC Client]
22:42:54  *** Phoenix_the_II [] has quit [Ping timeout: 480 seconds]
22:46:56  <andythenorth> do I need to put a GPL notification in every file?
22:46:58  <Alberth> perhaps use a .pytemplate or so, instead of the zillion different extensions?
22:47:28  <andythenorth> you mention that after i commit :P :o :D
22:48:28  <Alberth> haven't you yet learned that 8 minutes is nothing in IRC time? ;)
22:49:01  <andythenorth> I think I'll leave them be for now
22:49:07  <Alberth> good idea
22:49:11  <andythenorth> I think the lesson for me here is that I should have used .pt
22:49:18  <andythenorth> which is what all the docs refer to
22:49:32  <andythenorth> and the same as I type for these files every day of the week at work :P
22:49:48  <Alberth> it looks like a translation :)
22:50:04  <andythenorth> .pt?
22:50:46  <Alberth> yeah, not sure why I associate it with translations, perhaps the gnutext thngie uses it
22:51:27  *** Progman [] has quit [Remote host closed the connection]
22:51:42  <andythenorth> it's quite widely used, 7 or 8 different meanings it seems
22:53:27  *** lmergen [] has quit [Ping timeout: 480 seconds]
22:58:12  <Alberth> good night
22:58:39  *** Alberth [] has left #openttd []
22:59:26  <andythenorth> moi aussi
22:59:27  *** andythenorth [] has quit [Quit: andythenorth]
23:03:00  <CIA-1> OpenTTD: michi_cc * r23895 /trunk/src/table/ (misc_settings.ini settings.ini): -Revert (r23888): Broken and not even needed anymore in the container format 2 implementation that was committed.
23:03:04  <CIA-1> OpenTTD: michi_cc * r23896 /trunk/src/spritecache.cpp: -Fix (r23884): Don't free unallocated memory.
23:07:40  <CIA-1> OpenTTD: michi_cc * r23897 /trunk/src/ (6 files in 2 dirs): -Feature: [NewGRF] 32bpp sprites in GRFs.
23:07:45  <CIA-1> OpenTTD: michi_cc * r23898 /trunk/ (8 files in 4 dirs): -Remove: PNG sprite loader.
23:23:28  <Hirundo> r23898 does not appear in the hg repo
23:25:00  *** kkb110_ [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #openttd
23:27:42  <michi_cc> No idea, it does appear on the git repo though.
23:28:05  <michi_cc> So it can't be the complete convert process that is stuck.
23:30:13  *** TWerkhoven[l] [] has quit [Quit: He who can look into the future, has a brighter future to look into]
23:33:10  *** macee [] has joined #openttd
23:34:22  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
23:41:02  <__ln__>
23:41:41  <Elukka> random flights?
23:46:34  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
23:46:39  *** macee [] has left #openttd []
23:47:11  <__ln__> not very random
23:47:42  <Elukka> well, what's notable with them?
23:47:53  *** Markavian [] has joined #openttd
23:48:56  <Elukka> the ryanair one looks like it's been stuck for a while but i'm not sure that's particularly weird...
23:49:41  <Elukka> i imagine there might be issues with snow
23:49:45  <Elukka> on airports
23:50:38  <__ln__> and the ezy one doesn't look like it's been stuck for a while?
23:52:33  <Elukka> i guess
23:58:26  *** HerzogDeXtEr [~Flex@] has quit [Quit: Leaving.]
23:58:32  *** HerzogDeXtEr [~Flex@] has joined #openttd
23:58:41  *** HerzogDeXtEr [~Flex@] has quit []

Powered by YARRSTE version: svn-trunk