Log for #openttd on 23rd June 2007:
Times are UTC Toggle Colours
00:00:09  <eekee> comments in most unix-y config files must have looked funny
00:00:27  <Eddi|zuHause2> i know that i never ever used the ~ character until win95 came out
00:01:15  <eekee> I remember liking the old ISO layout, but don't recall much now. I remember : was next to ; rather than being shift-; , was much nicer for using vi, lol
00:01:50  <Eddi|zuHause2> here ; is shift-, and : i shift-.
00:01:52  <eekee> I think ' was shift-; though, which wasn't so nice
00:02:02  <eekee> ah yes
00:02:16  <eekee> here it's < and > respectively
00:02:32  <Eddi|zuHause2> > is shift-<
00:02:57  *** ProfFrink [] has joined #openttd
00:03:08  <eekee> oh yes, that's what the \| key of a UK keyboard becomes with US layout
00:03:53  *** Prof_Frink [] has quit [Read error: Connection reset by peer]
00:03:53  *** ProfFrink is now known as Prof_Frink
00:03:59  <Eddi|zuHause2> the worst part for programmers is usually that the {[]} keys have to be used with AltGr
00:04:10  <eekee> ack!
00:04:27  <Eddi|zuHause2> i don't have a problem with that actually
00:04:54  <eekee> well it's alright if you're handling inputs properly anyway
00:05:17  <Eddi|zuHause2> the worst problem with the american layout, besides the y-z switch is that you need shift to get +
00:05:44  <eekee> yeah, not keen on that. Another thing the ISO layout fixed
00:06:33  <Eddi|zuHause2> here the +/*/~ key is next to the return key (normal/shift/altgr)
00:07:03  <eekee> #~ here, & a little bit of a nuisance.
00:07:06  <Eddi|zuHause2> and the -/_ key is next to the right shift
00:07:34  <Eddi|zuHause2> no, + is above #
00:07:48  <Eddi|zuHause2> the # key is really annoying there
00:08:05  *** lolman [] has joined #openttd
00:08:08  <Eddi|zuHause2> it used to be above the return key (with a shortened backspace)
00:08:26  <Eddi|zuHause2> and the return was bigger
00:08:38  <Eddi|zuHause2> and now i always hit both keys
00:08:48  <eekee> The last kb I had put #~ up by the backsace, making the backspace single-key size & the return a full size. That was a nuisance, but I don't particularly like #~ by return either, lol
00:08:54  <eekee> heh
00:09:26  <Eddi|zuHause2> i don't use backspace that often, it does not need to be supersized
00:09:40  <eekee> I liked the ST layout, had #~ on the far side of the right shift, but the whole kb was wider iirc
00:09:45  <eekee> I do!
00:10:14  <Eddi|zuHause2> well, i probably use 'e' far more often than backspace...
00:10:22  <Eddi|zuHause2> and that is not supersized either...
00:10:46  <eekee> biggest annoyance I find is insert & delete, particularly with Gtk+ 2.x which gives no clue as to whether you're in insert or overwrite mode, which steenks!
00:10:53  <Eddi|zuHause2> i think 'e' is used far more often in german than in english
00:11:06  <eekee> er, e is like, under your fingers, backspace is further otu. That's myy problem with it
00:12:17  <eekee> yy.. I think this keyboard has a little bounce. Maybe why I stopped using it; that & it predates Windows keys :)
00:12:21  <Eddi|zuHause2> i don't have that kind of problem...
00:12:36  <Eddi|zuHause2> my problem is much more that i hit return instead of backspace...
00:12:55  <eekee> heh, I did that more with the smaller backspace ^^;
00:12:58  <Eddi|zuHause2> get one with tux keys :)
00:13:38  <eekee> Eddi|zuHause2: would love to :D but I'm gonna get a unicomp terminal emulator instead. Gettign url...
00:13:54  <Eddi|zuHause2> have you seen those logitech keyboards that have a supersized del key, and place the ins key totally wrong?
00:14:29  <eekee>
00:14:40  <eekee> nope, but I'd like to
00:15:36  <eekee> I very briefly was able to use an actual IBM terminal kb of the same layout & construction of that unicomp kb. Very nice :D
00:17:07  <benc_> kind of ironic that keyboards styled after ones from two decades ago are so much better
00:17:10  <eekee> That's what I want to mod the unicomp kb to, or something like it :D
00:17:21  <benc_> than the micro-sized, media-enhanced stuff oems spit out :)
00:17:36  <eekee> *shivers* yes...
00:17:52  <Eddi|zuHause2>
00:17:53  <Eddi|zuHause2> :p
00:18:00  <eekee> although I find I don't mind laprtop kbs.
00:18:27  <benc_> using an ext kb with a laptop is just too clunky
00:18:48  *** Hendikins [] has quit [Remote host closed the connection]
00:18:58  <Eddi|zuHause2> i usually hate laptop keyboards for their misplacement of special keys like the arrows
00:19:12  <eekee> flat :) Cherry have a good rep, but afaik only the IBM design Unicomp licensed has a curved base so the keys actually go down at different angles
00:19:15  <benc_> i have a particular bizarre laptop kb, i think toshiba engineers rolled dice to figure out which keys they'd arbitrarily swap
00:19:17  <eekee> oh yes...
00:19:22  <eekee> LOL
00:19:52  <eekee> I have an old iBook. With Apple key bindings it's not too bad, but it's a US layout, lol
00:22:41  <Eddi|zuHause2> you don't get US layout problems with "das keyboard" :)
00:22:50  <eekee> heheheheheh
00:23:33  <eekee> Abble did an iBook with blank white keys. It scares me, lol, as does Das Keyboard :D
00:23:37  <eekee> *Apple
00:23:51  <mikegrb> I have an ibook with blank keys
00:24:01  <mikegrb> well it did have blank keys, from wear
00:24:14  <eekee> hehe
00:24:20  <mikegrb> got a new macbook and wife made me buy a new keyboard for the ibook before giving it to her ;)
00:24:35  <eekee> mine's not that far gone, one careful lady owner before I got hold of it, lawl
00:24:43  <eekee> heh ^^
00:25:57  *** KritiK [] has quit [Quit: Leaving]
00:26:14  <eekee> It's funny that the Das Keyboard page should mention mechanical keyswitches, because all the cheap rubish kbs I've had in the last few years have ahd them
00:26:27  *** Markkisen [] has quit [Remote host closed the connection]
00:26:30  <eekee> (not Cherry switches, obviously)
00:27:04  <Jerub> there was once an apple ibook keyboard made by fingerworks
00:27:20  <eekee> who?
00:27:25  <Jerub>
00:27:29  <eekee> *click*
00:27:38  *** Markkisen [] has joined #openttd
00:27:51  <Eddi|zuHause2> i have thought about buying a "das keyboard", but it does not seem to come in a wireless version :(
00:28:08  <eekee> ooh, looks rubbery o.o;
00:28:17  *** SmatZ [] has quit [Quit: Leaving.]
00:28:41  <Jerub> eekee: it's not rubbery, it's a flat touch sensitive surface, like a trackpad on a laptop
00:28:55  <eekee> ah! hmmmm
00:29:03  <Jerub> I have a touchstream lp at work.
00:29:15  *** Hendikins [] has joined #openttd
00:29:15  <eekee> was it hard, like a laptop trackpad?
00:29:24  <eekee> that would give me rsi, lol
00:30:16  *** DJ_Mirage [] has quit [Quit:]
00:30:17  <eekee> or.. hmm, I think it would
00:30:41  *** skidd13 [] has joined #openttd
00:30:46  <Eddi|zuHause2> i hate touchpads on laptops... they are always where i want to put my hands
00:30:59  <eekee> hehe, yeah, they're evil like that
00:31:49  <Hendikins> eekee: Thought you were going back to bed :P
00:31:52  <dihedral> someone here fit with rrdtool?
00:32:32  <Smoovious> NoAI is getting merged into trunk already?!
00:32:38  <dihedral> i would need a rrd database :-)
00:33:02  <eekee> Hendikins: gonna let my dinner go down & have some more to eat.
00:33:28  <CIA-1> OpenTTD: truelight * r10291 /trunk/src/town_gui.cpp: -Fix [FS#920]: double click in town-GUI didn't work as expected
00:33:59  <eekee> my iBook has a "prevent accidental trackpad input" option that works for me, & I've seen a similar option on a Windows laptop
00:34:11  <eekee> what's NoAI?
00:34:54  <Smoovious> it is one of the branches, dedicated to the development of a new AI system, that would be extremely configurable... allowing for different AI's to be used
00:35:01  <eekee> ooh!
00:35:30  <Smoovious> would be cool for different computer players to run different AI's... so they have their own personality. :)
00:35:36  <eekee> yeah :D
00:35:52  <eekee> oh hey, why does turning all news off make the game smoother? (giant map)
00:36:10  <eekee> er, & that's in multiplayer, just as a client
00:36:20  <glx> less things to display
00:36:27  <Smoovious> less to sort
00:36:43  <eekee> *shrug* ok
00:36:46  <Smoovious> that too
00:36:58  <dihedral> a learning ai :-D
00:37:05  <eekee> *wish* :D
00:37:27  <dihedral> set it to record for 3 full games and after that the others will not know who is playing
00:37:34  <Sacro>
00:37:39  <dihedral> even chattative?
00:37:47  <eekee> hehehe
00:38:34  <eekee> Silent player B)
00:40:05  <skidd13> why not a cooperative AI for dummy work, eg. balance the number of vehicles on a shared order.
00:41:00  <Smoovious> cuz an AI is supposed to behave in a manner that is comparable to a real player... if a player can't do it, neither  can the AI...
00:41:36  <Smoovious> they aren't meant to compensate for dummies :P
00:41:44  <eekee> :D
00:43:07  <Phazorx> can AI be separated from mane code
00:43:17  <Phazorx> and be connecatbale as virtual player
00:43:54  <Phazorx> i'd love to do logic for that, assuming it will be not integrated into code and can be externalized
00:43:55  <dihedral> what a catchy tune Sacro
00:43:59  <eekee> AI client.. I don't really know the network protocol, but I think so
00:44:46  <Smoovious> from what I understand, you'll be able to design your own AI's for it... I think it is  based on squirrel, but I don't know
00:44:57  <glx> it is
00:45:12  <Smoovious> so it is. :D
00:46:39  <Sacro> dihedral: yes, most people think that
00:48:33  <Sacro> somehow 660MB of ram is being used
00:48:37  <Sacro> how do i find out where its all gone :\
00:49:07  <Sacro> :o
00:49:16  <Sacro> top has 1777172k used
00:49:19  <Sacro> thats like
00:49:26  <Sacro> 1.7(ish) gig
00:49:28  <dihedral> is there any data, that is consistent during one game ?
00:49:49  <eekee> size of the map :D
00:50:19  <dihedral> *one* game
00:50:23  <dihedral> not *all* games
00:50:41  <dihedral> sorry - my bad- did not emphasis correctly before
00:51:23  <Smoovious> type of scenario
00:51:24  <eekee> Well, diferent games may have different sized maps. I thnk you're looking for some kind of key you can use to ID a game, right?
00:51:45  <dihedral> data that is different from one newgame to another newgame!
00:52:11  <Smoovious> not sure, but... is the random seed value saved?
00:52:36  <dihedral> it is at least not sent
00:52:37  <Smoovious> wouldn't be perfect, but it would be unique enough to be practical
00:52:44  <dihedral> but yes - random seed would do it
00:53:00  <Smoovious> it has to be sent... or the other players wouldn't sync
00:53:21  <dihedral> ah - yes
00:53:28  <dihedral> perhaps with a tcp connection
00:53:36  <dihedral> but i only got a udp connection
00:53:44  <Smoovious> probably when the game data is sent
00:54:03  <Smoovious> how do you get udp only and not tcp? it is the same connection
00:54:55  <dihedral>
00:55:08  <dihedral>
00:55:13  <dihedral> that is how :-D
00:55:13  <Phazorx> eekee: emulated client
00:55:18  <Phazorx> it can be local as well
00:55:37  <eekee> Phazorx: yeah
00:55:45  <Smoovious> well, sorry, but I'm not really motivated enough to chase/retype the url's...
00:55:51  <Smoovious> no browser on this computer
00:56:14  <Phazorx> it would be nice to have global KB for AI too
00:56:27  <Smoovious> KB?
00:56:39  <Phazorx> knowledge base
00:56:45  <Phazorx> studying more promissing moves
00:57:02  <dihedral> smovious: just remember OpenTTDLib and search the forums next time
00:57:43  <Smoovious> me, I'm planning on writing an  intentionally bad AI... not one that plays stupidly, like the legacy AI, but just plays bad... :)
00:58:00  <dihedral> lol
00:58:24  <glx> 'getseed' in the console gives the seed
00:58:26  <dihedral> i shall write an ai that will watch my servers for ai's that are playing badly and kick them
00:58:45  <eekee> haha!
00:58:47  <dihedral> glx: that still does not send it udp to OpenTTDLib
00:58:56  <glx> right
00:59:05  <Smoovious> uh  huh
00:59:25  <dihedral> unless of course there are tcp queries that can be done without me having to be a client
00:59:40  <dihedral> and i doubt that !
01:01:08  <eekee> how is server name, # of companies etc retrieved before connection?
01:01:43  <dihedral> udp
01:01:51  <dihedral> 1. query master server
01:01:59  <dihedral> 2. get ip's and ports
01:02:01  <eekee> O.o ok
01:02:03  <dihedral> 2. query those
01:02:09  <dihedral> all udp!!
01:02:12  <dihedral> afaik
01:02:23  <Smoovious> doncha mean 3. ?
01:02:36  *** Markkisen [] has quit [Ping timeout: 480 seconds]
01:02:38  <eekee> seems wierd to use udp for small quantities of non-time-critical data, but what do I know
01:02:41  <dihedral> i said *as far as i know* :-D
01:02:57  <Smoovious> 2 2's?
01:03:04  <dihedral> eekee: usually most game data like that is done udp
01:03:15  <Smoovious> must have gone to an american school...
01:03:16  <dihedral> i dont know anything bejond that
01:03:26  <eekee> *shrug* ok.
01:03:31  <dihedral> that is why i had issues with the 16 bit integers today
01:03:39  <dihedral> :-D
01:03:46  <dihedral> actually 4 bit
01:03:50  <eekee> 16-bit now? heh
01:03:54  <dihedral> hell i should know 3
01:03:56  <dihedral> na
01:03:59  <dihedral> just kidding
01:04:05  <eekee> :d
01:04:27  <dihedral> Smoovious: i was having issues with getting php to handle 64bit integers... just to fill you in
01:04:55  * Smoovious nods.
01:10:17  * eekee sleeps
01:18:28  <Belugas>
01:18:31  <Belugas>
01:18:34  <Belugas>
01:18:39  <Belugas> I like it :D
01:18:48  <Belugas> although not finished...
01:19:34  *** XeryusTC [] has quit [Quit: Solong, and thanks for all the fish.]
01:19:56  <Ailure> hehe
01:20:00  <mikegrb> I hate it.
01:20:05  <Ailure> wait
01:20:06  <Ailure> holy shit
01:20:08  <Ailure> is that openTTD?
01:20:11  <mikegrb> (because it is not in my copy)
01:20:19  <Ailure> :o
01:20:26  <Ailure> You should post a compersation with TTDpatch
01:20:41  <Ailure> I forgot how it looked like, but I think it was kinda similar
01:20:45  <Ailure> just without that coloured square
01:20:46  <Belugas> it is ottd indeed :)
01:20:52  <Ailure> nice
01:21:08  <Belugas> mikegrb, what dislikes you in those screenies?
01:21:09  <Ailure> The square thing is a neat addition though
01:21:18  <mikegrb> (because it is not in my copy) <-- Belugas, this
01:21:26  <Belugas> lol!!!
01:21:29  <mikegrb> <3
01:21:54  <Belugas> it will...
01:22:13  <Belugas> Ailure, the gui is a bit like ttdpatch's one,
01:22:25  <Belugas> but i discovered afterward it was based on the same idea.
01:22:33  <Ailure> ah
01:22:38  <Belugas> although, mine is resizeable, ttdp not
01:22:55  <Ailure> heh
01:23:00  <Ailure> due to the flexible GUI code?
01:23:01  <Belugas> mine highlights the selected indiustru, ttdp not
01:23:13  <Belugas> yeah quite a bit more flexible...
01:23:18  <Ailure> heh
01:23:24  <Ailure> I recall reading about such internal changes before.
01:24:14  <Ailure> Nothing that users notice right away, but it makes for faster and easier devolopment for programmers :p
01:24:33  <Belugas> Recently?  yo must be referencing the cpp_gui branch then...
01:24:38  <Ailure> ah
01:24:40  <Ailure> well
01:24:47  <Ailure> for some itme ago I mean
01:25:02  <Belugas> or maybe the widget branch?  a while ago
01:25:05  <Ailure> at least I could swear seeing such changes in the trunk log
01:25:05  <Ailure> yeah
01:25:07  <Ailure> the widget thing
01:25:24  <Belugas> yeah... that was quite a challenge :)
01:25:48  <Ailure> Well, it's worth it if it saves future headache
01:25:49  <Ailure> :)
01:27:02  <glx> and now we can even use double click for some things
01:28:03  <Ailure> yeah
01:28:24  <Ailure> only annoyance I have with the UI
01:28:32  <Ailure> is the 'hidden' stuff
01:28:46  <Ailure> like holding down ctrl while cloning to make it share vehicle orders
01:29:06  <Ailure> While I know quite well how to do that, it's sometimes a bad idea to hide features behind "shortcuts"
01:29:13  <glx> right click tells you about that
01:29:16  <Ailure> or hotkeys
01:29:26  <Ailure> heh
01:29:27  <Ailure> it does
01:30:02  <glx> (for ctrl stuff not for shortcuts)
01:30:45  <Ailure> heh
01:30:49  <Ailure> I also like how far you can zoom out now
01:30:50  *** Eddi|zuHause3 [] has joined #openttd
01:31:12  <Ailure> makes the minimap obsolote sometimes :p
01:31:18  <Ailure> well, I still use it for finding industries heh
01:32:21  <skidd13> @availible dev: I fixed the issues of the random town layout ( peter1138 listed. Is it OK now?
01:35:54  * Belugas reads
01:37:28  *** Eddi|zuHause2 [] has quit [Ping timeout: 480 seconds]
01:38:38  <Belugas> it seems the comment i added is no longer required, with "CheckSavegameVersion(69)" :)
01:38:56  <Smoovious> comment?
01:39:16  <Belugas> on skidd13's patch...
01:39:29  <Belugas> i wrote that little part (iirc)
01:39:39  <skidd13> yup
01:39:41  <Belugas> but not as it is right now
01:39:59  <Belugas> peter1138 make skidd13 changed it in a more ... simple way
01:40:49  <Smoovious> as long  as you're peeking at stuff... I posted a real tiny patch FS#914
01:42:09  <Belugas> saw that today, yes
01:42:23  <Belugas> i kinda remember it has been discussed too
01:42:29  <Belugas> in a positive way ;)
01:43:16  <Smoovious> damn
01:43:25  <Smoovious> gonna ruin my track record
01:43:37  <Smoovious> lemme re-do it so it goes way against  coding style
01:44:25  <Smoovious> btw, spending tonight working on getting my chat window patch current again... and changed... had some ideas to  do a couple things differently on it
01:44:43  <Smoovious> and just gonna start over on my subsidies one
01:44:51  * dihedral is amazingly tired and will get to bed now
01:44:58  <Smoovious> wave
01:45:07  * dihedral waves back
01:45:22  <dihedral> it is terrible when gravity is experienced with eye-lids
01:45:31  <dihedral> Belugas how are you doing?
01:45:40  <dihedral> happy weekend up ahead?
01:45:49  <skidd13> damned late here too... nearly 4am.... night
01:46:21  <Smoovious> I just use gravity to tell me which way I should pour the milk in my cap'n crunch
01:46:29  *** skidd13 [] has left #openttd []
01:47:13  <Jerub> I've gotta say, the most annoying thing about long trains (20+ carriages) is how long they spend at 61km/h leaving depots
01:47:20  <Belugas> dihedral, 3 days long we yeah :
01:47:21  <Belugas> :)
01:47:25  <Belugas> lot of time to rest ;)
01:47:45  <dihedral> yeah... if used to rest :-D
01:48:05  <dihedral> Smoovious: your patch: +			case WKC_F1: case WKC_PAUSE: ToolbarPauseClick(w); break;
01:48:19  <dihedral> case something: case something ??
01:48:51  <dihedral> i have no idea
01:48:55  <dihedral> just looks odd :-)
01:49:15  <dihedral> yeah - forget it...
01:49:15  <glx> dihedral: we use that at many places
01:49:34  <Belugas> going to bed.  see you soon
01:49:37  <dihedral> i expected stuff like that to strech over 2 lines
01:49:51  <dihedral> enjoy your sleep in Belugas
01:50:03  <dihedral> too tired to think straight
01:50:31  <dihedral> not a good idea to be looking at code when i cannot even look out of my eyes!
01:52:07  *** Markkisen [] has joined #openttd
01:54:23  <TrueBrain> pompiedom
01:54:35  <Sacro> don't you people sleep?
01:54:43  <TrueBrain> nope
01:54:53  <Sacro> fair enoguh
01:55:04  <Smoovious> <dihedral> case something: case something ??  <--- yeah, but it matched  identical to the other one in there, so  thought it best to stay consistent
01:55:57  <Smoovious> Sacro... does passing out count as sleep?
01:56:44  <Sacro> Smoovious: depends
01:58:57  <TrueBrain> I am bored
01:59:04  <TrueBrain> we no longer have small bugs
01:59:05  <TrueBrain> very annoying
01:59:55  <Smoovious> :(
02:00:09  <TrueBrain> so go and find some!
02:00:54  <Sacro> TrueBrain: fix pbs
02:01:11  <dihedral> lol
02:01:14  <TrueBrain> to fix something, it needs to be there in the first place
02:01:18  <dihedral> yeah - that goes through as "small"
02:01:25  <dihedral> oh
02:01:31  <dihedral> fix the lack thereof
02:01:36  <TrueBrain> give me a 16 bit _m8, and you have your PBS
02:02:10  <Sacro> why do my trains slow down *every* time they hit a corner
02:02:13  <Smoovious> on the helistation, if  a heli is coming out of the depot to a pad,  the other helis  there  wait  til the depot heli parks on a pad  before taking off
02:02:23  <Smoovious> inertia
02:02:24  <dihedral> what is _m8?
02:02:41  <TrueBrain> something I am making up right now
02:02:42  <Sacro> TrueBrain: add _m8
02:03:01  <dihedral> if you need friends... well - then i dont know
02:03:09  <dihedral> but add_m8 sure sounds like it
02:03:13  <TrueBrain> see, to have PBS, every train needs to leave some data on the rail
02:03:17  <TrueBrain> letting know it was there
02:03:23  <TrueBrain> after that it kind of is a piece of cake
02:03:37  <TrueBrain> as there is a 16bit vehicleID to store
02:03:41  <TrueBrain> I need 16 bit s free :)
02:03:56  <dihedral> mapsize << trainnumber << tiles_with_tracks_on
02:04:02  <glx> isn't there enough space with m7 ?
02:04:12  <TrueBrain> glx: I was just checking that
02:04:14  <TrueBrain> for normal rail there is now
02:04:29  <dihedral> and what is m7?
02:04:31  <Sacro> TrueBrain: all it needs to do is reserve the track with 1 bit
02:04:32  <TrueBrain> for tunnels
02:04:34  <TrueBrain> for bridges
02:04:36  <glx> should be ok for station too I think
02:04:38  <Sacro> well, 1 bit per trackdir
02:04:38  <TrueBrain> Sacro: hahahahahaha
02:05:07  <TrueBrain> glx: I only don't have enough bits for road/rail crossing
02:05:22  <TrueBrain> but as it never can be a junction, it might not be that big of a problem
02:05:32  <TrueBrain> Sacro: just think for a second about your claim
02:05:33  <TrueBrain> just for a sec
02:05:37  * Sacro thinks
02:05:39  <TrueBrain> a train, reserves tiles
02:05:44  <Sacro> yes...
02:05:51  <TrueBrain> but.. how the fuck does he know he is the one reserved them?
02:06:04  <Sacro> cos when the next one asks... its told no
02:06:04  <TrueBrain> if you modify the track, the PF finds an other route
02:06:07  <TrueBrain> and oh dear.....
02:06:09  <Sacro> they already are reserved
02:06:15  <Sacro> *BOOM*
02:06:16  <TrueBrain> yes, but when he asks himself that
02:06:18  <Sacro> just like the old PBS :p
02:06:20  <TrueBrain> he gets too: no!
02:06:43  <Sacro> hmmm
02:06:49  <Sacro> i'm sure thats more complex than is needed
02:07:34  <TrueBrain> but if you store the vehicle ID, you can at least track it for real
02:07:41  <TrueBrain> anyway, that would be my intake into PBS
02:07:46  <TrueBrain> I am sure others think differently :)
02:07:56  *** dfox [] has quit [Read error: Connection reset by peer]
02:08:28  <glx> an always red system would be nice
02:08:35  <TrueBrain> glx: and I miss 3 bits for stations
02:08:42  <TrueBrain> always red system?
02:08:48  <Sacro> glx: i have got an always red system here
02:09:14  <Sacro> thing is... its *always* red
02:09:21  <TrueBrain> okay, now I am going to ask the very tricky question: how does TTDP do it?
02:09:31  <Sacro> TrueBrain: download their source :p
02:09:43  <Sacro> i still get more amusement from my NOR signals
02:10:03  <glx> I meant default red
02:10:41  <Smoovious> hmm...
02:10:44  <TrueBrain> bah, my way into PBS will fail too :p
02:10:48  <TrueBrain> so, I gave it a spin :)
02:11:28  *** MarkSlap [] has joined #openttd
02:11:46  *** Markkisen [] has quit [Read error: Connection reset by peer]
02:11:47  <Sacro>
02:11:54  <Smoovious> afk20min
02:12:16  <benc_> how far ahead would trains be reserving track for PBS?
02:12:26  *** Tobin [] has joined #openttd
02:12:50  <Sacro> benc_: hopefully it would depend on its stopping distance
02:13:09  <TrueBrain> Sacro: normally PBS works from signal to signal
02:13:19  <TrueBrain> else it is possible it has to stop in the middle of a PBS blocks
02:13:24  <benc_> ah
02:13:34  <TrueBrain> which can cause 1) deadlocks, 2) is silly, as there are no signals :)
02:13:35  <benc_> sounds like a pretty sparse matrix then
02:13:57  <benc_> might be worth looking into storing track reservations in a tree
02:14:01  <Sacro> TrueBrain: what do you mean?
02:14:11  <dihedral> what happened to the pbs that once was there?
02:14:13  <benc_> (TileIndex, VehicleID) tuples as the key
02:14:24  <TrueBrain> dihedral: it was bugged beyond repair, and nobody cared to fix it
02:14:30  <benc_> er, TileIndex as key, VehicleID as value
02:14:48  <TrueBrain> so we reverted so we could release a stable version, and nobody fixed it to get it back in
02:15:02  <dihedral> right
02:15:44  <TrueBrain> but I think the idea was bugged by design
02:16:16  <Sacro> @openttd commit 3471
02:16:18  <DorpsGek> Sacro: Commit by Darkvater :: r3471 branch/pbs/ (2006-01-29 18:41:39 UTC)
02:16:20  <DorpsGek> Sacro: - Branch PBS and remove it from trunk. Interested people can fix/rewrite it wholly in
02:16:25  <TrueBrain> benc_: checking if a tile is available makes it rather hard
02:16:25  <Sacro> it was a sad day :(
02:16:39  <TrueBrain> Sacro: it depends on your point of view :)
02:16:51  <Sacro> TrueBrain: insane user of PBS
02:17:04  <TrueBrain> Sacro: sure it was sad to see it being removed from trunk, but it did prevent us from releasing any stable version
02:17:09  <benc_> TrueBrain: if the tree is keyed on TileIndex, checking if a tile is available should be O(log n)
02:17:15  <Sacro> TrueBrain: i thought PBS was fine
02:17:18  <TrueBrain> which means we still were in like as latest stable? :)
02:17:20  <Sacro> you just had to know how to use it
02:17:28  <TrueBrain> Sacro: haha :) I define that as unstable :)
02:17:30  <Sacro> wasn't it pre 0.4.0?
02:17:45  <TrueBrain> Sacro: I have applications where you can't press on certain places; advise of helpdesk: don't press there
02:17:57  <TrueBrain> benc_: but yo need to scan all vehicles :)
02:17:57  <Sacro> PBS was fine
02:18:05  <Sacro> just don't build on a junction thats got trains running on it
02:18:24  <TrueBrain> Sacro: the bug-list was longer then my arm, but let's not get into that
02:18:25  <benc_> i don't follow
02:18:33  *** Ammler [] has quit [Ping timeout: 480 seconds]
02:18:35  <benc_> why scan all vehicles?
02:18:39  <Hendikins> I liked PBS, bug laden as it was.
02:18:39  <TrueBrain> oh, you mean a stand-alone list
02:18:48  <benc_> yes
02:18:53  <TrueBrain> someone should have kept on syncing the pbs branch :)
02:19:06  <Sacro> TrueBrain: me and DaveWorley tried to remerge it
02:19:19  <Sacro> actually, i might give it another go tommorow
02:19:47  <TrueBrain> benc_: hmm, not a bad idea in fact, was it not it takes a lot of memory.. the question is: how much
02:20:00  <TrueBrain> as you also need to store by track-bit for 2 cases
02:20:08  <benc_> also, if you used a map array, wouldn't you need _m8 AND _m9?  one tile can contain two NS or EW tracks
02:20:19  <TrueBrain> (the 2 cases you can have 2 independant tracks that don't cross on a tile)
02:20:25  <TrueBrain> ;)
02:20:33  <TrueBrain> I can store one in existing _m
02:20:37  <TrueBrain> the second doesn't fit indeed
02:20:53  <benc_> oh thats right, vehicleid = 16 bits
02:21:00  <TrueBrain> sad aint it? :)
02:21:31  *** MarkSlap [] has quit [Ping timeout: 480 seconds]
02:21:57  <TrueBrain> if only the PF always returned the same route for all PFs, would make it much easier :)
02:23:06  <benc_> could always politely ask players to not create junctions, would solve the whole problem ;)
02:23:14  <TrueBrain> haha :)
02:23:21  <TrueBrain> it indeed solves it all ;)
02:24:19  <TrueBrain> but okay, the other idea is also nice; it aint real, but it is nice: remove all signals, and let trains reserve track in front of them they need to break
02:24:22  <TrueBrain> ;)
02:25:31  *** Frostregen_ [] has joined #openttd
02:25:37  <benc_> oh dear
02:25:39  *** dihedral [] has quit [Quit: ChatZilla [Firefox]]
02:26:21  <TrueBrain> give an estimate: how much PBS tiles would be needed on a big game? (in % of the tiles)
02:26:33  <benc_> exactly what i was wondering
02:26:52  <TrueBrain> 10%?
02:26:58  <benc_> say 200 trains, signal spacing 4
02:27:16  <benc_> probably less than 10%
02:27:24  <TrueBrain> so..
02:27:28  <benc_> esp on a big map
02:27:55  <TrueBrain> @calc 2048 * 2048 * (16 * 1.1 + 8)
02:27:56  <DorpsGek> TrueBrain: 107374182.4
02:27:59  <TrueBrain> @calc 2048 * 2048 * (16 * 1.1 + 8) / 1024 / 1024
02:27:59  <DorpsGek> TrueBrain: 102.4
02:28:09  <TrueBrain> @calc 2048 * 2048 * (16 * 1.1 + 8) / 1024 / 1024 / 8
02:28:10  <DorpsGek> TrueBrain: 12.8
02:28:16  <TrueBrain> Ah :) 12 MiB... hmm.. that is wrong
02:28:26  <TrueBrain> @calc 256 * 256 * (16 * 1.1 + 8) / 1024 / 1024 / 8
02:28:26  <DorpsGek> TrueBrain: 0.2
02:28:35  <TrueBrain> 200 KiB.. more like it... acceptable
02:29:09  <benc_> what;s 16*1.1 + 8?
02:29:33  <TrueBrain> 16 bits for VehicleID, 8 bits for TileIndex, and 1.1 factor for 'double' tiles :p
02:29:35  <TrueBrain> hmm, 8 bits is wrong
02:29:36  <TrueBrain> but okay
02:29:59  <benc_> tree nodes require pointers though
02:30:10  <TrueBrain> yeah, but it is a nice estimate
02:30:21  <TrueBrain> as I even forgot the 10% :p
02:30:43  <Sacro> meh, i'll do it in less
02:30:49  * Sacro has a cunning plan
02:30:52  <TrueBrain> tell us
02:30:55  <TrueBrain> might help :)
02:32:10  <benc_> using a separate data structure can always be left as an optimization for later
02:32:24  *** Frostregen [] has quit [Ping timeout: 480 seconds]
02:32:41  *** Frostregen_ is now known as Frostregen
02:32:48  <Sacro> TrueBrain: i can't
02:32:54  <Sacro> my source is secret
02:33:02  <TrueBrain> blablablabla
02:33:14  <Sacro> its so secret, even i don't know it sometimes
02:39:00  <TrueBrain> so, if we follow benc_ in his thinking, we just need 1 bit in the _m to flag PBS reserved, and have a lookup to find which vehicle
02:39:13  <TrueBrain> hmm, 2 bits, in that silly case of 2 tracks on 1 tile :)
02:39:43  <Sacro> yes
02:39:46  <Sacro> 2 bits per tile
02:39:50  <Sacro> thats what i said
02:39:57  <benc_> or have the lookup be sparse
02:40:05  <benc_> only have nodes for reserved tiles
02:40:05  <TrueBrain> !whatis sparse
02:40:14  <TrueBrain> grr @ _42_, why did I disable it in #openttd :(
02:40:15  <benc_> sparse = few elements
02:40:22  <TrueBrain> benc_: exactly what I mean
02:40:22  <benc_> in a big empty space
02:40:39  <TrueBrain> std::map stores Tile and Vehicle if the PBS bit is set
02:40:59  <benc_> why even have a pbs bit in _m then?
02:41:06  <TrueBrain> faster
02:41:26  <benc_> hmm yeah i guess that would be checked a lot
02:41:30  <TrueBrain> say a vehicle doesn't have a PBS route yet, it knows immediatly if it can use a tile or not
02:41:37  <benc_> <-- not familiar with the PBS code yet
02:41:41  <TrueBrain> me neither :p
02:41:47  <TrueBrain> just thinking how it can possible work :)
02:42:03  <TrueBrain> the main problem is: if the current route is aborted, how to clean up the reservation
02:42:11  <Sacro> when it approaches a junction, it needs to route over it
02:42:14  <Sacro> but how to handle stations
02:42:45  <benc_> store a list of tile reservations on the vehicle too
02:42:45  <TrueBrain> Sacro: depends on the order, if it is going to stop on the station, act like a PBS signal is at the enterance and at the exit
02:42:50  <TrueBrain> else reserve through it
02:42:57  <benc_> but ugh, i dont know if that's just too much crud floating around
02:43:07  <Sacro> TrueBrain: it should route out the other side anway
02:43:10  <TrueBrain> benc_: hmm, maybe even that alone is enough
02:43:13  <Sacro> to stop anything routing back the other way
02:43:38  <TrueBrain> Sacro: what do you mean?
02:43:41  <benc_> TrueBrain: i think you're right
02:43:48  <benc_> with the 2 _m bits there
02:43:59  <Sacro> TrueBrain: to have a 2 track station with both platforms 2 way
02:44:02  <TrueBrain> benc_: even more fun, if you store it per vehicle, you can disable the PF for the time it is on the PBS block :)
02:44:35  <TrueBrain> but what if the junction changes
02:44:47  <benc_> i thought the PF only fired when crossing junctions anyway?
02:44:47  <Sacro> TrueBrain: *BOOM*
02:45:03  <TrueBrain> benc_: it does, but in a PBS block it shouldn't even be doing that
02:45:04  <benc_> or when track marked dirty after construction
02:45:09  <TrueBrain> it should just follow the PBS marked route
02:45:47  <Sacro> TrueBrain: surely PBS would just reserve the YAPF generated route?
02:45:56  <TrueBrain> Sacro: of course
02:45:56  <benc_> ah, so PBS thinks ou