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

---Logopened Thu Mar 01 00:00:27 2012
00:02-!-tokai|mdlx [] has joined #openttd
00:06-!-tokai|noir [] has quit [Read error: Operation timed out]
00:07-!-TWerkhoven[l] [] has quit [Read error: Connection reset by peer]
00:08-!-TWerkhoven[l] [] has joined #openttd
00:08-!-tokai [] has joined #openttd
00:08-!-mode/#openttd [+v tokai] by ChanServ
00:11-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
00:17-!-Cybert1nus [] has joined #openttd
00:22-!-Cybertinus [] has quit [Ping timeout: 480 seconds]
00:25-!-Mark [] has quit [Remote host closed the connection]
00:26-!-Markk [] has joined #openttd
00:26-!-Markk is now known as Mark
00:27-!-tokai|mdlx [] has joined #openttd
00:31-!-kkb110_ [] has quit [Ping timeout: 480 seconds]
00:32-!-tokai [] has quit [Ping timeout: 480 seconds]
00:40-!-kkb110_ [] has joined #openttd
00:41-!-Snail_ [] has quit [Quit: Snail_]
00:56-!-Eddi|zuHause [] has quit []
00:56-!-Eddi|zuHause [] has joined #openttd
00:59-!-Mazur [] has quit [Ping timeout: 480 seconds]
01:25-!-JVassie [~James@] has joined #openttd
01:39-!-Zuu [] has joined #openttd
01:42-!-Zeknurn [] has joined #openttd
02:01-!-JVassie [~James@] has quit [Ping timeout: 480 seconds]
02:06-!-sla_ro|master [slaco@] has joined #openttd
02:09-!-andythenorth [] has joined #openttd
02:12-!-Zuu [] has quit [Ping timeout: 480 seconds]
02:13-!-TheMask96 [] has quit [Ping timeout: 480 seconds]
02:18-!-TheMask96 [] has joined #openttd
02:28-!-kkb110 [] has joined #openttd
02:28-!-kkb110_ [] has quit [Read error: Connection reset by peer]
02:44-!-Twofish [] has joined #openttd
02:56-!-TWerkhoven [] has joined #openttd
03:00-!-Elukka [] has joined #openttd
03:19*andythenorth ponders duck-typing
03:20-!-Zeknurn [] has quit [Read error: Connection reset by peer]
03:20<@planetmaker>quak aka moin
03:21<NGC3982>andythenorth: duck-typing?
03:22<@planetmaker>or: if it quaks, it's a duck. if it moos, it's a cow
03:22<NGC3982>ah, hehe.
03:22-!-Cybert1nus is now known as Cybertinus
03:25<andythenorth>or if it says "I am an object that can give you a valid colour, take the result as a colour"
03:25<@planetmaker>any reason you chose such dim light as your nick, NGC3982?
03:26<@planetmaker>@calc 2.5**6
03:26<@DorpsGek>planetmaker: 244.140625
03:26<@planetmaker>(or is there no astronomical reference?)
03:30<NGC3982>planetmaker: number 3982 is a spiral galaxy in ursa major.
03:30<@planetmaker>I know. With 12mag
03:30<@planetmaker>hence my first question ;-)
03:31<NGC3982>well, i love the conformity of the galaxy. big and round, and a bit like the milky way.
03:31<NGC3982>havent really thought about the visibility of it.
03:31<@planetmaker>the images I saw look nice indeed
03:33<andythenorth>I could just check the type of the class (is it PixaColour?), but that would be restrictive
03:33<@planetmaker>hm... I guess given usual NGC brightnesses, 12mag is above average :-)
03:33<andythenorth>and not useful for people who wanted to extend the base methods
03:33<NGC3982>planetmaker: although, i feel; most people do tend to forget about the beauty in the more "normal" stuff in the universe.
03:34<NGC3982>sure, the crab nebula is cool, but it lacks a certain ..normality.
03:34<NGC3982>i love these huge, almost perfect structures.
03:35<@planetmaker> <-- not normal ;-)
03:35-!-bolli [] has joined #openttd
03:36<@planetmaker>@calc 2.5**3.6
03:36<@DorpsGek>planetmaker: 27.0759704357
03:37<NGC3982>planetmaker: that is your own photography?
03:38<@planetmaker>I kinda find fascinating the sombrero galaxy:
03:38<@planetmaker>yes, it is. 3*30 minutes exposure
03:38<NGC3982>with what?
03:39<NGC3982>5194 sure has some great colors from the hubble photos
03:39<NGC3982>bright red and gray
03:39<@planetmaker>8" Celestron on an SBIG ST-8 with r,g, and b filters respectively
03:40<NGC3982>im about to buy my first telescope.
03:40<NGC3982>havent decided on what, yet.
03:40<NGC3982>i barely have the knowledge on it.
03:40-!-Zeknurn [~Zeknurn@] has joined #openttd
03:41<bolli>don't buy a refracting telescope... :P
03:41<bolli>by a reflector
03:42-!-BERLIN22M [BERLIN22M@] has joined #openttd
03:42-!-BERLIN22M [BERLIN22M@] has quit [autokilled: This host violated network policy. Mail if you have any questions (2012-03-01 08:42:28)]
03:42<bolli>don't you just love porn spambots....
03:43<blathijs>Hmm, I was about to click that link, expecting to get a funny picture of a cute piglet or something
03:43<blathijs>Good thing I didn't :-)
03:44<NGC3982>well, freud would love a specimen like that
03:44<NGC3982>someone who reads "tight ass babe gets ass licked and analed" and only recognices "babe".
03:44-!-DOUK [] has joined #openttd
03:46<bolli>right... next stupid compiling question...
03:46<bolli>any idea what 5>LINK : fatal error LNK1104: cannot open file 'libpng.lib' means?
03:47<bolli>its the last error i've got, and it doesn't tell you where its called from...
03:49-!-mahmoud [] has quit [Ping timeout: 480 seconds]
03:53-!-theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
03:56-!-smoovi [] has joined #openttd
03:57-!-Zeknurn [~Zeknurn@] has quit [Read error: Connection reset by peer]
03:57<@planetmaker>bolli, it doesn't find libpng which probably was linked to dynamically
03:58<@planetmaker>NGC3982, "which telescope" is a tricky question. It IMHO highly depends on what you want to do. "Buy a reflector" is also not necessarily the correct answer there either...
03:58<@planetmaker>if you just start and it'll be your first telescope and you want to watch with your eye... probably a Dobson mount reflector might be the most fun for the buck
03:59<@planetmaker>but you won't do photography with that
04:00-!-bolli_ [] has joined #openttd
04:00<@planetmaker>but then... I probably wouldn't invest too much money in the first telescope anyway unless you're absolutely sure you want to keep the hobby and that you want to do astro photography
04:01<@planetmaker>but then it rather needs 4-digit amounts of money
04:02<bolli_>its been a few years since I did any astro photography...
04:02<bolli_>i'm trying to remember the name of the moving mount that we used
04:03<NGC3982>planetmaker: absolutely.
04:03-!-bolli [] has quit [Ping timeout: 480 seconds]
04:04<NGC3982>planetmaker: i have a decent amount of money tucked away for the soul purpose
04:04<NGC3982>although, i think ill start with something for the eye
04:04<NGC3982>i find more interest then enough in the local solar system
04:05<NGC3982>where i guess a small dobson reflector would do.
04:06<NGC3982>something like <12-13" f/5?
04:06<bolli_>ahh... astrotrac
04:07<bolli_>slightly pricy though :/
04:07-!-Zeknurn [] has joined #openttd
04:08<NGC3982>oh, oos.
04:08<NGC3982>for god sake, what am i doing.
04:09<bolli_>it allows you to take long exposure shots without getting blurring caused by the earths rotation...
04:09<NGC3982>i didnt think an dslr objective of that small size could produce those pictures
04:09<NGC3982>i want that
04:09<NGC3982>so bad.
04:10-!-bolli_ is now known as bolli
04:12<bolli>those pictures were probably taken with a special lens or even a telescope looking at them...
04:12<bolli>then extensively modified
04:12<NGC3982>sure looks like it
04:12<NGC3982>i really love that.
04:14<bolli>ah here we go...
04:14<bolli>i took those years ago...
04:14<bolli>using a remotely operated telescope in hawaii
04:15<@planetmaker>with a setup like that and a decent dslr you'll get nice overview images of things like the whole of Orion or so
04:15<@planetmaker>or, depending on lens, of course also smaller detail
04:15-!-Zeknurn [] has quit [Read error: Connection reset by peer]
04:15<@planetmaker>but you need very good tracking
04:15<@planetmaker>which would be an automated mount
04:17<NGC3982>M104 is the sombrero galaxy, right?
04:18<NGC3982>thing is, automated mount + dslr is very expencive for me as a beginner.
04:19<@planetmaker>yes, it is
04:20<@planetmaker>As such, it probably often is not a good idea wanting to start with photography
04:20<@planetmaker>As non-star trail images require an automated mount
04:21-!-Zeknurn [] has joined #openttd
04:21<@planetmaker>Anything longer than a few seconds will already give you trails w/o guidance, already for "normal" focal lengths of common DSLR lenses
04:22<@planetmaker>*few seconds exposure
04:22<@planetmaker>And that effect of course gets worse when you mount the camera to a real telescope
04:24-!-bolli [] has quit [Ping timeout: 480 seconds]
04:35-!-sla_ro|master [slaco@] has quit []
04:43-!-sla_ro|master [slaco@] has joined #openttd
04:43-!-Zeknurn [] has quit [Read error: Connection reset by peer]
04:46<andythenorth>I need a class that when called, returns an object with a value baked in
04:46<andythenorth>like a small factory
04:54-!-Zeknurn [] has joined #openttd
04:58<andythenorth>oh dear
04:58<andythenorth>this works
04:58-!-DDR [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0.2/20120216100510]]
05:00<andythenorth>must be an insane solution?
05:01-!-tty234 [] has quit [Read error: Connection reset by peer]
05:01<andythenorth>more realistic use example:
05:07-!-bolli [~bolli@] has joined #openttd
05:07-!-Zeknurn [] has quit [Read error: Connection reset by peer]
05:10-!-Zeknurn [] has joined #openttd
05:12-!-andythenorth [] has quit [Quit: andythenorth]
05:26-!-Firartix [] has joined #openttd
05:56-!-Firartix [] has quit [Read error: No route to host]
06:00-!-sla_ro|master [slaco@] has quit []
06:02-!-Firartix [] has joined #openttd
06:37<NGC3982>planetmaker: dude.
06:37<NGC3982>planetmaker: obsonian telescopes was really, really expencive.
06:38<NGC3982>i think i need to stick to the more usual stuff before i get there.
06:39<NGC3982>planetmaker: how about a neat litle celestron nexstar 6SE?
06:39<@planetmaker>sorry, what's expensive?
06:39<@planetmaker>Dobson-type telescopes?
06:39<@planetmaker>That's not a manufacturer. It's a mount type
06:39<@planetmaker>Which gives you the largest apperture for the buck
06:40<NGC3982>i cant seem to find anything below 5-7.000 usd.
06:40<NGC3982>i guess thats me not searching correctly.
06:41<@planetmaker>And the Celestron you quote with the auto-guider and the mount certainly is not cheap. A Dobson basically is a telescope w/o a (proper) mount
06:42<NGC3982>hm, i see.
06:42<NGC3982>ill keep on reading.
06:42<@planetmaker>what you quote is probably... 2000€ ?
06:43<NGC3982>something like that, yes.
06:44<NGC3982>actually, i cant say i have any idea on what so ever, what kind of prices i should be looking for. if it demands it, ill pay 4000.
06:44<SpComb>wouldn't a nice tele objective be enough for looking across the street?
06:46*NGC3982 scans ebay for porthole glass.
06:46-!-andythenorth [] has joined #openttd
06:49<@planetmaker>NGC3982, the main question you really should answer before you buy is: what do you want to do?
06:49<@planetmaker>- visual observation or photography?
06:50<andythenorth>planetmaker: wrt FIRS recycling depot - it appears to simply miss the relevant location check(s)
06:50<andythenorth>it slipped out when converted I guess
06:50<@planetmaker>- solar system bodies and alike? Or rather deep sky objects (like your nick implies)
06:50<@planetmaker>andythenorth, probably
06:51<andythenorth>so a bug, but missing code rather than broken
06:53-!-Illegal_Alien [] has joined #openttd
06:53<Eddi|zuHause>bah fuck... kmail got totally unusable now...
06:53<Eddi|zuHause>i tell it to "delete duplicates"
06:53<Eddi|zuHause>and it does everything, except actually delete the duplicates...
06:53<SpComb>deletes everything else?
06:53-!-orudge` [] has joined #openttd
06:53-!-mode/#openttd [+o orudge`] by ChanServ
06:54<@planetmaker>NGC3982, the Dobson telescopes might seem more expensive. But their average aperture also usually is quite a lot bigger. Thus much more fun for visual deep sky tours
06:55-!-orudge` [] has quit []
07:02-!-cmircea [~cmircea@] has joined #openttd
07:02-!-tokai|noir [] has joined #openttd
07:02-!-mode/#openttd [+v tokai|noir] by ChanServ
07:04-!-lofejndif [] has joined #openttd
07:05<Eddi|zuHause><andythenorth> and not useful for people who wanted to extend the base methods <-- there is "isinstance", which should properly handle derived classes
07:05<@planetmaker>NGC3982, seems that the NexStar series indeed is good value meanwhile. Computerisation of the mounts made the expensive mounts kinda obsolete...
07:05<Eddi|zuHause>i haven't seen any sane functions to check interface-conformity for proper duck typing
07:06<Eddi|zuHause>so it'll fail somewhere deep inside the code instead of at a simple "assert hasinterface(blah)"
07:06<andythenorth>Eddi|zuHause: I found an article where Guido is quoted as saying "know your codebase" wrt interfaces & duckytpin
07:06<Eddi|zuHause>now that sounds like a useless argument :)
07:07<andythenorth>also - "use tests" ;)
07:07-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
07:08-!-tokai|noir [] has quit [Read error: Operation timed out]
07:09-!-tokai [] has joined #openttd
07:09-!-mode/#openttd [+v tokai] by ChanServ
07:16-!-tokai|mdlx [] has joined #openttd
07:17<Ammler>does debian build debug packages for openttd?
07:21-!-tokai [] has quit [Read error: Operation timed out]
07:24-!-bolli [~bolli@] has quit [Quit: Leaving]
07:27<Ammler>it seems like --enable-debug is not useable for packages, how shall I enable debug but not change the final binary?
07:29<andythenorth>Eddi|zuHause: I know it lacks context, but does any of this look insane?
07:30<Eddi|zuHause>andythenorth: i don't understand a word of that
07:31<andythenorth>thanks anyway ;)
07:32-!-TGYoshi [~TGYoshi@] has joined #openttd
07:36-!-theholyduck [~holyduck@] has joined #openttd
07:36<andythenorth>I know try: except: is a valid python pattern, but it makes me itch
07:37<andythenorth>usually it's easy to kick holes in what "except" is doing
07:37<andythenorth>maybe python has something like hasttr()
07:42<Ammler>looks like debug binary is built per default, maybe via CFLAGS?
07:50-!-APTX [] has quit [Read error: Connection reset by peer]
07:50-!-APTX [] has joined #openttd
07:53-!-Snail_ [] has joined #openttd
08:01-!-cypher [] has joined #openttd
08:08-!-glx [glx@2a01:e35:2f59:c7c0:9825:f129:c306:2392] has joined #openttd
08:08-!-mode/#openttd [+v glx] by ChanServ
08:16-!-Rhamphoryncus [] has joined #openttd
08:16<Rhamphoryncus>Heya andythenorth
08:16<andythenorth>hi hi
08:17<Rhamphoryncus>The nml clicked an hour after you left. I understand it
08:17-!-cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
08:18-!-Snail_ [] has quit [Quit: Snail_]
08:18<Rhamphoryncus>But I also figured out a problem in your pseudocode
08:18<Rhamphoryncus>The amount of supplies consumed is constant at a given production level, so as long as you exceed it by 1 you'll eventually hit saturation of the 3x chance
08:19<Rhamphoryncus>Exceeding it by 50% would accomplish that in 6 months
08:19<andythenorth>got a fix? :)
08:21<Rhamphoryncus>Two parts. First is to average the supplies out over 3 months. Implemented by having supply_store in 3 variables: first (current month) you consume a third of it, second (previous month) you consume half of it, and third (month before that) you consume all that's left. Then you rotate them, making new for the new month.
08:22<andythenorth>how do you retrospectively consume?
08:22<andythenorth>suggests time travel... :)
08:22<Rhamphoryncus>Those are just stockpiles of what's left
08:23<Rhamphoryncus>So you have a budget for tuesday, wednesday, and thursday. Each started at a 3 dollars and you consume 1 dollar from each each day
08:24<Rhamphoryncus>So just before you consume it'll look like 1, 2, 3. After it'll be 0, 1, 2. Then you rotate for the new month: 1, 2, 0
08:26<@planetmaker>Rhamphoryncus, it's not like my patch series doesn't use that concept already...
08:26<Rhamphoryncus>planetmaker: does it? I'm going off his proposal mostly
08:26<@planetmaker>the idea there is to take a configurable time and use that as basis...
08:27<@planetmaker>or so was the idea when I started it
08:28<@planetmaker>you also need to mind that you only have so many persistant storage registers
08:28<Rhamphoryncus>yeah, but I think 3 is acceptable
08:29<andythenorth>I recall that we discussed whatever is in the patch queue at the time, and it made sense
08:30<Rhamphoryncus>So what's not done in the patches?
08:30<@planetmaker>it's not a question of 'acceptable' but of 'still available'?
08:30<@planetmaker>Rhamphoryncus, removing the bugs in it
08:30<@planetmaker>and proper testing
08:30*Rhamphoryncus nods
08:30<Rhamphoryncus>like the bit shifting :)
08:36<andythenorth>ha ha
08:36<andythenorth>my code works
08:36<andythenorth>I'm always surprised by that
08:40<andythenorth>there's no sane way to assign an attr to a method is there?
08:40<andythenorth>e.g. I have "def colour(self, colourset=None)
08:41<Rhamphoryncus>( production_level / 16 * ((production_level + 128) / 32 - (4 - LOAD_PERM(var_supply_efficiency_factor)))) is equivalent to (production_level / 16 * (production_level + / 32 + LOAD_PERM(var_supply_efficiency_factor)))
08:41<andythenorth>and I want to provide an easy interface for authors, who might prefer to call self.colour
08:41<andythenorth>self.colour = self.colour() fails
08:41<Rhamphoryncus>But I'm also guessing the /16 should be done last, to minimize rounding
08:41<andythenorth>this might be a stupid dumb idea anyway
08:41<andythenorth>methods are methods, and should look like methods
08:41<andythenorth>magic is bd
08:42<Rhamphoryncus>You want to create a function and make it a method on that specific object?
08:42<andythenorth>I've done that
08:42<andythenorth>I want to assign it to an attr :P
08:42<andythenorth>I can think of at least two reasons this shouldn't work
08:42<Rhamphoryncus>"foo = foo" doesn't make sense :)
08:43<andythenorth>foo = foo() is somewhat problematic too
08:43<andythenorth>object = call object :P
08:43<Rhamphoryncus>You'd need a different name
08:43<Rhamphoryncus>but self.myfunc = self.colour works fine
08:43<andythenorth>nah, it's a problem I should stop solving, it's just a bad idea
08:43<Rhamphoryncus>It creates a bound method object when you look it up
08:44<andythenorth>in the case above - what happens if I call self.myfunc(args) ?
08:44<andythenorth>do the args get passed?
08:45<andythenorth>is it good that authors can use attr access when they don't need args?
08:45<Rhamphoryncus>Methods in python are attributes. Internally, if you do self.colour(args) it does "func = self.colour; func(args)"
08:45<andythenorth>and only write a method call when args are present?
08:45<Rhamphoryncus>wait, I don't think I'm understanding you
08:46<Rhamphoryncus>You want the method to behave as a different kind of object when not called?
08:46<andythenorth>I want to enable the following
08:46<andythenorth>foo.colour = result
08:47<andythenorth>foo.colour(args) = similar result
08:47<andythenorth>but I think it's a dumb idea tbh
08:47<andythenorth>and totally unnecessary
08:47<Rhamphoryncus>Ahh. Assignment is technically possible, but not retrieval (it's already used to get the bound method). And yeah, bad idea :)
08:48<andythenorth>I'm filing it under 'stupid'
08:48<Rhamphoryncus>But a property would be okay. let you do "foo.colour = 3" or "foo.colour = (3, 15, 12, hut)" or "foo.colour = 'red'" and have that call a function
08:49-!-lofejndif [] has quit [Remote host closed the connection]
08:50<Rhamphoryncus>That function can sanity check it and convert to a standard form
08:54<andythenorth>this is when reading
08:54<andythenorth>and compactness is a virtue
08:54<andythenorth>result = foo.colour() will do fine ;)
08:55<Rhamphoryncus>Heh, alright
08:56*andythenorth ponders "what is love"
08:56<andythenorth>Haddaway seems to have done that too
08:56<Rhamphoryncus>Looks like the patchset has the same issue of constant consumption.
08:57<andythenorth>so the issue is that it's trivial to max out the chance of an increase?
08:57<andythenorth>by delivering > amount per month?
08:57<MNIM>baby don't hurt me?
08:57<andythenorth>MNIM seems to be the case
08:57<andythenorth>Rhamphoryncus: and that's an issue because....?
08:58<Rhamphoryncus>You might as well just have a flat chance
09:00<andythenorth>...or remove the supplies concept
09:00<Rhamphoryncus>I never got to the second part of my proposal ;)
09:00<@planetmaker>the point of my production patches is that the required amount of delivered supplies changes with output
09:01<@planetmaker>thus raising the production level requires increasing supply supply.
09:01-!-mkv` [] has quit [Quit: Leaving]
09:01<@planetmaker>the point is not to make a variable increase chance
09:01<Rhamphoryncus>hrm. I think I'm confusing it with andy's proposal again x_x
09:03<andythenorth>if you have enough supplies on the map, you'll always be able to flood an industry with enough to get the max
09:03<andythenorth>there's no way out of that
09:03<@planetmaker>except limiting supply production ;-)
09:04-!-Biolunar [] has joined #openttd
09:04<Rhamphoryncus>My proposal used decreasing returns. If the target is 10 and that gets you a 1x chance then you'd need 90 supplies to get a 3x chance
09:05<andythenorth>sounds sane
09:05<andythenorth>I had the idea of efficiency somewhere
09:05<andythenorth>possibly even on a per industry basis
09:06<Rhamphoryncus>The target scales proportional to output, but so does the primaries that feed your supply chain, so they stay together
09:07<andythenorth>I can't remember all the details of current proposal right now (and haven't read the patches)....but
09:07<@planetmaker>Rhamphoryncus, and where's the difference when my proposal is like you need 1 supply / month to have a chance to increase from output lv1 to lv2 while you need n**2 supplies to increase from output lv. n to lv (n+1)?
09:07<andythenorth>this was the only proposal we found that wasn't worse than just leaving it alone at >1 / month
09:07<andythenorth>many proposals have been made, but they're all flawed somehow
09:07<@planetmaker>though I probably tried to implement something which is not exactly quadratic and toyed with something like a look-up table
09:08<Rhamphoryncus>planetmaker: ahh, I was only looking at the current increase, not what the target is
09:08<@planetmaker>and if you stop supplying half the required amount of supplies, you start dropping the prod. lv.
09:09<@planetmaker>production lv. is not only about increasing...
09:09<Rhamphoryncus>If it grows quadratically then eventually consumption will exceed demand
09:09<andythenorth>some of the suggestions failed because they contained 'A Xor B but also A && B'. A might be 'have cake' and B might be 'eat cake' :P
09:09<@planetmaker>it's a bit more complex :-)
09:09<Rhamphoryncus>Quadratic growth also encourages spreading around
09:09<Eddi|zuHause>man it always amazes me that the dutch set thread is so extremely fast-moving... i don't look for a day, and it has like 5 new pages
09:10<Rhamphoryncus>So umm.. I like it :)
09:10<Eddi|zuHause>that's more than the total rest of the forum togehter :p
09:10<andythenorth>they're nice graphics
09:10<andythenorth>and FooBar gets stuff done
09:10<Rhamphoryncus>I'm guessing you can't hit 2k production with it, which is a large change from standard play
09:10<andythenorth>you won't see him pondering here much :P
09:11<MNIM>It seems to me that there's also quite a contingent of dutch OTTD fans out there.
09:11<Eddi|zuHause> <planetmaker> and if you stop supplying half the required amount of supplies, you start dropping the prod. lv. <-- i hate that part about ECS... you miss one delivery, and the whole economy collapses
09:12<@planetmaker>I'm well aware of that. And be ensured that exactly that is what I'll try to avoid, Eddi|zuHause
09:12<@planetmaker>thus a sufficient long hysteresis is needed
09:12<@planetmaker>or a time constant that one can miss X months or so
09:13<andythenorth>hence the internal stockpiles iirc
09:13<andythenorth>not 'stockpiles' in the PBI sense
09:13<@planetmaker>memory of past delivery might be better :-)
09:13<andythenorth>'stockpiling' is a nice idea, but is silly really
09:13<andythenorth>i.e. gradual processing
09:13<andythenorth>it's a faceted special case that could be done with registers and text stack
09:14<Rhamphoryncus>Alright, I think I'm back on the correct track :)
09:14<Eddi|zuHause>andythenorth: i guess it's one of those "grown" things that are kept for hysterical raisins
09:15<andythenorth>grf v9! "the removal edition"
09:16-!-Mazur [] has joined #openttd
09:16<Eddi|zuHause>i don't think you'll get a strong enough momentum for that :p
09:18-!-MNIM [] has quit [Remote host closed the connection]
09:18*andythenorth reads the actual 'rework supplies' ticket
09:19<andythenorth>Rhamphoryncus: ok, so yup, if target for a 3x increase chance is n, and player drops off > n, that's fine
09:20<andythenorth>they met the goal, they get the increase chance
09:20<Rhamphoryncus>andythenorth: so a flat chance, alright
09:20<andythenorth>the value of n is a bunfight remaining to be had
09:20<Rhamphoryncus>I'll give you a chart :)
09:20<andythenorth>I personally don't find it interesting to have huge trains of supplies going to every industry ;)
09:21<Rhamphoryncus>Give me a minute to relabel and such
09:21<@planetmaker>andythenorth, a NewGRF version which only removes stuff is not worth it. As it will a) complicate OpenTTD code, will b) compilcate grf specs and c) what will be gained?
09:21<andythenorth>'tidy mind'
09:22<@planetmaker>that's the apple way: break backward compatibility regularily
09:22<@planetmaker>I think developers don't appreciate that really
09:22<andythenorth>the internet doesn't know about 'tidy mind fallacy'
09:22<andythenorth>perhaps I invented it, but I thought it was in the C2 wiki or such
09:23<andythenorth>expending effort on tidying things up that are of no consequence
09:23<andythenorth>like folding your recycled paper neatly
09:25<andythenorth>planetmaker: it irritates me that we have to have 'cargo waiting to be processed' text in FIRS windows when they are of very limited value
09:25<andythenorth>(because that string is tied to use of production cb)
09:25<andythenorth>It would be useful to have a cb that made industry window a blank slate
09:27<andythenorth>looks plausible
09:27<andythenorth>you know how the production multiplier changes?
09:27-!-Firartix [] has quit [Ping timeout: 480 seconds]
09:27<Belugas>bonjour hello
09:28<Rhamphoryncus>production_level? It's a number of supplies produced 8 or 9 (or 10) times a month. Unless it's different in FIRS :)
09:29<andythenorth>bonjour Belugas
09:30<andythenorth>Rhamphoryncus: there's an internal multipler, iirc the range is (1..16)
09:30<andythenorth>multiplier /s
09:30<Rhamphoryncus>internal to FIRS?
09:30<andythenorth>internal to industries
09:30<andythenorth>used for primaries mostly
09:30<andythenorth>it's documented, just a minute...
09:30<Rhamphoryncus>but in firs? Not standard?
09:31<andythenorth>it's standard
09:31<Rhamphoryncus>"Current production level of the industry. Usually in range 4 .. 128, default starting level is 16. A level of 0 indicates imminent closure." for production_level
09:32<Rhamphoryncus>250*8=2000, thus the ~2k cap
09:33<andythenorth>the cap actually varies according to value of props 12, 13
09:35<andythenorth>so how/why is your curve smooth, whereas pm's patch is stepped (in what looks to me like 16 steps corresponding to multiplier increases)?
09:37<Rhamphoryncus>hrm. so props 12,13 are production_level?
09:37<Rhamphoryncus>I rearranged the math to avoid division until the end
09:37<andythenorth>they're the input multipliers to the production multiplier
09:37<andythenorth>production multiplier * prop 12,13
09:38<andythenorth>is amount of cargo produced 8 or 9 times per month
09:38<Rhamphoryncus>And 12,13 is treated as a 16-bit value?
09:39<Rhamphoryncus>So the real cap would be 9*255*65535 = 150402825?
09:40-!-_maddy [] has joined #openttd
09:40<Belugas>bonjour andythenorth, comment vas tu?
09:41<andythenorth>still writing a pixel generator....
09:41<andythenorth>~2 weeks so far
09:42<andythenorth>but think of the time saved!
09:46<andythenorth>Rhamphoryncus: "The production rate is a value between 04h and 80h (initial value 10h)"
09:46<andythenorth>@calc 128*255*9
09:46<@DorpsGek>andythenorth: 293760
09:47<andythenorth>but I'm not sure that's quite how it works anyway
09:47<andythenorth>"The properties specify the amount produced at default production level"
09:47<andythenorth>and also "Multiply operations that would bring the production above 8 times of the original will only increase it to that value."
09:48<andythenorth>in this case I've always found the spec precise, but hard to understand
09:48<andythenorth>reading the code gives a better answer :P
09:48<andythenorth>industry_cmd.cpp will know what *actually* happens
09:48<andythenorth>and that varies from spec occasionally anyway
09:49*Rhamphoryncus nods
09:49<Rhamphoryncus>I'll take a look
09:49<@planetmaker>Rhamphoryncus, you may also not overflow...
09:49<Rhamphoryncus>yeah, that'd be bad :)
09:49<Rhamphoryncus>for calculations?
09:49<andythenorth>if you're in the area, and you get excited, see
09:50<andythenorth>as that's been bugging me for ages
09:50<andythenorth>all industries of type x have same production at game start
09:50<andythenorth>which destroys a lot of the early gameplay
09:50<andythenorth>it's very bland :(
09:51<Rhamphoryncus>That can be my next thing to work on :)
09:54<andythenorth>it should be decoupled from supplies mechanism, if I've understood automatic production multiplier correctly
09:54<andythenorth>but...I'm not sure
09:54<andythenorth>it may be that register values for supply logic need initialising accordingly wrt randomised production
09:56<Rhamphoryncus>Oh.. duh. 12,13 is for two different types
09:56<Rhamphoryncus> i->produced_cargo_waiting[0] = min(0xffff, i->produced_cargo_waiting[0] + i->production_rate[0]);
09:56<Rhamphoryncus> i->produced_cargo_waiting[1] = min(0xffff, i->produced_cargo_waiting[1] + i->production_rate[1]);
09:57<andythenorth>there are two output cargos
09:57<Rhamphoryncus>All I'm seeing there is a single value range 0.255
09:57<Rhamphoryncus>Aha, found something setting that
09:58<_maddy>anyone up for a multiplayer game??
09:58<Rhamphoryncus> this->production_rate[0] = min(CeilDiv(indspec->production_rate[0] * this->prod_level, PRODLEVEL_DEFAULT), 0xFF);
09:58<Rhamphoryncus> this->production_rate[1] = min(CeilDiv(indspec->production_rate[1] * this->prod_level, PRODLEVEL_DEFAULT), 0xFF);
09:59<Rhamphoryncus>that's for old, non-smooth economies
10:01<andythenorth>the economy in FIRS is ignored
10:01<andythenorth>because we handle the callbacks explicitly
10:01<andythenorth>although there may be some parameter settings where the economy is respected
10:02*Rhamphoryncus nods
10:02<andythenorth>it confuses me that we have production_rate and prod_level, but neither is labelled production_multiplier :)
10:03<@planetmaker>industries w/ production callback ignore economy
10:04<andythenorth>this is wrt cb29 and 35, where returning 04h will respect the economy settings
10:04<andythenorth>let's read some actual code though...
10:05<andythenorth>ok so the FIRS primaries use production cb, but for consumption not production
10:06<andythenorth>so my memory hasn't failed yet :P
10:06<andythenorth>well, at least not for that case
10:06<Rhamphoryncus>ah, smooth economy is disabled for industries with a callback. That explains some of it
10:07-!-Markavian [] has joined #openttd
10:08<andythenorth>the FIRS primaries also never seem to return 04h so that's also a non-issue
10:08<andythenorth>so economy is simply a non-issue for FIRS primaries, my conclusion
10:09<Rhamphoryncus>PRODLEVEL_DEFAULT is 0x10 ie 16, so if your prod_level is 10 then production_rate = old_production_rate * 10 / 16
10:09<andythenorth>yes that sounds right
10:09<andythenorth>@calc 65536/16
10:09<@DorpsGek>andythenorth: 4096
10:09<@planetmaker>you have a produce callback where you can make use of it explicitly...
10:10<andythenorth>why didn't we implement that for randomisation? there was at least one reason...
10:10<andythenorth>maybe we don't have any method to randomise production multiplier on construction
10:11-!-cypher [] has joined #openttd
10:11<Rhamphoryncus>prod_level ends up being squared. 64 hits the cap
10:12<andythenorth>common.DEFAULT_CC1_INDEX or just common.CC1 ? :P
10:12<andythenorth>explicit versus verbose :|
10:12<Rhamphoryncus>And once you had it at 64 for a few months and you've hit the cap you can drop it to 16 and still maintain the cap
10:13<andythenorth>are you sure?
10:13<andythenorth>sounds odd
10:13<Rhamphoryncus>It does sound odd
10:14<andythenorth>I'd look at the handlers for cb29 and 35, I would hope that prod_level is not increased once the cap is reached
10:15<andythenorth>I'm not convinced that writing "common.colours['CC1']" everywhere is actually better than writing "202" and using find/replace
10:16<Rhamphoryncus>Where are the cb numbers defined? I'm only finding names
10:16<andythenorth>I'd have to read the code...
10:17<andythenorth>there is header file somewhere else that would tell you
10:17<andythenorth>but I should read this code again anyway
10:17<Rhamphoryncus>monthly_prod_change and random_prod_change?
10:18<andythenorth>even if prod cb. is enabled, returning 04h *does* respect economy
10:19<@planetmaker>using NML you should not need the numbers...
10:19<andythenorth>Rhamphoryncus: yes those
10:19<@planetmaker>the names should speak for themselves. Usually. Otherwise you'll have to dig in the NML source
10:19<Rhamphoryncus>The squaring sounds odd but may be right: you may go from 64/month to 80/month, a difference of 16, but later on going from 2000/month to 2200/month is a difference of 200. That's due to squaring
10:19<Rhamphoryncus>planetmaker: I need numbers to understand andy ;)
10:19<@planetmaker>yes... he talks numbers only...
10:20<andythenorth>didn't have the code open
10:20<andythenorth>do now
10:20<@planetmaker>always find it confusing when talking nml callbacks
10:20<@planetmaker>it usually doesn't help my understanding either ;-)
10:20<andythenorth>I'll adapt at some point
10:20<andythenorth>the more NML I write...
10:21<Rhamphoryncus>So if you use a return that tells it to increment or decrement by 1 it alters prod_level, which then feeds into production_rate to smooth out the effect
10:21*planetmaker has doubts ;-)
10:21<andythenorth>although I'd need frosch and co to also then use NML references, not numbers :|
10:21<andythenorth>Rhamphoryncus: yes
10:21<Rhamphoryncus>But if we wanted we could set production_rate directly and ignore prod_level. That'd let us use our own smoothing
10:21<andythenorth>we could yes
10:21<@planetmaker>I usually guess from context what the number is supposed to mean
10:22<andythenorth>it was convenient to rely on the game's built in handling
10:22<andythenorth>but we can use the produce() cb
10:22<andythenorth>whereever possible, I tried to use game's mechanics rather than roll my own
10:22<andythenorth>not always possible
10:23<@planetmaker>Rhamphoryncus, if possible, it's a good idea to rely on the game...
10:23<@planetmaker>it's less confusing then for users as the game switches then actually remain meaningful
10:23<Rhamphoryncus>What's bothering me is that prod_level is another saturation function. 16/16 is stay level, 17/16 is increase, 15/16 is decrease
10:24<andythenorth>explain that another way :)
10:24<Rhamphoryncus>Once you get it over 16, given enough months it should eventually give you a production_rate of 255
10:24-!-Cybertinus [] has quit [Ping timeout: 480 seconds]
10:25<andythenorth>that's not the case though
10:25<andythenorth>work it through with numbers
10:25<andythenorth>let's use dec for ease
10:25<andythenorth>assume prop 12 is 08d
10:26<andythenorth>and prod_level is 16 (default)
10:26<andythenorth>@calc 8*((16*8)/16)
10:26<@DorpsGek>andythenorth: 64
10:26<andythenorth>64t per month
10:27<Rhamphoryncus>what's production_rate now?
10:27<andythenorth>I need to check
10:27<andythenorth>I'm not sure about the /16 tbh
10:27<Rhamphoryncus>Oh, I just realized: the compounding only ticks when you increment or decrement production
10:28<Rhamphoryncus>So you have to bounce between 17 and 18, not just stay at 17
10:28<andythenorth>in default game, you only increment when the random production cb swings by and marks your industry instance for a production change
10:28<andythenorth>decrement same
10:28*Rhamphoryncus nods
10:29<Rhamphoryncus>That explains why we don't see the squaring normally
10:29<andythenorth>in FIRS we use the monthly cb for more frequent smaller changes
10:30<andythenorth>maybe that's actually less fun :o :P
10:31<andythenorth>maybe 600t -> 1200t is a fun change to deal with
10:31<andythenorth>and vice versa
10:31<andythenorth>but on big maps...not
10:31<Rhamphoryncus>Maybe as a temporary burst :)
10:31<Rhamphoryncus>"XXX has had record production! Production doubled for 3 months!"
10:32<andythenorth>Rhamphoryncus: l2162 - is part of the confusion here that 'production_rate' has two meanings?
10:32<andythenorth>I don't read C++ brilliantly
10:32<Rhamphoryncus>There's prod_level and production_rate
10:32<andythenorth>but it looks like to me it's the name of a prop, and the name of a var multiplied by prod_level
10:32<andythenorth>which if so, is fricking confusing
10:33<Rhamphoryncus>I believe 12,13 are production_rate
10:33<andythenorth>but production_rate is also amount produced
10:33<andythenorth>I write that kind of code too :P
10:33<andythenorth>foo = transform(foo)
10:34<Rhamphoryncus> case 0x12: // Production multipliers
10:34<Rhamphoryncus> case 0x13:
10:34<Rhamphoryncus> indsp->production_rate[prop - 0x12] = buf->ReadByte();
10:34<Rhamphoryncus>There isn't multiple meanings to production_rate
10:34<Rhamphoryncus>You can set it directly OR go through prod_level.
10:34<andythenorth> this->production_rate[0] = min(CeilDiv(indspec->production_rate[0] * this->prod_level, PRODLEVEL_DEFAULT), 0xFF);
10:34<Rhamphoryncus>Is going through prod_level
10:35<Rhamphoryncus>that's only called if you use a return that changes prod_level
10:37<andythenorth>still baffles me
10:37<Rhamphoryncus>So here's the issue: if we use supplies to change prod_level then eventually you won't need the supplies anymore
10:37<andythenorth>that's by design
10:37<andythenorth>check out FIRS parameters ;)
10:38<andythenorth>"eventually you won't need the supplies anymore" iff "production levels never fall"
10:38<andythenorth>If you allow primary production decrease, you need supplies to maintain current level
10:38<andythenorth>otherwise, once maxed, then no supplies needed
10:39<Rhamphoryncus>Even if you allow falling you won't need to maintain it
10:39<andythenorth>for why?
10:39<andythenorth>does the code say that? :)
10:39<Rhamphoryncus>Once you have production_rate capped at 255 then you only need a prod_level of 16 to maintain it
10:40<andythenorth>if so that's a bug
10:40<andythenorth>in openttd
10:40<Rhamphoryncus>That's the design of that function. 255 * 16 / 16 == 255
10:41<andythenorth>but to get to 255, what's your production level?
10:41<andythenorth>prod_level =...?
10:41<Rhamphoryncus>You need a combination of prod_level AND updates to prod_level
10:42-!-Cybertinus [] has joined #openttd
10:42<Rhamphoryncus>Give me a couple minutes and I'll figure out how many months of continuous increases will do it
10:42<andythenorth>assume you need prod_level n to get to 255
10:42<andythenorth>and n != 16
10:42<andythenorth>how would you get from n back to 16 without calling recalculate_multipliers or such?
10:43<Rhamphoryncus>prod_level isn't production level. It's production CHANGE level
10:43<andythenorth>it's the production multiplier
10:44<Rhamphoryncus>So you only need a multiplier >= 1.0
10:44<andythenorth>the terms are somewhat opaque btw
10:44<Rhamphoryncus>err > 1.0
10:44<andythenorth>work it through with maths
10:44-!-enr1x_ [] has joined #openttd
10:44<Rhamphoryncus>I am
10:44<Rhamphoryncus>But I keep being distracted by typing
10:44<andythenorth>I am 99% certain that you're wrong, but I have room for doubts ;)
10:44<andythenorth>due to finding big bugs here before
10:45<andythenorth>which also took some convincing of others :P
10:46-!-enr1x [] has quit [Ping timeout: 480 seconds]
10:46<Rhamphoryncus>Okay, on the 12th increase, which puts you to prod_level 28, you'll hit production_rate of 358, which'll cap down to 255
10:47<Rhamphoryncus>faster than I was expecting >.>
10:47<Rhamphoryncus>oops, that's the 11th :)
10:48<Rhamphoryncus>Just doesn't seem right
10:48<Rhamphoryncus>All the other documentation I've seen implied a direct effect, not this indirect one
10:49*Rhamphoryncus fires up openttd
10:53*Rhamphoryncus segfaults gdb
10:57<Rhamphoryncus>Hah, I'm using smooth economy which of course bypasses this
10:57<Rhamphoryncus>That might be the issue: you're expecting this to behave like smooth economy, but it's totally separate
10:59-!-Twofish [] has quit [Quit: Leaving]
11:02<andythenorth>Rhamphoryncus: gtg, back in an hour or so
11:02<andythenorth>look for recalculate_multipliers in the cb handling
11:02<andythenorth>I think it's called when changing the prod level
11:02-!-andythenorth [] has quit [Quit: andythenorth]
11:03-!-pugi [] has joined #openttd
11:09<Rhamphoryncus>.. fuck. Well, we both failed to read the code
11:09<Rhamphoryncus> this->production_rate[0] = min(CeilDiv(indspec->production_rate[0] * this->prod_level, PRODLEVEL_DEFAULT), 0xFF);
11:10<Rhamphoryncus>That's *indspec* production_rate. NOT the last production_rate here.
11:13<Rhamphoryncus>So.. there are two production_rate's after all :)
11:14<Rhamphoryncus>Both the industry spec and this specific instance of that industry
11:26-!-Cybertinus [] has quit [Ping timeout: 480 seconds]
11:35<__ln__>how does the german 'Sie' work in plural, or does it?
11:41-!-Cybertinus [] has joined #openttd
11:44<Nat_aS>oh god
11:44<Nat_aS>I just had an idiot on the internet tell me video game prices in the US are at an all time low
11:44<Nat_aS>compared to Australia maybe
11:45-!-Guest4682 [] has joined #openttd
11:45-!-Guest4682 is now known as macee
11:45<@planetmaker>__ln__, it works. After all, it is already plural
11:46<@planetmaker>You use it the same way basically as singular
11:47<__ln__>ach so
11:50<@planetmaker>__ln__, "ach so" usually is only used when the answer is contrary to the previous believe or statement.
11:51<__ln__>hmmm, i'll try to remember that. dnk.
11:51<__ln__>so with 'Sie' it is ambiguous (without context) whether someone is speaking to many people or just one person?
11:52<__ln__>that's so english :)
11:52<@planetmaker>if it's doubtful, you use "Sie, Herr/Frau XY" or "Sie alle"
11:54-!-Devroush [] has joined #openttd
11:54<@planetmaker>the latter "Sie alle" is usually used in spoken language only, though
11:58-!-valhallasw [~valhallas@] has joined #openttd
12:01-!-tokai|noir [] has joined #openttd
12:01-!-mode/#openttd [+v tokai|noir] by ChanServ
12:06-!-FHerne [] has joined #openttd
12:07-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
12:18-!-Zuu [] has joined #openttd
12:27-!-Keyboard_Warrior [~holyduck@] has joined #openttd
12:30-!-andythenorth [] has joined #openttd
12:33-!-HerzogDeXtEr [] has joined #openttd
12:35-!-theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
12:40-!-HerzogDeXtEr1 [~Flex@] has quit [Ping timeout: 480 seconds]
12:43-!-Mazur [] has quit [Remote host closed the connection]
12:50-!-|Jeroen| [] has joined #openttd
12:54-!-Mazur [] has joined #openttd
12:55-!-Progman [] has joined #openttd
13:01-!-frosch123 [] has joined #openttd
13:05-!-_maddy [] has quit [Quit: leaving]
13:15-!-Zuu [] has quit [Quit: Leaving]
13:20-!-Wolf01 [] has joined #openttd
13:24-!-sla_ro|master [~slaco@] has joined #openttd
13:26-!-Vic|UNNT [] has joined #openttd
13:26<Vic|UNNT>hello all
13:27<Vic|UNNT>im trying to un my own server, ive did a port forvarding but it still dont shows in server list... that is the reason?:(
13:28<@planetmaker>aha. what port forwarding did you do where?
13:28<andythenorth>Rhamphoryncus: did you figure out production?
13:28<Vic|UNNT>on my router
13:29<@planetmaker>and on your computer?
13:29<Rhamphoryncus>andythenorth: yup. We were both misreading the line we pasted several times
13:29<@planetmaker>that firewall?
13:29<Vic|UNNT>3978,3979 to my IP on it
13:29<Rhamphoryncus>this->production_rate[0] = min(CeilDiv(indspec->production_rate[0] * this->prod_level, PRODLEVEL_DEFAULT), 0xFF);
13:29<Rhamphoryncus>that's *indspec*->production_rate
13:29<Vic|UNNT>no firewall on my comp
13:29<@planetmaker>and both, UDP and TCP protocols?
13:29<@planetmaker>and... lool
13:29<@planetmaker>192.168.x.y are private IP addresses
13:30<andythenorth>Rhamphoryncus: I was reading it that way
13:30<@planetmaker>they are never communicated to the outside world
13:30<andythenorth>it gets the value of prop 12 in that case
13:30<andythenorth>I'm just bad at explaining :P
13:30<Rhamphoryncus>.. that'd explain why you didn't understand me :)
13:30*Vic|UNNT slaps planetmaker around a bit with a large trout
13:30<Vic|UNNT>it connect by router:)
13:31*planetmaker grabs the trout. And makes filled trout in salt crust
13:31<Rhamphoryncus>Oi, I didn't realize prop 12/13 was on the indspec too
13:31<andythenorth>that's why I think production_rate is a misleading identifier
13:32<andythenorth>I can see why it's used in two different ways, but it's easily conflated (especially when searching source)]
13:32<@planetmaker>Vic|UNNT, also make sure you set your server to advertise and to play an internat (not LAN) game
13:33<Rhamphoryncus>it should be indspec->base_production_rate
13:33<andythenorth>yeah, that's not as leet though
13:34<Rhamphoryncus>But I wouldn't have wasted an hour of your time
13:34<andythenorth>np ;)
13:34<andythenorth>it's useful to read the code again
13:34<andythenorth>and you just reviewed openttd and found no bugs?
13:34*Vic|UNNT slaps planetmaker around a bit with a large trout
13:35<Vic|UNNT>i did:)
13:35*andythenorth is tempted to rename those vars in industry_cmd.cpp
13:35<andythenorth>that would be my third patch if accepted
13:35<Vic|UNNT>ive just understand... i connected to internet via router, and it connected via another router...:(
13:35<Rhamphoryncus>Sounds like a good idea
13:36<@planetmaker>then, if you set both ports for forward both UDP and TCP to your server, enabled internet game and advertising, it shall work
13:36<Vic|UNNT>and i havent access to another router settings..
13:36<@planetmaker>unless you didn't do that completely or your computer does have a FW
13:36<@planetmaker> is your friend to check
13:37<@planetmaker>and if advertising fails, you usually get a message
13:37<Rhamphoryncus>So all I'm doing with this patchset is testing it, fixing any bugs I find, and perhaps smoothing the math as in my chart?
13:37<Vic|UNNT> ?
13:40<Rhamphoryncus>btw, I came up with a decent way to regulate delivery to a station as a player. Have a vehicle there doing nothing but full load & unload, then have your train go to the near side, transfer, then to the far side and load back up
13:40<Rhamphoryncus>The waiting vehicle will immediately skim some off, the train will get the rest
13:42<Vic|UNNT>at this point i have to have white IP for internet connectrion...
13:42<Vic|UNNT>so, thnx for help
13:43<Rhamphoryncus>Want more to that station? Build a second vehicle with its own bay. You can even lock the vehicle in (remove roads out), assuming breakdowns are disabled.
13:45<CIA-1>OpenTTD: translators * r24000 /trunk/src/lang/ (5 files):
13:45<CIA-1>OpenTTD: -Update from WebTranslator v3.0:
13:45<CIA-1>OpenTTD: french - 13 changes by OliTTD
13:45<CIA-1>OpenTTD: latvian - 5 changes by Parastais
13:45<CIA-1>OpenTTD: romanian - 1 changes by kkmic
13:45<CIA-1>OpenTTD: serbian - 4 changes by etran
13:45<CIA-1>OpenTTD: vietnamese - 1 changes by nglekhoi
13:46<Rhamphoryncus>I kind of wish that was builtin to FIRS, but it should really be in openttd itself as a partial-unload order
13:47-!-|Jeroen| [] has quit [Quit: oO]
13:48-!-nisstyre [] has quit [Quit: Leaving]
13:49-!-Alberth [] has joined #openttd
13:49-!-mode/#openttd [+o Alberth] by ChanServ
13:50*frosch123 .DoSports()
13:51-!-frosch123 [] has quit [Remote host closed the connection]
14:04-!-TheMask96 [] has quit [Ping timeout: 480 seconds]
14:04<andythenorth>Alberth: o/
14:08-!-cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
14:08-!-Cybert1nus [] has joined #openttd
14:09-!-TheMask96 [] has joined #openttd
14:09-!-Cybertinus [] has quit [Ping timeout: 480 seconds]
14:14<@Alberth>hi :)
14:14<andythenorth>I invented...more
14:14<andythenorth>I've either done something really good, or really bad :)
14:15-!-pjpe [] has joined #openttd
14:15*Alberth guesses it is the former
14:16<@Alberth>I'd like to do some digging why my code is not working tonight
14:17<andythenorth>what are you coding?
14:18-!-Zuu [] has joined #openttd
14:19<@Alberth>I am changing the encoding program of rcd files, but the output is changing. So now I have to write a rcd inspection program to see whether the error is in the encoding program, or in the decoding. Unfortunately, the inspection program believes the image is wrong :p
14:20<@Alberth>so instead of going from 2 to 1 problem, I go from 2 to 3 problems
14:21<andythenorth>I shall not bother you with python problems then :)
14:27-!-Chris_Booth [] has joined #openttd
14:33-!-JVassie [~James@] has joined #openttd
14:33-!-KritiK [] has joined #openttd
14:33-!-lmergen [] has joined #openttd
14:41-!-Cybert1nus [] has quit [Quit: No Ping reply in 180 seconds.]
14:41-!-Cybertinus [] has joined #openttd
14:43-!-Chris_Booth [] has quit [Remote host closed the connection]
14:50-!-smoovi [] has quit [Quit: Verlassend]
15:04<@Alberth>ah, using one veriable for two purposes doesn't quite work :)
15:05<andythenorth>me or you?
15:05<andythenorth>or openttd?
15:07<@Alberth>me :)
15:08<@Alberth>offset = rcd.uint8(offset + ptr)
15:08<@Alberth>count = rcd.uint8(offset + ptr + 1)
15:08<@Alberth>this does not read two consequtives bytes from memory :p
15:11-!-Chris_Booth [] has joined #openttd
15:12*andythenorth ponders
15:12<andythenorth>'pc_stripe_colour()' or 'pc_stripe()' where pc = PixaColour
15:13-!-Cybertinus [] has quit [Ping timeout: 480 seconds]
15:13<@Alberth>no idea what 'stripe' exactly means, but doesn't it imply 'colour'?
15:14<andythenorth>I think so
15:14<andythenorth>if I only used these occasionally I'd include 'colour'
15:14<andythenorth>but I have lines and lines of them consecutively
15:14<andythenorth>and the definition of the object is nearby
15:15*Alberth would go for the short version
15:16-!-holyduck [~holyduck@] has joined #openttd
15:17<andythenorth>'building one to throw away' is good
15:17<andythenorth>but making the second one is work :P
15:18*andythenorth is refactoring list definitions which is mind-numbingly dull
15:18<andythenorth>maybe I should script it :P
15:19<@Alberth>use a good editor :p
15:22<andythenorth>how odd
15:22<andythenorth>something worked - surprisingly
15:23-!-Keyboard_Warrior [~holyduck@] has quit [Ping timeout: 480 seconds]
15:28<@Alberth>it must be wrong :p
15:31-!-pjpe [] has quit [Quit: ajax IRC Client]
15:31-!-pjpe [] has joined #openttd
15:36-!-lmergen [] has quit [Ping timeout: 480 seconds]
15:37-!-Progman_ [] has joined #openttd
15:42-!-Progman [] has quit [Ping timeout: 480 seconds]
15:42-!-Progman_ is now known as Progman
15:46-!-Cybertinus [] has joined #openttd
15:49-!-Progman [] has quit [Quit: Progman]
15:49-!-Progman [] has joined #openttd
16:00-!-valhallasw [~valhallas@] has quit [Quit: leaving]
16:01-!-valhallasw [~valhallas@] has joined #openttd
16:04-!-DDR [] has joined #openttd
16:13-!-macee [] has left #openttd []
16:19<andythenorth>anyone see a way to get started with this module?
16:20<andythenorth>I can't figure out which classes might return an image from a layer
16:22-!-Pulec [] has quit []
16:24<andythenorth>figured it
16:30-!-frosch123 [] has joined #openttd
16:38<Rhamphoryncus>umm.. oh, that won't help. Started a test game with *only* firs. Can't even load supplies
16:38<andythenorth>you might need some vehicles :P
16:38<andythenorth>add them
16:39<Rhamphoryncus>Can't modify existing games, unless there's a secret trick?
16:39<@Yexo>and if you've just started a new game, there is no harm in restarting
16:39<Rubidium>pff... nothing a hex editor can't solve ;)
16:39<andythenorth>Rhamphoryncus: you have newgrf developer tools enabled?
16:40<andythenorth>you'll definitely want those if you're writing newgrf :D
16:40<Rubidium>yay... you voided someone else's warranty ;)
16:40<Rhamphoryncus>Okay, before I start building again I better do that :)
16:40<Rhamphoryncus>Rubidium: I have gdb. My warranty was voided to begin with.
16:40<andythenorth>making test games for supplies - a lot more boring than writing the code for supplies
16:41-!-peteris [~peteris@] has joined #openttd
16:41<andythenorth>you have to set up an entire fricking primary-secondary-tertiary chain :P
16:41<Zuu>Can't an AI help with that?
16:42<andythenorth>write a testing AI Zuu ?
16:42<Rhamphoryncus>Hey, there's the bounding box option! I came across the keyboard shortcut a bit ago but couldn't get it to work :D
16:42<Zuu>I've already offered quite high level building blocks in SuperLib for road and air transport.
16:42*andythenorth goes back to generating sprites ;)
16:43<Zuu>Someone managed to make a networking AI using SuperLib for station and road building in just 1000 lines of code.
16:43*Rhamphoryncus is a cheater :O
16:44<Zuu>That said, I have only packaged the road pathfinder in a Connect(tile_a, tile_b) function with my finetuning of it.
16:48<Rhamphoryncus>So if I save this game, modify the grf, and restart, will openttd refuse to load it? Or will happily continue until it dies from me changing registers?
16:49<@Yexo>if you have enabled the newgrf developer tools openttd will continue, if not it'll refuse to load the game
16:49*Rhamphoryncus applauds himself. Load coal at the lime kiln and transport to coal mine >.>
16:49<Rhamphoryncus>ahh cool
16:49<@Yexo>if you change too much you might be able to crash openttd that way
16:49<@Yexo>it shouldn't happen, but it's hard to protect against everything a newgrf can do
16:50*Rhamphoryncus nods
16:53<xiong>Do yapf.rail_longer_platform_penalty and etc. apply only to station stops or to all routing through platform tracks?
16:54<@Yexo>that one applies only when stopping
16:55<xiong>Good. I expect yapf.rail_station_penalty applies when through routing.
16:56<xiong>I do not see why my trains are taking an extremely long detour in preference to routing through a platform track.
16:57-!-sla_ro|master [~slaco@] has quit []
16:59<Rhamphoryncus>that station penalty might be per tile. Dunno.
16:59<xiong>There are distinct longer/shorter penalties per station and per tile.
17:00<xiong>yapf.rail_longer_platform_penalty = 800 yapf.rail_longer_platform_per_tile_penalty = 100
17:01<andythenorth>that was a fun bug to eat
17:01<xiong>yapf.rail_station_penalty = 1000 yapf.rail_pbs_station_penalty = 800
17:02<xiong>Those are not real high but if either apply per tile, well, I'm looking at 12-tile platforms.
17:03<xiong>Well, I can tinker with the pf weightings or I can order my trains via.
17:03<@planetmaker>nice white line programme, Alberth. Thanks
17:04<Rhamphoryncus>xiong: or don't force them through a platform? :)
17:04<Rubidium>not that it has much use in 32bpp land; there you just want transparent pixels ;)
17:04<xiong>I have plenty of open platforms, Rhamphoryncus; that's why I built the station that way.
17:04-!-tokai|mdlx [] has joined #openttd
17:04<Rubidium>no blue and no white
17:04-!-Elukka [] has quit []
17:05<+michi_cc>xiong: The long/short stuff only applies to the destination stations, the normal and pbs station penalties apply to all station tiles.
17:06<+michi_cc>And yes, the latter two are by tile.
17:06-!-valhalla1w [~valhallas@] has joined #openttd
17:06<@planetmaker>true, Rubidium. I keep forgetting that
17:06<xiong>michi_cc, Are you saying that with the above settings, my through trains see a penalty of 12*1800 = 21600?
17:07<+michi_cc>Code is "segment_cost += Yapf().PfGetSettings().rail_station_penalty * platform_length;"
17:07<xiong>I think that's what you just said but it's an impressively high figure.
17:08<xiong>Did I ignorantly boost those penalties at some earlier date?
17:08<+michi_cc>The PBS penalty only applies if the tile has a reservation though, if not, it's only the normal penalty.
17:08-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
17:09<xiong>Even 12000 is prohibitive.
17:10-!-holyduck [~holyduck@] has quit [Quit: Forlater kanalen]
17:10<@Alberth>1000 seems default
17:10-!-theholyduck [~holyduck@] has joined #openttd
17:11-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
17:13-!-Chris_Booth [] has quit [Quit: ChatZilla 0.9.88 [Firefox 11.0/20120222074758]]
17:13-!-valhallasw [~valhallas@] has quit [Ping timeout: 480 seconds]
17:19<xiong>Well, okay, default. But I need to change something. Either a different plan of routing, different orders, or different penalties. Obviously.
17:20<xiong>I guess that, even per tile, 1000 is not unreasonable on a network where player hasn't *planned* stations with excess platforms (possibly) for through trains.
17:22<Rhamphoryncus>If you're planning excess platforms then you can plan some non-platforms
17:22<xiong>Thing is, I built excess platforms and also through non-platform tracks. Trains exiting the station cannot get to the through tracks so I thought they'd exit through platforms. But they're taking the very long way around instead.
17:23<xiong>I suspect it would actually be better to have no non-platform tracks at all, so penalties are equal on all tracks. That's easier than changing all train orders or tinkering with .cfg.
17:23<Rhamphoryncus>Could be
17:23<xiong>My belt got caught in my suspenders.
17:23<Rhamphoryncus>Changing the weighting is generally a bad idea
17:25<xiong>I only recall making one penalty change; I adjusted the longer/shorter penalties for trains of radically different lengths hitting stations with mixed-length platforms.
17:25<xiong>That seemed to work well.
17:25<xiong>But I'm inclined to chalk up my troubles now to poor station design. Well, thanks all.
17:27-!-Progman [] has quit [Remote host closed the connection]
17:31<xiong>Yes, that fixed it. The outside tracks are now platforms as well. They're linked and signaled differently but yapf sees them as platforms so, equal penalties and the simple route is chosen. Thanks again, guys.
17:33-!-Alberth [] has left #openttd []
17:34<Rhamphoryncus>Does an industry's random_bits get reset every month? Or is it per-call, also per-month in this case?
17:37-!-JVassie [~James@] has quit [Ping timeout: 480 seconds]
17:39<@planetmaker>it's set at industry creation
17:39<@planetmaker>unless you ask them to be re-randomized
17:44*andythenorth is a github newbie
17:44<andythenorth>how do I 'like' a project :P
17:45*Rhamphoryncus rearranges your punctuation. "how do I, like, a project?"
17:46<Rhamphoryncus><--- not helping
17:46-!-FHerne [] has left #openttd []
17:50<Eddi|zuHause>something makes mingw-get-inst crash...
17:57*andythenorth -> sleep
17:57-!-andythenorth [] has quit [Quit: andythenorth]
18:03-!-TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
18:05-!-valhalla1w [~valhallas@] has quit [Quit: leaving]
18:17-!-TWerkhoven [] has quit [Quit: He who can look into the future, has a brighter future to look into]
18:23-!-Firartix [] has joined #openttd
18:27-!-theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
18:29-!-Illegal_Alien [] has quit [Quit: HydraIRC -> <- The professional IRC Client :D]
18:33-!-frosch123 [] has quit [Remote host closed the connection]
18:36-!-Biolunar [] has quit [Quit: All your IRC are belong to us]
18:50-!-Wooteman [] has joined #openttd
18:50-!-Wooteman [] has quit []
18:51<Rhamphoryncus>is it possible to inspect random_bits for an industry via the debugging tools?
18:51-!-Zuu [] has quit [Ping timeout: 480 seconds]
18:54-!-kkb110 [] has quit [Read error: Operation timed out]
18:55<Rhamphoryncus>Nevermind, figured out how to eek out the information I want from the registers saved
18:55-!-MNIM [~mBuntu@] has joined #openttd
18:57-!-Twofish [] has joined #openttd
19:01-!-Devroush [] has quit []
19:02<Rhamphoryncus>Well, I am seeing variation in that bit, it just doesn't feel balanced ;)
19:15-!-peteris [~peteris@] has quit [Quit: Ex-Chat]
19:16-!-|2rB [] has joined #openttd
19:17-!-Twofish [] has quit [Read error: Connection reset by peer]
19:33-!-DOUK [] has quit [Ping timeout: 480 seconds]
19:57-!-Snail_ [] has joined #openttd
19:57-!-KritiK [] has quit [Quit: Leaving]
19:57<Rhamphoryncus>Heh, despite maligning bidirectional tracks I've now build a bidirectional tunnel :D
20:04-!-pugi_ [] has joined #openttd
20:09-!-pugi [] has quit [Ping timeout: 480 seconds]
20:09-!-pugi_ is now known as pugi
20:13<DDR>Oh, sweet irony. :P
20:45-!-Snail_ [] has quit [Quit: Snail_]
21:01<Eddi|zuHause>Rhamphoryncus: at least for industrytiles, the info is printed out to the console if you have a debug build and use the [?]-tool
21:10-!-KouDy1 [~KouDy@] has joined #openttd
21:11-!-KouDy1 [~KouDy@] has quit []
21:11<Rhamphoryncus>Eddi|zuHause: cool, I'll remember that in the future
21:11<Rhamphoryncus>Although this isn't a debug build
21:12<Eddi|zuHause>well technically that info is printed for all tiles, so industrytiles is just a special case :)
21:14<Rhamphoryncus>Woo, 800%!
21:14<Rhamphoryncus>Waiting 36 years is fucking boring :P
21:15<Rhamphoryncus>And the kicker.. this is without production decreases or closures. I need to turn them on and do a new test
21:15-!-KouDy [~KouDy@] has quit [Ping timeout: 480 seconds]
21:19-!-KouDy [~KouDy@] has joined #openttd
21:29-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #openttd
21:31-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Remote host closed the connection]
21:31-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-02.NATPOOL.NYU.EDU] has joined #openttd
21:49-!-glx [glx@2a01:e35:2f59:c7c0:9825:f129:c306:2392] has quit [Quit: bye]
21:50-!-pugi [] has quit []
22:13-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-02.NATPOOL.NYU.EDU] has quit [Ping timeout: 480 seconds]
22:16-!-Arkabzol [] has joined #openttd
23:06-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #openttd
---Logclosed Fri Mar 02 00:00:27 2012