Back to Home / #openttd / 2012 / 03 / Prev Day | Next Day
#openttd IRC Logs for 2012-03-11

---Logopened Sun Mar 11 00:00:46 2012
00:55-!-hbccbh [~hbc@] has joined #openttd
00:56-!-Eddi|zuHause [] has quit []
00:56-!-Eddi|zuHause [] has joined #openttd
01:31-!-andythenorth [] has joined #openttd
01:36-!-kkb110_ [] has joined #openttd
01:36-!-kkb110 [] has quit [Read error: Connection reset by peer]
01:42<Rubidium>morning's good
01:43*andythenorth should stop reading the OpenTTD 2.0 thread early in the morning
01:43<andythenorth>or ever
03:02<xiong>Is there some reason why a FIRS Stockyard might not be built? At first I suspected an introduction date since I start in 1850 (although realistically, stockyards are ancient). But I'm able to *fund* a Stockyard. Meanwhile other industries are randomly starting on their own.
03:02<xiong>By the way, props to whoever *didn't* introduce reefers too soon. In 1850 I quite correctly have source and consumers of fruit; and even ice box wagons; but no suitable rail cars.
03:04<andythenorth>xiong: two of the several possible reasons for not building are:
03:05<andythenorth>(1) random is actually being random
03:05<andythenorth>(2) the map has no suitable location
03:05<xiong>Yah, andythenorth; I figured (1). Just wanted to make sure.
03:05<xiong>The map is very flat; I don't see a location issue.
03:06<andythenorth>the game is not great at providing industries that have date restrictions
03:06<andythenorth>it does try to build them somewhat once the date restriction has passed, but often this doesn't produce the result a player might want
03:07<andythenorth>i.e. afaik, it does favour trying to build industries which are (1) allowed to be built (2) have a low or zero count on the map
03:07<xiong>Well, the initial distribution is equal to about 100 years of random insertion.
03:07<xiong>*Does* the Stockyard introduce after 1850 or later?
03:08<xiong>Better, is this documented somewhere, so I can study up?
03:12<andythenorth>documentation not guaranteed canonical
03:12<andythenorth>code is canonical ;)
03:13<xiong>"The first refrigerated boxcar entered service in June 1851..."
03:14<xiong>Yes, I'm looking. Thank you.
03:15<andythenorth>I think there's a ticket somewhere about making stockyard always available, but changing graphics over time
03:15<andythenorth>as there is no destination for livestock prior to stockyard
03:15<xiong>That really makes no sense at all. Who figured 1867? People have been slaughtering all manner of beasts, en masse, for millenia.
03:17<xiong>"The Union Stock Yard & Transit Co., or The Yards, was the meat packing district in Chicago for over a century starting in 1865." -- which lends some justification to the general era but still says the year is wrong.
03:19<xiong>Hey, that reminds me: Was there ever any interest expressed in a nicer cargo chain map?
03:21-!-TWerkhoven [] has joined #openttd
03:23<andythenorth>dates are set for gameplay balance, with only some attendance paid to real life dates
03:24-!-Progman [] has joined #openttd
03:24<andythenorth>if you wish to patch your own edition, you can see that dates in the code are relatively easy to change ;)
03:44-!-sla_ro|master [slaco@] has joined #openttd
04:11-!-pjpe [] has quit [Quit: ajax IRC Client]
04:13-!-mahmoud [] has joined #openttd
04:16-!-hbccbh [~hbc@] has quit [Quit: Leaving.]
04:16-!-hbccbh [~hbc@] has joined #openttd
04:22-!-pjpe [] has joined #openttd
04:24-!-pjpe [] has quit []
04:36-!-pjpe [] has joined #openttd
04:45-!-andythenorth [] has quit [Quit: andythenorth]
04:55-!-Firartix [] has joined #openttd
05:00-!-tokai|mdlx [] has joined #openttd
05:06-!-tokai [] has quit [Ping timeout: 480 seconds]
05:06-!-tokai|noir [] has joined #openttd
05:06-!-mode/#openttd [+v tokai|noir] by ChanServ
05:10-!-Pikka [] has joined #openttd
05:10-!-JVassie [~James@] has joined #openttd
05:12-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
05:15-!-Alberth [] has joined #openttd
05:15-!-mode/#openttd [+o Alberth] by ChanServ
05:17-!-Devroush [] has joined #openttd
05:19-!-tokai|mdlx [] has joined #openttd
05:21-!-tokai|noir [] has quit [Read error: Operation timed out]
05:23-!-tokai|noir [] has joined #openttd
05:23-!-mode/#openttd [+v tokai|noir] by ChanServ
05:30-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
05:44<Rhamphoryncus>heh, oops! Replacing my single car PAX trams with double length articulated trams has turned my city into a solid wall of trams XD
05:50<@Alberth>your citizens will not complain that they cannot find a tram :)
05:52<TWerkhoven>but how will the chickens cross the road now?
05:53-!-snack2 [] has joined #openttd
05:56-!-TGYoshi [~TGYoshi@] has joined #openttd
06:04-!-fonsinchen [] has joined #openttd
06:05-!-Zuu [] has joined #openttd
06:06-!-TWerkhoven [] has quit [Quit: He who can look into the future, has a brighter future to look into]
06:11-!-DDR [] has quit [Quit: ChatZilla [Firefox 10.0.2/20120216100510]]
06:14-!-peteris [~peteris@] has joined #openttd
06:19-!-pjpe [] has quit [Quit: ajax IRC Client]
06:24-!-Pulec [] has joined #openttd
06:29-!-flaa [] has joined #openttd
06:46<Rhamphoryncus>The grannies will take their hand and lead them
06:48<@Terkhen>good morning
06:55<@Alberth>moin Terkhen
06:58-!-_maddy [] has joined #openttd
07:01-!-pugi [] has joined #openttd
07:16-!-fonsinchen [] has quit [Quit: Konversation terminated!]
07:17-!-fonsinchen [] has joined #openttd
07:22-!-valhallasw [~valhallas@] has joined #openttd
07:23-!-flaa [] has quit [Ping timeout: 480 seconds]
07:26<_maddy>have to say I have gotten to a fairly pleasant start with my AI
07:26<_maddy>the framework seems pretty good, and Squirrel feels easy even though I have never used it before
07:27<@Yexo>good to hear :)
07:27-!-FLHerne [] has joined #openttd
07:30-!-flaa [] has joined #openttd
07:31-!-morph` [~morph`@] has joined #openttd
07:33-!-morph` [~morph`@] has quit [Remote host closed the connection]
07:40-!-pugi [] has quit []
07:41-!-rane [] has joined #openttd
07:41<rane>hello, is it there cfg var for pausing a server if there are no clients?
07:42<@Alberth>should be
07:42<rane> should it be here?
07:43<@Alberth>it should be in that file indeed. Whether it is also listed at the wiki, I don't know
07:44<Eddi|zuHause>tried "min_active_clients" or something similar?
07:44<rane>nope, lemme see
07:44<@Alberth>just look in the file for a name that looks right to you
07:44-!-frosch123 [] has joined #openttd
07:45-!-Devedse [] has joined #openttd
07:46<@Alberth>hello Devedse, all the way from zeeland !
07:46<Eddi|zuHause>well,,. closer than new zeeland :p
07:46<MNIM>depends, not to an aussie
07:47-!-andythenorth [] has joined #openttd
07:51<Devedse>Alberth, Hi :>
07:53<TrueBrain>I am paulsanders, I am ill and would die as a result of cancer. I want to distribute my funds to charity
07:53<TrueBrain>organizations in your country through you,please respond for details.
07:53<TrueBrain>they are getting more and more rude
07:53<TrueBrain>next email will be: if you dont reply I will hunt you down and kill you
07:54<@Alberth>prepare the Mains <-> UTP interface!
08:00<_maddy>is there a way to remove all changes I've made up to a certain point in the past in AI programming? specially in Test mode
08:00<@Alberth>reload the map ?
08:00<andythenorth>pinkle ponkle, I went to the zoo
08:00<andythenorth>'lo Pikka
08:00<andythenorth>is it done yet?
08:00<@Alberth>'lo andy
08:01<Pikka>bloody a-train, too hard a shape :D
08:01<_maddy>Alberth: function?
08:01<@Yexo>_maddy: any functions you execute in test mode do not change any state in the game
08:01<@Yexo>you can do call functions over and over again without any real result
08:02<@Yexo>so there are no changes to revert
08:02<_maddy>Yexo: right, but I need to reset the test mode back to original state sometimes
08:02<_maddy>what happens if I create a new instance of AITestMode while already in test mode?
08:02<@Yexo>use the AIExecMode class for that, or let your AITestMode object go out of scope
08:03<@Yexo>AI*Mode instances create a stack, you can create as many of them as you want, the last one created is the one used.
08:03<andythenorth>Pikka: is it not a eurostar shape with doors?
08:03<@Yexo>you have to make sure they are deleted in reverse order otherwise things will break very badly
08:05<_maddy>so, if I have TestMode A first, then I create new instance and start TestMode B, make changes, after the B object is destroyed, is the state restored to that of A?
08:06<_maddy>ok, that makes sense and works perfectly for my purpose
08:07<_maddy>to have outer test mode for the whole route, and within in I can compare different options in smaller scale (such as station orientation) in a new testmode
08:09<@Yexo>why would you use a separate test mode object for that?
08:09<@Yexo>testmode == testmode, there are no differences between two instances
08:10<TrueBrain>there is also ... accountingmode? to track how much a scope costs
08:10<@Yexo>there is AIAccounting, but that's not a mode
08:10<TrueBrain>its a scope ;)
08:11<_maddy>hmm, ok, so if I want to test 2 things, I have to make a testmode instance, then switch back to exec mode, and again to testmode?
08:11<@Yexo>you make a testmode instance -> you're in test mode, you can now test as many things as you want
08:12<_maddy>yes, but I need to reset the testmode to some previous state :)
08:12<@Yexo>test mode has no state
08:13<@Yexo>"create test mode object -> build station on tile 2, build depot on tile 2, build road on tile 2"; all those actions can return success within one test mode scope
08:14<_maddy>oh...I thought it remembers the state, so if I build something on a tile in test mode, I can't build on the same tile, within the scope of that test mode
08:14<@Yexo>there is too much state involved in openttd, so that's not doable
08:16<_maddy>that would have been nice to have, but I guess I will manage without it
08:20-!-FLHerne [] has quit [Ping timeout: 480 seconds]
08:24*andythenorth wonders what the fastest way is to for gestalts to implement 'provides_filenames()' or 'provide_all_filenames()' or such
08:24<andythenorth>probably nested 'for i in: ' loops
08:27<@Alberth>a recursive function, as the number of variables is variable
08:28<_maddy>what does AITile::IsBuildableRectangle actually check when it returns true/false?
08:28<@Alberth>andythenorth: but you can write it on top of the functions get_variables() and get_values(), so no need to hide it in the gestalt, imho
08:29<andythenorth>that's a function that calls itself while (some condition)?
08:29<@Alberth>yes, and for best result, the condition should become false at some point in the recursion :)
08:30<@Alberth>in this case, you'll run out of variables to iterate over
08:30<@Yexo>_maddy: it returns true if AITile::IsBuildable returns true for every tile
08:31<@Yexo>IsBuildAble returns true for empty tiles, for tree tiles, for coast tiles and for tiles with a single roadbit which is owned by either you or a town
08:39-!-Lurker2 [] has joined #openttd
08:40-!-Devedse_ [] has joined #openttd
08:40-!-Devedse_ [] has quit []
08:43-!-Zuu [] has quit [Ping timeout: 480 seconds]
08:47-!-Devedse [] has quit [Ping timeout: 480 seconds]
09:12<Eddi|zuHause>hm... anyone know a (very basic) sound editing program for linux?
09:12-!-cypher [] has joined #openttd
09:13<Pikka>that's what I said
09:13*Pikka second audacity
09:14<Eddi|zuHause>ok... *installing*
09:16<andythenorth>oh you said that
09:16<Pikka>the only problem with audacity is the echoes
09:22<Pikka>and re before andy, I haven't drawn a eurostar either :P
09:23-!-glx [glx@2a01:e35:2f59:c7c0:c5fa:8746:5bf0:b959] has joined #openttd
09:23-!-mode/#openttd [+v glx] by ChanServ
09:26<andythenorth>you can draw one based on the Hitachi :)
09:26<andythenorth>ever considered raiding BROS? :)
09:26<Pikka>not in the slightest
09:49<andythenorth>why does printing the output from a generator change the result of other calls to the generator?
09:49<Eddi|zuHause>uninitialized variables?
09:50<andythenorth>if I remove the first 'for sx, sy, scol' etc, and the print, this code fails
09:51<Eddi|zuHause>need "bigger picture"
09:52<andythenorth>I could paste the whole call chain, but it's probably more than you want to look at[
09:52<andythenorth>maybe I should learn to use pdb instead of printing out vars to debug failures
09:52<Eddi|zuHause>no, mostly the get_recolouring function
09:53<@Alberth>andythenorth: using dicts or sets?
09:53<Eddi|zuHause>also, you print "dcol" while you loop over "scol"
09:54<@Alberth>dict key order changes between run
09:54<andythenorth>dcol was a mistake :P but the issue persists
09:55<andythenorth>I need to learn pdb anyway sometime
09:55<andythenorth>might as well be today
09:57-!-flaa [] has quit [Quit: leaving]
09:57<andythenorth>my error is that I'm trying to set values for pixels with indexes > image width or image height
09:57<andythenorth>but I can't get the values of those indexes to figure out what I've done wrong :P
09:58<Eddi|zuHause>x+dx may get out of range?
09:58<@Alberth>add an assert just before putting the pixel
10:00<Eddi|zuHause>also, what happens if you move the print to the second loop, and remove the first loop?
10:00<andythenorth>Eddi|zuHause: same issue
10:00<andythenorth>afaict in that case, using sx, sy, scol will cause another set of values to be yielded by generator?
10:00<Eddi|zuHause>and if you turn the second loop into a print as well
10:00<Eddi|zuHause>and compare the output?
10:01<andythenorth>good idea
10:01<andythenorth>first I have to change nappies
10:02<Eddi|zuHause>and if printing "dcol" works while you're looping over "scol", then you've got a variable scope fault...
10:02<andythenorth>indeed :)
10:05<Eddi|zuHause>that was the point where i split my generator into functions and modules
10:05<Eddi|zuHause>makes it less likely that spurious temp variables live on for too long
10:07<andythenorth>+ve offset instead of -ve
10:07*andythenorth didn't learn pdb though :(
10:08*Alberth doesn't know pdb either :)
10:09<Eddi|zuHause>my usual use of pdb is "oh i have an exception" - "hmm.. traceback alone is inconclusive" - "python -i" - "import pdb;" - "up/down/p <expression>"
10:10<Eddi|zuHause>haven't done "live" debugging yet
10:12*andythenorth now has load sprites comped onto vehicles, in a useful way
10:13<andythenorth>where 'useful' means there are spritesheets of loads, which are opened, cropped, and applied to the vehicle
10:14<andythenorth>cargo spritesheets can be generated...or hand drawn, for cases where it's easier to just draw
10:28-!-Lurker2 [] has quit [Quit: ajax IRC Client]
10:36<@Alberth>is it still quicker than draw by hand (starting when you first opened the text-editor for this project)?
10:36<_maddy>trying to use the rail pathfinder in my AI, it never returns from the FindPath function
10:37<@Yexo>how long did you run the test?
10:37<@Yexo>and what is the distance (in tiles) between the endpoints of the route?
10:37<@Yexo>are you sure there even is a valid pad?
10:38<_maddy>it's been running few minutes, not sure the arguments are valid (how to check?), the distance is less than 500 tiles
10:38<@Yexo>500 tiles is very long
10:38<@Yexo>try to limit the route to less than 200 tiles
10:39<@Yexo>you can tune some of the parameters to increase performance (but decrease the quality)
10:42<Eddi|zuHause><Alberth> is it still quicker than draw by hand (starting when you first opened the text-editor for this project)? <-- such generalizations take some time to amortize
10:43<_maddy>Yexo: it's not working
10:44<@Alberth>Eddi|zuHause: I know :)
10:44<_maddy>nevermind, seems it's actually just really slow
10:44<@Alberth>_maddy: the true optimal path takes a lot of time
10:45<_maddy>Alberth: yeah, when in reality I probably wouldn't need the optimal path, but just a path that is "good enough"
10:46<@Yexo>_maddy: try modifying the Estimate() function to return the estimated result times 1.1 or so
10:47-!-FLHerne [] has joined #openttd
10:47-!-FLHerne [] has left #openttd []
10:47-!-FLHerne [] has joined #openttd
10:48<_maddy>Yexo: in the ai lib?
10:49<@Yexo>you can override that function from your AI code
10:49<@Yexo>you can see in the forums how to do that
10:52<@Yexo>see for example
10:53-!-fonsinchen [] has quit [Ping timeout: 480 seconds]
11:00<_maddy>yeah, now it's faster
11:12-!-snack2 [] has quit []
11:14<_maddy>still pretty slow tho :)
11:21-!-hbccbh [~hbc@] has quit [Quit: Leaving.]
11:21-!-lmergen [] has joined #openttd
11:23<_maddy>might try to make my own pathfinder later which is simpler, at least I got as far as to build stations and connect them now
11:26-!-George|2 [~George@] has joined #openttd
11:26-!-George is now known as Guest5870
11:26-!-George|2 is now known as George
11:41-!-Elukka [] has joined #openttd
11:41-!-lmergen [] has quit [Ping timeout: 480 seconds]
11:42<frosch123>wow, youtube's error 500 page is cool
11:42<frosch123>i wonder whether it really contains information, or whether it is just some nerdy trolling :)
11:44<Eddi|zuHause>tried to un-base64 it?
11:46<Eddi|zuHause>hm no, that doesn't seem to be it
11:48-!-Chris_Booth[ph] [] has joined #openttd
11:49<frosch123>yeah, looks like it uses 64 characters
11:49<frosch123>26 lowercase, 26 uppercase, 10 digits, - and _
11:50-!-pugi [] has joined #openttd
11:50-!-lmergen [] has joined #openttd
11:51<Eddi|zuHause>but "base64 -d" says it's garbage
11:52-!-Chris_Booth [] has joined #openttd
11:52<valhallasw>maybe it has been rot13'ed
11:53<valhallasw>or <random other method to obfuscate text>
11:53<Eddi|zuHause>i once heard that google puts in riddles like this to find new employees :)
11:54<Eddi|zuHause>ah, so sed-ing stuff will make it work
11:57<Eddi|zuHause>so why has nobody patched base64 for that then?
11:59<Eddi|zuHause>output looks like random data, though
11:59-!-Keyboard_Warrior [~holyduck@] has joined #openttd
12:07-!-theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
12:08-!-_maddy [] has quit [Quit: leaving]
12:12-!-fonsinchen [] has joined #openttd
12:13-!-Chris_Booth[ph] [] has quit [Quit: Colloquy for iPhone -]
12:15-!-Zuu [] has joined #openttd
12:15<andythenorth>Alberth: for the amount of time I've actually spent coding, pixa is much faster so far
12:15<andythenorth>and will allow a much better set
12:15<andythenorth>it would have been boring to carry every cargo in box trailers :P
12:20<frosch123>as soon as ai build airports, they lose :p
12:20<Pikka>hooray for infrastructure maintenance costs :P
12:22-!-fonsinchen [] has quit [Read error: Connection reset by peer]
12:22-!-tokai|mdlx [] has joined #openttd
12:22-!-fonsinchen [] has joined #openttd
12:22-!-MNIM [] has quit [Remote host closed the connection]
12:23-!-Keyboard_Warrior [~holyduck@] has quit [Read error: Connection reset by peer]
12:23<frosch123>8000 £ to build a small airport 60000/year to keep it :)
12:24<andythenorth>sounds plausible
12:26<frosch123>ouch, now they ask me to take over the company for 100000 :p
12:26<Eddi|zuHause>frosch123: is there even an API to query the maintenance cost?
12:26<frosch123>i think it is not even worth 0
12:26<frosch123>Eddi|zuHause: no idea, but this ai is certainly older than infrastructure cost
12:27-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
12:28<frosch123>Eddi|zuHause: yes, there is
12:29<frosch123>problem is that av8 is no balanced for that.
12:29<frosch123>the ai had only a signle plane, and it was not even making a profit
12:29<Pikka>frosch123: next version of av8 has balanced maintenance costs for the airports
12:30<frosch123>i read that :)
12:30<Pikka>(optional via parameter)
12:30<Pikka>it works much better now
12:31-!-FLHerne [] has left #openttd []
12:37-!-fonsinchen [] has quit [Ping timeout: 480 seconds]
12:38-!-FLHerne [] has joined #openttd
13:02-!-George [~George@] has quit [Read error: Connection reset by peer]
13:05-!-fonsinchen [] has joined #openttd
13:09-!-theholyduck [~holyduck@] has joined #openttd
13:09*andythenorth wonders what happens when one module calls another which calls first module again :P
13:10-!-kkb110_ [] has quit [Remote host closed the connection]
13:10-!-kkb110_ [] has joined #openttd
13:11<Eddi|zuHause>a module is only loaded once, the other imports are just references
13:12<andythenorth>a better question would be: recursive functions, where no break or end condition is reached
13:12<SpComb>andythenorth: depending on how the modules reference eachother, it may or may not work
13:12<SpComb>the import will get an incomplete modeule
13:13<SpComb>if you're really careful it might kinda work, but
13:13<Eddi|zuHause>andythenorth: it throws an exception after some recursion depth
13:14<SpComb>python has a stack limit
13:14*andythenorth must sound like a live edition of 'programming for dummies' :P
13:15<Eddi|zuHause>andythenorth: in theoretical computer science, a "recursive" function is one that always terminates
13:15<Eddi|zuHause>andythenorth: everything else is called "partial recursive"
13:15<Chris_Booth>programming for dummies is a great book
13:16<Eddi|zuHause>andythenorth: then it usually goes on about how the function to determine whether a function is recursive is not recursive
13:18<andythenorth>I can't decide whether to automate dep checking (building one png requires another), or just throw errors and leave it to the user to figure out :P
13:18<andythenorth>which do you think is easier?
13:18<Eddi|zuHause>andythenorth: throw an error, and let the makefile handle the dependencies
13:19<andythenorth>not sure if I'll have a makefile or not
13:19<Eddi|zuHause>andythenorth: possibly make a (fast!) mode that just lists the dependencies without calculating the images
13:19<andythenorth>Eddi|zuHause: +1 to fast mode
13:19<andythenorth>-M or such
13:19<Eddi|zuHause>andythenorth: let the user figure out the makefile
13:20<andythenorth>maybe it's time to move this to the pixa repo
13:20<andythenorth>and let others loose on it
13:20<Eddi|zuHause>andythenorth: nml's -M mode is totally _not_ fast
13:20<andythenorth>pixa is lacking docs right now
13:21<Rubidium>talking about dummy: which is then easily linked back to pixa via ;)
13:21<andythenorth>Eddi|zuHause: in a typical context, I think you'd want your set generator to create the filenames anyway
13:21<andythenorth>the set is canonical afaict
13:21<andythenorth>only the newgrf code knows if a png is required or not
13:23<andythenorth>-M is slow for nmlc? let's see
13:25*andythenorth can't figure out how to use it
13:30-!-Pulec [] has quit []
13:34-!-HerzogDeXtEr1 [~Flex@] has joined #openttd
13:35-!-lmergen [] has quit [Ping timeout: 480 seconds]
13:37-!-welshdragon [] has left #openttd []
13:38<andythenorth>nmlc -M --MF=foo.txt bandit.nml
13:38<andythenorth>results in an empty foo.txt
13:39-!-Nat_aS [] has quit [Remote host closed the connection]
13:41-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
13:44-!-Nat_aS [] has joined #openttd
13:45<andythenorth>-MT works
13:45<andythenorth>so what's --MF for then?
13:46<andythenorth>Eddi|zuHause: 4s for BANDIT with -M
13:46<andythenorth>how long do you get with CETS?
13:56-!-Maarten [] has quit [Read error: Operation timed out]
13:58-!-Maarten [] has joined #openttd
14:03-!-Chris_Booth [] has quit [Quit: ChatZilla [Firefox 11.0/20120305181207]]
14:03-!-Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
14:03-!-collinp [] has joined #openttd
14:06<Eddi|zuHause>andythenorth: something around 2 minutes
14:06<andythenorth>Eddi|zuHause: give me 2 mins more, I have something dumb
14:06-!-Biolunar [] has joined #openttd
14:06<Eddi|zuHause> <- the two linked revisions give some numbers
14:07<Eddi|zuHause>i might move the template magic into the generator script, that may speed up stuff
14:08<andythenorth>Eddi|zuHause: stupidest thing ever:
14:08<andythenorth>real 0m0.053s
14:10<Eddi|zuHause>well, could make a proper parser, or a grfcodec -M patch instead
14:11-!-fonsinchen [] has quit [Remote host closed the connection]
14:14-!-morph` [~morph`@] has joined #openttd
14:15<morph`>Why is my server without any NewGRFs more popular than the one with NewGRFs? NoGrf = constatly 5+ players, NewGrf = 0/10
14:18<Eddi|zuHause># this is the night when we call for the moon
14:18<Eddi|zuHause># this will lead into timeless space
14:18<Eddi|zuHause># take a ride to a place without gravity
14:18<Eddi|zuHause># all we do need for this trip is to just let go
14:18<Eddi|zuHause># of all the logic - let's go
14:25-!-cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
14:25-!-andythenorth [] has quit [Quit: andythenorth]
14:26-!-andythenorth [] has joined #openttd
14:27<andythenorth>Eddi|zuHause: patching grfcodec - beyond me...
14:27<andythenorth>proper parser - I'd like to learn that...
14:29-!-Pikka [] has quit [Quit: ChatZilla [Firefox 10.0.2/20120215223356]]
14:29<Eddi|zuHause>need to learn grammar. and how to think in trees :)
14:34<NGC3982>we have this transfer system: wheat is being loaded with a huge boat from a station. the boat takes a long ride to a transfer train station. trains take the goods to the proper industry.
14:35<NGC3982>is there any way for me to make the trains stay in the depot until the boat has loaded the goods onto the transfer train station?
14:35<andythenorth>full load?
14:35<NGC3982>ive been looking at making a timetable, but the time it takes for the boat to load is not constant.
14:36<NGC3982>and really, it doesnt ever take the same route (wich makes it take different time to get to the transfer station)
14:36<Eddi|zuHause>make the boat not full load, but take anything it can get within a fixed time?
14:36<Eddi|zuHause>use YAPF for ships
14:36<NGC3982>YAPF is travel alghoritms, right?
14:37<NGC3982>would be neat to use "if <station> = visited"
14:37<NGC3982>a bit too easy, perhaps.
14:39<andythenorth>build an escape depot before the station, block the station with a single train?
14:42<xiong>NGC3982, your situation is conventional and common. Your requirement doesn't make much sense.
14:43<xiong>A vehicle -- any vehicle -- drops cargo -- any cargo -- at a station -- any station. Another vehicle picks it up, boom.
14:43-!-andythenorth [] has quit [Quit: andythenorth]
14:44<xiong>The dropping vehicle is ordered to 'transfer and leave empty'; the pickup vehicle to 'full load'. There are fine distinctions between 'any' and 'all'.
14:45<xiong>The pickup vehicle does not wait in depot; it waits in station, so it can pick up. I can think of a few reasons why you might not want a vehicle in station for a long time; but you should plan to have some wait.
14:47<CIA-1>OpenTTD: translators * r24025 /trunk/src/lang/ (14 files in 2 dirs): (log message trimmed)
14:47<CIA-1>OpenTTD: -Update from WebTranslator v3.0:
14:47<CIA-1>OpenTTD: basque - 14 changes by HerrBasque
14:47<CIA-1>OpenTTD: catalan - 15 changes by arnau
14:47<CIA-1>OpenTTD: english_US - 1 changes by Rubidium
14:47<CIA-1>OpenTTD: french - 1 changes by glx
14:47<CIA-1>OpenTTD: german - 1 changes by Jogio
14:48<xiong>I build intermodal stations with plenty of platforms since I anticipate that some will be tied up by waiting trains. Docks are less of an issue since multiple ships appear willing to overlap. With trucks, I tend not to 'full load' at all; I let them circulate merrily, empty or not, and just add more of them to the loop.
14:49-!-andythenorth [] has joined #openttd
14:50<xiong>If you think about it, you must solve the waiting-for-cargo problem anyway, since primary industries produce it slowly and over a period of time. You need to be there in station picking it up, and waiting to pick it up, continuously -- for best performance.
14:52<xiong>An approach used by the somewhat cautious is *not* to order 'full load' but just run the vehicle through station and pick up what it can; then conditional-jump on percentage of load, going right back to the same station. You can put a maintain-at-depot order in that loop.
14:54<xiong>Another tactic is the *exit depot*. Full-load the vehicle and order it, always, to depot as it exits the transfer station, hoping for a smooth ride to the final destination.
14:54-!-George [~George@] has joined #openttd
14:55-!-Guest5870 [~George@] has quit [Ping timeout: 480 seconds]
14:57<morph`>Couldn't you press left mouse on the "eye-icon" in train's window to follow the train movement ?
14:57<Nat_aS>it's ctrl click
14:57<morph`>Nice, thanks :)
14:57<morph`>Missed that
14:57<Nat_aS>took me TOO LONG to find that
14:57<Nat_aS>also it has to be medium zoom
14:57<Nat_aS>Hey I have a question, why can't you zoom out farther?
14:58<Nat_aS>playing really huge maps seems difficult when you can't zoom out all the way.
14:59<@Alberth>the smallmap gives you an overview
15:00-!-Mazur [] has quit [Remote host closed the connection]
15:05-!-Devroush [] has quit [Ping timeout: 480 seconds]
15:08-!-FLHerne [] has left #openttd []
15:08-!-Firartix [] has quit [Read error: Connection reset by peer]
15:08-!-Mazur [] has joined #openttd
15:11<Nat_aS>even that's not as good as being able to zoom out and see how things look from up high
15:11<Nat_aS>also i think some maps are even too big for the smalmap
15:11<SpComb>zooming out is expensive
15:11<Nat_aS>the wonders of modern memory sizes
15:12<@Alberth>in CPU :)
15:12<@Alberth>single-core ;)
15:13<Nat_aS>it just seems kind of unfair to scale one element of the game (Max map size) to accommodate modern hardware. but not others (Max zoom level)
15:13<@Alberth>and we need a 10,000 sprites for one extra zoom-level
15:13<Nat_aS>but then aggain some things scaler easier than others
15:14<Nat_aS>maybe veichiles would vanish at higher zooms?
15:14<Nat_aS>or be replaced by symbols?
15:14<Nat_aS>kind of like what supreme commander does, when you zoom all the way out, it basicly just becomes a large map.
15:15<NGC3982>xiong: i see.
15:15<NGC3982>xiong: thank you for the input.
15:15<xiong>Hope I helped, NGC3982.
15:17<xiong>Nat_aS, That's the smallmap. Yes, the smallmap could be bigger.
15:17-!-cypher [] has joined #openttd
15:19<Nat_aS>well I'm saying not only should the smallmap be bigger, you should be able to zoom the regular map out into the smallmap
15:19<Nat_aS>for easier viewing
15:19<Nat_aS>and eyecandy
15:20<Nat_aS>to save CPU, anything that moves would be removed at the higher zoom levels, but you would still be able to see the terrain instead of just a flat noncolored map
15:20<SpComb>iirc there's a patch for that
15:20<@Alberth>there is
15:21<Nat_aS>is it compatible with the cargodist patch?
15:21<Nat_aS>how do you apply patches anyways? I just download the completed versions
15:21<SpComb>it's difficult
15:21<SpComb>as a user, you should just concentrate on pressuring patch devs and trunk devs to work together :)
15:22<Nat_aS>we need an interface like the newgrif loader for patches
15:22<Nat_aS>so we can just toggle them like newgrifs
15:22<Nat_aS>(Even more ways for users to horribly corrupt there save files)
15:22<Nat_aS>(just what we need)
15:22<@Alberth>install a compiler, and a copy of the repo, and you can build them easily
15:22<SpComb>patches are for developers, not users
15:23<SpComb>and patchpacks are forks
15:23<SpComb>and forks are death!
15:23<Nat_aS>Progamer easy or user easy?
15:23<Nat_aS>because these are different things :P
15:23<@Alberth>depends on your definition of programmer :)
15:24<@Alberth>if you patch against the revision the patch was created for, and you don't try combining them, compiling is pretty much straight forward,
15:24-!-Firartix [] has joined #openttd
15:25<Nat_aS>put things in the same folder and run the compiler?
15:25*Nat_aS is just guessing, he's never done anything like this
15:26<@Alberth>almost; you 'apply' the patch to the source code.
15:26<@Alberth>a patch is a list of instructions how to change the code
15:26*Nat_aS is spoiled by windows and Ubuntu, executable installers and package loaders
15:26<Nat_aS>Although I have applied mods to STALKER by hand
15:27<__ln__> (warning: canada)
15:27<Nat_aS>copying and pasting things into the games directory
15:27<@Alberth>yeah, most users are clueless beyond downloading & installing :(
15:27<Nat_aS>Package loaders are probably the best idea ever in terms of user friendlyness
15:27<Nat_aS>and preventing users from messing up
15:27<@Alberth>__ln__: it's also from; does not look good to me :)
15:28<Nat_aS>but it's yet another layer between the user and the computer.
15:28<@Alberth>Nat_aS: too bad windows doesn't have them for the entire system
15:28<valhallasw> direct url for __ln__s post
15:28<Nat_aS>so a new generation of computer users who grew up using tablets instead of PCs might be even more clueless compaired to people who lived in the 90s
15:28<valhallasw>although you won't dodge the cookies ;-)
15:29<Nat_aS>anyways, Back to trains
15:29<Nat_aS>that picture makes me kind of sad
15:29<@Alberth>Nat_aS: oh definitely
15:30<Nat_aS>because in games like OTTD and simutrans it's hard to ever get enough finished goods to make giant container trains
15:30<Nat_aS>container cars have a higher capacity than raw materials cars, and there will always be more raw materials being moved than finished goods in this kind of simulation
15:31<Nat_aS>so mile long trains of doublestack container cars are not worth it
15:32<@Alberth>make different industries ;)
15:33<andythenorth>so how do I package this pixa thing?
15:33<andythenorth>installable python module -> pypi?
15:33<Nat_aS>Hmm, perhaps the game ough to be adjusted so that goods are less dense cargo wise?
15:34<@Alberth>distutils was the standard way, don't know what they have nowadays; have a look in the library reference
15:34<Nat_aS>lots of them are produced, and they take up lots of room, but weigh less than raw materials.
15:34<Nat_aS>and also pay less
15:34<andythenorth>is an installable module wise?
15:34<Nat_aS>so you need large trains to ship them effectively.
15:34<andythenorth>how would it be updated? how would sample project(s) be distributed?
15:35<@Alberth>only the fixed part should be installed imho
15:35-!-pjpe [] has joined #openttd
15:35<@Alberth>the other stuff can be added in the package but not installed, or just copied to some 'example'-like directory perhaps
15:35<andythenorth>it's very convenient to be able to 'hg pull -u' nml
15:36<andythenorth>and to be able to revert to previous versions
15:36*Alberth nods
15:36<@Alberth>I tend to just work from trunk versions for openttd-related software
15:37<andythenorth>I don't understand how a newgrf project could include something from another hg repo
15:37<andythenorth>svn uses externals for that?
15:37<@Alberth>hg has subrepo iirc
15:37<andythenorth>if it was a newgrf project using buildout, it would just rebuildout
15:37<@Alberth>but I only used it for vcs-ing patches of an mq and it was highly confusing
15:38-!-morph` [~morph`@] has quit [Remote host closed the connection]
15:38<andythenorth>a newgrf project could add pixa's location to the search path?
15:38<andythenorth>and maintain, e.g. one level up the directory tree?
15:38<@Alberth>I would just soft-link the projects probably
15:39<@Alberth>if it is in the search path, the location is not relevant
15:40<@Alberth>that's why it's in the search path ;)
15:40<andythenorth>code is currently in BANDIT repo. Should I just add to pixa repo? Or do I need to do a hg import somehow?
15:41<@Alberth>no idea, really
15:41<andythenorth>duck tape says copy it in
15:41<andythenorth>as I have no idea how to import
15:41<andythenorth>and I don't find the history useful at this stage
15:41<@Alberth>you may be able to copy history for some subset of files, but whether is really possible, or how to do it then, no clue whatsoever
15:42*Alberth would just copy the file as-is
15:43<@Alberth>and not bother about history :)
15:43<@Alberth>it's overrated anyway :p
15:52-!-KritiK [] has joined #openttd
15:52-!-FLHerne [] has joined #openttd
15:54<Nat_aS>too bad the manual industry newgirf is not compatible with anything
15:54<Nat_aS>I kind of need it to be always on because I play in scenarios with specific industries and it sucks when they just disafuckingpear.
15:55<Nat_aS>but I'd love to be able to have new industries and things
15:56<@Alberth>play with FIRS, it has a 'do not close industries' setting
15:57<@Alberth>and opengfx+industries may also have it, don't know
15:57<andythenorth>I think ECS may have that setting too
15:57<andythenorth>pixa is file :P
15:57<andythenorth>and a GPL notice
15:57<Nat_aS>oh it does?
15:58<@Alberth>however, the best way to get new things is to let unused industries close; growth is very slow
15:58<Nat_aS>I really wish "Do not close industries" could be a settings switch.
15:58<@Alberth>openttd has no control over closure
15:58<Nat_aS>well in a secnerio, I don't want new industries forming or old ones vanishing
15:59<andythenorth>Nat_aS: a setting is never gonna happen, on the basis that one of the newgrf industry developers (all 4 of them) might get their underpants twisted
15:59<andythenorth>'omg you broke the newgrf spec'
15:59<andythenorth>yeah, ok :P
16:00<@Alberth>nah, we fixed the spec :D
16:00<Nat_aS>"Go update your code then" :P
16:00<Nat_aS>in minecraft, all the mods get broken with each new update
16:00<Nat_aS>reguardless of what changes
16:01<Nat_aS>and they have to be rebuilt each time
16:01*andythenorth sees no obvious reason why 'industries don't close' is not a setting
16:01<Nat_aS>(which sucks because the updates almost never add anything of value compaired to the mods)
16:01<andythenorth>so many other apparently pointless things are settings
16:01<andythenorth>and this one causes a lot of support requests
16:01<andythenorth>'write your own grf' is not a valid answer
16:01<@Alberth>the only way to do it I think is by adding a flag 'this industry has no interest in controlling closure'
16:02<andythenorth>simply refuse to handle closure
16:02<andythenorth>I could look up the code :P
16:02<@Alberth>oh, the industry has that option already ?
16:02*andythenorth adventures in industry_cmd.cpp again
16:02<andythenorth>my most favouritest openttd file :P
16:03<@Alberth>one of the more readable ones :p
16:03<andythenorth>afaict, just extend the conditions for CheckIndustryCloseDownProtection
16:03<andythenorth>to check a setting
16:04<andythenorth>the problem with industry code is that it's squirrely
16:04<andythenorth>and has many conditions around economy, industry type, newgrf :P
16:04-!-Pikka [] has joined #openttd
16:04<Pikka>they're waiting for you, Gordon
16:04<Nat_aS>i can understand things like prices being a newgrif, but industry closure should be a setting
16:04<Pikka>in the tesssssssst chamberrrrrr
16:04<Pikka>possibly, Nat_aS
16:05<Pikka>but closure can be part of a more complex behaviour
16:05<@Alberth>Nat_aS: it's mostly historical, I think. In TTDP it is sort of logical to move it to NewGRF
16:05<andythenorth>would seem the most relevant here
16:06<Nat_aS>well it could be controlled by both
16:06<@Alberth>Pikka: unfortunately, it interferes with global control of industries in the world
16:06<Nat_aS>like by default it's a setting, but newgrifs could over-ride it
16:06<andythenorth>no no that would be bloody awful
16:07<Pikka>what's so good about global control of industries in the world again?
16:07<andythenorth>already you're over-riding the newgrf closure, now you want the newgrf to be able to over-ride the over-ride
16:07<andythenorth>'please close'
16:07<andythenorth>'please close, really'
16:07<andythenorth>'oh, ok'
16:08<@Alberth>Pikka: the game has an overview of what industries live at the entire world; it can open new ones or close unused / obsolete ones.
16:09<Pikka>but what defines "unused / obsolete" if not the grf?
16:09<@Alberth>an industry does not have that overview
16:10<@Alberth>an industry does not know whether it is the last one, or one of 500
16:10<Pikka>I'm pretty sure it does
16:10-!-Devroush [] has joined #openttd
16:10<Pikka>67 Supported by OpenTTD Supported by TTDPatch Count of industry, distance of closest instance
16:11<andythenorth>tried that
16:11<andythenorth>can't remember why it sucked
16:11<@Alberth>does it take map size into accont?
16:12<@Alberth>does it take next / previous industries into account?
16:12<@Alberth>(in the chain)
16:12<Pikka>it can do, it's count of any given industry
16:12<Pikka>not necessarily this one
16:13<Nat_aS>andythenorth, my idea is that most newgrifs would not specify closure, and that the game would, BUT if the newgtif did specify closure, it would overide the game.
16:13<andythenorth>Nat_aS: that's silly
16:13<andythenorth>what problem are you trying to solve? :)
16:14<Nat_aS>I am trying to solve being stuck with the manual industries newgrif which is compatible with nothing
16:14<andythenorth>why are you stuck with that?
16:14<Nat_aS>although you said other industry grifs have that option so i should try it
16:14<@Alberth>andythenorth: due to not reading the manual ;)
16:15<frosch123>the problem with industry closure is, that it is tied to production changes (for primary industries)
16:15<@Alberth>Nat_aS: btw it's NewGRF, there is no "i" in it
16:15*Nat_aS pronounces it Grif as in the name
16:16<andythenorth>I can't remember why it sucked, but when we tried solving this for FIRS, and running long headless test games logging stats, we found that industries can't really work for this
16:16<andythenorth>I remember
16:17<andythenorth>Pikka: so assuming you want to prevent the mass extinction of industries (I do)....
16:17<andythenorth>it seems smart to say, check var 67 every so often and store it persistently
16:18<andythenorth>then check the count when you're thinking of closing
16:18<andythenorth>if the count hasn't changed for (some time), ok, close
16:18<andythenorth>no mass die off?
16:18<andythenorth>unfortunate problem: multiple industries of type x have a habit of closing in the same month :P
16:18<Pikka>yes, well
16:19<andythenorth>on larger maps, the same mass die off happens
16:19<andythenorth>we logged it for a bit
16:19<Pikka>that seems to be a problem with your implementation rather than the concept :P
16:19<andythenorth>it was better than default behaviour, but could still be pathologically stupid some months
16:19<andythenorth>if you can solve it, I'll steal it :P
16:19<Pikka>lol okay
16:20<andythenorth>I tried random offsets, referencing the town id, tricks with map x, y
16:20<Pikka>I don't think I've even touched secondary industry closures yet though
16:20<andythenorth>it was all blearch
16:20<@Alberth>Pikka: the concept by andy is flawed I think, in the sense that you just delay closing rounds by (some time)
16:20<Pikka>tbh I only play small-normal maps so it's not an effect I've noticed much
16:21<andythenorth>I spent a couple of weekends on it, concluded you need a global overview
16:21<andythenorth>or change industry spec
16:21<andythenorth>or newgrf-global storage
16:21<andythenorth>remind me, what's so evil about newgrf global storage?
16:23<Eddi|zuHause>[GRFCODEC] cets.grf
16:23<Eddi|zuHause>Error: Insufficient meta-data.
16:24<Eddi|zuHause> While reading sprite:38
16:24-!-pjpe [] has quit [Quit: ajax IRC Client]
16:24<Pikka>you broke it, Eddi|zuHause
16:25<Eddi|zuHause>ah i see... i need to update grfcodec to grfv2
16:27<Eddi|zuHause>works (tm)
16:30<Eddi|zuHause>but why does grfcodec not throw up when it reads "info version 32"?
16:30-!-Zuu [] has quit [Ping timeout: 480 seconds]
16:31-!-pjpe [] has joined #openttd
16:32-!-cypher [] has quit [Read error: Connection reset by peer]
16:37<@Alberth>it does not want to make your new carpet dirty ?
16:38-!-cypher [] has joined #openttd
16:51-!-lofejndif [] has joined #openttd
17:03-!-germanplayer [] has joined #openttd
17:04<germanplayer>guten abend
17:04<germanplayer>good evening
17:04<andythenorth>how do I tell python to search further up the directory tree?
17:05<SpComb>andythenorth: PYTHONPATH=... python ...
17:05<andythenorth>do I need to use an abs path, rather than basing on os.curdir?
17:05<andythenorth>[this is for module import]
17:05<Eddi|zuHause>it should work to put ".." into the path
17:05<germanplayer>can someone help me?
17:06<germanplayer>irgentwer aus der deutsch spricht?
17:07<@Yexo>germanplayer: this channel is english-only. We can only help you if you actually ask a question
17:07<__ln__>^ is that grammatical?
17:07<Eddi|zuHause>__ln__: no
17:07<@Yexo>there is a german forum at
17:07<frosch123>__ln__: nope :p
17:07<__ln__>thought so, it looked so weird
17:08-!-germanplayer [] has quit []
17:08*andythenorth is doing something probably stupid
17:09<andythenorth>so a newgrf project (e.g. BANDIT) would need a way to add pixa to the python search path
17:09<andythenorth>pixa being a hg checkout somewhere
17:09<Eddi|zuHause>andythenorth: no. pixa would be installed to site-packages
17:09<andythenorth>and the location will vary depending on how the user has things setup
17:09<frosch123>is it intentional that pixa looks like pikka ?
17:10<andythenorth>I think it was intentional by Rubidium to cause false highlights for pixa though :)
17:10<andythenorth>Eddi|zuHause: ?
17:10<Eddi|zuHause>frosch123: we also have a guy named Pixa here :)
17:10<frosch123>yeah, but likely he disabled highlights or put andy on ignore :p
17:10<andythenorth>Eddi|zuHause: so it would be installed to system python?
17:10<Eddi|zuHause>andythenorth: pixa will be installed properly. then it's in the python path
17:11<andythenorth>so how is it updated then?
17:11<Eddi|zuHause>by installing a new version
17:11<andythenorth>I need to package it with Distribute or such?
17:11<Eddi|zuHause>with a
17:11<Eddi|zuHause>or something
17:11<andythenorth>why don't we install nml this way?
17:11<Eddi|zuHause>no nml doesn't want to be used as module
17:11<Eddi|zuHause>it's a standalone tool
17:12<frosch123>you should have called it pyxa
17:12<andythenorth>frosch123: too late :)
17:12*andythenorth is so not used to spewing things all over system python
17:12-!-Devedse [] has joined #openttd
17:12<andythenorth>but doesn't know how to avoid it
17:12<frosch123>hmm, i think i was already too late the last time a project was named
17:13<Eddi|zuHause>frosch123: it's karma. for always leaving too early for anyone to reply :p
17:14-!-germanplayer1 [] has joined #openttd
17:15<andythenorth>pixa is here if anyone wants to package it :P
17:15<germanplayer1>someone from germany here
17:15<SpComb>andythenorth: `mkdir pixa; mv *.py pixa`
17:15<SpComb>andythenorth: then read
17:17<Eddi|zuHause>andythenorth: "from distutils.core import setup" or something
17:18<andythenorth>SpComb: thanks
17:18<SpComb>you can't have an in a hg repo root, it has to be in a directory, and then that directory has to be in the VCS
17:18<SpComb>for the directory is an important part of it being a package
17:18<SpComb>as opposed to two random .py modules
17:18<FLHerne>21:07: Yexo: there is a german forum at
17:19<andythenorth>SpComb: k
17:20-!-germanplayer1 [] has quit [Quit: ajax IRC Client]
17:20*SpComb learned that bit the hard way
17:20-!-pjpe [] has quit [Quit: ajax IRC Client]
17:20<frosch123>that there is a german forum?
17:20<frosch123>yes, it is a very cruel place
17:20<SpComb>andythenorth: but as to other, separate projects then using that stuff, hmm..
17:20<SpComb>then whole `sudo install` thing is pretty heavyweight
17:21<andythenorth>I refused to do it for nml
17:21<andythenorth>you don't sudo things if you can avoid it
17:21<andythenorth>I live in a world of buildout, no sudo required
17:21<SpComb>quite, and installing random's as root is kind of iffy
17:21<valhallasw>virtualenv \o/
17:21<Eddi|zuHause>andythenorth: such a thing will be required if you want the devzone to build it
17:21<SpComb>if you have a package manager, your system site-packages belongs to it
17:22<andythenorth>I'm going to figure out how to make a buildout for BANDIT, which will pull pixa
17:22<andythenorth>but that's just me :P
17:22<andythenorth>overkill for many cases
17:22<SpComb>never used that, but I do use virtualenv for developing/deploying wsgi stuff
17:22<andythenorth>zc.buildout creates a set of local eggs and sets local paths
17:23<Eddi|zuHause>why do compilations always fail after i tested locally that they wouldn't?
17:23<andythenorth>so the directory for your project is then self-contained
17:23<valhallasw>(I only install deb packages in the global site-packages; everything else goes into a virtualenv)
17:23<andythenorth>valhallasw: similar approach, different tool
17:23<SpComb>valhallasw: yeah, that's more or less the right way to do it
17:23<SpComb>although /usr/local/ is kind of so-so
17:23<SpComb>and distutils defaults to /usr/local/
17:23<andythenorth>nobody I know who writes python commercially installs to global site-packages if they can avoid
17:24<andythenorth>it tends to incur delays in getting to the pub
17:24<SpComb>it kind of depends on what the package is for
17:24<SpComb>if it's a wsgi site, no, /usr/local/ is the wrong place
17:24<SpComb>if it's some command-line utils intended to be used by users and such, might be the right place
17:25<SpComb>but internal scripts can still live in an /opt/foo virtualenv
17:26<Eddi|zuHause>SpComb: of course distutils must install to /usr/local, in /usr only the packet manager may install stuff
17:26<SpComb>distutils didn't always default to /usr/local/
17:27<andythenorth>so in this right answer?
17:27<andythenorth>'the state of python packaging' :P
17:27<Eddi|zuHause>andythenorth: just that you provide a doesn't mean that everybody must use it
17:27<andythenorth>Ammler seems very pleased with PIP
17:27<Eddi|zuHause>andythenorth: but it's way easier than adding to sys.path
17:28<Eddi|zuHause>andythenorth: or "external" repos in a subdirectory...
17:28<andythenorth>Eddi|zuHause: I'm fairly convinced by your case
17:28<SpComb>andythenorth: write it as a hosted web/cloud service \o/
17:28<andythenorth>SpComb: far too plausible :P
17:28<andythenorth>I just move it into pyramid
17:29<andythenorth>might be...slow :P
17:29<andythenorth>I'm kinda relying on being able to tie up a lot of CPU for a short time
17:30<andythenorth>so I'll read about
17:31<andythenorth>meanwhile I moved it into a pixa dir
17:32<SpComb>congrats, you have a package
17:32<andythenorth>not exactly
17:32<SpComb>and your redmine is 500ISE'ing
17:33<andythenorth>I copied my license.txt in there, which is bad :P
17:33<Eddi|zuHause>a "package" is a directory with an
17:33<SpComb>Eddi|zuHause: and a name
17:33<SpComb>andythenorth: myes, that's project stff
17:33-!-Nat_aS [] has quit [Quit: Konversation terminated!]
17:33<SpComb>Eddi|zuHause: the name of the dir the is in is part of the api/code
17:33-!-Nat_aS [] has joined #openttd
17:33<andythenorth>how did I break the repo?
17:34<SpComb>Eddi|zuHause: which is why a bunch of .py files and an lying in your repo root is not a package :)
17:34-!-Progman [] has quit [Remote host closed the connection]
17:35<frosch123>night eddi :p
17:35-!-frosch123 [] has quit [Remote host closed the connection]
17:35<andythenorth>repo is back
17:35<@Alberth>andythenorth: you can install a distutils package locally as well
17:36<andythenorth>in that case I just add to the path?
17:36<@Alberth>yep :)
17:36<andythenorth>or distutils has an install option flag thing?
17:36<andythenorth>praps not
17:37<@Alberth> install --help
17:37<andythenorth>I should license GPL v2?
17:37<andythenorth>or dual-license v3 also?
17:38*Alberth does not know what v3 does or not does
17:38<andythenorth>ach I'll do v2
17:38<andythenorth>can add v3 later, it's my code (and quite a bit of yours too Alberth) :)
17:39<@Alberth>hmm, nml has a buildout thingie :(
17:39<Eddi|zuHause>just say v2 or later
17:39<andythenorth>nml's buildout needs removing, it's broken
17:39*Alberth gives andy permission for any license he likes to use
17:40<andythenorth>thanks :)
17:40<@Alberth>something open source would be nice though :)
17:40<SpComb>or no license at all
17:41<@Alberth>some countries do not accept that
17:42<@Alberth>so we have the wtfpl :)
17:47<andythenorth>can't get distutils to see my LICENSE.txt correctly
17:47<andythenorth>even though I follow the tutorial exactly
17:49<andythenorth> :P
17:51<andythenorth>there we go: can haz package :)
17:52-!-Zeknurn` [] has joined #openttd
17:53-!-sla_ro|master [slaco@] has quit [Quit: DANGER is OFFLINE DANGER]
17:55-!-Zeknurn [] has quit [Ping timeout: 480 seconds]
17:57<andythenorth>TODO: get pypi account :P
18:01<@Alberth>only one small hurdle towards world fame, and riches :p
18:02<@Alberth>good night
18:02<andythenorth>I'll donate a share to tt-forums :P
18:02*andythenorth -> bed
18:02-!-Alberth [] has left #openttd []
18:02-!-andythenorth [] has quit [Quit: andythenorth]
18:03-!-pjpe [] has joined #openttd
18:08-!-collinp [] has quit [Quit: Colloquy version 2.3]
18:25<Nat_aS>I figured out the industry closing thing
18:26<Nat_aS>two options in the advanced settings "Allow industry closure/creation" which defers to the newgrf, and "Do not allow industry closure/creation" which overrides.
18:26-!-peteris [~peteris@] has quit [Quit: Ex-Chat]
18:26<Nat_aS>if it's important to the newgrif, it can just have a note in the documentation telling the user to change the setting
18:30<Eddi|zuHause>Nat_aS: that doesn't work
18:31<Nat_aS>why not?
18:31<Eddi|zuHause>Nat_aS: since the newgrf can change production levels, you'll just end up with lots of industries producing nothing
18:31<Nat_aS>oh, industries die when there production level reaches zero?
18:32<Nat_aS>can't you override that too though?
18:35-!-Devedse [] has quit [Ping timeout: 480 seconds]
18:39-!-JVassie [~James@] has quit [Ping timeout: 480 seconds]
18:41<Eddi|zuHause>Nat_aS: just ask your favourite industry grf to implement a "never close industries" switch
18:43<Nat_aS>i guess so
18:43<Nat_aS>it just seems like that behavior ought to be conrolled by advanced features
18:44<Nat_aS>I mean aircraft speed factor is in advanced options
18:44<Nat_aS>(options not features)
18:44<Nat_aS>and AV8 always bugs you to toggle it.
18:49<NGC3982>that never close industries switch would be neat as a feature
18:50<Nat_aS>never close and never decrees
18:50<Nat_aS>if on, it would override the grfs
18:50<Nat_aS>of off, it would let the grifs do there thing
18:50<Nat_aS>any grif that needs it off, would tell the user to switch it.
18:51<Rubidium>though... it breaks NewGRFs
18:53<Nat_aS>yes, lots of updates break mods, it's up to the modding community to keep up.
18:53<Nat_aS>plenty of games do this
18:53<Nat_aS>minecraft is notorious for it, esp since the updates rarely have as much content as the mods they break.
18:55-!-FLHerne [] has left #openttd []
19:00-!-TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
19:02-!-Firartix [] has quit [Ping timeout: 480 seconds]
19:03<@Terkhen>good night
19:10-!-Devroush [] has quit []
19:14-!-lofejndif [] has quit [Quit: Leaving]
19:23<Eddi|zuHause>File "/usr/bin/nmlc", line 6, in <module>
19:24<Eddi|zuHause>especially since i actually didn't change any functionality...
19:25<Eddi|zuHause>i exchanged some existing files with the same number of automatically generated ones with virtually the same content
19:36-!-mahmoud [] has quit [Ping timeout: 480 seconds]
19:52-!-KritiK [] has quit [Quit: Leaving]
20:10-!-[1]Mark [] has joined #openttd
20:10-!-Mark is now known as Guest5918
20:10-!-[1]Mark is now known as Mark
20:21-!-cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
20:44-!-MNIM [] has joined #openttd
21:10-!-valhallasw [~valhallas@] has quit [Ping timeout: 480 seconds]
21:13-!-theholyduck [~holyduck@] has quit [Read error: Connection reset by peer]
21:13-!-theholyduck [~holyduck@] has joined #openttd
21:16<Eddi|zuHause>srslywtf... i changed something that _reduces_ code complexity, but it _increases_ the memory footprint of nmlc?!?
21:22-!-mastermin [] has joined #openttd
21:23-!-KouDy [~KouDy@] has joined #openttd
21:23-!-mastermin [] has quit [autokilled: This host violated network policy. Mail if you think this in error. (2012-03-12 01:23:56)]
21:33-!-Rhamphoryncus [] has joined #openttd
21:50-!-pugi_ [] has joined #openttd
21:56-!-Biolunar [] has quit [Quit: All your IRC are belong to us]
21:56-!-pugi [] has quit [Ping timeout: 480 seconds]
21:56-!-pugi_ is now known as pugi
22:14-!-Pikka [] has quit [Quit: ChatZilla [Firefox 10.0.2/20120215223356]]
22:28-!-kkb110__ [] has joined #openttd
22:28-!-kkb110_ [] has quit [Read error: Connection reset by peer]
22:38-!-supermop [] has joined #openttd
22:38-!-kkb110__ [] has quit [Remote host closed the connection]
22:39-!-kkb110 [] has joined #openttd
22:39-!-kkb110 [] has quit [Killed ( (Nick collision (new)))]
22:39-!-kkb110 is "(unknown)" on (unknown)
22:40-!-kkb110 is "(unknown)" on (unknown)
22:40-!-kkb110 [] has joined #openttd
23:19-!-supermop [] has quit [Quit: supermop]
23:35-!-glx [glx@2a01:e35:2f59:c7c0:c5fa:8746:5bf0:b959] has quit [Quit: bye]
23:43-!-pugi [] has quit []
---Logclosed Mon Mar 12 00:00:47 2012