Back to Home / #openttd / 2013 / 05 / Prev Day | Next Day
#openttd IRC Logs for 2013-05-09

---Logopened Thu May 09 00:00:17 2013
---Daychanged Thu May 09 2013
00:00-!-Pixa [~pixa@] has joined #openttd
00:00-!-LordPixaII [~pixa@] has quit [Read error: Connection reset by peer]
00:11-!-Pixa [~pixa@] has quit [Read error: Connection reset by peer]
00:12-!-Pixa [~pixa@] has joined #openttd
00:53-!-parkette_ [] has joined #openttd
00:56-!-Eddi|zuHause [] has quit []
00:56-!-Eddi|zuHause [] has joined #openttd
00:59-!-parkette [] has quit [Ping timeout: 480 seconds]
00:59-!-parkette_ is now known as parkette
01:13-!-Prof_Frink [~proffrink@] has quit [Remote host closed the connection]
01:33-!-sla_ro|master [~slamaster@] has joined #openttd
01:36-!-zeknurn` [] has joined #openttd
01:43-!-zeknurn [] has quit [Ping timeout: 480 seconds]
01:43-!-zeknurn` is now known as zeknurn
01:46-!-Zuu [] has joined #openttd
02:24-!-Zuu [] has quit [Ping timeout: 480 seconds]
02:26-!-valhallasw [] has joined #openttd
02:28-!-oskari89 [] has joined #openttd
02:31-!-Tvel [~Thunderbi@] has joined #openttd
02:31-!-Tvel [~Thunderbi@] has quit []
02:35-!-Flygon_ [] has joined #openttd
02:35-!-DDR [] has quit [Remote host closed the connection]
02:37-!-|Jeroen| [] has joined #openttd
02:42-!-Flygon__ [] has quit [Ping timeout: 480 seconds]
02:43-!-Kabaka [] has quit [Max SendQ exceeded]
02:45-!-Kabaka [] has joined #openttd
02:58-!-Kabaka [] has quit [Max SendQ exceeded]
03:00-!-Kabaka [] has joined #openttd
03:15-!-Elukka [] has quit []
03:21-!-Supercheese [~Password4@] has quit [Quit: ChatZilla 0.9.90 [Firefox 20.0.1/20130409194949]]
03:24-!-George is now known as Guest4763
03:24-!-George [~George@] has joined #openttd
03:27-!-Dr_Tan [] has joined #openttd
03:29-!-Guest4763 [~George@] has quit [Ping timeout: 480 seconds]
03:34-!-Nat_aS [] has quit [Ping timeout: 480 seconds]
03:38-!-valhallasw [] has quit [Ping timeout: 480 seconds]
03:43-!-Alberth [] has joined #openttd
03:43-!-mode/#openttd [+o Alberth] by ChanServ
03:44-!-Flygon__ [] has joined #openttd
03:49-!-Pensacola [] has joined #openttd
03:50-!-Flygon_ [] has quit [Ping timeout: 480 seconds]
04:20<@planetmaker>juzza1, any not (yet) supported variable can be accessed in NML directly...
04:21<@planetmaker>I should probably not advertize that, though
04:21-!-|Jeroen| [] has quit [Quit: oO]
04:22-!-Progman [] has joined #openttd
04:29<juzza1>i really feel that should be in NML even though it's not ideally implemented
04:30<@planetmaker>yes, it should be there. But I think better implemented :D
04:38<@Alberth>I somewhat wonder how the the translation step is that nml makes
04:41<V453000>around 90 centimeters
04:41-!-|Jeroen| [] has joined #openttd
04:42<@Alberth>Recently I wrote a convertor from to byte sequences
04:42<@Alberth>it's a lot of code, but not difficult at all
04:43<@Alberth>( )
04:43<@Alberth>the mapping quite straightforward
04:44*Alberth seems to be forgetting crucial words today in sentences today :(
04:44<@Alberth>QED :(
04:45-!-Rikests [] has joined #openttd
04:46<@planetmaker>uh... big in what sense, Alberth ?
04:47<@Alberth>amount of transformation I guess, ie is there a sort-of simple mapping from input to output?
04:47<Rikests>Hey, which cargo distrubution patch is the best atm?
04:48<@planetmaker>there's only one
04:48<@Alberth>YACD is the best, CargoD?st is actually working on anything recent, and good too
04:49<@planetmaker>Alberth, so your question is why NML does need to make so much fuss about strings, basically?
04:49<@Alberth>no, more about entire NML
04:50<@Alberth>ie how does a "feature"(??) map to NFO primitives? one-to-one?
04:50<@planetmaker>I guess I'm slow and I didn't follow your mental step size yet :-)
04:51<@Alberth>it's equally possible I don't explain properly :)
04:51<@Alberth>Basically I was wondering what would happen if you take the RCDgen approach to nml
04:51<@Alberth>ie rewrite it all in C++
04:52<@planetmaker>it likely would become a lot faster :D
04:52*Alberth adds sufficiently many "sleep(1);" statements in the code :)
04:52<Rikests>what What is the difference between YACD and cargodist?
04:53<@Alberth>rcdgen is mostly just 1-to-1, with expression simplification
04:54<@planetmaker>Rikests, yacd sets destinations on cargo generation, whether reachable or not. While cargodist distributes cargo to available destinations
04:54<@Alberth>obviously it makes life easier by counting things you enter in the input, and filling in such numbers, etc
04:55<@Alberth>Rikests: that means with YACD you also get cargo that wants to go elsewhere than what your network provides
04:55<Rikests>Ok, than YACD is more challenging.
04:57<@planetmaker>Alberth, so, that converter you wrote, basically is FreeRCT's NML compiler, yes?
04:57<@planetmaker>and you wonder about its differences to NML and the reasons for them (if any)?
04:58<@Alberth>yes, except I also define the destination :)
04:58-!-George is now known as Guest4770
04:58-!-George [~George@] has joined #openttd
04:58<@Alberth>the CSTR definition and its TRCK definition is also mine
04:59<@Alberth>and I don't have history to worry about :)
04:59<@planetmaker>yes, sure. You designed and wrote all parts. Programme, specs, etc
05:00<@Alberth>planetmaker: and I wonder whether you can sort-of write the same kind of conversion program, and how difficult it would be
05:00<@Alberth>the latter is heavily influenced by how much trickery NML does in its conversion to NFO
05:01<@Alberth>hence my question how nml primitives relate to nfo primitives
05:01<@planetmaker>many things in nfo / nml are mapping stuff 1:1 sort-of. With conversions in between as needed
05:01<@planetmaker>property blocks, sprite blocks, sprite layouts, they all have nfo equivalents
05:02<@planetmaker>switch statements
05:02<@planetmaker>there's much abstraction on the expression level though. Lot of magic with temp variables which the NML user doesn't see at all
05:03<@planetmaker>also variables are not 1:1 mapped necessarily to nfo variables, but could be modified parts of them (like inverted bit 5 of variable XY)
05:04<@Alberth>so it does advanced code generation for expressions
05:04<@planetmaker>very much so, yes
05:04-!-Guest4770 [~George@] has quit [Ping timeout: 480 seconds]
05:05<@planetmaker>that's basically the biggest advantage of NML over NFO
05:06<@Alberth>that's mostly local I guess? ie I write something simple in NML, and it generates a shit-load of NFO code to compute its value at that point
05:07<@Alberth>nice, that would mean from a code generation point of view it's not that complicated
05:07<@Alberth>just a LOT of work
05:07<@planetmaker>compare vs
05:07<@planetmaker>and that's simple stuff
05:08<@planetmaker>one of the problems NML also (partially) solves is that it abstracts away differences between different features (train, road vehicle, airports,...)
05:09<@planetmaker>by making them work the same way, while the underlaying NFO works (slightly) different
05:09<@planetmaker>i.e. speed is given in NML in units of your choice. While NFO has different, arbitrary units for each feature a different one
05:09<@Alberth>those assignments look very doable
05:11<@Alberth>very useful for the user, from a program point of view very easy to do
05:12<@Alberth>the main benefit is probably actually readable input source, instead of numbers with heaps of comments :p
05:13<@planetmaker>that as well. But the expression and temporary and permanent variable storage handling really is, too.
05:14<@planetmaker> is the same as
05:14<@Alberth>I can imagine, assembly-level expression operations tend to be hard to read and understand
05:16<@planetmaker>I'm not exactly sure how the action6 translates into this: values given as parameter.
05:16<@planetmaker>That works somewhat differently in NFO than in NML
05:17<@planetmaker>in nfo you first write the statement. And the next statement then is told to modify single bytes in the previous one. Depending on a parameter
05:17<@Alberth>action 6 is a weird operator
05:18<@Alberth>self-modifying code is something of the '80s :)
05:18<@planetmaker>I think in many cases here, the devil is in the detail
05:18<@Alberth>unfortunately, it always is
05:19<@planetmaker>there have been thoughts to (re-)implement NML in C/C++. Mainly for speed reasons
05:20<@Alberth>yeah, I am just not sure it's the right direction
05:20<@planetmaker>it's LOADS of work. Without any short and possibly neither mid-term benefit
05:21<@Alberth>if you implement a linker at NFO level (or below it), you can do partial compilation, which goes a lot further
05:21<@Alberth>and it allow leverage of the existing NML compiler
05:21<@planetmaker>it basically suffices to write the NFO for the parts. And throw grfcodec on them when the parts are properly ordered
05:21<@Alberth>(if all is well :) )
05:22<@planetmaker>difficulty is to get right the numbering of items and switch blocks (or rather the nfo equivalent)
05:23<@Alberth>afaik, you need a notion of "defining" and "using" between parts
05:24<@Alberth>where "defining" probably should assign a number so all uses can refer to it
05:25<@Alberth>which boils down to just insterting the same number at several places in the byte stream
05:25<@Alberth>and ordering the "define" before the "use" parts :p
05:25<@planetmaker>yes. But that needs be done last before actually compiling. In order to avoid conflicts
05:26<@planetmaker>so what would need doing basically is NML to output a somewhat pseudo-nfo where action0 IDs and action2 IDs are not yet assigned
05:26<@planetmaker>and a numbering step which then converts all these to the actual numbers so that grfcodec can eat it
05:26<@Alberth>something like that
05:26<@planetmaker>an NFOrenum XXL or so ;-)
05:27<@planetmaker>with multi-file support
05:27<@Alberth>although I am not sure you want grfcodec at the end, I would generate a byte stream (sprite stream) with 'holes' in it :)
05:28<@Alberth>so it becomes just concatenating the sprites after each other, and filling in the holes
05:28<@planetmaker>what are the holes?
05:29<@Alberth>numbers that need to be filled in, ie the IDs
05:29<@planetmaker>yes. grfcodec only comes into play after that is done.
05:30<@Alberth>my alternative view is that grfcodec (or NML) generates sprite streams with holes, and a linker program than puts the stream in the proper order, and filling of holes
05:31<@Alberth>ie just like gcc -o program *.o instead of gcc -o program *.c
05:31-!-Alice3 [] has joined #openttd
05:31<@planetmaker>hm, yes. possibly. If it's an NML linker it could (re-use) the sprite cache NML already has
05:32<@planetmaker>thus would boil down to splitting NML compiler and linker
05:32<@Alberth>there are no sprites any more at that level, just a long sequence of bytes
05:32<@Alberth>ie real sprites are already encoded into bytes
05:33<@planetmaker>nml's sprite cache is just that, I think
05:33<@Alberth>it caches encoded sprite files afaik
05:34<@Alberth>my "sprite stream" are sprites as in NFO, ie 1 line NFO == 1 sprite in the stream
05:34<@planetmaker>yes. So that it can insert them 1:1 into the grf when needed (again)
05:35<@Alberth>sorry, I fail at explaining it :(
05:36<@Alberth>consider the output of grfcodec, ie the raw .grf bytes
05:37<@Alberth>only some of the bytes there denote action0 and action2 IDs
05:37<@Alberth>those bytes are holes, all other bytes are fixed
05:38<@planetmaker>right yes. I guess we just talked past eachother and meaning the same :-)
05:38<@planetmaker>that's what I meant with NML outputting pseudo-NML
05:38<@Alberth>at that level there are no sprites any more, just bytes
05:39<@planetmaker>hm, ok. So you mean beyond NFO. But not yet grf
05:39-!-|Jeroen| [] has quit [Quit: oO]
05:40<@Alberth>assume grfcodec can do partial compilation, I have 2 parts, throw it in grfcodec, and get 2 bytes blobs with holes
05:41<@Alberth>linking is then deciding which blob should go first, computing a value for all holes, and filling them in
05:41<@Alberth>then, just copy the blobs in the right order with the right value for the holes straight into the .grf file
05:42<@planetmaker>ok. I think now I understood quite well what you mean :-)
05:43<@planetmaker>thanks for your patience :-)
05:44<@Alberth>yw :)
05:44<@Alberth>this is how linking works with languages like C
05:44<@Alberth>where NML is like a C compiler, grfcodec is like an assembler, and ldd is the (dynamic) linker
05:45<@peter1138>erm where does ldd fit?
05:46<@Alberth>*.c -> *.o, *.s -> *.o, and *.o -> exe
05:46<@peter1138>in newgrf land
05:46<@planetmaker>currently nowhere
05:46<@Alberth>peter1138: you're right, it's the wrong name
05:46<@Alberth>planetmaker: actually, ldd, does something else :)
05:46<@peter1138><somehypotheticaltool> is the dynamic linker
05:47<@planetmaker>I assumed you meant ld, Alberth
05:48<@Alberth>in newgrf land, imagine that you have a lot of common code for each .grf. You can copy it into each .grf, but that's wasting memory. Instead, you load the common code once in memory, and connect it to each grf at loading time. That's what ldd does
05:49<@Alberth>ld would be the right tool here indeed :)
05:50-!-frosch123 [] has joined #openttd
05:50<@planetmaker>ok, how did we end here? :-)
05:50<@planetmaker>quak, too :-)
05:50<frosch123>moin :)
05:51<@Alberth>idle conversation about nml inner operation? :)
05:53-!-Tvel [~Thunderbi@] has joined #openttd
05:53<juzza1>is it not possible to change the amount of articulated parts depending on cargo_subtype?
05:53<@planetmaker>I really miss some compile lecture in order to really dive into NML, I feel :S
05:53<juzza1>i'm always getting the default amount of parts even after refitting
05:53<@planetmaker>juzza1, yes
05:54<@planetmaker>heqs does so, for instance
05:55<@planetmaker>mind, you cannot refit then in stations (autorefit)
05:55<frosch123>i always hoped we would get some grf library
05:55<@planetmaker>grf library in what sense?
05:55<frosch123>so not everyone has to reinvent the encoding and decoding :)
05:55<@planetmaker>that sense. yes. makes sense
05:56<juzza1> this is the code atm, not working, always returns 3 part articulated
05:56<frosch123>but so far, everyone reimplemented it in a different language :p
05:56<juzza1>in the tutorial it is done by making some parts invisible, i wonder why?
05:56<frosch123>grfcodec -> c/asm, grf2html -> pascal, grfeditor ( or what was the name?) -> c#, nml -> python ...
05:56<@planetmaker>maybe heqs does that, too, juzza1
05:57<@planetmaker>he :-)
05:58<@planetmaker>frosch123, but which part exactly should be there?
05:58<@planetmaker>action14 block? Needs to be specific.
05:58<@planetmaker>Action0 block? Also needs to be specific. As need be the action1/2/3 blocks
05:58<frosch123>no, i mean the grf format
05:58<frosch123>encoding, decoding, sprite assembling, clipping, ...
05:59<@planetmaker>ah, that. So a library for the compilers, so to speak
05:59<@Rubidium>frosch123: don't you mean grfmaker (or was that an omission), though that was Delphi IIRC
05:59<frosch123>maybe later some nfo action classes
05:59<frosch123>Rubidium: <- that one
06:00<frosch123>oh, it uses c++/qt
06:00<frosch123>i thought there was also a c# thingie
06:01<@Rubidium>might that be the someone who's still converting OpenTTD to C#?
06:03<frosch123>Alberth: there are a lot of global-variable-ish things in nfo, which need reservation
06:03<frosch123>like spritegroups referencing spritesets, or relative jumps to other spritenumbers
06:03<frosch123>offset computations within actions
06:04<frosch123>so the code generator in itself has quite some magic
06:06<@Alberth>I feared somewhat that a new NML would be less trivial :)
06:07-!-Pensacola [] has quit [Remote host closed the connection]
06:13-!-gelignite [] has joined #openttd
06:15-!-KenjiE20 [kenjie20@2001:470:dc50:b0::21] has quit [Ping timeout: 480 seconds]
06:16-!-sla_ro|master [~slamaster@] has quit [Quit: connection reset by myself]
06:17-!-MNIM [] has quit [Remote host closed the connection]
06:23-!-HellTiger [] has joined #openttd
06:28-!-|Jeroen| [] has joined #openttd
06:41-!-ZxBiohazardZx [] has joined #openttd
06:46-!-ZxBiohazardZx [] has quit [Quit: Never put off till tomorrow, what you can do the day after tomorrow]
07:06-!-HerzogDeXtEr [] has joined #openttd
08:16-!-pugi [] has joined #openttd
08:18-!-George is now known as Guest4778
08:18-!-George [~George@] has joined #openttd
08:23-!-Guest4778 [~George@] has quit [Ping timeout: 480 seconds]
08:49-!-Progman [] has quit [Remote host closed the connection]
08:49-!-roadt_ [~roadt@] has quit [Ping timeout: 480 seconds]
08:52-!-George is now known as Guest4780
08:52-!-George [~George@] has joined #openttd
08:57-!-Guest4780 [~George@] has quit [Ping timeout: 480 seconds]
09:16-!-|Jeroen| [] has quit [Quit: oO]
09:44-!-APTX [] has quit [Remote host closed the connection]
09:47-!-APTX [] has joined #openttd
09:49-!-Devroush [] has joined #openttd
09:57-!-DarkAce-Z [~BillyMays@] has joined #openttd
09:59-!-roadt_ [~roadt@] has joined #openttd
10:00-!-DarkAceZ [~BillyMays@] has quit [Ping timeout: 480 seconds]
10:15-!-Flygon_ [] has joined #openttd
10:22-!-Flygon__ [] has quit [Ping timeout: 480 seconds]
10:23-!-sla_ro|master [~slamaster@] has joined #openttd
10:29-!-Flygon_ [] has quit [Read error: No route to host]
10:33-!-Alberth [] has left #openttd []
10:38-!-Tvel [~Thunderbi@] has quit [Remote host closed the connection]
10:38-!-Flygon [] has joined #openttd
11:05-!-KouDy [~KouDy@] has joined #openttd
11:22-!-Prof_Frink [~proffrink@] has joined #openttd
11:35-!-Dr_Tan [] has quit [Ping timeout: 480 seconds]
11:41-!-Flygon_ [] has joined #openttd
11:43-!-Flygon [] has quit [Read error: Connection reset by peer]
12:13<@planetmaker> vs. and :-)
12:15-!-Dr_Tan [] has joined #openttd
12:17<oskari89>planetmaker: :)
12:17<oskari89>Diagonal roads!
12:17-!-Markavian [] has joined #openttd
12:20<@planetmaker>that's at least an order of magnitude more complicated :-)
12:23-!-Markavian` [] has quit [Ping timeout: 480 seconds]
12:23<szaman>diagonal bridges!
12:26<szaman>diagonal pbimttd!
12:26<Sacro>oh yes
12:26<Sacro>this disturbs me very sprites
12:28<oskari89>After those smooth rivers there will be more requests for diagonal roads :)
12:28<@planetmaker>I believe you're right, oskari89
12:28<szaman>diagonal bridges and tunnels would be better
12:29<@planetmaker>where are the people who want to take on those tasks?
12:30<@planetmaker>diagonal bridges has a pre-condition: design specs for complete newgrf bridges ;-)
12:30<@planetmaker>everywhere? I haven't seen anyone seriously tackling that for long time. Either of those
12:31<szaman>i want to take on those, but have no time/skills
12:33<@planetmaker>skills can be aquired
12:33-!-Alberth [] has joined #openttd
12:33-!-mode/#openttd [+o Alberth] by ChanServ
12:34<@planetmaker>wb Alberth
12:34<@Alberth>hi hi
12:36<@Alberth>nice rivers!
12:37<@planetmaker>ty :-) only temperate yet. And the sprites need revision again, too
12:37<szaman>planetmaker is now knowns as niceriversmaker
12:37<@planetmaker>seems that my sprite skills are more in the landscape area :-P
12:38<@planetmaker>rivers, shores, trees...
12:38<@Alberth>I happen to need some trees in the rct game :p
12:38<@planetmaker>How usable are OpenTTD's trees?
12:38<@Alberth>(although, Z is likely to provide them :p)
12:39<@Alberth>scale is a bit wrong probably
12:39<@Alberth>szaman: you have the wrong idea about time. Time is not something you have, you make time by not doing something else
12:40<@Alberth>ie it is about choice of what you do and not do
12:42<szaman>Alberth: i can't allow not doing things i now do everyday, some little woman depends on those things, for example now its time to bath :P
12:43<@Alberth>planetmaker: yeah, scale is a bit wrong: :)
12:44<@planetmaker>I'd not necessarily think scale is wrong. It's not a big tree then. But rather a big bush. Or a small tree :-)
12:44<@planetmaker>Like hazelnut. Or holunder. Or so
12:46<V453000>nut nut
12:46<szaman>but in about 17 years the girl will grow up, and then i will do diagonal bridges and tunnels!
12:47-!-Pixa [~pixa@] has quit [Read error: Connection reset by peer]
12:47-!-Pixa [~pixa@] has joined #openttd
12:48<@Alberth>szaman: the author of FIRS, CHIPS, and FISH also has kids, and managed to make three great NewGRFs
12:48<@planetmaker>is anyone actually still working on any AI?
12:48<@Alberth>or four even
12:48<@planetmaker>four. HEQS
12:49-!-Kylie [] has quit [Quit: KVIrc 4.2.0 Equilibrium]
12:49<szaman>Alberth: it varies over child, some spleeps 3h during day, and some sleeps 3h round the clock
12:50<@Alberth>3 hours of time for free :p
12:50<@Alberth>nah, just kidding :)
12:50<@Alberth>hi Terkhen
12:50<frosch123>planetmaker: it looks to me like ais are mostly done
12:50<@planetmaker>hello Terkhen
12:51<frosch123>there are 3 to 5 which somewhat work
12:51<frosch123>why would anyone need more
12:51<@planetmaker>I don't want more
12:51<@planetmaker>But I'd like the "somewhat work" to be improved to "work very well"
12:51<frosch123>either you want them for "ambient effects" or for "competition"
12:51<V453000>map cluttering? :P
12:52<@planetmaker>the best AI in my game just crashed.... AIAI. It even had train wood service
12:52<frosch123>well, we failed for 3 years to come up with a decent vehicle weight spec :p
12:53<@planetmaker>in what context?
12:53<frosch123>ais do not know about vehicle weights
12:53<frosch123>so they have no idea what vehicle might cope with what hill
12:55<frosch123>there is vehicle weight (empty), cargo weight, power, traktive effort, freight multiplier, slope steepness, acceleration models, ....
12:56<frosch123>the idea was to at least abstractr freight multiplier into the api to increase cargo weight and vehicle weigth or similar
12:56<frosch123>but once you reach max te and slope steepness :p
12:56-!-glx [] has joined #openttd
12:56-!-mode/#openttd [+v glx] by ChanServ
12:57<@planetmaker>hm. bad :-)
13:01-!-Flygon__ [] has joined #openttd
13:04<frosch123>newgrf might be complicated, but ottd game mechanics are even more complicated :)
13:05<frosch123>i would think an ai author would want to request an api function, which he gives a consist with orders, a start track, and the function returns the minimum speed on the route :p
13:08<@planetmaker>I sometimes wonder whether "less is more" wouldn't be true with some of our historically grown interfaces
13:08-!-Flygon_ [] has quit [Ping timeout: 480 seconds]
13:08<@planetmaker>and to start cutting backward compatibility
13:09<frosch123>nah, everyone sees a different part to be "less" :)
13:09<frosch123>just consider the new features for that
13:09<frosch123>take cargodist on one side, and conditional orders and timetables on the other side :)
13:09<Eddi|zuHause>hm, is it too early to say "i survived this day"?
13:10<frosch123>some want to play with this, others with that, but both are completely in conflict to each other
13:10<@planetmaker>mostly I was thinking indeed about newgrf specs
13:11<@planetmaker>it's too complicated to understand them. Not even OpenTTD can tell what they can do
13:11<frosch123>well, the other specs we came up with were not any better :p
13:11<@planetmaker>:-) yeah
13:11<frosch123>i think improving nml is the better route
13:12<frosch123>most of the nfo stuff you do not even need
13:12<@planetmaker>that won't help consist replacement or AIs :-P
13:12<frosch123>so if you support only the important subset via nml, you already have achieved something
13:12<@planetmaker>as NML won't stop vehicles being able to drive 25km/h on 8th May only while carryin coal. But passengers other days
13:12<@planetmaker>that's true. Something
13:13<frosch123>well, but noone cares whether consist replacement works with "historic vehicles"
13:13<@planetmaker>but we can nowhere rely in OpenTTD that newgrfs use only NML's subset of "sane" features
13:14<frosch123>try to support order refitting and order shunting with cargodist
13:14<@planetmaker>that's stuff nightmares are made of
13:14<frosch123>i think the idea that every feature shall work with every feature is ill-formed :p
13:14<frosch123>you cannot achieve that
13:14<frosch123>people play ottd differently, everyone uses a different part
13:14<oskari89>Order shunting?
13:15<frosch123>you can just blame it on the user if some combinations fails to work
13:15<oskari89>Locomotive detaching from wagons?
13:15<oskari89>Outside depot?
13:18<Eddi|zuHause>well, it'll probably hurt more tomorrow :p
13:19<V453000>refit does the same thing basically
13:19<@planetmaker>I don't think frosch meant that. But if you have vehicles capable of autorefit in stations, it's virtually impossible to tell which connections do exist or can exist
13:19<Eddi|zuHause>oskari89: that guy never provided his patch, afaik
13:20<@planetmaker>^ @ oskari89
13:20<oskari89>He didn't
13:20<@planetmaker>thus without knowledge of what connections exist for which cargo, cargodist must fail
13:20<oskari89>I hope he does at some point :P
13:21<V453000>I dont think there would be any real way how to use that though
13:22<frosch123>V453000: as long as there are people who arrange hundreds of trains along a 24 hour timetable
13:22<frosch123>there is also space for shunting
13:22<Eddi|zuHause>Alberth: the "linker" i wrote for CETS does 3 hacks, 1) introduce the "comment" in the code to decide where headers end, 2) filter out everything before this comment to cut away the duplicate headers, and 3) insert some magic to keep the lifetime of certain IDs over the whole GRF
13:23<Eddi|zuHause>and it kinda relies on NML not rearranging statements very much
13:24<@Alberth>you get that by itself with partial compilation
13:25-!-Rikests [] has quit [Quit: ChatZilla 0.9.90 [Firefox 20.0.1/20130409194949]]
13:25<Eddi|zuHause>but the partial compilation would have to deal with the same 3 problems
13:25<@planetmaker>I actually looked at that very patch today... but I was scared. I likely could not support it, if there are problems. And I'm not in a good position to judge properly how it might fall on NML's feet i nthe future, if it became official
13:26<Eddi|zuHause>yes, it's pretty hand-crafted towards CETS, and not easily universally applicable
13:26<Eddi|zuHause>but it was kinda the only way to continue CETS in a sane matter
13:27<V453000>frosch123: I havent yet seen anyone arrange hundreds of trains by timetable nor can i imagine how could that possibly work? every timetable breaks sooner or later by jams/whatever
13:27-!-Rikests [] has joined #openttd
13:27<@Alberth>Eddi|zuHause: 1 and 2 should not be needed with a proper implementation
13:27<frosch123>V453000: with that kind of timetable there is no sooner or later
13:27<frosch123>all vehicles move deterministically
13:27<V453000>? :d
13:28-!-Zuu [] has joined #openttd
13:28<V453000>imagine a train gets stuck in traffic for half a year
13:28<V453000>what will it do
13:28<@Alberth>hi Zuu
13:28<Zuu>Hello Alberth
13:28<@planetmaker>V453000, that won't happen if *every* train is on schedule
13:28<@planetmaker>it can't get stuck
13:28<Eddi|zuHause>V453000: if you use "full" timetables, trains should not get stuck
13:28<frosch123> <- that patch
13:29<V453000>jams/broken signals/any other issue on the track?
13:29<frosch123>V453000: the timetable arranges the trains in a way they are never stuck
13:29<@planetmaker>proper wait times
13:29<@planetmaker>so that small disturbances don't escalate
13:29<@planetmaker>(like they do in RL)
13:29<V453000>if you have self-blocking signals, then the train is stuck, how does the timetable deal with that :
13:30<frosch123>V453000: every vehicle is timed exactly
13:30<V453000>e.g. your train was stuck for say half a year
13:30<frosch123>it is set up once to work, and then never changes
13:30<V453000>of course
13:30<@planetmaker>V453000, of course you can break the network
13:30<frosch123>"stuck for a half year" is non-sense
13:30<V453000>but how does it react to disturbance like slowdowns, jams
13:30<frosch123>it either works, or it doe snot work
13:30<@planetmaker>but... that's something you can always do
13:30<frosch123>but it enver changes
13:30<V453000>if your network just starts jamming
13:31<V453000>- which happens every game -
13:31<frosch123>damn, there is no "starts", when everything is timetabled
13:31<V453000>you add trains at some point
13:31<frosch123>V453000: i think you still did not understand that patch
13:31<frosch123>the vehicles are not timetabled one by one
13:31<frosch123>but in total
13:31<Eddi|zuHause>however, besides openttd's current timetables being a pain to set up and manage, big lateness values are problematic, because there is no heuristic when to give up trying to catch up to the timetable. so a 100 day timetable, and 98 days late counter, the train will not try to skip one full round-trip, but instead try 97 days late, 96 days late, etc...
13:32<frosch123>every train is aligned with everyone else
13:32<frosch123>you add one train at a time and configure it's timetable so it does not conflict with any other train
13:32<frosch123>then it keeps on running on exactly that cycle
13:33<V453000>okay, so it is re-calculated after adding every train?
13:33<V453000>and still, even adding just one train does not have instant effect on jams etc
13:33<frosch123>nothing is calculated
13:34<frosch123>it is set up manually
13:35<@planetmaker>hm, how do I align different timetables with eachother?
13:35<frosch123>you have a global 24 hour clock
13:35<@planetmaker>Just starting the train at the right time / resetting lateness counter?
13:35<frosch123>and you make sure every order list has a length which is a divisor of 24 hours
13:36<V453000>ok, then if I add 100 trains on a certain connection and the connection starts to jam, the travel time is not updated? or?
13:36<frosch123>the 24 hour thingie is just a helper thingie ofc to get natural units
13:36<@planetmaker>V453000, no two trains have the same time table
13:36<V453000>doesnt matter
13:36<frosch123>V453000: no, you do not add 10 trains
13:36<V453000>still 100 trains could visit the same station
13:36<V453000>or rail or whatever
13:36<frosch123>you add one train at a time and timetable it so it works
13:36<V453000>100 individual trains
13:36<@planetmaker>yes. But they're schedules by you to not be at the same place and time together
13:36<@planetmaker>if you don't do that, you do it wrong
13:37<V453000>but what if the "place" where they all meet is a junction, not a station
13:37<V453000>aka a place which is not in the orders but they all visit
13:37-!-DDR [] has joined #openttd
13:37<frosch123>they still run the same on every trip
13:37<@planetmaker>you see that. As you add them one by one :-)
13:37<frosch123>so you can timetable them so they do not "meet" in junctions
13:38<V453000>they will meet in junctions if you add too many sooner or later
13:38<frosch123>that's just up to you setting up the timetables correctly
13:38<@planetmaker>that's when your network is at 100% capacity
13:39<V453000>ok enough, I dont think I should try to understand this type of playing
13:39<@planetmaker>drive speed and time is deterministically. thus you can exactly tell whether trains will meet
13:40<V453000>autoreplace == hell ?
13:41<@planetmaker>unless you schedule depot visits in the time table anyway
13:41<V453000>more like about the updated stats of the new train
13:41<@planetmaker>limit speed in orders
13:41<V453000>the new train can also be slower :P
13:42<@planetmaker>or by wagon speed limit.
13:42<frosch123> <- V453000: there are different ways to play the game
13:42<frosch123>coop tries to make it complex in some way
13:43<frosch123>other people do it by increasing the micro management
13:43<V453000>well I know, but I wouldnt say this is less complex than normal playing
13:44-!-Dark-Ace-Z [~BillyMays@] has joined #openttd
13:44<@planetmaker>of course not. And no-one claimed so
13:44<frosch123> <- i never succeeded in reading that :)
13:44<@planetmaker>omg... wall of text
13:45<frosch123>yeah, but the screenshot is cool :)
13:45<Zuu>Ah, a graphical time table :-)
13:45<frosch123>but it needs a special kind of people to play with that
13:46<V453000>I still love the word zug
13:46<V453000>almost as lovely as the one for frog
13:47<frosch123>if you say "zug" like that, it sounds like you mean inhaling drugs
13:47<V453000>I know how to pronounce it :)
13:48-!-DarkAce-Z [~BillyMays@] has quit [Ping timeout: 480 seconds]
13:48<@planetmaker>I think that patch might give a total kick to some people
13:48<V453000>in what way? :D
13:49<@planetmaker>"omg, must have!"
13:49<@planetmaker>those realism people
13:49<V453000>well some people are weird :P
13:49<oskari89>I think that is !!!!
13:49<oskari89>On good way :)
13:49<oskari89>Wants :)
13:49<V453000>this is R like hell
13:50<@planetmaker>oh, it can likely even be fun to timetalbe the map accurately and efficiently
13:50<oskari89>Yes it is
13:50<@planetmaker>SRNW is a piece of cake in comparison :-P
13:51-!-Elukka [] has joined #openttd
13:51<oskari89>That plus daylength is something awesome :)
13:52<@Alberth>so you can play in real time as well :)
14:04<Eddi|zuHause><V453000> well some people are weird :P <-- says a person in an IRC channel dedicated to a train game
14:07<frosch123>yeah, don't talk to people who are not here
14:07-!-ntx [] has quit [Read error: Connection reset by peer]
14:09-!-ntx [] has joined #openttd
14:33-!-Pixa [~pixa@] has quit [Ping timeout: 480 seconds]
14:34<Rikests>Any way to change NewGRF parameters in saves?
14:40<Mazur>I is weird.
14:41<Mazur>Rikests, only with a time-machine.
14:41<Mazur>Perhaps you can borrow one from a friend.
14:47<Eddi|zuHause>"the impossible just takes a bit longer"
14:48-!-Stimrol [] has quit [Quit: ZNC -]
14:55-!-Stimrol [] has joined #openttd
15:05-!-parkette [] has quit [Ping timeout: 480 seconds]
15:06-!-Supercheese [~Password4@] has joined #openttd
15:21-!-Rikests is now known as Rieksts
15:36-!-Dark-Ace-Z is now known as DarkAceZ
15:44-!-Rieksts [] has quit [Ping timeout: 480 seconds]
15:47-!-Wolf01 [] has joined #openttd
15:48<Wolf01>ho ho ho.. no, wrong time
15:54<@Alberth>hi hi
15:55<@Alberth>practising never hurts :)
16:06-!-Pixa [~pixa@] has joined #openttd
16:17<@planetmaker> <-- anyone wants to provide some translation?
16:18<Wolf01>newobjects patch 2, the revenge?
16:19-!-sla_ro|master [~slamaster@] has quit [Quit: connection reset by myself]
16:19<Wolf01>or just a grf?
16:19<@planetmaker>It's a landscape grf
16:19<@planetmaker>with some NewObjects
16:20<@planetmaker>exactly four to be precise
16:21<@Alberth>perhaps add a <p> before 'English' in the translation output?
16:21<@planetmaker>yes, likely :-)
16:22<@planetmaker>when my repo is in a less modified state :-)
16:22<@planetmaker>though... it's a single file I don't touch... yes
16:22<@Alberth>discover the concept 'local clone' :)
16:23<@planetmaker>or commit and ammend. and unnamed branches :-)
16:23<@Alberth>so many strings for a landscape newgrf! :o
16:23<@planetmaker>parameters. parameters :-)
16:26<@Alberth>good night
16:26<@planetmaker>good night
16:26-!-Alberth [] has left #openttd []
16:28<Supercheese>[url]nightly builds[/url]
16:28<Supercheese>broken url
16:28<Supercheese>or rather, no url specified
16:29<@planetmaker>yeah, fixed
16:29<Supercheese>also [url]changed since[/url]
16:30<@planetmaker>also, yes :-) ty
16:30<Supercheese>you're welcome :)
16:41<@Terkhen>good night
16:43<@planetmaker>g'night Terkhen
16:49-!-Nat_aS [] has joined #openttd
16:50-!-Dr_Tan [] has quit [Ping timeout: 480 seconds]
16:54-!-KouDy [~KouDy@] has quit [Quit: Leaving.]
17:37-!-oskari89 [] has quit []
17:38-!-Zuu [] has quit [Ping timeout: 480 seconds]
17:42-!-Djohaal [] has joined #openttd
17:47-!-parkette [] has joined #openttd
17:50-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
17:59-!-Biolunar__ [] has quit [Quit: My life for Aiur]
18:25-!-frosch123 [] has quit [Remote host closed the connection]
18:26-!-Alice3 [] has quit []
18:31-!-Devroush [] has quit []
18:55-!-LANJesus [] has quit [Remote host closed the connection]
19:40-!-HellTiger [] has quit [Quit: KVIrc 4.2.0 Equilibrium]
20:41<Eddi|zuHause>to continue the random startrekness: :p
20:51-!-Djohaal [] has quit [Read error: Connection reset by peer]
21:33-!-gelignite [] has quit [Quit:]
21:57-!-glx [] has quit [Quit: Bye !]
22:13-!-tokai|noir [] has joined #openttd
22:13-!-mode/#openttd [+v tokai|noir] by ChanServ
22:18-!-Extrems [borgs@] has quit [Read error: Connection reset by peer]
22:18-!-Markavian` [] has joined #openttd
22:19-!-Extrems [borgs@] has joined #openttd
22:19-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
22:26-!-Markavian [] has quit [Ping timeout: 480 seconds]
22:26-!-argonel [] has joined #openttd
22:51-!-pugi_ [] has joined #openttd
22:57-!-pugi [] has quit [Ping timeout: 480 seconds]
22:57-!-pugi_ is now known as pugi
23:28-!-HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
---Logclosed Fri May 10 00:00:57 2013