Log for #openttd on 27th February 2012:
Times are UTC Toggle Colours
00:08:13  *** supermop [] has quit [Ping timeout: 480 seconds]
00:14:43  *** Devroush [] has quit []
00:14:47  *** kkb110 [] has quit [Ping timeout: 480 seconds]
00:15:40  *** namad7 [] has quit []
00:16:10  *** namad7 [] has joined #openttd
00:19:03  <Eddi|zuHause> i don't get that CETS compile error... it compiled fine locally, and i didn't change anything even remotely related...
00:21:35  <michi_cc> Eddi|zuHause: NML bug, see #3744
00:24:59  <Eddi|zuHause> aha...
00:27:15  <Eddi|zuHause> unrelated point: it would be nice if the compile error ticket actually contained the last ~10 lines of the build.err.log, so i don't have to click through 20 layers to get to the actual error message, which may have moved or disappeared since the creation of the ticket
00:31:02  <Eddi|zuHause> and i still miss an email-on-commit feature
00:32:16  <michi_cc> RSS feed not enough?
00:35:55  <Eddi|zuHause> i don't have an RSS feed set up
00:37:40  *** chester_ [] has quit [Quit: Leaving.]
00:39:24  *** kkb110 [] has joined #openttd
00:43:35  *** namad7 [] has quit []
00:48:51  *** KritiK [] has quit [Quit: Leaving]
00:58:55  *** theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
01:12:05  *** namad7 [] has joined #openttd
01:12:07  *** Firartix [] has quit [Ping timeout: 480 seconds]
01:17:51  *** mkv` [] has joined #openttd
01:23:51  *** kkb110 [] has quit [Read error: Connection reset by peer]
01:24:09  *** KouDy [~KouDy@] has joined #openttd
01:24:27  *** Markavian` [] has quit [Ping timeout: 480 seconds]
01:27:29  *** Snail_ [] has quit [Quit: Snail_]
01:56:15  *** s-vektori [] has joined #openttd
01:57:23  *** Rhamphoryncus [] has joined #openttd
02:03:55  *** Biolunar_ [] has joined #openttd
02:11:12  *** Biolunar [] has quit [Ping timeout: 480 seconds]
02:13:56  *** Biolunar_ [] has quit [Quit: All your IRC are belong to us]
02:15:48  *** Snail_ [] has joined #openttd
02:24:29  *** kkb110_ [] has joined #openttd
02:51:47  *** kkb110__ [] has joined #openttd
02:51:47  *** kkb110_ [] has quit [Read error: Connection reset by peer]
03:01:00  *** Pikka [] has joined #openttd
03:18:28  <Nat_aS> hey the new industries Grif, are there any good scenerios for it?
03:19:04  *** George [~George@] has quit [Read error: Connection reset by peer]
03:25:15  *** George [~George@] has joined #openttd
03:47:08  *** Elukka [] has quit []
03:58:03  *** kkb110__ [] has quit [Ping timeout: 480 seconds]
04:00:48  *** glx [glx@2a01:e35:2f59:c7c0:c537:91de:88e0:7d61] has quit [Quit: bye]
04:13:40  *** Pixa [] has quit [Quit: No Ping reply in 180 seconds.]
04:14:02  *** Pixa [] has joined #openttd
04:14:13  *** kkb110_ [] has joined #openttd
04:32:36  *** cmircea [~cmircea@] has joined #openttd
04:47:25  *** kkb110_ [] has quit [Read error: Connection reset by peer]
04:47:34  *** kkb110 [] has joined #openttd
04:52:48  *** Doorslammer [] has joined #openttd
04:56:15  <Pikka> apparently not
04:57:11  *** cmircea [~cmircea@] has quit [Ping timeout: 480 seconds]
04:59:36  <Nat_aS> :c
04:59:49  * Nat_aS only plays scenarios because random maps are balls
05:01:43  <Eddi|zuHause> so you tried all scenarios from the content download yet?
05:02:21  *** tokai|noir [] has joined #openttd
05:02:24  *** mode/#openttd [+v tokai|noir] by ChanServ
05:07:49  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
05:08:02  *** tokai [] has joined #openttd
05:08:05  *** mode/#openttd [+v tokai] by ChanServ
05:11:17  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
05:18:00  <Nat_aS> no
05:18:04  <Nat_aS> i sould
05:19:33  *** Doorslammer [] has quit [Quit: ajax IRC Client]
05:50:29  *** tokai|mdlx [] has joined #openttd
05:55:33  *** Eddi|zuHause [] has quit []
05:55:50  *** Eddi|zuHause [] has joined #openttd
05:56:14  *** tokai [] has quit [Ping timeout: 480 seconds]
05:57:06  *** DOUK [] has quit [Ping timeout: 480 seconds]
05:59:22  *** roboboy [] has joined #openttd
06:02:03  *** kkb110 [] has quit [Read error: Connection reset by peer]
06:02:21  *** kkb110 [] has joined #openttd
06:04:43  *** Snail_ [] has quit [Quit: Snail_]
06:07:46  *** Lachie [] has joined #openttd
06:11:39  *** kkb110_ [] has joined #openttd
06:11:40  *** kkb110 [] has quit [Read error: Connection reset by peer]
06:16:13  *** JVassie [~James@] has joined #openttd
06:21:04  *** roboboy [] has quit [Ping timeout: 480 seconds]
06:41:17  *** kkb110_ [] has quit [Read error: Connection reset by peer]
06:41:39  *** kkb110 [] has joined #openttd
06:53:16  *** sla_ro|master [slaco@] has joined #openttd
07:00:36  <Lachie> Is there any reason why, despite being refitted correctly and having cargo of the correct variety at a station, a train will not load? Just sitting with the "Loading/Unloading" thing in the window
07:02:43  <Nat_aS> not sure
07:03:00  <Nat_aS> If I wanted to be a dick I'd say check aggain.
07:03:10  <Nat_aS> oh, check the trains orders
07:03:28  <Nat_aS> sometimes it might be set to not load, but then it would not be waiting at the station so Idono.
07:04:13  <Lachie> Yeah, it's nothing stupid like that. Potentially may have stuffed something up in the NML that isn't letting it load.
07:04:18  <Rhamphoryncus> does it give a percentage of progress?  Is there a timetable setup?
07:04:52  <Lachie> 0%, no timetabling.
07:04:55  <Rhamphoryncus> Does the station supply that cargo type?  If you were to rebuild that station does the catchment say it'd be supplied?
07:05:15  <Nat_aS> yeah that caused a problem for me
07:05:17  <Lachie> yes and yes.
07:05:36  <Nat_aS> because I thought I had outrigger stations connected, but they were seperate because I forgot to Ctrl click
07:05:57  <Lachie> after the train's been sent to the station, the cargo has started to build up in it. It's weird.
07:06:18  <Pikka> Lachie: I don't know if it's possible to set the "load amount" property to 0. :D
07:06:26  <Rhamphoryncus> That is weird.  Can you screenshot the station with the train's orders showing?
07:06:34  <Nat_aS> wait
07:06:44  <Nat_aS> you can set diffrent load/unload amounts other than full?
07:06:49  <Rhamphoryncus> Nat_aS: no
07:07:10  <Rhamphoryncus> If it's a 1 tile station with a 10 tile train it'd take forever to load
07:07:13  <Nat_aS> aww
07:07:40  <Nat_aS> I mean is it possible for a train to be ordered to only unload part of it's cargo
07:07:46  <Rhamphoryncus> nope
07:07:46  <Pikka> no, it isn't
07:07:52  <Nat_aS> it should be
07:08:01  <Pikka> well you know where the codebase is
07:08:19  <Nat_aS> hurr
07:08:38  * Rhamphoryncus is already knee deep in code related to that ;)
07:09:01  <Pikka> Lachie: can you bung your NML up somewhere?  I can see if I can spot anything obvious. :)
07:09:19  <Lachie> just uploading a picture now
07:09:27  <Lachie> Pikka: sure. Just give me a sec.
07:10:54  *** APTX [] has quit [Ping timeout: 480 seconds]
07:15:21  <Lachie>
07:15:45  *** Twofish [] has joined #openttd
07:15:49  *** Guest4180 [] has joined #openttd
07:15:59  *** Guest4180 is now known as macee
07:16:56  <Nat_aS> who was it who suggested depoting before a station?
07:18:02  *** Progman [] has joined #openttd
07:18:14  <Lachie> noone. it's set up to take a teaser picture for a set development thread.
07:19:50  <Lachie> It's not meant to be a functional network, just needs to be able to load cargo and move to another location. I don't see what that should have caused a problem though.
07:19:57  <Lachie> *why
07:20:02  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
07:20:09  <Rhamphoryncus> Yup, that is weird.  Nothing comes to mind.
07:21:37  <Lachie> Pikka: how much of the NML should you need?
07:22:08  <Pikka> just the stuff relating to the wagon
07:25:58  <Pikka> I still suspect it's the load amount property :P
07:26:06  <Lachie>
07:26:25  <Lachie> potentially. I haven't explicitly set one.
07:26:46  <peter1138> heh
07:26:52  <peter1138> static dlls that aren't static. crazy.
07:26:58  <Lachie> assuming you're not talking about cargo_capacity
07:27:13  <DDR> Lachie: This is probably a stupid question, but are the train cars refitable?
07:27:38  <Lachie> DDR: yes, they surely are.
07:27:48  <DDR> And are they actually refitted to take sand?
07:28:06  <Pikka> loading_speed:                          5;
07:28:09  <DDR> er, stone.
07:28:12  <Pikka> looks like you have to me :)
07:29:14  <Lachie> Pikka: I set that to attempt to rectify the issue. that is the default, is it not?
07:29:50  <Pikka> I'm pretty sure all properties default to 0 for a new ID
07:29:50  <Lachie> DDR: yes. The stone only began to appear in the station window after the train had stopped.
07:30:05  <DDR> Ok, that's all good then.
07:30:40  <DDR> Just had to check. ;) I've been guilty of such a mistake more often than I'll admit; that is to say, not once.
07:32:42  <Lachie> ah. Must have been the not setting the load speed.
07:32:48  <Lachie> seems to work fine on restart.
07:36:20  <Pikka> hooray
07:41:32  *** macee [] has left #openttd []
07:41:53  *** andythenorth [] has joined #openttd
07:42:20  *** Pulec [] has quit []
08:01:10  *** Pikka [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0.2/20120215223356]]
08:01:32  *** Pikka [] has joined #openttd
08:18:02  *** Twofish [] has quit [Quit: Leaving]
08:24:46  *** Twofish [] has joined #openttd
08:29:09  *** Firartix [] has joined #openttd
08:38:40  <andythenorth> o/ Pikka
08:38:52  <Pikka> 'lo bob
08:39:37  <andythenorth> is it done yet?
08:40:21  <Pikka> what's that then?
08:41:17  <andythenorth> the work, all the work, the work
08:42:44  <Pikka> oh
08:42:46  <Pikka> all that
08:42:46  <xiong> Nat_aS, might have been me. I like depoting before a station. I like depoting after a station, too. I like depoting a lot, period.
08:43:11  <Pikka>,_with_SR_electric_locomotive_geograph-2384023-by-Ben-Brooksbank.jpg andy
08:43:18  <Pikka> one gusta.
08:43:38  <Pikka> but right now I must dans le shoppe por dinnerables.
08:43:44  <Pikka> berb
08:44:04  *** kkb110 [] has quit [Read error: Operation timed out]
08:44:31  <xiong> Nat_aS, If you've got a train full loading and you think it might have to wait for some time, it's very good to depot after. Even better is to make a recirculation route so you don't full load at all; you just load and conditional order the recirculation, with depoting, if not full.
08:49:40  <appe> Pikka: how cute.
08:58:08  *** DDR [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0.2/20120216100510]]
08:59:33  <andythenorth> baby maintenance - bbl
08:59:35  *** andythenorth [] has quit [Quit: andythenorth]
09:03:07  *** tokai|noir [] has joined #openttd
09:03:10  *** mode/#openttd [+v tokai|noir] by ChanServ
09:05:12  *** KouDy [~KouDy@] has quit [Read error: Connection reset by peer]
09:05:46  *** KouDy [~KouDy@] has joined #openttd
09:08:51  *** tokai [] has joined #openttd
09:08:54  *** mode/#openttd [+v tokai] by ChanServ
09:09:06  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
09:13:04  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
09:14:19  <peter1138> 12147 petern    20   0 2358m 1.6g 5376 S    1 30.2 179:02.55 monodevelop
09:14:24  <peter1138> mm, bloat :p
09:15:50  <Rhamphoryncus> Anybody know why km-ish/h exists?  Why that unit?
09:16:34  *** hbccbh [~hbc@] has joined #openttd
09:17:33  <peter1138> because that's what ttd used
09:17:50  <Rhamphoryncus> seriously?  o.O
09:17:55  <planetmaker> seriously
09:18:09  <planetmaker> moin
09:18:19  <Rhamphoryncus> Given the choice between two units, km/h and mph, they decided to make up a third?
09:18:35  <peter1138> no, they decided to use an approximation
09:19:37  <peter1138> so many MB :(
09:20:07  <Rhamphoryncus> The sane thing to do would be store km/h (or mph) and multiply by 1.6 when displaying as mph.  Done.
09:20:08  <planetmaker> opengfx and the 32bpp graphics?
09:20:33  <peter1138> no, the software running on my pc :(
09:20:33  <planetmaker> Rhamphoryncus, and then the speed - possessed people come and give you all the extra digits
09:20:52  <planetmaker> and who says that the specs are sane?
09:21:06  <Rhamphoryncus> the same people that have the wiki claim a tile is 668 km across?
09:21:23  <planetmaker> I doubt any of us developer ever said the specs are sane :-)
09:21:37  <planetmaker> and the scale with 668km accross is correct
09:21:53  <planetmaker> as are many other interpretations of scale
09:22:46  <planetmaker> and... there's little point in questioning them. The reason mostly is 'historical raisins'
09:23:28  <Rhamphoryncus> numerically correct, but completely ludicrous and adds nothing to the game.  It's an amusing factoid resulting from the game mechanics, not actually part of the game mechanics
09:23:54  <Rhamphoryncus> The earth would only be 60 tiles.  Jupiter would only be 670.
09:23:56  <planetmaker> but essential when writing newgrfs
09:24:04  <Rhamphoryncus> how?
09:24:45  <planetmaker> not the scale in particular. But knowledge of these conversions etc
09:25:01  <Rhamphoryncus> The sun is 2095 tiles, so there's our large map size
09:25:23  <Rhamphoryncus> sure, knowing how they interrelate is important
09:25:31  <peter1138> they're not important at all, that's whole point
09:25:43  <planetmaker> scale indeed is totally unimportant
09:25:51  <Rhamphoryncus> and the reason I'm asking is I've decided to fix a rounding bug in converting between them
09:25:51  <peter1138> knowledge of that fact that you *can't* put a consistent scale on everything is important
09:26:09  <planetmaker> you mean "fix", Rhamphoryncus
09:26:30  <Rhamphoryncus> It'd be nice if the wiki actually said any of that
09:26:37  <planetmaker> you should grep the project's history for when that speed calculation was changed
09:26:40  <Rhamphoryncus> No, as it's a display unit I really do mean hix
09:26:48  <peter1138> problem is many graphics artists don't seem to understand :p
09:26:54  <Rhamphoryncus> I'm talking about the max speed in timetables
09:27:14  <planetmaker> it should be the exact same as the vehicle speed shown when travelling there
09:27:25  <planetmaker> don't ever get started on distance scale. It's ... pointless
09:27:30  <Rhamphoryncus> It is.  But it's not the speed that's entered.
09:27:31  <planetmaker> a tile is 5m as it's 668km
09:27:39  <Rhamphoryncus> You enter 112 and it says 111
09:27:42  <planetmaker> and as the scale is arbitrary, the speed wrt tiles is
09:28:10  <planetmaker> a train not necessarily can travel 112 km/h
09:28:23  <planetmaker> due to granularity of the speed property
09:28:30  <Rhamphoryncus> .. that's irrelevant is it not?
09:28:32  <planetmaker> But I don't know.
09:28:37  <planetmaker> It's not
09:28:47  <planetmaker> Thus entering 112 km/h is pointless :-)
09:29:00  <planetmaker> but ok, the user should not care about that
09:29:06  <planetmaker> the trains then just should go 111 km/h
09:29:46  <Rhamphoryncus> Actually that's all we've done in the current openttdcoop game.  We chose 111 because that's the displayed speed limit on curves, but if you enter 111 you get 110, if you enter 110 you get 109, etc.  So we enter 112 and all is good.
09:29:48  <Lachie> has anyone ever thought of implementing signal rules ala ttdp?
09:30:06  <planetmaker> Lachie, yes
09:30:09  <peter1138> yes
09:30:13  <planetmaker> but the UI sucks
09:30:15  <peter1138> i have a partial patch for it
09:30:18  <peter1138> which doesn't work
09:30:20  <peter1138> i never got that far :p
09:30:46  <Lachie> haha
09:31:06  <planetmaker> well. The issue I'd have is that I'd need to click on each signal to understand the network
09:31:17  <planetmaker> which is... not ideal
09:31:45  <planetmaker> but that's my understanding of being the "major" reason. I may be totally off :-)
09:33:27  <Rhamphoryncus> Anyway, fixing the rounding is in of itself trivial, but the code is going through a couple steps of rounding so I have to decipher them and figure out where to fix
09:35:11  <planetmaker> there's an extra pair of routines SpeedToDisplaySpeed and vice versa
09:35:18  <planetmaker> Spelling may be a bit different
09:35:21  <Rhamphoryncus> yes, looking at them
09:39:10  * Pikka returns
09:39:36  <peter1138> the only way to fix the rounding issues is to introduce non-integer speeds
09:39:43  <Pikka> it's not "km/h ish", it's mph/1.6, and it's that way because chris sawyer was lazy and wanted to be able to type "80" for 80mph :)
09:39:44  <peter1138> (or multiply them)
09:39:53  <Pikka> *mph*1.6
09:40:27  <peter1138> someone decided to change the wording to "km/h ish" :(
09:40:38  <peter1138> i think "mph/1.6" as a unit confused some people
09:41:07  <Rhamphoryncus> No, all I have to do is make sure it rounds to a value that matches what the user entered.  Which probably just means rounding up.
09:41:20  <Pikka> pedro, any thoughts on
09:42:23  <Pikka> it's a little annoying that my variable runningcosts get broken by setting a low speedlimit. :)
09:42:40  * planetmaker welcomes pikka
09:43:23  <Pikka> hello planetmaker
09:43:35  <__ln__> never let an englishman/scotsman/americanman design a system of units.
09:44:06  <Pikka> we never have, __ln__
09:44:12  <Pikka> we've always left it to the french
09:44:39  <Lachie> damn french
09:44:48  <Rhamphoryncus> UTC was left to the politicians x_x
09:49:04  <Lachie> holy crap, two extra zoom levels.
09:49:28  <Pikka> orly
09:49:48  <Lachie> was unprepared.
09:50:10  <Pikka> it's pretty good, you can actually see the graphics on a high-resolution monitor again
09:50:17  <Pikka> instead of just tiny little moving dots
09:55:24  *** tokai|mdlx [] has joined #openttd
10:01:06  <planetmaker> :-) yeah
10:01:11  *** tokai [] has quit [Ping timeout: 480 seconds]
10:01:14  <planetmaker> I find the 2x zoom easy on the eye
10:02:26  *** TinoDidriksen [] has quit [Ping timeout: 480 seconds]
10:03:04  *** TinoDidriksen [] has joined #openttd
10:06:36  *** andythenorth [] has joined #openttd
10:32:47  <andythenorth> hmm
10:32:55  <andythenorth> way too much scaffolding here:
10:33:03  <andythenorth> signal to noise ratio is low in that code
10:33:27  <Rhamphoryncus> yes, I'd say so.
10:33:33  <andythenorth> I could abstract it away to methods, but then you have to read a chain of methods....
10:33:49  <andythenorth> the only significant things are the numbers
10:34:10  <andythenorth> I could learn how to pass **kwargs etc
10:34:16  <andythenorth> meh
10:34:47  <Rhamphoryncus> You almost want ctx.PixaMixerSequence([(0, 0, 19)]) to be each line
10:35:09  <Rhamphoryncus> and even that can be simplified to f = ctx.PixaMixerSequence;  f([(0, 0, 19)])
10:35:38  <Rhamphoryncus> Don't be afraid to make a disposable local function if it helps
10:36:16  <Rhamphoryncus> def f(seq): return PixaMixer(sequence=PixaSequence(sequence=seq), transform=transform, transform_options=transform_options)
10:36:50  <andythenorth> I was going to do that
10:37:11  <andythenorth> I worry about too much abstraction
10:37:18  <andythenorth> you hit a point where abstraction ~= magic
10:37:22  <andythenorth> for the casual reader
10:39:07  <Rhamphoryncus> yeah, but in this case it's a win.  Just make sure that function is nested in the current function so it's literally a line above, rather than being buried in the global scope somewhere
10:40:16  <andythenorth> k
10:40:19  <andythenorth> thanks
10:42:04  <Eddi|zuHause> maybe you can build something with partial()
10:42:34  <Rhamphoryncus> eh, I really dislike partial.  It's awkward and confusing.
10:43:22  <Eddi|zuHause> well, it may be shorter than a lamda :)
10:43:22  <Rhamphoryncus> andythenorth: another point: you might be overdoing the keyword arguments
10:43:30  <Rhamphoryncus> I prefer lambda :/
10:43:41  <andythenorth> I know, but explicit args help me understand what I'm passing
10:45:16  <andythenorth> the biggest problem I have is that constructing a PixaMixer involves rather redundantly constructing and passing a PixaSequence too
10:45:25  <andythenorth> but I figure alberth or someone else will help clean that up later
10:45:47  * andythenorth has been sitting on this for too long and needed to write some code instead of pondering
10:56:11  *** Firartix [] has quit [Ping timeout: 480 seconds]
11:01:01  *** Bolli [~Bolli@] has joined #openttd
11:01:17  <Bolli> hello
11:02:44  *** sla_ro|master [slaco@] has quit []
11:03:45  <Bolli> i'm having a few issues with multiplayer in 1.2.0-RC1, can anybody help?
11:04:00  <planetmaker> depends. We do not know your questions or problems
11:04:04  <planetmaker> @topic get -3
11:04:04  <DorpsGek> planetmaker: Don't ask to ask, just ask
11:04:27  <Bolli> its just being very very very slow, and keeps disconnecting
11:04:36  <Bolli> several others playing the game have had the same issue
11:04:39  <planetmaker> sounds like a bad connection of the server then
11:04:42  <Bolli> but some people have been fine
11:04:59  <planetmaker> or a bad connection of the clients. Or clients with insufficient CPU
11:05:18  <Bolli> we've played games ok on older versions in the past...
11:05:38  <planetmaker> CPU load highly depends on map size, vehicle number, NewGRFs,...
11:05:48  <planetmaker> so working with one map is no indicator for working with another
11:05:55  <Bolli> ok....
11:06:23  <planetmaker> A 2k * 2k map with 2k vehicles brings most computers to loose connection to a server
11:06:42  <planetmaker> even 1k or maybe 500 vehicles might suffice for that map size
11:06:49  <Bolli> theres probably max ~600 vehicls
11:06:51  <Bolli> *vehicles
11:07:07  <planetmaker> well. Check your CPU usage. Mind that openttd only uses one core
11:07:12  <Bolli> and its 2048x2048
11:07:20  <planetmaker> if thus one core is used at 100%, then your machine is too slow
11:07:25  <Bolli> but i can't connect, it instantly jams... :/
11:07:39  <planetmaker> My computer would have problems to connect there
11:08:17  <planetmaker> thus on the coop servers we usually use maps in the range 500x500 tiles
11:08:22  <planetmaker> thus 0.25 Mega-Tiles
11:08:37  <Bolli> ok, yes it instantly jumps to 50% CPU
11:08:44  <Bolli> so one processor
11:08:45  <planetmaker> on a dual core, I assume?
11:08:48  <Bolli> yep
11:08:48  <planetmaker> yeah.
11:09:28  <planetmaker> This low amount of max vehicles is the main reason to not use that big maps on MP servers
11:09:45  <planetmaker> Or most clients won't enjoy the game past the initial stages or the mid-game stage
11:10:08  <Bolli> 456 vehicles in total
11:10:18  <Bolli> mostly trains
11:10:33  <planetmaker> You could enable "pause on join" on the server. Maybe that helps to delay the limit a bit
11:10:40  <planetmaker> if that isn't enabled already
11:10:41  <Bolli> ok
11:10:43  <Bolli> thanks
11:10:47  <Bolli> no i don't think it is...
11:11:51  <planetmaker> mind that it's a server-side setting. Thus you need to have at least rcon to the server.
11:12:13  <Bolli> yeah, i'm going to get somebody with rcon access to do it
11:21:51  <Bolli> the next question i have, is how can i query a server to see if its running? (for a web site uptime indicator)
11:24:08  <planetmaker> search for OpenTTDlib
11:24:10  *** tokai|noir [~tokai@] has joined #openttd
11:24:13  *** mode/#openttd [+v tokai|noir] by ChanServ
11:24:44  <Eddi|zuHause> hm... is there any dd-like tool that i can give a rate limit?
11:25:11  <Bolli> thank you planetmaker
11:25:43  <SpComb> Eddi|zuHause: local disk I/O?
11:25:48  <Eddi|zuHause> SpComb: yes
11:26:18  <SpComb> ionice or somesuch
11:26:45  <SpComb> assuming you want to rate-limit to not slow down everything else
11:27:01  <SpComb> implying you really just want to tweak your kernel's I/O scheduler :)
11:29:12  <Eddi|zuHause> well the actual problem is this: since my last system update, my computer locks up when copying large files (~>200MB-ish) to a slow drive (where "slow" is slower than the source drive) and "lock up" means "doesn't react to keyboard or mouse events"
11:29:28  <Eddi|zuHause> and nobody i asked has even a clue how to diagnose this
11:29:36  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
11:29:44  <SpComb> copying files (cp) or block devices (dd)?
11:29:52  <planetmaker> Have you tried `rsync --bwlimit` or `pv -L` ? as quote from
11:31:03  <planetmaker> of course you could also try to nice it more
11:32:23  <Eddi|zuHause> SpComb: both
11:32:37  <Eddi|zuHause> SpComb: and also heavy IO operations like "make -j12"
11:32:54  <SpComb> is the target/write disk some USB disk?
11:33:04  <Eddi|zuHause> (it's fine with -j5 or -j6, but it definitely was better before)
11:33:18  <Eddi|zuHause> SpComb: yes, but doesn't matter
11:33:51  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
11:35:19  *** Elukka [] has joined #openttd
11:35:32  <peter1138> i've noticed IO is blocking a lot these days
11:37:05  <Eddi|zuHause> the update was from 2.6.37 to 3.1, but further updating to 3.2 didn't help
11:38:02  *** TheMask96 [] has joined #openttd
11:39:03  <Eddi|zuHause> well, it's annoying as hell when you want to copy a file that takes half an hour, and you can't use your 6-core computer anymore...
11:40:45  <SpComb> sounds buggy
11:41:04  <SpComb> some regression in the IO scheduler when write queues/buffers fill up
11:41:25  <SpComb> maybe try switching to a different IO scheduler?
11:41:29  <SpComb> not sure how easy that really is
11:41:41  <SpComb> might be some boot-time kernel argument
11:42:03  <Eddi|zuHause> tried that
11:42:12  <Eddi|zuHause> echo noop > /sys/block/sdf/queue/scheduler
11:42:17  <SpComb> hm
11:42:40  <SpComb> a bug in the USB driver?
11:42:53  <Eddi|zuHause> happens with SATA disks as well
11:43:23  <SpComb> and even with `dd if=/dev/sdXY of=/dev/sdZX`?
11:43:31  <SpComb> i.e. direct block device read/write?
11:43:45  <Eddi|zuHause> i have no spare disk to try that
11:44:34  <SpComb> does it recover from the lockup?
11:44:43  <Eddi|zuHause> yes, when the write is done
11:45:04  <SpComb> you'd have to ask the kernel team how to diagnose it
11:45:12  <andythenorth> hmm
11:45:16  <SpComb> but by that point you'd probably find the existing bug report or somesuch :)
11:46:22  <SpComb> I just upgraded some systems to 3.0, 3.2, haven't noticed any issues myself yet
11:47:37  <SpComb> (Ubuntu 11.10, Debian wheezy/testing)
11:47:53  *** Biolunar [] has joined #openttd
11:48:40  <andythenorth> meh
11:48:58  <andythenorth> extensible systems with defined interfaces demand a lot more scaffolding :P
11:49:22  <andythenorth> 'my code varies for every case and is entirely custom' has less scaffolding :P
12:03:47  * andythenorth wonders wtf lambda is for anyway
12:04:01  <Eddi|zuHause> lambda is an "inline-def"
12:04:44  <Eddi|zuHause> "def f(x): return a*x" is the same as "f = lambda x: a*x"
12:05:13  <andythenorth> so lambda is just more compact in that case?
12:05:18  <Eddi|zuHause> yes
12:05:39  * andythenorth is trying to pass functions with args to another function
12:05:42  <Eddi|zuHause> and you can put lambdas into expressions, function calls, etc.
12:05:54  <andythenorth> lambda was suggested as one solution, partial() as another
12:06:10  <Eddi|zuHause> andythenorth: seen my for_all_vehicles() function?
12:06:37  <andythenorth> no
12:06:40  <andythenorth> which file?
12:06:44  <Eddi|zuHause> in
12:07:29  <andythenorth> foreach_vehicle ?
12:07:40  <Eddi|zuHause> yes
12:10:29  * andythenorth reads
12:10:35  <andythenorth> partial() might do what I need
12:10:45  <Eddi|zuHause> partial works like this: you have a function f(a,b) and turn it into partal(f,a)(b)
12:11:04  *** Bolli [~Bolli@] has quit [Quit: Leaving]
12:11:08  <andythenorth> (f,a)(b) ?
12:11:20  *** smoovi [] has joined #openttd
12:11:21  <Rhamphoryncus> lambda and partial have the disadvantage of not being named in tracebacks
12:11:30  <Eddi|zuHause> partial(f,a) returns a function that consumes one further argument (b)
12:12:31  <andythenorth> so my code can pass an optional transform function to the renderer
12:12:33  <Eddi|zuHause> "partial(f,a)" is short for "lambda b: f(a,b)"
12:12:50  <andythenorth> the transform can be specified when making the call to the renderer
12:12:57  <andythenorth> as can the options for the specific transform
12:13:01  <andythenorth> partial might do that
12:13:10  <Eddi|zuHause> yup
12:13:30  *** cmircea [~cmircea@] has joined #openttd
12:13:36  <Eddi|zuHause> might have to read up whether partial can work with keyword-args, but i assume it should...
12:13:42  <andythenorth> docs imply yes
12:13:44  <andythenorth> so I have 'colour_shift(shift_amount)'
12:14:01  <andythenorth> transform = partial(colourshift, 1)
12:14:32  <andythenorth> rather than
12:14:34  <andythenorth> transform = colour_shift, transform_options = {'shift_amount' : 1}
12:17:25  <Eddi|zuHause> yeah
12:20:46  <Pikka> hmm
12:21:18  <andythenorth> mmm?
12:21:30  <Pikka> the Class 71 is too good
12:21:43  <Pikka> none of its drawbacks apply to TTD. D:
12:21:59  <andythenorth> just give it a short life
12:22:02  <andythenorth> or awful reliability :P
12:22:12  <andythenorth> or make it expensive to run (maintenance cost)
12:22:12  <Pikka> well, they had very good reliability :P
12:22:29  <Pikka> and it will have a short model life (although not as short as the real thing)
12:22:34  <andythenorth> why were they withdrawn?
12:23:05  <andythenorth> also...ach.  It's a game, not Trainz :)
12:23:17  <Pikka> well, I like the set to be balanced and moderately realistic :P
12:23:43  <Pikka> it's such a useful loco that it seems almost a shame to withdraw it around 2000, especially with nothing comparable to replace it
12:24:06  <Pikka> they were surplus IRL because they were no better than EMUs for passenger work
12:24:16  <andythenorth> I am finding with trucks that I need some way to slightly cripple them
12:24:25  <andythenorth> and I haven't found a way :P
12:24:35  <Pikka> and it turned out that 3rd rail overnight freight wasn't such a good idea because they always did trackwork (which meant switching off the power) at night
12:24:48  <Ammler> is it possible to have balanced and realistic set?
12:25:04  <Pikka> more or less, ammler
12:25:05  <andythenorth> it's kind of hard to get operational details into TTD
12:25:06  <Ammler> don't those exclude themself?
12:25:15  <Pikka> anyway, I'll just leave it as is
12:25:23  <andythenorth> 'this truck has a double-strength frame and will survive hauling rocks'
12:25:27  <andythenorth> doesn't really translate
12:25:27  <Pikka> and withdraw in 2000 :)  rather later than the real thing.
12:25:31  <Pikka> lol
12:25:34  <Pikka> true
12:25:50  <Pikka> but then HEQS was always a bit out there
12:26:10  <andythenorth> this is more BANDIT ;)
12:26:45  <andythenorth> 'this truck is short and easy to get into shop loading bays'
12:26:50  <andythenorth> also doesn't really translate
12:27:29  <Pikka> well, it does insofar as "short" = "non-articulated"
12:27:38  <andythenorth> fair point
12:27:44  <andythenorth> the ruling heuristics seem to be 'fastest' or 'largest' though
12:27:54  <andythenorth> it's your deltic problem :P
12:28:02  <andythenorth> repeated ad ininiftum
12:28:04  <andythenorth> also
12:28:18  <andythenorth> Pikka Pikka, the PAX capacity of your Deltic is too low!!!
12:28:27  <andythenorth> it should have at least 9,000 PAX
12:28:54  <andythenorth> (with a parameter)
12:28:54  <Eddi|zuHause> hm... i now remounted the drive with -o sync (disable write cache), and the lockup is (temporarily) gone
12:29:49  <Eddi|zuHause> but writing is like 1/10th of the speed
12:30:49  * andythenorth suspects a pixel generator at work here:
12:38:13  <Rhamphoryncus> andythenorth: that's actually pretty nifty
12:40:09  *** APTX [] has joined #openttd
12:42:21  *** theholyduck [~holyduck@] has joined #openttd
12:43:47  <andythenorth> hmm
12:44:07  <andythenorth> partial works, but I need to add extra args when I actually call the target function
12:44:11  <andythenorth> confusing :P
12:44:53  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
12:49:18  *** hbccbh [~hbc@] has joined #openttd
12:54:53  <andythenorth> bbl
12:54:59  *** andythenorth [] has quit [Quit: andythenorth]
12:55:28  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
12:56:51  *** hbccbh [~hbc@] has joined #openttd
13:02:21  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
13:02:37  *** hbccbh [~hbc@] has joined #openttd
13:05:17  *** Firartix [] has joined #openttd
13:05:52  *** tokai|mdlx [] has joined #openttd
13:08:24  *** glx [glx@2a01:e35:2f59:c7c0:38ac:7e24:6dec:901e] has joined #openttd
13:08:27  *** mode/#openttd [+v glx] by ChanServ
13:11:32  *** tokai [] has joined #openttd
13:11:35  *** mode/#openttd [+v tokai] by ChanServ
13:11:41  *** tokai|noir [~tokai@] has quit [Ping timeout: 480 seconds]
13:13:49  *** tokai|mdlx [] has quit [Read error: Operation timed out]
13:14:19  *** Devroush [] has joined #openttd
13:14:39  <Eddi|zuHause> bah this is totally stupid... wait half an hour with no access to the computer, or wait half a day until copying finished...
13:14:57  <Eddi|zuHause> i now put the usb device on another computer and transfer the fucking thing via network...
13:15:17  <SpComb> heh :)
13:15:46  *** tokai|mdlx [] has joined #openttd
13:19:11  <Eddi|zuHause> hm... how can i persuade dd to output the stats in 1024 instead of 1000?
13:19:31  <Eddi|zuHause> 533807104 Bytes (534 MB) kopiert, 314,336 s, 1,7 MB/s <-- this is silly
13:20:55  *** tokai [] has quit [Read error: Operation timed out]
13:22:33  <CIA-1> OpenTTD: michi_cc * r23995 /trunk/src/strings.cpp: -Fix [FS#5079]: Improve rounding when converting display speeds to internal speeds.
13:27:00  *** tokai|noir [] has joined #openttd
13:27:03  *** mode/#openttd [+v tokai|noir] by ChanServ
13:27:41  <Rhamphoryncus> woot, patch accepted :D
13:30:19  *** tokai|mdlx [] has quit [Read error: Operation timed out]
13:33:31  <planetmaker> I'd say it's not your patch ;-)
13:33:38  *** Snail_ [] has joined #openttd
13:41:42  <Rhamphoryncus> no?
13:42:08  * Rhamphoryncus must go look now :/
13:43:43  <Rhamphoryncus> Wow, a hack, classy :P
13:50:28  <Rhamphoryncus> Now I get to spend even more time re-deciphering the code and checking if it actually works
13:57:53  <planetmaker> you show a remarkable respect for other people's work ;-)
13:58:11  <Rhamphoryncus> Well I basically got insulted about my work
13:58:24  <planetmaker> you did?
13:58:29  <planetmaker> where?
13:58:53  <Rhamphoryncus> I spent an hour or two fixing something that wasn't supposed to be possible.  I submitted a patch.  As a result the patch was ignored and another done in its place
13:58:58  <Rhamphoryncus> No thanks, no response at all.
14:00:38  <__ln__> Rhamphoryncus: did you expect something else then?
14:00:52  <Rhamphoryncus> __ln__: some sort of social skill?
14:01:00  *** Snail_ [] has quit [Quit: Snail_]
14:01:33  <__ln__> Rhamphoryncus: that's not part of OTTD's patch acceptance process.
14:01:59  <Rhamphoryncus> It's pretty sparse all over :(
14:03:21  <planetmaker> social skill is not an immediate requirement. Obviously also not for writing patches, though ;-)
14:03:34  <Rhamphoryncus> feh
14:03:53  <Eddi|zuHause> "how to go from excitement to 'i'll never do anything for you guys again' in 30 minutes"
14:04:08  <Rhamphoryncus> Okay, I really do have to ask.  How many people around here have aspergers?
14:04:20  <planetmaker> how should we know?
14:04:37  <planetmaker> and how does it matter at all?
14:04:55  <Rhamphoryncus> Because I've seen people joke that you do, and it would explain a lot
14:05:09  <Rhamphoryncus> Also, I've been enduring this for over a month, not 30 minutes.
14:05:20  <planetmaker> I start to pity you
14:06:02  <planetmaker> But from what I saw all people seem quite normal with the usual expected nerd tendency :-P
14:06:31  <Rhamphoryncus> Yeah, they're normal in that they fit the stereotype perfectly
14:06:59  <planetmaker> If that suits your need for stereotypes. Then please, use that
14:07:22  <Rhamphoryncus> I should point out that I have aspergers :P
14:07:39  <Rhamphoryncus> I'm not trying to stereotype.  I'm just trying to understand what's going on around here.
14:07:44  <planetmaker> Honestly: I don't care
14:07:57  <Rhamphoryncus> Yeah, there is that.
14:08:10  <michi_cc> Rhamphoryncus: Would you have been happier if I had told you "Thanks for the patch, but it's not acceptable" first?
14:08:18  <Rhamphoryncus> Yes, actually
14:08:28  <Rhamphoryncus> You could have followed that with an explanation of why
14:08:30  <planetmaker> But one requirement generally needed is: accepting other solutions and the fact that often many are a valid solution and even also often those might be better in hindsight
14:08:58  <planetmaker> Rhamphoryncus, and you didn't even ask. But immediately started to bitch
14:09:13  <planetmaker> And that's... something which is unlikely to give you usually a useful explanation at all
14:09:22  <Belugas> hello
14:09:40  <Rhamphoryncus> I'm perfectly capable of accepting other valid solutions.  I'll accept that one once I've verified it's correct.
14:10:04  <planetmaker> you also gotta live with the fact that patches are submitted without your verification done
14:10:13  <Rhamphoryncus> Of course
14:11:22  *** cypher [] has joined #openttd
14:11:35  <michi_cc> After-the-fact explanation: The whole point of To/FromDisplay is to have a single place where unit conversion is performed, so duplicating that code (again) instead of just fixing the functions is not acceptable.
14:11:59  <Rhamphoryncus> Single place, yes.  However, your caller is doing a *16/10 conversion too
14:13:39  <Rhamphoryncus> planetmaker: I didn't bitch until after I realized I'd been suckered.
14:14:11  <planetmaker> no, you haven't. you take something personal which absolutely has nothing to do with you
14:14:37  <planetmaker> the aim is always good quality code. And the better is the enemy of the good
14:14:46  <planetmaker> Personal animosity has little place there
14:16:53  <Rhamphoryncus> Yeah, I made the mistake of bitching where you all could see.
14:17:50  *** theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
14:20:08  *** theholyduck [~holyduck@] has joined #openttd
14:22:58  *** lofejndif [] has joined #openttd
14:23:56  *** lofejndif [] has quit [Max SendQ exceeded]
14:24:40  *** lofejndif [] has joined #openttd
14:29:46  *** kkb110_ [] has joined #openttd
14:32:06  *** TGYoshi [~TGYoshi@] has joined #openttd
14:37:37  *** a2A209_ [] has joined #openttd
14:38:21  *** lofejndif [] has quit [Quit: Leaving]
14:48:54  <Pikka> goodnight wallyweb
14:48:55  *** Pikka [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0.2/20120215223356]]
14:59:02  *** kkb110__ [] has joined #openttd
14:59:02  *** kkb110_ [] has quit [Read error: Connection reset by peer]
15:01:27  *** smoovi [] has quit [Remote host closed the connection]
15:03:01  *** smoovi [] has joined #openttd
15:03:48  *** a2A209_ [] has quit [Quit: ajax IRC Client]
15:15:50  *** kkb110__ [] has quit [Ping timeout: 480 seconds]
15:17:42  *** Doorslammer [] has joined #openttd
15:18:56  *** enr1x [] has joined #openttd
15:18:57  <Rhamphoryncus> michi_cc: I misread your code.  It's not a hack.  Sorry.
15:27:24  *** andythenorth [] has joined #openttd
15:29:45  *** Belugas [~belugas@] has quit [Ping timeout: 480 seconds]
15:29:52  *** Belugas [~belugas@] has joined #openttd
15:29:55  *** mode/#openttd [+o Belugas] by ChanServ
15:46:25  *** cypher [] has quit [Ping timeout: 480 seconds]
15:48:24  *** kkb110__ [] has joined #openttd
15:51:06  *** TWerkhoven[l] [] has joined #openttd
15:51:31  *** frosch123 [] has joined #openttd
15:52:17  *** cypher [] has joined #openttd
15:59:25  <peter1138> herpderp
15:59:38  <Rhamphoryncus> merpaderp?
15:59:43  <peter1138> don't be silly
15:59:55  <peter1138> who's ever heard of such a thing
16:08:32  *** TWerkhoven[l] [] has quit [Quit: He who can look into the future, has a brighter future to look into]
16:13:15  *** andythenorth [] has quit [Quit: andythenorth]
16:13:19  *** tokai|mdlx [] has joined #openttd
16:18:04  *** Doorslammer [] has quit [Quit: ajax IRC Client]
16:18:37  <Nat_aS> xiong you still there?
16:19:01  *** tokai [] has joined #openttd
16:19:04  *** mode/#openttd [+v tokai] by ChanServ
16:19:05  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
16:21:28  *** Avenger [~rafinha21@] has joined #openttd
16:21:32  *** Avenger [~rafinha21@] has left #openttd []
16:22:35  *** Avenger [~rafinha21@] has joined #openttd
16:23:07  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
16:23:13  *** andythenorth [] has joined #openttd
16:24:44  *** tokai|mdlx [] has joined #openttd
16:28:38  <xiong> Nat_aS, hi.
16:30:35  *** tokai [] has quit [Ping timeout: 480 seconds]
16:30:39  *** Avenger [~rafinha21@] has quit [Ping timeout: 480 seconds]
16:40:02  <Nat_aS> oh hi
16:40:09  <Nat_aS> I was gonna say I tried pre-depoting
16:40:12  <Nat_aS> it's strange
16:40:15  <xiong> What can I do for you, Sir?
16:40:36  <xiong> What happened?
16:40:42  <Nat_aS> it allows me to overclock my networks, but I don't see much benifit because trains waiting are trains useless
16:41:03  <Rhamphoryncus> Yeah, overflows are like that
16:41:08  <xiong> The point of depoting before stations is not to cram more trains through the network. It's to avoid breakdowns.
16:41:19  <Nat_aS> the only time I'd think it would be usefull is if I had a small network with no room, but had to carry more types of cargo than could be normaly allowed.
16:41:26  *** macee [] has joined #openttd
16:41:44  <Nat_aS> there will always be one extra train in the depot
16:41:50  <xiong> You can also avoid breakdowns with depots after stations and mainline depots. There's a specific advantage to depoting *before* a station, though.
16:41:54  <Nat_aS> won't maintain as normal do that though?
16:42:03  <Nat_aS> how?
16:42:19  <Nat_aS> I thought it was just to prevent overflows because it won't leave the depot untill a platform was clear
16:42:39  *** macee [] has left #openttd []
16:42:41  *** macee [] has joined #openttd
16:43:03  <Rhamphoryncus> Nat_aS: in theory.  In practice they usually have the opposite effect.
16:43:32  <xiong> If a train is not ordered to depot then it will seek a depot when its maint interval comes up. If the nearest depot is *after* the next station, the train will blow through the statinon without stopping and depot... then look to make the station, which is already past. Unless it can recirculate, this can be messy. Worst case, it goes all the way back to the origin before returning.
16:43:40  <Rhamphoryncus> Depots limit train speed, which limits throughput, and their position at the side means their path can cut across the entire station, preventing anything else from entering/exiting
16:44:00  <Nat_aS> that's why I use maintain if needer orders instead of the interval
16:44:11  <Nat_aS> and place the order between every station
16:44:20  <Nat_aS> so the depot after the station on the way to the next one.
16:44:26  <Rhamphoryncus> Nat_aS: maintain if needed still uses the interval.  It just regulates when the interval is checked.
16:44:38  <xiong> Rhamphoryncus is correct. I find this much less of an issue, playing with 1850-era trains; since they're slow anyway. The depot speed limit isn't much less than the train's top speed.
16:44:48  <andythenorth> so this is a bit better than the clunky paste from earlier today:
16:44:53  <andythenorth> but still clunky
16:45:18  <xiong> Nat_aS, if you explicitly order your trains to depot then you will not see the blow-by issue come up.
16:45:28  <Rhamphoryncus> andythenorth: I'm too tired to read it now :/
16:45:38  <Nat_aS> well the way I have it, i have never seen that happen
16:45:53  <xiong> In fact, if you order depoting, anywhere in schedule, then the vehicle will never depot by itself.
16:46:14  <Rhamphoryncus> My refinement on depots before the station is to have a waypoint immediately before the depot.  That way they decide if they need to service just before the station, rather than when leaving the previous station.
16:46:34  <xiong> If you order your trains around from station to station only then you will see blow-by.
16:46:50  <Nat_aS> no, I put depots on both sides of the station
16:47:00  <Nat_aS> so the start to exit the station, then check to see if they need to depot
16:47:04  <Nat_aS> and if they do, it's right there
16:47:13  <Nat_aS> and on the other side too if they are going the other way
16:47:26  <Nat_aS> usualy 4 depots per station so they can go left or right if the way is blocked
16:47:31  <xiong> Right. If you put depots on either side then you are covered.
16:47:45  <Nat_aS> sometimes Even 6 depots in my omega type stations
16:47:58  <Nat_aS> I'm not totaly sure omega stations are a good idea though.
16:48:07  <xiong> Link?
16:48:30  <Nat_aS>
16:49:10  <xiong> I've done something like that with even more depots.
16:49:30  <xiong> Shall I post my most successful station?
16:49:43  <Nat_aS> oh this is just an example, my actual omega type stations are bigger
16:49:44  <xiong> It's a dead-ender, not a through.
16:49:48  <Nat_aS> but this shows how it scales up
16:49:56  <Nat_aS> I have never had to build a bidirectonal omega
16:50:30  <Nat_aS> but if I did I supose I'd call it a Psi maybe?
16:50:36  <xiong> Shall I post? I really should, I suppose, do a real wiki post on it but... not today. I'll show you, though.
16:50:42  <Rhamphoryncus> Nat_aS: "ultimate" is a tad presumptuous ;)
16:50:47  <Nat_aS> I might revise my naming scheme.
16:50:53  <Nat_aS> it's the ultimate using my technique.
16:51:18  <Rhamphoryncus> ahh.  Literal ultimate.  Odd to see it used. ;)
16:52:32  <Nat_aS> if I became comfotable with a new station type I would probably pick a new naming scheme
16:52:43  <Nat_aS> but I think i'd have to learn to use more complex signals for that
16:52:53  <Nat_aS> sure post yours
16:52:55  *** Twofish [] has quit [Quit: Leaving]
16:54:52  *** kkb110 [] has joined #openttd
16:54:52  <V453000> what are the depots good for? refit?
16:55:03  <Nat_aS> maintenance
16:55:12  <Nat_aS> keep your trains from breaking down
16:55:12  *** kkb110__ [] has quit [Read error: Connection reset by peer]
16:55:24  <Nat_aS> also turning around
16:55:29  <V453000> turn breakdowns off :) they just make the game too stupidly easy anyway
16:55:52  <Nat_aS> well they are still good for turning road viechiles around.
16:56:03  <V453000> trains ca
16:56:09  <V453000> trains can turn around in the station?
16:56:21  <Nat_aS> only if you set it
16:56:28  <Rhamphoryncus> Nat_aS: you can just make a T with no road attached.  Road vehicles will turn around
16:56:33  <Nat_aS> my station designs alow them to reverse naturally though.
16:57:10  <Nat_aS> Rhamphoryncus if you want to reduce your footprint and are working on city roads, depots are the best way to turn them around without them going halfway across town looking for a loop or dead end.
16:57:39  <V453000> road vehicles perhasp
16:57:41  <Rhamphoryncus> ... make a T.  In a single tile.  It's a dead end with 0 size.
16:57:44  <V453000> perhaps
16:57:56  <V453000> yes but they have to see it as the only path
16:58:09  <V453000> and well, takes ages for trains to "reverse" through a depot
16:58:20  <Rhamphoryncus> I'm talking about road vehicles, yes
16:58:52  <Nat_aS> yeah, why my stations allow natural reversing.
16:59:29  <Nat_aS> i didn't even plan for that, but I got so happy when I saw them making full 180 turns normaly without having to do the 90 angle thing.
17:00:13  *** tokai|noir [] has joined #openttd
17:00:17  *** mode/#openttd [+v tokai|noir] by ChanServ
17:00:26  <V453000> silly
17:00:45  <V453000> also they should prefer to turn around in the station instead of going to the depot first
17:01:53  <V453000> like going back through any empty platform there is
17:02:16  <V453000> and perhaps even wait for it if the penalty for a depot is higher
17:02:20  <V453000> I mean a lot higher :)
17:02:29  <Nat_aS> oh they do turn throguh emptey platforms
17:02:51  <Nat_aS> in fact I like to leave emptey track in the center of the station for through traffic and turnarounds
17:04:13  <V453000> I think a normal terminus station would have been much smaller and much less messy
17:04:30  <xiong> Nat_aS,
17:06:40  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
17:06:52  <Nat_aS> insufficient platforms :P
17:07:05  <Nat_aS> You use the depots as holding bays?
17:07:07  <Nat_aS> anyways I gotta go
17:08:01  <xiong> Well, 4 platforms is usually enough for me, given long trains. The design can be extended to any length, of course.
17:08:53  <xiong> The depots are there, as I said, to force depoting before entering station; and also to make the reverse. I'm unconcerned with the time it takes to depot; I say that needs to happen anyway.
17:09:44  <V453000> not necessarily
17:09:55  <V453000> you can force trains to depot only when really needed
17:10:06  <V453000> like: if there is enough platforms empty, trains do not have to depot
17:10:08  <xiong> I do worry that one train may be delayed, waiting for another to enter/exit depot. You'll find that Athens pretty much avoids this due to choice of depots. I've often seen 3 trains at once going in and out of depot.
17:10:37  <xiong> V453000, we're all different. I like lots of depoting; breakdowns annoy me.
17:11:07  <xiong> For me, high speed is just not an issue. Backups and jams are.
17:11:53  <V453000> breakdowns should be imo turned off :)
17:11:58  <xiong> No station design will satisfy all needs. This has worked well enough for me for a long time; but I'm still experimenting.
17:12:01  <V453000> you cant ever prevent them from breaking down anyway
17:12:18  <xiong> Ha ha, no breakdowns. That would make it too easy.
17:12:50  <V453000> vice versa actually
17:12:50  <xiong> No, you can't. I'm frequently annoyed by the sight of a train breaking down on its way out of depot.
17:12:55  <V453000> which is shown on your station
17:13:07  <xiong> ?
17:13:15  <V453000> you do not need a better design because you have breakdowns. if you didnt have breakdowns, you would need a better station
17:13:21  <V453000> which part makes the game harder?
17:13:31  <xiong> Ha ha!
17:13:55  <xiong> See, it's all a matter of viewpoint. I think it's a great station... for my needs.
17:14:23  <V453000> or more generally. Breakdowns make sure that no line can have 100% throughput. Therefore everything that is absolutely anywhere on the network does not have to be "ideal"
17:14:37  <V453000> viewpoint, sure, but breakdowns really do not make the game harder :)
17:14:45  <xiong> If you have no breakdowns then I don't see there's any design worries at all. Just put down plenty of platforms with some interlocking; done.
17:14:49  <Rhamphoryncus> Slower, not harder?
17:15:02  <Rhamphoryncus> xiong: you have not build a network with a thousand trains, have you?
17:15:12  <xiong> I mean, without breakdowns, how can you fail?
17:15:16  <Eddi|zuHause> breakdowns make the game more annoying
17:15:18  <Eddi|zuHause> not harder
17:15:37  <xiong> Ho ho. A thousand would be unmanageable, at least on the size maps I play.
17:15:39  <Rhamphoryncus> Breakdowns just slow you down.  They don't make you fail.
17:15:40  <V453000> xiong: the station can simply jam :)
17:15:44  <Eddi|zuHause> it would make it "harder" only if there were game mechanics to prevent them
17:15:55  <V453000> Eddi|zuHause: exactly
17:15:56  <Rhamphoryncus> Eddi: exactly
17:16:07  <Eddi|zuHause> or deal with them like passing tracks, etc.
17:16:12  <xiong> How can a station jam if no breakdowns? Just add more platforms.
17:16:25  <Eddi|zuHause> but those don't exist
17:16:27  <Rhamphoryncus> xiong: what's your map size?
17:16:33  <xiong> Very quickly, you won't be able to feed trains in any faster than the station can accept them.
17:16:47  <xiong> 256 square.
17:16:49  <Rhamphoryncus> xiong: we build better stations and handle the load.
17:16:57  <V453000> yes sure, you usually can expand any station somehow. But then you start thinking if there isnt any better way to do it
17:17:20  <Eddi|zuHause> assuming you take only the "best" engine, all your vehicles break down on average the same amount in a year. no variation possible whatsoever
17:17:21  <Rhamphoryncus> A thousand is doable I suspect.  V, voice of experience?
17:17:26  <xiong> "Better" is one of those hinge words. Not everyone will agree.
17:17:28  <Rhamphoryncus> doable on 256x256
17:17:35  <V453000> 256*256? we had 1800 TL2 trains
17:17:55  <xiong> Doable perhaps, dunno. Manageable is another thing.
17:18:10  <Rhamphoryncus> They manage.
17:18:11  <V453000> 1000 on that map size is a lot though
17:18:12  <V453000> still.
17:18:20  <xiong> I spend a lot of time between 1850-80.
17:18:49  <andythenorth> is passing **args or **keywords wise?
17:18:50  <xiong> I think that long before you hit a thousand trains, you will have all industries linked.
17:18:54  <andythenorth> it always seems like mystery meat to me
17:19:06  <Eddi|zuHause> andythenorth: depends on the situation, really
17:19:11  <Rhamphoryncus> I fully intend to try a game with grasshoppers, but that may be nostalgia.. and insanity.
17:19:16  <xiong> When I have all industries and towns linked, I consider it a win, done.
17:19:27  <Rhamphoryncus> xiong: industries do increase in volume..
17:19:52  <Rhamphoryncus> andythenorth: what Eddi said ;)
17:19:54  <andythenorth> the current situation I am likely to end up creating a stubby class before the call, then passing the class
17:19:56  <xiong> Well, I wouldn't require that all cargo be transported. I don't think that's ever feasible.
17:20:05  <andythenorth> which seems like **keywords might apply
17:20:16  <Eddi|zuHause> andythenorth: on the calling side, i only use it in the foreach_vehicle function because it's very generic. on the callee-side i use it to say "i don't care about the other args"
17:20:17  <Rhamphoryncus> andythenorth: sounds like
17:20:17  <xiong> ... not within my constraints.
17:20:37  <V453000> xiong: connecting everything without transporting any cargo isnt quite a win for me :D
17:20:44  <Rhamphoryncus> certainly not with breakdowns getting in the way :D
17:20:59  <Rhamphoryncus> V453000: gotta crank it up to 9000 ;)
17:21:04  <xiong> V453000, that's hardly fair. There's a big gap between none and all.
17:21:22  *** tokai|mdlx [] has joined #openttd
17:22:54  <V453000> 9000 of? :d
17:23:10  <andythenorth> so I have a transform function that's called near the end of my call chain; it can be a custom function specified further up the chain.
17:23:24  <V453000> xiong: but the logic is similar :) When your network is transporiting 50% of all mines, it technically connects only 50% of them
17:23:28  <andythenorth> the author might have valid reasons for the transform to access vars from anywhere in the call chain
17:23:34  <Rhamphoryncus> V453000: production?
17:23:39  <andythenorth> including passed from first call
17:23:50  <V453000> Rhamphoryncus: perhaps secondaries, not mines :)
17:23:52  <andythenorth> which makes me think of **args or **keywords
17:24:00  <xiong> You're just not going to let me enjoy playing, eh?
17:24:01  <Rhamphoryncus> V453000: well not a single mine, no.
17:24:13  <Rhamphoryncus> That'd take at least 3 ;)
17:24:26  * Rhamphoryncus looks to see if V twitches
17:24:48  <Eddi|zuHause> andythenorth: **kwargs is an easy way of passing arbitrary parameters through some intermediate glue code
17:25:26  <Eddi|zuHause> anyway, gtg
17:25:41  <andythenorth> k thanks
17:25:51  <andythenorth> or I construct my own obj and pass it along
17:26:04  <andythenorth> which is kind of elegant, but same effect as **kwargs I suspect
17:27:08  <Rhamphoryncus> yeah.  Sometimes an explicit dict is better though.
17:27:10  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
17:27:59  <Rhamphoryncus> If you're using **kwargs for the caller and **kwargs for the callee and there isn't an external API to follow.. it's a hint that you want a dictionary, not arguments
17:32:33  <andythenorth> hmm
17:32:38  <andythenorth> I canned my dict earlier :(
17:32:41  <andythenorth> ho hum
17:32:51  <andythenorth> I thought passing a dict wasn't leet enough :P
17:32:56  *** HerzogDeXtEr1 [~Flex@] has joined #openttd
17:32:58  <andythenorth> seems like an andythenorth type solution :)
17:35:15  <andythenorth> nearly all my code is dicts
17:35:35  <andythenorth> whenever I see real code, it seems to rely a lot on knowing the position of entries in lists
17:35:42  <andythenorth> which I can never remember :P
17:37:04  *** Enoria [] has joined #openttd
17:39:52  *** HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
17:41:51  *** sla_ro|master [slaco@] has joined #openttd
17:42:34  *** valhallasw [~valhallas@] has joined #openttd
17:48:11  *** _maddy [] has joined #openttd
17:48:19  <_maddy> hi folks
17:48:36  * andythenorth might be doing this all wrong
17:48:39  <andythenorth> nvm
17:48:55  <_maddy> I have one question regarding industry production changes
17:49:17  <andythenorth> ... :)
17:49:38  <_maddy> my experience is that industries always increase production more if I have cargo lying around at station, but less if I transport everything and always have a train waiting/loading
17:50:38  <andythenorth> the code would know the answer
17:50:58  <andythenorth> let's see
17:51:16  <_maddy> I have read the paragraph at
17:52:42  *** Alberth [] has joined #openttd
17:52:45  *** mode/#openttd [+o Alberth] by ChanServ
17:52:59  <Alberth> moin
17:53:32  <_maddy> hi alberth, do you know how industry production changes are affected by how well the station is served? leaving goods in station vs always having a train loading
17:54:44  <andythenorth> l2543 in industry_cmd.cpp
17:54:53  <andythenorth> 				/* If more than 60% transported, 66% chance of increase, else 33% chance of increase */
17:55:15  <andythenorth> applies to non-smooth economy
17:55:25  <andythenorth> hmm
17:55:34  <andythenorth> this code is multi-faceted
17:55:44  * andythenorth can't be bothered to read all the logic - sorry
17:56:40  <_maddy> I'm looking at the code too
17:57:34  <andythenorth> _maddy: industry_cmd.cpp has been proven to contain bugs in the past
17:57:51  <andythenorth> logical fallacy kind of things rather than code errors
17:57:51  <Alberth>  is what I usually recommend
17:58:00  <planetmaker> that can be said of every file, andythenorth
17:58:25  <_maddy> I've read the wiki, and it doesn't clearly state it but has this sentence:
17:58:28  <andythenorth> industry_cmd is just a bit prone to it, because of multiple economy settings, industry types etc
17:58:32  <_maddy> For more responsiveness from industries, adapt the number of wagons to industry production (for the lowest production, you should use two wagons).
17:58:49  <andythenorth> meh
17:58:58  <andythenorth> that takes no account of industry newgrfs or vehicle newgrfs :P
17:59:21  <_maddy> I don't even understand what that means, "more responsiveness"
17:59:22  *** FLHerne [] has joined #openttd
18:00:06  <Alberth> _maddy: the game mechanics page seems to have item lists with percentages
18:00:14  <xiong> _maddy, Um, I consider that sentence to be a bit of a weasel.
18:00:48  <Alberth> _maddy:  near "Smooth Economy Rules"
18:00:59  <_maddy> Alberth: yes, I am reading it
18:01:24  <xiong> If you have a (standard) industry producing a small amount of cargo then the way to increase production is with frequent service. If you use "full load" then you want to fill your trains quickly and get out; so you want very short trains.
18:02:14  <andythenorth> I'm not even sure it's true
18:02:16  <xiong> If you just load what you can and go then it doesn't matter how long your trains are. But of course, long trains will leave mostly empty.
18:02:40  <xiong> andythenorth, Well, I always play FIRS so I can't say certainly.
18:02:48  <_maddy> xiong: so it's better to have more short trains than few long trains (assuming both have full load order)
18:03:16  <xiong> _maddy, as I say, I'm not 100% certain. I don't play standard industry.
18:03:25  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
18:03:46  <xiong> I can say certainly that for other reasons it's very bad to have many short trains.
18:04:26  <xiong> My rule of thumb -- very rough -- is that no route should be covered by more than 4 trains. If you need to haul more cargo, make the trains longer.
18:04:47  <andythenorth> my guess is that more trains = shorter cycle time to have a train loading
18:04:50  <andythenorth> nothing more than that
18:04:51  <xiong> But that has a lot to do with my playing style, my starting date, and a zillion other factors.
18:04:58  <Rhamphoryncus> _maddy: the station rating section is pretty explicit.  There might be further rules beyond the rating though, if that sentence about two wagon trains means anything.
18:05:14  <xiong> I don't think it's a great statement.
18:05:16  <andythenorth> I cba to read all the code though
18:05:32  <xiong> You might as well say a one-car train would be even better.
18:05:35  <andythenorth> Alberth: I pulled my finger out and wrote some Pixa classes
18:05:36  <Alberth> andy: there is too much of it anyway :)
18:05:51  <andythenorth> what I've done is clunky, almost deliberately so
18:05:56  <andythenorth> works though
18:05:59  <Alberth> that must have hurt badly, didn't it?
18:06:09  <andythenorth> more than you can know :P
18:06:10  <xiong> If you set your trains to full load, this is more stimulating than any amount of frequent stops.
18:06:21  <andythenorth> code is committed in the BANDIT repo currently
18:06:29  <andythenorth> it would bear quite some code review
18:06:40  <andythenorth> at least there is something to review now :P
18:06:43  <Alberth> oke :)
18:07:09  <andythenorth> but I have to bath childrens right now ;)
18:07:21  *** kkb110__ [] has joined #openttd
18:07:26  <Alberth> I was not finsihed reading forum as well :)
18:07:32  <xiong> _maddy, for that matter, even if you set your trains to full load and they are far too long for the amount of cargo available, then you'll still get a high cargo rating, so long as you have enough trains so that at least one is waiting at all times.
18:07:53  <_maddy> I would guess, now that I think about it, read the code as well as look at savegame, that I am just imagining things, and it does not affect the production increase if you have trains waiting or not
18:07:57  <xiong> In fact, I disagree pretty much all around with the two-car-stimulating statement.
18:07:58  <Rhamphoryncus> _maddy: oh, I bet the two wagons things refers to NOT having full load.. which is a very old school approach ;)
18:08:21  *** TheMask96 [] has joined #openttd
18:08:34  <_maddy> Rhamphoryncus: yeah, that would make more sense
18:08:52  <andythenorth> it's voodoo
18:08:58  <andythenorth> the code has nothing about n-wagons :P
18:09:11  <Rhamphoryncus> Your rating is affected by how recently your train was there, which for a full load is 0 time
18:09:11  <xiong> The trouble with all game play documentation is that it's so highly dependent on playing style and specific combinations of NewGRFs, not to mention versions of the game itself.
18:09:29  *** kkb110 [] has quit [Read error: Connection reset by peer]
18:09:37  *** lmergen [] has joined #openttd
18:09:45  <xiong> _maddy, I think you should Be Bold and delete that statement from wiki.
18:09:49  <andythenorth> Alberth: I'll leave you with a couple of comments....
18:10:03  <andythenorth> 1) I'm passing transforms around as though they are some kind of plugin
18:10:16  <_maddy> xiong: I'm a pretty bold person but not quite that bold :)
18:10:49  <andythenorth> 2) PixaMixer and PixaSequence are conflated.  This leads to madness like "sequence = PixaSequence(sequence = my_sequence)"
18:11:00  <andythenorth> and self.sequence.sequence
18:11:35  <_maddy> I need to look at what this FIRS is btw, I have tried ECS but I don't like few things about it
18:12:10  <Rhamphoryncus> FIRS is good ;)
18:12:45  * Rhamphoryncus tries to think of something rude but funny to say about the dev.. but fails.
18:13:12  <andythenorth> FIRS is annoying
18:13:20  <Rhamphoryncus> heh
18:15:24  * andythenorth considers extra angles for BANDIT, in the style of CETS
18:17:08  *** Chris_Booth [] has joined #openttd
18:19:33  * andythenorth hmms
18:19:42  <andythenorth> there is a very logical change I should make in my code
18:19:45  <_maddy> FIRS looks pretty interesting
18:19:52  <andythenorth> it would be much more elegant, but also much harder to use :(
18:20:07  *** Cybertinus [] has quit [Remote host closed the connection]
18:20:18  *** Cybertinus [] has joined #openttd
18:25:45  <_maddy> andythenorth: noticed you're the developer of FIRS, what's annoying about it?
18:26:01  <andythenorth> lots of work left to do
18:27:07  <_maddy> right
18:28:06  * andythenorth biab
18:28:07  *** andythenorth [] has quit [Quit: andythenorth]
18:29:30  *** theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
18:45:36  <CIA-1> OpenTTD: translators * r23996 /trunk/src/lang/ (14 files in 2 dirs): (log message trimmed)
18:45:36  <CIA-1> OpenTTD: -Update from WebTranslator v3.0:
18:45:36  <CIA-1> OpenTTD: afrikaans - 82 changes by Maccie123
18:45:36  <CIA-1> OpenTTD: basque - 12 changes by HerrBasque
18:45:36  <CIA-1> OpenTTD: belarusian - 2 changes by KorneySan
18:45:37  <CIA-1> OpenTTD: simplified_chinese - 47 changes by Gavin
18:45:37  <CIA-1> OpenTTD: dutch - 4 changes by habell
18:48:35  <CIA-1> OpenTTD: rubidium * r23997 /trunk/src/lang/korean.txt: -Fix: WT3 validation errors
18:49:24  *** Firartix [] has quit [Ping timeout: 480 seconds]
18:50:42  *** Lakie [] has joined #openttd
18:58:56  *** kkb110__ [] has quit [Read error: Connection reset by peer]
18:59:43  *** Firartix [] has joined #openttd
19:13:09  *** andythenorth [] has joined #openttd
19:13:26  <_maddy> any newgrf that gives road vehicles before the default year of 1935?
19:13:51  <Rhamphoryncus> yup.  Don't remember what though :D
19:14:00  <Rhamphoryncus> Might be egrvts
19:14:45  <_maddy> I'll try that
19:14:48  <andythenorth> ho
19:15:12  <andythenorth> so if you were writing OO code, would you make bath() a method on Baby object
19:15:28  <andythenorth> or would you create a Bath object, and make do() a method on it, passing Baby
19:15:28  <andythenorth> ?
19:15:40  <Rhamphoryncus> Hard to say.  It could go either way
19:15:43  <andythenorth> it's the kind of question I ask when hiring
19:15:46  <Rhamphoryncus> I would call it bathe() though
19:16:01  <andythenorth> there is no correct answer when hiring, but several that are better or worse
19:16:12  <Rhamphoryncus> :)
19:16:19  <_maddy> well, from those options, the second one
19:16:27  <Alberth> the former only if the baby knows how to bath him/her self
19:16:31  <andythenorth> people who go for Baby.bath() tend to be bad at collaborating
19:16:34  <andythenorth> and bad in large systems
19:16:48  <andythenorth> people who create Bath.bathe() are prone to over-engineering
19:17:03  <Rhamphoryncus> It depends on where the functionality fits
19:17:11  <andythenorth> the best answer is a question
19:17:23  <andythenorth> something like 'do we know if we need to bath other objects?'
19:17:32  <Alberth> let's make an Andy class, and add a bathe_baby() method :)
19:17:56  <Rhamphoryncus> The python language itself has chosen in some cases to have a bathe() builtin that calls baby.__bathe__().  A little bit of generic functionality in the former, and more specialized functionality in the latter.
19:18:04  <andythenorth> alberth would you make it inheritable from Person though?
19:18:12  <andythenorth> and could I delegate the method to Wife
19:18:27  <Rhamphoryncus> I wouldn't.  I'd make a Person interface that you support.
19:18:59  <andythenorth> some people support that better than others :P
19:19:06  <Rhamphoryncus> But if the language doesn't support explicit interfaces then I might use a Person abc as a stopgap
19:19:07  <andythenorth> in some cases a duck supports it better :P
19:19:20  <andythenorth> anyway, you're all hired :P
19:19:27  <Alberth> phew :)
19:19:43  <Rhamphoryncus> Or in python's case a bit of documentation and just conform to the interface
19:19:44  <andythenorth> some people just freak out tbh
19:19:46  <_maddy> that's nice, what is your company?
19:19:51  <Rhamphoryncus> Yay!  My first successful interview!
19:20:15  <andythenorth> how would you represent a flock of sheep in semantically valid html or xhtml?
19:20:26  <Rhamphoryncus> .. wtf?
19:20:59  <Rhamphoryncus> Need to refine that question.  Is this a chart of sheep?  A table of sheep?
19:21:08  * Alberth does not see a connection either
19:21:17  <andythenorth> Rhamphoryncus: that was the correct answer
19:21:24  <Rhamphoryncus> both parts?  :D
19:21:25  <andythenorth> the correct answer is a question
19:22:02  <Rhamphoryncus> "That makes no sense, what the hell are you on?  Okay, what are some plausible interpretations.."
19:22:08  <andythenorth> people who don't ask questions are terrifying to employ
19:22:25  <Rhamphoryncus> yeah
19:22:30  <andythenorth> if sheep have no further attributes: <ul>
19:22:40  <andythenorth> if they have attributes, <ol> or <table>
19:22:51  <andythenorth> maybe <dl> but you'd have to try really hard to convince me on that
19:23:18  <Rhamphoryncus> yeah, that's almost HTML 101.. which means 95% of webdevelopers won't get it.
19:23:36  <andythenorth> lots don't
19:23:50  <Alberth> I get it, and I am not even a webdeveloper :)
19:24:02  <andythenorth> if you tell me that I can extend arbitrary tags validly, I'll be impressed, but probably wouldn't hire you (smug)
19:24:05  <Alberth> perhaps I read too many RFCs :)
19:24:20  <andythenorth> now you're hired, would you review my code? :D
19:24:22  <Rhamphoryncus> Under XML I suppose
19:24:54  <Rhamphoryncus> I don't recall the specific requirements for validation though.  I've blocked out the part of my brain that deals with XML/XHTML.
19:25:12  <andythenorth> I think it's probably valid to extend the namespace
19:25:14  <andythenorth> maybe
19:25:21  <andythenorth> no idea what browsers do with it though
19:25:31  <andythenorth> microformats and such don't seem to trip them up
19:25:57  <Rhamphoryncus> With HTML (not XHTML) almost nothing you do is valid, and if you do make it valid you're doing it wrong in some significant usability aspect
19:25:58  <Alberth> andythenorth: sure, I found misc/pixel_generator/ and misc/pixel_generator/gestalts/ (or some other file there), is that the ones you mean?
19:26:18  <andythenorth> Alberth: the only valid gestalt right now is
19:26:23  <andythenorth> otherwise yes
19:26:27  <Alberth> browsers eat just about anything
19:26:46  <andythenorth> validators don't though
19:27:02  <andythenorth> but anyway...
19:28:44  <andythenorth> ho
19:28:48  * andythenorth ponders generating sailing ships
19:30:18  <_maddy> wow this egrvts has horse carriages, that's pretty cool
19:30:45  *** Wolf01 [] has joined #openttd
19:30:47  <Alberth> you seem to have switched ideas a few times :)
19:30:49  <Wolf01> hai
19:30:49  <Alberth> hi Wolf01
19:31:39  <andythenorth> Alberth: I am having real trouble finding 'one and only way'
19:31:47  *** JVassie [~James@] has joined #openttd
19:32:07  <andythenorth> I know enough to have a sane discussion about it now though
19:32:24  <andythenorth> I don't care how complex the classes are, but the interface for set developers needs to be easy
19:32:58  *** lmergen [] has quit [Ping timeout: 480 seconds]
19:34:30  *** KritiK [] has joined #openttd
19:34:32  <Alberth> I am not sure where to begin
19:35:24  <andythenorth> I can tell you my questions if that helps
19:35:40  <andythenorth> I think there is one key change I want to make, and some minor ones
19:36:08  <andythenorth> currently I rely on passing a transform down the call chain (with args) to the renderer
19:36:17  <andythenorth> this is potentially powerful, but smells wrong
19:36:36  <andythenorth> why don't I just call the transform on the sequence, then pass that to the renderer?
19:36:47  <Alberth> yeah, it looks a bit ad-hoc
19:37:05  <andythenorth> it is
19:37:15  <andythenorth> so a line like              49 : PixaMixer(sequence = PixaSequence(sequence = [(0, 0, 19)]), transform = transform),
19:37:20  <andythenorth> should be
19:37:35  <andythenorth>              49 : PixaMixer(sequence = some_transform(PixaSequence(sequence = [(0, 0, 19)]), args)),
19:37:50  <andythenorth> that one is the odd case where I only have a single point btw
19:37:55  <andythenorth> but it kind of works
19:38:46  <andythenorth> however....
19:39:15  <Alberth> my main problem with it is that you just have level of transform, it seems
19:39:19  <Alberth> +one
19:39:24  <andythenorth> you could stack them
19:39:25  <andythenorth> in a list
19:39:39  <andythenorth> or chain them together via their return methods
19:41:03  <Alberth> sure?
19:41:19  <andythenorth> no :)
19:42:20  <andythenorth> an alternative I haven't tried is subclassing
19:42:21  <Alberth> ie is the PixaMixer.sequence the same thing as a PixaSequence.sequence ?
19:42:43  <andythenorth> no
19:42:47  <andythenorth> which is horrible :(
19:42:55  <andythenorth> I seem to need both entities
19:42:59  <andythenorth> but the result is fugly
19:43:06  <Alberth> for point in self.sequence.sequence:  <-- so that breaks then, I think
19:43:45  <andythenorth> the key problem I have is that, by moving more stuff to objects, not functions, I can't easily vary values
19:43:59  <andythenorth> for different variations of graphics (colours etc)
19:44:16  <andythenorth> hence passing stuff down the call chain
19:44:33  <Alberth> partial() is just creation of a callable object
19:44:42  <andythenorth> I would rather compose the correct values nearer to the first call, then just pass the result down to the renderer
19:44:54  <andythenorth> I prefer things that are relatively more stupid
19:45:28  <Alberth> if you don't want influence from the actual pixels, that's a good option imho
19:45:42  * andythenorth got a bit excited that transforms are like plugins
19:46:22  <andythenorth> I haven't found a case yet where I need influence from the pixels
19:46:31  <Alberth> ok
19:46:37  <andythenorth> if someone does, they should subclass PixaMixer or such and extend it themselves
19:47:12  <Alberth> that won't work if you compute pixel values before pushing them to the renderer
19:47:30  <andythenorth> well....ok....let's live with the restriction
19:47:45  <andythenorth> if I've understood you correctly :)
19:48:04  <Alberth> sounds like a good plan :)
19:48:15  * andythenorth wonders if a class can be made callable
19:48:20  <Alberth> it can
19:49:00  <Alberth> not sure how useful it is though, you can equally well call obj.convert() or so
19:49:20  <andythenorth> nvm
19:50:24  *** Firartix [] has quit [Ping timeout: 480 seconds]
19:50:46  <andythenorth> Alberth: would it help to have some cases for transforms?
19:51:39  <Alberth> I would make every case a separate class or function
19:51:41  <_maddy> andythenorth: why is there so many different cargo types in FIRS?
19:51:58  <andythenorth> _maddy: what do you think the answer is? ;)
19:51:59  <Alberth> _maddy: to keep you busy :)
19:52:06  <andythenorth> Alberth: example cases....
19:52:22  <andythenorth> (1) shift colours for an entire sequence by some value
19:52:29  <andythenorth> (2) mask out pixels with blue
19:52:35  <Alberth> sounds good :)
19:52:45  <andythenorth> (3) add a value to dy (for loading / loaded sprites)
19:53:07  <Alberth> _maddy: FIRS has no economies yet, where you can reduce the #cargoes iirc
19:53:12  <andythenorth> nope
19:53:48  <Alberth> equally many cargoes in the economies?
19:53:56  <_maddy> just a bit strange when there's so many industry types that a lot of them don't get generated in a 256x256 map :)
19:54:10  <andythenorth> some economies will feature fewer cargos
19:54:23  <andythenorth> and yes, 256x256 maps are problematic, especially if hilly
19:54:34  <andythenorth> although industries are also date-specific
19:54:42  <andythenorth> so some won't appear until certain dates
19:54:51  <Alberth> _maddy: then you have 'difficult' terrain; the game is trying to generate them all iirc
19:56:06  <_maddy> right, I'm trying to get a mountainous map, and also starting at 1870
19:57:46  <_maddy> yeah, the date seems to be the key here indeed
19:57:54  *** theholyduck [~holyduck@] has joined #openttd
19:59:05  *** Firartix [] has joined #openttd
20:02:17  <andythenorth> Alberth: another question I had was whether to mush 'colourset' into a type of transform
20:02:41  <andythenorth> I wasn't convinced it helps
20:02:58  <andythenorth> sometimes more entities helps the interface (sometimes not)
20:03:27  <Alberth> that's named colours?
20:03:43  <andythenorth> yes
20:03:56  <andythenorth> 'company_colour' or 'cargo_colour' or such
20:04:27  <andythenorth> the values are substituted during the render pass, they're not global constants
20:04:38  <andythenorth> they need substituting before transform usually
20:04:46  <Alberth> I was wondering about that too; it seems useful, except  'try: colour +1'  does not feel the right way to test :p
20:05:11  <andythenorth> no
20:06:08  <Alberth> you'd have a dict of colour-name to colour-value would be my idea
20:06:23  <Alberth> but that still has the detection problem
20:07:30  <Alberth> you could have two kinds of colours, but that feels a bit overkill-ish
20:07:37  <andythenorth> they are currently dicts
20:07:40  <andythenorth> hmm
20:07:46  <andythenorth> object for colouring? :P
20:07:54  <andythenorth> nah
20:08:17  <Alberth> I don't understand enough how you use it atm
20:08:49  <andythenorth> the output tells the story
20:08:56  <andythenorth> have a look in 'results'
20:09:10  <andythenorth> you get trailers in green or blue ;)
20:10:27  *** _maddy [] has quit [Quit: leaving]
20:11:19  <Alberth> hmm, what if you add dict((x,x) for x in range(256)) to the named colours, and then transform the original sequence as first step?
20:12:57  * andythenorth ponders
20:14:23  <Alberth> making your sequence numbers only, then pushing them through the transformation, and giving them to the renderer
20:15:40  <andythenorth> try it?
20:16:11  <Alberth> i was busy making a mixer example, but got a chat in another window :)
20:16:21  *** Nat_aS [] has quit [Quit: Konversation terminated!]
20:22:31  *** DDR [] has joined #openttd
20:32:48  *** FLHerne [] has quit [Remote host closed the connection]
20:59:27  *** BelugasTheSecond [~belugas@] has joined #openttd
20:59:58  *** Belugas is now known as Guest4267
20:59:59  *** BelugasTheSecond is now known as Belugas
21:03:36  *** Guest4267 [~belugas@] has quit [Ping timeout: 480 seconds]
21:05:30  *** macee [] has left #openttd []
21:07:48  *** cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
21:12:37  <andythenorth> Alberth: if the PixaSequenceCollections were just replaced by functions, some of the complexity would go away
21:13:02  <andythenorth> then the sequences they contain could be transformed when called
21:17:18  *** Chris_Booth is now known as Guest4268
21:17:19  *** Chris_Booth [] has joined #openttd
21:17:54  *** Guest4268 [] has quit [Ping timeout: 480 seconds]
21:18:12  <Alberth> functions are first-class citizens too in Python
21:20:22  <andythenorth> I know :)
21:20:23  *** FLHerne [] has joined #openttd
21:22:20  * andythenorth has just been reading a python tutorial wrt 'everything is an object'
21:22:30  <andythenorth> which I knew previously, but not why
21:22:34  <Rubidium> I object ;)
21:22:45  <valhallasw> I, object.
21:27:03  <Alberth> I have some trouble understanding how a sequence collection can be converted to a function
21:27:25  <Rubidium> just extend the function ;)
21:27:36  *** null0010 [] has joined #openttd
21:27:48  *** lofejndif [] has joined #openttd
21:27:48  <null0010> how do i get a town to accept deliveries of goods?
21:27:52  <Rubidium> after all, an object is an object, so why wouldn't you be able to extend it?
21:28:17  * Alberth wraps a lamdba around Rubidium
21:28:19  <Rubidium> null0010: grow the town large enough and have enough coverage
21:28:36  <null0010> how do i grow a town, then?
21:29:02  *** lofejndif [] has quit [Max SendQ exceeded]
21:30:19  <null0010> hmm
21:30:27  *** lofejndif [] has joined #openttd
21:30:48  <null0010> is it possible to cause a town to grow by unloading good at a truck station in the town even though they don't accept it?
21:30:52  <null0010> goods*
21:30:57  <andythenorth> Alberth: it would have to be (as it was previously) that each collection is defined in the gestalt
21:31:04  <andythenorth> no class :(
21:31:04  <Alberth> null0010: doesn't help
21:31:10  <null0010> mm
21:31:14  <andythenorth> it worked, but seemed a bit fragile
21:31:26  <null0010> so i have to start delivering passengers and/or mail in order to grow a town that won't accept anything else?
21:31:44  <Alberth> null0010: you may want to read the wiki page with 'game mechanics'
21:31:55  <Alberth> as it explains exactly how the game works
21:32:12  <null0010> i'm reading the page on towns
21:32:28  <null0010> it says "Town growth can be accelerated by loading and unloading at least one item of cargo at up to five stations within town influence within a two month period. It does not matter which cargos are loaded/unloaded."
21:32:48  <andythenorth> alberth so previously instead of "key_colour_mapping_pass_1 = PixaSequenceCollection([sequence])" I had "def key_colour_mapping_pass_1(args): return [sequence]"
21:33:11  <andythenorth> which meant I could pass args to transform sequence when calling the collection
21:33:16  <andythenorth> but it smells odd
21:35:48  <Alberth> null0010: ok, I could be wrong. Try it :)
21:37:13  <null0010> no, i mean, that's why i came in and asked
21:37:27  <null0010> because the wiki said "it does not matter what is loaded/unloaded"
21:38:46  <Alberth> some people may know the code well enough to give an answer to that question, but I am not one of them.
21:38:57  <null0010> hm, okay
21:39:17  <null0010> well all i can say is that this town seems to be growing, but i am not sure if it's growing any faster than it would if i were'nt dropping off goods to rot
21:39:48  <Alberth> so, either read the code, or try it  seem to be your two options
21:39:52  <andythenorth> null0010: are you playing with default industries, town etc (no newgrfs)?
21:40:00  <null0010> andythenorth: yes.
21:40:18  <andythenorth> delivering cargo Goods to towns doesn't affect growth at all
21:40:49  <andythenorth> it's a common myth
21:42:58  <null0010> ah, okay
21:43:07  <null0010> when they don't accept it, you mean?
21:43:37  *** FLHerne [] has left #openttd []
21:44:26  <andythenorth> at all
21:44:33  <null0010> that seems odd
21:44:36  <Yexo> <null0010> because the wiki said "it does not matter what is loaded/unloaded" <_ the cargo has to be accepted by a station
21:44:50  <null0010> ok
21:45:02  *** mahmoud [] has joined #openttd
21:45:03  <Yexo> andythenorth: there is no difference between delivering coal, goods or passengers to a town
21:45:18  <Yexo> the "goods" cargo is not in any way special wrt town growth
21:45:29  <andythenorth> exactly
21:45:41  * andythenorth is reading town_cmd
21:45:53  <andythenorth> I don't believe that unloading cargo affects growth at all either
21:45:56  <andythenorth> only loading
21:46:01  <andythenorth> but the code will know
21:46:13  <null0010> so essentially the only way to grow a town is passenger services?
21:46:22  <Alberth> andythenorth: I still fail to understand what you are saying with the pixa sequence collections :(
21:46:24  <andythenorth> hmm
21:46:25  <Yexo> no, any kind of transport
21:46:29  <andythenorth> the code knows better than me
21:46:36  *** FHerne [] has joined #openttd
21:46:41  <null0010> i am confused
21:46:42  <null0010> hah
21:46:46  <andythenorth> 			if (st->time_since_load <= 20 || st->time_since_unload <= 20) {
21:46:57  <Alberth> andythenorth: annoying that the code is always right, isn't it?  :)
21:47:18  <Yexo> null0010: by far the easiest way to achieve maximum town growth is to build 5 bus stops in the center of a town and make one bus drive between those stations
21:47:21  <andythenorth> :D
21:47:30  <null0010> that is just plain silly
21:47:40  <Yexo> it is, but it's also how the game works
21:47:53  <andythenorth> null0010: you can also pick up cargo from primaries, drop it off at secondaries, pick up cargo at secondaries etc
21:48:00  <andythenorth> (industries)
21:48:00  <Alberth> null0010: OpenTTD is not simulating reality in any way
21:48:28  <Rubidium> "OpenTTD rejects reality and substitutes its own"?
21:48:37  <andythenorth> Alberth: wrt sequence collections....I need to modify the contents of the sequence
21:48:51  <null0010> oh i know it's not simulating reality but driving people from Grangeford across the street to another bus stop in Grageford in order to cause new people to spontaneously appear doesn't even make sense
21:49:01  <null0010> unless we assume that busses are actually mobile love hotels
21:49:07  <Alberth> andythenorth: the colour-names
21:49:17  <andythenorth> and the transforms...
21:49:20  <andythenorth> if sequence collections are classes, the only way I've found to modify the sequences they contain is is pass things down the call chain
21:49:40  <andythenorth> once the collection is instanced, all the sequences are 'baked in'
21:49:41  * Alberth nods
21:50:03  <Alberth> the sequence is at the bottom, so you have to 'dig' :)
21:50:13  <andythenorth> hence why I was considering making collections callable, and passing args to their callable method
21:50:35  * Alberth was making flat lists of transformations as an experiment
21:51:30  <andythenorth> I think the solution I've got works technically, but it adds a lot of 'partial(stuff)' noise for authors to deal with
21:51:44  <Alberth> indeed
21:51:49  <andythenorth> and it requires understanding that custom transforms must plugin to the render stage
21:51:58  <null0010> ok thanks for the help
21:51:58  <null0010> o/
21:51:59  <andythenorth> instead of just writing a local transform on the sequence
21:52:00  *** null0010 [] has left #openttd []
21:55:34  <Alberth> hmm, I now have 2 mixers, while you mentioned 3 :)
21:55:53  <andythenorth> is 2 ~= n? :)
21:56:06  <andythenorth> anything > 1 is usually n in my head
21:56:17  <Alberth> fair enough :)
21:57:11  <Rubidium> hi andnnhennnn ;)
21:57:51  <andythenorth> hi
21:58:40  <Rubidium> got to love how much the lower case i looks like a 1 when there's a : on the line above it ;)
21:58:54  <Rubidium> (with my monospace font)
22:00:06  <Alberth> and a small inter-line spacing :)
22:01:10  <Alberth>  <-- not as far as I wanted it, but it'll have to do for now
22:02:04  <Wolf01> 'night
22:02:08  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
22:03:25  <Alberth> and I would do that sequence mapping of colour names just before the for loop, [Point(p.dx, p.dy, col_map[p.colour]) for p in sequence]
22:03:46  * andythenorth looks
22:03:50  <Alberth> which will break if you have used names that don't exist in the mapping
22:04:33  <andythenorth> yes
22:04:38  <Alberth> converting pixels to blue is left as an exercise for the looker  :)
22:04:56  <andythenorth> breaking is  intended for that case - I considered writing a warning or raise
22:05:00  <andythenorth> but didn't get to it :P
22:05:12  <andythenorth> ok I see how these mixers work
22:05:23  <Alberth> you could output the name that you miss, which would be useful information
22:05:47  <Alberth> this is more or less the same as partial
22:06:29  <andythenorth> yes
22:06:38  <andythenorth> it's just cleaner this way though
22:07:21  <andythenorth> Alberth: sleep time for you?
22:07:24  <Alberth> somewhat easier to understand than a chain I think
22:07:35  <Alberth> yes, about 30 minutes ago already :)
22:07:39  <andythenorth> k
22:07:46  <andythenorth> sequence collections can wait :)
22:07:52  <andythenorth> I am stuck on them
22:08:10  <andythenorth> but I can re-implement what I have with these transforms tomorrow
22:08:28  * andythenorth prefers 'design by coding'
22:08:55  <andythenorth> thanks
22:09:24  <Alberth> collections are fixed, or are they parameterized on the col_map?
22:09:40  <Alberth> or on something else?
22:10:21  <andythenorth> hmm
22:10:33  <andythenorth> they're fixed
22:10:52  <andythenorth> (If I understand the question correctly)
22:11:33  <andythenorth> I don't have the col_map in scope when I instantiate each collection
22:12:34  *** cmircea [~cmircea@] has quit [Read error: Connection reset by peer]
22:12:55  <Alberth> hmm, too difficult at this hour :p
22:13:00  <andythenorth> PixaShiftColour - the upper and lower are to prevent overspill?
22:13:30  <Alberth> you said 'range' which I interpreted as some but not all colours
22:13:55  *** sla_ro|master [slaco@] has quit [Read error: Connection reset by peer]
22:13:57  <andythenorth> yes
22:14:00  *** sla_ro|master [slaco@] has joined #openttd
22:14:24  <andythenorth> upper should be at most 255 :)
22:14:32  <Alberth> but if you want to change all colours, the boundaries are not needed of course
22:14:41  <andythenorth> there are two edge cases ;)
22:15:15  <Alberth> min(255, max(0, col+shift))  :p
22:15:54  <Alberth> good night :)
22:15:56  <andythenorth> me too
22:16:04  <andythenorth> bye ;)
22:16:09  *** andythenorth [] has left #openttd []
22:17:19  *** Lakie [] has quit [Quit: .]
22:18:51  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
22:24:42  <xiong> ! This dim bulb finally lit !
22:25:34  <xiong> If trackwork causes short trains to get hung up (because they don't have the long backend pushing down when climbing); pad out the short trains so they're long.
22:25:47  *** sla_ro|master [slaco@] has quit []
22:26:02  <xiong> Can do that with lightweight dummies between the engine and a heavy tail. At least, I think that should work.
22:29:48  *** Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
22:29:52  * Alberth usually builds some parallel tracks on a hill climb
22:31:01  *** Alberth [] has left #openttd []
22:31:42  *** kkb110__ [~kkb110@NYUFGA-WLESSAUTHCLIENTS-02.NATPOOL.NYU.EDU] has joined #openttd
22:35:37  *** Mazur is now known as Tyne
22:37:28  *** Tyne is now known as Mazur
22:46:43  *** lofejndif [] has quit [Ping timeout: 480 seconds]
22:52:03  *** Progman [] has quit [Remote host closed the connection]
22:55:30  *** Chris_Booth [] has quit [Quit: ChatZilla 0.9.88 [Firefox 11.0/20120222074758]]
22:56:20  *** Cybertinus [] has quit [Remote host closed the connection]
22:56:21  *** lofejndif [] has joined #openttd
22:56:32  *** Cybertinus [] has joined #openttd
22:59:00  <frosch123> night
22:59:03  *** frosch123 [] has quit [Remote host closed the connection]
23:09:32  *** Cybertinus [] has quit [Remote host closed the connection]
23:09:43  *** Cybertinus [] has joined #openttd
23:12:03  *** smoovi [] has quit [Quit: Verlassend]
23:12:56  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
23:15:49  *** Cybertinus [] has quit [Remote host closed the connection]
23:16:01  *** Cybertinus [] has joined #openttd
23:19:40  *** FHerne [] has left #openttd []
23:21:14  *** valhallasw [~valhallas@] has quit [Ping timeout: 480 seconds]
23:48:37  *** Devroush [] has quit []
23:48:53  *** kkb110__ [~kkb110@NYUFGA-WLESSAUTHCLIENTS-02.NATPOOL.NYU.EDU] has quit [Read error: Operation timed out]

Powered by YARRSTE version: svn-trunk