Log for #openttd on 18th February 2012:
Times are UTC Toggle Colours
00:00:22  <Nat_as> why do all these layout examples have xbox huge rail yards.
00:00:52  <Nat_as> I don't like it when the junctions are more than twice as large as the stations.
00:01:17  <Nat_as> also I never build single track
00:01:36  <Nat_as> double or quad track Ro-ro drive through all day evrry day
00:03:07  <andythenorth> Rhamphoryncus: I'm going to file this python under 'problem for tomorrow' ;)
00:03:17  <Rhamphoryncus> heh
00:03:24  <andythenorth> but I'll keep the suggestions in mind
00:03:29  <Rhamphoryncus> Nat_as: volume :)
00:03:46  <Rhamphoryncus> Also, many are from openttdcoop, which does nothing small
00:03:53  <andythenorth> quite often I wake up with the answer to a code problem
00:04:13  <Rhamphoryncus> Nat_as: got a specific example in mind?  There might be another reason
00:04:18  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
00:05:24  <Nat_as> I just had a gridlock in one of my ro-ro stations that ended in a catistrophic crash when I tried to un-jam it
00:06:13  *** FLHerne [] has left #openttd []
00:08:01  *** andythenorth [] has left #openttd []
00:08:08  <Rhamphoryncus> I think we've all done that
00:11:35  *** MNIM [] has joined #openttd
00:12:32  <dihedral> Zuu: to unify the communication options between bots and NoGo scripts ;-)
00:12:44  <dihedral> make a "standard"
00:13:24  <dihedral> else each NoGo script will need it's own bot on the other end handling data (in case it should make use of the json part)
00:13:39  *** snack2 [] has quit []
00:14:46  <Zuu> I haven't looked at the admin port before. Have you looked at the NoGo admin port API? It says something there about json.
00:15:43  <Zuu> And here is the event that a NoGo can listen to:
00:16:14  <Nat_as> i wish signals existed at the boarders between tiles instead of on tiles
00:16:20  <Zuu> It appears that the API doesn't parse the json string back to a table. That is probably the missing link in what you like to do.
00:16:20  <Nat_as> would make layouts much simpler.
00:19:45  <Zuu> dihedral: Or do you aim to also standardize some sort of protocol ontop of the json layer?
00:21:02  <Xaroth> no need to make a protocol on top of that
00:21:43  <Xaroth> 1 bit is the descriptor of what you send, the rest is the data attached to that, done
00:22:26  <Zuu> Hmm, actually GSEventAdminPort::GetObject might return a table or something else in usual Squirrel data types.
00:27:21  *** chester [] has quit [Remote host closed the connection]
00:29:09  *** Devroush [] has quit []
00:31:40  *** Mucht [] has quit [Remote host closed the connection]
00:35:17  *** cypher [] has joined #openttd
00:38:38  *** Progman [] has joined #openttd
00:41:04  *** Zuu [] has quit [Ping timeout: 480 seconds]
00:45:29  <Wolf01> 'night
00:45:32  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
00:48:13  *** valhallasw [~valhallas@] has joined #openttd
00:48:29  *** supermop [] has quit [Quit: supermop]
00:51:39  *** TWerkhoven [] has quit [Quit: He who can look into the future, has a brighter future to look into]
01:01:19  *** cypher [] has quit [Ping timeout: 480 seconds]
01:08:21  *** bryjen [~bryjen@] has joined #openttd
01:08:33  *** theholyduck [] has quit [Read error: Connection reset by peer]
01:14:40  <Nat_as> is there a way to get trains to maintenance at any convenient depot
01:14:58  <Nat_as> I like the mantance if needed button, but it's kind of awquard to have to specify depots
01:15:21  <Nat_as> esp if you want them to each use diffrent ones to avoid congestion.
01:19:49  <Rhamphoryncus> click the dropdown arrow and select maintain (or depot?)
01:20:08  <Nat_as> where?
01:20:22  <Nat_as> I know about the maintain/refit optin
01:20:38  <Nat_as> but is there a way to tell it to just pick a depot by itself when needed?
01:20:53  <Nat_as> like how it finds a depot when you give it a goto depot order
01:20:58  <Nat_as> only by itself
01:21:19  <Rhamphoryncus> hit the down triangle beside "go to", select "go to nearest depot", then highlight that order, then hit "maintain"
01:21:42  *** pjpe [] has quit [Quit: ajax IRC Client]
01:21:55  <Terkhen> good night
01:22:08  <Rhamphoryncus> Note that maintain means "maintain if needed" as opposed to always getting maintenance.  The default for that order is always getting maintenance
01:22:45  *** Pixa [~pixa@] has joined #openttd
01:23:05  <Rhamphoryncus> Also note that it picks a specific depot as soon as it starts the order, so if you have a lot of trains getting maintenance  you should use a conditional order and joined waypoints instead
01:25:13  <Nat_as> yes
01:25:16  <Nat_as> I understand that
01:25:32  <Nat_as> I want to to find a depot automaticly when it needs to maintain
01:25:45  <Nat_as> instead of Checking every time it passes this depot
01:26:16  <Rhamphoryncus> The default finds one when it needs one, but won't if there isn't one close by.. which is why it does that
01:26:45  <Rhamphoryncus> What you can do is insert maintain-at orders after each stop
01:26:57  <Nat_as> no nono
01:27:00  <Nat_as> that's WHAT I DO NOW
01:27:05  <Nat_as> I want an alternitive to that
01:27:15  <Rhamphoryncus> I don't understand the problem then
01:27:21  <Nat_as> because that means I have to click each depot at each stop
01:27:42  <Nat_as> and even if I build two depots per stop, trains will still try to use the same one
01:27:50  *** LordPixaII [] has quit [Ping timeout: 480 seconds]
01:27:52  <Nat_as> I want it to look for a depot itself
01:27:58  <Rhamphoryncus> <Rhamphoryncus> Also note that it picks a specific depot as soon as it starts the order, so if you have a lot of trains getting maintenance  you should use a conditional order and joined waypoints instead
01:28:09  <Rhamphoryncus> That's what I was referring to
01:28:10  *** mahmoud [] has quit [Ping timeout: 480 seconds]
01:28:18  <Nat_as> or possibly combine depots so it understands to pick the one that is clear.
01:28:20  <Rhamphoryncus> load balancing of depots
01:28:50  <Rhamphoryncus> You can't join depots but you can combine waypoints (ctrl-click when building)
01:28:50  <Eddi|zuHause> use waypoints?
01:29:30  <Eddi|zuHause> "if needs servicing, goto waypoint => goto nearest depot"
01:29:30  <Rhamphoryncus> So what you do is have it go to the waypoint, but make sure the waypoints are balanced (combo signals or whatever), then each waypoint has a depot after it
01:30:01  <Nat_as> huh?
01:30:22  <Nat_as> what do waypoints have to do with depots?
01:30:37  <Rhamphoryncus> You cannot join depots.  You can join waypoints
01:30:54  <Rhamphoryncus> Use the waypoints to split the trains on to different tracks, and have them only look for a depot after the waypoint
01:31:26  <Nat_as> but you have to tell them to visit the depot
01:31:36  <Nat_as> I don't want to have to click on a depot
01:31:46  <Nat_as> if I wanted to manualy assign trains to depots I would just do that
01:31:47  <Eddi|zuHause> no, you can tell them to visit "a" depot
01:31:56  <Nat_as> how?
01:32:01  <Nat_as> that's an option?
01:32:07  <Nat_as> (this is what I was asking in the first place)
01:32:10  <Eddi|zuHause> by choosnig "find nearest depot"
01:32:11  <Rhamphoryncus> What's a good image dump?  I'll put up an example
01:39:10  *** Illegal_Alien [~Illegal_A@] has quit [Read error: Connection reset by peer]
01:42:59  <Nat_as> Dropbox
01:43:39  <Nat_as> if you sign up from this link we both get extra free space
01:43:51  <Rhamphoryncus> hmm, yes, no.  Signing up makes it a bad image dump.
01:44:16  <Nat_as> it's really usefull though
01:44:24  <Rhamphoryncus> Don't care.  It's still bad.
01:44:25  <Nat_as> I use it to host all my pictures and documents
01:44:51  <Nat_as> no content or bandwidth restrictions. Free 2gb
01:45:04  <Nat_as> sorry 4gb
01:45:13  <Nat_as> and it syncs files between two computers
01:45:21  <Nat_as> (or 3 in my case)
01:45:50  <Rhamphoryncus> Still bad.
01:45:56  <Rhamphoryncus>
01:46:26  <Nat_as> ohh
01:46:29  <Nat_as> so many hidden menus
01:46:36  <Rhamphoryncus> yes :(
01:46:50  <Nat_as> it would be cool if there were more ways to sort trains in the buy list
01:47:10  <Nat_as> like if there was a sub menu inside of running cost so you could sort by running cost and reliability
01:47:41  <Nat_as> power/running cost is nice, but more bivariable sorts would be cool.
01:52:28  *** bryjen [~bryjen@] has quit [Quit: Leaving]
01:52:33  *** Phoenix_the_II [] has quit [Ping timeout: 480 seconds]
02:01:41  <Nat_as> which is better, building a short feeder line or extending the station catchment area?
02:04:59  <Rhamphoryncus> Mechanically?  Extending, 100%
02:05:05  <Nat_as> and is this a good idea to increase the amount of trains that can be loading/unloading at once, or an accident waiting to happen?
02:05:08  <Rhamphoryncus> fun.. can go either way
02:05:41  <Nat_as> I call it the super terminus.
02:06:09  <Rhamphoryncus> A single passthrough?  The amount that can enter/exit at any time will still be very limited
02:06:44  <Rhamphoryncus> And.. if all 4 of the rear platforms are occupied then 1 train could block the access to them
02:07:11  <Rhamphoryncus> Technically they might go through the forward platforms in that case.  It's hard to tell though.
02:08:49  <Nat_as> yes I could double the passthrough
02:08:50  <Rhamphoryncus> If you really want to extend lengthwise like that I'd suggest disconnecting the front platforms so that pass-through is the only way, remove the inward signal so a train won't wait there, and stick a waypoint in for trains you expect to sit for a while
02:09:15  <Nat_as> well this IS an unloading station
02:09:19  <Nat_as> trains don't wait here long
02:09:33  <Nat_as> unlike farm stations which typicaly have at least one train loading at all times
02:09:50  <Rhamphoryncus> Also, be aware of why trains are sitting for a while.  If they're loading goods then there's a potential for them to block the track in and not let the unload trains come
02:09:55  <Nat_as> then I am limited to how many trains I dare let sit at the station
02:09:57  <Nat_as> yeah
02:10:00  <Rhamphoryncus> Pure unloading?  Goods are picked up from trucks?
02:10:54  <Nat_as> oh some goods
02:11:00  <Nat_as> forgot that
02:11:11  <Rhamphoryncus> heh
02:11:19  <Nat_as> I don't have many goods/food cars though
02:11:26  <Nat_as> just one or two cars mixed into other trains mostly
02:11:30  <Rhamphoryncus> If you take out that signal and stick a waypoint there then the depot *might* act like an overflow
02:12:09  <Nat_as> in the beginning i actually mixed them with passengers, and still do on some smaller lines
02:12:17  <Nat_as> but now i have dedicated express trains
02:12:22  <Rhamphoryncus> But also be aware that once a train enters the depot it will be able to path out to the front platforms, which it will happily do
02:13:13  <Nat_as> I wish it was easier to mix cargos
02:13:26  <Nat_as> I have to make a dedicated food boxcar at the end of a miaze train
02:13:47  <Nat_as> I could set to refit, but that would mean a million tons of food getting shiped to some tiny farm town
02:13:48  <Rhamphoryncus> If you really wanted it robust I'd remove the front unloading platforms and rebuild them as a separate station.  Make sure that's *always* an unloading station.
02:13:53  <Nat_as> no partal refet
02:13:59  <Nat_as> or mixed cargo in cars.
02:14:00  <Rhamphoryncus> Yeah, that's a pain
02:15:21  <Nat_as>  also aircraft can only cary one type of cargo at once
02:15:57  <Rhamphoryncus> As for throughput on dropoff trains.. often it's the entry that's the limiting factor, and in particular the tendency to path across to a different platform and block any other train from entering/exiting at the same time
02:16:22  <Rhamphoryncus> Which is why roro is popular.  Minimum of 1 entry and 1 exit at a time
02:17:22  <Nat_as> hmm i might be able to lower stress if I route my express trains to the oil refinery station (just of screen)
02:17:27  <Rhamphoryncus> Mind you, that junction at the top right can't be terribly high throughput either
02:17:36  <Nat_as> it's also the airport but has less passinger catchment
02:17:46  <Nat_as> although that shouldn't be an issue since this is cargo dist
02:18:45  *** lofejndif [] has quit [Quit: Leaving]
02:23:03  *** pugi [] has quit [Ping timeout: 480 seconds]
02:33:00  *** Progman [] has quit [Remote host closed the connection]
02:33:40  *** peteris [~peteris@] has quit [Quit: Ex-Chat]
02:43:36  *** Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
02:46:51  *** pjpe [] has joined #openttd
02:47:43  *** supermop [] has joined #openttd
02:58:58  *** roboboy [] has joined #openttd
03:01:36  *** valhallasw [~valhallas@] has quit [Ping timeout: 480 seconds]
03:19:19  *** glx [glx@2a01:e35:2f59:c7c0:50a4:2f26:49f9:6864] has quit [Quit: bye]
03:23:43  *** roboboy [] has quit [Ping timeout: 480 seconds]
03:32:44  *** Firartix [] has quit [Ping timeout: 480 seconds]
03:33:19  *** roboboy [] has joined #openttd
03:56:58  *** Nat_as [] has quit [Quit: ajax IRC Client]
03:59:25  *** a2A209_ [] has joined #openttd
04:01:01  *** a2A209_ [] has quit []
04:38:01  *** cmircea [~cmircea@] has joined #openttd
04:57:04  *** pjpe [] has quit [Quit: ajax IRC Client]
04:59:50  *** pjpe [] has joined #openttd
05:14:51  *** kkb110_ [] has quit [Ping timeout: 480 seconds]
05:24:24  *** kkb110_ [] has joined #openttd
06:04:16  *** roboboy [] has quit [Read error: Operation timed out]
06:14:52  *** hbccbh [~hbc@] has joined #openttd
06:43:38  *** Eddi|zuHause [] has quit []
06:43:59  *** Eddi|zuHause [] has joined #openttd
06:56:10  *** roboboy [] has joined #openttd
06:56:43  *** andythenorth [] has joined #openttd
06:58:59  * andythenorth hmms
06:59:04  <andythenorth> also
06:59:09  <andythenorth> morning
07:01:00  <Rubidium> 'allo 'allo
07:01:47  <andythenorth> is it really bad manners to include far too many pngs?
07:02:33  <andythenorth> i.e. to do different coloured cargos in the spritesheet, instead of using recolour sprites?
07:02:38  <Rubidium> too many as in many many many, but mostly needed... or many many many, but onlya few needed
07:02:59  <andythenorth> as in 'could be done with recolour sprites' :)
07:03:20  <andythenorth> but recolour sprites don't interest me
07:03:41  <andythenorth> having my pixel generator just write out another png in correct colour interests me
07:04:28  <Rubidium> that shouldn't be a big problem I'd say; after all recolour sprites add magic voodoo
07:04:54  *** MNIM [] has quit [Ping timeout: 480 seconds]
07:07:22  <andythenorth> I was thinking about whoever pays the bandwidth :)
07:08:59  <andythenorth> :o PIL is writing out insanely large png files
07:09:11  <andythenorth> 86KB on disk for one spritesheet
07:09:31  <andythenorth> photoshop compresses it 2.2KB (4KB on disk due to minimum block size)
07:09:31  *** MNIM [] has joined #openttd
07:09:47  <andythenorth> with no loss and no removal of palette
07:13:18  * andythenorth discovers PIL optimize=1 option
07:13:53  <andythenorth> ~5.4KB is PIL's best effort
07:14:07  *** supermop [] has quit [Quit: supermop]
07:20:23  <Rubidium> but you'd generate the spritesheets during compilation, right? ;)
07:20:52  <andythenorth> yup
07:20:55  *** robotboy [] has joined #openttd
07:20:56  <andythenorth> as needed
07:21:11  <andythenorth> I could batch them through photoshop to reduce size
07:21:29  <Rubidium> but then it's not about bandwidth
07:21:33  <andythenorth> Rubidium: do recolour sprites have performance implications for ottd?
07:22:04  *** roboboy [] has quit [Ping timeout: 480 seconds]
07:22:06  <Rubidium> I think they do
07:22:59  <Rubidium> although there might also be performance implications of many sprites when the spritecache fills, although with the current cache size that's not something that's very likely I think
07:23:16  <andythenorth> it's probably swings / roundabouts
07:23:36  <andythenorth> so filesize doesn't seem to be a concern for newgrfs afaik
07:23:50  <andythenorth> and what I'm doing is no worse than many sets do anyway
07:24:12  <andythenorth> e.g. HEQS I drew sprites for every supported bulk cargo type
07:31:15  *** robotboy [] has quit [Ping timeout: 480 seconds]
07:46:42  *** andythenorth [] has quit [Quit: andythenorth]
07:50:26  *** Pulec [] has joined #openttd
07:50:31  *** DDR [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0.1/20120210023155]]
07:51:04  *** andythenorth [] has joined #openttd
07:52:42  *** Homer [] has joined #openttd
07:55:09  *** tk [~tk@] has quit [Quit: leaving]
08:03:59  *** Pulec [] has quit [Ping timeout: 480 seconds]
08:07:27  *** Pulec [] has joined #openttd
08:15:28  *** Pulec [] has quit [Ping timeout: 480 seconds]
08:18:08  *** andythenorth [] has quit [Quit: andythenorth]
08:18:51  *** Pulec [] has joined #openttd
08:25:30  *** Elukka [] has quit [Ping timeout: 480 seconds]
08:26:58  *** Pulec [] has quit [Ping timeout: 480 seconds]
08:27:04  *** robotboy [] has joined #openttd
08:28:50  *** Homer [] has quit [Quit: ajax IRC Client]
08:30:46  *** Pulec [] has joined #openttd
08:39:05  *** robotboy [] has quit [Ping timeout: 480 seconds]
08:39:24  *** Pulec [] has quit [Ping timeout: 480 seconds]
08:39:57  *** lmergen [] has joined #openttd
08:41:59  *** tokai|noir [] has joined #openttd
08:42:02  *** mode/#openttd [+v tokai|noir] by ChanServ
08:44:31  *** Pulec [] has joined #openttd
08:44:56  *** Alberth [] has joined #openttd
08:44:59  *** mode/#openttd [+o Alberth] by ChanServ
08:46:40  *** tokai|mdlx [] has quit [Read error: Operation timed out]
08:50:44  *** Progman [] has joined #openttd
08:54:47  *** tokai|mdlx [] has joined #openttd
08:57:54  *** pjpe [] has quit [Quit: ajax IRC Client]
09:00:10  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
09:09:14  *** Pulec [] has quit [Ping timeout: 480 seconds]
09:12:03  *** Pulec [] has joined #openttd
09:12:22  *** andythenorth [] has joined #openttd
09:14:25  *** hbccbh [~hbc@] has quit [Ping timeout: 480 seconds]
09:20:45  <Terkhen> good morning
09:24:13  *** Pulec [] has quit [Ping timeout: 480 seconds]
09:25:10  <andythenorth> hola Terkhen
09:25:24  <Alberth> moin Terkhen, andythenorth
09:25:27  <andythenorth> Alberth: moin
09:25:50  <Alberth> nice, more than two loading stages :)
09:25:55  <andythenorth> yup
09:26:01  *** Pulec [] has joined #openttd
09:26:01  <andythenorth> but I have a design question :)
09:26:06  * andythenorth just needs to make a commit
09:27:11  <andythenorth> Alberth: I'm experimenting with moving the sequence definitions to separate files
09:27:16  <andythenorth> one per vehicle type (gestalt)
09:27:17  <andythenorth>
09:27:33  <andythenorth> but I've also used an object to hold the sequence (suggested by Rhamorphycus)
09:27:52  <andythenorth> this causes me a headache with imports
09:28:00  <andythenorth> I'm certain there's a better way...
09:28:41  <andythenorth> currently I would have to define this stubby P object in every gestalt file, which is silly
09:28:52  <Alberth> yeah, imports are not designed to be done temporary
09:30:15  <andythenorth> I could move the config stuff to config files, but that seems inefficient for this case
09:30:19  *** Zuu [] has joined #openttd
09:30:56  <andythenorth> I could do without the stubby P object, but it seems nice in principle
09:32:01  <Alberth> say you have 2 gestalts, what do you want to do?
09:32:17  <Alberth> as in, what's the output?
09:32:25  *** hbccbh [~hbc@] has joined #openttd
09:32:36  <Alberth> 2 files?
09:32:40  *** Devroush [] has joined #openttd
09:33:15  * andythenorth ponders
09:33:16  <Alberth> or do you have say 3 vehicles of each gestalt?
09:33:34  <andythenorth> so gestalts might be: tanker, tipper, flatbed
09:33:48  <andythenorth> and I might generate one of each for 5/8, 6/8, 7/8, 8/8 long
09:33:55  <andythenorth> (also loading states, but that's a detail)
09:34:26  <andythenorth> and the final pngs might all just be single row, but that's also a detail
09:35:19  <andythenorth> I should probably figure out a design before coding :
09:35:22  <andythenorth> :o
09:35:32  <andythenorth> but sometimes code tells me what the design wanted to be :)
09:35:48  <Alberth> one way is to import all and store the gestalts in a dict, so you can select it easily
09:36:04  <andythenorth> ok
09:36:51  <andythenorth> how might I define these stubby P objects in just one place, instead of in every gestalt file?
09:36:59  <Alberth> the disadvantage is that you have to keep a list of available gestalts, but if you don't add/remove them often, that's not a problem
09:37:08  <andythenorth> that would be fine
09:37:14  <andythenorth> I need the list anyway
09:37:22  <Alberth> define it separately, and import it in every gestalt file
09:37:33  *** DayDreamer [~DayDreame@] has joined #openttd
09:37:57  *** mahmoud [] has joined #openttd
09:38:00  *** DayDreamer [~DayDreame@] has quit []
09:38:02  <andythenorth> ok
09:38:26  <andythenorth> that means I'd need to add to the module search path in every gestalt file?
09:38:43  <andythenorth> or can they inherit from importing module?
09:39:08  <Alberth> just make a proper package
09:39:35  * andythenorth is reading python docs on packages...
09:39:45  <Alberth> ie add an empty in each sub-directory, and import from the root of the package
09:40:29  <Alberth> (and move the main script outside the package :p )
09:40:49  <andythenorth> ah.  that's why there are so many files in the python projects I work on :)
09:40:51  <Alberth> often the main script is not much more than    from package import main;
09:41:12  <andythenorth> the package should be the gestalts?  Or the gestalts + generator?
09:41:47  * andythenorth -> toddler poo incident
09:41:48  <andythenorth> brb
09:42:57  <Alberth> I'd make the pixel_test_generator top-level. The files in misc look like 'commands' rather than 'library functions'
09:43:50  <Alberth> basically, the script that you run should be in the same directory as the top-level package directory
09:44:05  <Alberth> that way you don't have to do magic with python paths
09:47:14  <andythenorth> poo incident resolved
09:47:34  <andythenorth> +1 on where top-level should be
09:47:40  * andythenorth will now be reading more about packages
09:48:20  * andythenorth ponders
09:48:53  <andythenorth> might there be any noticeable difference between encoding lots of small pngs or few large pngs?
09:49:12  <andythenorth> file I/O _might_ be a factor I'm thinking
09:49:20  <andythenorth> for compile time
09:49:32  <andythenorth> but maybe file I/O is insanely fast now?
09:49:42  <Alberth> most systems have a large disk-cache
09:50:12  <Alberth> if you have enough memory, that is.   So from the 2nd time, you are basically working from memory
09:50:13  *** robotboy [] has joined #openttd
09:50:33  <Alberth> I would expect pixel plotting to be more costly
09:50:58  <andythenorth> I was wondering about nmlc / grfcodec times too
09:51:16  <andythenorth> I don't mind if compiling all pngs is slow, it's an occasional task
09:51:31  <andythenorth> and I could optimise it to only compile what's needed (with command line args or such)
09:51:42  <Alberth> yeah, but the profile showed it's actually expression reduction in nml that's slow rather than pushing pixels
09:51:56  <andythenorth> profiling ftw :)
09:52:59  <Alberth> I normally make sure code scales nicely, and then stop worrying about performance
09:53:37  <Alberth> it is pretty impossible to guess what will cause problems, or even if you will ancounter them
09:53:43  <Alberth> *encounter
09:54:21  *** sla_ro|master [slaco@] has joined #openttd
09:54:58  <Alberth> you may want to make sure that you have a simple relation between input and output files, and be able to generate only a part
09:55:21  <Alberth> that way, you can use a Makefile easily
09:56:28  *** |Jeroen| [] has joined #openttd
10:00:05  *** pugi [] has joined #openttd
10:00:06  *** hbccbh [~hbc@] has quit [Read error: Connection reset by peer]
10:10:56  *** Pulec [] has quit [Ping timeout: 480 seconds]
10:13:53  *** Pulec [] has joined #openttd
10:19:22  *** tokai|noir [] has joined #openttd
10:19:26  *** mode/#openttd [+v tokai|noir] by ChanServ
10:19:43  <andythenorth> python package appears to work now
10:19:58  <andythenorth> quote from the tutorial I used: "have each and every script manually manipulate the PYTHONPATH so that
10:19:58  <andythenorth> when the user calls that script, it adds its parent folder to the
10:19:58  <andythenorth> PYTHONPATH before importing what it needs. Messy and ugly.
10:19:58  <andythenorth> "
10:21:57  *** Pulec [] has quit [Ping timeout: 480 seconds]
10:23:20  *** hbccbh [~hbc@] has joined #openttd
10:23:52  *** Pulec [] has joined #openttd
10:24:38  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
10:29:47  <SpComb> andythenorth: running your packages scripts while developing?
10:29:56  *** tokai|mdlx [] has joined #openttd
10:32:03  *** Pulec [] has quit [Ping timeout: 480 seconds]
10:35:09  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
10:35:19  *** Pulec [] has joined #openttd
10:37:31  <andythenorth> kind of
10:38:12  <andythenorth> not from the shell though
10:38:15  <andythenorth> as module imports
10:39:24  *** tokai|noir [] has joined #openttd
10:39:27  *** mode/#openttd [+v tokai|noir] by ChanServ
10:42:56  *** mahmoud [] has quit [Quit: Quitte]
10:43:50  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
10:44:39  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
10:47:28  *** Pulec [] has quit [Ping timeout: 480 seconds]
10:49:22  *** hbccbh [~hbc@] has joined #openttd
10:49:26  *** Pulec [] has joined #openttd
10:53:57  *** peteris [~peteris@] has joined #openttd
10:57:17  *** lmergen [] has quit [Ping timeout: 480 seconds]
10:57:26  *** theholyduck [] has joined #openttd
10:57:28  *** Pulec [] has quit [Ping timeout: 480 seconds]
11:00:03  <andythenorth> Alberth: a single input to this generator is (probably) a png file containing floor plan(s) of given length
11:00:16  <andythenorth> and to build the entire set, I would pass a list of pngs somehow
11:00:24  *** Pulec [] has joined #openttd
11:00:53  <andythenorth> input pngs can be assumed to be in a single directory
11:02:23  <andythenorth> I would need to know the length somehow, for file naming convention purposes
11:05:21  <andythenorth> I have the config file for BANDIT....which contains this information
11:06:14  <andythenorth> hmm...I'd prefer not to tightly couple the pixel generator and the build script
11:11:00  *** frosch123 [] has joined #openttd
11:11:44  <Alberth> one form could be to make a python file with the configuration data, then import some module from the package, and call mymoduke.doit(config_data)
11:20:43  *** Pulec [] has quit [Ping timeout: 480 seconds]
11:22:50  *** Pulec [] has joined #openttd
11:25:28  *** Firartix [] has joined #openttd
11:34:58  *** Pulec [] has quit [Ping timeout: 480 seconds]
11:36:52  *** Pulec [] has joined #openttd
11:37:28  *** TGYoshi [~TGYoshi@] has joined #openttd
11:38:21  <andythenorth> it might be better if the pixel generator knows almost nothing about filenames etc
11:38:51  <andythenorth> and just takes the name of the input png, and appends the gestalt id to it
11:39:16  <andythenorth> e.g. trailer_7_8.png becomes trailer_7_8_tanker.png trailer_7_8_flatbed.png etc
11:39:36  <Alberth> makes sense
11:39:40  <andythenorth> so the generator is deliberately very stupid in that respect
11:40:00  <andythenorth> I don't want config files with n-dimensional complexity :P
11:40:24  <andythenorth> dimensions would be: vehicle id, gestalt, load sprites :P
11:40:35  <andythenorth> also colour options :o
11:41:19  <andythenorth> so maybe I have one config file for the generator, which sets the available gestalts and any variations they provide, like colour
11:41:36  <andythenorth> and use the BANDIT config file to make calls to the generator on demand
11:41:38  <Alberth> you can also make a configuration class that understands the relations
11:41:54  <andythenorth> any chance of an example? :)
11:42:33  <Alberth> not really :(
11:43:02  <Alberth> but then you could move the filename manipulation above out of the generator, for example
11:43:25  <andythenorth> sounds like interfaces and adapters
11:43:34  <andythenorth> mymodule.quak()
11:43:56  <Alberth> no doubt it is not a new problem :)
11:44:13  <andythenorth>
11:44:55  <andythenorth> ^ somewhat overkill :P
11:45:27  <frosch123> you have module that supports quaking? nice :)
11:45:29  <Alberth> well, have fun with it, I have enough general frameworks at work already :p
11:45:36  <andythenorth> I won't be using that.  That's work
11:45:40  <andythenorth> and other people do that bit
11:46:05  <andythenorth> I do vaguely useless things, like write their paycheque once a month and tidy away the dangerous wires and things
11:46:27  <andythenorth> frosch123: all python modules support quak() :P
11:47:17  <andythenorth> it even handles the ambiguity between english quak (duck) and your quak (frog)
11:47:34  <andythenorth> hmm
11:47:55  <andythenorth> so the generator could just handle sequencing the sprites, and returning them as a bitmap in memory or such
11:48:13  <andythenorth> something else could write them to disk
11:48:21  <andythenorth> might be over-engineering at this stage?
11:48:41  <frosch123> job offer: OpenTTD is looking for a restless warrior, who copies silly bug reports (like FS#5071) to known-bugs.txt. You will be able to gain a lot of insanity in this job.
11:49:10  <andythenorth> curl url | regex > append to file?
11:49:16  <MNIM> What else does it get you, besides insanity?
11:49:40  *** valhallasw [~valhallas@] has joined #openttd
11:50:00  <frosch123> you can have unidirectional communcation with a lot of people
11:50:30  <frosch123> maybe that feels better than communicating with /dev/null
11:52:40  <Alberth> andythenorth: doing one thing at the same time makes the software nicely modular and flexible
11:53:21  <andythenorth> Alberth is that +1 or -1 in favour of separating pixel sequencing from file writing? :)
11:53:41  <Alberth> +1
11:53:44  <andythenorth> k
11:54:59  <andythenorth> what I need to do (I think) is open a config file, or pass a config class which: defines a list of output targets (filename), and for each output, which gestalt and options to use
11:55:15  <andythenorth> options could be define within the gestalt perhaps
11:55:35  <andythenorth> I think it makes more sense to specify desired output and how to achieve it
11:55:42  *** chester [] has joined #openttd
11:55:47  <andythenorth> rather than specify input and have lots of rules in the generator
11:57:00  *** FLHerne [] has joined #openttd
12:01:16  <andythenorth> hmm
12:01:54  <andythenorth> should the gestalts be in the generator package?
12:02:00  <andythenorth> or should they be passed to it as objects?
12:03:39  * andythenorth is hitting limits of coding ability :P
12:03:53  <andythenorth> I am not a good architect of implementations :P
12:05:18  *** Pulec [] has quit [Ping timeout: 480 seconds]
12:06:18  *** LordPixaII [] has joined #openttd
12:06:54  <SpComb> andythenorth: just hack at it until it works \o/
12:07:11  *** Pulec [] has joined #openttd
12:07:23  <andythenorth> hack at it until $someone else fixes it is my usual approach ;)
12:07:28  <SpComb> but seriously, config files aren't really that great in Python
12:07:32  <SpComb> stdlib just has ConfigParser and it smells
12:07:51  <Alberth> since the generator needs a gestalt object, you either pass a name or an object. In the former case it's easier to specify, in the latter case it is easier to make a custom gestalt
12:08:21  <SpComb> andythenorth: but important to note re Python; `import` is strictly for code, never for data
12:08:32  <andythenorth> SpComb: tell nml that ;)
12:08:33  <andythenorth> I might want custom gestalts
12:08:53  <andythenorth> also yes - importing the gestalts seems wrong
12:09:03  <Alberth> configuration object :)
12:09:24  <andythenorth> hmm...I'll still end up importing gestalts from disk somewhere :o
12:09:34  <Zuu> Hmm, noone has published a water body pathfinder as NoGo library.
12:09:50  <Alberth> that's not a problem imho, constants can be seen as code imho
12:10:30  <Alberth> Zuu: path finding at sea is very hard to do efficiently
12:11:02  <Zuu> In this case Djikstras would be fine as I only want to check if the user has built a canal between two tiles or not.
12:11:22  <Alberth> lol :)
12:11:55  <SpComb> andythenorth: one option is to have the gestalts import the common code
12:11:57  <SpComb> works better that way
12:12:03  *** Pixa [~pixa@] has quit [Ping timeout: 480 seconds]
12:12:17  <andythenorth> ha yes
12:12:21  <andythenorth> of course :)
12:12:26  * andythenorth didn't think of that
12:12:41  <Zuu> Alberth: not very hard to implement, was just hoping to save myself some work by using existing code. :-)
12:12:43  <andythenorth> that would be much better
12:13:00  <andythenorth> that's like providing each gestalt with a render() method
12:13:14  <andythenorth> which also works much better when there is variation between the gestalts
12:14:13  <andythenorth> so each gestalt is a first class object
12:23:27  *** Pulec [] has quit [Ping timeout: 480 seconds]
12:24:07  * andythenorth ponders
12:24:28  <andythenorth> I can chain imports so each gestalt only has to import one thing to get all the common stuff it needs?
12:24:32  <andythenorth> or is that bad?
12:24:41  <andythenorth> it's just importing a package right?
12:24:59  <andythenorth> then the package imports all modules that are deps for the package?
12:25:40  *** Pulec [] has joined #openttd
12:26:16  <andythenorth> so (example), I might have a vehicle_generator package
12:26:38  <andythenorth> which provides a utility for sequencing pixels, and a utility for compositing multiple images
12:26:53  <andythenorth> and I can just import vehicle_generator package?
12:28:08  <Alberth> just import the single function that does 'it' ?
12:28:49  <andythenorth> 'it' might vary for each gestalt...
12:28:53  <andythenorth> I think this is all fine
12:29:04  * andythenorth will try coding it
12:29:09  <Alberth> you can also make a base class for gestalts that does 'it' in a general sense
12:29:26  <Alberth> and then make derived gestalt classes that do some things differently
12:29:30  <andythenorth> yup
12:30:09  <andythenorth> I think I just accidentally reinvented factory pattern :P
12:30:11  <andythenorth> nvm
12:37:48  *** Pulec [] has quit [Ping timeout: 480 seconds]
12:38:37  *** Pixa [] has joined #openttd
12:39:36  *** Pulec [] has joined #openttd
12:44:26  *** LordPixaII [] has quit [Ping timeout: 480 seconds]
12:45:03  *** Wolf01 [] has joined #openttd
12:45:17  <Wolf01> hello
12:46:32  *** lmergen [] has joined #openttd
12:47:41  *** Pulec [] has quit [Ping timeout: 480 seconds]
12:49:07  *** Pulec [] has joined #openttd
12:51:22  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
12:52:35  *** Rhamphoryncus [] has joined #openttd
13:01:13  *** Pulec [] has quit [Ping timeout: 480 seconds]
13:01:33  * andythenorth ponders procedurally generating buildings
13:01:41  <andythenorth> not complex structures
13:01:49  <andythenorth> but office blocks and such
13:02:01  <andythenorth> OpenGFX renewal? :P
13:02:29  *** Pulec [] has joined #openttd
13:03:54  *** LordPixaII [] has joined #openttd
13:09:38  *** Pixa [] has quit [Ping timeout: 480 seconds]
13:11:16  <Rubidium> andythenorth: for grfcodec you get the best performance if they are in a single file, and they would be read strictly from top-to-bottom. If the 'next' sprite starts only a single pixel higher it needs to reread the whole file up to that location
13:13:27  <Rubidium> it might be that small/short sprite files are beneficial or nml as it seems to be (re)opening the image file every time
13:14:37  *** Pulec [] has quit [Ping timeout: 480 seconds]
13:15:26  <andythenorth> Rubidium: thanks
13:15:55  *** Pulec [] has joined #openttd
13:15:57  <Rubidium> maybe preventing reopening each time might give a significant performance boost for NML?
13:16:23  <Rubidium> (but I don't know what the time consuming part of NML is so this is pure speculation!)
13:17:19  <Alberth> (22:38:03) Eddi | zuHause:  <-- profile of nml for CETS
13:17:45  <Alberth> it seems expression simplification eats lots of cpu seconds
13:18:07  * Rubidium can't connect to that server
13:20:09  * dihedral neither
13:20:28  <Alberth>   I could for some reason, perhaps the browser cached it?
13:21:06  <Rhamphoryncus> nope, works for me too
13:21:18  * MNIM blarghs at the lack of diagonal bridges.
13:21:41  <MNIM> making a three-way station is hard when you want a minimal 90degree turn length of at least five.
13:21:42  <Rhamphoryncus> MNIM: #178 on the things that suck list ;)
13:22:12  <Alberth> MNIM: only lay diagonal tracks :)
13:23:12  <MNIM> Well, I can't do that. the station is located at the stem of a T-shaped intersection.
13:23:25  <Rubidium> Alberth: it seems to miss writing the GRF
13:23:53  <MNIM> I could make it without bridges, of course, but Im trying to avoid the evil X-es.
13:24:39  <Rubidium> it spends 13 seconds in parsing the nml though
13:25:09  <Rhamphoryncus> MNIM: the general trick is to put the turns in, then make have the straight track use bridges
13:25:24  <MNIM> Well yeah, that
13:25:29  <MNIM> *;s what Im trying.
13:25:58  <MNIM> the trouble is that the only layout I can think of right now has two diagonals crossing each other.
13:26:25  <MNIM> Hmmmh. I can compact the station lexit area a bit, perhaps that'll give me enough space for an arch avoiding this.
13:26:29  <Rubidium> and this profile might be somewhat ill ordered for determining the real time consuming code
13:27:35  <Rubidium> on the other hand, maybe it isn't the code that's slow but some algorithm that's chosen "incorrectly"
13:28:35  <Alberth>   does this one work?
13:28:37  <Rubidium> 17 million base_expression inits seems a bit much to me
13:28:49  <Alberth> CETS is a bit insanely large :)
13:28:50  <Rubidium> can't connect to that one either
13:29:29  <Alberth>
13:29:30  <Rubidium> Alberth: it may be large, but... millions of constructor calls might be a bit too much
13:31:00  <MNIM> Oh hey, would you look at that.
13:31:03  <Alberth> every expression node is an object, so have a million very soon
13:31:08  <MNIM> I think Ive got one that works now.
13:31:18  *** Firartix [] has quit [Ping timeout: 480 seconds]
13:31:24  <andythenorth> hmm
13:31:50  <andythenorth> building generator would need to be procedural in two ways
13:31:57  <andythenorth> pixel sequences would need nesting
13:32:36  <Rubidium> Alberth: am I safe to assume that a + b is three nodes?
13:32:45  <Alberth> yes
13:33:21  <Alberth> and perhaps even more, depending on how the position information is stored
13:33:22  <Rubidium> so cets.nml would be at least 16 MiB to have a+b+c+d+e.... to create enough nodes
13:33:44  <Alberth> iirc, it's a separate object, so you'd have 6 objects then
13:33:59  <Rubidium> okay, you might create nodes during reduction that replace others. So assume half of them are created... still at least 8 MiB cets.nml
13:34:59  * MNIM pokes fileden.
13:35:21  <Alberth> every expression getting copied at least once would be a quite safe assumption
13:35:55  <Rubidium> looking at cets.nml there can't that many expressions
13:36:07  <Alberth> although they should be getting smaller, as nml tries to compute the constant value
13:37:25  <Alberth> I don't know what is happening inside nml in detail unfortunately
13:37:33  <Rubidium> 175k lines with something possibly useful on them
13:38:23  <Alberth> doesn't sound very large
13:38:50  <Rubidium> and it doesn't look like there are on average more than 5 expression nodes
13:39:02  <Rubidium> and then I could misc_flags: 0;
13:39:07  <Rubidium> as two nodes
13:39:47  <andythenorth> procedural building:
13:40:01  <andythenorth> that's about 10 mins work max
13:40:04  <Alberth> probably 3 as well, as you need something to hold each case together
13:40:05  <andythenorth> I'll add windows later
13:40:41  <Alberth> the people will appreciate that :)
13:40:54  <Rubidium> Alberth: my point is that I've got the feeling the number of expression nodes is off by an order of magnitude
13:43:12  <Rubidium> hmm
13:43:21  <Rubidium> it's even the init of ConstantNumeric
13:45:38  <Rubidium> there are ~800k digits in the file, so by reduction you can in theory create a single digit. Even then you'd be creating at most 800k intermediate nodes, which means 1.6M not 16M
13:45:59  <Alberth> everything is an expression afaik, even expressions reduced to a constant
13:46:31  <Rubidium>  16644431   20.191    0.000   33.590    0.000
13:46:38  <Rubidium> that means the init at line 121, right?
13:46:45  <Rubidium> that's the init of ConstantNumeric
13:47:01  <Alberth> or a derived class, but that may not exist
13:47:58  <Rubidium> I can't find a derived class
13:48:19  <Alberth> yeah, but something weird is going on, I agree
13:48:40  <Rubidium> i.e. a line with both class and ConstantNumeric that is not the definition of ConstantNumeric itself
13:49:37  <Alberth> constantnumeric doesn't sound like a useful baseclass either
13:49:53  <Rubidium> @calc 17288417 - 16644431
13:49:53  <DorpsGek> Rubidium: 643986
13:50:14  <Rubidium> so 650k non-ConstantNumeric Expressions
13:50:42  *** roboboy [] has joined #openttd
13:50:58  *** Firartix [] has joined #openttd
13:53:51  *** Xaroth [] has quit [Ping timeout: 480 seconds]
13:54:24  <Alberth> 'zoffset'       : {'value': expression.ConstantNumeric(0),  'validator': self._validate_bounding_box},  <-- they are also used in constants
13:54:41  *** lmergen [] has quit [Ping timeout: 480 seconds]
13:54:54  *** robotboy [] has quit [Ping timeout: 480 seconds]
13:58:52  *** Xaroth [] has joined #openttd
14:00:37  *** roboboy [] has quit [Ping timeout: 480 seconds]
14:04:54  *** TWerkhoven [] has joined #openttd
14:05:39  <andythenorth> ho
14:05:41  * andythenorth has ideas
14:06:25  *** roboboy [] has joined #openttd
14:09:02  *** Pulec [] has quit [Ping timeout: 480 seconds]
14:11:36  *** Pulec [] has joined #openttd
14:14:33  <andythenorth>
14:14:43  <andythenorth> planetmaker: ^ opengfx renewal? :P
14:18:31  <frosch123> can you also generate extra zoom graphics? :p
14:18:45  <frosch123> well, zi4 to zo8
14:19:12  <andythenorth> frosch123: can you scale 1 dimensional sequences?
14:19:29  <andythenorth> you can figure out an interpolation rule for neighbouring pixels
14:19:37  <andythenorth> based on contrast perhaps
14:20:07  * andythenorth is no good at maths, but you should be able to transform these pixel sequences
14:20:08  <andythenorth>
14:20:35  <V453000> you sure it isnt better to just draw it? :D
14:22:25  <andythenorth> frosch123: to get 4x zoom, for each point in list, copy into 4 points in a new list
14:22:50  <andythenorth> if colour of this point == colour of next point, the 4 new points will have same colour
14:22:59  <frosch123> you mean keep the same colours, just make the edges longer
14:23:01  <andythenorth> if colour of this point != next point -> some rule
14:23:09  <andythenorth> yup
14:23:22  <andythenorth> but you could smooth
14:24:07  <andythenorth> are EZ full 32bpp?
14:24:32  <andythenorth> smoothing with an 256 colour palette would be an arse tbh
14:24:40  <Rhamphoryncus> andythenorth: it hurts my head that your approach is working well
14:25:06  <andythenorth> why?
14:25:11  <andythenorth> life is just patterns
14:25:16  <andythenorth> architechture is just patterns
14:25:21  <andythenorth>  vehicles are just patterns
14:25:22  <andythenorth> :)
14:25:49  <Rhamphoryncus> But it *should* be about the nuance.  The subtle details that don't conform to the pattern
14:25:51  * andythenorth did technical drawing in school - it helps you think about how 3D objects can be reduced to projections, nets and meshes
14:25:59  <andythenorth> Rhamphoryncus: its 8bpp pixel art :)
14:26:13  <Rhamphoryncus> The roof is really important there
14:27:51  <Rhamphoryncus> the 8bpp is what makes it so hard.  You can't actually be subtle
14:30:35  * andythenorth just pretends it's lego
14:32:58  <planetmaker> andythenorth: replacing the houses by something less noisy is something I'd quite fancy
14:33:08  <andythenorth> houses are harder :)
14:33:22  <planetmaker> wrt zoom levels: both 8bpp and 32bpp should get zoom versions
14:34:04  <Alberth> and while you are at it, in all 4 orientations :p
14:34:12  <andythenorth> ho
14:34:30  <andythenorth> in that case we should finish the generator as a standalone python package :)
14:34:34  <andythenorth> we > me
14:34:52  <andythenorth> oh dear
14:34:56  * andythenorth just had an idea
14:35:53  <planetmaker> andythenorth: you know zephyris procedural building generator?
14:36:21  <andythenorth> yes
14:36:24  <planetmaker> ok
14:36:26  <andythenorth> he never made it shade
14:36:35  <andythenorth> he got the raster part done :)
14:36:39  <andythenorth> not the shader
14:39:12  <andythenorth> anyone guess what this results in? :D
14:40:01  <andythenorth>
14:40:15  <Rhamphoryncus> nice
14:40:55  <Rhamphoryncus> mid roof looks a little off.  In particular it doesn't continue to the back side.
14:41:01  <andythenorth> no
14:41:04  <andythenorth> I made a boo boo
14:42:21  <andythenorth>
14:42:22  <andythenorth> fixed it
14:43:15  <Rhamphoryncus> hrm.  Better, but still not quite right
14:43:51  <Rhamphoryncus> I probably wouldn't notice in a full city though
14:46:26  *** roboboy [] has quit [Read error: Connection reset by peer]
14:47:12  <andythenorth> you could always overpaint it ;)
14:49:15  <andythenorth> prefer the building in brown?  change one constant...
14:49:16  <andythenorth>
14:50:01  <MNIM> was that you, andy, who makes FIRS?
14:50:02  <Rhamphoryncus> hehe
14:50:25  <andythenorth> MNIM: not just me
14:50:28  <andythenorth> many others too
14:50:40  <MNIM> Well, anyway, I suppose you can help me then.
14:51:03  <MNIM> For some reason I can't fund a recycling plant in-game (while I can fund others)
14:51:11  <MNIM> the 'fund' button is greyed out.
14:51:17  <Rhamphoryncus> hrm.  Those are 32bpp, not 8bit?
14:51:28  *** roboboy [] has joined #openttd
14:51:34  <andythenorth> Rhamphoryncus: 8 bit
14:51:42  <Rhamphoryncus> gimp loads it as 32bpp
14:51:47  <andythenorth> MNIM: what year of game?
14:51:49  <andythenorth> Rhamphoryncus: ah
14:51:55  <andythenorth> yes
14:51:59  <andythenorth> the originals are 8bpp
14:52:12  <andythenorth> I'm pasting screenshots zoomed in
14:52:15  <Rhamphoryncus> ahhh
14:52:17  <MNIM> Oh. it's year-dependent?
14:52:27  <MNIM> oh, kay, that probably solves my problem.
14:52:36  <MNIM> playing 1915 right now.
14:52:54  <andythenorth> MNIM: 1997
14:53:24  <andythenorth>
14:53:26  <MNIM> Ah. guess I won't be planting a recycling plant nest to my steel mill any time soon then.
14:53:44  <Rhamphoryncus> good news!  My overpainting looks like shit :D
14:54:00  <Eddi|zuHause> [18.02.2012 13:28] <Rubidium> maybe preventing reopening each time might give a significant performance boost for NML? <-- my profile was created with --nfo output, so no image processing at all
14:54:33  <andythenorth> Rhamphoryncus: no proof without a link ;(
14:54:36  <andythenorth> ;)
14:55:46  <Eddi|zuHause> <Rubidium> looking at cets.nml there can't that many expressions <-- i think the template evaluation is quite problematic, it's fairly large expressions that are repeated many times
14:56:28  <Rhamphoryncus> andythenorth: try making the top building 1 pixel narrower on each side
14:57:01  <Rhamphoryncus> That approach works okay
14:57:19  <Rhamphoryncus> What didn't work was tweaking the rear roofline to look like that, but without shrinking the building
14:58:58  <Eddi|zuHause> <-- here
14:59:41  <Eddi|zuHause> probably could be improved by caching some partial results
15:01:09  <Zuu> Doh, having both american and british spelling of the same variable is not a good idea :-)
15:01:46  <Eddi|zuHause> talking about my code?
15:03:03  *** KritiK [] has joined #openttd
15:03:11  <andythenorth> Zuu: colour?
15:03:12  <andythenorth> :P
15:03:32  <Rhamphoryncus> I'll stick with the canadian spelling, thanks *g*
15:04:22  *** hbccbh [~hbc@] has joined #openttd
15:08:25  *** Pixa [] has joined #openttd
15:11:45  <Zuu> andythenorth: nope, "neighbours"
15:12:45  *** Pulec [] has quit [Ping timeout: 480 seconds]
15:13:01  *** LordPixaII [] has quit [Ping timeout: 480 seconds]
15:13:17  <andythenorth> :)
15:14:45  *** Pulec [] has joined #openttd
15:14:57  <andythenorth> procedurally generate ships?
15:14:59  * andythenorth brrs
15:15:43  <michi_cc> procedurally generated procedures :p
15:16:01  <andythenorth> michi_cc: that's CETS
15:16:26  <michi_cc> Now that we have an NML generator and a pixel generator, we just need a spreadsheet generator (input: wikipedia category, output: filled spreadsheet)
15:18:03  * Zuu just released yet another GS library. :-)  (not announced on forums yet)
15:18:20  <Zuu> But there is a good readme included with it.
15:19:25  <Zuu> Doh.. you can't view GS Library readmes ingame... :-)
15:20:50  <Eddi|zuHause> michi_cc: that would be cool, i'd just feed it "list of swiss engines" and it spiders through it :p
15:23:38  <andythenorth> now all we need is an openttd generator
15:28:25  *** LordPixaII [] has joined #openttd
15:31:00  *** Pulec [] has quit [Ping timeout: 480 seconds]
15:32:29  *** Pulec [] has joined #openttd
15:32:57  *** Pixa [] has quit [Ping timeout: 480 seconds]
15:40:30  *** Pulec [] has quit [Ping timeout: 480 seconds]
15:41:42  *** Pulec [] has joined #openttd
15:49:40  *** lmergen [] has joined #openttd
15:49:47  *** Pulec [] has quit [Ping timeout: 480 seconds]
15:50:32  *** Pulec [] has joined #openttd
15:57:26  *** TWerkhoven[l] [] has joined #openttd
15:58:36  *** Pulec [] has quit [Ping timeout: 480 seconds]
15:59:09  *** Pulec [] has joined #openttd
16:01:29  <appe> morning people
16:02:54  <Alberth> moin
16:11:17  *** Pulec [] has quit [Ping timeout: 480 seconds]
16:11:51  *** roboboy [] has quit [Ping timeout: 480 seconds]
16:12:32  *** Pulec [] has joined #openttd
16:19:32  *** Pulec [] has quit []
16:23:30  *** andythenorth [] has quit [Quit: andythenorth]
16:26:07  *** andythenorth [] has joined #openttd
16:34:16  *** lofejndif [] has joined #openttd
16:34:27  *** supermop [] has joined #openttd
16:40:49  * andythenorth ponders
16:40:53  <andythenorth> also...hi supermop
16:42:34  <supermop> hi
16:42:39  <supermop> hows it going?
16:42:47  <andythenorth> supermop:
16:43:40  <supermop> haha buildings too?
16:43:45  <supermop> you are quite mad
16:43:52  <supermop> can you teach it to be metabolist
16:44:02  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
16:44:41  <andythenorth> supermop: yes it could do metabolist
16:44:43  <andythenorth> let's see
16:52:45  *** Phoenix_the_II [] has joined #openttd
16:59:55  *** |Jeroen| [] has quit [Quit: oO]
17:04:05  *** FLHerne [] has quit [Remote host closed the connection]
17:06:02  <supermop> it is sort of small for a tall building - even at tto scale
17:07:48  <andythenorth> that's resolvable ;)
17:07:50  <andythenorth> meanwhile
17:07:50  <andythenorth>
17:08:12  <andythenorth> metabolist isn't the easiest to do this way, but it would be possible
17:08:27  <andythenorth> it doesn't look much right now
17:08:42  <supermop> hmmm
17:08:58  <andythenorth> I think you'd spend quite a while setting up the block patterns
17:08:59  <Rubidium> andythenorth: yes, the colours are wrong. The rest looks quite nice. Just go a little higher
17:09:32  <Zuu> Hmm, why is it that GS can't even depend on GS libraries on banans?
17:10:19  <andythenorth> supermop: from a quick google, metabolist looks highly procedural :P
17:10:30  <andythenorth> the tricky bit is getting the shading right
17:10:48  <supermop> yeah
17:10:50  <Zuu> The tutorial GS want to depend on SuperLib and TileLabels.
17:11:01  <andythenorth> if I was going to write a metabolist generator (I'm not) I'd do it a little more specifically
17:11:13  <andythenorth> this generator just draws patterns of pixels
17:11:31  <Rubidium> Zuu: might be useful to highlight (SROTS/Lord) TrueBrain for that
17:11:32  <andythenorth> I'd pre-define the blocks that seem to be the basic building unit
17:11:37  <supermop> well capsule tower might be a good test for that - draw shaft or variable height, stick random boxes on the sides
17:11:42  <supermop> *of
17:11:48  <andythenorth> then I'd sequence chains of blocks
17:11:51  <Zuu> Rubidium: Good point
17:12:12  <andythenorth> the method I've got is good for vehicles - the sequences are only a few px
17:12:14  <Rubidium> andythenorth: looks a bit like that sprite (just needs more colour)
17:12:39  <andythenorth> for buildings, it might be better to define 'window', 'wallsection', 'metabolistblock' etc
17:12:45  <supermop> yep - the capsule tower
17:13:03  <Zuu> TrueBrain: Could you make it so that GameScripts can depend on GameScript libraries and scenarios. It would also be nice if scenarios can depend on game scripts. Hopefully OpenTTD don't get mad at cyclic dependencies :-)
17:13:14  <supermop> tto was responsible for me looking into metabolist architecture in the first place, back in the mid 90s
17:13:28  <TrueBrain> make a bug report in the website secion Zuu
17:13:31  <TrueBrain> I might not forget it then ...
17:13:33  <TrueBrain> :D
17:13:42  <Zuu> I think there is one already, but I'll check.
17:13:49  <andythenorth> supermop: there are only two block styles in the capsule building
17:13:55  *** Devroush [] has quit [Ping timeout: 480 seconds]
17:14:00  <supermop> nope, at least 4
17:14:00  <andythenorth> and they're just drawn z pixels above the floor, at x, y
17:14:08  <supermop> (i snuck inside it once)
17:14:09  <andythenorth> in the TTD sprite?
17:14:18  * andythenorth means the TTD sprite ;)
17:14:19  <supermop> haha
17:14:30  <andythenorth> I don't count the colours, colours are trivial
17:14:42  *** Devroush [] has joined #openttd
17:14:56  <andythenorth> given the blocks, that sprite could be sequences
17:15:02  <supermop> well in real life you have those with the door on the end or on the side, and also with the window on the end or on the side
17:15:10  <supermop> so 4 total
17:17:52  <andythenorth> this method I have in mind isn't much different from compositing a building tile from multiple sprites
17:17:56  <andythenorth> just at compile time
17:18:11  <andythenorth> and using directly sequenced pixels, rather than drawing them...
17:18:23  <andythenorth> (which sounds insane, but somehow isn't)
17:19:59  <Zuu> Hmm, I don't find the website section when creating a new task on FlySpray.
17:20:37  <Zuu> Does it have a separate flyspray URL?
17:20:41  <Zuu> TrueBrain: ?
17:21:08  <Rubidium> it's a separate project
17:21:18  <Rubidium> there is a dropdown/combobox in the top left corner
17:21:25  <Rubidium> with a button switch next to it
17:21:29  <Rubidium> select the website there
17:23:33  *** FLHerne [] has joined #openttd
17:25:32  <Zuu> Thanks. Done @
17:28:06  <Rhamphoryncus> andythenorth: it IS insane, but sometimes insanity works :D
17:28:30  <andythenorth> only valid for highly regular shapes
17:28:34  <andythenorth> ;)
17:29:50  *** Steve^ [] has joined #openttd
17:30:24  <Steve^> Is there anyway to make catchment areas bigger for train stations? Other than artificially expanding the station into towns with bus stations
17:32:43  <andythenorth> artificially expand them with station tiles from a station set
17:32:52  <andythenorth> using distant-join (ctrl-click to build)
17:32:53  <andythenorth> ;)
17:33:12  * andythenorth can recommend station sets, but is not a reliable witness
17:34:19  <Steve^> oh, distant join!?
17:34:19  *** bryjen [~bryjen@] has joined #openttd
17:34:42  <Steve^> !! Ctrl is the magic key
17:34:55  <andythenorth>
17:34:57  <Steve^> I've been manually building adjacent stations
17:35:19  <andythenorth> using a station newgrf will make it prettier
17:35:21  <Steve^> I knew It'd be a good idea to ask in here :)
17:37:42  <andythenorth> Steve^: shameless advertising....
17:38:45  <Steve^> :D
17:52:27  <appe> hm
17:52:40  <appe> is there any grf that enables me to stimulate the standard industries more?
17:52:50  <appe> for instance, make mines produce a bit more
17:52:57  <appe> would make my day a bit brighter.
17:54:01  <Zuu> Sounds like a feature request for a new OpenGFX+ Industries parameter.
17:54:32  <appe> really?
17:54:33  <Zuu> (unless there is one already)
17:54:49  <appe>
17:54:52  <appe> for instance..
17:55:16  <appe> would be neat to be able to bring sufficient needs to stimulate the industry production in a matter like this (in the picture).
17:55:33  <appe> for instance, workers, tools or such.
17:55:45  <appe> doesnt FIRS have something similar?
17:55:58  *** Elukka [] has joined #openttd
17:55:59  <Eddi|zuHause> yes, "mining supplies"
17:56:00  <Zuu> Oh, sorry, I though you wanted to just multiply the production levels by say 1.25 generally for industries.
17:56:06  <appe> Eddi|zuHause: ah, i see.
17:56:09  <Eddi|zuHause> or rather "engineering supplies"
17:56:18  <appe> Eddi|zuHause: ..and vehicles!
17:56:26  <Eddi|zuHause> that was ECS
17:56:38  <appe> Eddi|zuHause: something like that would be neat to use applied to the standard industry models.
17:56:43  <appe> do we have something like that?
17:56:56  <Eddi|zuHause> appe: make a suggestion for FIRS economies
17:58:17  <andythenorth> appe: you'd need a source industry for the supplies...
17:58:49  <andythenorth> one that's in default set, in all climates
17:59:58  <appe> i see.
18:00:09  <appe> well
18:00:13  <Eddi|zuHause> make factory/sawmill/refinery output a second cargo, and input those to oil wells/mines/forests (cyclic)
18:00:16  <Steve^> I don't see where infrastructure costs appear in the end of year finances
18:00:31  <appe> Eddi|zuHause: that sounds resonable.
18:00:35  <Steve^> my infrastructure is greater than my property maintenance
18:01:14  <Eddi|zuHause> so you get a chain mine->factory->oil well->refinery->forest->sawmill->mine or something
18:01:24  <appe> yes
18:01:26  <appe> exactly
18:01:50  <Eddi|zuHause> as an incentive to supply all branches of the economy
18:02:09  <appe> a system like that would make small maps more and more fun
18:02:12  <appe> ill say, at least.
18:02:58  <appe> since development into smaller and smaller scales will be possible
18:04:45  <andythenorth> that's a standalone grf imo
18:04:54  <andythenorth> it's just modify existing industry behaviour
18:05:30  <andythenorth> it's a mini-set, the only graphic needed is a cargo icon for the supply cargo
18:06:21  *** glx [glx@2a01:e35:2f59:c7c0:8023:c6c8:b61d:b73] has joined #openttd
18:06:23  *** mode/#openttd [+v glx] by ChanServ
18:06:23  <appe> yes
18:06:55  <andythenorth> you need to learn nml in that case :)
18:08:00  <appe> hehe
18:08:03  <appe> thats why i have you!
18:10:37  <andythenorth> uh uh
18:10:45  * andythenorth has stopped writing code
18:10:48  <andythenorth> like Eddi|zuHause
18:13:41  <andythenorth> we have code to write the code
18:13:45  <andythenorth> "P
18:15:10  *** mahmoud [] has joined #openttd
18:15:55  <appe> haha
18:17:05  <andythenorth> hmm
18:17:12  * andythenorth now has a load of test pixel generator code in the BANDIT repo
18:17:26  * andythenorth wonders whether to move this to a standalone project
18:19:49  *** HerzogDeXtEr [] has joined #openttd
18:21:49  <Zuu> Hmm, I got about twice as many downloads of the Tutorial GameScript as the scenario for version 6. And with version 7, there is already more GS downloads than scenario downloads.
18:22:32  <Zuu> This dispite the fact that you need to have a hidden setting active in OpenTTD in order to being able to even load the GS without the scenario.
18:26:09  <Eddi|zuHause> maybe person A gives person B the scenario, but person B must still download the script?
18:26:57  *** HerzogDeXtEr1 [] has quit [Ping timeout: 480 seconds]
18:27:19  <Zuu> I noticed though that I had forgoten to put a big warning in the GS that you need the scenario too on bananas. Probably why the difference was so big.
18:27:51  <Zuu> There was a big warning in the scenario, but not in the GS. Now both have big warning messages. :-)
18:30:04  <CIA-1> OpenTTD: rubidium * r23963 /trunk/src/openttd.cpp: -Fix [FS#5072]: do not look for missing sprites twice during startup
18:33:12  *** Pulec [] has joined #openttd
18:33:38  <Zuu> Eddi|zuHause: I guess that is also a possible scenario.
18:34:33  <Rubidium> or... I need an AI... don't know which one, select everyone from the content list in the ai menu
18:35:16  *** supermop [] has quit [Quit: supermop]
18:35:44  <Rubidium> you could fudge the supported version so it doesn't show up in the list unless the scenario puts a dependency on it
18:35:57  <Rhamphoryncus> Rubidium: got my timetable patch working :)  Other than one latent issue with passengers continuously extending the loading process
18:36:30  <Rubidium> although it might (in theory at least) be possible to set a dependency on the scenario from the game script
18:37:18  <Rubidium> yes, the conductors are *very* gracious to late comers
18:37:41  <Eddi|zuHause> Rhamphoryncus: i though we solved that some time ago in trunk
18:37:44  <Eddi|zuHause> +t
18:38:03  <Zuu> The Tutorial GS is only visible in the GS list for GS/AI-developers (don't remember if there is a separate setting for GS). The method to put a wrong OpenTTD version requirement would need FS#5073 to be fixed first so that the scenario can depend on the GS.
18:38:06  <Rhamphoryncus> oh, the passenger bit?
18:40:51  <Zuu> But that might then actually be quite clean then. Users only seeing the scenario which is what they would interact with.
18:41:51  <Rubidium> Zuu: try content download now (the AI one first, or the one from play scenario)
18:42:24  <Rubidium> though for full effect you need to remove them from OpenTTD's 'search path'
18:43:05  <Eddi|zuHause> @openttd commit 20506
18:43:06  <DorpsGek> Eddi|zuHause: Commit by michi_cc :: r20506 /trunk/src (economy.cpp vehicle_base.h) (2010-08-15 22:37:30 UTC)
18:43:07  <DorpsGek> Eddi|zuHause: -Change: Vehicles will now stop loading after a load cycle that loaded less than possible, unless it's a full load order. This should improve behaviour with gradual loading and cargo continuously trickling in.
18:43:23  <Eddi|zuHause> Rhamphoryncus: i think that was the revision
18:43:27  <Zuu> The one form AI/GS-window now shows the scenario and selects it if I click the Tutorial GS.
18:43:35  <Rhamphoryncus> Eddi|zuHause: alright, I'll take a look
18:43:46  <Zuu> The dependancy works also the other way around.
18:44:41  <Rubidium> evil, ain't it? ;)
18:44:57  <Zuu> I don't have them according to bananas (probably because I don't develop in content_download)
18:45:11  <Zuu> Rubidium: hehe :-)
18:45:14  <Rubidium> the scenario?
18:45:19  <Rubidium> or the GS?
18:45:36  <Rubidium> for the scenario the server attached a 'unique' id (needed for updates)
18:45:40  <Zuu> I have both in Documents\OpenTTD\game\Tutorial
18:45:51  <Rubidium> for the GS the server might replace newlines
18:46:37  <Zuu> Both are unchecked in the banans list.
18:46:49  <Zuu> The scenario is not even in the search path.
18:47:05  <Rubidium> yep, missing unique ID for scenario and windows -> unix newlines for GS
18:48:20  <Zuu> But that isn't really an issue. It only affects me. :-)
18:49:24  <Zuu> So will you keep the dependancies as you set them or was this just an experiment? Eg. should/can I remove the warnings in the descriptions on bananas?
18:49:50  <Zuu> Still, ideally *someone* need to make a patch for bananas to allow me to set the dependency myself for updates.
18:50:43  <Rubidium> I can keep the deps
18:52:23  <Zuu> Though, given that I will probably receive string updates and perhaps make a new update soon, you don't want to get into the database and set it manually each time. So perhas remove it and people will not know that you can do it. ;-)
18:55:57  <Eddi|zuHause> @calc 26.8/3
18:55:57  <DorpsGek> Eddi|zuHause: 8.93333333333
18:58:57  <Rubidium> Zuu: if you don't update too often it shouldn't be a (big) problem to add this to the database
19:02:35  <appe> what kind of sorcery is this
19:02:44  <andythenorth> hmm
19:02:49  <appe> started openttd with chrome running in the background
19:03:01  <andythenorth> the pixel generator has *no* guarding against exceeding the blue box etc :)
19:03:03  <appe> the clip was showed ontop of the game
19:03:08  <andythenorth> I don't think I'll add any either
19:03:09  <appe> but not the rest of the site?
19:03:10  <appe> :E
19:03:48  <andythenorth> appe: flash bug
19:03:55  <appe> not related to the game, i guess?
19:03:59  <andythenorth> not
19:04:09  <appe> it only happends with openttd, thati s.
19:04:10  <appe> that is*
19:04:20  <andythenorth> hmm
19:04:24  <appe> ah
19:04:26  <appe> never min
19:04:31  <appe> +d.
19:04:41  <appe> why do i have to correct 50% of everything i say.
19:04:42  <appe> :(
19:05:30  *** supermop [] has joined #openttd
19:07:07  *** |Jeroen| [] has joined #openttd
19:08:40  <supermop> what did i miss?
19:08:57  <supermop> generative helicopters?
19:15:23  <Zuu> Rubidium: Thanks, then I'll remove the dependancy warning.
19:16:37  <Rubidium> are you going to upload both the GS and a scenario each time?
19:16:47  <Zuu> Though, that might overwrite your manual changes.
19:16:49  <Zuu> Yes
19:17:17  <Rubidium> okay, then there's no need to note the current IDs somewhere
19:17:58  * Rubidium might be able to remove the warning as well
19:18:06  *** Pulec [] has quit [Ping timeout: 480 seconds]
19:18:11  <Zuu> The scenario reference a specific version of the GS. And the GS that is uploaded is set to only load savegames of that particular version.
19:18:14  <andythenorth> hmm
19:18:47  <Rubidium> there... warning gone
19:18:55  <Zuu> Thank you
19:19:32  <andythenorth> Alberth: I'm not 100% sure how to package the generator into a simple standalone utiity
19:19:36  <andythenorth> utility /s
19:19:42  <andythenorth> it only needs one method currently
19:20:21  <andythenorth> it accepts: 1 spritesheet (PIL image object), a mapping of colours to sequences, a mapping of sequence definitions
19:20:22  *** Pulec [] has joined #openttd
19:20:32  <andythenorth> it returns: 1 PIL image object
19:20:52  <xiong> I started to build a scenario and now I want to upgrade a NewGRF to a current version; I have installed the newer version. I don't seem to be able to alter the set of NewGRFs associated with the scenario, let alone in the middle of a running game.
19:21:12  * andythenorth recalls python has some method like __main__ which can be called on a class
19:21:20  <andythenorth> but that might be the wrong route
19:22:20  <Alberth> xiong: correct
19:22:34  <xiong> I take it this is not fixable, Alberth.
19:22:47  <Alberth> a mapping of colours to sequences, ugh
19:22:54  <andythenorth> in one respect what I actually want to do is extend the methods available on the spritesheet, so I can call im.generate_pixels(colour_keys, pixel_sequences)
19:23:00  <andythenorth> but that's extending PIL
19:23:47  <Rhamphoryncus> Rubidium: fixed it, thanks.  Regression due to my patch.
19:24:30  <xiong> BTW, I'm playing 1.2.0-beta4 now. Kudos; it's a real improvement.
19:24:47  <Alberth> andythenorth: give it an extra image with the sequences?
19:25:00  <andythenorth> I considered that
19:25:20  <andythenorth> it's quite neat for sequences that only vary in y direction
19:25:23  *** |Jeroen| [] has quit [Quit: oO]
19:25:28  <andythenorth> it falls apart for sequences where x varies
19:25:31  <Alberth> what's 'a mapping of sequence definitions'
19:25:40  <andythenorth> not sure yet
19:25:57  <Rubidium> Zuu: *massive* bug ;) I disobeyed the tutorial and clicked on the hangar for the order. It told me to remove the order and make an airport order (which I did), and now the bug... the window saying that isn't closed automatically even if it has the "Close" button implying it would be closed automatically
19:26:08  <andythenorth> Alberth: here's a current gestalt file - but I'm reversing the approach
19:26:09  <andythenorth>
19:26:21  <andythenorth> so the gestalts will call pixel generator, rather than vice versa
19:27:29  <Alberth> that call is missing there?
19:28:03  <andythenorth> doesn't exist yet
19:28:15  * andythenorth is now doing 'design before code' :o
19:28:17  <andythenorth> insane
19:28:20  <Rubidium> Zuu: also the aircraft tutorial doesn't seem to be the first chapter even those the final one says it is
19:28:38  <andythenorth> maybe I should just pitch into code
19:28:47  <Zuu> Rubidium: Oh, I should add that that is only valid for messages displayed by the MessageWindowStep class ;-)
19:28:58  <Alberth> so what does the input look like, except for the image?
19:29:08  <Zuu> Or better for the user, it is not valid for warning or question type messages :-)
19:29:13  <andythenorth> currently looks like the paste
19:29:19  <andythenorth> there will be more
19:29:24  <Alberth> ah, ok
19:29:39  <Rhamphoryncus> andythenorth: you can.. code before design?
19:29:44  <andythenorth> apparently
19:29:53  <Alberth> Rhamphoryncus: that's easy :)
19:29:56  <andythenorth> I have also employed lots of people who think the same :P
19:30:00  <andythenorth> not always with good results
19:30:26  <Zuu> Though, I might make it close the warning message when you accomplished the task
19:30:26  * andythenorth has spent ~£30k learning about 'design before code[sometimes]'
19:30:32  <Rhamphoryncus> It's a foreign concept to me.  I could spend a week designing and redesigning before writing a single line.
19:31:01  <andythenorth> code can be expensive if you don't design it first :P
19:31:17  <Alberth> andythenorth: the input looks complicated enough to me to not try pusing it in some standard text format
19:31:41  <andythenorth> Alberth: on my current thinking, I don't see how the gestalts can be anything except a mix of config and code
19:31:41  <Alberth> so that leaves you either a .py file as main entry point, or a custom parser
19:31:53  <andythenorth> I think each gestalt file is quite sophisticated
19:32:06  <andythenorth> much like the nfo or nml for a vehicle can be quite sophisticated :P
19:32:30  <andythenorth> I don't like it much, but it's cleaner than writing spaghetti code with 10 bazillion 'if' conditions
19:32:32  *** LordPixaII [] has quit [Ping timeout: 480 seconds]
19:32:51  <andythenorth> and a 5-level deep chain modifying constants
19:32:54  *** Pixa [] has joined #openttd
19:33:08  <Alberth> you can keep the data separately by importing it from your main scripy
19:33:17  <CIA-1> OpenTTD: translators * r23964 /trunk/src/lang/ (8 files in 2 dirs): (log message trimmed)
19:33:17  <CIA-1> OpenTTD: -Update from WebTranslator v3.0:
19:33:17  <CIA-1> OpenTTD: belarusian - 2 changes by Wowanxm
19:33:17  <CIA-1> OpenTTD: german - 6 changes by NG
19:33:17  <CIA-1> OpenTTD: hungarian - 14 changes by IPG
19:33:18  <CIA-1> OpenTTD: lithuanian - 54 changes by Stabilitronas
19:33:18  <CIA-1> OpenTTD: portuguese - 4 changes by JayCity
19:33:22  <appe> are we talking fullerenes?
19:33:27  <appe> oh, code.
19:33:28  <appe> never mind.
19:33:52  <Alberth> the usual on-topic talk :)
19:34:16  <andythenorth> Alberth: I'll bash at some code once baby #1 is out of the bath and baby #2 is asleep :P
19:34:31  <Alberth> ok :)
19:35:06  <Alberth> but a .py as main script seems like the simplest approach to me atm
19:36:08  <Zuu> Rubidium: The last message says "you have now completed your first transport route in OpenTTD.". There navigation chapter will probably not teach any transport routes. Though you could now take the ship chapter first and then the aircraft chapter, but then you have already been warned that you are not taking them in the order that the tutorial is designed for.
19:36:31  <Zuu>  s/There navigation/The navigation/
19:37:15  <Rubidium> STR_AIRPLANES_1_4_5_DONE       :You have now completed the first chapter of this tutorial.
19:37:16  <andythenorth> Alberth: this may not make sense with explanation...but it's my current spec
19:37:16  <andythenorth>
19:37:27  <Rubidium> STR_AIRPLANES_1_1_1_INTRO      :Aircraft - Building an Airport{}{}In this first chapter
19:37:56  <Zuu> Oh, my bad, I didn't reach the end of the chapter :-)
19:38:05  <Zuu> Only the summary heading...
19:39:21  *** LordPixaII [~pixa@] has joined #openttd
19:39:39  <andythenorth> a gestalt = a vehicle type, providing all colour variations, load variations etc
19:40:46  <supermop> hmmm i wonder if i can get away with playing go at work?
19:41:27  *** Pixa [] has quit [Ping timeout: 480 seconds]
19:42:20  <appe> hm
19:42:23  <andythenorth> supermop: learn to generate buildings instead ;)  That *is* work...
19:42:26  <appe> where does glass go in the ECS grf?
19:42:30  <andythenorth> for you at least ;)
19:42:31  <appe> a town based industry?
19:43:40  <Eddi|zuHause> the car factory?
19:43:54  <Eddi|zuHause> click the glass industry, there you can see the industry chains
19:44:02  * Rubidium can at least get away with "playing" with train network models at work ;)
19:44:04  <appe> yes, its empty
19:44:05  <xiong> YAPF now recommended for ships? I seem to recall Original used to be recommended; YAPF didn't work so well with ships. Anybody know anything about this?
19:44:06  <appe> oh god.
19:45:16  <Eddi|zuHause> i should probably stop trying to be helpful to xiong...
19:46:06  <valhallasw> xiong: I would suggest to use the CNPF: Chuck doesn't find paths - the world just shapes so that the straight path is the right one.
19:46:54  * xiong hopes valhallasw is joking but checks anyhow
19:47:51  <xiong> Okay, valhallasw, good one. Ha ha.
19:49:16  <supermop> andythenorth: right now my job is furniture, doing anything architecture related makes it look like I am getting ready to leave to go back to that.
19:49:19  <Noldo> I haven't heard of any progress on the ship PF since someone did a patch that did area based search
19:49:21  <valhallasw> (I don't actually have an answer. As far as I can remember, the problem with YAPF for ships was CPU usage (because there are many possible paths). If it just works for you, and your computer doesn't grind to a halt, you're probably fine.)
19:49:57  <xiong> --> ship_use_yapf = false
19:50:48  <xiong> But the Advanced Settings GUI now says 'YAPF (Recommended)'.
19:51:40  <xiong> Not an urgent question for me now. I'm playing an all-land, all flat test map. :(
19:51:52  <xiong> But inquiring minds want to know.
19:52:24  <Alberth> but you've made it very clear you don't want help, to me at least
19:53:42  <andythenorth> supermop: oops :o
19:53:47  <xiong> Rhamphoryncus++
19:53:50  <andythenorth> procedural furniture? :P
19:53:55  <Rhamphoryncus> xiong: hmm?
19:53:57  <supermop> actually
19:54:06  <xiong> Design before code.
19:54:10  <supermop> i was trying to get us to do that last year
19:54:26  <supermop> it was over my head but i was the one who mentioned it
19:54:39  <Rhamphoryncus> xiong: ah
19:54:46  <supermop> the way we work would be really well suited to it
19:55:22  <supermop> and automatically generate shop drawings and renderings for architects based on what we plan in our tool
19:55:56  <andythenorth> that's not done already?
19:56:03  <andythenorth> is your tool 2d or 3d?
19:56:07  <Rhamphoryncus> for those who are interested here is my current timetable patch:
19:56:24  <supermop> we produce axonimetrics and elevations only
19:56:36  <supermop> it is sort of 3d in as much as tt is
19:56:50  <supermop> its a java based tool we wrote ourselves
19:57:17  <Rhamphoryncus> still much to clean up though, and whatever gui changes are necessary
19:57:18  <supermop> with all sorts of problems
19:57:20  <andythenorth> interestink
19:57:28  <supermop> but it is still industry leading
19:57:37  <supermop> (says something about the industry)
19:58:03  <supermop> (we are way out ahead on that just because we thought it would be neat to have a tool at all)
19:58:20  <andythenorth> anyone suggest a name for the pixel generator?  I need to move it to it's own package
19:58:42  <Rubidium> andythenorth: Pixa
19:58:43  <andythenorth> YAPG ?
19:59:09  <supermop> PIGS
19:59:21  <Rhamphoryncus> andyspixelfactory
19:59:22  <supermop> Procedurally iterated Graphics system
19:59:23  <Rubidium> or.. LordPixaII as it's full name and Pixa as it's short name. That way you have tab completion in here ;)
19:59:42  <andythenorth> pixa will do nicely
19:59:43  <Rubidium> s/'//
20:00:23  <LordPixaII> Wait what?
20:02:48  <Zuu> Rubidium: Do you use one of those railway simulation models or a more generic model like Visum/Emme?
20:04:08  <Rubidium> Zuu: none of them
20:05:11  <Zuu> At my work there is a merklin railway track with a train on it in the reception. :-)
20:05:50  * Rubidium has no clue what kind of track there is on our office, though it's just a few pieces of straight track with some trains on them
20:09:15  <Zuu> Is it that what you were aiming at when stated that you got to play with railway models at work?
20:11:36  <Rubidium> no
20:13:35  <supermop> yes!
20:13:39  *** Pulec [] has quit [Ping timeout: 480 seconds]
20:13:46  <supermop> my valentine is now working!
20:13:50  *** APTX [] has quit [Read error: Connection reset by peer]
20:13:50  <andythenorth> Alberth: a lot of the stuff in this paste is just so I can test the module without calling it from another script (
20:14:06  <andythenorth> is there a good way to handle that?
20:14:18  <andythenorth> is it even a valid aim?
20:14:22  *** APTX [] has joined #openttd
20:14:23  <Rubidium> my company does (all kinds of) rail measurements, and we need to report on the customer's model of their railway network
20:14:53  <Eddi|zuHause> andythenorth: if __name__ == "__main__":?
20:15:08  *** Pulec [] has joined #openttd
20:15:09  * andythenorth docs...
20:15:10  <Zuu> okay, interesting to read
20:15:13  <Rubidium> but ofcourse all customers have a different model, and thus we have a generic model and all kinds of code to go between models
20:15:17  <Rhamphoryncus> Eddi: standard python convention
20:15:30  <Rhamphoryncus> damnit, gotta read better
20:16:29  <Zuu> Of course, why would there be a standard? :-)
20:16:52  <Rubidium> because WGS84 sucks ;)
20:17:28  <Rubidium> but that's where the petroleum industry comes into play
20:17:31  <Zuu> In Sweden there is generally only two different geo coordinate systems (none of them is WGS84)
20:19:55  <Rubidium> Zuu: RT38 and RT90?
20:20:04  <Zuu> RT90 and Sweref
20:20:22  <Zuu> RT30 I never herd of.
20:20:44  <Zuu> And then there is about 8-10 variants of RT90 :-)
20:21:55  <Zuu> RT38*
20:22:16  <Rubidium> so EPSG:4976 ;)
20:22:44  <Rubidium> or EPSG:4124
20:22:47  <Zuu> If you say so.. :-)
20:23:42  <Rubidium> it's the ID the petroleum guys gave it
20:23:59  <Rubidium> and they have a massive database of all kinds of projections
20:24:11  <Rubidium> making it pretty easy to go from one projection to another
20:24:27  <Zuu> I sometimes get lost in the projections list in our GIS software.
20:24:37  <Alberth> andythenorth: I'll clean it up a bit
20:25:16  <Rubidium> spatial reference only knows ~8000 of them ;)
20:28:39  *** DDR [] has joined #openttd
20:37:20  <Alberth> andythenorth:   I broke it into two pieces :)
20:37:58  <andythenorth> he
20:38:06  <andythenorth> I created and then deleted a generate method :)
20:38:08  <andythenorth> similar to that
20:38:35  <Alberth> oh, you can  yield  :)
20:39:30  * andythenorth copies the paste...
20:39:31  *** Pulec [] has quit [Ping timeout: 480 seconds]
20:41:22  <Alberth>    lines 8 and 19 have changed (and you lost lines 11 and 22 of paste 1125)
20:41:23  *** Pulec [] has joined #openttd
20:47:53  * andythenorth -> code
20:49:26  *** Pulec [] has quit [Ping timeout: 480 seconds]
20:50:08  *** Pulec [] has joined #openttd
20:51:19  <andythenorth> ho ho
20:51:20  <andythenorth> works
20:58:42  *** bryjen [~bryjen@] has quit [Quit: Leaving]
21:00:50  *** tokai|mdlx [] has joined #openttd
21:00:51  *** cypher [] has joined #openttd
21:02:14  *** Pulec [] has quit [Ping timeout: 480 seconds]
21:04:06  <andythenorth> hmm
21:04:10  *** Pulec [] has joined #openttd
21:04:21  <andythenorth> so I want some kind of module for handling gestalts
21:04:29  <andythenorth> which each gestalt file then imports
21:04:45  *** Firartix [] has quit [Ping timeout: 480 seconds]
21:04:58  *** Firartix [] has joined #openttd
21:05:09  <Alberth> import them all , and put them in a dict?
21:05:40  <andythenorth> could do
21:05:53  <andythenorth> the gestalts will get more complicated
21:06:09  <andythenorth> they need to run multiple render passes or composite images
21:06:14  <andythenorth> specfic to each gestalt
21:06:37  * andythenorth hmms a bit
21:06:37  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
21:07:02  <andythenorth> maybe time to try some more actual shapes
21:07:10  <andythenorth> to see what else is needed
21:07:20  <Alberth> gestalt.generate(input_name, output_name)
21:07:34  <andythenorth> something like that yes
21:07:41  <andythenorth> output name is actually by convention
21:07:57  <andythenorth> I just want to call gestalt.generate from my
21:08:20  <andythenorth> probably for each vehicle in BANDIT config, or for one vehicle at a time (with command line args)
21:08:52  <andythenorth> gestalts is a package now with
21:09:00  <andythenorth> what happens if I put code in the
21:09:48  <Xaroth> you can put stuff in
21:10:35  <Xaroth> if you put stuff in bla/ you can import it 'from bla import <something>' instead of 'from bla.something import something'
21:10:53  *** kais58_ is now known as kais58
21:12:41  <andythenorth> oic
21:12:54  <andythenorth> I import (the generator code) to the gestalt file
21:12:59  <andythenorth> then I call render on the generator :)
21:13:05  <andythenorth> generator?  gestalt :P
21:15:18  <andythenorth> so a gestalt now has these 2 imports:
21:15:37  <andythenorth> can I consolidate those somehow to a single import?
21:15:47  <andythenorth> import gestalt ? or such
21:17:22  <planetmaker> import * from XY
21:17:24  <planetmaker> maybe?
21:21:34  <Alberth> why do you want to reduce the #imports in a gestalt?
21:22:11  *** DayDreamer [~DayDreame@] has joined #openttd
21:22:23  *** DayDreamer [~DayDreame@] has quit []
21:24:26  *** Pulec [] has quit [Ping timeout: 480 seconds]
21:25:02  <andythenorth> Alberth: reduce duplication
21:25:06  <andythenorth> not sure I can though
21:25:13  <andythenorth> this is a bit like adding objects in a web app I think
21:25:30  <andythenorth> you want page_1 to behave differently to page_2
21:25:36  <andythenorth> but both use various utilities
21:25:38  *** dragonhorseboy [] has joined #openttd
21:25:57  <dragonhorseboy> any of you perhaps know if ottd can be compiled without any sound files on linux?
21:25:59  <andythenorth> you have to import modules, define  local constants, and write logic
21:26:12  <andythenorth> dragonhorseboy: that wasn't an answer to your question ;)
21:26:31  *** Pulec [] has joined #openttd
21:26:55  <dragonhorseboy> lol andy, I already figured that out :p
21:27:23  <Alberth> dragonhorseboy: there is a 'nosound' package
21:27:36  <Rubidium> Alberth: that's not even needed
21:27:48  <MNIM> Heh. It takes a LONG time to traverse a 1024x1024 map at 99kmh.
21:27:55  <Rubidium> OpenTTD starts perfectly fine without opensfx or the original
21:27:59  <Alberth> but for compilation, you don't need sound files at all :)
21:28:27  <MNIM> Some of my freight trains take two years for a single return trip.
21:28:33  <Rubidium> actually... nosound and nomusic are part of the openttd installation
21:29:05  <andythenorth> hmm
21:29:14  * andythenorth has written some awfully circular code
21:29:16  <andythenorth> seems to work
21:29:24  <andythenorth> file under 'fix later'
21:30:21  <dragonhorseboy> alberth thanks, just wondering about why it was needing a 100+MB dependancy just for audio alone ... so guess I'll see about compiling from source and see how that goes
21:30:45  <Rubidium> what needs that dependency?
21:30:50  <__ln__> *dependency
21:31:01  <dragonhorseboy> ottd.i686 itself obviously
21:31:04  * Rubidium wonders which packager did depend on a music player
21:31:14  <dragonhorseboy> heh sorry ln...never could spell that word sometimes
21:31:47  * andythenorth does 'yay'
21:32:27  <Rubidium> any sane OpenTTD packager would recommend or suggest openmsx + music player, but shouldn't depend on it
21:33:08  <Alberth> 'sane' and 'packager' in one sentence :o
21:33:23  <dragonhorseboy> rubidium well the packager is the os' not openttd's so :-)
21:34:00  <Rubidium> the packager did package OpenTTD right, so he's OpenTTD's packager (for a particular OS/distribution)
21:35:07  <dragonhorseboy> heh yeah thats fair enough
21:36:11  <Alberth> dragonhorseboy: it's a dependency invented by the package creator, openttd itself can live without, or just with nosound just as well
21:36:43  <dragonhorseboy> yeah alberth...thats why I thought that it might be plausible to just compile it from source instead....looking that way by now :)
21:37:02  <dragonhorseboy> at least thankful for the opengfx so I don't have to try figure how to copy these files over to that laptop heh
21:37:35  <Rubidium> the compile dependencies are probably quite a lot as well
21:39:34  <dragonhorseboy> actually rubidium...not really..its just the typical make/gcc/zlib things that are usually already installed anyway :)
21:40:02  *** perk11 [~perk11@] has joined #openttd
21:40:50  *** perk11 [~perk11@] has quit []
21:41:22  <Alberth> dragonhorseboy: you need a lot of libraries too :)
21:43:25  *** LordAro [] has joined #openttd
21:43:27  *** cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
21:43:56  <LordAro> evenings
21:44:03  <dragonhorseboy> hey lordaro
21:44:54  <dragonhorseboy> alberth just a silly question as its been some time since I last played it myself...I assume openttd has train path reserving and programmable signals?
21:45:09  <planetmaker> yes and no
21:48:14  <dragonhorseboy> come no or its just that someone simply decided to not bother work on it yet?
21:48:45  <Alberth> many people consider current signals too complicated already
21:49:06  <dragonhorseboy> alberth hmm...I see
21:50:03  <dragonhorseboy> alberth for me (in ttdxp mind you) I always have light long lines and rather than bothering with go-to-waypoint or holding loops I just use the signals themself to manage trains by types
21:50:10  <dragonhorseboy> but thats my own style after all I guess
21:50:54  <Alberth> wouldn't railtype help here?
21:51:41  <dragonhorseboy> railtype?
21:51:59  <andythenorth> Alberth:
21:52:12  <andythenorth> kind of works, but I want to redefine value of BULK_CARGO when passing it
21:52:21  <andythenorth> but the lists I'm passing don't see the redefinition
21:52:41  <andythenorth> should I def the list in a method, then call that?
21:52:45  <Alberth> I think the main problem with using signals is that people bolt all kinds of functionality to it, and it becomes one big blob of complicated functionality
21:54:04  <dragonhorseboy> alberth heh well I'll be honest with you..there's no need for more complications than just simply traintype or pathset ones.. that can't be many signals in the first place
21:54:09  <dragonhorseboy> but what do I know of other players
21:54:30  <Alberth> andythenorth: yes
21:54:32  <dragonhorseboy> whats railtype tho?
21:54:55  <planetmaker> play a game with NuTracks
21:55:13  <planetmaker> and possibly the 2ccTrainset. Then you know
21:55:32  <Alberth> basically, you have more variations than  normal, electric, mono, maglev tracks
21:56:36  *** lmergen [] has quit [Ping timeout: 480 seconds]
21:56:37  <Alberth> andythenorth: the value it originally contains is copied into the literal, so any change of the name later is not seen
21:56:46  <andythenorth> makes sense
21:57:17  <Alberth> thus make a function that creates a list literal with the right value on demand
21:59:10  <dragonhorseboy> unless I'm missing something nutracks might be just useless for mixed traffic lines since everything would be laid to the same E125 type
21:59:15  <dragonhorseboy> thanks tho
21:59:47  <andythenorth> hmm
22:00:05  <andythenorth> the list literal is included in a dict
22:00:09  <Alberth> could be, I never played with railtypes, I just know it exists
22:00:13  <andythenorth> I might need to def the dict as well :o
22:00:36  <Alberth> makes sense :)
22:00:53  <dragonhorseboy> alberth mm its ok anyway
22:03:11  <Alberth> hmm, not enough money to lay tracks :p
22:04:04  <dragonhorseboy> alberth I do sometimes do quite basic things with programmable signals only because I'm trying to emulate real life dispatching without any actual signal towers you know
22:04:17  <dragonhorseboy> one example I still do from time to time goes like this...
22:05:58  <dragonhorseboy> first route early on takes a hard way through the mountain due to little money ... eventually railroad prospects but the old route starts to remain a headache with stregthened short trains...
22:06:59  <dragonhorseboy> finally spend a big chunk of budget on a longer route that makes much easier uphill work...and set new junction signals that any short freights can slog up the old line while everything else are diverted
22:12:49  <dragonhorseboy> can be amusing to see an express E16 chasing a coal E75 up to till the junction where the E16 then literally passes the E75 even although it had a longer path
22:13:00  * dragonhorseboy always plays with dbsetxl in temperate yeah
22:13:33  * andythenorth hmms
22:13:55  <andythenorth> Alberth: I have some kind of object caching issue :o
22:13:57  <andythenorth> I think
22:14:19  <andythenorth>
22:14:23  * Alberth always plays with the opengfx vehicles & industries, except today, as opengfx industries does not like toyland :(
22:15:52  <andythenorth> I have two colours: 4 and 77; if I print out the value of the P objects being passed to the render module, I see 4 for the first call, then 77 for the second call
22:16:05  <Rhamphoryncus> andythenorth: generate() in the paste before was assigning to a local named BULK_CARGO.  You need a "global BULK_CARGO" statement if you want to assign to a global
22:16:17  <andythenorth> but the spritesheet is drawn with 4 in both cases
22:16:30  <andythenorth> Rhamphoryncus: I've scrapped the globals ;)
22:16:47  <Rhamphoryncus> yeah, figured it was worth explaining anyway
22:16:53  <Rhamphoryncus> it tends to get people
22:16:54  <dragonhorseboy> alberth heh if I had to play with original limited selection of vehicles I would had rather ended up with a hundred asiastars all over the place which makes no sense :p
22:16:58  <andythenorth> ah
22:17:05  <andythenorth> spritesheet is probably modified :o
22:17:07  <andythenorth> ho
22:17:23  <dragonhorseboy> alberth I used to try FIRS on and off a bit before...this was while it was still more or less in progress yet
22:17:37  <andythenorth> yes, the spritesheet is being modified
22:17:47  <andythenorth> I need to tell PIL how to copy it
22:18:00  <andythenorth> or I need to reload it from disk, which seems...inefficient
22:18:05  <dragonhorseboy> don't like either ukrsi due to stock-against-chain problem ... and ecs is just a bit too wieldy especially with the chemical chains being a bit weird
22:18:32  <Rhamphoryncus> aside: lowercase module names are recommended.
22:19:09  * andythenorth solves issue :D
22:19:23  <dragonhorseboy> alberth and by stock-against-chain I meant like eg the steel mill refusing to accept the amount of ore I left even although this equival amount of steel is actually needed for a processing plant which refuses to produce food without steel in first place
22:19:29  <Alberth> andythenorth: I was already wondering how that code could break :)
22:19:30  <Rhamphoryncus> mostly for consistency, but also to minimize trouble on case-insensitive filesystems
22:19:44  <dragonhorseboy> don't have this issue with FIRS which is a bit easier on my thing with running mixed trains at times
22:19:56  <dragonhorseboy> andythenorth I imagine :p
22:20:14  <andythenorth> dragonhorseboy: I also run mixed trains ;)  So there is some bias in the design of FIRS
22:20:34  <dragonhorseboy> heh
22:20:36  <andythenorth> ok andythenorth now has a not-insane pixel generator
22:20:46  <andythenorth> a bit more work and it's kind of done for v1
22:20:55  <dragonhorseboy> andythenorth its hard to find real freight trains that are not 100% solid on one single cargo type right? :)
22:21:08  <Alberth> dragonhorseboy: I tried ECS a two-three times, and got fed up with the stockpiling behavior very quickly, so I switched to FIRS (or default industries). Never tried ukrsi
22:21:09  <Rhamphoryncus> andythenorth: so, planning v2 yet?  ;)
22:21:12  <Rhamphoryncus> <--- not helping
22:21:20  <dragonhorseboy> even these long trains of containers in north america actually still can have one or two tanker cars in the consist too...go figure
22:21:23  <andythenorth> dragonhorseboy:
22:23:14  <dragonhorseboy> anyway need to go....only meant to come in for a short time to ask about compiling :p
22:23:21  <dragonhorseboy> might be back tomorrow tho :)
22:23:29  *** dragonhorseboy [] has left #openttd []
22:27:42  *** JVassie [~James@] has joined #openttd
22:32:16  *** Pulec [] has quit [Ping timeout: 480 seconds]
22:33:19  *** Pulec [] has joined #openttd
22:35:25  *** DDR [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0.1/20120210023155]]
22:36:02  *** APTX_ [] has joined #openttd
22:37:01  <planetmaker> seems like a valid bug, Alberth
22:37:19  *** APTX [] has quit [Remote host closed the connection]
22:37:19  <planetmaker> and looks ugly :-(
22:41:16  *** DDR [] has joined #openttd
22:41:58  <Eddi|zuHause> hm... the StEG doesn't have any sane express engines
22:45:46  *** Pulec [] has quit [Ping timeout: 480 seconds]
22:47:15  *** Pulec [] has joined #openttd
22:50:01  <Alberth> the rivers make the land much more enjoyable
22:50:18  <Eddi|zuHause> aye, the rivers are awesome
22:50:35  <Alberth> no longer can you put long straight tracks down without thinking :)
22:52:43  <Alberth> planetmaker: why does opengfx+industries throw a fatal error for toyland?
22:53:18  <andythenorth> rivers need diagonals
22:53:20  <andythenorth> and >2 tiles
22:53:28  * andythenorth makes rod for own back
22:54:04  <supermop> rivers and oceans should be able to have similar types of edges
22:54:24  <planetmaker> /* This NewGRF currently does not work properly in toyland
22:54:24  <planetmaker>  * climate. Disable it in that case
22:54:31  <planetmaker> Alberth: ^^
22:54:51  <planetmaker> mostly it has to do with cargo definitions afair
22:55:09  <Alberth> ok, known issue it seems :)
22:55:22  <planetmaker> Rather "not designed (yet) for toyland"
22:56:12  <planetmaker> the check could probably be disabled... with a strong warning that graphical glitches are for the user to worry about
22:56:38  *** Steve^ [] has left #openttd [Leaving]
22:57:04  <planetmaker> Alberth: mostly it's a case of "we don't want to deal with those bug reports" :-P
22:57:28  <planetmaker> do you need it for toyland2mars?
22:57:37  <planetmaker> I'll add an exception there then
22:58:28  <Alberth> no, I play plain toyland :)
22:58:44  <planetmaker> OpenGFX+ Industries has no single toyland industry yet
22:59:27  <Alberth> I expect so, otherwise it would be REALLY strange :)
22:59:31  <planetmaker> I agree though, finally it should also support toyland. But that shares nothing with the existing industries, so it's a bit more work.
22:59:43  <planetmaker> Or one accepts that they always look out-of-place also wrt ground tiles
22:59:46  *** tokai|noir [] has joined #openttd
22:59:49  *** mode/#openttd [+v tokai|noir] by ChanServ
22:59:59  <Alberth> but a fatal error is so strong
23:00:15  <planetmaker> just error?
23:00:22  <Alberth> just a silent 'do nothing' would be nicer.
23:00:32  <planetmaker> hm
23:00:42  <Eddi|zuHause> you can simply disable the grf, in NFO terms "skip to end of file"
23:00:44  <Alberth> or error 'we don't do anything'
23:01:13  <planetmaker> Yes, that's possibly a good point. Let's change that
23:01:26  <Alberth> as a kind of reminder (which might get tedious, but perhaps better than getting reports 'it does not work' ?
23:03:29  <planetmaker> Alberth: but it poses the question then: "why do the NewGRF parameter not work in toyland" when the user there selected like wood chain, farm chain and iron ore chain
23:04:15  <planetmaker> after all, the point is (also) to select those industries which you'd like
23:04:26  *** tokai|mdlx [] has quit [Read error: Operation timed out]
23:04:47  <andythenorth> Alberth: "it lives"
23:05:03  <andythenorth> I've cleaned up the generator files and committed to BANDIT
23:05:15  <andythenorth> there's some clunky code in the gestalt
23:05:42  * andythenorth refuses to use %s for string concatenation :P
23:07:26  <Alberth> planetmaker: good point
23:07:51  *** cmircea [~cmircea@] has quit [Read error: Operation timed out]
23:08:16  <Alberth> andythenorth: good idea, I removed one "%s\n%s" from the ConfigParser module once, as it took ages to load a big file.
23:08:30  <Alberth> andythenorth: and nice that it 'lives' :D
23:08:36  * andythenorth generates grain sprites
23:08:45  <andythenorth> that was ~2s work for me
23:08:53  <Alberth> does it do plastic fountains too ?
23:09:52  <andythenorth> could generate some :P
23:11:11  <Alberth> good night all
23:11:29  <andythenorth> bye Alberth
23:12:56  *** mahmoud [] has quit [Ping timeout: 480 seconds]
23:12:56  <xiong> Is it possible for town to demolish my road and build on that tile? I think I've observed this but it's hard to tell.
23:13:34  *** Alberth [] has left #openttd []
23:14:05  <andythenorth> not if you own the road
23:14:06  <xiong> I've turned off "remove absurd road elements" and towns are not allowed to build roads at all. Don't know if this relates.
23:14:32  <andythenorth> if it happens to road you own, it's a bug
23:14:33  <xiong> Even if I leave "remove absurd road elements" on?
23:14:45  <andythenorth> might happen, but if it does, it's a bug
23:14:47  <andythenorth> ;)
23:15:10  <xiong> These are short little access roads I'm throwing in to force the center of 3x3 blocks to build. They very rarely build without such directly adjacent access.
23:16:25  <planetmaker> it's possible on half-road tiles
23:16:42  <xiong> Aha! As I suspected, planetmaker.
23:16:42  * andythenorth eats words
23:16:47  <andythenorth> mm tasty
23:17:17  <xiong> Does "remove absurd road elements" affect this either way?
23:18:20  * andythenorth bed
23:18:23  <andythenorth> bye
23:18:35  *** andythenorth [] has quit [Quit: andythenorth]
23:18:47  <xiong> A full tile road, straight in from the edge, presents the dead end to the center tile; and I'm fairly sure dead ends of that sort -- full tile dead ends -- inhibit construction. Not absolutely, but somewhat.
23:19:48  <xiong> So for maximum effect, in some places I've been running half a tile to the center, with a T cross. This seems to encourage growth more than the full tile straight in. In some cases, I've just done a half tile.
23:19:59  <xiong> Those must be the ones that I'm losing to town.
23:24:13  <Rhamphoryncus> xiong: oh, it just occurred to me: town growth operates based on randomly picking a path from the center of town.  A T could provide multiple paths in.
23:24:54  <xiong> Well, that's interesting, Rhamphoryncus.
23:25:37  <xiong> For each build, the grid is *walked* from town center to a vacant tile!?
23:26:17  <Rhamphoryncus> yup
23:26:23  <xiong> I do really think the center of 3x3 blocks should build on their own. Rarely, they do.
23:26:48  <Rhamphoryncus> As I said last time we discussed this: they do for me.  It must be fixed in trunk
23:27:07  <xiong> I'm disturbed by some backsliding I'm seeing: downtown tiles that long ago built their centers but now have gone to grass.
23:27:57  <xiong> I upgraded to 1.2.0-beta4 and my building set is TTRS 3.13. I don't even know if the town set should affect it.
23:28:00  *** Pulec [] has quit [Ping timeout: 480 seconds]
23:28:25  <Rhamphoryncus> Go into the scenario editor and experiment
23:28:46  <xiong> Um, what advantage in the scenario editor?
23:28:57  <Rhamphoryncus> you can place a town and tell it to expand
23:29:12  *** Pulec [] has joined #openttd
23:29:20  <Rhamphoryncus> Of course it's also conceivable that it behaves different there
23:29:21  <xiong> Same algorithm? I mean, I've got an authentic game on now.
23:29:38  <Rhamphoryncus> I assume it's the same, but I might be wrong
23:30:29  <xiong> I let the town grow to about 20K pop without tinkering with the road system. Very few centers built -- 3 out of 16 downtown blocks.
23:30:43  *** pjpe [] has joined #openttd
23:35:05  <Stimrol_> Is there any way to stop this, i already have adjacant station=off --->
23:35:25  * xiong looks
23:35:58  <xiong> What are you trying to stop, Stimrol_?
23:36:39  <Stimrol_> that you can have this as the same station
23:37:21  <xiong> Um, do you want to build two logical stations? Or prohibit one logical station?
23:37:25  <Stimrol_> this is in a way cheat because like this you can get for example wood from two forest
23:37:56  <xiong> Different players see it differently. I like to play with disjoint stations. We're all different.
23:38:22  <Rhamphoryncus> Stimrol_: the only practical way to stop it is have a small maximum station size
23:38:55  <Stimrol_> it is 12 now, default
23:39:13  <Stimrol_> so you mean have highest like seven
23:39:24  <Rhamphoryncus> Yup.  Or 4 and really suffer ;)
23:39:47  <xiong> If you want to prohibit disjoint stations, set distant_join_stations = false
23:39:59  <Stimrol_> does not work I have it like that
23:40:17  <xiong> But it will still be possible to form a disjoint station; you can "walk" it out.
23:40:20  <Rhamphoryncus> distant join doesn't stop you from having disjoint stations.  It only makes them awkward to build because you have to walk them out.  Which is lame.
23:40:27  <Stimrol_> you build and connect each one then you delete the station inbetween
23:40:30  <xiong> Yah.
23:40:37  <Stimrol_> yes
23:40:48  <xiong> But then, what are you doing, Stimrol_? Playing alone or setting up a server?
23:41:03  <Stimrol_> server
23:41:10  <xiong> Either way, I think you can just make it a rule, if you please: No disjoint stations allowed.
23:41:51  <xiong> I tend to prefer ingame enforcement of rules. But in this case, it's tough.
23:42:02  <Stimrol_> yes, I was hoping there was a fix for this. Because if you can do something you will do it even it not allowed
23:42:18  <Stimrol_> I just have to have it like this, but thanks anyway :)
23:42:24  <xiong> Dunno. I like to run around with people who don't fight.
23:42:27  <Eddi|zuHause> planetmaker: i'm thinking with going with splitting early austrian engines into two: "Northern" (StEG+kkStB) and "southern" (SB)
23:44:08  <xiong> I'd go along with Rhamphoryncus, Stimrol_; set max station spread to 8. Do you really care if stations are disjoint? 8 tiles is roughly catchment area; so it's "walkable".
23:44:58  <Stimrol_> I like it hard :)
23:45:03  <Stimrol_> hehe
23:45:09  <xiong> Or, equally realistically, the distance a crew can be expected to haul cargo with industry-owned vehicles.
23:45:14  <Rhamphoryncus> Need smaller catchment areas, hehe
23:45:23  <Rhamphoryncus> Drop it down to, say, 2.
23:45:57  <xiong> Nobody builds a railhead right up to the tree to be felled.
23:47:25  <Rhamphoryncus> You can use truck depots with transfer orders
23:47:36  <xiong> Here's what you can do if you're a real tough guy, Stimrol_: Build antennas completely surrounding your industries, right out to the rail catchment limit. Leave one-tile corridors for truck feeders.
23:48:10  <xiong> For extra brutality, leave fewer corridors than you have players. ;)
23:48:20  <Stimrol_> no I am playing to, this is for everybody
23:48:41  <Rhamphoryncus> Play with hills on those antennas, so they can't walk a truck depot through them :)
23:49:01  <Rhamphoryncus> But also consider the large catchment area of airports
23:49:03  <xiong> ?
23:49:24  <xiong> What are you thinking, Rhamphoryncus? I was thinking solid antennas. Mind you, I hate antennas.
23:50:05  <xiong> Strategic placement of antennas at various heights would exclude airports, too.
23:50:31  <Rhamphoryncus> If you have a path for a road then you have a path for depots
23:50:42  <Rhamphoryncus> hrm.  I'm wrong.  You can't block them so long as the road is removable :(
23:51:24  <xiong> Well, I thought the idea would be to put a truck stop next to the industry and a single road out.
23:52:18  <xiong> If there are more antennas than station spread, you *must* set up a feeder. No?
23:52:25  <Rhamphoryncus> yeah
23:52:56  <xiong> Erm, antenna_radius > station_spread + catchment.
23:53:26  <xiong> That would be a lot of antennas. :(
23:53:30  <planetmaker> Eddi|zuHause: I'm not a big railway historian. Thus if it makes sense, I've totally no issue with such split
23:53:34  *** Pulec [] has quit [Ping timeout: 480 seconds]
23:53:35  <LordAro> night all
23:53:45  *** LordAro [] has quit [Quit: "Time is an illusion. Lunchtime doubly so."]
23:53:49  *** sla_ro|master [slaco@] has quit []
23:53:50  * xiong back to chores
23:53:53  <planetmaker> I'd only consider the game aspect (less the reality). Thus... :-)
23:54:32  <Eddi|zuHause> planetmaker: i'm not a historian either, i'm just browsing wikipedia trying to make some sense of this mass of engine types
23:54:40  *** roboboy [] has joined #openttd
23:56:50  *** Pulec [] has joined #openttd
23:57:19  *** FLHerne [] has left #openttd []

Powered by YARRSTE version: svn-trunk