Back to Home / #openttd / 2015 / 02 / Prev Day | Next Day
#openttd IRC Logs for 2015-02-10

---Logopened Tue Feb 10 00:00:06 2015
00:15-!-DDR [] has quit [Read error: Connection reset by peer]
00:16-!-DDR [] has joined #openttd
00:23-!-HerzogDeXtEr [] has joined #openttd
00:24-!-HerzogDeXtEr [] has quit []
00:26-!-HerzogDeXtEr [] has joined #openttd
00:56-!-Eddi|zuHause [] has quit []
00:56-!-Eddi|zuHause [] has joined #openttd
01:15-!-DDR [] has quit [Read error: Connection reset by peer]
01:15-!-DDR [] has joined #openttd
01:24-!-shirish [~quassel@] has joined #openttd
01:50-!-Yotson [] has joined #openttd
01:52-!-supermop [] has quit [Ping timeout: 480 seconds]
02:17-!-shirish [] has quit [Ping timeout: 480 seconds]
02:40-!-Celestar [] has joined #openttd
03:27-!-DDR [] has quit [Read error: Connection reset by peer]
04:11-!-hsknz [] has joined #openttd
04:20-!-hsknz [] has quit [Quit: :)]
04:32-!-hsknz [] has joined #openttd
04:40-!-glevans2 [] has quit [Ping timeout: 480 seconds]
04:40-!-liq3 [] has quit []
04:40-!-glevans2 [] has joined #openttd
05:23-!-andythenorth [] has joined #openttd
05:34-!-glevans2 [] has quit [Ping timeout: 480 seconds]
05:35-!-glevans2 [] has joined #openttd
06:06-!-andythenorth [] has left #openttd []
06:14-!-smoke_fumus [~smoke_fum@] has joined #openttd
06:14-!-itsatacoshop247 [] has quit [Ping timeout: 480 seconds]
07:08-!-zeknurn` [] has joined #openttd
07:12-!-zeknurn [] has quit [Ping timeout: 480 seconds]
07:12-!-zeknurn` is now known as zeknurn
07:26-!-DabuYu [DabuYu@] has quit [Ping timeout: 480 seconds]
07:26-!-DabuYu [DabuYu@] has joined #openttd
07:32-!-Supercheese is now known as Guest4831
07:32-!-Supercheese [] has joined #openttd
07:37-!-Guest4831 [] has quit [Ping timeout: 480 seconds]
07:41-!-andythenorth [] has joined #openttd
07:55<raincomplex>some of my trains are going right through their current destination station (full load) to the depot after it
07:56<Eddi|zuHause>yes. put the depot before the station.
07:56<Eddi|zuHause>or use a "service at depot" order
07:56<andythenorth>or turn off breakdowns...
07:57<raincomplex>with depots before the stations, i was having problems with other trains coming in there just to service
07:57<raincomplex>and getting stuck
07:57<raincomplex>e.g. behind a bunch of loading trains
07:57<Eddi|zuHause>then put the depot at the mainline.
07:57<Eddi|zuHause>or use a "service at depot" order
07:58*Eddi|zuHause has a "... oder bei OBI" flashback
07:59<raincomplex>i think service at depot order might be the best
07:59<raincomplex>i did forget about those
07:59<raincomplex>luckily my trains are all sharing orders...
07:59<andythenorth>with breakdowns off, this becomes a non-issue
07:59<andythenorth>although some people consider it cheating :)
08:01<raincomplex>it is a neat mechanic though
08:01<raincomplex>no pun intended
08:02<raincomplex>my depot layout is regular enough that i think manual maintenance is probably a good option
08:03<Eddi|zuHause>you can also do "pathfinder hacks", e.g. lowering the penalty threshold for finding depots, or increasing the penalty to this particular depot (e.g. by placing reverse path signals or road crossings)
08:04<Eddi|zuHause>but this seems a bit fragile
08:15-!-sla_ro|master [slamaster@] has joined #openttd
08:15<raincomplex>is there a way to limit the capacity of a depot?
08:16<V453000>why would you want to do that
08:16<raincomplex>trains are stacking up in my depot
08:16<andythenorth>invert the problem
08:16<andythenorth>provide more depots
08:17<andythenorth>also build short trains
08:17<V453000>you can even make it so that trains coming to the depot are less likely to enter it, if trains are leaving the depot
08:17<raincomplex>my trains are all 3 tiles long
08:17<andythenorth>due to the 38mph depot penalty speed
08:17<andythenorth>3 tiles is short :)
08:17<raincomplex>they'll pick an emptier depot over a full one?
08:18<raincomplex>or just randomly if they're the same distance?
08:18<b_jonas>raincomplex: give explicit service in depot orders
08:18<b_jonas>different ones to each train
08:18<raincomplex>ah to distribute them
08:18<andythenorth>play it like TTD :P One track per train, one depot per track
08:18<andythenorth>problem solved
08:18<raincomplex>that might be painful in my case
08:19<V453000>priority at depot
08:19<b_jonas>what? TTD doesn't play like that
08:19<raincomplex>i've got 41 trains on this station
08:19<V453000>explicit orders are bad
08:19<andythenorth>b_jonas: eh? Did you play it? :)
08:19<V453000>better do it by signals, you can easily expand that
08:19<b_jonas>it has plain signals and one-way signals
08:19<andythenorth>the winning strategy for trains is one track per train
08:20<b_jonas>maybe, but I've ran two trains on a track in TTD
08:20<andythenorth>ah, TTO
08:20<andythenorth>my bad
08:20<b_jonas>or three trains on a double track
08:20<b_jonas>oh, I haven't played TTO
08:20<raincomplex>i haven't messed with priority yet
08:20<raincomplex>i probably should learn that
08:21<V453000>you can do a lot of stuff with depots
08:21<b_jonas>does it have no signals?
08:21<raincomplex>there's a one-way in and one-way out
08:22<raincomplex>the out track tends to back up though
08:22<raincomplex>actually i bet if i can get the out track flowing better, the depot will clear itself up
08:22<V453000>part about game 213
08:22<V453000>signals like that will make depots empty up much easier
08:23<raincomplex>can it be done path-only?
08:23<V453000>it is because the entering train needs to get 2 green signals before it gets to the depot block, at which point the depotted train gets out earlier
08:23<raincomplex>so is that entry-combo-exit
08:23<raincomplex>or rather
08:24<raincomplex>i'll give that a shot
08:24<V453000>with the exit the depot basically has just capacity for 1 train I think even
08:24<V453000>without it it just helps to empty depots
08:30<V453000>so if you want to go ultra realistic or whatnot, you can make 3 tile long depots and place the exit signal there XD
08:31<@planetmaker><andythenorth> or turn off breakdowns... <-- not necessarily. You can enable servicing with breakdown off :)
08:31<@planetmaker>hi hi also :)
08:32<raincomplex>the entry/combo/exit signals seem to have done the trick :D
08:34<V453000>sure they did :)
08:35<V453000>hy pm
08:42<Eddi|zuHause><andythenorth> play it like TTD :P One track per train, one depot per track <-- i never played TTD this way.
08:45<Eddi|zuHause>and also not TTO, after a few days of playing the demo.
08:45<V453000>andythenorth is incompatible with playing the game
08:45<Eddi|zuHause>in fact, i played one-way double track with TTO.
08:46<andythenorth>was there some signal trick?
08:46<andythenorth>after a few crashes in games with marginal profits, I stuck to one line per train
08:47<@planetmaker>making trains go in circles w/o having them getting stuck was very tricky. It worked marginally. And often not even that :P
08:47<Eddi|zuHause>it was fragile, mostly due to the turn-around-when-waiting behaviour
08:48<Eddi|zuHause>also, you can't have depots...
08:48<Eddi|zuHause>or depots are very tricky
08:48<andythenorth>one day I’ll figure out how to make TextWrangler run the python linter
08:48<andythenorth>then I can stop compiling to find my syntax errors
08:49<@planetmaker>andythenorth, doesn't it have one by default?
08:49<andythenorth>not afaict
08:50<andythenorth>oh maybe it does
08:50<andythenorth>ho, yes
08:50<andythenorth>I have been occasionally trying to make the pyflakes integration work for last year or so
08:50<andythenorth>waste of time
08:53<andythenorth>also one day I’ll stop trying to iterate None
09:00<raincomplex>python <3
09:05-!-zeknurn [] has quit [Read error: Connection reset by peer]
09:07-!-zeknurn [] has joined #openttd
09:07-!-Pensacola [] has joined #openttd
09:24-!-OsteHovel [~OsteHovel@] has joined #openttd
09:25-!-Eddi|zuHause2 [] has joined #openttd
09:26-!-sla_ro|master2 [slamaster@] has joined #openttd
09:29-!-Klanticus_ [~quassel@] has joined #openttd
09:29-!-yorick_ [] has joined #openttd
09:30-!-Netsplit <-> quits: Stimrol, dihedral, tyteen4a03, __ln__, XeryusTC, ^Spike^, sla_ro|master, luaduck, CosmicRay, ToBeFree, (+4 more, use /NETSPLIT to show all of them)
09:30-!-yorick_ is now known as yorick
09:30-!-Netsplit over, joins: __ln__
09:32-!-CosmicRay [] has joined #openttd
09:32-!-Netsplit over, joins: ToBeFree
09:33-!-Netsplit over, joins: ^Spike^
09:33-!-luaduck_zzz [] has joined #openttd
09:33-!-Netsplit over, joins: XeryusTC
09:33-!-luaduck_zzz is now known as luaduck
09:33-!-Netsplit over, joins: tyteen4a03, dihedral
09:33-!-Netsplit over, joins: Stimrol
09:34-!-Netsplit over, joins: TheIJ
09:53-!-DanMacK [] has joined #openttd
09:55<raincomplex>does the pathfinder not take into account trains waiting on track up ahead?
09:57<@planetmaker>it does take them into account. But they're not a dead end, thus trains can wait for them to continue
09:59-!-Eddi|zuHause2 is now known as Eddi|zuHause
09:59<raincomplex>maybe it's this bridge
09:59<raincomplex>let me get a screenshot up
10:00<@planetmaker>basically everything has its own penalty. curves, bridges, tunnels, signals, trains, level crossings, waypoints, stations
10:00-!-liq3 [] has joined #openttd
10:00<raincomplex>they're using those first four platforms almost exclusively
10:01<raincomplex>is it that the entry path is just too long on the 5th and 6th perhaps?
10:01-!-liq3 [] has quit []
10:01<raincomplex>maybe i need to just reorganize it to be cleaner
10:03<@planetmaker>they have very different paths lengths
10:07<Flygon>planetmaker: The way you make the pathfinder sound makes it sound like it dislikes sexy woman
10:07<Flygon>What with those curves, bridges, tunnels, signals...
10:08<@planetmaker>you'll also learn that those come with a penalty :P
10:09<V453000>raincomplex: answer is waiting bays
10:09<Flygon>Yeah. Most woman aren't bidirectional :(
10:11<raincomplex>i did this
10:14<Flygon>Thank goodness I don't show #Openttd my train station designs
10:14<raincomplex>do trains decide where they want to go when they reach a signal, or can they change their minds while they sit there
10:14<Flygon>I'd be punched in the face then convicted of crimes against humanity
10:15<raincomplex>i am just a newb
10:15<raincomplex>in particular this merge on the outgoing tracks and then splitting to two depots isn't really working too well
10:15<raincomplex>gotta fix that
10:20-!-liq3 [] has joined #openttd
10:20-!-andythenorth [] has quit [Quit: andythenorth]
10:24<@planetmaker>raincomplex, at every junction a train evaluates its path anew
10:24<@planetmaker>signals have nothing to do with that
10:24<@planetmaker>though on a path signal they need to reserve a path to the next signal
10:25<@planetmaker>thus they won't proceed further in their path at that point
10:27<raincomplex>when does a train sitting at a path signal pick its path?
10:29<raincomplex>only when it arrives? or does it keep checking while things are changing up ahead / trains moving through etc
10:31<@planetmaker>it re-evaluates the path every so often
10:35-!-Kurimus [] has quit []
10:44-!-Kurimus [] has joined #openttd
10:51-!-andythenorth [] has joined #openttd
10:56-!-roidal [] has joined #openttd
10:57*OsteHovel likes the new hirarcial grouping of vehicles ;-)
11:01-!-Quatroking [] has joined #openttd
11:21-!-shirish [~quassel@] has joined #openttd
11:26-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
11:27-!-mode/#openttd [+o Alberth] by ChanServ
11:28-!-Progman [] has joined #openttd
12:17-!-Progman [] has quit [Remote host closed the connection]
12:25*andythenorth runs pyflakes
12:25<andythenorth>with interesting results
12:26-!-TheMask96 [] has quit [Ping timeout: 480 seconds]
12:27-!-TheMask96 [] has joined #openttd
12:30<@Alberth>you can also try pylint, except it checks for pep-8 style code byt default
12:30<andythenorth>I would fall out with that a lot
12:30<andythenorth>hmm pyflakes hates my FIRS by design
12:31<andythenorth>I import a lot of modules as a way of ‘building’ the app
12:31<@Alberth>you can configure pylint too :)
12:31<andythenorth>but then I don’t call them in any way
12:31<andythenorth>so they’re all reported
12:31<@Alberth>ah, yeah, pylint also doesn't like that :)
12:31-!-roidal [] has quit [Quit: WeeChat 1.0.1]
12:31<andythenorth>change FIRS design? :P
12:32<@Alberth>the idea is that an import shouldn't do anything important
12:32<@Alberth>except perhaps initialization of the imported module itself
12:33<andythenorth>apparently the ‘solution’ to this is to assert the module after import
12:33<andythenorth>which is…interesting
12:33<@Alberth>how do you find which modules are imported afterwards?
12:33-!-samu [] has joined #openttd
12:37<andythenorth>they use that dubious self registering pattern I like so much
12:37<andythenorth>so the imports just cause them to appear in a list
12:37<andythenorth>as instances
12:37<@Alberth>you register in some common module or so?
12:37<@Alberth>more imports :p
12:38<andythenorth>so industries get stuffed into registered_industries for example
12:38<andythenorth>I suspect it’s a highly wrong approach, but it works
12:38<andythenorth>and it has few LOC
12:38<andythenorth>and /me understands it
12:39<andythenorth>I have a horrible feeling that trying to clean it up will result in loops that call __import__
12:39<andythenorth>which seems…also wrong
12:40<andythenorth>but as I am doing a big rewrite of FIRS, now could be the time to fix it, if it’s broken
12:40<samu>I plan to do some other NewGRF thingy, to prevent some vehicles expiring past 2050, such as helicopters, some ideas I had years ago
12:40<@Alberth>the simplest fix is to import all, and then register in a call into the module, or by pulling out some variable from the module
12:40<samu>has anyone done such thing?
12:40<andythenorth>registering the call seems to just double the LOC
12:40<andythenorth>explicit is better I guess :P
12:40<@Alberth>but you need to list all module names twice at least
12:41<andythenorth>samu: just turn on ‘vehicles never expire'
12:41<samu>gah, horrible workaround
12:41<@Alberth>yep, the zen of python: :)
12:42<andythenorth>import this
12:42<andythenorth>import this would fail pyflakes
12:42<@Alberth>the nicest imports are the from__future__ import .... :)
12:43<@Alberth>not sure if python 3 still has it
12:43<andythenorth>I wish I could do import working_code
12:43<@Alberth>samu: you should check how you specify model life of a vehicle, I suspect it always has a finite length
12:44<@Alberth>you can, but you first have to write it :(
12:44<andythenorth>I want to import it from the future though
12:44<andythenorth>when it’s done already
12:45<@DorpsGek>Commit by translators :: r27142 trunk/src/lang/turkish.txt (2015-02-10 17:45:15 UTC)
12:45<@DorpsGek>-Update from WebTranslator v3.0:
12:45<@DorpsGek>turkish - 77 changes by wakeup
12:45<andythenorth>Alberth: so this is the prime offender
12:45<andythenorth>after ‘from cargos import beans'
12:45<andythenorth>I could just call ‘beans.register()'
12:46<andythenorth>which would be fine
12:46<andythenorth>just seems a little redundant
12:46<andythenorth>makes me tempted to put __import__ and register() into a loop
12:46<andythenorth>and provide a list of modules
12:46<@Alberth>yeah, that would be better here, perhaps
12:46<@Alberth>having a double list is also bad
12:47<@Alberth>hmm, can't you generate each industry separately?
12:47<andythenorth>I’m sure there are alternative ways to skin this cat
12:48<@Alberth>then you could solve this at OS level, by concatenating all output into one nml file
12:49<@Alberth>for fname in industries/*.py; do python $fname ; done > industries.nml
12:50*andythenorth considers
12:50<andythenorth>I think it obviates the point of using python
12:50<andythenorth>might as well just write the nml in that case, I think
12:51<andythenorth>can’t render the docs
12:51<andythenorth>can’t have industries refer to each other
12:51<andythenorth>the ‘foo.register()’ method looks increasingly simple
12:51<@Alberth>was just a thought
12:52<andythenorth>thoughts are useful :)
12:52<andythenorth>always worth trying a new approach
12:56-!-glx [] has joined #openttd
12:56-!-mode/#openttd [+v glx] by ChanServ
12:57<@Alberth>cargoes look like a INI file to me
12:59<andythenorth>I kind of hated ini parsing when I built FISH that way
12:59<andythenorth>I binned it in the end
12:59<@Alberth>? import ConfigParser ?
12:59<andythenorth>and then split on magic characters
12:59<@Alberth> hmm, right
13:00<andythenorth>I don’t think I’d ever use ConfigParser again
13:00<andythenorth>json maybe
13:00<andythenorth>cargos do look like python file is a bit overkill
13:00<@Alberth>that's mostly the same idea
13:00<@Alberth>industries have the sprite layouts, which is tricky
13:01<andythenorth>but then again, the python markup is actually about as terse as the INI or json
13:01<andythenorth>and there’s no need for a parser
13:01<@Alberth>you could throw all cargoes together in one file
13:03<andythenorth>import cargos :P
13:04<andythenorth>that has appeal
13:05<@Alberth>it's a lot of small little details, don't think you can do much
13:05<andythenorth>cargos in one file is valid
13:05<andythenorth>industries, I just need to explicitly call register()
13:05<andythenorth>fewer magic
13:06<andythenorth>magic registration is probably bad magic
13:06<andythenorth>maybe I should write a code generator for the python files?
13:07<Eddi|zuHause>there are probably worse things that autoregistering modules
13:07<@Alberth>the trouble is that somewhere you still need to specify all those little details
13:08<@Alberth>and it doesn't get much smaller then key = value stuff, which you already have, mostly
13:09<andythenorth>the thing is that it works, and it’s easy to maintain
13:09<andythenorth>but pyflakes hates me
13:09*andythenorth will think about it
13:09<@Alberth>the python syntax is a bit of useless here and there, but on the other hand, if you move it to eg INI, where you totally lack python power, it gets worse
13:10<@Alberth>so imho pyflakes is just wrong here :)
13:10<@Alberth>it's just that you write special python code, which doesn't follow usual code patterns :)
13:11<andythenorth>I’ll drop auto-register
13:11<andythenorth>it’s bad magic
13:11<andythenorth>pyflakes will be happy
13:11<@Alberth>but you will be sad
13:11<andythenorth>and I’ll commit bugs by forgetting to add an in industry in two places
13:11<@Alberth>so don't do it
13:12<@Alberth>you can also make pyflakes happy by writing loads of normal python code, and mingle that in your files :p
13:12-!-sla_ro|master2 [slamaster@] has quit [Ping timeout: 480 seconds]
13:13<andythenorth>I’ll think on, there will be a solution
13:14<@Alberth>comlain with the pyflakes authors, challenge them to come up with a good solution :p
13:14<andythenorth>ha ha
13:14<andythenorth>I think the solution would be “don’t let andythenorth write code"
13:17<@Alberth>total python lines is 18717, firs.nml is 379984 lines, you must be doing something right :)
13:17<samu>in the nml wiki, what you call of ID, is that the same as identifier?
13:18<@Alberth>can you give a page or the nml fragment you talk about?
13:18<@Alberth>"nml wiki" is very big
13:19<Eddi|zuHause>ID can also refer to a number
13:19<Eddi|zuHause>depending on context
13:20<samu>there is no page for engine_override?
13:21<@Alberth>in that table there is no "id"
13:22*planetmaker considers editing that page and removing the section "TTDPatch / engine pool disabled"
13:22<Eddi|zuHause>samu: that ID is a number that will be used for internal handling
13:22<@Alberth> <-- I must be blind then
13:22<@planetmaker>that page is even linked from the first page
13:23-!-sla_ro|master [slamaster@] has joined #openttd
13:23-!-quorzom [] has joined #openttd
13:23<samu>i dont want to override an engine from another newgrf, but from the original openttd
13:23<@Alberth>planetmaker: move the entire engine pool to the bottom, or somewhere else?
13:23*andythenorth puts in a load of asserts to shut up pyflakes, that will solve it
13:24<samu> model_life: VEHICLE_NEVER_EXPIRES;
13:24<samu>want to add this to some vehicles
13:24<@Alberth>so worried about a tool, eh, andy :)
13:24<Eddi|zuHause>samu: then look at the list of original vehicles, and find the ID number there
13:24<samu>but i'm trying to figure out their... that
13:25<andythenorth>Alberth: it’s silly I know, but I want to learn how to work with pyflakes
13:25<andythenorth>and it is no use if the errors are long and spurious
13:25<@Alberth>ok, acknowledging is a good first step :p
13:26<andythenorth>distorting the code to please the validator is stupid
13:26<andythenorth>the other validators I use have suppression options, either in the config, or via comments in the code
13:26<@Alberth>I just ignore or delete the offending complaints :p
13:26<Eddi|zuHause>samu: you did see this page, right?
13:26<@planetmaker>Alberth, yeah, that likely is a good idea. Though the paragraph above explains how it usually works. Which is good info
13:26<samu>oh, i haven't
13:27<andythenorth>pyflakes may have suppression options, but as it has no docs, who knows eh?
13:27<samu>very handy
13:27<andythenorth>maybe I should try flake8
13:28<andythenorth>that has suppression, and built in hooks for git and hg
13:29<@Alberth>euhm, why would it need git/hg?
13:29<@Alberth>:O nice
13:30<andythenorth>the reason I am learning it is that it has just become an obligatory tool for actual work
13:30<andythenorth>anything failing pyflakes is automatic revert and yelling
13:30<Eddi|zuHause>andythenorth: i think you are overreacting to that warning...
13:30<andythenorth>so I have it set up on a git commit
13:31<@Alberth>sounds like a bit blind trust on a tool
13:31<@Alberth>in my experience, coding style is a guide, ignore it if there are good reasons
13:32<andythenorth>because it’s ultimately my company, I find it useful to find out how useful each validator is
13:32-!-jjavaholic [] has joined #openttd
13:32<andythenorth>and how much shouting each one is worth
13:33<@Alberth>oh, there is nothing wrong with using them
13:33<andythenorth>some are enforced more strictly than others
13:33<@Alberth>I just have some trouble with blindly accepting the idea of a tool as the one and only truth
13:34<andythenorth>usually I wouldn’t, and usually we find validators which can be carefully suppressed
13:34<@Alberth>you get these Java nanny ideas, thy shall not write dead code
13:34<andythenorth>like the html validator we use which is plain wrong about some html 5
13:34<andythenorth>and the accessibility validator we use which is plain wrong about specific cases
13:35<@Alberth>fair enough eddi :)
13:35<andythenorth>language validation
13:35<andythenorth>as a service :P
13:35<andythenorth>by Eddi|zuHause
13:35<Eddi|zuHause>(thou/thy/... is much easier if you have german grammar in mind :p)
13:36<@Alberth>hmm, last german class was in 1983 or so, I think
13:36<Eddi|zuHause>i don't know enough about dutch grammar to judge how it works there
13:36<Eddi|zuHause>well, technically i know nothing about dutch grammar
13:37<@Alberth>no, even earlier, 1982
13:37<Eddi|zuHause>Alberth: that was about when i spoke my first german word :p
13:42<@Alberth>I quite liked german, but I had to study french instead :( Total disaster, that language :p
13:43-!-frosch123 [] has joined #openttd
13:43<@Alberth>hi hi
13:47<jjavaholic>I have long had problems creating efficient road vehicle goods transportation I I thought one way roads would allow for two tracks of road vehicles and for more traffic down one road/carriage but this doesn't seem to work, I'm looking for ideas how to rectify this. to give you an idea I have a station with 600 vehicles all heading to the same end point
13:48<jjavaholic>I thought one way roads were meant to deal with broken down road vehicles better
13:51<@Alberth>maybe with the default RVs
13:51<@Alberth>but all newgrf RVs are articulated, and cannot overtake
13:51<samu>can i use these characters when defining a title?
13:51<samu>TITLE :SH '125' (Diesel)
13:52<@Alberth>samu: in a .lng file? yes
13:52<samu>on custom tags
13:53<@Alberth>hmm, don't know
13:53<samu>ok i will try
13:53<@Alberth>you can try with a dummy name like TITLE: blabla
13:53<@Alberth>if that works, and your text doesn't, you know that the likely source is the text
13:55<andythenorth>so I pleased pyflakes with lots of asserts :)
13:56<andythenorth>really I’m going to rewrite the approach though
13:56<samu>←[Knmlc ERROR: "expire.nml", line 9: Item parameter 2 'name' should be an identi
13:56<andythenorth>talking to someone somewhere else, I’m violating the rule of ‘imports should change nothing'
13:56<samu>item (FEAT_TRAINS, 22) {
13:56<samu>what's wrong
13:56<andythenorth>the import isn’t even idempotent :P
13:57<andythenorth>import industry multiple times, set will break
13:57<andythenorth>I think
13:57<@Alberth>samu: "identifier" is a name, and 22 is not a name
13:57<@Alberth>andythenorth: imports are performed one time only
13:57<samu>22 is the ID of SH '125' (Diesel)
13:57<andythenorth>I see :)
13:57<andythenorth>that’s handy
13:58<@Alberth>ie on the first import, the file is loaded and stored, all next attempts to import it will return the stored reference
13:58-!-gelignite [] has joined #openttd
13:58<andythenorth>module registry seems to be a thing
13:59<samu>hmm, then how do I mention the sh 125?
14:00<@Alberth>samu:, please read the first line of text too
14:01<@Alberth>there is a lot of information in the text :)
14:01<@planetmaker>hehe :)
14:04-!-Pensacola [] has quit [Remote host closed the connection]
14:05<samu>item (FEAT_TRAINS, sh_125_diesel, 22) {
14:06<NGC3982>So, what 32bpp NewGRF's should one include in a proper 32bpp server, except RAWR, YETI and the Pinapple trains?
14:06<andythenorth>ho ho ho, this is now spectacularly ugly
14:06<andythenorth>that is absolutely going to increase my mistakes rate, it’s totally impenetrable
14:07<andythenorth>compared to
14:07<andythenorth>still, it’s much more pythonic now :)
14:07<@planetmaker>samu, there's *loads* of example code available for the basics. Including a tutorial at
14:08*andythenorth feels a loop against __import__ might appear in a forthcoming commit
14:09<@Alberth>I'd add an empty line after each pair
14:09<@Alberth>the question is how often do you change that file? :)
14:10<@Alberth>it may a bit long, but it's trivial to change
14:13<samu>yay, it works, and i have no idea why exactly, but it works
14:13<samu>SH '125' survived past 2050
14:14-!-Wolf01 [] has joined #openttd
14:14<Wolf01>hello o/
14:15<raincomplex>andythenorth, i was about to say
14:15<raincomplex>that really looks like it could use some automation (;
14:15<samu>i need an opinion
14:15<samu>what diesel engine should be kept past 2050?
14:16<samu>Dash or SH 125? I did for SH 125, but the newest model is Dash
14:19<samu>Personaly I'm more inclined towards SH 125
14:19<andythenorth>Alberth: that file is changed for a few weeks per year :)
14:19<samu>it's faster, and the 'successor' of dash is the Millenium Z1
14:19<andythenorth>and the changes are to add a few lines
14:22<samu>i have other question, about Asia star, sometimes it expires in 2050, and sometimes it doesn't and stays in-game forever
14:22<samu>how come?
14:31<samu>a random amount between 31 months and 17 years is added to the model life
14:31<samu>explain me this better with an example
14:33<@peter1138>Well, see, a random value is added to the engine life cycle...
14:33<@peter1138>And it's random...
14:34<samu>i need to know model_life value for AsiaStar, the default value
14:34<samu>where can i find that
14:35<@peter1138>In one of the table files in the source code.
14:35<samu>oh, good idea, will search
14:37<@planetmaker> might be right. w/o guarantee
14:37*NGC3982 looks for 32bpp station sets
14:39<@planetmaker>good luck, NGC3982
14:39<samu>502 Bad Gateway
14:39<@planetmaker>there was an isr-spin-off. but the original author didn't want that; thus it's only in the forums for now
14:39<NGC3982>I see.
14:40<NGC3982>I guess there are no particular reason to why such NewGRF does not exist properly yet?
14:40<@planetmaker>dunno, possibly not
14:40<frosch123>just noone did it
14:41<@planetmaker>maybe one though: nml doesn't do stations yet
14:41*NGC3982 waits patiently
14:41<samu>that comparison doesn't have model_life, but vehicle_life
14:41<samu>it's not the same thing
14:41<frosch123>and adding 32bpp to existing 8bpp sets is likely never going to work
14:41<frosch123>it makes no sense if a grf features two different art styles
14:42<samu>doesn't open :(
14:43<@planetmaker>use, samu
14:43<frosch123>and CATS is nowhere near done :)
14:44<@planetmaker>yeah, sadly
14:46<V453000>more like dead
14:47<V453000>I will try to make some more graphics and lure Elyon back again
14:47<V453000>this time I at least have a reliable contact to do so, unlike last year :)
14:47<@planetmaker>doesn't sound dead then ;)
14:49<samu>found it
14:49<samu>it's 50
14:50<samu>becomes available in 26298 days after 1920-01-01 ... oh great :(
14:52-!-Celestar1 [] has joined #openttd
14:56<@Alberth>@calc 26298 / 365
14:56<@DorpsGek>Alberth: 72.0493150685
14:56-!-Celestar [] has quit [Ping timeout: 480 seconds]
14:57<@Alberth>looks like it
14:57<samu>a random amount between 31 months and 17 years is added to the model life
14:58<samu>1992+50+(random value from 31 months to 17 years)
14:58<samu>I see now
15:04<andythenorth>pyflakes is sad about my python 2 code, because I’m running it under python 3 :)
15:05*andythenorth would like to convert
15:05<@Alberth>that fails?
15:06<NGC3982>20:41 <@NGCone> Now playing on NGCTTD #1 32bpp (use zBase) RAWR+YETI+Fruity Trains 1901>1960 (Version 1.4.4)
15:06*NGC3982 solved the non-existance of 32bpp station NewGRF's.
15:07<NGC3982>Let's hope players will understand. They usually don't. :(
15:08<V453000>just add 8bpp stations :)
15:09<andythenorth>Alberth: invalid syntax on prints ;P
15:09<samu>i'm confused about these 3 phases
15:09<@Alberth>andythenorth: use 2to3? :)
15:09<andythenorth>considering it
15:09<andythenorth>but it had a lot of problems last time I tried
15:09<andythenorth>in code I don’t understand
15:10<samu>i suck at math, especially when dates are involved
15:10<andythenorth>oh it finds all the python in the templates iirc
15:10<andythenorth>that trips it up :)
15:10<samu>can someone explain me this part a bit?
15:10<@Alberth>andythenorth: :)
15:11<samu>model_life for AsiaStar is 50
15:11<samu>and the vehicle is available in 1992
15:11<samu>so, when will it retire? what would be the years which it can retire?
15:14-!-shirish [] has quit [Read error: Connection reset by peer]
15:14*andythenorth has stupid imports
15:16<samu>what am i looking at? :o
15:17<samu>okay, at the end of phase 3, the vehicle disappears from purchase list
15:17<samu>but how do I calculate that
15:21<samu>1992 - asiastar is available for purchase
15:21<samu>1992 + 7 to 38 months = phase 1
15:24<samu>phase 1 + (50+(31 months to 17 years)-8 = phase 2
15:24<andythenorth>FIRS render_pnml works under python 3 now
15:25<andythenorth>without 2to3 touching it
15:25<samu>phase 2 + (10 to 20.5 years) = phase 3
15:25<andythenorth>render_docs is sulking
15:25-!-Progman [] has joined #openttd
15:26<samu>1992 + (7 to 38 months) + (50-8 years + (31 months to 17 years) + (10 to 20.5 years = retire date
15:26<samu>1992 + (7 to 38 months) + (50-8 years + (31 months to 17 years)) + (10 to 20.5 years) = retire date
15:26<samu>terrible math
15:28<@Alberth>decide the end point, and decide something for phase 1 and 3
15:29<@Alberth>not that the newgrf doesn't take (31 months to 17 years) into account at all
15:30-!-An_dz [~An_dz@] has joined #openttd
15:30-!-An_dz [~An_dz@] has left #openttd []
15:37<samu>1992 + (0.583 to 3.166) + (50-8) + (10 to 20.5) = retire date
15:38<samu>like that?
15:39<samu>2044.583 to 2057.666 = retire date
15:40<samu>those 31 months to 17 years are not used in the formula?
15:41*andythenorth nearly has a happy pyflakes
15:41<andythenorth>and the project is slightly cleaner imho
15:41<@Alberth>I can only see the model_life property in the vehicle properties
15:42<@Alberth>all the other stuff seems out of your control
15:42<@Alberth>andythenorth: yay :)
15:42<andythenorth>Eddi|zuHause has some code for model life stuff
15:42<andythenorth>I gave up bothering about it
15:42<andythenorth>I play ‘vehicles never expire’ anyway
15:43<Eddi|zuHause>samu: the 17 years are in phase 3. early retirement applies relative to end of phase 2
15:43<@Alberth>just make sure a new vehicle arrives before the current one expires
15:44<andythenorth>just use 30 or 40 year model life, and deliver a new vehicle every 20 years
15:44<andythenorth>seems about right
15:46<Eddi|zuHause>i set early retirement=vehicle life - 4 years, and model life = purchase time + vehicle life
15:46<Eddi|zuHause>or so
15:46<Eddi|zuHause>i don't want to bother looking this up
15:46<samu>must make up my mind about AsiaStar retiring before 2051 or not
15:47<samu>past that date it stays permanently
15:47<Eddi|zuHause>if it stays with low reliability, what's the point?
15:48<Eddi|zuHause>also, it might not stay if a NewGRF with planes or ships introduces vehicles after 2050
15:48<samu>no, im not adding new vehicles
15:48<Eddi|zuHause>but the other players might
15:48<@Alberth>the player might
15:52<samu>what is the interval range?
15:52<samu>just now it retired in Jun 2050
15:52<samu>it's so random
15:54<samu>now it stayed past 2051
15:54<samu>if i could figure the minimum value
15:55-!-Quatroking [] has quit [Read error: Connection reset by peer]
15:57-!-HerzogDeXtEr1 [] has joined #openttd
15:59*andythenorth wants to import modules into the packages
15:59<andythenorth>from package import module works
15:59<andythenorth>import module doesn’t
15:59<@Alberth>newer pythons allow relative import, never used it though
16:00<andythenorth>it will keep
16:00<andythenorth>just trying to improve readability by reducing redundant characters
16:00<andythenorth>can I spam a ‘from’ import across multiple lines without escapes?
16:00<samu>strange, it retired in year 2052, I didn't expect that
16:01<samu>what am I doing wrong
16:01<@Alberth>andythenorth: probably not
16:01<samu>i thought vehicles could never expire past year 2051
16:01<@Alberth>python needs something around a list to keep it together without escapes
16:02<@Alberth>where did you find that samu?
16:03<samu>my obvservations only
16:03<samu>i guess im wrong
16:03-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
16:04-!-sla_ro|master [slamaster@] has quit []
16:05*andythenorth moves industry imports to industries package, ditto for cargos
16:05<andythenorth>seems to be a bit more appropriate
16:06<@Alberth>means less editing of firs.nml perhaps :)
16:06<@Alberth>euhm,, that is
16:07<andythenorth>and proper separation of concerns
16:07<samu>again, it expired in year 2052
16:07-!-oyvind [] has quit [Quit: leaving]
16:08<samu>there's something I don't understand
16:08<samu>when does the game sets that a vehicle won't expire?
16:08<@Alberth>lucky you, I don't understand lots of things
16:08<samu>what year?
16:09*andythenorth has a growing list of things not understood
16:09<samu>reliability was still decaying past 2051
16:09<andythenorth>there must surely have been an inflection point
16:09<andythenorth>because at the beginning I understood nothing
16:09<andythenorth>which might be akin to infinite list of not understanding
16:09<samu>and sometimes the vehicle disappears in 2052, some other times it stays after that reliability
16:10<samu>after that reliability decay
16:10<andythenorth>at some point it became countable list of things not understood
16:10<andythenorth>which now grows
16:10<@Alberth>your knowledge grows :p
16:10<andythenorth>but in proportion to my confusion?
16:10<andythenorth>linearly, or geometric? :P
16:11<@Alberth>linear to your knowledge? :p
16:11<samu>Looks like I'm not gonna change asiastar.
16:11<samu>I just wanted to garantee at least 1 engine type for each rail type
16:11<samu>there's still the SH 40 which never expires
16:13<samu>depending on luck, there's an asia star past 2050+
16:13<samu>looks okay
16:13*andythenorth wonders what python 3 is stumbling on in
16:14<andythenorth>did lambdas change?
16:14*andythenorth never understands lambdas
16:14<andythenorth>this is throwing a key error for cargo
16:14<andythenorth>sorted(economy_schemas[economy].enabled_cargos, key=lambda cargo: doc_helper.get_cargo_name(cargo))
16:15<andythenorth>works under 2.6/2.7
16:16-!-Yotson [] has quit [Quit: .]
16:17<@Alberth>key has changed iirc
16:18-!-HerzogDeXtEr1 [] has quit [Quit: Leaving.]
16:18<@Alberth>oh, it hasn't
16:18<@Alberth>what does the error say?
16:19<andythenorth>hmm it’s a big stack actually
16:19*andythenorth pastes
16:19<@Alberth>just the last part is enough probably
16:20<andythenorth>I misread it as Key error, but it’s a Name error
16:23<@Alberth>did you commit your code?
16:24<@Alberth>parse blabla line worked for me
16:26<@Alberth>I have python 3.4, maybe that makes a difference?
16:26<andythenorth>I have 3.3.0
16:26<andythenorth>did you run python src/
16:26<andythenorth>the makefile runs it under python 2
16:27<NGC3982>V453000: Hey!
16:27<@Alberth>no problem
16:28<andythenorth>looks like I need a new python
16:28<@Alberth>you can change the "cargo" variable in the lambda line to something else to eliminate that as source
16:29<@Alberth>have a look at chameleon requirements?
16:30<@Alberth>lambda looks fine to me, and claims that 'key' exists, so it should work
16:30*andythenorth gets all the pythons
16:30<@Alberth>you have 'cargo' as key somewhere?
16:32<@Alberth>try key = doc_helper.get_cargo_name
16:32<@planetmaker>Now folks, come forward with a nice titlegame suggestion for OpenTTD 1.5.x :)
16:33<@planetmaker> and
16:34<@Alberth>past winning entries were always city-ish, weren't they?
16:35<@planetmaker> and 1.2 and 1.1 in the URL work, too
16:36<@planetmaker>(no 1.3 round2 - that was decreed :P )
16:36<@Alberth>lol nightgfx baseset :p
16:37<@planetmaker>because we can :P
16:37<@planetmaker>I was actually thinking whether I make some screenies with rawr as static newgrf ;)
16:38<@Alberth>1.1 has no index.html
16:38<@Alberth>but only 3 entries :)
16:39<@planetmaker>it's round2. It always only has 3 entries :)
16:39<andythenorth>I broke all my pythons :)
16:39<andythenorth>what fun
16:41<@planetmaker>g'night Alberth
16:41-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
16:41*andythenorth forsees a trip to the backup drive cupboard :)
16:51<jjavaholic>why have one way roads in game if road vehicles can't overtake?
16:52<frosch123>to prevent road vehicles from taking certain routes
16:52<frosch123>where they would block things or end up on level crossings and similar
16:57<andythenorth>backups are useful
17:01<jjavaholic>why do road vehicles avoid drive through stations by default?
17:03<frosch123>because there may be vehicles loading
17:16-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
17:19-!-itsatacoshop247 [] has joined #openttd
17:23-!-gelignite [] has quit [Quit:]
17:23-!-andythenorth [] has left #openttd []
17:44-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
17:55-!-Progman [] has quit [Remote host closed the connection]
18:21-!-DanMacK [] has quit [Quit: Page closed]
18:53<samu>i have a qustion
18:54<samu>grfid - what do i put here if this is my 2nd newgrf?
18:54<samu>RS\01\01 -> RS\02\01 or RS\01\02 ?
18:55<samu>it's a whole different thing than my first newgrf
18:55<samu>but they can be together
18:56<+glx>it's up to the grf writer
18:56<+glx>so you can do as you want
18:56<samu>they're independent of each other, they function on their own, but they can also be mixed, hmm
18:58<+glx>the only rule is the newgrf can't have the same grfid
18:59<+glx>the game doesn't care about the meaning inside the grfid
19:01-!-Biolunar [] has joined #openttd
19:02<samu>RS\01\02 then
19:03<samu>must I really start with version 0?
19:03<samu>can i start at version 1 immediately?
19:09<samu>Some Vehicles Never Expire v0 - weird version
19:13<samu>SH '125' or 'Dash'? I know it's up to me, but, I need opinions
19:15<samu>part of me is inclined to keep SH 125 available forever, but if I apply the same logic that I used for the other models, the last model that is expired normally is the one that would be changed to stay available forever
19:15<samu>that's the 'Dash'
19:23<samu>no one has an opinion at all?
19:26-!-supermop [] has joined #openttd
19:32<Eddi|zuHause>samu: the version does not have to start at 0
19:32<Eddi|zuHause>0 is usually used for GRFs that were released before the version existed
19:36<supermop>how is everyone?
19:42<Eddi|zuHause>asleep, mostly
19:44-!-quorzom [] has quit [Remote host closed the connection]
19:58<samu>ah, oki
20:05<samu>5 vehicles: Powernaut Diesel (Toyland), 'Dash' (Diesel) (Temperate), 'Turner Turbo' (Diesel) (Sub-Arctic, Sub-Tropic), Flashbang X1 (Toyland), Guru X2 Helicopter (Temperate, Sub-Arctic, Sub-Tropic)
20:16<samu>im testing my grf and already some issue... the order which Powernaut Diesel shows in the list is altered :(
20:17<samu>why :/
20:17<samu>EngineID (classic sort)
20:18<samu>flashbang x1 expired, what the heck :(
20:22<samu>what's wrong with my text:
20:25<Eddi|zuHause>samu: you can reorder the vehicles in the purchase list
20:29<samu>guru x2 helicopter disappeared as well :( what did I do wrong
20:30-!-namad7 [] has joined #openttd
20:32-!-namad7 [] has quit []
20:34-!-Flygon [] has quit [Read error: Connection reset by peer]
20:38-!-Flygon [] has joined #openttd
20:52<samu>ah I see what I did wrong
20:53<samu>NML id numbers are different
21:41-!-smoke_fumus [~smoke_fum@] has quit [Quit: KVIrc 4.2.0 Equilibrium]
21:56-!-Xaroth [] has quit [Remote host closed the connection]
22:01-!-Biolunar_ [] has joined #openttd
22:02-!-Xaroth [] has joined #openttd
22:06-!-lilblu [] has joined #openttd
22:06<lilblu>can someone help me intall vs_hard_pack.0.8.165.r25739M.patch
22:07-!-lilblu [] has quit []
22:08-!-Biolunar [] has quit [Ping timeout: 480 seconds]
22:12-!-DDR [] has joined #openttd
22:19-!-Xaroth_ [] has joined #openttd
22:19-!-Xaroth [] has quit [Read error: Connection reset by peer]
22:38-!-glx [] has quit [Quit: Bye]
22:44-!-urdh [] has quit [Ping timeout: 480 seconds]
22:52-!-urdh [] has joined #openttd
22:59-!-Biolunar [] has joined #openttd
23:06-!-Biolunar_ [] has quit [Ping timeout: 480 seconds]
23:07-!-Xaroth [] has joined #openttd
23:07-!-Xaroth_ [] has quit [Read error: Connection reset by peer]
23:10-!-samu [] has quit [Quit: Page closed]
23:14-!-DDR [] has quit [Read error: Connection reset by peer]
23:14-!-DDR [] has joined #openttd
23:41-!-gnu_jj [] has quit [Remote host closed the connection]
23:43-!-gnu_jj [] has joined #openttd
23:50-!-tokai|mdlx [] has joined #openttd
23:55-!-Xaroth_ [] has joined #openttd
23:56-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
23:56-!-Xaroth [] has quit [Ping timeout: 480 seconds]
---Logclosed Wed Feb 11 00:00:08 2015