IRC logs for #openttd on OFTC at 2011-07-28
00:00:08 *** Brianetta has joined #openttd
00:13:04 *** seandasheep has quit IRC
01:06:07 *** glx has quit IRC
01:28:12 *** fjb has quit IRC
02:21:13 <Eddi|zuHause> <MNIM> considering germany before WW1 wasn't a single country, while austria was. <- problem is that the process was reversed, in austria, railways started out as state railways and then were privatised, while in germany railways started out as private and were then taken over by the states
02:22:02 <Eddi|zuHause> also, austria was not really "one country" either
02:29:18 *** Sevalecan has joined #openttd
03:14:56 *** DJNekkid has quit IRC
03:14:56 *** avdg has quit IRC
03:15:32 *** V453000 has quit IRC
03:16:02 *** V453000 has joined #openttd
03:16:02 *** DJNekkid has joined #openttd
03:16:32 *** avdg has joined #openttd
04:56:02 *** Eddi|zuHause has quit IRC
04:56:17 *** Eddi|zuHause has joined #openttd
05:18:58 *** andythenorth has joined #openttd
05:58:48 *** andythenorth has quit IRC
06:09:23 *** DayDreamer has joined #openttd
06:12:31 *** LordAro has joined #openttd
06:12:34 *** Prof_Frink has quit IRC
06:12:56 <LordAro> mornings
06:14:06 *** DayDreamer has quit IRC
06:15:56 <planetmaker> moin
06:17:03 <LordAro> how on earth has WmDOT got more downloads on bananas than AroAI? WmDOT's only been out a couple of weeks...
06:17:50 <LordAro> wait, oh yes... 1.1API for AroAI
06:18:16 <LordAro> in that case... why on earth don't people upgrade? :)
06:18:39 *** Br33z4hSlut5 has joined #openttd
06:24:08 *** Pikka has joined #openttd
06:43:09 *** sla_ro|master has joined #openttd
06:53:23 *** pugi has joined #openttd
06:55:52 <Terkhen> good morning
07:04:17 <Pikka> good morning Terkhen
07:16:12 *** Juo has quit IRC
07:25:48 *** Brianetta has joined #openttd
07:33:54 *** Alberth has joined #openttd
07:33:54 *** ChanServ sets mode: +o Alberth
07:34:49 <Pikka> good morning Brianetta and Alberth
07:35:06 <Brianetta> Good morning, PikkaBird (:
07:35:13 <Alberth> mornink Pikka
07:37:45 *** Biolunar has joined #openttd
07:38:00 <LordAro> mornings Terkhen, Pikka, Brianetta and Alberth :)
07:38:24 *** Vikthor has joined #openttd
07:38:42 *** Juo has joined #openttd
07:39:23 *** Juo has joined #openttd
07:39:47 <Brianetta> Let's nto allow this to become the fish scene from Monty Python's Meaning of Life (:
07:42:29 <__ln__> @base 10 26 1241431150
07:42:29 <DorpsGek> __ln__: 40CG4FO
07:43:07 <planetmaker> base 26, eh?
07:43:52 <__ln__> well alright, 36 would be more logical and effective
07:44:00 <planetmaker> 42 :-P
07:44:06 <__ln__> @base 10 36 1241431150
07:44:06 <DorpsGek> __ln__: KJ46EM
07:44:10 <planetmaker> but more difficult
07:44:33 <planetmaker> though... öäüßèé might then suffice to complement it
07:44:33 <peter1138> @base 36 16 HELLOTHERE
07:44:33 <DorpsGek> peter1138: 647B8834C91FA
07:44:45 <peter1138> @base 36 16 OPENTTD
07:44:45 <DorpsGek> peter1138: C857B48B1
07:45:01 <peter1138> dorpsgek is my new ipv6 address decider
07:45:01 <planetmaker> :-)
07:53:34 *** Biolunar has quit IRC
07:55:42 * SpComb steals one of peter1138's IPv6 addresses
07:57:50 *** Biolunar has joined #openttd
08:01:59 *** Progman has joined #openttd
08:07:03 <peter1138> just one?
08:07:25 <peter1138> i have 79228162514264337593543950336 available...
08:14:54 * Pikka steals 79228162514264337593543950335
08:16:51 <peter1138> DAMN IT
08:19:43 *** Zuu has joined #openttd
08:27:05 <dihedral> good morning ladies
08:44:54 <Pikka> good morning dihedral
09:00:37 <dihedral> hello Pikka ;-)
09:27:30 *** uni4dfx has quit IRC
09:45:14 *** andythenorth has joined #openttd
09:45:19 *** andythenorth has left #openttd
10:06:54 *** ar3kaw has joined #openttd
10:10:02 *** ar3kaw has quit IRC
10:10:18 *** ar3kaw has joined #openttd
10:13:39 *** ar3k has quit IRC
11:04:53 *** Chillosophy has joined #openttd
11:18:07 <LordAro> Alberth: <-- replies to your comments. <-- current patch
11:20:08 <LordAro> (replies to your commetns marked with '>>>>>')
11:31:33 *** ar3k has joined #openttd
11:38:52 *** ar3kaw has quit IRC
11:41:17 *** Juo has quit IRC
11:43:47 *** Chillosophy has quit IRC
11:44:03 *** Chillosophy has joined #openttd
11:44:27 *** Chillosophy has quit IRC
11:44:42 *** Chillosophy has joined #openttd
12:09:47 *** Neon has joined #openttd
12:24:08 *** Juo has joined #openttd
12:32:34 *** Kurimus has joined #openttd
12:35:17 <Eddi|zuHause> @calc 2*25835+6*24775
12:35:17 <DorpsGek> Eddi|zuHause: 200320
12:37:02 <Pikka> bee bee el
12:37:07 *** Pikka has quit IRC
12:46:45 <Belugas> hello
12:48:04 <LordAro> hi Belugas
12:48:11 <Alberth> LordAro: some explanations to the answers of my comments to your patch
12:48:21 <Alberth> hi sir Belugas
12:48:33 <LordAro> niely timed :) thanks
12:48:52 <LordAro> s/niely/nicely/
12:49:09 * Alberth is unaware of any timing issue :p
12:49:14 <LordAro> but of course openttdcoop is 'Internal Server Error'
12:49:50 <Alberth> 'internal', right :)
12:50:15 <planetmaker> hm, which?
12:50:22 <LordAro> not my fault, blame Ammler :)
12:50:31 <planetmaker> afaik our servers are all up and running fine
12:50:38 <LordAro> planetmaker: the link above
12:50:47 <planetmaker> which? the paste server?
12:50:53 <planetmaker> delete the cookies
12:51:13 <planetmaker> the server is fine but stale sessions produce that. Deleting cookies helps in that case
12:51:41 <planetmaker> (yes, even a stale session shouldn't give you that result. But unfortunately it does)
12:52:06 <LordAro> it was fine a moment ago
12:52:09 <Alberth> hmm, perhaps because I used the 'reply' button?
12:52:22 <planetmaker> LordAro, but it works for me [TM]
12:53:15 <Belugas> hello Lord Aro, hello King Alberth
12:53:22 <LordAro> fixed. t'was cookies
12:53:41 * Belugas wants some!
12:55:17 <Alberth> unfortunately, I only have industry zones
13:10:10 <Belugas> bad taste for cookies
13:10:18 * Belugas does not want anymore
13:13:41 *** thinksteve has joined #openttd
13:14:12 <thinksteve> Hi there, is it possible to force openttd 1.1.0 to load save games although grf files are missing?
13:19:33 <Hirundo> Why would you want to do that? what grfs are missing?
13:20:37 <thinksteve> These are old savegames, from the time when opengfx was inofficially shipped in separate packages.
13:21:39 <LordAro> Alberth: <-- replies to replies to replies :) (prefixed with '@@@')
13:22:15 <Terkhen> thinksteve: IIRC the openttdcoop newgrf pack includes those
13:22:21 <Alberth> opengfx has nothing to do with grfs
13:22:41 <Terkhen> Alberth: the first tasters of opengfx are newgrfs
13:22:42 <Ammler> shouldn't scenario_developer allow that?
13:23:05 <Alberth> Ammler: a savegame?
13:24:06 <thinksteve> Should have read manual first. Option '-g' allows autoloading savegames, even those with incomplete newgrf sets. :)
13:24:24 <Ammler> really? :-o
13:24:40 <Terkhen> strange :P
13:24:54 <Ammler> I would guess, it just replaces your savegame with a random map
13:25:05 <thinksteve> Please, do not fix that. :D
13:25:21 <Ammler> did you try scenario_developer?
13:26:50 <Ammler> well, it would be a bug, if openttd does not allow such saves ;-)
13:27:04 <Alberth> LordAro: line 91: you should read about destructors :)
13:27:27 <thinksteve> Do'h, can't remove the unwanted grfs in-game.
13:27:44 <LordAro> Alberth: of course, i forgot about that :)
13:27:53 <Ammler> thinksteve: [15:25] <Ammler> did you try scenario_developer?
13:28:12 <LordAro> thinksteve: then you clearly haven't tried scenario_developer setting yet ;)
13:28:35 <Alberth> LordAro: line 134 seems not so needed imho (just set it always). 136 what does 'filesize' do?
13:29:10 <thinksteve> Sorry, is that one documented, Ammler
13:29:57 *** Adambean has joined #openttd
13:30:26 <thinksteve> Again, should have read the wiki, before asking, thank you.
13:32:16 <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.
13:32:16 <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.
13:34:38 <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
14:05:39 <Eddi|zuHause> @calc 25.6/15.57
14:05:39 <DorpsGek> Eddi|zuHause: 1.64418754014
14:05:56 <Eddi|zuHause> @calc 18.2/18.95
14:05:56 <DorpsGek> Eddi|zuHause: 0.960422163588
14:06:16 <Eddi|zuHause> @calc 18.2/18.95*2
14:06:16 <DorpsGek> Eddi|zuHause: 1.92084432718
14:07:14 <Eddi|zuHause> @calc 18.9/23.05*2
14:07:14 <DorpsGek> Eddi|zuHause: 1.6399132321
14:25:43 *** andythenorth has joined #openttd
14:25:44 *** andythenorth has left #openttd
14:33:58 *** DayDreamer has joined #openttd
14:49:49 <LordAro> Alberth: thanks (again)
14:49:56 * LordAro saves copy of logs
14:55:25 *** Br33z4hSlut5 has quit IRC
15:10:19 *** Brianetta has quit IRC
15:11:54 *** Alberth has left #openttd
15:17:56 *** Pulec has joined #openttd
15:37:33 *** LordAro has quit IRC
15:52:58 *** Pulec has quit IRC
15:57:01 *** Pulec has joined #openttd
16:01:39 *** KouDy has joined #openttd
16:19:13 *** Brianetta has joined #openttd
16:27:44 *** davis has quit IRC
16:28:50 *** frosch123 has joined #openttd
16:29:24 *** davis has joined #openttd
16:34:13 *** bryjen has joined #openttd
16:44:20 *** LordAro has joined #openttd
16:54:37 *** TWerkhoven has joined #openttd
16:55:11 <dihedral> andybody a magento hero in here?
17:03:00 <Sacro> I'm more cyan
17:04:06 *** Juo has quit IRC
17:11:19 * Zuu got syncron ( = non-asyncron) upgrading of airports to wok.
17:11:52 <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.
17:12:09 <__ln__> airport wok sounds like food.
17:12:33 <Zuu> :-D
17:15:13 <SpComb> syn-cron
17:18:42 <__ln__>
17:19:40 *** krinn has joined #openttd
17:19:56 <krinn> hi
17:20:28 <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)
17:22:07 <planetmaker> you only raise or lower corners ;-)
17:22:44 <Terkhen> I remember reading something about half heights and so on, but I don't remember where
17:22:51 <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
17:23:27 <Terkhen> but then the lowering affects the tile with the object somehow
17:23:59 <krinn> yes Terkhen and i need to find how the effect is apply
17:24: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
17:24:38 <planetmaker> krinn: simple: adjacent corners can only differ by height 1 at most
17:25:07 <planetmaker> if a change would result in a bigger difference, openttd tries to terraform other tiles as needed
17:25:37 <krinn> yep i saw that planetmaker that's that that i need to know: how openttd decide
17:25:55 <planetmaker> how "how"?
17:26:04 <krinn> it's not for human playing (there's no disaster where a mount collapse because i lower the bad tile :) )
17:26:13 <krinn> it's for an ai
17:26:28 <planetmaker> oh, humans can do that, too.
17:26:37 <planetmaker> And they can ruin themselves being unaware of that
17:26:40 <planetmaker> seen that, been there
17:26:49 <krinn> lol with water yes
17:26:55 <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
17:26:56 <planetmaker> use the cost estimate for that. AIs should have that option, too
17:27:10 <krinn> but for an ai it's more problematic
17:27:12 <Terkhen> if height difference > 1 -> terraform else stop
17:27:20 <Terkhen> at a very simplistic level
17:27:35 <planetmaker> yep. otherwise... terraform_cmd.cpp
17:28:03 <Terkhen> IIRC the real method adds corners to a list and iterates through them until everything is correct
17:28:12 <planetmaker> but I really see not how an AI would profit from that knowledge
17:28:14 <Terkhen> but... yes, if you need to know it in detail then the code is best :)
17:28:16 <krinn> i have a working terraforming now
17:28:31 <krinn> but i'm trying to predict its result without actually do it
17:28:42 <krinn> it's not like human where you can just see if it will work
17:29:09 <planetmaker> hm, ok, yes :-)
17:29:52 <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?
17:30:21 <krinn> nope, a failure mean lost money and maybe more terraforming to undo your previous try
17:30:27 <krinn> hence the prediction first
17:30:32 <Terkhen> a failed terraform does nothing
17:30:42 *** Juo has joined #openttd
17:30:42 <Terkhen> oh, you want to predict ALL terraforming
17:30:53 <Terkhen> that will be quite costly on cpu time :)
17:30:55 <krinn> nope only mine
17:30:59 <planetmaker> As I understand you want to programme the "eyes" of your AI...
17:31:08 <krinn> exact planetmaker
17:31:13 <Terkhen> what I mean is: check ALL terraform steps you plan to do before actually doing them
17:31:23 <SpComb> easier to ask for forgiveness than get permission
17:31:23 <LordAro> krinn: good luck :)
17:31:38 <Terkhen> IMO an heuristic would be better than checking everything
17:31:48 <Terkhen> sounds too costly in cpu time
17:31:50 <SpComb> OpenTTD obviously needs transactions..
17:31:57 <Zuu> hmm, IIRC, terraforming is executed even if not all tiles can be terraformed as requested via the API.
17:32:18 <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
17:32:28 <SpComb> what if you predict your terraforming, it's fine, then you start to terraform, and someone else starts building concurrently? :)
17:32:31 <Terkhen> Zuu: probably, as it works that way for human players too
17:32:49 <Terkhen> but humans don't calculate everything either
17:32:54 <krinn> SbComb: this is acceptable, lost money because of unkown event
17:32:56 <Terkhen> they apply their "expert knowledge" :P
17:33:00 <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
17:33:07 *** Chris_Booth has joined #openttd
17:33:07 <Zuu> For rail/road building the API is more restrictive and returns fales (failure) if not the entire stretch can be built.
17:33:18 <SpComb> but transactional game state would solve all of this \o/
17:33:32 <Terkhen> Zuu: it would be easy to provide an option for AIs to work the same as for players
17:33:48 <Terkhen> I did that change, but if requested that option could be added
17:34:00 <Terkhen> (regarding roads and rails)
17:34:13 <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.
17:34:32 <Terkhen> my thinking was that it was more useful that way :)
17:34:35 <Zuu> That makes more sense to an AI than the GUI behaviour.
17:34:37 <Terkhen> but for terraforming... it is more difficult
17:34:47 <Terkhen> the AI can always restrict terraforming to single corner steps
17:35:19 <Zuu> Anyway, I wait with excitment for krinn's masterpice in terraforming :-)
17:35:30 <LordAro> :)
17:35:42 <krinn> well, code is ready
17:36:05 <krinn> but i need to predict its result to not let the ai working on a sure failure
17:36:42 <Terkhen> krinn: your best bet is to emulate the actual code that checks corners
17:36:45 <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
17:36:58 <Terkhen> and if you can find a faster method for checking them... that would be awesome :P
17:37:19 <planetmaker> and give that method to Zuu to implement in the superlib or so ;-)
17:37:21 <Terkhen> I gave it two tries, one of them was slower and the other much more complicated and mostly the same
17:37:35 <planetmaker> and yes, algorithmically faster... give that also to us ;-)
17:37:42 <Terkhen> the more height levels guys gave it another try, but it is only useful for really big tile selections
17:38:51 <krinn> i will check terraform.c as no infos seems to exist on that subject
17:39:00 <krinn> i'm a bit surprise none ask that before
17:39:53 <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
17:40:14 <krinn> maybe because ai deal with this by terraforming until failure
17:40:18 <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.
17:40:29 <krinn> keep loosing money and just fuck the whole terran
17:40:59 <krinn> zuu i have resolve as counting each tile in the area
17:41:08 <krinn> and then sort the result by number
17:41:25 <krinn> and then just try higher to lower by number
17:41:38 *** Brianetta has quit IRC
17:42:30 <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)
17:42:52 *** perk11 has joined #openttd
17:43:37 <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.
17:43:54 <krinn> but code is still dirty & under dev
17:44:13 *** Biolunar_ has joined #openttd
17:44:17 <Zuu> I've just added some randomization to it which has improved the succss rate a bit I think.
17:45:00 <krinn> i add priority for tiles, if we lower, work on higher tiles first (and vice versa)
17:45:03 <Zuu> Still, my CluelessPlus spend far more money on statues than terraforming I think :-)
17:45:14 <krinn> so you won't fail trying to lower a tile that is bellow one
17:45:26 <CIA-2> OpenTTD: translators * r22691 /trunk/src/lang/ (greek.txt romanian.txt ukrainian.txt):
17:45:26 <CIA-2> OpenTTD: -Update from WebTranslator v3.0:
17:45:26 <CIA-2> OpenTTD: greek - 14 changes by kyrm
17:45:26 <CIA-2> OpenTTD: romanian - 1 changes by kkmic
17:45:26 <CIA-2> OpenTTD: ukrainian - 6 changes by Madvin
17:45:50 <Zuu> All that said, I got to get back working on upgrading of airports. :-)
17:46:21 <krinn> :)
17:46:43 <krinn> that's also why i work on terraform, bitchy airport upgrade are pain with big size need for them
17:47:12 *** KouDy has quit IRC
17:47:50 *** KouDy has joined #openttd
17:47:56 *** Wolf01 has joined #openttd
17:48:44 <Wolf01> hello
17:49:24 <krinn> hi
17:50:05 <Terkhen> hi Wolf01
17:50:33 *** Biolunar has quit IRC
17:52:52 <krinn> * The maximal amount of affected tiles (i.e. the tiles that incident with one of the corners above, is computed similiar to
17:52:52 <krinn> * 1 + 4 * \sum_{i=1}^{h_max} (i+1) = 1 + 2 * h_max + (h_max + 3).
17:53:05 <krinn> hihi just @ start of terraform_cmd.cpp
17:54:01 *** supermop_ has joined #openttd
17:54:55 <Terkhen> :P
17:58:33 <__ln__> Wolf01:
17:58:45 <Wolf01> yeah
18:09:30 <krinn> hmmm looks hard, ttd api use IsTunnelInWay IsBridgeAbove...that's cheat ! we don't have those ones in our api :)
18:13:30 <Terkhen> you don't have functions for checking tunnel/bridge direction and lenght?
18:14:23 <krinn> nope only to check a tile for tunnel entry & exit
18:14:46 <krinn> so i cannot predict if a tunnel is bellow a tile except by finding all tiles on both direction for a tunnel entry
18:14:57 <krinn> can't let my ai scan the whole map to figure that
18:15:19 <Rubidium> if you know a tile is an entrance/exit you can deduce the level by the slope and lowest height of the tile
18:15:27 <Rubidium> level and direction
18:15:33 <krinn> but to know that, i need to scan the whole map
18:16:07 <krinn> it's ok if the tunnel is mine, i could just record where they are, but not when it's not mine
18:16:18 <Rubidium> if you terraform a 4x4 bit you need at most 4xmax_width + 4xmax_height
18:17:06 <krinn> at 16x16 influence scheme so
18:17:16 <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
18:18:16 <Rubidium> hmm, aren't AI terraform level area commands 'either do everything or die'?
18:18:24 <Rubidium> I seem to remember a discussion about that
18:18:39 <krinn> yes, but itry to avoid the try
18:18:51 <krinn> 1/ not to destroy the land for nothing, and not to loose money
18:19:05 <Rubidium> huh?
18:19:10 <krinn> 2/ and not to increase my costs after trying another solve
18:19:12 <Rubidium> use the test state
18:19:29 <krinn> test state is weak it fail if tile is bellow another tile no ?
18:19:35 <Rubidium> <- only tests commands
18:20:12 <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
18:20:38 <Rubidium> nah, test mode doesn't create a new map state
18:21:07 <Rubidium> and it seems that LevelTiles doesn't what I thought it'd do
18:21:21 <krinn> i'll try that and see result
18:22:01 <Rubidium> so in test mode the only "sure" thing is raising or lowering one level by means of lowertile/raisetile
18:22:04 <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)
18:22:14 <krinn> yes, only that
18:22:22 <krinn> test mode will only say ok if you lower a
18:22:34 <krinn> if you really lower a, then testmode will say ok if you test to remove b
18:22:43 <Rubidium> it cannot remember state of previous tests, besides 'okay' and/or cost
18:23:09 <krinn> not when i try, but i might as i said have tried to remove b before a
18:23:49 <Rubidium> test mode uses the same test that is done before executing a command to see whether it will succeed (in MP)
18:24:16 <Rubidium> as such test mode is written in such a way that it may not influence anything state related
18:25:22 <krinn> i will do a test on with tile a bellow tile b and a rail on tile b to clear
18:25:39 <krinn> in theory, testmode should say yes for clear b, lower b, lower a
18:25:43 <peter1138> herpderp
18:26:07 <krinn> and no if it forget a state (b clear or b lowered)
18:26:41 <Rubidium> it forgets state
18:26:52 <krinn> so it could then only fail
18:27:53 <krinn> it's sad, because ai will get force to terraform blindly
18:28:05 <krinn> and many human don't like terraform testing :)
18:29:38 *** andythenorth has joined #openttd
18:29:40 <krinn> to resume my predictions could only predict success by checking 4*tilestoteraform for clear state
18:29:51 <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?
18:29:56 *** supermop has joined #openttd
18:29:56 <andythenorth> hello
18:30:07 <andythenorth> yay
18:30:21 <andythenorth> my new wifi reaches the bathroom reliably :P
18:30:43 <krinn> maybe just giving away the bridge & tunnel should be enough
18:31:19 <krinn> i could scan all wanted tile for clear to build state + road/rail/ anything not buildable easy
18:31:51 <krinn> but without the tunnelbellowtile and bridgeuppertile, i can't seriously seek the whole map to find possible bridge/tunnel
18:32:51 <krinn> IsTunnelInWay && MayHaveBridgeAbove(tile)
18:33:46 <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
18:34:36 <Rubidium> oh, you only need 2 directions ;)
18:35:16 <krinn> lol yes
18:35:31 <Rubidium> (preferably the shortest one to the edge)
18:35:53 <krinn> that's better for the iteration :p
18:36:05 *** gadafi has joined #openttd
18:36:26 <krinn> lol just hope we're not playing against a mad human that love zillion meters tunnel length
18:37:17 <Terkhen> given how they like to annoy AIs you can bet they will do that :P
18:37:30 <krinn> lol
18:38:11 *** supermop has left #openttd
18:38:21 <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 :)
18:41:03 <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)
18:41:39 <krinn> while an ai would prefer check if a tunnel is at the the height you wish to go
18:44:20 <krinn> do bridge have various height ? i see someone implement a GetBridgeHeight
18:44:35 <andythenorth> "is this fork still maintained and distributed?" <-wtf?
18:45:02 <andythenorth> the first post in the thread is dated June, and near-official binaries are being distributed. Is he trolling?
18:45:04 <andythenorth> (YACD thread)
18:46:01 <krinn> i would say yes, because he says fork
18:47:11 <Hirundo> I'd guess ignorance, not trolling
18:49:18 <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)
18:49:56 <Eddi|zuHause> most people didn't actually say the things that people say they said :p
18:50:51 <krinn> i know, and i also find this one strange coming out from einstein, but this one is credit to him in many sources
18:51:27 <Terkhen> IIRC many scientists are known to have said that before him
18:51:54 <Terkhen> oh, he asked it twice
18:51:56 <Terkhen> how cute
18:52:02 <krinn> and with internet, many sources could ack others source that are ack others...
18:52:03 <Terkhen> once for yacd, once for cargodist
18:53:33 * Rubidium wonders... what if SROTF would make a forum rule that states: "thread gets closed if someone asks for updates"
18:54:12 <planetmaker> haha :-)
18:54:16 <planetmaker> sounds good
18:54:20 <Eddi|zuHause> why is that the thread/patch author's fault?
18:55:00 <Rubidium> it's like Godwin's law, if the thread comes to that it's dead ;)
18:55:03 <Terkhen> because he is obviously not updating frequently enough :P
18:55:19 <Terkhen> if a random user comes and sees no updates for three days -> thread dead
18:55:57 <Rubidium> yeah, that should teach them
18:56:12 <Rubidium> or they get flogged by the rest of the forum
18:56:25 * krinn gone asking update in "Is OTTD getting to complex?" thread
18:57:02 <Rubidium> fine by me... leaves the whole terraforming problem in your lap ;)
18:57:06 *** remax has joined #openttd
18:57:10 <krinn> lol
18:57:11 <remax> hi al
18:57:13 <remax> l
18:57:18 <krinn> hi remax
18:57:37 *** ricky26 has quit IRC
18:57:37 *** ricky26 has joined #openttd
18:57:41 *** remax has quit IRC
18:57:54 <__ln__>
18:58:46 <Rubidium> those German connections aren't that stable anymore, it seems... or is his attention span just so short ;)
19:00:07 *** bodis has joined #openttd
19:03:49 <krinn> lol wonder if i should allow my ai to build at water level, so human can play with that :)
19:05:06 <krinn> ahah there's the flooded event
19:05:34 <__ln__>
19:05:38 <krinn> you guys are too vicious
19:06:44 *** Chris_Booth_ has joined #openttd
19:07:27 <krinn> english rail have diff width ?
19:10:19 <Eddi|zuHause> krinn: not track width, but wagon width/height
19:11:55 <krinn> they never do anything like others
19:11:58 *** Chris_Booth has quit IRC
19:12:09 <andythenorth> it's because we do it first :P
19:12:11 *** Chris_Booth_ is now known as Chris_Booth
19:12:13 <Eddi|zuHause> well, they were kinda the first :p
19:12:17 <andythenorth> first mover advantage is a myth
19:14:28 *** gadafi has quit IRC
19:14:38 <Eddi|zuHause> it's like the "640k is probably enough" syndrome
19:15:28 <krinn> you mean that one is a myth ?
19:16:56 <andythenorth> it's fine as long as you have enough 640k sticks of RAM
19:17:46 <krinn> i think he said it, look at that quote, proof he might have said the other too
19:17:47 <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
19:18:13 <krinn> oh i see now
19:18:28 *** KritiK has joined #openttd
19:19:19 <__ln__> did you know: sweden was a left-driving country until as late as 1967?
19:19:56 <krinn> no
19:20:18 <krinn> i was thinking just english colonies were doing it
19:20:40 <Eddi|zuHause> yes, i did know
19:21:27 <krinn> well, earlier design is always a failure, look at eve
19:22:04 <__ln__> japan is also not an english colony
19:22:28 <krinn> what i said is right if you don't know japan also drive left :)
19:22:31 <Eddi|zuHause> austria was also a drive-on-left country
19:22:43 <Eddi|zuHause> not sure when they switched
19:22:44 <krinn> they aren't anymore?
19:22:50 <krinn> i was thinking they were still
19:23:02 <Eddi|zuHause> you're thinking australia
19:23:18 <krinn> ah yes mistake
19:23:30 <krinn> wasn't aware for austria too so
19:23:51 <Eddi|zuHause> i meant austria, as basically covering most of southeast europe pre-WWI
19:25:05 <krinn> why they change?
19:25:31 <Chris_Booth> Eddi|zuHause: you will probably find austria changed when the Nazi party took over in the 1930's
19:25:56 <Eddi|zuHause> Chris_Booth: yeah, i suspect that, but i have no source supporting that
19:26:14 <krinn> look better to swap if a tank is driving on your line
19:26:17 <Chris_Booth> nor do I. I was just speculating
19:27:08 <Eddi|zuHause> krinn: taking over austria did not happen with tanks, they had an election with 99% "yes" outcome
19:27:21 <krinn> When Germany annexed Austria in 1938, Hitler ordered that the traffic should change from the left to the right side of the road
19:27:29 <krinn> from here
19:27:55 <krinn> oh italian were also driving left
19:28:05 <krinn> In Italy the practice of driving on the right first began in the late 1890s
19:28:30 <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
19:29:42 <krinn> didn't know so many countries were driving left at first
19:29:48 <krinn> interresting page
19:30:17 <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
19:31:05 <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
19:32:48 <krinn> Algeria is state as driving right, lol they never visit it, algerian should be state driving crazy where you can
19:33:56 <andythenorth> india is driving left
19:34:03 <andythenorth> so 1/6 of world population
19:34:21 <krinn> i knew for india, english colony
19:34:26 <andythenorth> driving on the left is somewhat the official position
19:34:36 <andythenorth> actual driving side is more a matter for negotiation
19:34:54 <LordAro> i hear italy is somewhat similar :)
19:35:18 <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
19:35:29 <krinn> in italia it's more "stopping side and one will try to sell you a phone"
19:36:20 <krinn> the explain for left driving at first looks logic and true, with the horses and sword...
19:37:11 <Eddi|zuHause> i don't really buy the horse&sword argument
19:37:13 <andythenorth> there's some thing about people naturally turning to left or such
19:37:17 <andythenorth> statistically
19:37:44 <krinn> andythenorth, i think it's more depend on brain side at work for that
19:37:55 <andythenorth> hmm
19:38:03 <andythenorth> brain side may be somewhat bad science
19:38:20 <krinn> like left hand one use more right side of brain
19:39:55 <krinn> i doubt the french revolution story
19:40:56 <krinn> left or right, passing with a wagon was a sure sign of power
19:43:09 *** KouDy has quit IRC
19:43:28 <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.
19:43:47 *** KouDy has joined #openttd
19:44:28 <krinn> you've made a prediction for tunnel or just check after error a tunnel is in the way ?
19:45:23 *** TWerkhoven has quit IRC
19:46:33 <Zuu> I don't do any preconditions for tunnels.
19:47:04 <Zuu> As far as I remember. But tunnels can easily be checked in test-mode given that you have enough money.
19:47:14 <krinn> you've put that in tile.nut ?
19:48:23 <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
19:48:36 <krinn> the problem is finding the tunnel while you are 2 tiles upper without digging
19:48:51 <Zuu> Yes Tile.GetBridgeAboveStart(tile, bridge_search_direction)
19:49:03 <krinn> see: why try dig 3 if you know 2 tiles bellow there's a tunnel
19:50:22 <Zuu> I see that problem yes. I guess you have to implement a method for that as that is not in the API.
19:51:09 <krinn> i don't think it could be done, because testmode forget you've just dig
19:51:23 <krinn> else we could have dig, dig, dig -> error tunnel on the way ! bingo tunnel found
19:52:42 <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 ?
19:53:28 <krinn> so except if not use in the terraform.cpp i think noone has create a gettunnelheight function like
19:55:29 <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
19:55:56 *** TWerkhoven has joined #openttd
19:57:08 <krinn> to be effective we would need to do that function, but on each tile of the map, not something really doable
19:57:20 <Zuu> My function will search the direction you give it. One of the 4 main directions until it finds a bridge start.
19:57: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
19:58:13 <bfrog> diagonal bridges?
19:58:22 <Zuu> Diagonal bridges don't exist
19:58:30 <krinn> hopefully :)
19:58:48 <bfrog> I wish I could just get a "autotrack" layer tool
19:58:55 <Zuu> IIRC it will check the bridge start and make sure the bride goes back to the tile that you give the function.
19:58:57 <bfrog> like, dude, draw me some double tracks with lights
19:59:00 <Zuu> Hence the name "Above"
19:59:45 <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
20:01: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
20:01:35 <Zuu> Indeed in your case you need that.
20:02:40 <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
20:02:56 <Zuu> But you don't need to scan all tiles in both directions if you think a bit.
20:03:03 <Zuu> if you have an area of tiles.
20:03:06 <krinn> yep just one
20:03:49 <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
20:05:52 <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
20:06:20 <krinn> just to move 10 tiles north, and with hope you're just 15 tiles near a border
20:10: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.
20:10:45 <krinn> hihi, nope you can hit a hill where a bridge is just upper
20:10:58 <krinn> but you are still under it and crossing it
20:11:09 <Zuu> And if the map is flat, you don't need to do any terraforming :-)
20:11:15 <krinn> lol true
20:12:15 <Hirundo> frosch123: Currently Action C prints a debug string to the console, would it be possible to add printf-like functionality to that?
20:14:01 <krinn> your downslope technic could be apply yep but i'm not sure you cannot build a bridge over a small hill
20:14:05 <krinn> let me check
20:14:25 <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. :-)
20:14:38 *** Kurimus has quit IRC
20:14:56 <Zuu> <-- code
20:15:20 <Rubidium> pff... the algorithm depends on what you want to know exactly ;)
20:15:47 <frosch123> Hirundo: like including grf parameters?
20:15:53 <Rubidium> if you want to know whether there's a bridge at all, you have to scan the half of both the row/colum
20: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
20:16:47 *** Adambean has quit IRC
20:17:00 <krinn> yep, i see i can build a little hill 1 height if one build a bridge over 2 steepslope
20:17:20 <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?
20:17:26 <Rubidium> (similarly for tunnels)
20:18:27 <krinn> well, know the level of the bridge would answer the isthereabridge but also tell you if you could pass bellow or not
20:18:35 <Eddi|zuHause> GetAllTunnelBridges(tile) resulting in a list of heights/directions/whatevers?
20:19:03 <krinn> Eddi|zuHause, actually finding bridge direction is really easy knowing a tile is a bridge
20:19:22 <Rubidium> but the requires lots of iterating, whereas if you give a boundary you'll be able to terminate the search much sooner
20:19:23 <Eddi|zuHause> (that one is potentially extensible to crossing bridges etc.)
20:20:15 <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)
20:20:31 <krinn> but for bridge, openttd have the function to get its height already
20:20:38 <Rubidium> tunnels and bridges can be equally long
20:21:03 <krinn> MayHaveBridgeAbove(tile) && IsBridgeAbove(tile) &&
20:21:03 <krinn> GetBridgeHeight(GetSouthernBridgeEnd(tile))
20:21:25 <Eddi|zuHause> krinn: yes, that is because the bridge direction is stored in the tile
20:21:36 <Rubidium> GetSouthernBridgeEnd is found by iterating the map
20:21:45 <Eddi|zuHause> so it's a simple linear iteration from there
20:21:57 <Eddi|zuHause> to find the bridge head
20:22:29 <krinn> yep but iterating for openttd is just running, while for an ai it's taking everyone time
20:22:57 <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
20:23:12 <krinn> and it even iter a 2nd time to get the costs of the actions
20:23:28 <krinn> never saw any complain that the game run slower when one click raise tile
20:23:35 <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."
20:23:58 <Eddi|zuHause> yay for voting computers!
20:24:10 <andythenorth> ya
20:24:24 <andythenorth> very important to count votes correctly in India
20:24:37 <Rubidium> krinn: I've seen them for levelling land
20:24:39 <andythenorth> otherwise the politicians won't know who to pay
20:25:08 <krinn> but didn't saw any for tunnel
20:25:29 <krinn> as openttd just check the tile bellow for lowering, and don't need to check if two tiles bellow there's one
20:25:59 <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
20:26:18 <Wolf01> 'night
20:26:20 <Rubidium> krinn: I guess you're right
20:26:23 *** Wolf01 has quit IRC
20:26:34 <Rubidium> tunnels aren't quite drawn, bridges are
20:28:12 <krinn> just check, i wasn't sure, but you can build really high bridge in openttd
20:28:35 <krinn> 7 tiles from a hill to another 7 tiles hill and it work
20:28:47 <krinn> lol quite impressive construction
20:28:56 <krinn> more like a viaduc
20:28:57 <Rubidium> 16 heightlevels works fine as well
20:29:24 <krinn> must be why one create the getbridgeheight
20:34:54 *** Pikka has joined #openttd
20:35:09 *** Progman has quit IRC
20:35:51 *** rhaeder has joined #openttd
20:38:00 <Pikka> moin mentelgen
20:38:50 <Eddi|zuHause> you're writing upside down.
20:39:58 <__ln__> expectable
20:41:04 <Terkhen> hi Pikka
20:42:08 <krinn> hi
20:43:19 * andythenorth spots a pikka
20:43:36 <Pikka> a rare spotted pikka!
20:43:55 * andythenorth plays dicewars
20:44:44 * andythenorth wonders if dicewars supports newgrf
20:45:06 <frosch123> NewDice
20:45:15 <andythenorth> NewWars
20:45:27 <frosch123> ottd is a peaceful game
20:45:29 <andythenorth> the lighting in DiceWars is wrong :P
20:45:46 <andythenorth> clearly not compatible with ttd original graphics
20:45:49 <andythenorth> sun is on the left
20:45:52 <andythenorth>
20:46:19 <andythenorth> ^ and there goes your evening
20:47:33 <Zuu> krinn: See tt-forums. I just posted a comparison between our AIs in your AI thread :-)
20:48:26 <Zuu> Your AI is doing well
20:48:41 <krinn> not as good as i wish :)
20:48:55 <krinn> and my AI sucks at terraforming lol
20:49:29 * LordAro is losing badly at diceawars :)
20:50:32 <andythenorth> LordAro: you'll lose as many as you win
20:50:37 <andythenorth> there's a certain amount of chance
20:50:45 <Terkhen> huh... looks strange
20:50:56 <andythenorth> it's a good exercise in drawing your opponent in
20:51:03 <andythenorth> the computer players are not sophisticated
20:51:26 <krinn> Zuu, shit i've lost the war, and i was happy before see it
20:51:40 <andythenorth> it's quite easy to get them to over-extend themselve
20:51:54 <Rubidium> krinn: sucks at terraforming or can't do terraforming at all?
20:52:02 <Pikka> andy, did you see my recent PM? look okay?
20:52:26 <Rubidium> you might outperform almost all AIs in one of my test games if your AI can perform some terraforming
20:52:26 <krinn> can't do any at all Rubidium :)
20:52:48 <krinn> this is what i'm trying to correct, that's what the aircraft tests show me
20:53:01 <andythenorth> Pikka: oops
20:53:04 <andythenorth> sorry, forgot to reply
20:53:04 <krinn> dunno if the tests are good for user, but for ai dev, it's a great feature :)
20:53:27 <andythenorth> Pikka: forest fire industry?
20:53:33 <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...
20:53:40 <Zuu> krinn: heh, don't take it soo deadly ;-)
20:54:05 <Pikka> andy: perhaps. :P
20:54:49 <andythenorth> can we load it with a crate?
20:54:53 <andythenorth> that would be easiest
20:55:00 <krinn> we cannot be sure, but i think i have less property maintenance in fact, just the aiports that dope the value
20:55:56 <Pikka> perhaps andy... although obviously you'll want fancy loads for your FIRS cargos? :P
20:56:02 <andythenorth> hmm
20:56:14 <andythenorth> well there's a small bulldozer that might fit
20:56:31 <Hirundo> frosch123: Yes, basically 0C <null-terminated-string> <param1> <param2> ... <paramn>
20:56:34 <Pikka> and of course wood, steel etc would be good with their own graphics
20:56:34 <andythenorth> I am a big fan of 'all cargoes travel in crates' :P
20:56:38 <Pikka> lol
20:56:57 <Pikka> well, I can certainly do some of the loads :)
20:57:31 <Pikka> I remind you that this was your idea though :P
20:57:35 <andythenorth> I'll dig up some FIRS sprites
20:57:43 <andythenorth> how about a boat?
20:57:51 <andythenorth> how about another plane?
20:58:10 <andythenorth>
20:58:33 <Pikka> mmhm :P
20:58:49 <Pikka> I don't think planes have been introduced as a cargo though
20:58:58 <andythenorth>,r:0,s:0
20:59:54 <frosch123> Hirundo: i wonder whether some functions, which prints all registers upon usage wouldn
21:00:01 <frosch123> 't be more useful?
21:00:27 <Hirundo> registers or parameters?
21:00:37 <frosch123> plus the final parameter values after activation
21:00:42 <Pikka> mm, Mi-26
21:00:44 <frosch123> sorry, parameters :)
21:01:07 <Pikka> you're going to want me to add that one next
21:01:08 <frosch123> for callbacks i always wanted to add some backtrace feature to the console or newgrf debug window
21:01:54 <andythenorth> Pikka:
21:02:02 <andythenorth> is bulldozers
21:02:05 <Hirundo> For NML purposes, I was thinking about a 'debug action 2'
21:02:33 <Pikka> cool
21:02:56 <andythenorth> Pikka:
21:03:00 <Pikka> so they're "engineering supplies" (and perhaps "goods")?
21:03:05 <frosch123> Hirundo: how would that look like?
21:03:10 <Hirundo> basically an action2 that contains a printf(string, var1, var2, ..) vars can be any variable (with optional parameter, use 7D to read register)
21:03:11 <andythenorth> ^^^ that truck is 80% yours anyway
21:03:19 <andythenorth> Pikka: also Farm Supplies
21:03:32 <Pikka> okay
21:03:38 <andythenorth> and maybe ECS vehicles (not sure)
21:03:41 <Pikka> and I guess I can do crates, then :P
21:03:48 <frosch123> Hirundo: i don't think having to add extra stuff to a grf is the right way
21:03:49 <Hirundo> format like 02 <feature> <type-bye=some unused one> <null-terminated string> <var1> <var2> <varn>....
21:04:17 <Hirundo> Basically, it'd allow NML to create a 'debug build'
21:04:45 <Hirundo> And also, to check for certain run-time errors and signal those
21:05:00 <andythenorth> Pikka: you don't have crates already?
21:05:05 <andythenorth> from ukrs?
21:05:13 <Pikka> well, yes
21:05:16 <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
21:05:19 <Pikka> but I have to add them to the helicopter :P
21:05:48 <Pikka> also, the aircraft don't have the shortened diagonal sprites that trains do...
21:05:49 <andythenorth> my laziness is increasing with sprites
21:06:09 <andythenorth> the more I draw, the less I can be bothered to draw :P
21:06:30 <andythenorth> but also the more copy-paste I can use ;)
21:06:44 <frosch123> Hirundo: hmm, what do you mean with that? shall nml automatically insert some kind of assertion when using var 7b?
21:07:06 <frosch123> that would sound like something ottd should do independent of nml
21:07:46 <Hirundo> basically NML could tell stuff to the user/dev at runtime, instead of at compile time only (via action B/C)
21:08:09 <andythenorth> sounds like an ottd feature
21:08:14 <andythenorth> in game debug
21:08:14 <Hirundo> and in NewGRF style, the format and use of those messages is determined by the user (in this case, compiler)
21:08:25 <andythenorth> I did that in a hack way in FIRS
21:08:33 <frosch123> the problem with inserting such stuff in action123 is, that it occurs way to often
21:09:00 <Hirundo> hmm I missed something: 02 <feature> <type-bye=some unused one> <null-terminated string> <var1> <var2> <varn>.... <next-action2>
21:09:01 <frosch123> so, either it needs some kind of assertion, or some manual trigger to tract one callback/spriteresolving
21:09:04 *** robotx has joined #openttd
21:09:21 *** robotx has quit IRC
21:10:23 <Hirundo> such a trigger could be built in the current debug system, and/or via the grf debug switch
21:10:55 <Hirundo> 02 <feature> <type-bye=some unused one> <debug-level> <null-terminated string> <var1> <var2> <varn>.... <next-action2>
21:11:43 <frosch123> shall the variables get appended at the end, or does the string contrain stringcodes?
21:12:10 <andythenorth> Hirundo: do you have an actual case to use it with?
21:13:14 <andythenorth> Pikka: what will happen to the load when on ground?
21:13:37 <Pikka> it will only appear when the aircraft gets to a certain altitude, like with the current sling load on the chinook
21:13:58 <andythenorth> there's a sling load on the chinook :O
21:14:04 <Pikka> always has been :P
21:14:05 <andythenorth> there's a reason to start a new game
21:14:30 <Hirundo> frosch123: I thought of printf-like stuff (%..), but string codes are an interesting thought
21:14:32 <andythenorth> how clever
21:14:57 <frosch123> Hirundo: basically actionb like strings
21:15:11 <Hirundo> andythenorth: Basically, allowing the user to debug NML without NFO knowledge, and without OpenTTD depending on the NML specs
21:15:26 <andythenorth> in actionscript, I always like 'trace()'
21:15:37 *** thinksteve has quit IRC
21:15:43 <andythenorth> trace(arbitrary expression or string)
21:15:55 <andythenorth> prints to the output window
21:16:29 <andythenorth> actually faster and easier to write trace by hand than use the flash debugger (which is slow and tracks every object, var, prop)
21:16:31 <Hirundo> I know all too well :) actionscript is about my only programming experience before ottd / c(++)
21:16:56 <andythenorth> I made my own flash debugger by just using dynamic text fields :P
21:16:59 <andythenorth> way easier
21:17:12 <andythenorth> that gave me the idea for using industry window as debugger in FIRS
21:17:14 <frosch123> Hirundo: anyway, when would that output get activated?
21:17:26 <frosch123> i don't think printing it every time is that useful
21:17:39 <andythenorth> when developer sets equivalent of 'trace on'?
21:18:18 <Hirundo> for a lot of cases (not often-called callbacks) that'd work fine
21:18:22 <andythenorth> it's a flag in flash IDE test player, and also a compile time setting for swf
21:18:42 <frosch123> Hirundo: i think you have to at least some entity in the game
21:18:48 <frosch123> i.e. one industry, one industrytile ...
21:18:57 <andythenorth> I only mention flash because it's similar case - n objects all executing code on ticks
21:18:58 <frosch123> e.g. open the newgrf debug gui of it, any only print stuff there
21:18:58 <Hirundo> yes of course
21:19:15 <frosch123> oh, i thought you wanted to print everything to console :o
21:19:45 <Hirundo> yes, that's what I meant (originally)
21:20:12 <Hirundo> I replied to your first sentence "at least one entity", which would be mandatory to call any CB in the first place
21:21:08 <frosch123> oh, i a verb in that sentence :)
21:21:09 <Hirundo> though I'd also like the ability to print user errors just when newgrf_developer_tools is enabled
21:21:35 <frosch123> i meant that the debug output should only be active for those things you have the debug gui opened for
21:21:55 <frosch123> but, maybe that can be controlled via the severity
21:22:28 <frosch123> e.g. stuff to print in the debug gui when opened, stuff to always print, and stuff to pause the game on
21:22:48 <frosch123> though the latter could also be done as for ais
21:22:55 <Hirundo> sounds sensible
21:23:04 <frosch123> via some ingame editbox which triggers on matching debug otuput
21:25:30 <frosch123> hmm, i guess it needs both
21:25:48 <frosch123> pausing the game on an assertion is something different than pausing it on a breakpoint
21:25:55 <Eddi|zuHause> some way to get debug output for callbacks of one vehicle might be useful
21:25:58 *** Biolunar_ has quit IRC
21:26:36 <Hirundo> I'd suggest a fourth level - stuff to print only when some specific item+callback is flagged via the debug GUI
21:26:53 <frosch123> Eddi|zuHause: add callback results to the newgrf debug gui
21:27:29 <LordAro> night all
21:27:34 *** LordAro has quit IRC
21:27:41 <Eddi|zuHause> not only results, also things like stepping through
21:28:04 <frosch123> Hirundo: maybe if those debug action2 are not present, ottd could just print on every varact2
21:28:10 <frosch123> when selecting a specific callback
21:28:32 <frosch123> i.e. if there is a gui to select callback etc, the tracing should be easy
21:28:39 *** glx has joined #openttd
21:28:39 *** ChanServ sets mode: +v glx
21:28:47 <Eddi|zuHause> also: in the train window, i need a selector for which wagon i want to view
21:28:59 <Hirundo> yes, agreed
21:29:05 <andythenorth> sleepy time iggle piggle
21:29:58 <Hirundo> for NML that is becoming less and less useful though, as the direct relationship between switch-blocks and varaction2 is getting removed
21:30:20 <frosch123> Hirundo: if you compile something without debug symbols, you can still debug the assembler code
21:30:22 <frosch123> :)
21:30:27 *** andythenorth has quit IRC
21:31:07 <Hirundo> Agreed
21:31:20 <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
21:31:49 <frosch123> yeah, also a reason grf2html is unmaintained. it is useless for nml :)
21:31:58 *** bodis has quit IRC
21:32:01 *** HerzogDeXtEr has joined #openttd
21:32:19 <frosch123> even if you know nfo
21:32:47 *** Neon has quit IRC
21:33:02 <frosch123> nml makes it too easy to write complicated terms :p
21:34:10 *** Fish-Face has joined #openttd
21:34:21 *** Brianetta has joined #openttd
21:35:12 <Hirundo> ^^ I have my doubts that the NFO -> NML conversion will ever work satisfactorily
21:35:13 *** Prof_Frink has joined #openttd
21:35:30 <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
21:35:46 <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
21:35:55 <Fish-Face> is there a good way to use conditional orders like this?
21:37:02 <MNIM> sadly, i don't think there is. i wish there was something similar for my purposes too
21:37:28 *** HerzogDeXtEr1 has quit IRC
21:38:03 <Fish-Face> damn... so far all my ideas for using conditional orders have turned out to be impossible
21:38:06 <Hirundo> Fish-Face: you can use waypoints to delay evaluation of the order
21:38:31 <Fish-Face> presumably the waypoint must still be outside the station
21:38:32 <frosch123> night
21:38:36 *** frosch123 has quit IRC
21:38:47 *** ezra has quit IRC
21:39:42 <MNIM> hmmmh, good idea. if you put the waypoint within the station's sign block, you won't block anything
21:41:17 *** perk11 has quit IRC
21:42:46 *** KouDy has quit IRC
21:53:35 <krinn> and why not using the conditional order but to loop until empty ?
21:54:22 <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 ?
21:54:41 <krinn> so why not dup order after the drop off station and loop it if train is still full
21:55:31 <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
22:05:12 *** sla_ro|master has quit IRC
22:13:58 *** Zephyris has joined #openttd
22:15:44 *** Zephyris has quit IRC
22:25:07 *** Vikthor has quit IRC
22:39:49 *** Pulec has quit IRC
22:42:21 <krinn> night all
22:42:32 *** krinn has quit IRC
22:57:30 *** TWerkhoven has quit IRC
22:58:51 *** supermop_ has quit IRC
23:43:06 *** KritiK has quit IRC
23:51:04 *** Chris_Booth has quit IRC