Back to Home / #openttd / 2011 / 07 / Prev Day | Next Day
#openttd IRC Logs for 2011-07-28

---Logopened Thu Jul 28 00:00:45 2011
00:56-!-Eddi|zuHause [~johekr@p54B72BDD.dip.t-dialin.net] has quit [Remote host closed the connection]
00:56-!-Eddi|zuHause [~johekr@p54B72997.dip.t-dialin.net] has joined #openttd
01:18-!-andythenorth [~Andy@cpc15-aztw25-2-0-cust3.aztw.cable.virginmedia.com] has joined #openttd
01:58-!-andythenorth [~Andy@cpc15-aztw25-2-0-cust3.aztw.cable.virginmedia.com] has quit [Quit: andythenorth]
02:09-!-DayDreamer [~DayDreame@94.142.234.1] has joined #openttd
02:12-!-LordAro [56951e1e@ircip2.mibbit.com] has joined #openttd
02:12-!-Prof_Frink [~proffrink@5e090e25.bb.sky.com] has quit [Ping timeout: 480 seconds]
02:12<LordAro>mornings
02:14-!-DayDreamer [~DayDreame@94.142.234.1] has quit []
02:15<@planetmaker>moin
02:17<LordAro>how on earth has WmDOT got more downloads on bananas than AroAI? WmDOT's only been out a couple of weeks...
02:17<LordAro>wait, oh yes... 1.1API for AroAI
02:18<LordAro>in that case... why on earth don't people upgrade? :)
02:18-!-Br33z4hSlut5 [~static.kp@195-240-99-235.ip.telfort.nl] has joined #openttd
02:24-!-Pikka [~Figgy@d58-111-88-82.rdl800.qld.optusnet.com.au] has joined #openttd
02:43-!-sla_ro|master [~slaco@95.76.27.160] has joined #openttd
02:53-!-pugi [~pugi@p4FCC50A7.dip.t-dialin.net] has joined #openttd
02:55<@Terkhen>good morning
03:04<Pikka>good morning Terkhen
03:16-!-Juo [~Juo@cpc11-acto2-2-0-cust244.4-2.cable.virginmedia.com] has quit [Read error: Operation timed out]
03:25-!-Brianetta [~brian@188-220-91-30.zone11.bethere.co.uk] has joined #openttd
03:33-!-Alberth [~hat@a82-95-164-127.adsl.xs4all.nl] has joined #openttd
03:33-!-mode/#openttd [+o Alberth] by ChanServ
03:34<Pikka>good morning Brianetta and Alberth
03:35<Brianetta>Good morning, PikkaBird (:
03:35<@Alberth>mornink Pikka
03:37-!-Biolunar [mahdi@blfd-5d822e1f.pool.mediaWays.net] has joined #openttd
03:38<LordAro>mornings Terkhen, Pikka, Brianetta and Alberth :)
03:38-!-Vikthor [~Vikthor@78-80-200-5.tmcz.cz] has joined #openttd
03:38-!-Juo [~Juo@87-194-64-202.bethere.co.uk] has joined #openttd
03:39-!-Juo [~Juo@87-194-64-202.bethere.co.uk] has quit [Remote host closed the connection]
03:39-!-Juo [~Juo@87-194-64-202.bethere.co.uk] has joined #openttd
03:39<Brianetta>Let's nto allow this to become the fish scene from Monty Python's Meaning of Life (:
03:42<__ln__>@base 10 26 1241431150
03:42<@DorpsGek>__ln__: 40CG4FO
03:43<@planetmaker>base 26, eh?
03:43<__ln__>well alright, 36 would be more logical and effective
03:44<@planetmaker>42 :-P
03:44<__ln__>@base 10 36 1241431150
03:44<@DorpsGek>__ln__: KJ46EM
03:44<@planetmaker>but more difficult
03:44<@planetmaker>though... öäüßèé might then suffice to complement it
03:44<@peter1138>@base 36 16 HELLOTHERE
03:44<@DorpsGek>peter1138: 647B8834C91FA
03:44<@peter1138>@base 36 16 OPENTTD
03:44<@DorpsGek>peter1138: C857B48B1
03:45<@peter1138>dorpsgek is my new ipv6 address decider
03:45<@planetmaker>:-)
03:53-!-Biolunar [mahdi@blfd-5d822e1f.pool.mediaWays.net] has quit [Quit: All your IRC are belong to us!]
03:55*SpComb steals one of peter1138's IPv6 addresses
03:57-!-Biolunar [mahdi@blfd-5d822e1f.pool.mediaWays.net] has joined #openttd
04:01-!-Progman [~progman@p57A19A53.dip.t-dialin.net] has joined #openttd
04:07<@peter1138>just one?
04:07<@peter1138>i have 79228162514264337593543950336 available...
04:14*Pikka steals 79228162514264337593543950335
04:16<@peter1138>DAMN IT
04:19-!-Zuu [~Zuu@h-114-141.a98.priv.bahnhof.se] has joined #openttd
04:27<dihedral>good morning ladies
04:44<Pikka>good morning dihedral
05:00<dihedral>hello Pikka ;-)
05:27-!-uni4dfx [~uni4dfx@89-212-176-193.dynamic.t-2.net] has quit [Remote host closed the connection]
05:45-!-andythenorth [~Andy@78-86-194-127.zone2.bethere.co.uk] has joined #openttd
05:45-!-andythenorth [~Andy@78-86-194-127.zone2.bethere.co.uk] has left #openttd []
06:06-!-ar3kaw [~ident@ecz225.neoplus.adsl.tpnet.pl] has joined #openttd
06:10-!-ar3kaw [~ident@ecz225.neoplus.adsl.tpnet.pl] has quit [Read error: Connection reset by peer]
06:10-!-ar3kaw [~ident@ecz225.neoplus.adsl.tpnet.pl] has joined #openttd
06:13-!-ar3k [~ident@ecz225.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 480 seconds]
07:04-!-Chillosophy [~Chillosop@ip91350749.adsl-surfen.hetnet.nl] has joined #openttd
07:18<LordAro>Alberth: http://paste.openttdcoop.org/show/375/ <-- replies to your comments. http://paste.openttdcoop.org/show/376/ <-- current patch
07:20<LordAro>(replies to your commetns marked with '>>>>>')
07:31-!-ar3k [~ident@ebk58.neoplus.adsl.tpnet.pl] has joined #openttd
07:38-!-ar3kaw [~ident@ecz225.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 480 seconds]
07:41-!-Juo [~Juo@87-194-64-202.bethere.co.uk] has quit [Quit: Juo]
07:43-!-Chillosophy [~Chillosop@ip91350749.adsl-surfen.hetnet.nl] has quit []
07:44-!-Chillosophy [~Chillosop@ip91350749.adsl-surfen.hetnet.nl] has joined #openttd
07:44-!-Chillosophy [~Chillosop@ip91350749.adsl-surfen.hetnet.nl] has quit []
07:44-!-Chillosophy [~Chillosop@ip91350749.adsl-surfen.hetnet.nl] has joined #openttd
08:09-!-Neon [~Neon@dslb-094-219-009-117.pools.arcor-ip.net] has joined #openttd
08:24-!-Juo [~Juo@87-194-64-202.bethere.co.uk] has joined #openttd
08:32-!-Kurimus [~stabbity@dsl-tkubrasgw3-fe93dd00-34.dhcp.inet.fi] has joined #openttd
08:35<Eddi|zuHause>@calc 2*25835+6*24775
08:35<@DorpsGek>Eddi|zuHause: 200320
08:37<Pikka>bee bee el
08:37-!-Pikka [~Figgy@d58-111-88-82.rdl800.qld.optusnet.com.au] has quit [Quit: Leaving]
08:46<@Belugas>hello
08:48<LordAro>hi Belugas
08:48<@Alberth>LordAro: http://paste.openttdcoop.org/show/381/ some explanations to the answers of my comments to your patch
08:48<@Alberth>hi sir Belugas
08:48<LordAro>niely timed :) thanks
08:48<LordAro>s/niely/nicely/
08:49*Alberth is unaware of any timing issue :p
08:49<LordAro>but of course openttdcoop is 'Internal Server Error'
08:49<@Alberth>'internal', right :)
08:50<@planetmaker>hm, which?
08:50<LordAro>not my fault, blame Ammler :)
08:50<@planetmaker>afaik our servers are all up and running fine
08:50<LordAro>planetmaker: the link above
08:50<@planetmaker>which? the paste server?
08:50<@planetmaker>delete the cookies
08:51<@planetmaker>the server is fine but stale sessions produce that. Deleting cookies helps in that case
08:51<@planetmaker>(yes, even a stale session shouldn't give you that result. But unfortunately it does)
08:52<LordAro>it was fine a moment ago
08:52<@Alberth>hmm, perhaps because I used the 'reply' button?
08:52<@planetmaker>LordAro, but it works for me [TM]
08:53<@Belugas>hello Lord Aro, hello King Alberth
08:53<LordAro>fixed. t'was cookies
08:53*Belugas wants some!
08:55<@Alberth>unfortunately, I only have industry zones
09:10<@Belugas>bad taste for cookies
09:10*Belugas does not want anymore
09:13-!-thinksteve [~stephan@p579BDB52.dip.t-dialin.net] has joined #openttd
09:14<thinksteve>Hi there, is it possible to force openttd 1.1.0 to load save games although grf files are missing?
09:19<Hirundo>Why would you want to do that? what grfs are missing?
09:20<thinksteve>These are old savegames, from the time when opengfx was inofficially shipped in separate packages.
09:21<LordAro>Alberth: http://paste.openttdcoop.org/show/382/ <-- replies to replies to replies :) (prefixed with '@@@')
09:22<@Terkhen>thinksteve: IIRC the openttdcoop newgrf pack includes those
09:22<@Alberth>opengfx has nothing to do with grfs
09:22<@Terkhen>Alberth: the first tasters of opengfx are newgrfs
09:22<Ammler>shouldn't scenario_developer allow that?
09:23<@Alberth>Ammler: a savegame?
09:24<thinksteve>Should have read manual first. Option '-g' allows autoloading savegames, even those with incomplete newgrf sets. :)
09:24<Ammler>really? :-o
09:24<@Terkhen>strange :P
09:24<Ammler>I would guess, it just replaces your savegame with a random map
09:25<thinksteve>Please, do not fix that. :D
09:25<Ammler>did you try scenario_developer?
09:26<Ammler>well, it would be a bug, if openttd does not allow such saves ;-)
09:27<@Alberth>LordAro: line 91: you should read about destructors :)
09:27<thinksteve>Do'h, can't remove the unwanted grfs in-game.
09:27<LordAro>Alberth: of course, i forgot about that :)
09:27<Ammler>thinksteve: [15:25] <Ammler> did you try scenario_developer?
09:28<LordAro>thinksteve: then you clearly haven't tried scenario_developer setting yet ;)
09:28<@Alberth>LordAro: line 134 seems not so needed imho (just set it always). 136 what does 'filesize' do?
09:29<thinksteve>Sorry, is that one documented, Ammler
09:29-!-Adambean [AdamR@82.hosts.reece-eu.net] has joined #openttd
09:30<thinksteve>Again, should have read the wiki, before asking, thank you.
09:32<@Alberth>Line 191: It looks like there is room, you'll probably have to try a few times and see how it improves the situation.
09:32<@Alberth>Another possible direction is that y=false; if (x == 5) y = true is equivalent to y = (x == 5) which is shorter and often simpler.
09:34<@Alberth>about 30: I can come up with sentences, but then I might just as well write the whole patch, since you then just have to copy/paste the text
10:05<Eddi|zuHause>@calc 25.6/15.57
10:05<@DorpsGek>Eddi|zuHause: 1.64418754014
10:05<Eddi|zuHause>@calc 18.2/18.95
10:05<@DorpsGek>Eddi|zuHause: 0.960422163588
10:06<Eddi|zuHause>@calc 18.2/18.95*2
10:06<@DorpsGek>Eddi|zuHause: 1.92084432718
10:07<Eddi|zuHause>@calc 18.9/23.05*2
10:07<@DorpsGek>Eddi|zuHause: 1.6399132321
10:25-!-andythenorth [~Andy@78-86-194-127.zone2.bethere.co.uk] has joined #openttd
10:25-!-andythenorth [~Andy@78-86-194-127.zone2.bethere.co.uk] has left #openttd []
10:33-!-DayDreamer [~DayDreame@94.142.234.1] has joined #openttd
10:34-!-DayDreamer [~DayDreame@94.142.234.1] has quit []
10:49<LordAro>Alberth: thanks (again)
10:49*LordAro saves copy of logs
10:55-!-Br33z4hSlut5 [~static.kp@195-240-99-235.ip.telfort.nl] has quit [Remote host closed the connection]
11:10-!-Brianetta [~brian@188-220-91-30.zone11.bethere.co.uk] has quit [Quit: Tschüß]
11:11-!-Alberth [~hat@a82-95-164-127.adsl.xs4all.nl] has left #openttd []
11:17-!-Pulec [~pulec@static-cl093181068250.unet.cz] has joined #openttd
11:37-!-LordAro [56951e1e@ircip2.mibbit.com] has quit [Quit: http://www.mibbit.com ajax IRC Client]
11:52-!-Pulec [~pulec@static-cl093181068250.unet.cz] has quit [Remote host closed the connection]
11:57-!-Pulec [~pulec@static-cl093181068250.unet.cz] has joined #openttd
12:01-!-KouDy [~KouDy@ip-86-49-8-98.net.upcbroadband.cz] has joined #openttd
12:19-!-Brianetta [~brian@188-220-91-30.zone11.bethere.co.uk] has joined #openttd
12:27-!-davis [~b@p4FED0D0C.dip.t-dialin.net] has quit [Ping timeout: 480 seconds]
12:28-!-frosch123 [~frosch@frnk-590ff3d9.pool.mediaWays.net] has joined #openttd
12:29-!-davis [~b@p4FED018E.dip.t-dialin.net] has joined #openttd
12:34-!-bryjen [~bryjen@76.92.85.169] has joined #openttd
12:44-!-LordAro [56951e1e@ircip3.mibbit.com] has joined #openttd
12:54-!-TWerkhoven [~twerkhove@cpc14-linl7-2-0-cust28.sgyl.cable.virginmedia.com] has joined #openttd
12:55<dihedral>andybody a magento hero in here?
13:03<Sacro>I'm more cyan
13:04-!-Juo [~Juo@87-194-64-202.bethere.co.uk] has quit [Quit: Juo]
13:11*Zuu got syncron ( = non-asyncron) upgrading of airports to wok.
13:11<Zuu>Left is to make it solid against save/load and make it asyncron so it blocks the AI for less time while upgrading airports.
13:12<__ln__>airport wok sounds like food.
13:12<Zuu>:-D
13:15<SpComb>syn-cron
13:18<__ln__>http://spockisnotimpressed.tumblr.com/
13:19-!-krinn [~krinn@197.54.71.86.rev.sfr.net] has joined #openttd
13:19<krinn>hi
13:20<krinn>i'm looking for wiki entry or a doc on how openttd handle tile height (i mean how it influence neightbor when raising or lowing a tile)
13:22<@planetmaker>you only raise or lower corners ;-)
13:22<@Terkhen>I remember reading something about half heights and so on, but I don't remember where
13:22<krinn>yep, but sometimes trying to lower a corner cannot be done if an object blocking a tile, but it's not the one your lowering
13:23<@Terkhen>but then the lowering affects the tile with the object somehow
13:23<krinn>yes Terkhen and i need to find how the effect is apply
13:24<krinn>so the lower/raise on a tile i could then predict which other tiles will get affect to take also care of them
13:24<@planetmaker>krinn: simple: adjacent corners can only differ by height 1 at most
13:25<@planetmaker>if a change would result in a bigger difference, openttd tries to terraform other tiles as needed
13:25<krinn>yep i saw that planetmaker that's that that i need to know: how openttd decide
13:25<@planetmaker>how "how"?
13:26<krinn>it's not for human playing (there's no disaster where a mount collapse because i lower the bad tile :) )
13:26<krinn>it's for an ai
13:26<@planetmaker>oh, humans can do that, too.
13:26<@planetmaker>And they can ruin themselves being unaware of that
13:26<@planetmaker>seen that, been there
13:26<krinn>lol with water yes
13:26<@Terkhen>the method is not really recursive, but you can treat it as a recursive call on all adjacent corners until the terraforming needs no further changes
13:26<@planetmaker>use the cost estimate for that. AIs should have that option, too
13:27<krinn>but for an ai it's more problematic
13:27<@Terkhen>if height difference > 1 -> terraform else stop
13:27<@Terkhen>at a very simplistic level
13:27<@planetmaker>yep. otherwise... terraform_cmd.cpp
13:28<@Terkhen>IIRC the real method adds corners to a list and iterates through them until everything is correct
13:28<@planetmaker>but I really see not how an AI would profit from that knowledge
13:28<@Terkhen>but... yes, if you need to know it in detail then the code is best :)
13:28<krinn>i have a working terraforming now
13:28<krinn>but i'm trying to predict its result without actually do it
13:28<krinn>it's not like human where you can just see if it will work
13:29<@planetmaker>hm, ok, yes :-)
13:29<@Terkhen>since AIs execute code more slowly than OpenTTD, isn't it better to try the terraform and worry about it only if it actually fails?
13:30<krinn>nope, a failure mean lost money and maybe more terraforming to undo your previous try
13:30<krinn>hence the prediction first
13:30<@Terkhen>a failed terraform does nothing
13:30-!-Juo [~Juo@cpc11-acto2-2-0-cust244.4-2.cable.virginmedia.com] has joined #openttd
13:30<@Terkhen>oh, you want to predict ALL terraforming
13:30<@Terkhen>that will be quite costly on cpu time :)
13:30<krinn>nope only mine
13:30<@planetmaker>As I understand you want to programme the "eyes" of your AI...
13:31<krinn>exact planetmaker
13:31<@Terkhen>what I mean is: check ALL terraform steps you plan to do before actually doing them
13:31<SpComb>easier to ask for forgiveness than get permission
13:31<LordAro>krinn: good luck :)
13:31<@Terkhen>IMO an heuristic would be better than checking everything
13:31<@Terkhen>sounds too costly in cpu time
13:31<SpComb>OpenTTD obviously needs transactions..
13:31<Zuu>hmm, IIRC, terraforming is executed even if not all tiles can be terraformed as requested via the API.
13:32<krinn>say a mount you need to lower its base, for human it's easy to see what will then be need to be lower and even easy to see a rail on top of mount would not make that possible, so you'll then raise it a bit and terraform higher instead of trying to lower the mount
13:32<SpComb>what if you predict your terraforming, it's fine, then you start to terraform, and someone else starts building concurrently? :)
13:32<@Terkhen>Zuu: probably, as it works that way for human players too
13:32<@Terkhen>but humans don't calculate everything either
13:32<krinn>SbComb: this is acceptable, lost money because of unkown event
13:32<@Terkhen>they apply their "expert knowledge" :P
13:33<@planetmaker>Zuu: iirc, yes... but never to an extend that a single invalid tile would be the result. Thus each corner's change is iterated and then executed. Then repeat with the next asked corner
13:33-!-Chris_Booth [~chatzilla@cpc7-newt30-2-0-cust37.newt.cable.virginmedia.com] has joined #openttd
13:33<Zuu>For rail/road building the API is more restrictive and returns fales (failure) if not the entire stretch can be built.
13:33<SpComb>but transactional game state would solve all of this \o/
13:33<@Terkhen>Zuu: it would be easy to provide an option for AIs to work the same as for players
13:33<@Terkhen>I did that change, but if requested that option could be added
13:34<@Terkhen>(regarding roads and rails)
13:34<Zuu>Don't get me wrong, I very much like the way the rail/road API works that it returns false if there is a failure somewhere.
13:34<@Terkhen>my thinking was that it was more useful that way :)
13:34<Zuu>That makes more sense to an AI than the GUI behaviour.
13:34<@Terkhen>but for terraforming... it is more difficult
13:34<@Terkhen>the AI can always restrict terraforming to single corner steps
13:35<Zuu>Anyway, I wait with excitment for krinn's masterpice in terraforming :-)
13:35<LordAro>:)
13:35<krinn>well, code is ready
13:36<krinn>but i need to predict its result to not let the ai working on a sure failure
13:36<@Terkhen>krinn: your best bet is to emulate the actual code that checks corners
13:36<krinn>and as it's terraforming, just checking if tiles you are about to terraform could be change by you (buildable) isn't enough because of affected near tiles
13:36<@Terkhen>and if you can find a faster method for checking them... that would be awesome :P
13:37<@planetmaker>and give that method to Zuu to implement in the superlib or so ;-)
13:37<@Terkhen>I gave it two tries, one of them was slower and the other much more complicated and mostly the same
13:37<@planetmaker>and yes, algorithmically faster... give that also to us ;-)
13:37<@Terkhen>the more height levels guys gave it another try, but it is only useful for really big tile selections
13:38<krinn>i will check terraform.c as no infos seems to exist on that subject
13:39<krinn>i'm a bit surprise none ask that before
13:39<@Terkhen>I don't know how AIs usually deal with this, but to my knowledge you are the first one to ask about this :P
13:40<krinn>maybe because ai deal with this by terraforming until failure
13:40<Zuu>Two improvements that I might look into is to detect hills and holes (anti-hills) in the ground and even those out for airport placement. For now it just tries to level the entire airport area to the same level as the north corner of the airport.
13:40<krinn>keep loosing money and just fuck the whole terran
13:40<krinn>zuu i have resolve as counting each tile in the area
13:41<krinn>and then sort the result by number
13:41<krinn>and then just try higher to lower by number
13:41-!-Brianetta [~brian@188-220-91-30.zone11.bethere.co.uk] has quit [Quit: Tschüß]
13:42<krinn>if you have 2 tiles at 3 height and 4 at 5 height, terraform then everyone at 5 first, and next try to terrform at everyone at 3 (hence the prediction need, else big money lost for each trys)
13:42-!-perk11 [~perk11@broadband-77-37-203-211.nationalcablenetworks.ru] has joined #openttd
13:43<Zuu>My AI don't remember the old state between the tries. :-p It just tries 5 times to find a spot to terraform and then gives up if it fails.
13:43<krinn>http://dev.openttdcoop.org/projects/ai-dictator/repository/revisions/9068f0a6afef/entry/utils/tile.nut but code is still dirty & under dev
13:44-!-Biolunar_ [mahdi@blfd-d9bf00a8.pool.mediaWays.net] has joined #openttd
13:44<Zuu>I've just added some randomization to it which has improved the succss rate a bit I think.
13:45<krinn>i add priority for tiles, if we lower, work on higher tiles first (and vice versa)
13:45<Zuu>Still, my CluelessPlus spend far more money on statues than terraforming I think :-)
13:45<krinn>so you won't fail trying to lower a tile that is bellow one
13:45<CIA-2>OpenTTD: translators * r22691 /trunk/src/lang/ (greek.txt romanian.txt ukrainian.txt):
13:45<CIA-2>OpenTTD: -Update from WebTranslator v3.0:
13:45<CIA-2>OpenTTD: greek - 14 changes by kyrm
13:45<CIA-2>OpenTTD: romanian - 1 changes by kkmic
13:45<CIA-2>OpenTTD: ukrainian - 6 changes by Madvin
13:45<Zuu>All that said, I got to get back working on upgrading of airports. :-)
13:46<krinn>:)
13:46<krinn>that's also why i work on terraform, bitchy airport upgrade are pain with big size need for them
13:47-!-KouDy [~KouDy@ip-86-49-8-98.net.upcbroadband.cz] has quit [Read error: Connection reset by peer]
13:47-!-KouDy [~KouDy@ip-86-49-8-98.net.upcbroadband.cz] has joined #openttd
13:47-!-Wolf01 [~wolf01@host152-94-dynamic.117-80-r.retail.telecomitalia.it] has joined #openttd
13:48<Wolf01>hello
13:49<krinn>hi
13:50<@Terkhen>hi Wolf01
13:50-!-Biolunar [mahdi@blfd-5d822e1f.pool.mediaWays.net] has quit [Ping timeout: 480 seconds]
13:52<krinn>* The maximal amount of affected tiles (i.e. the tiles that incident with one of the corners above, is computed similiar to
13:52<krinn> * 1 + 4 * \sum_{i=1}^{h_max} (i+1) = 1 + 2 * h_max + (h_max + 3).
13:53<krinn>hihi just @ start of terraform_cmd.cpp
13:54-!-supermop_ [~daniel_er@rrcs-72-43-171-87.nyc.biz.rr.com] has joined #openttd
13:54<@Terkhen>:P
13:58<__ln__>Wolf01: http://dl.dropbox.com/u/11122304/demotivational-posters-history.jpg
13:58<Wolf01>yeah
14:09<krinn>hmmm looks hard, ttd api use IsTunnelInWay IsBridgeAbove...that's cheat ! we don't have those ones in our api :)
14:13<@Terkhen>you don't have functions for checking tunnel/bridge direction and lenght?
14:14<krinn>nope only to check a tile for tunnel entry & exit
14:14<krinn>so i cannot predict if a tunnel is bellow a tile except by finding all tiles on both direction for a tunnel entry
14:14<krinn>can't let my ai scan the whole map to figure that
14:15<Rubidium>if you know a tile is an entrance/exit you can deduce the level by the slope and lowest height of the tile
14:15<Rubidium>level and direction
14:15<krinn>but to know that, i need to scan the whole map
14:16<krinn>it's ok if the tunnel is mine, i could just record where they are, but not when it's not mine
14:16<Rubidium>if you terraform a 4x4 bit you need at most 4xmax_width + 4xmax_height
14:17<krinn>at 16x16 influence scheme so
14:17<Rubidium>and it's even less if you know the height you want to terraform to: just try each direction and stop if you reach a tile that's lower than your target depth
14:18<Rubidium>hmm, aren't AI terraform level area commands 'either do everything or die'?
14:18<Rubidium>I seem to remember a discussion about that
14:18<krinn>yes, but itry to avoid the try
14:18<krinn>1/ not to destroy the land for nothing, and not to loose money
14:19<Rubidium>huh?
14:19<krinn>2/ and not to increase my costs after trying another solve
14:19<Rubidium>use the test state
14:19<krinn>test state is weak it fail if tile is bellow another tile no ?
14:19<Rubidium>http://noai.openttd.org/docs/trunk/classAITestMode.html <- only tests commands
14:20<krinn>say a is up b, if i remove a then b, test will fail because when in test mode a will still be there
14:20<Rubidium>nah, test mode doesn't create a new map state
14:21<Rubidium>and it seems that LevelTiles doesn't what I thought it'd do
14:21<krinn>i'll try that and see result
14:22<Rubidium>so in test mode the only "sure" thing is raising or lowering one level by means of lowertile/raisetile
14:22<krinn>but last time i check testmode was blocking because i think a was still there so b cannot be remove (but i admit by this time, i might have try remove b before a)
14:22<krinn>yes, only that
14:22<krinn>test mode will only say ok if you lower a
14:22<krinn>if you really lower a, then testmode will say ok if you test to remove b
14:22<Rubidium>it cannot remember state of previous tests, besides 'okay' and/or cost
14:23<krinn>not when i try, but i might as i said have tried to remove b before a
14:23<Rubidium>test mode uses the same test that is done before executing a command to see whether it will succeed (in MP)
14:24<Rubidium>as such test mode is written in such a way that it may not influence anything state related
14:25<krinn>i will do a test on with tile a bellow tile b and a rail on tile b to clear
14:25<krinn>in theory, testmode should say yes for clear b, lower b, lower a
14:25<@peter1138>herpderp
14:26<krinn>and no if it forget a state (b clear or b lowered)
14:26<Rubidium>it forgets state
14:26<krinn>so it could then only fail
14:27<krinn>it's sad, because ai will get force to terraform blindly
14:28<krinn>and many human don't like terraform testing :)
14:29-!-andythenorth [~Andy@cpc15-aztw25-2-0-cust3.aztw.cable.virginmedia.com] has joined #openttd
14:29<krinn>to resume my predictions could only predict success by checking 4*tilestoteraform for clear state
14:29<Rubidium>well, there are things that might be improved API wise for terraforming AIs, but the real question is: what is a good API for that?
14:29-!-supermop [~daniel_er@rrcs-72-43-171-87.nyc.biz.rr.com] has joined #openttd
14:29<andythenorth>hello
14:30<andythenorth>yay
14:30<andythenorth>my new wifi reaches the bathroom reliably :P
14:30<krinn>maybe just giving away the bridge & tunnel should be enough
14:31<krinn>i could scan all wanted tile for clear to build state + road/rail/ anything not buildable easy
14:31<krinn>but without the tunnelbellowtile and bridgeuppertile, i can't seriously seek the whole map to find possible bridge/tunnel
14:32<krinn>IsTunnelInWay && MayHaveBridgeAbove(tile)
14:33<krinn>with the two we could then scan the 4 direction to get the direction of a tunnel or bridge and follow tiles until finding the entry/exit
14:34<Rubidium>oh, you only need 2 directions ;)
14:35<krinn>lol yes
14:35<Rubidium>(preferably the shortest one to the edge)
14:35<krinn>that's better for the iteration :p
14:36-!-gadafi [~c4d2d0ef@101.haydn.openttdcoop.org] has joined #openttd
14:36<krinn>lol just hope we're not playing against a mad human that love zillion meters tunnel length
14:37<@Terkhen>given how they like to annoy AIs you can bet they will do that :P
14:37<krinn>lol
14:38-!-supermop [~daniel_er@rrcs-72-43-171-87.nyc.biz.rr.com] has left #openttd []
14:38<krinn>must be why the ai have few trys that should hit as soon as tried, else at first sign of activity you can expect rail dropping where you wish terraform :)
14:41<krinn>and we might not even need to find the tunnel direction if we get its height (not something openttd handle as it only care to check if tunnel is just bellow the tile you are about to lower)
14:41<krinn>while an ai would prefer check if a tunnel is at the the height you wish to go
14:44<krinn>do bridge have various height ? i see someone implement a GetBridgeHeight
14:44<andythenorth>"is this fork still maintained and distributed?" <-wtf?
14:45<andythenorth>the first post in the thread is dated June, and near-official binaries are being distributed. Is he trolling?
14:45<andythenorth>(YACD thread)
14:46<krinn>i would say yes, because he says fork
14:47<Hirundo>I'd guess ignorance, not trolling
14:49<krinn>"Two things are infinite: the universe and human stupidity; and I'm not sure about the the universe." one of his best quote (if he really said that)
14:49<Eddi|zuHause>most people didn't actually say the things that people say they said :p
14:50<krinn>i know, and i also find this one strange coming out from einstein, but this one is credit to him in many sources
14:51<@Terkhen>IIRC many scientists are known to have said that before him
14:51<@Terkhen>oh, he asked it twice
14:51<@Terkhen>how cute
14:52<krinn>and with internet, many sources could ack others source that are ack others...
14:52<@Terkhen>once for yacd, once for cargodist
14:53*Rubidium wonders... what if SROTF would make a forum rule that states: "thread gets closed if someone asks for updates"
14:54<@planetmaker>haha :-)
14:54<@planetmaker>sounds good
14:54<Eddi|zuHause>why is that the thread/patch author's fault?
14:55<Rubidium>it's like Godwin's law, if the thread comes to that it's dead ;)
14:55<@Terkhen>because he is obviously not updating frequently enough :P
14:55<@Terkhen>if a random user comes and sees no updates for three days -> thread dead
14:55<Rubidium>yeah, that should teach them
14:56<Rubidium>or they get flogged by the rest of the forum
14:56*krinn gone asking update in "Is OTTD getting to complex?" thread
14:57<Rubidium>fine by me... leaves the whole terraforming problem in your lap ;)
14:57-!-remax [~d9e8ac47@101.haydn.openttdcoop.org] has joined #openttd
14:57<krinn>lol
14:57<remax>hi al
14:57<remax>l
14:57<krinn>hi remax
14:57-!-ricky26 [~quassel@80.83.125.94] has quit [Remote host closed the connection]
14:57-!-ricky26 [~quassel@80.83.125.94] has joined #openttd
14:57-!-remax [~d9e8ac47@101.haydn.openttdcoop.org] has quit []
14:57<__ln__>http://testyourvocab.com/
14:58<Rubidium>those German connections aren't that stable anymore, it seems... or is his attention span just so short ;)
15:00-!-bodis [~bodis@cpc3-ando3-0-0-cust781.15-1.cable.virginmedia.com] has joined #openttd
15:03<krinn>lol wonder if i should allow my ai to build at water level, so human can play with that :)
15:05<krinn>ahah there's the flooded event
15:05<__ln__>http://www.railwaygazette.com/news/freight/single-view/view/european-profile-wagons-reach-london.html
15:05<krinn>you guys are too vicious
15:06-!-Chris_Booth_ [~chatzilla@cpc7-newt30-2-0-cust37.newt.cable.virginmedia.com] has joined #openttd
15:07<krinn>english rail have diff width ?
15:10<Eddi|zuHause>krinn: not track width, but wagon width/height
15:11<krinn>they never do anything like others
15:11-!-Chris_Booth [~chatzilla@cpc7-newt30-2-0-cust37.newt.cable.virginmedia.com] has quit [Ping timeout: 480 seconds]
15:12<andythenorth>it's because we do it first :P
15:12-!-Chris_Booth_ is now known as Chris_Booth
15:12<Eddi|zuHause>well, they were kinda the first :p
15:12<andythenorth>first mover advantage is a myth
15:14-!-gadafi [~c4d2d0ef@101.haydn.openttdcoop.org] has quit [Quit: Page closed]
15:14<Eddi|zuHause>it's like the "640k is probably enough" syndrome
15:15<krinn>you mean that one is a myth ?
15:16<andythenorth>it's fine as long as you have enough 640k sticks of RAM
15:17<krinn>i think he said it, look at that quote, proof he might have said the other too
15:17<Eddi|zuHause>krinn: i mean it's an early design decision that bites you in the arse for the next centuries because the technology moved on
15:18<krinn>oh i see now
15:18-!-KritiK [~Maxim@95-25-210-214.broadband.corbina.ru] has joined #openttd
15:19<__ln__>did you know: sweden was a left-driving country until as late as 1967?
15:19<krinn>no
15:20<krinn>i was thinking just english colonies were doing it
15:20<Eddi|zuHause>yes, i did know
15:21<krinn>well, earlier design is always a failure, look at eve
15:22<__ln__>japan is also not an english colony
15:22<krinn>what i said is right if you don't know japan also drive left :)
15:22<Eddi|zuHause>austria was also a drive-on-left country
15:22<Eddi|zuHause>not sure when they switched
15:22<krinn>they aren't anymore?
15:22<krinn>i was thinking they were still
15:23<Eddi|zuHause>you're thinking australia
15:23<krinn>ah yes mistake
15:23<krinn>wasn't aware for austria too so
15:23<Eddi|zuHause>i meant austria, as basically covering most of southeast europe pre-WWI
15:25<krinn>why they change?
15:25<Chris_Booth>Eddi|zuHause: you will probably find austria changed when the Nazi party took over in the 1930's
15:25<Eddi|zuHause>Chris_Booth: yeah, i suspect that, but i have no source supporting that
15:26<krinn>look better to swap if a tank is driving on your line
15:26<Chris_Booth>nor do I. I was just speculating
15:27<Eddi|zuHause>krinn: taking over austria did not happen with tanks, they had an election with 99% "yes" outcome
15:27<krinn>When Germany annexed Austria in 1938, Hitler ordered that the traffic should change from the left to the right side of the road
15:27<krinn>from here http://users.telenet.be/worldstandards/driving%20on%20the%20left.htm
15:27<krinn>oh italian were also driving left
15:28<krinn>In Italy the practice of driving on the right first began in the late 1890s
15:28<Eddi|zuHause>krinn: interestingly, they also wanted to switch railway side, but they did not finish in all parts, so now there is a mixture of drive-on-left and drive-on-right in the austrian railway network
15:29<krinn>didn't know so many countries were driving left at first
15:29<krinn>interresting page
15:30<krinn>Although no less than 82.9% voted “no” to the plebiscite, the Swedish parliament passed a law on the conversion to right-hand driving in 1963 LOL democracy at its best
15:31<krinn>look that one, unusual switch, recent date : On 7 September 2009 Samoa (population 189,000) became the third country ever to change from right- to left-hand driving
15:32<krinn>Algeria is state as driving right, lol they never visit it, algerian should be state driving crazy where you can
15:33<andythenorth>india is driving left
15:34<andythenorth>so 1/6 of world population
15:34<krinn>i knew for india, english colony
15:34<andythenorth>driving on the left is somewhat the official position
15:34<andythenorth>actual driving side is more a matter for negotiation
15:34<LordAro>i hear italy is somewhat similar :)
15:35<Eddi|zuHause>krinn: afair samoa was a german colony, hence driving on right, but now switched to left to align with the other islands nearby
15:35<krinn>in italia it's more "stopping side and one will try to sell you a phone"
15:36<krinn>the explain for left driving at first looks logic and true, with the horses and sword...
15:37<Eddi|zuHause>i don't really buy the horse&sword argument
15:37<andythenorth>there's some thing about people naturally turning to left or such
15:37<andythenorth>statistically
15:37<krinn>andythenorth, i think it's more depend on brain side at work for that
15:37<andythenorth>hmm
15:38<andythenorth>brain side may be somewhat bad science
15:38<krinn>like left hand one use more right side of brain
15:39<krinn>i doubt the french revolution story
15:40<krinn>left or right, passing with a wagon was a sure sign of power
15:43-!-KouDy [~KouDy@ip-86-49-8-98.net.upcbroadband.cz] has quit [Quit: Leaving.]
15:43<Zuu><krinn> hmmm looks hard, ttd api use IsTunnelInWay IsBridgeAbove...that's cheat ! we don't have those ones in our api :) <-- check SuperLib. It has something like that for bridges.
15:43-!-KouDy [~KouDy@ip-86-49-8-98.net.upcbroadband.cz] has joined #openttd
15:44<krinn>you've made a prediction for tunnel or just check after error a tunnel is in the way ?
15:45-!-TWerkhoven [~twerkhove@cpc14-linl7-2-0-cust28.sgyl.cable.virginmedia.com] has quit [Ping timeout: 480 seconds]
15:46<Zuu>I don't do any preconditions for tunnels.
15:47<Zuu>As far as I remember. But tunnels can easily be checked in test-mode given that you have enough money.
15:47<krinn>you've put that in tile.nut ?
15:48<krinn>the problem is not really finding a tunnel next to you, even without a tile check a simple error check would tell you there's one
15:48<krinn>the problem is finding the tunnel while you are 2 tiles upper without digging
15:48<Zuu>Yes Tile.GetBridgeAboveStart(tile, bridge_search_direction)
15:49<krinn>see: why try dig 3 if you know 2 tiles bellow there's a tunnel
15:50<Zuu>I see that problem yes. I guess you have to implement a method for that as that is not in the API.
15:51<krinn>i don't think it could be done, because testmode forget you've just dig
15:51<krinn>else we could have dig, dig, dig -> error tunnel on the way ! bingo tunnel found
15:52<krinn>and openttd doesn't have it too, why would openttd care? it only have to answer can i dig there, yes or no, not to can dig there 3 times ?
15:53<krinn>so except if not use in the terraform.cpp i think noone has create a gettunnelheight function like
15:55<krinn>and your bridge function is limited to that to: it search for a bridge tile to north, when found, search the bridge direction, but you cannot answer if you have cross one as only start & end tile will answer i'm a bridge
15:55-!-TWerkhoven [~twerkhove@cpc14-linl7-2-0-cust28.sgyl.cable.virginmedia.com] has joined #openttd
15:57<krinn>to be effective we would need to do that function, but on each tile of the map, not something really doable
15:57<Zuu>My function will search the direction you give it. One of the 4 main directions until it finds a bridge start.
15:57<krinn>yep but you cannot tell if there's a bridge, just that you've found a tile bridge, and tile bridge are only start & end tile
15:58<bfrog>diagonal bridges?
15:58<Zuu>Diagonal bridges don't exist
15:58<krinn>hopefully :)
15:58<bfrog>I wish I could just get a "autotrack" layer tool
15:58<Zuu>IIRC it will check the bridge start and make sure the bride goes back to the tile that you give the function.
15:58<bfrog>like, dude, draw me some double tracks with lights
15:59<Zuu>Hence the name "Above"
15:59<krinn>consider a radar, we can search horizontally or vertically where we ping a tile. But moving 10 tiles north, we need to ping 10 tiles to get sure no tunnel/bridge exist going E<>W while moving on a tile
16:01<krinn>so 1 test N/W to check we're moving down a bridge, but also need to check all tiles E/W to get sure we're not crossing one
16:01<Zuu>Indeed in your case you need that.
16:02<krinn>as i said, no really doable as it's just to check 10 tiles north, for more tiles, we would need to scan the whole map nearly
16:02<Zuu>But you don't need to scan all tiles in both directions if you think a bit.
16:03<Zuu>if you have an area of tiles.
16:03<krinn>yep just one
16:03<krinn>because when you cross a bridge, its exit or entry is E or W, you don't care as you only need to find one, so only scanning in one direction, but still, that's a lot
16:05<krinn>say i'm scanning 10 tiles north, i'm 15 tiles from the left part of the map, removing 2 tiles because a bridge need 1 tile entry+1 tile to connect it : you still endup scanning 13tiles*10 tiles
16:06<krinn>just to move 10 tiles north, and with hope you're just 15 tiles near a border
16:10<Zuu>Unless tha map is completely flat, you sooner or later hit a hill which terminate the possibility of a bridge. Thus the chance of scanning ~2048 tiles is quite low.
16:10<krinn>hihi, nope you can hit a hill where a bridge is just upper
16:10<krinn>but you are still under it and crossing it
16:11<Zuu>And if the map is flat, you don't need to do any terraforming :-)
16:11<krinn>lol true
16:12<Hirundo>frosch123: Currently Action C prints a debug string to the console, would it be possible to add printf-like functionality to that?
16:14<krinn>your downslope technic could be apply yep but i'm not sure you cannot build a bridge over a small hill
16:14<krinn>let me check
16:14<Zuu>krinn: actually, I use the simplification that if I find a hill, I don't scan further in my implementation. I guess it could cause issues in some corner cases but most sane builders shouldn't build a hyper-long bridge going over the entire map. :-)
16:14-!-Kurimus [~stabbity@dsl-tkubrasgw3-fe93dd00-34.dhcp.inet.fi] has quit []
16:14<Zuu>http://dev.openttdcoop.org/projects/superlib/repository/revisions/f7871256f63b/entry/tile.nut#L446 <-- code
16:15<Rubidium>pff... the algorithm depends on what you want to know exactly ;)
16:15<frosch123>Hirundo: like including grf parameters?
16:15<Rubidium>if you want to know whether there's a bridge at all, you have to scan the half of both the row/colum
16:16<Rubidium>but if you want to know whether there's a bridge lower than X you can safely exit when there's a hill high enough
16:16-!-Adambean [AdamR@82.hosts.reece-eu.net] has quit [Ping timeout: 480 seconds]
16:17<krinn>yep, i see i can build a little hill 1 height if one build a bridge over 2 steepslope
16:17<Rubidium>question is whether adding an API to get the height level of the bridge is really what is useful, or is "is there a bridge at heightlevel N or lower" much more useful?
16:17<Rubidium>(similarly for tunnels)
16:18<krinn>well, know the level of the bridge would answer the isthereabridge but also tell you if you could pass bellow or not
16:18<Eddi|zuHause>GetAllTunnelBridges(tile) resulting in a list of heights/directions/whatevers?
16:19<krinn>Eddi|zuHause, actually finding bridge direction is really easy knowing a tile is a bridge
16:19<Rubidium>but the requires lots of iterating, whereas if you give a boundary you'll be able to terminate the search much sooner
16:19<Eddi|zuHause>(that one is potentially extensible to crossing bridges etc.)
16:20<krinn>Rubidium, i don't have answer for tunnel (and they are actually more problematic because could be build farer down than one could build high a bridge)
16:20<krinn>but for bridge, openttd have the function to get its height already
16:20<Rubidium>tunnels and bridges can be equally long
16:21<krinn>MayHaveBridgeAbove(tile) && IsBridgeAbove(tile) &&
16:21<krinn> GetBridgeHeight(GetSouthernBridgeEnd(tile))
16:21<Eddi|zuHause>krinn: yes, that is because the bridge direction is stored in the tile
16:21<Rubidium>GetSouthernBridgeEnd is found by iterating the map
16:21<Eddi|zuHause>so it's a simple linear iteration from there
16:21<Eddi|zuHause>to find the bridge head
16:22<krinn>yep but iterating for openttd is just running, while for an ai it's taking everyone time
16:22<krinn>the ones i show are use when openttd check if it could allow a tile to be raise, so it check for a bridge that could stop it from doing that
16:23<krinn>and it even iter a 2nd time to get the costs of the actions
16:23<krinn>never saw any complain that the game run slower when one click raise tile
16:23<Eddi|zuHause>"“There were 35,791 votes polled in Delhi, each of which had two paper back­ups. So of what should have been around 70,000 paper trails, around 3,500 were miss­ing. This means there was an error rate of 5%,” said G.V.L. Narasimha Rao, pres­i­dent of VeTA, and a mem­ber of BJP’s elec­toral reforms committee."
16:23<Eddi|zuHause>yay for voting computers!
16:24<andythenorth>ya
16:24<andythenorth>very important to count votes correctly in India
16:24<Rubidium>krinn: I've seen them for levelling land
16:24<andythenorth>otherwise the politicians won't know who to pay
16:25<krinn>but didn't saw any for tunnel
16:25<krinn>as openttd just check the tile bellow for lowering, and don't need to check if two tiles bellow there's one
16:25<krinn>actually, i think the bridgeheight is use but wasn't create for that purpose, must have been made for some other purpose, but a welcome use in that case
16:26<Wolf01>'night
16:26<Rubidium>krinn: I guess you're right
16:26-!-Wolf01 [~wolf01@host152-94-dynamic.117-80-r.retail.telecomitalia.it] has quit [Quit: Once again the world is quick to bury me.]
16:26<Rubidium>tunnels aren't quite drawn, bridges are
16:28<krinn>just check, i wasn't sure, but you can build really high bridge in openttd
16:28<krinn>7 tiles from a hill to another 7 tiles hill and it work
16:28<krinn>lol quite impressive construction
16:28<krinn>more like a viaduc
16:28<Rubidium>16 heightlevels works fine as well
16:29<krinn>must be why one create the getbridgeheight
16:34-!-Pikka [~Figgy@d58-111-88-82.rdl800.qld.optusnet.com.au] has joined #openttd
16:35-!-Progman [~progman@p57A19A53.dip.t-dialin.net] has quit [Remote host closed the connection]
16:35-!-rhaeder [~quix0r@dslb-188-109-255-048.pools.arcor-ip.net] has joined #openttd
16:38<Pikka>moin mentelgen
16:38<Eddi|zuHause>you're writing upside down.
16:39<__ln__>expectable
16:41<@Terkhen>hi Pikka
16:42<krinn>hi
16:43*andythenorth spots a pikka
16:43<Pikka>a rare spotted pikka!
16:43*andythenorth plays dicewars
16:44*andythenorth wonders if dicewars supports newgrf
16:45<frosch123>NewDice
16:45<andythenorth>NewWars
16:45<frosch123>ottd is a peaceful game
16:45<andythenorth>the lighting in DiceWars is wrong :P
16:45<andythenorth>clearly not compatible with ttd original graphics
16:45<andythenorth>sun is on the left
16:45<andythenorth>http://www.gamedesign.jp/flash/dice/dice.html
16:46<andythenorth>^ and there goes your evening
16:47<Zuu>krinn: See tt-forums. I just posted a comparison between our AIs in your AI thread :-)
16:48<Zuu>Your AI is doing well
16:48<krinn>not as good as i wish :)
16:48<krinn>and my AI sucks at terraforming lol
16:49*LordAro is losing badly at diceawars :)
16:50<andythenorth>LordAro: you'll lose as many as you win
16:50<andythenorth>there's a certain amount of chance
16:50<@Terkhen>huh... looks strange
16:50<andythenorth>it's a good exercise in drawing your opponent in
16:51<andythenorth>the computer players are not sophisticated
16:51<krinn>Zuu, shit i've lost the war, and i was happy before see it
16:51<andythenorth>it's quite easy to get them to over-extend themselve
16:51<Rubidium>krinn: sucks at terraforming or can't do terraforming at all?
16:52<Pikka>andy, did you see my recent PM? look okay?
16:52<Rubidium>you might outperform almost all AIs in one of my test games if your AI can perform some terraforming
16:52<krinn>can't do any at all Rubidium :)
16:52<krinn>this is what i'm trying to correct, that's what the aircraft tests show me
16:53<andythenorth>Pikka: oops
16:53<krinn>dunno if the tests are good for user, but for ai dev, it's a great feature :)
16:53<andythenorth>sorry, forgot to reply
16:53<andythenorth>Pikka: forest fire industry?
16:53<Pikka>hmm.. google says it's 3 degrees and foggy... it feels about 15 degrees and I can see the cranes at fisherman's island, which I can't usually...
16:53<Zuu>krinn: heh, don't take it soo deadly ;-)
16:54<Pikka>andy: perhaps. :P
16:54<andythenorth>can we load it with a crate?
16:54<andythenorth>that would be easiest
16:55<krinn>we cannot be sure, but i think i have less property maintenance in fact, just the aiports that dope the value
16:55<Pikka>perhaps andy... although obviously you'll want fancy loads for your FIRS cargos? :P
16:56<andythenorth>hmm
16:56<andythenorth>well there's a small bulldozer that might fit
16:56<Hirundo>frosch123: Yes, basically 0C <null-terminated-string> <param1> <param2> ... <paramn>
16:56<Pikka>and of course wood, steel etc would be good with their own graphics
16:56<andythenorth>I am a big fan of 'all cargoes travel in crates' :P
16:56<Pikka>lol
16:56<Pikka>well, I can certainly do some of the loads :)
16:57<Pikka>I remind you that this was your idea though :P
16:57<andythenorth>I'll dig up some FIRS sprites
16:57<andythenorth>how about a boat?
16:57<andythenorth>how about another plane?
16:58<andythenorth>http://www.flickr.com/photos/nunatak/120113838/
16:58<Pikka>mmhm :P
16:58<Pikka>I don't think planes have been introduced as a cargo though
16:58<andythenorth>http://www.google.com/imgres?q=helicopter+carrying+plane&um=1&hl=en&client=safari&rls=en&biw=1253&bih=660&tbm=isch&tbnid=zpZk7lctKcrVnM:&imgrefurl=http://www.urlesque.com/2009/04/27/last-shot-helicopter-vs-plane/&docid=Ql7zWB3HDMGhAM&w=425&h=603&ei=is0xTrWoG9HG8QOcrYShDg&zoom=1&iact=hc&vpx=186&vpy=74&dur=925&hovh=268&hovw=188&tx=86&ty=113&page=1&tbnh=174&tbnw=120&start=0&ndsp=17&ved=1t:429,r:0,s:0
16:59<frosch123>Hirundo: i wonder whether some functions, which prints all registers upon usage wouldn
17:00<frosch123>'t be more useful?
17:00<Hirundo>registers or parameters?
17:00<frosch123>plus the final parameter values after activation
17:00<Pikka>mm, Mi-26
17:00<frosch123>sorry, parameters :)
17:01<Pikka>you're going to want me to add that one next
17:01<frosch123>for callbacks i always wanted to add some backtrace feature to the console or newgrf debug window
17:01<andythenorth>Pikka: http://dev.openttdcoop.org/projects/heqs/repository/raw/sprites/graphics/bulldozers.pcx
17:02<andythenorth>is bulldozers
17:02<Hirundo>For NML purposes, I was thinking about a 'debug action 2'
17:02<Pikka>cool
17:02<andythenorth>Pikka: http://dev.openttdcoop.org/projects/heqs/repository/raw/sprites/graphics/gmund_mog.png
17:03<Pikka>so they're "engineering supplies" (and perhaps "goods")?
17:03<frosch123>Hirundo: how would that look like?
17:03<Hirundo>basically an action2 that contains a printf(string, var1, var2, ..) vars can be any variable (with optional parameter, use 7D to read register)
17:03<andythenorth>^^^ that truck is 80% yours anyway
17:03<andythenorth>Pikka: also Farm Supplies
17:03<Pikka>okay
17:03<andythenorth>and maybe ECS vehicles (not sure)
17:03<Pikka>and I guess I can do crates, then :P
17:03<frosch123>Hirundo: i don't think having to add extra stuff to a grf is the right way
17:03<Hirundo>format like 02 <feature> <type-bye=some unused one> <null-terminated string> <var1> <var2> <varn>....
17:04<Hirundo>Basically, it'd allow NML to create a 'debug build'
17:04<Hirundo>And also, to check for certain run-time errors and signal those
17:05<andythenorth>Pikka: you don't have crates already?
17:05<andythenorth>from ukrs?
17:05<Pikka>well, yes
17:05<Hirundo>currently, if the user does bad stuff (e.g. trying to use var 7B with param > 255), there is no way to tell him
17:05<Pikka>but I have to add them to the helicopter :P
17:05<Pikka>also, the aircraft don't have the shortened diagonal sprites that trains do...
17:05<andythenorth>my laziness is increasing with sprites
17:06<andythenorth>the more I draw, the less I can be bothered to draw :P
17:06<andythenorth>but also the more copy-paste I can use ;)
17:06<frosch123>Hirundo: hmm, what do you mean with that? shall nml automatically insert some kind of assertion when using var 7b?
17:07<frosch123>that would sound like something ottd should do independent of nml
17:07<Hirundo>basically NML could tell stuff to the user/dev at runtime, instead of at compile time only (via action B/C)
17:08<andythenorth>sounds like an ottd feature
17:08<andythenorth>in game debug
17:08<Hirundo>and in NewGRF style, the format and use of those messages is determined by the user (in this case, compiler)
17:08<andythenorth>I did that in a hack way in FIRS
17:08<frosch123>the problem with inserting such stuff in action123 is, that it occurs way to often
17:09<Hirundo>hmm I missed something: 02 <feature> <type-bye=some unused one> <null-terminated string> <var1> <var2> <varn>.... <next-action2>
17:09<frosch123>so, either it needs some kind of assertion, or some manual trigger to tract one callback/spriteresolving
17:09-!-robotx [~robotx@pat-36.wireless.bristol.edu] has joined #openttd
17:09-!-robotx [~robotx@pat-36.wireless.bristol.edu] has quit []
17:10<Hirundo>such a trigger could be built in the current debug system, and/or via the grf debug switch
17:10<Hirundo>02 <feature> <type-bye=some unused one> <debug-level> <null-terminated string> <var1> <var2> <varn>.... <next-action2>
17:11<frosch123>shall the variables get appended at the end, or does the string contrain stringcodes?
17:12<andythenorth>Hirundo: do you have an actual case to use it with?
17:13<andythenorth>Pikka: what will happen to the load when on ground?
17:13<Pikka>it will only appear when the aircraft gets to a certain altitude, like with the current sling load on the chinook
17:13<andythenorth>there's a sling load on the chinook :O
17:14<Pikka>always has been :P
17:14<andythenorth>there's a reason to start a new game
17:14<Hirundo>frosch123: I thought of printf-like stuff (%..), but string codes are an interesting thought
17:14<andythenorth>how clever
17:14<frosch123>Hirundo: basically actionb like strings
17:15<Hirundo>andythenorth: Basically, allowing the user to debug NML without NFO knowledge, and without OpenTTD depending on the NML specs
17:15<andythenorth>in actionscript, I always like 'trace()'
17:15-!-thinksteve [~stephan@p579BDB52.dip.t-dialin.net] has quit [Quit: leaving]
17:15<andythenorth>trace(arbitrary expression or string)
17:15<andythenorth>prints to the output window
17:16<andythenorth>actually faster and easier to write trace by hand than use the flash debugger (which is slow and tracks every object, var, prop)
17:16<Hirundo>I know all too well :) actionscript is about my only programming experience before ottd / c(++)
17:16<andythenorth>I made my own flash debugger by just using dynamic text fields :P
17:17<andythenorth>way easier
17:17<andythenorth>that gave me the idea for using industry window as debugger in FIRS
17:17<frosch123>Hirundo: anyway, when would that output get activated?
17:17<frosch123>i don't think printing it every time is that useful
17:17<andythenorth>when developer sets equivalent of 'trace on'?
17:18<Hirundo>for a lot of cases (not often-called callbacks) that'd work fine
17:18<andythenorth>it's a flag in flash IDE test player, and also a compile time setting for swf
17:18<frosch123>Hirundo: i think you have to at least some entity in the game
17:18<frosch123>i.e. one industry, one industrytile ...
17:18<andythenorth>I only mention flash because it's similar case - n objects all executing code on ticks
17:18<frosch123>e.g. open the newgrf debug gui of it, any only print stuff there
17:18<Hirundo>yes of course
17:19<frosch123>oh, i thought you wanted to print everything to console :o
17:19<Hirundo>yes, that's what I meant (originally)
17:20<Hirundo>I replied to your first sentence "at least one entity", which would be mandatory to call any CB in the first place
17:21<frosch123>oh, i a verb in that sentence :)
17:21<Hirundo>though I'd also like the ability to print user errors just when newgrf_developer_tools is enabled
17:21<frosch123>i meant that the debug output should only be active for those things you have the debug gui opened for
17:21<frosch123>but, maybe that can be controlled via the severity
17:22<frosch123>e.g. stuff to print in the debug gui when opened, stuff to always print, and stuff to pause the game on
17:22<frosch123>though the latter could also be done as for ais
17:22<Hirundo>sounds sensible
17:23<frosch123>via some ingame editbox which triggers on matching debug otuput
17:25<frosch123>hmm, i guess it needs both
17:25<frosch123>pausing the game on an assertion is something different than pausing it on a breakpoint
17:25<Eddi|zuHause>some way to get debug output for callbacks of one vehicle might be useful
17:25-!-Biolunar_ [mahdi@blfd-d9bf00a8.pool.mediaWays.net] has quit [Quit: gn8]
17:26<Hirundo>I'd suggest a fourth level - stuff to print only when some specific item+callback is flagged via the debug GUI
17:26<frosch123>Eddi|zuHause: add callback results to the newgrf debug gui
17:27<LordAro>night all
17:27-!-LordAro [56951e1e@ircip3.mibbit.com] has quit [Quit: http://www.mibbit.com ajax IRC Client]
17:27<Eddi|zuHause>not only results, also things like stepping through
17:28<frosch123>Hirundo: maybe if those debug action2 are not present, ottd could just print on every varact2
17:28<frosch123>when selecting a specific callback
17:28<frosch123>i.e. if there is a gui to select callback etc, the tracing should be easy
17:28-!-glx [glx@2a01:e35:2f59:c7c0:94c3:172a:f453:86b5] has joined #openttd
17:28-!-mode/#openttd [+v glx] by ChanServ
17:28<Eddi|zuHause>also: in the train window, i need a selector for which wagon i want to view
17:28<Hirundo>yes, agreed
17:29<andythenorth>sleepy time iggle piggle
17:29<Hirundo>for NML that is becoming less and less useful though, as the direct relationship between switch-blocks and varaction2 is getting removed
17:30<frosch123>Hirundo: if you compile something without debug symbols, you can still debug the assembler code
17:30<frosch123>:)
17:30-!-andythenorth [~Andy@cpc15-aztw25-2-0-cust3.aztw.cable.virginmedia.com] has quit [Quit: andythenorth]
17:31<Hirundo>Agreed
17:31<Hirundo>Currently NML projects are largely started by people who know NFO also, but will that be the same in a year or two? - I doubt
17:31<frosch123>yeah, also a reason grf2html is unmaintained. it is useless for nml :)
17:31-!-bodis [~bodis@cpc3-ando3-0-0-cust781.15-1.cable.virginmedia.com] has quit [Remote host closed the connection]
17:32-!-HerzogDeXtEr [~Flex@i59F6DB5D.versanet.de] has joined #openttd
17:32<frosch123>even if you know nfo
17:32-!-Neon [~Neon@dslb-094-219-009-117.pools.arcor-ip.net] has quit [Quit: Python is way too complicated... I prefer doing it quickly in C.]
17:33<frosch123>nml makes it too easy to write complicated terms :p
17:34-!-Fish-Face [~fish@cpc24-aztw23-2-0-cust147.aztw.cable.virginmedia.com] has joined #openttd
17:34-!-Brianetta [~brian@188-220-91-30.zone11.bethere.co.uk] has joined #openttd
17:35<Hirundo>^^ I have my doubts that the NFO -> NML conversion will ever work satisfactorily
17:35-!-Prof_Frink [~proffrink@5e090e25.bb.sky.com] has joined #openttd
17:35<Fish-Face>I want to add conditional orders so that trains arriving at a pickup skip to going back to the drop-off if they're full. But the conditional order is evaluated as soon as the train gets to the station, so it's never true when it arrives at the first one
17:35<Fish-Face>I tried adding a duplicate order but this makes the train leave the station and come back in, blocking the line in the process
17:35<Fish-Face>is there a good way to use conditional orders like this?
17:37<MNIM>sadly, i don't think there is. i wish there was something similar for my purposes too
17:37-!-HerzogDeXtEr1 [~Flex@i59F6B4E8.versanet.de] has quit [Ping timeout: 480 seconds]
17:38<Fish-Face>damn... so far all my ideas for using conditional orders have turned out to be impossible
17:38<Hirundo>Fish-Face: you can use waypoints to delay evaluation of the order
17:38<Fish-Face>presumably the waypoint must still be outside the station
17:38<frosch123>night
17:38-!-frosch123 [~frosch@frnk-590ff3d9.pool.mediaWays.net] has quit [Remote host closed the connection]
17:38-!-ezra [~ezrac@67.110.141.71] has quit [Quit: Puh-peace!]
17:39<MNIM>hmmmh, good idea. if you put the waypoint within the station's sign block, you won't block anything
17:41-!-perk11 [~perk11@broadband-77-37-203-211.nationalcablenetworks.ru] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org]
17:42-!-KouDy [~KouDy@ip-86-49-8-98.net.upcbroadband.cz] has quit [Quit: Leaving.]
17:53<krinn>and why not using the conditional order but to loop until empty ?
17:54<krinn>Fish-Face, i don't think you wish your train specially to run the line again before getting the order to get back because it is full no ?
17:54<krinn>so why not dup order after the drop off station and loop it if train is still full
17:55<krinn>your train won't get back full to the loading station, and you might even send it to a waypoint before return back to the dropoff station
18:05-!-sla_ro|master [~slaco@95.76.27.160] has quit [Quit: The Third Tiberium War - http://www.moddb.com/mods/the-third-tiberium-war]
18:13-!-Zephyris [~Zephyris_@host86-145-92-120.range86-145.btcentralplus.com] has joined #openttd
18:15-!-Zephyris [~Zephyris_@host86-145-92-120.range86-145.btcentralplus.com] has quit []
18:25-!-Vikthor [~Vikthor@78-80-200-5.tmcz.cz] has quit [Quit: Leaving.]
18:39-!-Pulec [~pulec@static-cl093181068250.unet.cz] has quit []
18:42<krinn>night all
18:42-!-krinn [~krinn@197.54.71.86.rev.sfr.net] has quit [Quit: Quitte]
18:57-!-TWerkhoven [~twerkhove@cpc14-linl7-2-0-cust28.sgyl.cable.virginmedia.com] has quit [Quit: He who can look into the future, has a brighter future to look into]
18:58-!-supermop_ [~daniel_er@rrcs-72-43-171-87.nyc.biz.rr.com] has quit [Remote host closed the connection]
19:43-!-KritiK [~Maxim@95-25-210-214.broadband.corbina.ru] has quit [Quit: Leaving]
19:51-!-Chris_Booth [~chatzilla@cpc7-newt30-2-0-cust37.newt.cable.virginmedia.com] has quit [Remote host closed the connection]
20:02-!-Zuu [~Zuu@h-114-141.a98.priv.bahnhof.se] has quit [Ping timeout: 480 seconds]
20:28-!-pugi [~pugi@p4FCC50A7.dip.t-dialin.net] has quit [Quit: I reject your reality and substitute my own]
20:50-!-ccfreak2k [~ccfreak2k@4chan.fm] has quit [Ping timeout: 480 seconds]
20:54-!-ccfreak2k [~ccfreak2k@4chan.fm] has joined #openttd
20:57-!-Brianetta [~brian@188-220-91-30.zone11.bethere.co.uk] has quit [Quit: Tschüß]
21:07-!-Chillosophy [~Chillosop@ip91350749.adsl-surfen.hetnet.nl] has quit []
21:32-!-glx [glx@2a01:e35:2f59:c7c0:94c3:172a:f453:86b5] has quit [Quit: bye]
22:26-!-rhaeder1 [~quix0r@dslb-188-100-217-171.pools.arcor-ip.net] has joined #openttd
22:29-!-bryjen [~bryjen@76.92.85.169] has quit [Quit: Leaving]
22:31-!-rhaeder [~quix0r@dslb-188-109-255-048.pools.arcor-ip.net] has quit [Ping timeout: 480 seconds]
23:38-!-davis [~b@p4FED018E.dip.t-dialin.net] has quit [Ping timeout: 480 seconds]
---Logclosed Fri Jul 29 00:00:46 2011