Log for #openttd on 11th February 2012:
Times are UTC Toggle Colours
00:00:15  *** cypher [] has joined #openttd
00:08:07  *** lmergen [] has quit [Ping timeout: 480 seconds]
00:08:31  *** DDR [] has joined #openttd
00:09:32  *** theholyduck [] has quit [Read error: Connection reset by peer]
00:09:47  *** theholyduck [] has joined #openttd
00:09:48  <frosch123> night
00:09:51  *** frosch123 [] has quit [Remote host closed the connection]
00:26:32  *** theholyduck [] has quit [Ping timeout: 480 seconds]
00:33:13  <Wolf01> 'night
00:33:17  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
00:35:54  *** theholyduck [] has joined #openttd
00:38:54  *** TWerkhoven [] has quit [Quit: He who can look into the future, has a brighter future to look into]
00:46:32  *** theholyduck [] has quit [Read error: Connection reset by peer]
00:46:46  *** theholyduck [] has joined #openttd
00:48:45  *** supermop [] has quit [Quit: supermop]
00:54:52  *** Chris_Booth [] has quit [Ping timeout: 480 seconds]
00:57:43  *** Elukka [] has quit []
01:02:42  *** MJP [] has quit [Ping timeout: 480 seconds]
01:08:22  <Rhamphoryncus> Hah, I found a use for near/middle/far loading positions.  Conditional orders.  The train just needs to move slightly before it'll consider stopping again.  Just make sure the station is a tile longer than the train and you can have it do load-if-available at the near, check the load count, move to the far, unload the partial load, and be off.
01:09:50  <Rhamphoryncus> You can do near/middle/far (but I can't see a use for it).  I even got 2 stops to work (but not 3) when the depot said it was a 4.0 tile train in a 4 tile platform, but the newgrf was very slightly smaller than that
01:10:04  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
01:13:02  *** theholyduck [] has quit [Ping timeout: 480 seconds]
01:18:53  *** Mucht [] has quit [Remote host closed the connection]
01:19:51  *** Biolunar [] has quit [Quit: All your IRC are belong to us]
01:20:29  *** theholyduck [] has joined #openttd
01:22:34  *** pugi [] has quit []
01:22:56  *** valhallasw [~valhallas@] has quit [Ping timeout: 480 seconds]
01:31:18  <Rhamphoryncus> Thought of a use for having all 3: first is ordinary load with no wait.  Second is an ordinary load but with a wait time.  Third is full load or transfer
01:40:18  *** Firartix [] has quit [Ping timeout: 480 seconds]
01:55:42  *** peteris [~peteris@] has quit [Quit: Ex-Chat]
01:56:31  *** KritiK [] has quit [Quit: Leaving]
01:58:16  *** theholyduck [] has quit [Ping timeout: 480 seconds]
02:03:46  *** theholyduck [] has joined #openttd
02:23:38  *** Nat_as [] has joined #openttd
02:24:21  <Nat_as> I have a question, When making a scenerio, how do you turn desert back into grass?
02:24:27  <Nat_as> is it perminant?
02:28:25  *** cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
02:31:40  *** bryjen [~bryjen@] has joined #openttd
02:36:30  *** lollercaust [] has quit [Quit: Leaving]
02:41:16  *** theholyduck [] has quit [Ping timeout: 480 seconds]
02:55:25  <Rhamphoryncus> Nat_as: secret tooltip is secret
02:55:49  <Rhamphoryncus> ("Define desert area.  Hold Ctrl to remove it")
03:04:32  <Nat_as> it also seems to unflood areas
03:06:26  <Rhamphoryncus> I noticed that
03:06:34  <Rhamphoryncus> Demolishing works for that too
03:07:31  <Rhamphoryncus> And.. if you select the canal button (not river?!) and hold ctrl you can put down ocean
03:13:51  <Nat_as> cool
03:26:34  *** kkb110 [] has quit [Ping timeout: 480 seconds]
03:32:40  *** theholyduck [] has joined #openttd
03:34:49  *** kkb110_ [] has joined #openttd
03:40:35  <Nat_as> ugh, even when you can turn deserts into jungle, you still get maps that are mostly flat jungle
03:46:56  <Rhamphoryncus> hmm?  Are you talking about the map gen settings?
03:47:18  <Nat_as> yeah, I can't seem to get a setting that is anything but mostly desert
03:47:25  <Nat_as> even though I set mountains,
03:47:40  <Nat_as> I'm trying to make a jungle, and all I get is deserts, so I might as well be working by hand.
03:47:51  <Nat_as> it's frustrating.
03:48:50  <Rhamphoryncus> turn variety distribution to none
03:49:33  <Nat_as> oh here we go
03:49:33  <Nat_as> thinks
03:49:54  <Rhamphoryncus> Unfortunately it's a case of the new stuff being worse than the old stuff :/
03:50:06  <Nat_as> would be cool if there was an terrain generator that takes into account erosion and rain shadows like in DF
03:50:16  <Nat_as> well rain shadows would only matter in tropical maps
03:50:23  <Rhamphoryncus> Heh, the "wouldn't it be cool" list for openttd is endless
03:50:41  <Nat_as> is there a "unified biome" on that list?
03:50:52  <Nat_as> one map with all terrain types merging into each other?
03:50:52  <Rhamphoryncus> The one in my head, yes
03:51:35  <Rhamphoryncus> I just need to be appointed Supreme Dictator and it'll happen *g*
03:51:49  * Nat_as votes for Rhamphoryncus
03:52:17  <Rhamphoryncus> Heh.  Now go run a campaign for me so other people vote as well ;)
03:52:59  <Nat_as> dosn't simutrans have that?
03:53:03  <Rhamphoryncus> no clue
03:53:46  <Rhamphoryncus> But it makes a good point: openttd's greatest strength (and greatest weakness) is its history
03:54:48  <Nat_as> yes I have said this often.
03:55:33  <Nat_as> Simutrans is ugly and has a weak interface because it is a new game made by people who are not artists or designers, However it has all sorts of advanced features because it's easy to add shit too it.
03:56:06  <Nat_as> SImutrans is nice looking and has an intuitive UI because it is 18 years old. But is also tied down to legacy code and makes adding new features difficult.
03:56:25  <Rhamphoryncus> s/simutrans/openttd/
03:56:39  <Nat_as> UGH yeah I derped
03:56:59  <Nat_as> Anyways, I will however say that New art for OTTD is almost universaly better than new art for simutrans
03:57:02  <Nat_as> and I have no idea why
03:57:02  <Rhamphoryncus> It had an intuitive UI 18 years ago.  Many of the new features are not intuitive
03:57:18  <Nat_as> also some graphical features of OTTD blow simutrans out of the water
03:57:34  <Nat_as> like how passinger trains can change the sprite of there cars.
03:57:37  <Nat_as> in some newgrifs
03:57:48  <Nat_as> and how some cargo cars are randomized
03:58:00  <Nat_as> that looks really awesome and you can't do that in simutrans
03:58:06  <Nat_as> (at least when I worked on it)
03:58:06  <Rhamphoryncus> Unfortunately a lot of the new art for for openttd is in a different style.  Looking at a city set right now :/
03:58:14  <Rhamphoryncus> Yeah, that is an awesome feature
03:58:55  <Rhamphoryncus> Specialized stations and ones that display waiting cargo
03:59:14  <Nat_as> I tired making a doublestack train for Simutrans, but there is only two states for cars, loaded and emptey
03:59:28  <Nat_as> I could not make half full cars, or cars with randomized containers
03:59:34  <Nat_as> I just made them company color
03:59:44  <Nat_as> which is unrealistic and boring looking.
04:00:08  <Rhamphoryncus> Yeah, but all this could be done way better in openttd too
04:01:14  <Rhamphoryncus> Colouring is very inconsistent
04:01:44  <Nat_as> show me the city art Rhamphoryncus
04:01:52  <Nat_as> it can't be as bad as Simutrans 128 set
04:02:01  <Nat_as> a horrific waste of pixels if i ever saw one myself
04:02:04  <Rhamphoryncus> some sets let you pick between colour schemes, or maybe they support the secondary colour too, but not always
04:02:28  <Nat_as> I would like to see a consistant pack for simutrans
04:02:41  <Nat_as> with a list of trains that is balanced and good looking
04:03:08  <Nat_as> 2cc trains looks good, but it has more than I need probably and requires the new tracks
04:03:13  <Nat_as> which is way to complex
04:03:53  <Rhamphoryncus> I have a ton of stuff installed and I don't know which one does it :/
04:03:54  <Nat_as> in simutrans the graphics are made by programers and in OTTD they are made by raill nerds.
04:04:25  <Rhamphoryncus> yeah, massive balance issues I've found
04:04:33  <Nat_as> historicaly accurate trains are nice, but I always imagine my game as like a fantasy world with it's own trains
04:04:46  <Nat_as> I'd rather have generic trains that work from a gameplay perspective than accurate trains
04:04:58  <Nat_as> also, why are some cars bigger or smaller?
04:05:07  <Nat_as> cars should be .5 square increments
04:05:21  <Rhamphoryncus> And for some reason nearly all the good engines are PAX only (in the newgrfs), but most that you build are for freight
04:05:23  <Nat_as> some engines might be more than one car long, but it should always be multiples of .5
04:05:30  <Rhamphoryncus> I like the variety actually
04:05:59  <Rhamphoryncus> Refitting is annoying of course, but I blame that on the refit interface, not the cars
04:06:00  <Nat_as> there is a difference between variety and spending hours trying to find the right train
04:06:04  <Nat_as> and ending up only using 2 of them.
04:06:27  <Nat_as> oh yeah, it would be cool if you could have cars (and planes actualy) hold more than one cargo at once
04:06:57  <Nat_as> like i use the AV8 C130 to haul livestock/grain one way, and food/goods the other
04:07:14  <Nat_as> I need 2 airplanes constantly refitting themselves each time.
04:07:19  <Rhamphoryncus> Yeah, that is annoying
04:07:45  <Nat_as> the best way to get cargo air to be profitable is have them carry cargo both ways, but that can be hard to arrange.
04:08:04  <Rhamphoryncus> Refit should be free in some cases, with what you load based on the order, not what the vehicle is refitted too
04:08:28  <Nat_as> for cargo aircraft it should not even be nessary
04:08:45  <Nat_as> Airplanes are suposed to be flexible but expensive.
04:08:49  <Nat_as> that's the tradeoff.
04:09:01  <Nat_as> they can move anything anywhere, but it wont always be worth it.
04:09:18  <Rhamphoryncus> Well, if you could specify in the load order what to pick up then you could have generic capacities and more specific ones
04:09:51  *** theholyduck [] has quit [Ping timeout: 480 seconds]
04:10:30  <Nat_as> all cargo should be measured in tons rather than units
04:10:35  <Nat_as> for easy-ness
04:10:37  <Rhamphoryncus> PAX+mail, pure mail, or goods could be 3 different sets.  The goods could allow oil at reduced capacity (bladders) or be refit to only oil at slightly higher capacity
04:10:49  <Nat_as> well mail would be units
04:11:08  <Nat_as> Mail and passengers ought to use a diffrent handling system than cargo.
04:11:33  <Rhamphoryncus> If it was listed better it wouldn't matter.  As it is when you buy it only lists the default and you have to buy and refit to know the real value.
04:11:39  <Nat_as> yeah, generalized vs specialised.
04:11:55  <Nat_as> like maybe container cargo could include goods, and anything else
04:12:15  <Nat_as> anything that can carry goods, can also carry anything else at a reduced rate.
04:12:25  <Rhamphoryncus> yeah
04:12:34  <Nat_as> bottles of oil, cages of livestock, bins of grain.
04:13:13  <Nat_as> IIRC simutrans actualy has container goods, liquid goods, and long goods.
04:13:26  <Nat_as> and I think one for coal and ore
04:13:40  <Rhamphoryncus> But that can be a component of the refit options.  Rather than choices of [pax+mail, mail, goods, oil] it's [pax+mail, [mail, goods, oil], oil]
04:13:47  *** Belsyny [] has joined #openttd
04:14:10  <Nat_as> one thing that is strange is the way they hack repainting vhechiles into refit.
04:14:16  <Nat_as> blach cant spell
04:14:26  <Belsyny> hi, can anyone teach me how to create a multiplayer game step by step
04:14:36  <Belsyny> my friend and I want to play it through internet
04:15:10  <Nat_as> damn gotta go walk the dog, back in a bit.
04:15:19  <Rhamphoryncus> btw, I think the reason the town art style doesn't match is the game is still only 8-bit.  They don't have the colours they need
04:15:21  <Belsyny> but we seem not able to see the server name on our list whenever either one of us create a new game
04:15:39  <Nat_as> can I see the town art style?
04:16:00  <Rhamphoryncus> Nat_as: I haven't found a pic
04:16:09  <Nat_as> because simutrans' art problem is that they trace 3d models and ariel photography instead of getting actual artists to do it.
04:16:18  <Nat_as> silly programers
04:16:37  <Rhamphoryncus> Belsyny: Do you have it set to advertise?
04:17:11  *** Belsyny [] has quit []
04:17:18  <Rhamphoryncus> Belsyny: Although connectingly directly to your IP is probably a little bet.. nevermind
04:24:14  *** theholyduck [] has joined #openttd
04:36:13  *** supermop [] has joined #openttd
04:37:22  <supermop> does kamnet ever visit this channel?
04:44:30  <Rhamphoryncus> Nat_as:
04:45:11  <Nat_as> That's not that bad
04:45:20  <Nat_as> it's nice pixel art, the pallet is just offensive.
04:45:26  <Nat_as> which yeah, is a hard limitation.
04:45:35  <Rhamphoryncus> yeah
04:46:04  <Rhamphoryncus> I do think it's possible to do better within the palette.  It involves a lot of manual dithering to look like there's extra detail
04:46:17  <Nat_as> yes
04:46:33  <Rhamphoryncus> And mixing in some traditional colours
04:47:02  <Nat_as> as long as you follow a consistant set of rules.
04:47:20  <Nat_as> and don't try to scan ariel photos.
04:49:45  <Rhamphoryncus> Well not me.  I'd do MUCH worse ;)
04:51:10  *** glx [glx@2a01:e35:2f59:c7c0:153a:bf02:2eff:ad8a] has quit [Quit: bye]
05:01:49  *** theholyduck [] has quit [Ping timeout: 480 seconds]
05:20:22  <Nat_as> how many trains are nessary in a good set?
05:20:38  <Nat_as> at a time, not counting when trains expire.
05:21:17  *** theholyduck [] has joined #openttd
05:23:34  <Nat_as> what are the important niches?
05:26:53  <Rhamphoryncus> Hard to say.  All my past experience has been with just 1
05:27:13  <Nat_as> I try lots of diffrent sets
05:27:46  <Rhamphoryncus> It is nice to have regular improvements, so if your set went from 1900 to 2100 and that was every 10 years.. do the math ;)
05:28:01  <Nat_as> i mean how many at a time
05:28:14  <Nat_as> because you can't use all the trains at once
05:28:18  <Rhamphoryncus> The problem is the game discourages diversity
05:28:25  <Nat_as> yes
05:28:27  <Rhamphoryncus> Networks flow better when identical
05:28:28  <Nat_as> but niches exist
05:28:40  <Nat_as> fast trains for passingers, powerfull trains for cargo
05:28:57  <Nat_as> some trains need to be big, others small
05:29:03  <Nat_as> and also Metros are an intresting idea
05:29:10  <Nat_as> trains that load faster but are slow
05:29:15  <Rhamphoryncus> passenger service needs timetabling, which is currently pointless
05:29:16  <Nat_as> really handy in cities.
05:29:39  <Nat_as> well Metro trains exist, and are cool.
05:29:50  <Nat_as> also passingers pay less if you take too long
05:29:52  <Rhamphoryncus> Trains don't "need" to be big or small.  Works better if they're all the same
05:30:13  <Nat_as> what if you need to move more or less cargo?
05:30:33  <Nat_as> making trains too big means you waste maintenance money and horse power.
05:30:47  <Rhamphoryncus> The station rating mechanics require you to have a train waiting continuously, but a full load order in a city will only work at one end
05:31:09  <Nat_as> oh
05:31:12  <Rhamphoryncus> Use full load.  Add more trains as needed.
05:31:26  <Nat_as> what is the ideal train lenght?
05:31:38  <Nat_as> I have played with 4 6 and even 8+
05:32:02  <Nat_as> (in the last case I could not add more platforms so I just extended them)
05:32:39  <Rhamphoryncus> Longer fits more into the track space (proportionately less gaps), but needs very large turns.  Short can do tight turns
05:33:04  <Nat_as> also short is easier to fit into cities.
05:33:09  <Rhamphoryncus> But keep the multiple-engine feature in mind.  1 engine+5 wagons accelerates the same as 3 engines+15 wagons
05:33:21  <Nat_as> yes
05:33:58  <Nat_as> some sets however have metro style trains where every car gives power, and load faster than normal
05:34:02  <Nat_as> but are slower to make up
05:34:20  <Nat_as> really handy for moving passengers inside a city.
05:34:26  <Nat_as> or between two close cities.
05:35:37  <Rhamphoryncus> That's a lot more realistic.  That's how maglevs should be
05:35:52  <Nat_as> well magleves are fast
05:36:10  <Rhamphoryncus> The real maglevs have propulsion in every wagon
05:36:13  <Nat_as> yeah
05:36:21  <Nat_as> I was talking more about the loading speeds feature though
05:36:44  <Rhamphoryncus> You said slower to make up?  You mean to build?
05:36:52  <Nat_as> slower to move
05:36:59  <Rhamphoryncus> ahhh
05:37:02  <Nat_as> low max speed
05:37:10  <Rhamphoryncus> Try the vacuum tube newgrf.  It's fun ;)
05:37:43  <Nat_as> how does it work>
05:38:03  <Rhamphoryncus> It's a maglev in a vacuum tube
05:38:11  <Rhamphoryncus> No air resistance
05:38:13  <Nat_as> that's it?
05:38:29  <Nat_as> oh, just a maglev with crazy max speed?
05:38:37  <Rhamphoryncus> and acceleration
05:38:43  <Rhamphoryncus> Although the acceleration is silly IMO
05:38:50  <Nat_as> I thought it was pneumatic subway.
05:38:56  <Rhamphoryncus> no heh
05:39:12  <Rhamphoryncus> They do 3000 or 4000 km/h
05:39:15  <Nat_as>
05:39:17  <Nat_as> this existed
05:41:03  <Rhamphoryncus> Interesting
05:41:07  <Rhamphoryncus> But not terribly effective
05:41:10  <Nat_as> yeah
05:41:13  <Nat_as> it's silly
05:46:10  <Nat_as> the way the default maglev tracks look, it looks more like quantum levitation than actual maglev.
05:47:57  <Nat_as>
05:49:04  <Nat_as> just need a room temprature superconductor and you could probably scale that up to be a working vehicle.
05:49:34  <Rhamphoryncus> That IS magnetic levitation
05:50:24  <Rhamphoryncus> But "magnetic" is an old term.  "quantum" is modern :P
05:51:42  <Nat_as> it uses quantum mechanics to stabilise it.
05:52:43  <Rhamphoryncus> Yeah, that's a very interesting form, but not necessarily useful for a maglev train
05:53:06  <Nat_as> well it would need room temperature superconductors to be practical.
05:53:32  <Rhamphoryncus> Most of the traditional maglev approaches are based repulsion.  Yeah, the magnets themselves hold you in the middle, but it's not very stable.
05:53:50  <Rhamphoryncus> The transrapid approach use computer-managed attraction
05:54:28  <Rhamphoryncus> And makes it a "solved problem".  It's no longer a challenge to do
05:54:51  <Rhamphoryncus> The issue is cost of the track and weight of the train
05:55:26  <Rhamphoryncus> Superconduction could potentially make the train much lighter
05:56:54  <Nat_as>
05:56:56  <Nat_as> >Maglev
05:56:59  <Rhamphoryncus> Oh, forgot the other (even bigger) issue
05:57:00  <Nat_as> >replaced by cable cars
05:57:01  <Nat_as> WHY
05:57:58  <Rhamphoryncus> The cost of the track is pretty large, but is actually comparable to high speed passenger track
05:58:13  <Nat_as> yeah
05:58:20  <Rhamphoryncus> The bigger issue is that it's a totally incompatible system.  There's no way of  having a transitional technology.
05:58:53  <Nat_as> I think it's funny how the Accela can't actualy reach top speed or tilt on the raills it uses
05:59:06  <Nat_as> because it shares tracks with freight trains.
05:59:28  <Nat_as> The problem with all high speed trains is they are not really compatible with freight lines.
06:00:00  <Rhamphoryncus> It can't tilt?
06:00:07  <Nat_as> NOPE
06:00:14  <Rhamphoryncus> Speed I could understand.  Busy line, no passing lane
06:00:51  <Nat_as> the tracks aren't designed with the assumption of trains tilting. The corners don't have enough clearance.
06:00:59  <Nat_as> it would hit the walls.
06:01:23  <Nat_as> they didn't realize this until they upgraded all the tracks to high speed rails.
06:01:26  <Rhamphoryncus> ahhh
06:01:33  <Rhamphoryncus> How the heck did they miss that?
06:01:40  <Nat_as> I guess passinger trains will never be profitable in the US
06:01:50  <Nat_as> well metro trains are.
06:02:00  <Nat_as> but not long distance passenger rail.
06:03:00  <Nat_as> one problem I see with maglevs is actualy hills and turning
06:03:22  <Nat_as> when the track is a thick strip of magnets, and the train is traveling at just under mach 1
06:03:26  <Nat_as> that can cause issues
06:03:41  <Rhamphoryncus> why hills?  Just the change of direction?
06:04:09  <Nat_as> yeah they don't bend well.
06:04:18  <Nat_as> much longer turning radius than normal trains.
06:04:22  <Nat_as> or even monorails.
06:05:10  <Rhamphoryncus> Are you talking about the transrapid specifically?
06:05:19  <Nat_as> no
06:05:35  <Nat_as> and I'm sure there are designs that don't have this problem as badly.
06:06:15  <Rhamphoryncus> What you really lead is simpler, lighter cars
06:07:31  <Nat_as> >The RAND Corporation has depicted a vacuum tube train that could, in theory, cross the Atlantic or the USA in ~21 minutes
06:07:33  <Nat_as> HOLY FUCK
06:07:41  <Nat_as> I thought suborbital flight was impressive
06:08:14  <Nat_as> morning commute to London. Head back to LA for the evening.
06:09:21  <Rhamphoryncus> Old idea.  Thus the newgrf
06:18:19  <Rhamphoryncus> Another issue with trains is cars can very easily intermingle traffic patterns, whereas trains (and even buses) are very rigid
06:18:38  <Rhamphoryncus> I have seen some very interesting proposals that would change that
06:18:44  <Nat_as> timetables and such?
06:18:51  <Rhamphoryncus> I mean in real life
06:18:57  <Nat_as> Oh
06:19:37  <Rhamphoryncus> A train is only between stations.  A car is anywhere on a road, driveway, parking lot, or many places off road
06:20:27  <Rhamphoryncus> So, a better middle ground.. self-driving cars help, less dependent on a driver
06:21:02  <Rhamphoryncus> There's proposals for cars that can join together on the road like a train, when going the same way, but then split apart when they want to go somewhere else
06:21:21  <Nat_as> yes
06:21:27  <Nat_as> I have heard that
06:22:37  *** bryjen [~bryjen@] has quit [Read error: Connection reset by peer]
06:22:48  <Rhamphoryncus> Imagine a tiny car built like a 4 wheeled enclosed scooter, single seat.  Have it join like that, but also side-to-side
06:24:10  <Rhamphoryncus> And with centralized route management you could have it delay your departure by a minute so it can meet up with people going the same way you are, to avoid having to disconnect later
06:25:11  <Rhamphoryncus> And guarantee highways are at peak efficiency.  Fast movement, optimal packing
06:25:41  <Rhamphoryncus> With braking systems that interact that might hit 90% packing
06:25:48  <Rhamphoryncus> (lengthwise)
06:30:46  <Rhamphoryncus> In other news.. I should do some coding
06:30:50  <Nat_as> anyways, what are the important niches for trains?
06:31:05  <Nat_as> part of me wants to make a trainset,
06:31:11  <Nat_as> or rather pixel art for a trainset
06:31:16  <Nat_as> I'd need somebody to code and shit
06:31:53  <Rhamphoryncus> I really don't know
06:32:17  <Rhamphoryncus> I'm working on a timetable overhaul, which should make passenger service more viable
06:32:46  <Nat_as> what passenger service needs is working destinations.
06:32:47  <Nat_as> :V
06:32:59  <Rhamphoryncus> (and as I more recently learned, transfer orders within a large city can let you do feeders for a city-to-city route
06:33:18  <Rhamphoryncus> yeah, I need to review YACD
06:33:27  <Nat_as> i like cargodist
06:33:37  <Nat_as> but it's still not as good as simutrans' model
06:34:13  <Rhamphoryncus> Cargodist is fun, but it's too easy to manipulate.  It's not about building your network to match the map.
06:34:57  <Rhamphoryncus> Anyway, for the sake of argument we can assume that is fixed and passenger service works
06:35:19  <Nat_as> then what?
06:35:33  <Rhamphoryncus> There's both metro and inter-city trains, but metro overlaps drastically with trams.  Kinda sucks
06:35:46  <Rhamphoryncus> Freight needs some diversity
06:36:07  <Rhamphoryncus> You currently look for an engine that is fast, powerful, and short
06:36:40  <Rhamphoryncus> Cost is often not a concern
06:37:41  <Rhamphoryncus> You want short because you need uniformity to maintain flow.  Any slowdown, such as at a corner, becomes your limiting factor
06:38:23  <Rhamphoryncus> If an engine is a full tile long (2 normal wagons) then you could have put in two normal engines in that space, often completely trumping the single one in power
06:40:01  <Rhamphoryncus> If you could make your network handle mixed speeds better.. possibly a bias towards faster or slower tracks, as well as making trains look a few signal-blocks ahead to slow down rather than going all-out then full-stop
06:40:55  <Rhamphoryncus> The latter would (if built right) give you a continuous speed, reducing you to the slowest train, but NOT causing a jam
06:41:29  <Rhamphoryncus> And once you've got that you could give the bias towards certain speeds of tracks, so they'll try to separate when they can
06:42:01  <Rhamphoryncus> oh!  The payment calculations need a total redesign
06:42:32  <Rhamphoryncus> They currently mean that everything has an optimal distance to deliver it to
06:42:36  *** kkb110_ [] has quit [Remote host closed the connection]
06:42:55  *** kkb110 [] has joined #openttd
06:43:01  <Rhamphoryncus> Optimal relative to the running cost that is
06:43:18  <Rhamphoryncus> Although I believe longer can earn you less even in absolute terms
06:43:51  <Rhamphoryncus> Until it hits the bottom limit and it becomes a constant factor distance/time
06:44:00  <Nat_as> Man I'm lost here
06:44:01  <Nat_as> :v
06:44:17  <Rhamphoryncus> Let me find you a link
06:44:32  <Rhamphoryncus>
06:45:50  <Rhamphoryncus> Your payment scales up with distance, but if you reformulate it in terms of time spent (ie how many times can 1 train do this in a year?), then you can factor that out
06:46:36  <Rhamphoryncus> And if you assume the train has a constant speed then there becomes a specific time&distance at which that train will earn the maximum amount per year
06:46:42  <Nat_as> so a bunch of guys carring cargo a short distance can pay just as much as one guy going a long distance?
06:46:55  <Rhamphoryncus> yup
06:47:05  <Nat_as> I noticed that shipping oil by boat can have supply problems with the refinery not making goods
06:47:12  <Nat_as> because it had been months since the ship last came
06:47:16  <Nat_as> and it produced nothing
06:47:21  <Rhamphoryncus> That's a separate issue with station rating
06:47:32  <Nat_as> which is a problem if I want to ship goods from there
06:47:38  <Nat_as> the train has to just sit there or lose money
06:47:45  <Rhamphoryncus> yup
06:49:26  <Rhamphoryncus> So you take the numbers on that wiki page, punch in the formulas and graph it out, and you get a nice round curve that humps near 70 or 130 days (depending on the cargo type), but then goes up at a constant angle once it hits a certain minimum value
06:50:22  <Rhamphoryncus> That constant angle is because you hit that maximum lateness penalty of 88%.  After that you could wait for 10 years before delivery and it'd have no effect
06:50:41  <Nat_as> can you simplyify this to explain why I can't ever seem to make a profit off of coper ore?
06:50:44  <Rhamphoryncus> But the distance, that still matters
06:51:56  <Rhamphoryncus> Let me see if I can remember the formula.  In general though: that's not time-sensitive so you want your train to take about 130 days
06:52:05  <Rhamphoryncus> Get as far as you can in 130 days
06:52:39  <Nat_as> seems strange
06:52:40  <Rhamphoryncus> Do you always have a train there, doing a full load?
06:52:54  <Nat_as> You'd think you want cargo to get to the destination as quickly as possible
06:53:08  <Rhamphoryncus> You would :/
06:53:14  <Nat_as> but you say I should find a factory on the other side of the map?
06:53:20  <Rhamphoryncus> no
06:53:23  <Nat_as> that ought to be fixed somehow?
06:54:04  <Rhamphoryncus> That CAN work, if the map is large, but it's the harder way.  it relies on the return hitting rock bottom first
07:02:23  <Nat_as> wow
07:02:28  <Nat_as> looking at simutrans aggain
07:02:34  <Nat_as> there is an ENLARGE MAP option
07:09:11  <Rhamphoryncus> Oh there's my nice pretty curve again
07:11:56  *** supermop [] has quit [Quit: supermop]
07:12:42  <Nat_as> is it gausian?
07:12:59  <Rhamphoryncus> No idea :D
07:14:00  <Rhamphoryncus> So.. copper ore.. on a per trip basis 50 days will earn  you.. a factor of 42.
07:14:25  <Rhamphoryncus> 130 days will earn you a factor of 68
07:15:06  <Rhamphoryncus> At 232 days it's bottomed out again at 27
07:15:26  *** kkb110 [] has quit [Read error: Connection reset by peer]
07:15:38  *** kkb110 [] has joined #openttd
07:16:00  <Rhamphoryncus> At 567 days it has recovered to 68
07:16:19  <Rhamphoryncus> And at 600 it hits 72.  It keeps going forever at this rate
07:16:21  <Nat_as> okay simutrans is still ugly and fiddly
07:16:58  <Nat_as> oh..
07:17:01  <Nat_as> pack 32
07:17:04  <Nat_as> I THINK I AM IN LOVE
07:17:10  <Nat_as> it's so pretty
07:17:32  <Rhamphoryncus> But the only reason I get a curve with a peak there is because I'm including distance.  This is maximum income for that industry, NOT for the train
07:18:31  <Rhamphoryncus> If you're talking about the train then your ideal is a mere 10 days
07:18:40  <Rhamphoryncus> err 12 days
07:19:06  <Rhamphoryncus> Of course that assumes constant movement, no loading or acceleration time
07:20:49  <Nat_as> what if you like small maps?
07:21:09  <Rhamphoryncus> It should be easier to make a profit
07:23:01  <Rhamphoryncus>
07:24:07  <Rhamphoryncus> Nothing I've read so far mentions when they start counting the time.  It might be when the "packet" of cargo is created in the station
07:24:27  <Rhamphoryncus> So any time left waiting would still count
07:24:54  <Rhamphoryncus> Meaning you get double-penalized for not using full-load.  You get payed less AND the rating drops (reducing quantity)
07:26:29  *** kkb110 [] has quit [Remote host closed the connection]
07:26:44  *** kkb110 [] has joined #openttd
07:34:10  *** pc [~pc@] has joined #openttd
07:34:18  <pc> alguien que sepa español e ingles
07:35:51  <Rhamphoryncus> I have no idea what you said but I'm pretty sure the answer is this channel is mostly just english
07:36:50  *** hbccbh [~hbc@] has joined #openttd
07:39:00  *** pc [~pc@] has left #openttd [Saliendo]
07:43:59  <Rhamphoryncus> Nope, time is only counted while loaded in to a vehicle
07:44:08  <Arafangion> Rhamphoryncus: I think you pretty much answered pc. :)
07:44:30  <Rhamphoryncus> I guess the "no idea" part wasn't strictly true ;)
07:45:22  <Arafangion> Rhamphoryncus: It's fairly easy to guess, "... ... ... spanish .. english?" :)
07:45:43  <Rhamphoryncus> Oh, I didn't even notice the spanish.  Just the ingles was enough
07:46:00  <Rhamphoryncus> "Person talking in non-english language is saying something about english.. gee.."
07:46:26  <Arafangion> Very common in bilingual settings.
07:46:42  *** KouDy1 [~KouDy@] has joined #openttd
07:48:47  <Nat_as> time for bed
07:48:48  <Nat_as> night
07:48:54  *** Nat_as [] has quit [Quit: ajax IRC Client]
07:48:59  *** KouDy1 [~KouDy@] has quit [Read error: Connection reset by peer]
07:49:26  <Rhamphoryncus> Coding accomplished in the last hour and a half: 0
07:49:35  * Arafangion feels pleased himself for not responding to that 'time for bed' inappropriately.
07:49:41  <Arafangion> Rhamphoryncus: Congratulations. :)
07:49:43  *** KouDy1 [~KouDy@] has joined #openttd
07:49:54  <Rhamphoryncus> heh
07:50:08  <Rhamphoryncus> But if I don't do it then who's going to rewrite the timetabling?
07:50:11  <Arafangion> Rhamphoryncus: Not as good as negative line counts, but hey, it's something. ;)
07:50:37  <Rhamphoryncus> Pretty sure my cleanup patch in the tracker has that
07:50:52  <Rhamphoryncus> Yup.  +80 -84
07:51:10  <Arafangion> -4, even better. :)
07:51:22  <Arafangion> You must be slipping.
07:51:45  <Rhamphoryncus> I'm coding so fast I'm overflowing and going backwards?
07:52:15  <Arafangion> Rhamphoryncus: I'm alluding to the fact that cleaning up code is better than making it more complex.
07:52:30  <Arafangion> Rhamphoryncus: And extrapolating from that like crazy. :)
07:53:24  <Arafangion> Yikes, looked away from openttd and gues what? Made 3 millino.
07:53:37  <Rhamphoryncus> heh
07:54:27  <Rhamphoryncus> I've made 1.5 billion in my last game.. but I did start by cheating up to 2 billion, spending and losing down to 1 billion, then finally climbing back up to 2.5 billion
07:55:47  <Arafangion> This was a brand new game on a tiny map, only 7 trains, all of which are mail and passengers on a 128x128 map.
07:56:21  *** hbccbh [~hbc@] has quit [Remote host closed the connection]
07:56:21  <Arafangion> I find it hard to put much time into games.
07:56:38  <Rhamphoryncus> I.. have way too much time
07:57:21  <Arafangion> Don't we all?
07:58:55  <Rhamphoryncus> no :)
08:00:18  <Arafangion> Way to make me feel better!
08:01:01  <Rhamphoryncus> heh
08:06:35  *** hbccbh [~hbc@] has joined #openttd
08:08:45  <Rhamphoryncus> Heh, I worry about the most petty stuff: if I'm redesigning the orders window do I need a new file name? ;)
08:15:50  *** sla_ro|master [slaco@] has joined #openttd
08:18:19  *** cmircea [~cmircea@] has joined #openttd
08:24:19  *** tokai|noir [] has joined #openttd
08:24:22  *** mode/#openttd [+v tokai|noir] by ChanServ
08:30:03  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
08:30:17  *** chester [~chester@] has joined #openttd
08:31:03  *** tokai [] has joined #openttd
08:31:06  *** mode/#openttd [+v tokai] by ChanServ
08:33:49  *** chester [~chester@] has quit []
08:34:10  *** chester [~chester@] has joined #openttd
08:34:37  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
08:36:51  *** tokai|mdlx [] has joined #openttd
08:38:57  *** tokai [] has quit [Read error: Operation timed out]
08:39:45  *** andythenorth [] has joined #openttd
08:44:55  *** Firartix [] has joined #openttd
08:47:38  <andythenorth> moin
08:49:11  <Arafangion> Rhamphoryncus: Always. ;)
08:49:40  <Rhamphoryncus> andythenorth: ahoy
08:51:07  <Rhamphoryncus> andythenorth: engineering/farming/manufacturing supplies are a PITA
08:51:32  <andythenorth> see endless debate about removing them :P
08:51:35  <Arafangion> Indeed, the engineers are never happy with equivalents.
08:51:44  <Arafangion> And the farmers tend to be too eupheremic.
08:51:52  <Rhamphoryncus> ... quiet, peon :P
08:51:53  <Arafangion> And who knows what manufacturing makes(!)
08:52:01  <Arafangion> Just saying. :)
08:52:19  * Rhamphoryncus throws peanuts
08:53:28  <andythenorth> MNSP are 'just another input cargo'
08:53:35  <andythenorth> they don't work like the other two
08:53:35  <Rubidium> the only obvious thing... packaging peanuts ;)
08:54:50  <Rhamphoryncus> oh
08:54:55  <Arafangion> Rubidium: There's several different types of those, one of which are apparently edible, although I've not put that to the test.
08:54:58  <Rhamphoryncus> Well the other two are a PITA then :D
08:55:38  <Arafangion> Rhamphoryncus: Haven't put them to the test, either!
08:57:02  <andythenorth> Rhamphoryncus: what's problematic?
08:57:14  <Rhamphoryncus> The "1 every month" thing
08:58:07  <Arafangion> Ok, that's it. I'm out of here.
08:58:08  <Rhamphoryncus> Transferring to that station, then micromanaging a trick to pick up and unload at the same station
08:58:14  <Rhamphoryncus> truck*
08:58:15  <Rhamphoryncus> cya
08:58:51  <andythenorth> Rhamphoryncus: that's an odd, over-optimising behaviour that someone has put in the wiki
08:59:01  <andythenorth> no accounting for how people will play a game :P
08:59:24  <Rhamphoryncus> Yeah, but then the game tells you "0 xxx delivered this month"
08:59:58  <Rhamphoryncus> hmm, adding "(20 last month)" to the text would help
09:00:47  <Rhamphoryncus> Or make last month the main display and current in the parenthesis, since last month is the only one with useful information
09:01:54  <andythenorth> valid suggestion
09:03:00  <andythenorth> the supplies behaviour may change
09:03:01  <planetmaker> moin
09:03:06  <Rhamphoryncus> ahoy
09:03:11  <andythenorth> to "deliver [some] supplies [often]"
09:03:18  <andythenorth> rather than ">1t every month"
09:03:25  <Rhamphoryncus> Yeah
09:03:42  <Rhamphoryncus> It feels like it should scale up with larger industries.
09:03:54  <andythenorth> it possibly will
09:04:15  <Rhamphoryncus> Just as long as it doesn't encourage you to concentrate it all in one.. although in the long term the cap will discourage that
09:05:36  <Rhamphoryncus> Another thing I noticed is with multiple farms at one station it will only deliver to one of them :/
09:05:54  <andythenorth> that is a limitation of openttd
09:06:02  <Rhamphoryncus> I was afraid you'd say that
09:06:23  <andythenorth> I considered making a farm cluster 'one big industry' but it was thought to be a bad idea
09:06:28  <Rhamphoryncus> Which also means you're well aware of the limit
09:06:37  <andythenorth> cargo destination patches solve the issue
09:06:48  *** Firartix [] has quit [Ping timeout: 480 seconds]
09:06:55  <Rhamphoryncus> That reminds me, I thought it'd be cool if an industry could take over more tiles as it scaled up
09:07:07  <Rhamphoryncus> Huh, didn't think of that
09:07:26  <andythenorth> industries expanding is currently quite out of scope
09:07:29  <andythenorth> it has been discussed
09:07:43  <Rhamphoryncus> The catch is such tiles would have to be a) empty, b) town building, or c) specially marked station tiles
09:07:45  <Rhamphoryncus> *nods*
09:07:45  <andythenorth> there is an interesting possibility that industries could 'plant' new objects
09:08:18  <Rhamphoryncus> How about limiting the industry unless the player plants them?
09:09:28  <andythenorth> complex
09:09:35  <andythenorth> too many messages and such needed
09:09:45  <andythenorth> too many conditional cases
09:09:54  <andythenorth> too much multiplayer headache
09:09:55  <Rhamphoryncus> I've been playing with the newgrf station sets so I'm very concerned about locking-in the industry
09:10:00  <Rhamphoryncus> aye
09:10:34  <Rhamphoryncus> Well, then the next though is purely aesthetic.. station sets that are industry aware and convert to industry buildings when it scales up
09:10:49  <Rhamphoryncus> thought*
09:10:49  *** Neon [] has joined #openttd
09:11:24  <andythenorth> gameplay effect would be...?
09:11:32  <Rhamphoryncus> Pretty :)
09:11:37  <Rhamphoryncus> Like all station sets
09:17:30  *** lmergen [] has joined #openttd
09:19:09  * andythenorth ponders
09:19:20  <andythenorth> articulated RVs are a headache
09:19:43  <andythenorth> do I put all the consist weight on the lead vehicle - to reflect accurate weight?
09:19:56  <andythenorth> or do I avoid that because it incorrectly boosts TE?
09:20:20  <andythenorth> or do I have to adjust the TE coefficient down in some ratio?
09:20:40  <Rubidium> in the purchase menu do the former, in game do the latter ;)
09:21:06  <andythenorth> adjust TE coefficient, to get result = TE coeff * lead vehicle weight?
09:21:35  <Rubidium> no, spead the weight correctly
09:21:39  <Rubidium> +r
09:22:03  <andythenorth> weight must be 0 for trailing parts of RVs
09:22:24  <Rubidium> oh... then I have no clue
09:22:35  <andythenorth> eddi thought I should adjust the TE
09:22:38  <andythenorth> he's often right
09:22:43  <andythenorth> more often than me anyway :P
09:24:56  <Rhamphoryncus> How do the physics differ having it all at the front vs hypothetically having it spread out?
09:25:18  <andythenorth> that's the headach
09:26:15  <Rubidium> Rhamphoryncus: do you have a bike? If you lean forward very far it's *much* easier to make the back wheel spin than when you lean very far backward
09:26:53  <Rubidium> that's because the amount of grip you have is related to the amount of weight put on the wheel
09:27:18  <Rhamphoryncus> So it's purely a question of traction for the power wheels
09:27:31  <Rhamphoryncus> Which are usually the front of an RV
09:27:41  <Rubidium> so if the cabin of a truck is 1t and it's pulling something of 20t it's more likely going to slip than when you put a 21t truck in front of a 0t trailer
09:28:08  <Rubidium> yes, and traction dictates the limit in acceleration
09:28:29  <Rhamphoryncus> hmm, but the game does some calculations itself combining TE and weight of the cab?
09:28:38  <Rubidium> yep
09:28:40  <Terkhen> good morning
09:29:14  <Rhamphoryncus> And.. in some cases that should include part of the cargo weight, in other cases it should not..
09:30:01  <Rubidium> which you can do as you can give the cab some cargo
09:31:16  <Rhamphoryncus> Half for a semi.  It'd display silly though
09:32:50  <Rhamphoryncus> And if you have to have a weight of 0 for the trailer itself then you can use it to gain TE, but you can't have it slow down acceleration for adding mass
09:33:14  <andythenorth> which is what BANDIT does
09:33:14  <andythenorth> the cargo part is easy
09:33:14  <andythenorth> but I also have to account for vehicle weight
09:33:14  * andythenorth is embarrassingly slow at working out the multiplier need for TE coeff
09:33:16  <andythenorth> :P
09:33:40  <Terkhen> andythenorth: maybe because you had to rework TE three times for HEQS and you are tired of it? :P
09:33:50  <andythenorth> ho :)
09:33:51  <andythenorth> maybe
09:34:10  <Rhamphoryncus> reverse-engineering the game physics because it doesn't properly support what's needed sucks :/
09:34:19  *** MJP [] has joined #openttd
09:34:57  <planetmaker> Rhamphoryncus: real scientists and engineers do that with reality ;-)
09:35:07  <Terkhen> you don't need to reverse engineer the game physics, you can check the source
09:35:18  <andythenorth> hm
09:35:24  <andythenorth> this can be simplified somewhere:
09:35:32  <planetmaker> and reality has no open source, unfortunately where we can look it up
09:35:34  <planetmaker> :-P
09:35:44  <Terkhen> I wouldn't call them "physics", and neither "realistic" :P
09:35:56  <andythenorth> coeff of TE = default TE / (total consist weight / lead vehicle weight)
09:36:01  <andythenorth> I have all those values btw
09:36:07  <andythenorth> but the formula is unwieldy
09:36:09  <Rhamphoryncus> Terkhen: well, reverse their formula so you can put in the values that give the correct result
09:36:31  <Terkhen> <--- all you need is there
09:36:38  <Terkhen> s/all/everything/
09:36:57  <Terkhen> and yes, the formula is not great... but it can be calculated quickly for thousands of vehicles :)
09:37:16  <Terkhen> sadly it is a case of precision vs optimization
09:37:23  <andythenorth> can I remove default TE from my formula somehow?
09:37:24  *** DDR_ [] has joined #openttd
09:37:31  *** DayDreamer [~DayDreame@] has joined #openttd
09:37:33  <andythenorth> maybe not
09:37:36  *** DayDreamer [~DayDreame@] has quit []
09:38:48  *** DDR_ [] has quit []
09:39:03  <Terkhen> probably not, unless there is some mathematical trick that I'm not aware of
09:39:25  <Terkhen> you could set it to 1, though
09:39:55  <andythenorth> across the whole set?
09:39:56  <andythenorth> hmm
09:40:06  <andythenorth> my formula appears to work
09:40:12  <andythenorth> seems like too many divides
09:40:22  *** hbccbh [~hbc@] has quit [Remote host closed the connection]
09:40:42  <andythenorth> anyway, this is for later
09:40:51  * andythenorth -> breakfast
09:41:07  <Terkhen> enjoy
09:41:38  <andythenorth> Terkhen: you could code review my 'rebuild the physics on the vehicle' code :D
09:42:06  <Terkhen> hmm... I was planning on playing some civ IV instead, but I guess that a quick review should not hurt
09:42:09  <Terkhen> where is it?
09:42:29  <andythenorth> I haven't finished writing it yet ;)
09:42:29  <andythenorth> maybe later
09:42:32  <andythenorth> :)
09:44:24  <Terkhen> ok :)
09:46:23  <Arafangion> It's pretty awesome how opensource projects are reviewed. :)
09:46:43  <Arafangion> Professional programmers should take note of the so-called "cowboy coders". :(
09:48:55  <Terkhen> I wouldn't call a quick review while I'm thinking about playing a game instead of the code I'm reviewing  "awesome" :P
09:49:45  <Arafangion> Terkhen: It's more than some places do.
09:49:52  <Terkhen> that's true :)
09:51:18  <andythenorth> if you have an hour spare, watch the Greg Wilson talk - mentions code review...
09:51:32  <Arafangion> andythenorth: Got subtitles?
09:51:48  <andythenorth> dunno
09:53:03  <Arafangion> andythenorth: It doesn't... SO I can't watch it.
09:53:32  <andythenorth> :|
09:53:58  <Rhamphoryncus>
09:54:09  <Rhamphoryncus> Arafangion: you at work or something?
09:54:30  *** hbccbh [~hbc@] has joined #openttd
09:54:49  <Arafangion> Rhamphoryncus: I'm deaf.
09:55:12  <Rhamphoryncus> ahh, that'd do it
09:55:16  <Arafangion> Oh... And comments are generally useless...  I generally prefer not having them. :)
09:55:24  <Rhamphoryncus> lol
09:55:35  <Rhamphoryncus> There are a great deal of useless comments
09:55:36  <Arafangion> Rhamphoryncus: That *includes* when I do ASM.
09:55:40  <Rhamphoryncus> lol
09:55:50  <Rhamphoryncus> But they CAN be incredibly useful, if done right
09:55:53  <Arafangion> Seriously. I've done ASM, and I ignroed comments there, too.
09:56:00  <Arafangion> Possibly, but you have to assume that they're wrong.
09:56:46  <Rhamphoryncus> Just like variable names
09:57:01  <Rhamphoryncus> Or function names.. like BeginLoading
09:57:34  <andythenorth> or nml switch identifiers that andythenorth forgot to rename correctly :P
09:57:41  <andythenorth> verbose is good, but also misleading
09:57:43  <Arafangion> Perhaps...  But they are much, much more likely to be in sync, and when you do change it, you can lean on the compiler to catch the cases you missed, generally speaking.
09:57:50  <Arafangion> andythenorth: Yeah, damn him! ;)
09:57:54  <andythenorth> nfo IDs, being all hex, are never misleading :P
09:58:05  *** Chris_Booth [] has joined #openttd
09:58:09  <Arafangion> andythenorth: I'll have you know that I'm a TDD fanatic. :)
09:58:24  <planetmaker> s/TDD/TTD/ :-P
09:58:29  <andythenorth> where 'consist_weight' might actually mean 'consist_te', 'A2' always means 'A2'
09:58:31  <andythenorth> :P
09:58:57  <Arafangion> planetmaker: Bah.
09:59:19  <Rhamphoryncus> Arafangion: nice to be reminded once in a while that subtitles are more than just a convenience for some
09:59:40  <Arafangion> Rhamphoryncus: They're also very useful for those who don't speak that language as their mother tongue.
09:59:45  <Rhamphoryncus> Although what I really want is subtitles hooked up to speech synthesis so you can still watch it if you're deaf AND blind :D
09:59:46  <planetmaker> But maybe we should rename the game to Transport Deity Deluxe ;-)
10:00:03  <andythenorth> sounds more like a sid meier game
10:00:08  <Arafangion> Rhamphoryncus: That'd be fairly useless. :)
10:00:16  * Rhamphoryncus grins
10:00:50  <Arafangion> Rhamphoryncus: But possibly, you could make the subs go out to a braille interface...  But realistically the person would need an interpreter.
10:01:25  <Rhamphoryncus> Oh sure, take me seriously
10:02:50  <Arafangion> Rhamphoryncus: I'm deaf, it's pretty hard for me to joke about this.
10:03:07  <Rhamphoryncus> Life's too short not to
10:05:07  *** JVassie [~James@] has joined #openttd
10:05:46  <andythenorth> hmm
10:05:54  <andythenorth> NML te_coeff cb can return 0..255
10:06:06  <andythenorth> is it on the same base as the property though?
10:06:20  <andythenorth> or does 255 = 1
10:06:22  <planetmaker> callbacks return nfo values
10:06:36  <planetmaker> if you give no unit
10:07:01  <andythenorth> I'm looking at the nfo docs
10:07:01  <andythenorth> but it's not documented what the range is
10:07:01  <andythenorth> for cb36 at least
10:08:16  <planetmaker> in nfo the values are the same as the properties
10:09:46  <andythenorth> :)
10:09:46  <andythenorth> I could just test
10:11:19  * andythenorth suggests that 255 = 1
10:11:19  <andythenorth> which makes sense
10:11:53  <andythenorth> which follows then that it's a fraction in the range 0..255
10:11:56  <andythenorth> thanks :)
10:13:50  * andythenorth may not be using full capability of nml here
10:14:01  <andythenorth> I don't really use expressions in switch blocks or such
10:18:14  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
10:20:41  *** George [~George@] has quit [Read error: Connection reset by peer]
10:21:06  *** hbccbh [~hbc@] has joined #openttd
10:21:28  *** Progman [] has joined #openttd
10:22:33  *** tokai|noir [] has joined #openttd
10:22:36  *** mode/#openttd [+v tokai|noir] by ChanServ
10:26:34  *** George [~George@] has joined #openttd
10:27:42  <Rhamphoryncus> ahahaha, fucking assholes.  slideshare checks the user agent so it can refuse access if you're on the desktop without flash
10:27:59  <Rhamphoryncus> While simultaneously bragging about how portable their new html5 website is
10:28:37  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
10:30:48  <Rhamphoryncus> Of course I'm sure it's because they use flash cookies
10:32:11  <Rhamphoryncus> Woo, once you get in it's fairly predictable.  wget don't fail me now :P
10:33:36  <Rhamphoryncus> Arafangion: if you want I can upload the slides somewhere, or I can give you the slideshare link and you can try your luck
10:36:38  *** Chris_Booth [] has quit [Ping timeout: 480 seconds]
10:38:32  <andythenorth> ho
10:39:01  <andythenorth> if result = (76 / 255) / (vehicle_weight / consist_weight)
10:39:18  <andythenorth> there might be a simpler way to do this
10:39:27  <Terkhen> what are you trying to do?
10:39:40  <andythenorth> specify the coefficient of TE
10:39:49  <andythenorth> I'm happy with the method
10:39:57  <andythenorth> just think the formula might be simplified
10:40:14  <andythenorth> years since I did anything like find the common factors in a formula though :)
10:40:46  <Terkhen> isn't that calculated by the game? why do you need to simplify it?
10:42:26  <andythenorth> I need to provide a non-default value for TE
10:42:31  <andythenorth> (coefficient of TE)
10:43:01  *** tokai|mdlx [] has joined #openttd
10:43:14  * andythenorth might just use the formula above - it will work
10:43:22  <andythenorth> I failed higher maths for a reason :)
10:43:36  * andythenorth bbl
10:43:42  *** andythenorth [] has quit [Quit: andythenorth]
10:44:01  *** mahmoud [] has joined #openttd
10:48:15  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
10:52:05  <Arafangion> Rhamphoryncus: Nah, it's fine, I actually already have a pretty full on agile methodology at my work. :)
10:52:14  <Arafangion> Rhamphoryncus: Including extensive code review.
10:52:36  <Rhamphoryncus> The slides aren't on agile coding
10:53:06  <Rhamphoryncus> It's more about the lack of evidence-based research in programming.  It's nearly all anecdotes
10:53:39  <Rhamphoryncus> The talk, which I've just started watching, has said he's expecting that to change significantly in the next 10 years
10:54:00  <Arafangion> Rhamphoryncus: Well, good luck. That was already the case 10 years ago.
10:54:17  <Arafangion> Rhamphoryncus: The industry took over academia there at least a decade ago.
10:54:38  <Rhamphoryncus> It's never been evidence-based
10:55:11  <Arafangion> Oh, there's been plenty of evidence based research done, almost none in academia, though.
10:55:27  <Arafangion> The nature of what "evidence" is, however, is fairly disputed. :(
10:55:40  <Arafangion> And applying the lessons learned is frequently disputed, as well.
10:55:57  <Rhamphoryncus> Yeah, it's just starting to be taken seriously
10:56:10  <Rubidium> more "don't have the time to change" ;)
10:56:19  <Arafangion> Rhamphoryncus: I don't actually work for a software house.
10:56:36  <Arafangion> Rhamphoryncus: I'm work in a software team within a large, *non* software business.
10:56:46  <Rhamphoryncus> Same applies
10:56:56  <Arafangion> I disagree.
10:57:20  <Rhamphoryncus> This is about figuring out what the factors are in bugs.  Not as an anecdote, but as a controlled study
10:57:36  <Arafangion> Rhamphoryncus: My code is subject to actual audits.
10:58:24  <Rhamphoryncus> and?
10:58:58  <Arafangion> Rhamphoryncus: Actually, software bugs are a minor thing, in the grand picture.
10:59:10  <Rhamphoryncus> Bugs were just an example
10:59:15  <Arafangion> Rhamphoryncus: Because once you get into risk management, you have to assume that a software bug is 100% likely.
10:59:23  <Arafangion> Ie, the risk of failure is 100%.
10:59:29  <Arafangion> Not "probable".
10:59:34  <Rhamphoryncus> That's a nice philosophy.  I agree with it, but it's a philosophy
10:59:44  <Arafangion> It's legal.
10:59:50  *** lmergen [] has quit [Read error: Connection reset by peer]
10:59:59  <Rubidium> where's the proof that there's a 100% chance of a sofware bug?
11:00:09  *** lmergen [] has joined #openttd
11:00:10  <Rubidium> where's the proof that the risk of failure is 100%?
11:00:32  <Rhamphoryncus> taken literally, your risk is still 100% *after* audit
11:00:55  <Rubidium> where's your proof? ;)
11:01:04  <Arafangion> Rhamphoryncus: Indeed.
11:01:36  <Arafangion> Rubidium: Where's the proof that it's *not* 100%?
11:01:52  <xiong> All code conceals bugs. More code conceals more bugs. The only file guaranteed to contain no bugs is empty.
11:02:03  <Arafangion> xiong: Exactly.
11:02:08  <Rhamphoryncus> xiong: unless it's perl or php ;)
11:02:57  <Rhamphoryncus> But that's his whole point.  With real controlled studies we can put actual numbers on things
11:03:11  <xiong> No; this guy was trying to learn Perl and came in with a horrible stinking mass of random code -- a script that he grew by simple accretion. Didn't work right. He said, Help.
11:03:34  <Rubidium> Arafangion: false (the application) always returns a non-zero exit code
11:03:40  <Rhamphoryncus> What the bug rates are and the best ways to find them (and fix them without more bugs!), most effective coding practices, best interfaces
11:03:52  <Rubidium> which can be mathematically proven
11:04:05  <xiong> I said, Well, go *here* and open a new, empty file; save to disk, commit to git. Relax and enjoy; that file is bug-free and a step forward from what you had.
11:04:21  <Arafangion> xiong: Wrong.
11:04:27  <Arafangion> xiong: Your project likely has requirements.
11:04:29  <Rubidium> as such it's not 100% (doesn't mean it can't be so near to 100% that it isn't noticable)
11:04:37  <Arafangion> xiong: And that empty file doesn't satisfy any of them, therefore, it's buggy.
11:05:01  <xiong> Ho ho. I dare you to attempt to unravel this guy's stuff. I'd rather try to build a bikeshed out of cooked pasta.
11:05:25  <xiong> Actually no; his project had no requirements. So we worked on that next.
11:05:25  <Arafangion> xiong: Looking at the slides will be pointless, and the video's not captioned, so I'll pass.
11:05:28  <Rubidium> though... I'd say the chance that an application doesn't have a bug is near zero, but review would increase the chance (but it'd still be near zero)
11:05:34  <Arafangion> xiong: Ha.
11:06:33  <Rhamphoryncus> Arafangion: I'm enjoying it, but I think I've already summarized it for you
11:06:36  <xiong> There is indeed hope. I firmly believe in progress. Test, test again; refine requirements; refactor. Bugs can be eliminated.
11:08:11  <xiong> But if any given strategy is capable of eliminating, say, 90% of outstanding issues with a codebase; then, say, three iterations might reduce the bug level to a mere 0.1% of previous -- which would be amazingly outstanding. Even so, something will remain... not quite right.
11:08:32  <Rhamphoryncus> Rubidium: yeah.  Even with the perfect program, mathematically validated to conform to the specification, the specification can be both buggy or just *wrong*
11:08:56  <Yexo> xiong: would that be 90% of _known_ outstanding issues or 90% of _all_ issues?
11:09:16  <Arafangion> xiong: And what if a cosmic ray flips a bit?
11:09:24  <Rhamphoryncus> xiong: there's a tendency to find less and less with each iteration.  I assume because they're always looking for the same things
11:09:25  <Yexo> if at a given time only 5% of the issues is known, you can reduce that amount by 90% but the total amount of issues will stay high
11:09:29  <xiong> So this is why I worked so hard with this guy on the concept of testing. He eventually said he hasn't got "time to test".
11:09:51  <Rhamphoryncus> xiong: hah
11:09:53  <Arafangion> xiong: The standard answer is: So how do you know it works?
11:10:02  <xiong> Yah. He doesn't get it.
11:10:16  <Arafangion> I had one guy who didn't check in code for a month.
11:10:39  <Arafangion> Sad thing, I don't think he realised that the rest of us literally didn't consider his code as *existing* otherwise.
11:10:49  <xiong> We can sit here and discuss whether it's ever possible to say, "It works"; but we all agree, I hope, that anyone who got to such a point would have done a lot of testing first.
11:10:51  <Arafangion> Which means... He'd done no work in a month.
11:11:26  <Rubidium> Rhamphoryncus: you're talking about a program that is more than the bare minimum a program can be
11:11:33  <Rhamphoryncus> Arafangion: which is another example of why we NEED research on good coding practices
11:11:44  <xiong> Yes, that's the other thing... push to GitHub. You can't believe how long I worked on this topic with this guy.
11:11:59  <Arafangion> Rhamphoryncus: If you care about this stuff, I suggest you get a job working for a medical software company.
11:12:11  <Arafangion> Rhamphoryncus: Seriously.
11:12:12  <xiong> Granted, it's only a trainer project but if he doesn't train, he'll never get anything done.
11:12:20  <Rhamphoryncus> Rubidium: I'd LIKE to code as if lives depend on my code.  I'm not up to it though
11:12:40  <Rhamphoryncus> Arafangion: I've got too many issues getting in the way :/
11:12:54  <Rubidium> Arafangion: at Therac?
11:12:56  <Arafangion> Rhamphoryncus: Which is why you define a process and follow the process.
11:13:11  <Arafangion> Rubidium: I suppose.
11:13:15  <Rhamphoryncus> Arafangion: a process based on personal experience and anecdotes
11:13:24  <Rhamphoryncus> Better than nothing, but nowhere near as good as it could be
11:13:39  <Arafangion> Rhamphoryncus: The processes I use reference legal requirements.
11:13:40  *** peteris [~peteris@] has joined #openttd
11:13:45  <xiong> There is no magic bullet.
11:14:00  <Rhamphoryncus> The legal requirements are not based on research either
11:14:15  <Rhamphoryncus> *some* might be based on significant failures of the past
11:14:27  <Arafangion> Rhamphoryncus: You'd be wrong if you assumed that they were based on pure software.
11:14:35  <Arafangion> Rhamphoryncus: They're *engineering* requirements.
11:14:40  <Rhamphoryncus> But mostly just more personal experience and anecdotes
11:15:15  <Rhamphoryncus> So?  That's fine for physical properties.  It doesn't have any basis in code though
11:15:28  <Arafangion> Rhamphoryncus: I disagree.
11:15:51  <Arafangion> Rhamphoryncus: But...
11:16:48  <Arafangion> Rhamphoryncus: It does depend on the nature of the software product you're working on.
11:17:21  <Arafangion> It's massively overkill to, eg, implement an AI bot for OpenTTD as if it was medical software capable of killing a person if there was a small software bug.
11:18:45  <Rubidium> ghehe... a bug in my code is, in theory, able to not prevent killing of a person. Does that count as well?
11:18:46  <Rhamphoryncus> Yup.  Ultimately counter-productive
11:19:18  <Rhamphoryncus> Misapplying resources like that will ultimately end in a worse product
11:26:19  <Rhamphoryncus> mmm psychology research
11:27:20  *** KouDy1 [~KouDy@] has quit [Quit: Leaving.]
11:28:13  *** Chris_Booth [] has joined #openttd
11:29:28  *** DDR [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0/20120129142603]]
11:43:16  <Arafangion> *reverse* psychology research.
11:43:40  *** Wolf01 [] has joined #openttd
11:43:55  <Wolf01> hello
11:43:59  <__ln__> hiwolf
11:46:48  <Rhamphoryncus> Heh, although we can't prove there isn't a genetic factor in male vs female programmers, we have found social factors.  Such as telling people there's a genetic factor.  Women *and* men go down if you tell them there's genetic factors.
11:47:24  *** cypher [] has joined #openttd
11:47:52  <Rhamphoryncus> Oh hey, I broke google.  Awesome
11:49:15  <Rhamphoryncus> 25% increase in problem complexity produces a 100% increase in solution complexity (Woodfield 1979)
11:51:31  <Arafangion> Rhamphoryncus: That's remarkably close to the 80/20 rule.
11:52:01  <Rhamphoryncus> The key context is that it compounds
11:53:51  *** TGYoshi [~TGYoshi@] has joined #openttd
11:55:05  <Rhamphoryncus> Repeat it 4 times (~145% increase in problem complexity) and you get a 1500% increase in solution complexity
11:55:58  <Rhamphoryncus> Such as the pages of notes I've made on how to fix timetables in openttd
11:59:00  *** frosch123 [] has joined #openttd
12:01:03  <Rhamphoryncus> Code review (not running it or writing unit tests) is the most effective way of finding bugs.. but only the first time somebody does it (not the author) and only for an hour.  After that it drops off.
12:02:44  <Yexo> so: A writes code, B reviews for an hour, A fixes the bugs found, C reviews for an hour, A fixes the bugs, etc. ;)
12:02:46  <Arafangion> Rhamphoryncus: If review takes more than an hour, chances are it's too complex.
12:03:13  <Arafangion> Rhamphoryncus: Actually, do you have a reference for that?
12:03:18  <Rhamphoryncus> Yexo: no, has to be different code and a different person
12:03:37  <Rhamphoryncus>
12:03:46  <Rhamphoryncus> Fagan 1997 and Cohen 2006
12:03:46  <Yexo> Rhamphoryncus: huh? first review by B, second one by C. those are different persons
12:03:59  *** andythenorth [] has joined #openttd
12:04:05  <Rhamphoryncus> Yexo: oops, I misread, but it still has to be different code
12:04:06  <Arafangion> Rhamphoryncus: Awesome. :)
12:04:20  <Yexo> Rhamphoryncus: why does it have to be different code?
12:04:27  <Yexo> are you saying code should only be reviewed once?
12:04:32  <Rhamphoryncus> Yexo: first person already found the shallow bugs
12:04:50  <Rhamphoryncus> No, I'm saying it's less effective at that point than running it or writing unit tests
12:04:57  <Yexo> ah, ok
12:05:20  <andythenorth> some of you watched Greg Wilson?
12:05:42  <Rhamphoryncus> andythenorth: currently watching, been discussing
12:06:11  <Rhamphoryncus> Managed to download the slides *despite* them only being on slideshare
12:06:53  <Arafangion> Rhamphoryncus: Personally, I reckon code review includes checking that ample unit tests test the new functionality.
12:07:11  <Rhamphoryncus> Arafangion: check the papers to understand the fine print :)
12:07:25  <Arafangion> Rhamphoryncus: Tab's open, will check it out at work. :)
12:07:51  <andythenorth> personally I reckon any argument about this should be making use of evidence :P
12:07:58  <Rhamphoryncus> Ahh, finally using work time for other purposes like a normal programmer *g*
12:08:39  <Arafangion> Rhamphoryncus: No, it's work.
12:09:09  <Terkhen> bbl
12:09:12  <Rhamphoryncus> Programmers built the internet.  EVERYTHING can be justified as part of that :D
12:09:34  *** Alberth [] has joined #openttd
12:09:38  *** mode/#openttd [+o Alberth] by ChanServ
12:09:41  <Rhamphoryncus> andythenorth: I've made that point several times
12:10:01  <Rhamphoryncus> [04:15:12] <Rhamphoryncus>
12:10:01  <Rhamphoryncus> [04:15:21] <Rhamphoryncus> Fagan 1997 and Cohen 2006
12:10:05  <Rhamphoryncus> Just before you came in
12:10:09  <andythenorth> comp sci seems to miss a big bit of the 'sci' part :)
12:10:20  <Arafangion> Rhamphoryncus: It's past 4 am for you!?
12:10:25  <Rhamphoryncus> andythenorth: yup
12:10:31  <Arafangion> andythenorth: Not really.
12:10:35  <Rhamphoryncus> yup
12:10:38  <Arafangion> andythenorth: Comp sci focuses on teh mathy part of it.
12:10:46  <Arafangion> andythenorth: Not teh application of programming to solve real problems.
12:10:48  <Rhamphoryncus> Remember I mentioned having issues?  Sleep disorder is one of them
12:10:54  <Arafangion> andythenorth: THAT is engineering.
12:11:16  <Rhamphoryncus> Engineering is the application of economics to physics :P
12:11:35  <Arafangion> Rhamphoryncus: Ha.
12:11:38  <Rhamphoryncus> (quote of greg wilson.  Which I probably got wrong.)
12:11:57  <Arafangion> Rhamphoryncus: I have sleep disorder as a *side effect* of my issues.
12:12:13  <andythenorth> greg wilson missed politics
12:12:19  <Arafangion> Undiagnosed sleep disorder. Whoo!
12:12:23  <andythenorth> engineering is the amalgam of politics, economics and science
12:12:32  <Rhamphoryncus> Mine's grown up to be a proper issue of it's own.  On meds.. which don't work.
12:12:47  <Arafangion> Rhamphoryncus: Yeah, I'm not keen to start the meds.
12:12:51  <Rhamphoryncus> andythenorth: ugh, I'm going to ignore politics.  I'd like to sleep tonight.. whenever I do go to bed.
12:13:17  <Rhamphoryncus> Arafangion: I'm desperate for them.  Being left to my own devices has resulted in 15 years of stewing.
12:13:48  <Arafangion> Rhamphoryncus: Especially since in my case...  I'd be taking some hard anti-depressants for _their_ side effects, since I don't actually have depression, to hopefully treat the real issue, the side effect of THAT which causes the sleep issue!
12:13:57  <Arafangion> (In other words... Tinnitus sucks)
12:14:17  <Rhamphoryncus> I've got them too.  Also don't work.
12:14:44  <Rhamphoryncus> Ugh, that does indeed suck
12:16:00  <Arafangion> Yeah, dr wanted me to put me onto them...  But they had too many side effects - I did my research and decided that 1% chance of a *permanent* side effect in each of like, 20 areas, was not worth it.
12:16:42  <Rhamphoryncus> I've been on 5 or 6.. yeah, not great
12:16:52  <Arafangion> Which the Dr wasn't really aware of, since the outcome is generally regarded as "worth it, given that you have depression".
12:18:02  <Arafangion> Still, if it keeps up, I'll probably try it in a decade or two.
12:20:54  <Arafangion> ANyway, everybody's got their issue.
12:21:49  <Rhamphoryncus> Hmm.  Based on the wikipedia description (yarrrr!) I'd say I have tinnitus too.  I didn't know it could be problematic though.. and most of the time I don't pay attention to it
12:22:05  <Arafangion> Rhamphoryncus: Mine's *loud*, and sounds like anything.
12:22:08  <Rhamphoryncus> Just confusing when I think the TV was left on but muted.. and it's not
12:22:12  <Arafangion> Rhamphoryncus: And I *always* have it.
12:22:12  * Rhamphoryncus nods
12:22:49  <Arafangion> Rhamphoryncus: Oh, no...  Ha.  It's not "I think I can hear something", it's pretty damn loud!
12:23:00  <Arafangion> As in, "hurts your ears" loud.
12:23:02  <Rhamphoryncus> Blame wikipedia for being vague :)
12:23:21  <Arafangion> Well, tinnitus itself is a very, very vague issue.
12:23:45  <Arafangion> Infact, it's a completely subjective auditory disorder.
12:24:23  <Rhamphoryncus> yup
12:24:56  <Arafangion> Unfortunately, the only theraphies that look like they'd work, assume that you can hear.
12:25:03  <Rhamphoryncus> I would rate mine as "slight", but it may factor in to my treatment for depression or sleep, so it's worth passing on to my doctor
12:25:09  <Rhamphoryncus> ahh :/
12:25:24  <Arafangion> Rhamphoryncus: Well, everybody has "slight" tinnitus.
12:25:41  <Rhamphoryncus> What's your source on that? ;)
12:25:47  * andythenorth has 'slight' insanity
12:25:47  <Arafangion> Infact, will even go as far as suggest that it's normal and natural.
12:26:21  <Arafangion> Rhamphoryncus: (which looks more at hyperacusis) seems to be one of the best general sources of information about tinnitus, IMHO.
12:26:30  <Arafangion> Although it's theraphy oriented.
12:26:38  <Rhamphoryncus> andythenorth: what's about slight but below moderate? :)
12:26:53  <Arafangion> Rhamphoryncus: That'd be "alcoholic". ;)
12:27:09  <Rhamphoryncus> ... yeah, there's a reason I have never drank
12:27:24  <Arafangion> I drink, about to have some whiskey, actually.
12:27:42  <Arafangion> It helps, but even the suggestiont hat it helps is controversial, for obvious reasons.
12:27:52  <Arafangion> Never been pissed, though.
12:28:03  <Arafangion> Although I did get tipsy once. :)
12:28:25  * Arafangion generally drinks one, or maybe two shots over... an hour.
12:28:50  <Arafangion> But I don't generally take meds...  And alcohol and meds don't mix.
12:28:55  <Rhamphoryncus> That site doesn't imbue me with confidence
12:29:23  <andythenorth> call int() on the result, or the inputs()
12:29:34  <andythenorth> ?
12:30:16  <andythenorth> (when result must be an int)
12:30:24  <andythenorth> calling it on the inputs could lose precision right?
12:30:34  <Arafangion> Rhamphoryncus: The content matches my experiences the most... And is most consistent with teh research I've done.
12:30:36  <andythenorth> this is day 1 comp sci andythenorth imagines
12:30:40  <Rhamphoryncus> andythenorth: python?  What's the greater context?
12:30:41  <Arafangion> Rhamphoryncus: But the site design is old. :(
12:31:06  <Arafangion> andythenorth: Always, the result.
12:31:09  <andythenorth> Rhamphoryncus: context is nml requires an int for the result
12:31:14  <Rhamphoryncus> Arafangion: the site is poor and it reads like someone's pet theories presented as gospel truth
12:31:19  <andythenorth> calculation may validly require floats
12:31:23  <Arafangion> Rhamphoryncus: Welcome to medical research!
12:31:26  <Alberth> ah, nicely on-topic, as always :p
12:31:33  <andythenorth> but the overall precision doesn't matter that much here
12:31:39  <Arafangion> Rhamphoryncus: Sadly, tinnitus is rarely a research topic.
12:31:46  <andythenorth> Alberth: I'm coding for the game at least :)
12:31:55  <Rhamphoryncus> andythenorth: is this something you do to generate your files, not while the game is running?
12:32:03  <Alberth> \o/    what are you making?
12:32:09  <Alberth> new bandits?
12:32:16  <andythenorth> BANDIT
12:32:38  <andythenorth> I am providing my own version of the 'missing' physics for articulated RVs ;)
12:32:40  <Rhamphoryncus> Arafangion: *good* research is much more critical
12:32:58  <Arafangion> Rhamphoryncus: There's basically bugger-all research done in Tinnitus.
12:33:01  <andythenorth> if the game can't handle calculating TE, consist weight etc dynamically....
12:33:11  <andythenorth> ...then I'll calculate static values and encode them in the grf
12:33:19  <Arafangion> Rhamphoryncus: Although from time to time, they might try a new drug.
12:33:36  <Rhamphoryncus> Arafangion: so half of what's on there is probably wrong, and nobody knows which half
12:34:03  <Arafangion> Rhamphoryncus: Actually, it's probably all right. Just nobody knows which faction applies to which case.
12:34:06  <Arafangion> *fraction
12:34:27  * Alberth throws away the game RV physics
12:34:42  <andythenorth> Alberth: :)
12:34:44  <andythenorth> new project?
12:34:45  <Arafangion> All I know, is that the only way I can handle my tinnitus, is to withdraw from sound entirely. I try not to even *think* about sound!
12:35:47  <Rhamphoryncus> andythenorth: yes, you don't want to truncate before doing the math, but make sure you ARE doing the math as a float and not an int.  Python3 changes the default / to always produce a float when given two ints, but in python2 it'll still produce an int (like C)
12:36:08  <Arafangion> Unless you import division from future.
12:36:18  <Rhamphoryncus> the fuuuuuuuture!
12:36:23  <Arafangion> Think about that... What other language does that? ;)
12:36:46  <Rhamphoryncus> Even python doesn't do it nearly enough :(
12:37:17  <Arafangion> Rhamphoryncus: Time machines are tricky enough to control, let alone use. I think python does it remarkably well.
12:37:29  * Rhamphoryncus disagrees with python3's existance.  It should have been a series of incrementally altered features that could be adopted early using imports of that sort
12:37:47  <Arafangion> Rhamphoryncus: I disagree with that, actually.
12:38:05  <Rhamphoryncus> Which part?
12:38:10  <Arafangion> Rhamphoryncus: For example, one of the earliest changes that went into python3 was to fix up that messed-up tab/spaces thing.
12:38:21  <Arafangion> In effect, -tt3 is the default.
12:38:39  <Arafangion> Also, python3's unicode handling is much, much better, and not compatible with python2.
12:39:00  <Arafangion> For example, you can refer to code points above 65530 (or whatever) even on a default python build on windows.
12:39:12  <Rhamphoryncus> Which can be made an option for several releases, then produce a warning (but you can still disable it), but only finally turn on by default
12:39:32  <Rhamphoryncus> Python's unicode is still pretty sketchy
12:39:40  <Arafangion> It's better than most languages.
12:39:47  *** |Jeroen| [] has joined #openttd
12:39:49  <Rhamphoryncus> That's not saying much ;)
12:39:54  <Arafangion> Indeed not.
12:39:58  <Arafangion> Have you seen how Ruby did it?
12:40:05  <Rhamphoryncus> "Ours is only *half* broken."
12:40:17  <Arafangion> Heh.
12:40:26  <Arafangion> Incidentally, my work still uses python 2.5
12:40:31  <Rhamphoryncus> But I'm biased.. I had an argument with another dev over it
12:40:41  <Arafangion> Rhamphoryncus: Yeah?
12:40:59  <Arafangion> Ruby's treatment of unicode annoys me.
12:41:06  <Arafangion> I much, much prefer python3's handling of it.
12:41:10  <Rhamphoryncus> Over the proper way to handle surrogates, what's conformant to unicode, that sort of thing
12:41:23  <Rhamphoryncus> Python likes to use CESU8 in some cases.. I don't remember which have been fixed
12:41:24  <Arafangion> PYthon2's implicit string conversions was annoying, thouugh. :(  I hate implicit string conversions.
12:41:43  <Rhamphoryncus> Implicit string conversion was a well intentioned but completely failed feature
12:41:45  <Yexo> which implicit string conversion?
12:42:06  <Arafangion> Indeed.
12:42:11  <Arafangion> Yexo: string <-> unicode
12:42:15  <Yexo> ah
12:42:18  <Rhamphoryncus> Yexo: '' + u'' == u''
12:42:39  <Rhamphoryncus> It blindly assumes the string is in ascii and attempts to decode it in to unicode
12:43:10  <Rhamphoryncus> Which lets your code work when developing it but fail a month later when a user uses something outside of ascii
12:43:10  <Arafangion> Rhamphoryncus: As an assumption, it's a reasonable choice, imho, but dammit, I don't like it implicitly being done. It leads to newbies getting surprised.
12:43:17  <Rhamphoryncus> ^^
12:43:28  <Arafangion> And 99% of programmers are newbies.
12:43:45  <Rhamphoryncus> Most text *is* ascii.. but most utf-8 is also ascii.
12:43:56  <Arafangion> I had to find and fix a bug the other day.
12:44:09  <Arafangion> When I did it, the other devs had to ask me how the heck I even *found* it.
12:44:25  <Arafangion> They were trying to find the bug by guessing where it was. :(
12:44:43  <Arafangion> (I used bisection, combined with deleting half the unit tests until it was identified)
12:45:16  <Rhamphoryncus> .. it was triggered by unit tests?
12:45:33  <Arafangion> Rhamphoryncus: Just looked at CESU-8, what's wrong with it? It looks reasonable for python to use it? (As an *implementation* detail)
12:46:07  <Arafangion> Rhamphoryncus: Yeah, we found it coming up in unit tests, but only in very specific situations on specific computers.
12:46:29  <Rhamphoryncus> Oh, but I can assure you python didn't hide CESU-8 as an internal property.  You could have it claim it's outputting utf-8 and magically end up with cesu-8
12:46:43  <Arafangion> Rhamphoryncus: I traced it down to, it uses ctypes to load the wrong library, resulting in the C runtime being used incorrectly. :(
12:46:53  <Arafangion> Rhamphoryncus: Bah, that sucks!
12:46:55  <Rhamphoryncus> Still, if it's reproducible it can be found
12:47:10  <Arafangion> Rhamphoryncus: Indeed.  I shudder to think of how my team would handle a hard-to-reproduce bug. :(
12:47:27  <Arafangion> I'm trying to push logging as a diagnostic approach.
12:47:48  <Rhamphoryncus> CESU-8 isn't inherently a bad idea, but it only exists as a result of NOT handling surrogates.  Your code is doing UCS-2, not UTF-16
12:48:10  <Rhamphoryncus> As long as you schooled them properly on that one :D
12:48:11  <Arafangion> Rhamphoryncus: That's essentially half the problem with the narrow build of python on windows.
12:48:39  <Arafangion> Rhamphoryncus: My team come from a software house... I have an engineering background - we have a few differences!
12:48:48  <Arafangion> (My specialisation was software, though)
12:49:30  <Rhamphoryncus> That sounds entirely unsurprising
12:49:44  <Arafangion> They worry far too damn much about efficiency. :(
12:49:53  <Rhamphoryncus> And conforms to my opinion of software "engineering"
12:49:57  <Arafangion> "Shit, the logs take 8 MB!!!"
12:50:11  <Arafangion> My response: "Oh? Is that all? Fantastic"
12:50:16  <Rhamphoryncus> "The logs take 8 MB!"  "*thwack*"
12:50:17  <Arafangion> Doesn't exactly result in agreements.
12:50:48  <Rhamphoryncus> Just imagine me mentally giving you a cookie the next time that comes up :)
12:50:53  <Arafangion> Yeah, and I'm like, whenever there's a problem and someone asks me what went wrong...
12:51:04  <Arafangion> My standard response is: "Well, what do the logs say??"
12:51:18  <Arafangion> Usually if there's no logs, I say: "Oh, that's too bad!". :(
12:51:39  <Arafangion> Rhamphoryncus: Will do. :)
12:52:38  *** snack2 [] has joined #openttd
12:53:32  *** |Jeroen| [] has quit [Remote host closed the connection]
12:53:48  *** frosch123 [] has quit [Remote host closed the connection]
12:55:18  <Rhamphoryncus> Arafangion: do they understand the concept of planning and researching before writing any code?
12:55:29  <Arafangion> Rhamphoryncus: They claim to.
12:55:32  <Rhamphoryncus> heh
12:55:40  * Rhamphoryncus enjoys lording over other programmers ;)
12:55:51  <Arafangion> Myself... I haven't had a chance, to be honest.
12:56:12  <Rhamphoryncus> Of course I started to type in a search for _date_fract just after I said that and started typing _code_fract instead
12:56:52  <Arafangion> Heh, don't you love it when you think one thing, but type another? ;)
12:56:55  <Arafangion> Happens to me all the time.
12:57:21  <Arafangion> Weirdly, I've sometimes said two different words simultaniously.
12:57:32  <Arafangion> (Which is possible since I'm bilingual in spoken english - and sign language)
12:57:33  <Alberth> andythenorth: nah, people would worry about backwards compability :)
12:57:51  <Arafangion> Alberth: You'd be surprised.
12:58:45  <Rhamphoryncus> Alberth: there's a place for that.  For instance, I intend remain backwards compatible when loading old save files.  The behaviour after loading, on the other hand, belongs in the bin beside me *g*
12:58:53  <Alberth> you don't think people would argue against /me removing all RV physics ?  ;)
13:00:10  <Rhamphoryncus> Alberth: loading old newgrfs is another matter :(
13:00:35  <Alberth> Rhamphoryncus: right, you never load old games from a previous version of course, nor dig around in the openttdcoop archives or the saved-games forum, do you?
13:01:04  <Rhamphoryncus> Alberth: so what timetabling behaviour is important to you?
13:01:33  <Alberth> it has to work
13:01:48  <Rhamphoryncus> It will work.  Much, much better.
13:01:53  <Rhamphoryncus> Just not the same
13:01:58  <Alberth> in particular with breakdowns enabled
13:02:32  <Rhamphoryncus> Throw in manual depot orders and it will work, *period*.
13:02:42  <Arafangion> Bah, you guys are on topic!
13:03:11  <Rhamphoryncus> Arafangion: it had to happen.  You've distracted me so much that I had to stop watching the talk, so I went back to something else *g*
13:03:14  * Alberth likes servicing on date
13:03:45  <Arafangion> Rhamphoryncus: Heh. I should be asleep.
13:03:55  <Rhamphoryncus> maintain orders in the orders list did work before
13:05:03  <Rhamphoryncus> Alberth: What I specifically intend to do is evenly space vehicles in the schedule and let them swap if one breaks down and is overtaken
13:05:25  <Alberth> that's what I'd like to have yes.
13:05:40  <Rhamphoryncus> So your saves will work just fine with my changes :)
13:05:45  <Alberth> I failed to get that working in current versions, although I have no ttried it often
13:05:58  <Rhamphoryncus> I also intend to gut all the related UI
13:07:01  <Rhamphoryncus> Hmm, I should check if travel times are actually used for partial timetables
13:07:33  <Alberth> fine by me :p    I don't get the idea of the current UI, too complicated
13:07:50  <Rhamphoryncus> Since I plan to make them not used *g*
13:07:50  <Alberth> but others may disagree :p
13:08:48  * Rubidium wonders how people can agree to disagree
13:08:57  <Rhamphoryncus> Yeah.. that's why I'm taking a fork mentality.  Put my changes out there for those who want them, don't worry if the devs decide not to care
13:09:34  <Alberth> what worries me a bit is that others seem to like, use it, and/or understand it. So either I am overlooking something, or I am expecting something else than others
13:10:07  <Rhamphoryncus> Alberth: partial orders *can* be helpful.  Make a vehicle wait 20 days loading, then leave
13:10:24  <Rhamphoryncus> err, partial timetables
13:11:11  <Rhamphoryncus> for complete timetables you have to pause the game, break out the calculator and calendar, manually set every vehicle to their own start date, then unpause it
13:11:29  <Alberth> Rhamphoryncus: I am sure it is, although I don't see why you don't want to load full
13:11:42  <andythenorth> Alberth: I was thinking about consists + order groups again
13:11:50  <Alberth> andythenorth: good :)
13:11:51  <Rhamphoryncus> And then repeat if you ever send one to the depot by hand, skip them to the next order, maybe use autoreplace to upgrade them (not sure), or watch for any other desync of their schedules
13:11:56  <andythenorth> seems it's quite common behaviour to do this:
13:12:02  <andythenorth> - move a vehicle to group
13:12:06  <andythenorth> - add all shared vehicles
13:12:10  <andythenorth> - set auto-replace rule
13:12:12  <andythenorth> - replace all
13:12:15  <andythenorth> - remove from group
13:12:26  <Rhamphoryncus> andythenorth: I'm planning to gut that too :)
13:12:26  <Alberth> sounds plausible
13:12:28  <andythenorth> which seems like an affordance that could be provided differently
13:12:42  <Rhamphoryncus> But I put them in a group to begin with and leave them there
13:12:44  <andythenorth> for example, auto-replace on shared order group
13:13:20  <andythenorth> one of the 'problems' with trying to fix groups / consists / orders was: "all things to all men"
13:13:21  <Rhamphoryncus> Make a route-management window.  Create the list of shared orders, then create vehicles within it
13:13:27  <andythenorth> so they'll always fail :P
13:13:47  <andythenorth> exploding it into distributed bits of functionality _might_ work
13:13:53  <andythenorth> or it might be a cluster ****
13:14:11  <Rhamphoryncus> There's probably use-cases for groups of routes.. but I have no intention of including that at first
13:14:45  <Rhamphoryncus> And *everywhere* there's a vehicle name should be willing to display the route name
13:14:45  <Alberth> "all things to all men" indeed :p
13:15:09  <andythenorth> including "it must perform magic, or I will argue on irc for four hours, offensively"
13:15:37  <Rhamphoryncus> (damned engsup!)
13:15:38  <Rhamphoryncus> *g*
13:17:00  <Alberth> andythenorth: you need a handle to the shared order vehicles
13:17:22  <Alberth> groups are a somewhat dirty backdoor to do that currently
13:17:51  <andythenorth> Alberth: I didn't say it was easy :)
13:18:08  <Rhamphoryncus> hmm.  The command "src scribes/order_base.h" doesn't seem to work...
13:18:17  <andythenorth> the implementation might still demand a better group and/or consist framework
13:18:33  <Rhamphoryncus> Alberth: cheerlead for me and you will have it :P
13:19:42  <Alberth> Rhamphoryncus: unlikely, unless you take the entire vehicle management upside down from the ground
13:19:53  <Rhamphoryncus> .. I might
13:20:07  <Rhamphoryncus> I have the time, I have the skill, I have the itch
13:22:23  *** Elukka [] has joined #openttd
13:23:42  <Rhamphoryncus> What I haven't gotten is a lot of response from the devs, so my motivation has struggled
13:24:16  <Rhamphoryncus> (thus my fork mentality.)
13:26:13  <andythenorth> that's openttd :P
13:26:28  <andythenorth> "bring working code, possibly get applause" :D
13:26:43  <andythenorth> is python's int() broken
13:26:53  <andythenorth> int(76.5) returns 76
13:26:55  <andythenorth> instead of 77
13:26:56  <Yexo> Rhamphoryncus: I'm not sure what kind of response you expected
13:27:06  <andythenorth> or is andythenorth broken?
13:27:11  <Yexo> the latter :p
13:27:18  <Yexo> int() is not round() or similar
13:27:26  <andythenorth> maybe I call round() first then
13:27:38  <Rhamphoryncus> andythenorth: yeah, it's a problem with many opensource projects
13:28:10  <Yexo> Rhamphoryncus: if you want an answer to a question, ask a specific question
13:28:15  <Rhamphoryncus> Yexo: how about review and/or application of the patch I did submit?
13:28:34  <Yexo> I'm sorry, I haven't really followed the bug tracker last week
13:28:43  * andythenorth wonders how much rounding matters in this TE calc
13:28:46  <andythenorth> not a lot
13:28:54  <Yexo> Rhamphoryncus: can you give me a fs number?
13:28:54  <Rhamphoryncus> two weeks old now
13:29:00  <Rhamphoryncus>
13:29:04  <Yexo> s/last week/last few weeks/ :p
13:29:15  <Rhamphoryncus> alright, conceded *g*
13:30:25  <Rhamphoryncus> I also find it odd that I can ramble about something code related and get no commentary whatsoever.. but there are people here, they're talking, and sometimes talk to me
13:31:19  <Yexo> not everyone here is an openttd dev or even a programmer at all
13:31:28  * andythenorth is neither
13:31:29  <Yexo> in fact I'd guess the majority is not
13:31:40  <Rhamphoryncus> No, but some, and they've been talking when I've rambled
13:31:49  <Rhamphoryncus> If I had a very specific question I might get an answer
13:32:45  <andythenorth> @calc 0/0
13:32:45  <DorpsGek> andythenorth: Error: float division
13:32:49  <andythenorth> tada
13:32:54  <andythenorth> valid maths though :P
13:33:01  <Rhamphoryncus> heh
13:34:05  <Yexo> Rhamphoryncus: can't see any obvious mistakes, but I'd need to review it better to give you a proper response. Don't have the time for that now though
13:34:32  <Rhamphoryncus> Yexo: that's fine.  That's already an order of magnitude more response than I've gotten so far.
13:34:43  <Yexo> what I can say as possible reason for slow response: it's a codechange, while those are important in the long run, your patch doesn't offer any immediate benefit
13:34:54  <Yexo> a bug fix or new feature will get people more excited usually ;)
13:35:23  <Rhamphoryncus> heh.  Maybe they're so jaded that they don't believe my promises of fixing timetabling
13:35:53  <Yexo> if you plan on doing that, create a patch series and submit that in one go
13:36:11  <Yexo> than the end result is visible and it's clear where individual small patches like this lead to
13:37:09  <Yexo> if that's too much to do at once, create a document (could be one the wiki) on how you plan to change(/fix) timetabling, where it's obvious how this patch helps
13:37:21  <Yexo> in either case: it gives more purpose to it than it has now
13:37:24  <Rhamphoryncus> I can't fix it without altering the save format, and I want to do that anyway as part of a broader redesign, so I'm not going to do an intermediate patch of that form
13:37:38  <Rhamphoryncus> But a proof of concept version?  Yes
13:41:35  *** TWerkhoven [] has joined #openttd
13:46:11  <andythenorth> hrmm
13:46:16  <andythenorth> not working :|
13:49:55  <andythenorth> bah
13:50:24  <andythenorth> probably a small rounding error becoming larger because I have to multiply by 4
13:51:34  <Ammler> multiply first, then round
13:51:53  <andythenorth> Ammler: that would require a new function or more params on existing function
13:51:55  <andythenorth> which is saf
13:51:58  <andythenorth> saf?  sad
13:52:09  <andythenorth> hysterical raisins
13:52:19  <andythenorth> Terkhen: feel like that code review?  or deep in civ?
13:54:14  *** theholyduck [] has quit [Read error: Connection reset by peer]
13:54:29  *** theholyduck [] has joined #openttd
13:55:21  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
13:55:23  <andythenorth> the results vary by ~1KN now
13:55:30  <andythenorth> which is 'unacceptable'
13:55:31  <andythenorth> :)
13:55:40  *** hbccbh [~hbc@] has joined #openttd
13:57:46  <Ammler> andythenorth: why is it that complicated? just multiply the input with 4 instead the output?
13:57:59  <andythenorth> hmm
13:58:02  <planetmaker> andythenorth: btw, wrt what asked yesterday: if you don't generate the .lng files from then of course such rule is ... pointless at best
13:58:09  <andythenorth> I could write a wrapper function and call that
13:58:13  <andythenorth> planetmaker: +1
13:58:26  <andythenorth> what I should learn is what the rule should be ;)
13:59:35  <Ammler> eddi should comment his stuff
14:00:14  <andythenorth> he doesn't fully understand it either
14:00:19  <andythenorth> I asked him ;)
14:00:45  <Ammler> does planetmaker understand the cets
14:01:34  <Ammler> 2 targets running the same script?
14:03:33  <Alberth> for software, it is quite common to use the same compiler for each source file :p
14:06:53  <andythenorth> hmm
14:07:02  <andythenorth> apparently maths is not maths in my python script
14:07:14  <andythenorth> @calc (76*38.25) / 115
14:07:14  <DorpsGek> andythenorth: 25.2782608696
14:07:28  <andythenorth> my script thinks the answer is 25.5
14:07:33  *** Progman [] has quit [Remote host closed the connection]
14:08:39  <andythenorth> @calc (0.3*255) / (38/115)
14:08:39  <DorpsGek> andythenorth: 231.513157895
14:09:02  <andythenorth> @calc (0.3*255) / (115/38)
14:09:02  <DorpsGek> andythenorth: 25.2782608696
14:09:19  <andythenorth> @calc (0.3*255) / (76/38)
14:09:19  <DorpsGek> andythenorth: 38.25
14:09:31  <andythenorth> my python is retarded
14:09:44  <andythenorth> or I need to learn how it is expanding ints when multiplied by floats
14:10:32  <andythenorth> meh
14:10:44  <andythenorth> putting a lot of float() around the place fixes it
14:11:10  <Alberth> int/int is truncating divide in python 2
14:11:32  <Alberth> (or actually, rounding towards 0)
14:11:57  <Alberth> floats stay floats
14:12:10  <andythenorth> and float * int is expanded to width of float?
14:12:20  <andythenorth> but not expanded arbitrarily to (some precision)
14:12:39  <Alberth> actually, float has the limited precision :p
14:12:39  <andythenorth> so if float is 1.5....result will have one decimal place?
14:12:48  <Alberth> but it does float * float(int)
14:12:55  <andythenorth> apparently it doesn't
14:12:57  *** cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
14:13:11  <planetmaker> Alberth: Eddi modified the Makefile recently. And I haven't found time to look at it since
14:13:12  <andythenorth> I thought it did, from reading docs, but maths suggests otherwise
14:13:15  <Alberth> andythenorth: decimal place are not relevant with floats
14:13:26  <andythenorth> hmm
14:13:33  * andythenorth thought he had an answer :(
14:13:45  <Alberth> you always get the best possible approximation with float
14:13:50  <andythenorth> my code works, but if I don't know why....bad
14:14:26  <Alberth> if you want control over decimal places and such, use Decimal, or use int and divide at the end
14:14:51  <andythenorth> I don't need that :)
14:14:55  <andythenorth> I just want maths to be maths
14:14:57  <andythenorth> not wrong ;)
14:14:59  <andythenorth> "Python fully supports mixed arithmetic: when a binary arithmetic operator has operands of different numeric types, the operand with the ``narrower'' type is widened to that of the other, where plain integer is narrower than long integer is narrower than floating point is narrower than complex"
14:15:02  <andythenorth> is what I thought
14:15:12  <andythenorth> as it's what docs say...
14:15:15  <Alberth> the trouble is that what we think as nice numbers (such as 0.1) are not nice in the binary system
14:15:56  <andythenorth> oh...does it expand everything in the expression to same width?  Or does it work within parentheses?
14:16:05  <andythenorth> e.g. I have x / (y / z)
14:16:10  <andythenorth> where y and z are both ints
14:16:19  <andythenorth> which would explain the rounding error I see
14:16:26  <andythenorth> x is a float
14:16:37  <Alberth> per operation would be my thought
14:16:41  <andythenorth> hmm
14:17:37  <Alberth> y / z does rounding down in python 2  (ie it does  y // z )
14:17:47  <andythenorth> for input values I can provide, this:
14:17:48  <andythenorth>         adjusted_te_coefficient = default_te_coefficient / (total_weight / truck_weight)
14:17:51  <andythenorth> produces 25.5
14:17:55  <andythenorth> whereas this:
14:18:00  <andythenorth>         adjusted_te_coefficient = float(default_te_coefficient) / (float(total_weight) / float(truck_weight))
14:18:12  <andythenorth> produces 25.2782608696
14:18:18  <andythenorth> the second value is correct
14:18:28  <andythenorth> the first is 'wrong' for some values of 'wrong' :)
14:18:55  <Alberth> integer arithmetic works differently from 'normal' maths
14:19:21  <Rhamphoryncus> Yes, it is per-operation
14:19:33  <Alberth> adjusted_te_coefficient = default_te_coefficient * truck_weight / total_weight    would be better in integer arithmetic
14:19:40  <Rhamphoryncus> x / (y / z) will produce an int, and only later a float
14:20:27  <Alberth> x / (y / z) == x / trunk(y / z)
14:20:32  <andythenorth> if I hadn't run a print of the output on this, I would never have caught it
14:20:33  <Alberth> *trunc
14:20:40  <andythenorth> it only applies in a few places
14:20:46  <andythenorth> edge case :P
14:22:03  *** frosch123 [] has joined #openttd
14:23:07  *** tokai|noir [] has joined #openttd
14:23:10  *** mode/#openttd [+v tokai|noir] by ChanServ
14:25:10  <andythenorth> hmm
14:25:27  <andythenorth> if it's a fifth-wheel truck, I should put some fraction of the 1st trailer's weight on the truck too
14:25:44  <andythenorth> anyone want to tell me that's too complicated?
14:25:49  <andythenorth> then I can ignore it :P
14:26:23  <Alberth> you're bike shedding :)
14:27:51  <andythenorth> "I may have no graphics, but LOOK AT THE ACCURATE PHYSICS"
14:28:52  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
14:29:13  * Alberth misses some people sprites too, but you can build a path for them.  Does that count too ?
14:29:28  <andythenorth> definitely
14:33:57  <andythenorth> let's call that 'done'
14:34:04  * andythenorth would appreciate any code review
14:35:29  <Alberth> that line at the left looks ok to me.
14:35:32  *** Eddi|zuHause [] has joined #openttd
14:35:46  <Eddi|zuHause>  14:00:45 < Ammler> does planetmaker understand the cets
14:35:48  <Eddi|zuHause>  14:01:34 < Ammler> 2 targets running the same script?
14:35:53  <Eddi|zuHause> that part is from planetmaker himself
14:36:10  <Eddi|zuHause> i tried to refactor it so it's only called once, but that didn't work...
14:36:19  <Alberth> Eddi|zuHause: now you have to leave again according to the protocol :)
14:36:27  *** Eddi|zuHause [] has left #openttd []
14:36:31  * andythenorth briefly, insanely considered a python build script instead of make file
14:36:40  <andythenorth> then andythenorth stopped smoking crack
14:37:26  <Alberth> a wise decision, in the long term, at least :)
14:37:42  <andythenorth> the former, the latter, or both?
14:38:06  <Alberth> the latter, no idea about the former
14:38:20  <Alberth> if all is python, then a python build script is quite trivial
14:38:39  <andythenorth> true, but planetmaker has ~3 years worth of code in the makefile
14:38:44  <andythenorth> and it works
14:38:48  *** Aitor [] has joined #openttd
14:38:56  *** Aitor [] has quit []
14:40:11  <Alberth> yeah, it's one less thing to worry about
14:40:26  *** FLHerne [] has joined #openttd
14:48:27  <Ammler> lol eddi
14:48:43  <Ammler> Alberth: what protocol?
14:49:20  <Ammler> is he on strike?
15:00:06  *** TWerkhoven [] has quit [Ping timeout: 480 seconds]
15:12:09  *** theholyduck [] has quit [Ping timeout: 480 seconds]
15:15:20  *** lollercaust [] has joined #openttd
15:18:01  <Terkhen> andythenorth: I was making lunch and then eating it :)
15:18:11  <Terkhen> I have some friends here today so no reviews until the evening
15:24:56  <andythenorth> np
15:25:30  *** hbccbh [~hbc@] has quit [Remote host closed the connection]
15:29:26  *** hbccbh [~hbc@] has joined #openttd
15:35:40  * andythenorth is confused by
15:36:04  <andythenorth> I'm handling callbacks with a chain of switch blocks.  Docs imply that's old style method.
15:36:11  <andythenorth> what's the new / correct method?
15:40:24  *** |Jeroen| [] has joined #openttd
15:45:08  *** snack2 [] has quit []
15:46:54  *** TWerkhoven [] has joined #openttd
15:47:05  *** Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
15:49:03  *** Zuu [] has joined #openttd
15:49:27  *** lmergen [] has quit [Ping timeout: 480 seconds]
15:50:34  <andythenorth> how should I fail a graphics chain in NML?  Or I shouldn't?
15:57:33  *** theholyduck [] has joined #openttd
15:58:23  <andythenorth> Yexo: l4 here is the wrong approach in a graphics chain?
15:58:32  <andythenorth> I should always provide graphics?
16:13:26  <Alberth> Ammler: the 'enter', 'say some stuff', 'leave before others can react' protocol
16:14:04  <andythenorth> Alberth: you should now leave
16:14:08  <andythenorth> or you breach protocol :)
16:16:00  <Alberth> but I am around too long already :)
16:16:43  <andythenorth> is eddi having some kind of holiday?
16:16:48  <Terkhen> maybe
16:17:06  <andythenorth> how odd
16:17:07  <Alberth> no idea, it suprised me too that he did not return shortly afterwards :)
16:18:22  <andythenorth> anybody know the answer to my NML question above?
16:18:32  * andythenorth suspects the answer is 'always return a graphics block'
16:18:43  <andythenorth> [spritegroup]
16:19:08  *** Keyboard_Warrior [] has joined #openttd
16:26:03  <planetmaker> a graphics chain sthould not fail
16:26:09  *** theholyduck [] has quit [Ping timeout: 480 seconds]
16:26:13  <planetmaker> it's not a callback chain after all
16:27:00  *** FLHerne [] has left #openttd []
16:31:07  <andythenorth> I've made an 'error' graphic for default results that can only be reached if I screwed up :)
16:32:44  *** theholyduck [] has joined #openttd
16:37:31  *** holyduck [] has joined #openttd
16:38:31  *** supermop [] has joined #openttd
16:38:47  *** Keyboard_Warrior [] has quit [Read error: Connection reset by peer]
16:44:19  *** theholyduck [] has quit [Ping timeout: 480 seconds]
16:47:32  *** Keyboard_Warrior [] has joined #openttd
16:54:27  <michi_cc> andythenorth: I don't really now about eddi, but I'd guess it is the I-have-to-pass-some-exams-and-not-do-other-stuff mode :)
16:54:42  <andythenorth> wtf? :)
16:55:03  <andythenorth> long time since andythenorth did exams
16:55:13  *** holyduck [] has quit [Ping timeout: 480 seconds]
16:55:22  <andythenorth> soon they'll be >50% distant from present
16:56:35  <supermop> eddi is in school?
16:56:42  <andythenorth> hmm
16:56:47  * andythenorth needs to rethink strings :|
16:56:56  <supermop> I always thought he was like my dad's age
16:57:00  <andythenorth> need to tell player about articulated trucks with 1 trailer
16:57:10  <andythenorth> as they can't be routed to drive-in stops
16:58:19  <michi_cc> University (some Americans might call it school though)
16:59:07  * andythenorth also assumes eddi is older
16:59:15  <andythenorth> incorrectly it seems :)
17:02:44  <michi_cc> Whatever you imagined him looking, you probably imagined wrong :)
17:03:45  * andythenorth tries to avoid imagining what ottd people look like :)
17:04:09  <andythenorth> ho
17:04:19  <andythenorth> time to setup a milestone for BANDIT
17:05:20  <frosch123> it's simple, eddi is the guy with the beard
17:05:31  <frosch123> and the tuba
17:11:05  *** Markavian` [] has joined #openttd
17:14:27  * andythenorth bends brain to code
17:15:53  <andythenorth> hmm
17:17:29  *** Markavian [] has quit [Ping timeout: 480 seconds]
17:18:36  *** theholyduck [] has joined #openttd
17:24:52  <andythenorth> bah
17:25:03  *** Keyboard_Warrior [] has quit [Ping timeout: 480 seconds]
17:25:04  <andythenorth> conditional templating versus simple templating :|
17:25:17  * andythenorth avoids conditional crap like plague
17:25:19  <andythenorth> if possible
17:27:20  <andythenorth> might have no choice though :(
17:30:30  *** KritiK [] has joined #openttd
17:42:42  *** mkv` [] has joined #openttd
17:49:59  *** Markavian` [] has quit [Ping timeout: 480 seconds]
17:50:08  *** theholyduck [] has quit [Ping timeout: 480 seconds]
17:55:47  *** |Jeroen| [] has quit [Remote host closed the connection]
18:00:43  *** Devroush [] has joined #openttd
18:08:00  *** Firartix [] has joined #openttd
18:11:32  *** valhallasw [~valhallas@] has joined #openttd
18:24:45  *** Neon [] has left #openttd [I only left the channel so... I'm still on the network. It's probably your fault that I'm gone.]
18:32:10  *** andythenorth is now known as Guest2264
18:32:10  *** Guest2264 [] has quit [Read error: Connection reset by peer]
18:32:10  *** andythenorth [] has joined #openttd
18:33:20  *** kkb110_ [] has joined #openttd
18:33:20  *** kkb110 [] has quit [Read error: Connection reset by peer]
18:36:48  *** Nat_as [] has joined #openttd
18:37:11  <Nat_as> can anybody help me with my network>
18:37:45  <Nat_as> I'm getting implicit orders that take my trains in the totaly wrong direction.
18:37:53  <Nat_as> and they are losing money with all this wasted moving
18:39:18  *** HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
18:40:34  *** HerzogDeXtEr [] has joined #openttd
18:45:18  <Alberth> implicit orders don't steer trains
18:45:51  <Alberth> they are just records of the train visiting different stations than you ordered
18:46:07  <Nat_as> well for some reason my trains are being steered in the opisate direction, and ending up going the whole length of the map
18:46:33  <Nat_as> and I took out a ton of loans to build this raill, so I will probably go bankrupt if they can't earn money
18:46:56  <Alberth> do you have depot orders?
18:47:07  *** sla_ro|master [slaco@] has quit [Quit: i like RAGE (fps game) - :P]
18:47:17  <Alberth> and do the trains need servicing?
18:47:42  <Nat_as> yes
18:47:50  <Alberth> then they probably saw a depot for servicing at some junction, and are now trying to find their way back
18:48:08  <Nat_as> maintain if nessary, and it should not be a problem the way it's set up
18:49:18  <Alberth> when trains move in weird directions, it's normally because they cannot find a simple way back
18:50:11  <Alberth> nice, the street lights don't work, so it's really dark outside :)
18:51:44  *** sla_ro|master [slaco@] has joined #openttd
18:52:21  <Nat_as> but there IS a way back
18:52:24  <Nat_as> I checked a million times
18:52:29  <Nat_as> they avoid it
18:52:33  <Nat_as> and go the other direction
18:52:37  <Nat_as> I even set up waypoints
18:52:41  <Nat_as> Fffffffffffssssssssssssssss
18:52:50  <Alberth> then it just looks like a way back, but it isn't
18:53:05  <Alberth> signal the other way around, not electrified piece
18:53:46  <Alberth> a trick I sometimes use is to force a train in the direction by cutting off all other options.
18:54:02  <Nat_as> I have double checked all signals, non electric track
18:54:17  <Alberth> obviously it will get stuck, but the position should give some more information
18:54:23  <Nat_as> the thing is, on the way up, they go over the track they are suposed to
18:54:29  <Nat_as> but on the way back they make a detour.
18:54:44  <Nat_as> it can't possibly be a route issue, it's a pathfinding issue.
18:55:11  <Nat_as> my station is confusing them somebow
18:56:03  <Alberth> can you post a savegame or so?
18:56:20  <Alberth> (assuming you play plain openttd)
18:56:24  <Nat_as> sure, it needs cargodist and a few newgrifs
18:56:38  <Alberth> that's not a plain openttd
18:57:10  <Alberth> I don't have those patched versions
18:57:17  <Nat_as> I don't think that should be what's causing the problem, but if you don't have it you wont be able to help me sadly
18:58:08  <Alberth> you can post a game in the cargodist thread perhaps
18:58:35  <Nat_as> I think my new station design just gives them too many options
18:58:49  <Nat_as> I wanted to build a station that can be traveled through without stopping, or stoped at.
18:59:02  <Nat_as> and they seem to use this to turn around when entering and exiting
18:59:09  <Nat_as> making a full 180
18:59:31  <Nat_as> Not sure WHY they chose to do this.
18:59:34  <Alberth> so what happens if you force them through it?
19:00:27  <Alberth> ie take out the track after them
19:01:10  <Alberth> and you can have a station like that, just use a non-stop order
19:01:10  <Nat_as> honestly I don't think I can salvage that game
19:01:16  <Nat_as> I am too much in debit
19:01:21  <Nat_as> I love jungle maps so much
19:01:24  <Nat_as> but it's so hard
19:01:30  <Alberth> load an old version once you found the reason
19:01:50  <Nat_as> Towns hate you forver and building is expensive.
19:02:34  <Alberth> I tend to want to build a network, nothing more :)
19:02:46  * andythenorth tries to think of a way to avoid setting truck properties manually :P
19:02:49  * andythenorth is lazy
19:03:07  <andythenorth> I need "vehicle.power = do_magic()"
19:03:18  <Nat_as> i want to build a network, but I want it to be in a tropical banana republic.
19:03:19  <andythenorth> or I need an offsider / apprentice / gimp / collaborator
19:03:33  <Alberth> andythenorth: use "17" as magic number of the power
19:03:44  <Nat_as> I can kind of do pixel art.
19:03:54  <andythenorth> or use the 'import future' module in python
19:03:57  <Nat_as> if anybody needs sprites.
19:03:59  <andythenorth> and import what the values will be
19:04:08  <Nat_as> is there a alignment template anywhere for train cars?
19:04:25  <andythenorth> Nat_as: there is a (little used - it just started) channel for art
19:04:30  <andythenorth> #openttdcoop.pixel
19:04:33  <Nat_as> like black lines that tell you where they are centered and where the boundaries are?
19:05:10  <Alberth> andythenorth:  nice :)
19:05:47  <andythenorth> Alberth: somewhat circular that idea :P
19:07:04  <Alberth> yeah, not good for getting values now :)
19:07:59  <andythenorth> it's a bit like the magic button I want for excel: 'make my spreadsheet for me' :(
19:08:31  <andythenorth> how hard can it be to decide some HP values anyway :P
19:08:48  <andythenorth> ho, maybe I just set start and end values, and have python fill in the rest with an iterator
19:08:57  <andythenorth> 'carefully designed for gameplay' :P
19:09:18  <Alberth> import random
19:09:57  * andythenorth will just get on with doing it manually
19:10:05  *** glx [glx@2a01:e35:2f59:c7c0:7457:4189:a2e8:d373] has joined #openttd
19:10:08  *** mode/#openttd [+v glx] by ChanServ
19:22:35  *** Chris_Booth [] has quit [Remote host closed the connection]
19:24:55  *** Chris_Booth [] has joined #openttd
19:33:36  <CIA-1> OpenTTD: translators * r23922 /trunk/src/lang/ (dutch.txt luxembourgish.txt norwegian_nynorsk.txt):
19:33:36  <CIA-1> OpenTTD: -Update from WebTranslator v3.0:
19:33:36  <CIA-1> OpenTTD: dutch - 3 changes by Bennievv
19:33:36  <CIA-1> OpenTTD: luxembourgish - 49 changes by Phreeze
19:33:36  <CIA-1> OpenTTD: norwegian_nynorsk - 1 changes by mantaray
19:40:16  <michi_cc> Nat_as: There are some simple things to check for if trains won't go where you think they should: a) missing track piece (maglev makes seeing that hard), b) wrong track type/no electrification, c) 90 degree curves disallowed but the only way contains them, d) difficulty options forbid reversing at stations, e) there really is not way (check for detours due to servicing).
19:40:50  *** LordAro [] has joined #openttd
19:41:04  <LordAro> evenings...
19:41:09  <LordAro> brrr...
19:43:24  <LordAro> -4 degrees outside here :L
19:43:42  <Alberth> evenink
19:45:21  <Alberth> how is your patch queue going?
19:47:11  <LordAro> finished, methinks :)
19:47:19  <LordAro> thanks for reminding me to upload it :)
19:48:44  *** pugi [] has joined #openttd
19:50:13  <LordAro> @fs 5047
19:50:13  <DorpsGek> LordAro:
19:50:17  <LordAro> ^ there you go
19:50:39  <Alberth> michi_cc: nice summary, thanks. I made it a FAQ:
19:52:20  * Alberth still wants to fix the first 2 or 3 questions at that page, but fails to find a nice layout
19:57:12  *** HerzogDeXtEr1 [] has joined #openttd
20:04:23  *** HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
20:07:49  *** Firartix [] has quit [Ping timeout: 480 seconds]
20:11:36  <Zuu> LordAro: -4 doesn't sound that bad.
20:11:52  <LordAro> -5 now :)
20:12:10  <LordAro> was -12 early this morning
20:13:51  *** cypher [] has joined #openttd
20:14:07  <Zuu> Okay. Here it is -4 at the moment.
20:14:13  <CIA-1> OpenTTD: rubidium * r23923 /trunk/os/rpm/openttd.spec: -Update [FS#5044]: rpm specs (Ammler)
20:14:42  <Rubidium> -4 K is pretty bad, though interesting ;)
20:15:07  <Zuu> hehe
20:15:12  *** cypher [] has quit [Read error: Connection reset by peer]
20:15:34  <Alberth> I doubt you can reach that temperature :)
20:15:34  <Zuu> pick the temperature scale of your choise :-)
20:20:51  <Rubidium> -4 °D isn't that cold ;)
20:23:17  *** Markavian [] has joined #openttd
20:23:23  *** cypher [] has joined #openttd
20:29:35  *** mkv` [] has quit [Ping timeout: 480 seconds]
20:30:43  <CIA-1> OpenTTD: rubidium * r23924 /trunk/src/ (news_gui.cpp script/api/script_news.hpp):
20:30:43  <CIA-1> OpenTTD: -Fix [FS#5054]: [NoGo] "Some" news messages would cause an assertion to be
20:30:43  <CIA-1> OpenTTD: triggered due to a missing proper location for the viewport of the news message,
20:30:43  <CIA-1> OpenTTD: so only allow building when valid data for the viewport is provided or no
20:30:43  <CIA-1> OpenTTD: viewport is used
20:31:11  *** Firartix [] has joined #openttd
20:32:12  <CIA-1> OpenTTD: rubidium * r23925 /trunk/src/script/api/game/game_news.hpp.sq: -Fix (r23924): remove some remnants from generated files as well
20:34:42  *** Xrufuian [] has joined #openttd
20:34:58  <CIA-1> OpenTTD: rubidium * r23926 /trunk/ (7 files in 2 dirs): -Update [FS#5055]: some missing Latin-ish characters as some translations started using them (PaulC)
20:36:42  <andythenorth> ~2 hrs to add tablesort js to my site :o
20:36:44  <andythenorth> how silly
20:37:47  <Rubidium> java just gives you that out-of-the-box
20:39:28  *** tensai_cirno [~cirno@] has joined #openttd
20:55:47  <andythenorth> how handy
20:56:02  <andythenorth> does it also bath the baby during that period?
20:56:13  <andythenorth> all my coding is slower due to....offspring
20:56:40  <CIA-1> OpenTTD: rubidium * r23927 /trunk/src/ (blitter/32bpp_anim.cpp script/api/script_news.cpp): -Fix [FS#5056]: 32bpp animated blitter was optimised a bit too far regarding not needing to update the colour mapping when (re)initialising the palette
21:04:31  *** lollercaust [] has quit [Quit: Leaving]
21:07:34  *** Zjan [] has joined #openttd
21:08:03  <Zjan> hello there
21:08:49  <Rubidium> hi
21:09:51  <Zjan> hey
21:10:00  <Zjan> hello=
21:11:16  *** Elu [] has joined #openttd
21:13:30  <CIA-1> OpenTTD: rubidium * r23928 /trunk/src/vehicle.cpp: -Fix [FS#5053]: don't accelerate, for smoke purposes, when you reached the track's maximum speed
21:13:32  <Zjan> hey i got a question
21:14:07  <Zjan> When i start a server, it doesnt show all the time. And when my friend tries to join it sais no response
21:14:35  *** Elukka [] has quit [Ping timeout: 480 seconds]
21:14:44  <Rubidium> Zjan: ever heard of the concept of "port forwarding"?
21:19:37  *** Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
21:20:39  *** Zjan [] has joined #openttd
21:21:03  <Zjan> yeah i portforwarded 3979 and 3978
21:22:36  <Alberth> also across your Internet router/modem?
21:22:53  *** Elu is now known as Elukka
21:23:05  <Elukka> sounds odd if it shows up some of the time but not all the time
21:23:31  <Alberth> (assuming you are not playing at the LAN)
21:23:52  <Alberth> Elukka: you can also interpret the message as "never"
21:24:19  <Zjan> not that i know of, so probably not
21:24:34  <Zjan> i entered my ip in the adress bar
21:24:51  <Rubidium> Zjan: did you forward TCP or UDP?
21:24:53  *** Elukka [] has left #openttd []
21:24:59  *** Elukka [] has joined #openttd
21:25:03  <Zjan> we can lan
21:25:07  <Zjan> both
21:25:20  <Zjan> we can play lan but i got the same problem there
21:27:25  <Zjan> my connection with this chat is really slow at the moment
21:29:22  *** Devroush [] has quit []
21:30:27  <planetmaker> Zjan: if you _can_ play in the lan but not have your server advertise over the internet, the forwarding is not properly set in your router
21:32:42  *** Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
21:33:21  <Rubidium> I guess the problem is his connection
21:33:36  *** lollercaust [] has joined #openttd
21:33:48  *** Zjan [] has joined #openttd
21:34:06  <Zjan> then i dont know how to do it properly
21:36:07  <Zjan> then i didnt forwarded it properly
21:36:19  <Zjan> and i dont know how
21:37:00  <Alberth> depends on what router you use, you should read its manual
21:38:17  *** Progman [] has joined #openttd
21:40:38  <Elukka> there should be an option as to whether the ports you forward are UDP or TCP
21:40:56  <Elukka> i don't remember offhand which the openttd ports are, you could forward both
21:41:22  *** Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
21:43:21  *** Zjan [] has joined #openttd
21:43:44  <Zjan> i forwared both 3979 and 3978, both utp and tcp
21:45:07  <Terkhen> that should work, as long as you are forwarding them correctly
21:45:11  <Rubidium> Zjan: it might very well be that the connection issues are due to the unstable connection you got
21:45:21  <Terkhen> that too
21:45:23  <Terkhen> :P
21:46:03  *** lofejndif [] has joined #openttd
21:46:22  <Zjan> but i can join others
21:46:45  <Zjan> but i use wireless yes, but i havent had a single problem with it, just this chat actually
21:47:04  *** lollercaust [] has quit [Quit: Leaving]
21:47:10  *** lofejndif [] has quit [Read error: Connection reset by peer]
21:47:38  *** lofejndif [] has joined #openttd
21:47:41  <Alberth> joining others is a connection in the other direction
21:48:13  <Alberth> often the routers only block incoming connections, not the outgoing connections
21:51:56  *** Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
21:53:33  *** Zjan [] has joined #openttd
21:54:18  <Zjan> so i forwarded both ports, and we played once together for about a minute
21:57:26  <Terkhen> Zjan: if you managed to play at least once then the ports are forwarded correctly
21:59:20  *** pugi [] has quit [Ping timeout: 480 seconds]
21:59:37  *** Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
22:01:52  *** Zjan [] has joined #openttd
22:02:21  <Zjan> so it's the wireless connection then? weird cuz i didnt had any problems with that at all so far
22:03:43  *** lmergen [] has joined #openttd
22:07:25  *** Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
22:07:28  *** pugi [] has joined #openttd
22:09:49  *** Zjan [] has joined #openttd
22:14:51  *** Zjan [] has quit [Quit: CGI:IRC (Ping timeout)]
22:17:10  *** DDR [] has joined #openttd
22:25:44  <andythenorth> hmm
22:25:56  <andythenorth> way too many trucks in BANDIT
22:27:40  <SpComb> write a truck-reduction function
22:28:07  <Terkhen> split it into smaller sets
22:29:15  <andythenorth> Terkhen: this is *just* the north american part of the set :o
22:29:29  <Terkhen> north america is big
22:29:51  <andythenorth> 45 trucks between 1905 and 1968
22:30:04  <andythenorth> @calc 63/45
22:30:04  <DorpsGek> andythenorth: 1.4
22:30:16  <andythenorth> 1 every 1.4 years :o
22:31:12  <Rubidium> sounds low ;)
22:31:32  *** kkb110_ [] has quit [Read error: Connection reset by peer]
22:31:47  <andythenorth> Rubidium: you're doing sarcasm?
22:31:51  *** kkb110 [] has joined #openttd
22:31:55  <SpComb> @calc 45 / (1968 - 1905)
22:31:55  <DorpsGek> SpComb: 0.714285714286
22:31:57  <Rubidium> last 15 years there were 5 new emission standards, so say 5 different generations. How many manufacturers are there?
22:32:20  <andythenorth> 8 manufacturers
22:32:34  <andythenorth> truck types: express, general purpose, heavy duty
22:32:42  <andythenorth> capacities 4t-50t
22:33:18  <Alberth> andythenorth: trying to simulate RL causes chaos
22:33:33  <andythenorth> hence 'too many'
22:33:34  <andythenorth> :)
22:33:37  <Rubidium> Volvo, Scania, Mercedes, Iveco, MAN which would lead to one every 0.6 years in the last 15 years
22:33:48  <andythenorth> game needs fewer trucks ;)
22:33:58  <michi_cc> andythenorth: Don't look at the 'extended set' of CETS ;)
22:34:05  <andythenorth> I won't :)
22:35:03  <michi_cc> Not that I'd think the result of that would be in any way playable at all. The only use is as a model railroad simulator.
22:35:17  <andythenorth> hmm, with 'engines expire' = true, it's better
22:35:43  <CIA-1> OpenTTD: rubidium * r23929 /trunk/src/lang/english.txt: -Doc [FS#4966]: document, in a tooltip, that depot orders disable automatic servicing
22:36:32  <michi_cc> While a lot of people play without engine expiration, a set should IMHO always be designed for expiration enabled.
22:36:49  *** perk11 [~perk11@] has joined #openttd
22:40:33  <andythenorth>
22:40:39  <andythenorth> (can sort on intro date column)
22:45:00  <andythenorth> too many trucks in 1940s
22:46:17  <Terkhen> choose only a few
22:46:24  <Nat_as> talking about sorting car lists?
22:46:32  <Nat_as> that's a problem with the UI
22:46:39  <Nat_as> it wasn't designed for this man
22:46:41  <Nat_as> many
22:47:40  <Terkhen> nope, about andy's problem with BANDIT
22:48:12  <andythenorth> I have to ensure some high capacity trucks without trailers are available, for us in drive-in road stops
22:48:28  <andythenorth> designing truck sets is basically about 4x more complex than a train set
22:48:31  <andythenorth> :)
22:48:41  <andythenorth> which is why there has only been one I guess
22:48:57  <andythenorth> no surprise in a train game
22:49:02  <andythenorth> :P
22:49:48  <Nat_as> because long trucks might be longer than one square?
22:49:57  <Nat_as> Truck+more than one trailer?
22:50:48  <andythenorth> because articulated trucks can't use drive-in roadstops
22:50:54  <andythenorth> it's just a code limitation
22:51:15  * andythenorth waves bye to Reifsnider 260
22:51:30  <Terkhen> IMO it is a space limitation as well
22:51:43  <Terkhen> many articulated trucks would not fit into a drive-in roadstop
22:53:04  <andythenorth> also true
22:54:45  *** lmergen [] has quit [Ping timeout: 480 seconds]
22:55:02  <Nat_as> how is that a problem if they are only one square long?
22:55:25  <Nat_as> Or are you talking about the end of line road stops?
22:55:35  <Nat_as> instead of the on line road stops
23:01:28  * andythenorth will now lose wifi :|
23:02:31  * andythenorth wonders why BROS doesn't use a code generator or templating
23:03:13  <Alberth> for same reason it took you so long to discover them, would be my guess
23:05:31  <andythenorth> weeeell....HEQS and FISH have a lot of CPP templating ;)
23:05:39  <andythenorth> but templating nml is so trivial :)
23:06:21  * andythenorth removes three trucks from BANDIT
23:06:29  *** Alberth [] has left #openttd []
23:07:27  *** perk11 [~perk11@] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
23:08:38  <andythenorth> and another
23:10:07  <Terkhen> nml templates are trivial now? what changed? :P
23:10:24  *** hbccbh [~hbc@] has quit [Quit: Leaving.]
23:11:03  <andythenorth> practice
23:11:05  <andythenorth> python
23:11:11  <andythenorth> and I'm cheating
23:11:38  <andythenorth> I'm writing templates using methods + language I use nearly every week for 7 years
23:12:40  <Terkhen> that's what I do with CPP :)
23:13:26  <andythenorth> Terkhen: the 'adjust RV physics' code is here
23:13:35  <CIA-1> OpenTTD: rubidium * r23930 /trunk/src/ai/ai_gui.cpp: -Fix [FS#4944]: [Script] Do not close the parameter window when a script starts
23:13:36  <andythenorth> l107 - l124
23:14:45  <andythenorth> not get_total_consist_capacity() though
23:14:56  <Terkhen> andythenorth: strange code
23:15:12  <andythenorth> it's snake flavoured
23:15:52  <Terkhen> as in "it makes little sense to me"
23:16:23  <andythenorth> that's how I often feel with c++ ;)
23:16:34  <andythenorth> I can read some of it.  then I fall off a cliff
23:16:39  <Terkhen> :P
23:17:18  <andythenorth> because I can understand maybe 60% of c++ code in openttd, the 'wtf?' factor is a big higher when I hit something I can't figure out
23:17:27  <andythenorth> big / bit /s
23:17:43  <andythenorth> the python code linked above is pretty simple ;)
23:17:55  <andythenorth> the templates are a bit more of an acquired taste:
23:18:48  <andythenorth> ho, I just found a bug from reading my own code on devzone :)
23:27:52  *** Biolunar [] has joined #openttd
23:28:22  <Terkhen> andythenorth: I don't even see how this relates to nml code at all, it seems like a bunch of random functions to me :P
23:28:41  <andythenorth> it's called by the templating
23:28:54  <andythenorth> each vehicle is an object with attributes, methods etc
23:29:24  <andythenorth> it's slightly like MVC pattern, but not quite
23:29:52  <andythenorth> it's familiar to me - common web app pattern
23:30:04  <andythenorth> data -> object -> render
23:30:32  <andythenorth> some of what I'm doing could be done in nml....with a lot of register use etc
23:30:59  <andythenorth> but it's better to keep the nml quite dumb and just write values into it
23:31:36  <andythenorth> nml is awesome for this
23:31:45  <andythenorth> nfo would have been a nightmare due to need to set masks etc
23:31:48  <CIA-1> OpenTTD: michi_cc * r23931 /trunk/src/ (6 files in 3 dirs): -Change: Scale infrastructure cost of rail tracks by the total number of all tracks and not independently for each rail type.
23:33:00  *** smo [] has joined #openttd
23:33:22  *** Cephei [] has joined #openttd
23:33:40  *** Cephei [] has left #openttd []
23:34:28  <andythenorth> Terkhen: if you're interested (np if you're not), check out BANDIT and run ./src/
23:34:37  <andythenorth> then look at the resulting nml file :)
23:35:12  <Terkhen> in my experience, the nml code resulting from a templated nml code is quite confusing
23:35:24  <Terkhen> I'm interested, but not enough to learn python to check it :P
23:35:52  <andythenorth> maybe another time :)
23:35:55  <andythenorth> I never learnt python
23:36:01  <andythenorth> I just started writing it
23:36:11  <andythenorth> as became obvious in the past few weeks :o
23:36:22  * andythenorth has finally learnt python in the last few weeks
23:36:31  <andythenorth> but I used it for ~7 years before that :)
23:38:31  *** smo [] has quit [Quit: ajax IRC Client]
23:38:49  <Terkhen> :)
23:39:41  <andythenorth> Terkhen: I even made starter example projects in the newgrf dev forum ;)
23:40:09  <andythenorth>
23:47:46  <Terkhen> yeah, I saw the thread :)

Powered by YARRSTE version: svn-trunk