IRC logs for #openttd on OFTC at 2012-10-11
            
00:08:09 *** KritiK has quit IRC
00:08:59 *** brambles has quit IRC
00:17:27 *** KnogleAFK has joined #openttd
00:21:24 *** roadt has joined #openttd
00:23:05 *** Knogle has quit IRC
00:34:43 *** Supercheese has quit IRC
00:40:55 *** perk11 has quit IRC
00:41:15 *** tokai|mdlx has joined #openttd
00:42:17 *** Supercheese has joined #openttd
00:47:09 *** tokai|noir has quit IRC
00:54:43 *** Supercheese has quit IRC
01:00:54 *** valhallasw has joined #openttd
01:12:55 *** Supercheese has joined #openttd
01:15:16 *** KnogleAFK has quit IRC
01:16:56 *** valhallasw has quit IRC
01:20:46 *** Devroush has quit IRC
01:25:06 *** Djohaal has quit IRC
01:33:13 *** Elukka has quit IRC
01:54:03 *** supermop has joined #openttd
01:54:15 <supermop> hi
02:14:04 *** glx has quit IRC
02:17:37 *** TrueBrain has quit IRC
02:20:18 *** TrueBrain has joined #openttd
02:20:27 *** Markavian` has quit IRC
02:35:40 *** Pixa has quit IRC
03:22:14 *** Zeknurn has quit IRC
03:27:04 *** Zeknurn has joined #openttd
03:48:37 *** Jake is now known as Jake|afk
04:28:33 *** telanus has joined #openttd
04:56:02 *** Eddi|zuHause has quit IRC
04:56:19 *** Eddi|zuHause has joined #openttd
05:16:21 *** supermop has quit IRC
05:16:46 *** Hyronymus has joined #openttd
05:17:14 *** Hyronymus has quit IRC
05:30:05 *** Prof_Frink has quit IRC
05:40:47 *** sla_ro|master has joined #openttd
05:46:27 *** KouDy has joined #openttd
06:24:57 *** TheMask96 has quit IRC
06:26:47 *** valhallasw has joined #openttd
06:31:24 *** TheMask96 has joined #openttd
06:38:01 *** sla_ro|master has quit IRC
06:39:31 <Terkhen> good morning
06:39:42 <Supercheese> salve
06:40:16 *** valhallasw has quit IRC
07:03:15 *** valhallasw has joined #openttd
07:24:52 *** perk11 has joined #openttd
07:34:28 *** Knogle has joined #openttd
07:50:48 *** Zeknurn` has joined #openttd
07:52:35 *** Zeknurn` has quit IRC
07:56:42 *** Zeknurn has quit IRC
07:56:42 *** Zeknurn` has joined #openttd
08:03:50 *** mucht_home has joined #openttd
08:10:06 *** Mucht has quit IRC
08:16:48 *** Zeknurn` has quit IRC
08:18:54 *** Zeknurn has joined #openttd
08:34:20 *** peter1138 has joined #openttd
08:34:20 *** ChanServ sets mode: +o peter1138
08:37:36 <peter1138> Czy mogę zadać pytanie na temat najnowszej wersji najnowszej?
08:38:36 <szaman> chyab tak ale in english
08:39:11 <__ln__> Gesundheit.
08:39:26 *** DDR has quit IRC
08:39:28 <planetmaker> Moin
08:45:39 <peter1138> Ale ja lubię łamania zasad w temacie kanału
08:46:58 <szaman> 'lubisz łamanie' czy 'nie lubisz łamania' ?
08:48:50 *** mucht_home has quit IRC
08:48:56 <peter1138> Lubisz łamanie, oczywiście :-)
08:49:18 <__ln__> Zdezynfekowano.
08:49:28 <peter1138> Dobra, jestem znudzony Google Translate teraz.
08:50:19 <szaman> you are the bored google translator now? :]
08:50:53 <peter1138> Approximately
08:51:35 <szaman> you can't use google translate to speak polish, it outputs garbage in most cases
08:51:49 <szaman> like every slavic language i think
08:51:53 <peter1138> I know.
08:52:01 <planetmaker> *every language ;-)
08:52:03 <__ln__> it looked convincing though.
08:52:13 <peter1138> Exactly, planetmaker.
08:53:44 <__ln__> Google should train their translator monkeys/gnomes better.
08:59:07 <szaman> so we had our lesson, don't use google translate to translate openttd :]
09:06:14 <NGC3982> Morning.
09:11:03 <peter1138> Fish heads, fish heads, roly poly fish heads.
09:11:09 <peter1138> Fish heads, fish heads, eat them up, yum!
09:12:27 <planetmaker> szaman, that's why we usually only want native speakers to be translators (though we have no means to check that) :-)
09:12:54 <szaman> peter1138: you mean to eat 'ukha' ? :]
09:13:32 <peter1138> The UK Housekeepers Association?
09:14:01 <szaman> clear Russian soup, made from various types of fish, fish heads including
09:14:13 <peter1138> Lovely.
09:14:20 <peter1138> http://www.youtube.com/watch?v=cTpUVAcvWfU
09:16:56 <szaman> well, it looks like they don't know that fish heads are eated usually in soup
09:17:38 <peter1138> __ln__ to the rescue?
09:23:09 *** HerzogDeXtEr1 has quit IRC
09:26:35 <peter1138> There's no pirate translation :-(
09:29:02 <NGC3982> fish heads are great for soup
09:30:05 <peter1138> Okay, so is there any good network games going on at the moment?
09:31:12 <planetmaker> I think openttd is going on ;-)
09:31:25 <peter1138> Well I mean of OpenTTD, yes.
09:31:45 <NGC3982> ttd.dndr.se is empty, i guess.
09:32:18 *** argoneus has joined #openttd
09:38:18 <NGC3982> Wait what.
09:38:22 <NGC3982> It's not even running.
09:38:26 <NGC3982> I have broken something. ;_;
09:40:09 *** Pixa has joined #openttd
09:46:01 <peter1138> That'll be why it's empty.
09:49:22 *** argoneus has quit IRC
09:54:06 <__ln__> szaman: *eaten
09:54:33 <__ln__> excuse my late appearance as i was having a lunch
09:56:33 <NGC3982> What did you have?
09:56:40 <szaman> __ln__: yep, i've realised but was too lazy to correct myself :P
09:58:16 <__ln__> NGC3982: chinese food
09:58:53 <NGC3982> Ah, nice.
09:59:00 <NGC3982> Im going to have a sallad in a few minutes.
09:59:07 <__ln__> *salad
09:59:18 <__ln__> and *I'm
09:59:37 <NGC3982> I'm the only supervisor here today, and i don't think i'll have time to eat properly.
09:59:41 <szaman> there is metallica song about salad
09:59:57 <NGC3982> szaman: Enter sandman? *badum tiss*
10:00:21 <szaman> I f*ck this! I f*ck that! Salad! Salad!
10:02:51 <NGC3982> :(
10:03:05 <NGC3982> Mr Cabbagehead feels very offended.
10:03:22 *** Pixa has quit IRC
10:04:41 <szaman> well, today is the day of Mr Fishhead, so i don't feel guilty
10:13:26 *** Pixa has joined #openttd
10:21:16 *** Devroush has joined #openttd
10:29:44 *** Pixa has quit IRC
10:39:18 *** Pixa has joined #openttd
10:40:52 *** brambles has joined #openttd
10:47:34 *** fonsinchen has joined #openttd
10:53:38 *** Hirundo_ has joined #openttd
10:53:38 *** SmatZ- has joined #openttd
10:54:08 *** avdg_ has joined #openttd
10:54:08 *** Yexo- has joined #openttd
10:54:28 <peter1138> hmm, #openttdcoop public server using a non-bananas newgrf :-(
10:54:38 *** pm has joined #openttd
10:54:38 *** ChanServ sets mode: +o pm
10:55:08 *** tneo- has joined #openttd
10:55:38 *** Osai^2 has joined #openttd
10:56:08 *** ^ekipS^ has joined #openttd
10:56:22 *** XeryusTC_ has quit IRC
10:56:28 *** Osai has quit IRC
10:56:38 *** |Terkhen| has joined #openttd
10:57:42 *** V453000 has quit IRC
10:58:36 *** Hirundo has quit IRC
10:58:37 *** SmatZ has quit IRC
10:59:06 *** avdg has quit IRC
10:59:06 *** avdg_ is now known as avdg
10:59:21 *** ^Spike^ has quit IRC
10:59:21 *** ^ekipS^ is now known as ^Spike^
11:00:06 *** Terkhen has quit IRC
11:00:06 *** tneo has quit IRC
11:00:16 *** planetmaker has quit IRC
11:00:16 *** pm is now known as planetmaker
11:00:17 *** Yexo has quit IRC
11:00:18 *** Biolunar has joined #openttd
11:03:21 <NGC3982> :3
11:04:39 <peter1138> 3:
11:04:42 <Knogle> I never understood that smiley, it looks like you've balls in your face.
11:07:38 <SpComb> (:
11:11:34 <peter1138> :³
11:12:40 <peter1138> ☺
11:15:05 <peter1138> Ɛ:
11:15:53 <peter1138> ö
11:20:33 <peter1138> ⍢
11:20:48 <peter1138> ⍨
11:21:12 <fonsinchen> unicode kills smilies.
11:22:19 <dada__> (´・ω・)
11:23:47 <Eddi|zuHause> that is definitely _not_ a face...
11:24:21 <peter1138> ⢈⣹
11:25:20 <peter1138> ⵓⵔ
11:25:50 <dada__> 凸(`△´+)
11:26:22 <Eddi|zuHause> :ö:
11:27:28 *** telanus1 has joined #openttd
11:30:30 *** Elukka has joined #openttd
11:31:36 *** telanus has quit IRC
11:32:02 *** Supercheese has quit IRC
11:32:30 *** Supercheese has joined #openttd
11:42:04 *** Jake|afk has quit IRC
11:42:32 *** Jake|afk has joined #openttd
11:46:08 <planetmaker> http://www.tt-forums.net/viewtopic.php?p=1049741#p1049741 I guess I'm trolling. But I enjoy it :-)
12:00:32 *** argoneus has joined #openttd
12:00:38 *** V453000 has joined #openttd
12:01:09 *** XeryusTC_ has joined #openttd
12:20:51 <peter1138> It ain't that clever.
12:30:34 *** Yexo- is now known as Yexo
12:38:23 <Eddi|zuHause> planetmaker: if you're playing on the "data" directory being replaced, that doesn't even make sense, because it is still being supported for backwards compatibility
12:48:15 <dada__> hahaha he said "contact a developer for help" :)
12:48:22 <dada__> not noticing the "openttd developer" user title
12:52:52 <planetmaker> dada__, he does know
12:53:19 <planetmaker> Eddi|zuHause, not playing that (yet) :-P
12:56:50 *** LordPixaII has joined #openttd
13:01:26 *** Pixa has quit IRC
13:07:48 <peter1138> What are you "playing" on then?
13:09:11 <planetmaker> all the pitfalls in manual installation ;-) Nothing I said is invented. It's all a replay from cases I tried to help solve
13:11:47 <peter1138> I for one am very not impressed with devs trolling like that.
13:15:25 <planetmaker> yes. Sadly you don't handle all the support requests for manual installation and where to find non-bananas newgrfs either, though
13:16:43 <planetmaker> where this is an illustrations where things do go wrong. regularily
13:18:41 *** Knogle has quit IRC
13:19:41 *** Knogle has joined #openttd
13:19:58 <Belugas> hello
13:20:07 <peter1138> Sir Belugas!
13:21:12 <Belugas> hi hi sir :)
13:23:14 <planetmaker> hi Belugas
13:25:28 <peter1138> Eddi|zuHause: I provided a dirty hack? Hmm...
13:25:41 <Eddi|zuHause> peter1138: a veeeery long time ago
13:30:11 <Belugas> sir maker :)
13:31:06 <Eddi|zuHause> [Di Nov 7 2006] [13:37:51] <peter1138> Eddi|zuHause2: http://fuzzle.org/o/dodgyhack.diff maybe ;p
13:31:49 <peter1138> No longer there...
13:31:58 <V453000> totally not shady and suspicious file name :D
13:32:13 <Eddi|zuHause> i still have the file, but it's probably not very interesting
13:33:27 <Eddi|zuHause> http://paste.openttdcoop.org/show/1778/
13:33:39 <peter1138> Ooh, nice :-)
13:34:47 <Eddi|zuHause> also, it was posted at 13:37 ;)
13:34:51 *** argoneus has quit IRC
13:35:11 <peter1138> planetmaker, incidentally, I used to have some patches on the go that would've ultimately supported files contained in zip files...
13:35:30 <planetmaker> well... would be nice, if zips be treated as tars?
13:35:46 <peter1138> No because they're not.
13:36:06 <Eddi|zuHause> temporarily uncompress zip, rar, xz, ... ?
13:36:13 <peter1138> But you probably mean transparently, which was the case.
13:37:25 <Eddi|zuHause> ./openttd: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory <-- i guess i'd have to recompile it :/
13:37:30 <peter1138> Originally I was thinking about mmaped file IO, but it's pointless because most of the time we copy stuff around into memory anyway.
13:40:20 <Eddi|zuHause> hm... about two million warnings
13:40:45 <peter1138> Oh crap, sorry Belugas...
13:41:03 * peter1138 copies a few audio files for previewing purposes.
13:41:17 <Eddi|zuHause> hey, it actually runs
13:41:47 <Belugas> peter1138 : why are you sorry for? audio files? where?
13:41:58 <Belugas> ho... the stuff i sent you a while ago?
13:42:26 <peter1138> Erm
13:42:33 <peter1138> Seems I never got around to listening to much of it.
13:42:43 <peter1138> Last stuff was Led Zep, which was, er, 2010.
13:43:01 <Belugas> hehehe
13:43:45 <peter1138> Good job this is only 30 second tasters of each track... *cough*
13:49:41 *** TheMask96 has quit IRC
13:54:34 *** TheMask96 has joined #openttd
14:38:06 *** argoneus has joined #openttd
14:45:49 *** sla_ro|master has joined #openttd
15:02:02 *** perk11 has quit IRC
15:06:58 *** HerzogDeXtEr has joined #openttd
15:07:42 *** perk11 has joined #openttd
15:11:07 *** fonsinchen has quit IRC
15:11:27 *** peter1138 has quit IRC
15:21:56 *** Prof_Frink has joined #openttd
15:23:32 *** perk111 has joined #openttd
15:27:44 *** perk11 has quit IRC
15:28:34 *** supermop has joined #openttd
15:35:20 *** pugi has joined #openttd
15:51:19 *** pippo64 has joined #openttd
15:53:03 *** frosch123 has joined #openttd
15:53:33 *** pippo64 has quit IRC
15:55:16 *** valhallasw has quit IRC
16:01:34 *** perk111 has quit IRC
16:12:02 *** Hyronymus has joined #openttd
16:17:42 *** |Terkhen| is now known as Terkhen
16:18:24 *** keoz has joined #openttd
16:27:08 <__ln__> now in english: http://taskumuro.com/artikkelit/the-story-of-nokia-meego
16:38:47 *** roadt has quit IRC
16:41:58 <V453000> andythenorth: did the fruit cargo label in FIRS change?
16:42:15 <V453000> FRUT doesnt seem to be correct, not sure if it was originally
16:42:23 <V453000> but I think it worked
16:42:32 <V453000> oh andy aint here :z
16:42:46 <V453000> anyone knows? :)
16:43:46 <V453000> k FRVG there we go
16:47:16 *** Progman has joined #openttd
16:52:49 *** keoz has quit IRC
16:53:13 *** Elukka has quit IRC
16:53:51 *** glx has joined #openttd
16:53:51 *** ChanServ sets mode: +v glx
16:58:55 *** Alberth has joined #openttd
16:58:55 *** ChanServ sets mode: +o Alberth
17:02:33 *** Guilux has quit IRC
17:02:38 *** DanMacK has joined #openttd
17:02:53 <DanMacK> Hey all
17:02:58 <DanMacK> !seen andy
17:05:38 <supermop> hi
17:06:55 <DanMacK> Hey
17:07:08 <DanMacK> I'm a bit behind the times. You re-released your roundhouses yet?
17:07:36 <Alberth> DanMacK: andy was here at least yesterday
17:08:11 <DanMacK> cool
17:09:26 <supermop> oh man
17:09:27 <supermop> no
17:09:36 <supermop> i haven't coded anything in so long
17:09:44 *** Guilux has joined #openttd
17:09:56 <supermop> and nml can't do stations
17:10:17 <supermop> so working with that batch of nfo is really hard for me
17:10:28 *** Guilux has quit IRC
17:10:52 <supermop> i don't think there is anyone looking to help code it for me either
17:10:53 <Alberth> extend nml with station support first :p
17:10:54 *** Guilux has joined #openttd
17:11:08 <supermop> i have no idea how to do that!
17:11:19 <supermop> also as i told andy a week or so ago
17:11:49 <supermop> getting frustrated drawing imaginary toy buildings for me is doubly annoying for me
17:12:04 <supermop> as i am an architect who can't find work in architecture
17:12:17 <supermop> am stuck in furniture
17:12:22 <DanMacK> ick
17:12:46 <supermop> so slogging through train sheds or stations or houses just reminds me of that
17:13:00 <supermop> so i sort of stopped
17:13:21 <supermop> i only played the game again for the first time in a year or so a couple weeks ago
17:13:36 <supermop> as i was on a flight and wanted to try out GS
17:14:23 <DanMacK> I started playing again but the lack of time-period things irritated me, so I stopped :P
17:14:29 <DanMacK> and started drawing again.
17:14:35 <supermop> ah
17:14:55 <supermop> even though i don't work on newgrfs anymore
17:14:58 <DanMacK> If I'm playing 1800 I don't want diesel cranes and stuff
17:15:17 <supermop> i find i cant get through a game without wishing something was different
17:15:25 <DanMacK> Same here
17:15:27 <supermop> so i think about how i would prefer it to be
17:15:38 <supermop> then think about how hard it would be to do that
17:15:53 <supermop> then i just go read or go out for a beer
17:16:33 <DanMacK> heh
17:17:35 <DanMacK> thought about period industries for FIRS?
17:17:58 <supermop> i had an idea for one yesterday but it was silly
17:18:23 <DanMacK> What was that?
17:18:25 *** KouDy has quit IRC
17:19:07 <supermop> fufillment center
17:19:13 <supermop> for 1995 or so on
17:19:25 <supermop> accepts goods, produces mail
17:19:50 <DanMacK> I like it
17:20:25 <supermop> would be easy to draw as well - buildings like that are usually just steel or tilt-slab boxes
17:21:31 <DanMacK> What are you waiting for? :P
17:23:16 *** Wolf01 has joined #openttd
17:23:17 <supermop> same thing i am waiting for to go to grad school, leave the city, start a design studio, etc
17:23:24 <Wolf01> hello o/
17:24:17 <Alberth> oddink Wolf01
17:25:30 *** Elukka has joined #openttd
17:28:55 <supermop> i wish nml did bridges too
17:30:07 <supermop> i thought yesterday about printing a dimetric grid on a piece of 11x17, putting it on my drawing board, then doing free hand pen sketches on tracing paper over it
17:34:21 <DanMacK> to draw TTD buildings you mean?
17:35:14 <supermop> yeah
17:35:21 <supermop> or ttd-ish buildings
17:35:31 <DanMacK> It works well
17:35:36 <supermop> aiming for a house set etc might be too overwhelming
17:35:47 <supermop> but if i have an idea sketch it out
17:35:56 <DanMacK> Talk to Pikka, he may need a few buildinfs
17:36:21 <supermop> later if i want to scan a shoebox full of thumbnail sketches i could hand someone the pngs
17:36:38 <supermop> more like
17:36:57 <supermop> i saw an interesting 60s/70s facade in chinatown a week or so ago
17:37:19 <supermop> a bit out of place but looked very much like part of the tt world
17:37:31 <DanMacK> Get a pic?
17:38:13 <supermop> i could have just sketched it out without having to worry about all the views, construction stages, palette, and whether the scale or level of detail looked good
17:38:50 *** NataS has joined #openttd
17:43:07 *** fonsinchen has joined #openttd
17:45:45 <DorpsGek> Commit by translators :: r24585 /trunk/src/lang (6 files) (2012-10-11 17:45:33 UTC)
17:45:46 <DorpsGek> -Update from WebTranslator v3.0:
17:45:47 <DorpsGek> belarusian - 2 changes by KorneySan
17:45:48 <DorpsGek> catalan - 2 changes by arnau
17:45:49 <DorpsGek> english_US - 2 changes by Rubidium
17:45:50 <DorpsGek> french - 2 changes by glx
17:45:51 <DorpsGek> lithuanian - 2 changes by Stabilitronas
17:45:52 <DorpsGek> vietnamese - 74 changes by myquartz
17:46:08 *** Nat_aS has quit IRC
17:53:46 *** Pixa has joined #openttd
17:59:31 *** LordPixaII has quit IRC
18:13:09 *** dondaniel has joined #openttd
18:13:27 <dondaniel> hi
18:13:34 <Alberth> hi
18:13:45 <dondaniel> where are you from
18:14:11 <dondaniel> i from russia
18:14:11 <Alberth> here?
18:14:19 <dondaniel> )
18:14:23 <dondaniel> eemmmm
18:14:24 <dondaniel> ok
18:14:46 <dondaniel> you are beginner in open ttd
18:15:03 <dondaniel> ????
18:15:13 <Alberth> yeah, I only played it 10 years or so
18:15:14 <__ln__> yeah, all of us have barely seen openttd
18:15:22 <dondaniel> ONLY
18:15:37 <dondaniel> i have idea
18:16:01 <dondaniel> to make the leage
18:16:06 <dondaniel> of champions
18:16:09 <dondaniel> ))))
18:16:31 <__ln__> please write full sentences on one line
18:17:31 <dondaniel> but i dont know how say for all tycoon players about this
18:17:34 <dondaniel> ok
18:17:52 <dondaniel> can you help me??
18:18:04 <Alberth> many users read the tt-forums.net site, you can post there
18:18:47 <dondaniel> ok thanks
18:19:20 *** dondaniel has quit IRC
18:49:05 *** andythenorth has joined #openttd
18:53:06 *** kais58_ has joined #openttd
18:55:02 *** kais58 has quit IRC
19:11:45 *** TheDude has joined #openttd
19:12:07 <TheDude> hi
19:25:57 *** heffer has quit IRC
19:26:33 *** heffer has joined #openttd
19:32:56 *** KritiK has joined #openttd
19:33:33 <Yexo> hi
19:41:20 *** HerzogDeXtEr1 has joined #openttd
19:42:09 *** mahmoud has joined #openttd
19:44:37 *** George has quit IRC
19:47:16 *** HerzogDeXtEr has quit IRC
19:47:48 <TheDude> hi andythenorth
19:47:58 <andythenorth> lo
19:48:16 <andythenorth> you had a question? :)
19:48:32 <TheDude> I am trying to save value in temporary storage 100 and 101 to use variable 68 (http://newgrf-specs.tt-wiki.net/wiki/VariationalAction2/Industries) for industries
19:48:39 <TheDude> but I am failing with it
19:48:57 <TheDude> even with some code I found on forums
19:50:13 <TheDude> what I have is this 02 0A A0 89 1A 20 FF FF FF FF \2sto 1A 00 \d100 01 \d0 \d0 A0 00
19:53:40 *** frosch123 has quit IRC
19:53:48 <TheDude> there should be link to another varact2 at the npar, but that wasnt the problem
19:55:09 *** DanMacK has quit IRC
19:55:20 <andythenorth> nml? :)
19:56:48 <TheDude> what with it?
19:58:56 <andythenorth> easier ;)
19:59:04 <TheDude> hm, ok
19:59:33 <andythenorth> TheDude: this is industry code? or something else (I didn't look up the type)
20:00:00 <TheDude> yes, it is
20:00:31 <Eddi|zuHause> TheDude: it must be \dx100
20:00:35 <andythenorth> you could try using permanent storage to test your code
20:00:43 <andythenorth> then you can see the value in the newgrf debug gui
20:00:53 <Eddi|zuHause> TheDude: 100 as hexadecimal number
20:00:54 <andythenorth> once it works, go back to temp storage register
20:01:13 <andythenorth> also what Eddi|zuHause said
20:01:29 <andythenorth> but getting debug info is essential for your sanity when coding industry newgrf
20:01:56 <TheDude> where can I see permanent storage?
20:02:25 <Eddi|zuHause> you need to enable newgrf_developer in the console
20:02:37 <TheDude> sure
20:02:45 <TheDude> but when is it then?
20:02:57 <Eddi|zuHause> then you get a "bug" icon in the title bar of the industry
20:03:07 * andythenorth looks in wiki
20:03:15 <TheDude> if I inspect industry, there are variables, properties, but no storage
20:03:15 <andythenorth> http://wiki.openttd.org/NewGRF_Debugging
20:04:52 <andythenorth> hmm
20:05:01 <TheDude> yes, exactly, what is the persistent storage there? I dont know
20:05:11 <andythenorth> they appear after the first month or so of gameplay
20:05:28 <andythenorth> maybe they aren't shown if all storage is 0 or null
20:05:47 <andythenorth> they probably won't show for default industries
20:05:51 <andythenorth> they do show for FIRS
20:07:38 <TheDude> ok, I will play with it little bit more, thanks for the push
20:11:55 <andythenorth> new ship
20:11:56 <andythenorth> http://www.tt-forums.net/download/file.php?id=164854
20:12:00 <andythenorth> from DanMacK
20:12:47 *** sla_ro|master has quit IRC
20:17:06 <Eddi|zuHause> how good could ships from denmark be?
20:17:16 *** George has joined #openttd
20:22:16 <andythenorth> Eddi|zuHause: as good as ships from Canada?
20:22:47 <andythenorth> I can't think of any other alternative spellings for DanMacK :P
20:24:32 *** DDR has joined #openttd
20:30:20 <Terkhen> good night
20:35:24 <Supercheese> OTTD doesn't allow each smokestack on a ship to emit its own steam puff, right?
20:35:34 <Supercheese> limited to one IIRC
20:35:52 *** FLHerne has joined #openttd
20:36:28 <FLHerne> andythenorth: Hey! Your ships are useful! :P
20:36:45 <Eddi|zuHause> http://www.abload.de/img/008vlovj.jpg <-- that looks totally weird, with the "red lips" and "tongues"
20:37:29 <Eddi|zuHause> Supercheese: yes, only one puff, and the position can't be adjusted properly (afair only length-wise, not height-wise)
20:37:48 <Supercheese> Yeah, was hoping that had changed since I last checked, but alas
20:38:12 * Supercheese wonders if he should attempt a patch to fix that
20:40:25 <Supercheese> Having never really inspected the code, though, naturally I've quite a bit of reading to do
20:42:24 <andythenorth> FLHerne: 'useful' ?
20:42:45 *** andythenorth has left #openttd
20:42:49 *** andythenorth has joined #openttd
20:42:49 *** andythenorth has left #openttd
20:42:56 <FLHerne> andythenorth: Move loads of cargo, with the autorefitting :-)
20:42:58 *** andythenorth has joined #openttd
20:43:12 <FLHerne> andythenorth: Move loads of cargo, with the autorefitting :-)
20:43:19 <FLHerne> Dodgy client?
20:43:25 <andythenorth> dodgy keypress
20:43:57 * FLHerne screenshots
20:44:17 *** Alberth has left #openttd
20:46:08 <Supercheese> Jeez, weird BubbleMovement arrays or something under effectvehicle.cpp
20:46:46 <Supercheese> guess all the movement is hardcoded?
20:48:21 <Supercheese> ach, most of this goes over my head
20:49:05 <FLHerne> andythenorth: Integrated ship/rail transport :D http://www.tt-forums.net/download/file.php?id=164860 http://www.tt-forums.net/download/file.php?id=164861
20:49:23 *** Eddi|zuHause has quit IRC
20:50:04 <Supercheese> "double tracked" canals, eh? :)
20:50:16 * FLHerne puts on his 'blatant screenshot plug' hat :D
20:50:20 *** Eddi|zuHause has joined #openttd
20:50:32 <FLHerne> Supercheese: Giant barges going through each other look silly :P
20:50:36 <Supercheese> indeed
20:50:52 <Eddi|zuHause> there's a "ships avoid each other" patch
20:51:16 <FLHerne> Eddi|zuHause: I know. Forgot to apply it before starting this game
20:51:27 <FLHerne> PF-only, might not break if I add it?
20:51:29 <Eddi|zuHause> but doing that strictly may deadlock
20:51:47 <Eddi|zuHause> FLHerne: depends if it adds a setting
20:52:01 <andythenorth> FLHerne: but ships are so slow :o
20:52:06 <FLHerne> Well, I might as well try :P
20:52:20 <FLHerne> andythenorth: Trains on water are slower :P
20:52:33 <FLHerne> Also, it's 1928 so the trains are slow too :D
20:52:38 <Eddi|zuHause> FLHerne: if it does, you might want to change its changes to settings.ini, to be a gui-only option
20:52:46 <Supercheese> but ships are the only vehicles that offer indefinitely large route capacities
20:52:54 <Supercheese> need to transport more stuff? just add more ships
20:53:09 <Eddi|zuHause> FLHerne: you will lose multiplayer stability, but you gain savegame compatibility
20:53:10 <NGC3982> FLHerne: What NewGRF is that?
20:53:11 <Supercheese> they never get jammed, they clip through each other, they all can load and unload at the same time etc. etc.
20:53:13 <FLHerne> Supercheese: That's going to prove important soon :D
20:53:27 <Supercheese> all other vehicle types can get bogged down
20:53:32 <Supercheese> and capacity is limited
20:53:33 * FLHerne is going to route the core of his network through that canal :-)
20:53:42 <FLHerne> NGC3982: Which one?
20:53:53 <NGC3982> Oh, sorry. The station tiles
20:53:59 * FLHerne is finding the grf-limit a pain ;-)
20:54:02 <FLHerne> ISR?
20:54:10 <NGC3982> The GRF-limit?
20:54:12 * NGC3982 googles
20:54:22 * Supercheese learned how to compile OTTD just so he could increase the GRF limit ;)
20:54:29 <FLHerne> There's a maximum number :P
20:54:47 <NGC3982> There is?
20:54:50 <NGC3982> Jeez.
20:55:05 <Supercheese> fios.h: line 94: LAST_GRF_SLOT
20:55:17 <Supercheese> I increased mine to 254 from 63, IIRC
20:55:21 <FLHerne> It's higher than you'd normally encounter, unless you were to fill them all with eyecandy and vehicles :D
20:55:29 <Supercheese> also line 96: MAX_FILE_SLOTS
20:56:32 <Supercheese> http://www.tt-forums.net/download/file.php?id=154807
20:56:46 <Supercheese> 64 is _not enough_.
20:56:49 <Supercheese> :P
20:57:04 <Supercheese> (also, old grf list is old)
20:58:29 *** telanus1 has left #openttd
21:06:05 *** valhallasw has joined #openttd
21:07:53 <andythenorth> what's all this patch talk about
21:07:59 <andythenorth> all my patches go into trunk quickly
21:08:02 <andythenorth> :P
21:13:46 <andythenorth> FLHerne: FISH feedback in the thread if you have any btw
21:14:14 * andythenorth bed
21:14:15 *** andythenorth has quit IRC
21:14:35 <Eddi|zuHause> why do i get bored so quickly lately?
21:14:41 <NGC3982> Why is there a maximum in the first place?
21:15:03 <Eddi|zuHause> NGC3982: because computers are not turing complete
21:15:13 <Eddi|zuHause> they lack infinite storage
21:15:54 <SpComb> uh huh
21:16:30 <SpComb> OpenTTD would run out of available "if"s, you see, with too many GRFs loaded
21:16:48 <SpComb> "if"s are the things that computer programs are made out of
21:16:51 <NGC3982> Eddi|zuHause: That sounds like a user problem.
21:17:21 <Supercheese> Apparently the grf list has to fit into a single UDP packet for network games
21:17:31 <NGC3982> Oh
21:17:36 <Supercheese> so there's a reason for the limit
21:17:41 <NGC3982> I see
21:17:45 <Supercheese> singleplayer games there isn't a reason insofar as I can tell
21:17:56 <NGC3982> That sounds logical
21:18:25 <Supercheese> http://bugs.openttd.org/task/5117
21:18:50 <Supercheese> "For the multiplayer lobby all used NewGRFs must be put into a single UDP packet. A UDP packet is very limited in size."
21:19:45 <Eddi|zuHause> one could increase that by using a smaller checksum instead of md5
21:20:01 <SpComb> sounds like OpenTTD needs a protocol for reassembling fragmented UDP packets!
21:20:02 * Supercheese doesn't really know what that means :P
21:20:36 <Eddi|zuHause> checksums are a means to compare two files, without transferring the whole file to the other location
21:20:58 <Supercheese> So use a fewer-bits checksum or some such?
21:21:03 <Eddi|zuHause> yes
21:21:39 <Supercheese> I rarely if ever play network games, though, so am I correct in assuming there's no reason for the limit in singleplayer games?
21:21:47 <Eddi|zuHause> if you use a half-size checksum, you can pack more grfs into the list
21:21:55 <Supercheese> I mean, I have ~90 grfs loaded in my game here, so it seems to work fine ;)
21:21:56 *** Hyronymus has quit IRC
21:22:35 <Eddi|zuHause> there may be type troubles if you set more than 255
21:22:51 *** Hyronymus has joined #openttd
21:22:59 <NGC3982> 255 seems good.
21:23:09 <Supercheese> yep, that's what I upped the limit to
21:23:46 <FLHerne> Why can't it use two UDP packets? :P
21:24:01 *** DDR has quit IRC
21:24:01 <NGC3982> Two!? You mad man..
21:24:06 <Yexo> it possible can, but nobody bothered to code support for that
21:24:16 <NGC3982> That would inflate the universe to another dimension!
21:24:31 * NGC3982 just realized that things don't inflate into spatial dimensions.
21:24:36 <Rubidium> NGC3982: because that significantly increases the complexity
21:24:45 <Yexo> and to be fair: all newgrf lists that contain more than 50 items I've seen contain a lot of unused grfs
21:25:04 <NGC3982> Rubidium: What increases the complexity?
21:25:05 <FLHerne> Yexo: Mine doesn't :P
21:25:22 <Supercheese> Some grfs have the nasty problem of only containing one vehicle
21:25:23 <Rubidium> if with 1 packet there is a 50% chance the packet gets lost, then with 2 packets it's 75% and with 4 even a 94% chance
21:25:32 <NGC3982> Rubidium: Oh. Using two? Let's re-direct that answer to FLHerne.
21:25:32 *** DDR has joined #openttd
21:25:34 <FLHerne> Unless you equate 'eyecandy' with 'useless', which is a potentially valid obsevation :D
21:26:21 <Yexo> I don't, I meant using for example old opengfx grfs from before the opengfx baseset, or 20 stations sets but only the default stations build
21:26:36 <Yexo> having both ecs and firs in the list and one error out due to incompatibility, that kind of things
21:26:41 <Rubidium> and since UDP is 'fire and forget', adding support for multiple packets means retries, getting the packet order right and all kinds of nasty stuff
21:26:41 <NGC3982> Not to be obtuse, but why is it important to store all the NewGRFs in a UDP file?
21:26:49 *** DDR has quit IRC
21:27:08 <NGC3982> That's not really related to the inquiry, by the way.
21:27:12 <FLHerne> Yexo: For MP servers, the latter in your first point can be valid ;-)
21:27:26 <Rubidium> because people want to know whether they have the right NewGRFs to join a server
21:27:38 <FLHerne> You don't know what players want to build, so it's good to have a range of station grfs
21:27:45 <Rubidium> and clicking each server to see whether that's the case is more cumbersome than showing a nice green blob
21:27:51 *** DDR has joined #openttd
21:27:55 <Rubidium> (or a yellow blob when NewGRFs are missing)
21:28:04 <NGC3982> I see.
21:28:11 <FLHerne> Rubidium: Would TCP be better at all?
21:28:12 <Yexo> FLHerne: for mp there is also the problem that having too many newgrfs might scare off users
21:28:18 <NGC3982> Other games have similar systems with addons. How do they solve it?
21:28:21 <Yexo> FLHerne: that's use a lot more resources
21:28:22 * FLHerne hasn't done networking at that level :P
21:28:46 <FLHerne> Yexo: I have a CDist server anyway :P
21:28:52 <Rubidium> FLHerne: that requires many more round trips to get just a kB of data across
21:29:20 <FLHerne> I get user shortages anyway, but I doubt grfs are the issue ;-)
21:29:22 <Rubidium> FLHerne: and certain OSes seemed to have a limit on the number of TCP connections that could be opened
21:29:28 <Rubidium> (as a server)
21:30:03 <Yexo> <NGC3982> Other games have similar systems with addons. How do they solve it? <- can you name some other games where you can have >50 addons loaded at the same time?
21:30:29 <FLHerne> Mmm. No then :P
21:32:49 *** Hyronymus has quit IRC
21:32:57 <NGC3982> Yexo: Yes, indeed. Any MMORPG where your character uses equipment that are visible to others should be ..basicly the same thing?
21:33:16 <NGC3982> Yexo: If i understand carrying sets of data correctly, that is.
21:33:22 <Supercheese> Skyrim has a Mod manager, I've seen folks will zillions of mods enabled in it
21:33:39 <Yexo> NGC3982: but at that point you already have a completely connection to the server
21:33:44 <Supercheese> things get pretty hairy after a few dozen mods though
21:33:54 <Yexo> that's not the case in the openttd server overview
21:34:11 <NGC3982> Yexo: I think i understand the issue.
21:34:30 <NGC3982> Users does not connect to the actual server to retrieve the NewGRF list, but uses that wimpy UDP package.
21:34:32 <Yexo> using UDP means we don't need to have create a complete connection to the server
21:35:22 <NGC3982> And implementing a system where you actually download a real list (let's say, a text file) from the server - is tedious/hard/not worth it?
21:35:53 <NGC3982> Note that im not trying to convince you here, i litterally don't know how the game should be built, so.
21:35:56 <NGC3982> :P
21:36:12 <Yexo> compare it to using the phone vs using texts: if you call someone you can say as much as you want without any problems, but calling takes some time, you greet someone, say goodby etc. This is using a TCP connection. What we do is send a text "what newgrfs do you use" and wait for a response "a, b and c". Since we can text all servers at the same time and get responses asynchrounsly this is fast. see this as UDP
21:36:45 <NGC3982> I see.
21:36:56 <NGC3982> Good analogy.
21:36:59 <NGC3982> Yet,
21:38:05 <Yexo> one text (UDP packet) is limited in size, that's where the newgrf limit comes from. If you want to increase that you have to either switch to a phone call or use multiple texts. However since there is no synchronization, you are not sure if and in which order your texts arrive
21:38:15 <Yexo> if you limit it to one text it doesn't matter, but otherwise it does
21:38:24 <NGC3982> Ah.
21:38:40 <Yexo> that means the receiver needs to keep track of the amount of packets it expects and put them in the right order, which is quite a bit of work
21:38:43 *** Progman has quit IRC
21:38:46 <NGC3982> I guess this is a bigger problem then users simply downloading a list from a server.
21:39:04 <Yexo> downloading a list would mean using the phone call
21:39:10 <NGC3982> I see.
21:39:17 <Rubidium> NGC3982: try calling 250 people
21:39:17 <Yexo> now a computer is not human, but is still limited in the the amount of calls it can answer
21:39:22 <NGC3982> Rubidium: True.
21:39:43 <NGC3982> I was only thinking in the terms of a single user downloading (or using a phone call) the list from a single sever.
21:39:46 <NGC3982> server*
21:40:12 <Rubidium> that's what happens in the window where you choose the company to join
21:40:15 <Yexo> a central openttd server could fullfill that role, but you don't want to rely on an internet server for local lan games
21:40:16 <Eddi|zuHause> NGC3982: to send the same data in a TCP packet, you take 9 times the bandwidth, and a lot of memory
21:40:29 <NGC3982> Yexo: True.
21:40:44 <NGC3982> Eddi|zuHause: Ah, i see.
21:40:50 <NGC3982> Well, that kind of settles it.
21:40:54 <Yexo> now the amount of servers in a lan is probably always very limited, so a TCP connection could be used there
21:41:17 <Yexo> but all in all: it's definitely possible, but a lot of hassle to get it working correctly and the current limit is deemed "high enough"
21:41:29 <Eddi|zuHause> some routers may have problems with opening 250 connections at the same time
21:41:32 <Rubidium> also a TCP connection to the LAN broadcast is not likely to work right
21:42:03 <Rubidium> they already crash when dumping 250 UDP messages at the same time onto the router
21:42:05 <Eddi|zuHause> i have never reached the GRF limit
21:42:15 <Wolf01> 'night all
21:42:17 *** Wolf01 has quit IRC
21:42:26 <Yexo> servers broadcast the ip/port they're using, right? so why would it be a problem to use a tcp connection?
21:43:03 <Yexo> or does the broadcast message currently include all information?
21:43:10 <FLHerne> How does CPU load on a dedicated server scale?
21:43:21 <Eddi|zuHause> Rubidium: this is about the "online" status of servers, not the server search/masterserver
21:43:28 * FLHerne was thinking of running one on a MIPS blob :P
21:43:48 <Eddi|zuHause> FLHerne: very high
21:43:48 <NGC3982> FLHerne: Operating system?
21:43:56 *** Zeknurn has quit IRC
21:43:56 <Rubidium> Eddi|zuHause: but a LAN search simply broadcast's the "I want your info" UDP packet
21:44:07 <NGC3982> I love how the dedicated server works so well in Windows.
21:44:16 <Eddi|zuHause> Rubidium: ok, that would have to be split in two parts then
21:44:17 <Rubidium> Yexo: that port is the one used for player connections as well
21:44:23 <FLHerne> Eddi|zuHause: Aw :-(
21:44:37 *** Zeknurn has joined #openttd
21:44:45 <Rubidium> which means the connections end up in the pool used for client connections
21:44:49 <NGC3982> By the way, didn't we discuss the potential of using RPI as OpenTTD servers?
21:44:52 <FLHerne> NGC3982: Linux, of course :P . What else even runs on MIPS devices?
21:45:02 <Eddi|zuHause> FLHerne: this isn't an FPS game, where the majority of the load is 3D graphics rendering
21:45:06 <NGC3982> FLHerne: I have no idea what a MIPS is. It sounds like a pet.
21:45:10 <NGC3982> FLHerne: ;-)
21:45:34 <Rubidium> what is RPI actually?
21:45:48 <Eddi|zuHause> NGC3982: MIPS is a microprocessor architecture typically found in small devices like routers or phones
21:46:19 <NGC3982> Rubidium: Raspberry Pi is an ARM based Linux/GNU computer. It's tiny and quiet powerful.
21:46:22 <NGC3982> Rubidium: And cheap.
21:46:26 <Rubidium> oh, that thing
21:46:28 <NGC3982> Eddi|zuHause: I see.
21:46:33 <Rubidium> not some vague university
21:46:39 <FLHerne> NGC3982: Someone did ;-)
21:46:46 * FLHerne considered it too
21:47:04 <NGC3982> Ah, yes. I abandoned the RPI OpenTTD thingy because of the map sizes.
21:47:07 <NGC3982> And the RAM.
21:47:51 <FLHerne> Thing is, my big, inefficient Pentium D slurps power, so I can't justify running an always-on TTD server :-(
21:47:55 <NGC3982> 256MB GPU shared RAM*
21:48:05 <NGC3982> FLHerne: But hey.
21:48:42 <NGC3982> I fail to see a dedicated server being hard on any newer CPU
21:49:08 <NGC3982> Ive been using my HTPC (Windows 7, Atom230) as a dedicated server for months, and it copes without a sweat.
21:49:26 *** antihero has quit IRC
21:49:57 *** antihero has joined #openttd
21:50:48 * NGC3982 should google what a Pentium D is before he say things like that.
21:50:59 <Eddi|zuHause> NGC3982: the age doesn't really matter. you need a decent amount of ram, and something above 2GHz would be helpful for medium sized maps
21:51:59 <Eddi|zuHause> NGC3982: he didn't say it was too slow. he said it costs too much power (money) to run 24/7
21:52:07 *** argoneus has quit IRC
21:52:21 <FLHerne> NGC3982: The speed on here isn't a problem
21:52:25 <FLHerne> It's that it eats vast numbers of amps :P
21:52:57 <FLHerne> One of my spare routers would eat a fraction of the power, but might be too slow :P
21:53:29 <NGC3982> Eddi|zuHause: Ah.
21:53:45 <NGC3982> Oh, now i'm following.
21:54:00 <NGC3982> Running a dedicated OpenTTD server on a router would be computer intercourse.
21:54:50 <FLHerne> Well, my routers already have an FTP server, a mail server and an HTTP server, also 500GB of storage :D
21:54:59 * FLHerne loves misusing routers
21:55:55 <NGC3982> I haven't explored all that yet, but i have been using DD-wrt on my e3000 for a year know
21:56:16 <NGC3982> I think i have a (closed) FTPS on the USB-jack, but nothing on it.
21:56:50 <FLHerne> NGC3982: You should. Mid-range routers are actually surprisingly versatile for lightweight stuff :-)
21:56:56 <NGC3982> The newer routers with opensource firmwares are really stuff of legends
21:57:18 <NGC3982> It keeps suprising me with litteraly thousands of stuff to use them for
21:58:08 <Eddi|zuHause> oh lovely statistics. "In the entire year 2011, the german police fired 86 bullets. the new york police fires 89 bullets to hunt one single maniac, killing several innocent bystanders"
21:58:36 <NGC3982> Hehe
21:58:40 <FLHerne> Guns in the US don't obey normal logic :-(
21:59:00 <NGC3982> My father works with the police here in Sweden
21:59:22 <NGC3982> The last bullet he shot was in 1973
21:59:46 <NGC3982> During the Norrmalmstorg robbery.
22:02:15 <NGC3982> I would be scared that my father would not survive his 46 years in the service, if we were American..
22:03:07 <SpComb> I wonder if there exist some kind of set-based hashes
22:03:11 <NGC3982> Speaking of router firmware, of course.
22:03:12 <NGC3982> :E?
22:03:30 * NGC3982 surely contributes to off-topic nights.
22:03:41 <SpComb> i.e. somehow encode "this set of hashes" and be able to subset that off of some bigger local set
22:05:19 <Eddi|zuHause> SpComb: you cannot decode hashes on the other end. hashes only work if you can reproduce them at both sides from local data
22:05:35 <SpComb> not a simple one-way hash
22:05:53 <Eddi|zuHause> hashes are always one-way. that's kinda their point
22:06:15 <SpComb> some kind of set-hash that allows one to calculate subsets
22:06:26 <Eddi|zuHause> you should attend a lesson of compression theory somewhen :)
22:06:46 <SpComb> "is this hash a subset of this other hash"
22:07:28 <SpComb> e.g. given a defined ordering of items in the set
22:07:50 <Eddi|zuHause> what problem are you trying to solve?
22:08:38 *** mahmoud has quit IRC
22:08:41 <Eddi|zuHause> SpComb: what i am trying to say is: the client might not have the GRFs, so it cannot calculate the hashes
22:08:47 <SpComb> something very theoretical :)
22:08:56 <SpComb> quite, in that case it would not be a subset
22:09:15 <Yexo> don't send every md5sum but only the xor of N (small, like 4) md5sums. On the receiving end there is a very low amount of md5sums per grfid, so you can bruteforce to see if you have them all. Remaining problem: if you don't have all N correct NewGRFs you can't tell which one you're missing
22:10:02 <Eddi|zuHause> SpComb: the point of the exercise is to tell the client which GRFs to get
22:12:25 <SpComb> isn't it to display the no grfs/missing grfs/ok grfs indicator?
22:12:25 <Eddi|zuHause> that is only part of it
22:12:25 <SpComb> you can query the full set after clicking it or whatever
22:13:05 <Eddi|zuHause> you'd only get the full list after joining, at which point you must already have them
22:13:45 <supermop> oh man rode up to 30th street with two flat tires
22:13:49 <supermop> 28 blocks
22:13:54 <supermop> because i am stupid
22:14:29 <Eddi|zuHause> how do you get two flat tires?!
22:14:33 * SpComb ponders taking a fourier transform of his NewGRFs
22:14:53 <SpComb> been studying up too much mathematics, I guess :)
22:14:53 <supermop> hadnt ridden the bike in a couple month and all the air had leaked out
22:15:24 <Eddi|zuHause> fourier transform is only going to help you if you consider lossy compression :p
22:15:40 *** Biolunar has quit IRC
22:16:04 <supermop> so i was just thinking - 'this ride feels a lot bumpier than I remember'
22:16:09 <Eddi|zuHause> wait... you sit on a bike without noticing a flat tire?
22:16:26 <supermop> haha yeah
22:16:34 <supermop> thats the 'idiot' part i mentioned
22:17:08 <Eddi|zuHause> that's like the VERY FIRST thing i check whenever i get on a bike... and that isn't that often either
22:18:07 <Yexo> I never check it, but it's something I'd still notice
22:18:14 <Yexo> I mean, how can you not notice having a flat tire?
22:18:40 <FLHerne> Also, how can you do without a bike for that long?
22:19:10 <FLHerne> Mine broke on Tuesday, and that's messed up most of the week :-(
22:20:21 <supermop> i walk everywhere
22:21:45 <SpComb> my tire went flat sometime sunday-monday :(
22:22:05 <SpComb> the outer tire had worn through in one place
22:22:49 <fonsinchen> bloom filters, maybe
22:24:35 <fonsinchen> I can't come up with a good scheme, though.
22:24:35 <SpComb> total number of GRFs + a bloom filter?
22:24:48 <SpComb> and bruteforce available GRFs against it?
22:24:55 <fonsinchen> problem is that bloom filters have false positives
22:25:27 <fonsinchen> so total number of GRFs and bloom filter of _not_ included GRFs
22:26:04 <fonsinchen> another problem is that you have to check all possible GRF ids
22:26:09 <fonsinchen> nasty
22:27:32 <fonsinchen> actually included GRFs + number, exactly because of the false positives ...
22:28:10 <SpComb> have OpenTTD display the calculated probability in the list? :P
22:29:09 <Yexo> "There is an 80% chance you have the correct NewGRFs to join this server"
22:29:15 <Yexo> I'm sure users will love that ;)
22:29:47 <SpComb> "Bloom filters can be used for approximate data synchronization as in Byers et al. (2004). Counting Bloom filters can be used to approximate the number of differences between two sets and this approach is described in Agarwal & Trachtenberg (2006)."
22:30:02 <SpComb> Yexo: all in the name of science
22:30:11 <fonsinchen> Of course you can just make it download all missing GRFs and then there might be one you don't really need because it was a false positive
22:30:44 <fonsinchen> However, the problem of determining the base set and the effort of checking all of the base set against the filter remains
22:30:48 <supermop> i don't even have a monthly metrocard
22:32:32 <SpComb> bloom filter of included GRFs + count + md5 hash of included GRFs?
22:33:25 <fonsinchen> still makes you run all possible GRFs through the filter, doesn't it?
22:33:39 <SpComb> all grfs that the client has available
22:34:06 <SpComb> to detect if the client is missing a grf that is included in the set
22:34:26 <SpComb> and then count/md5 to weed out false positives
22:34:27 <fonsinchen> The filter has false positives.
22:34:31 <fonsinchen> ah
22:34:48 <SpComb> so figure out what local grfs are in the set, and then validate against count/md5
22:35:06 <fonsinchen> however, if the md5sum fails you don't know what is wrong ...
22:35:11 <fonsinchen> or do you?
22:35:34 <SpComb> I'm assuming that it's enough to know if you either have all grfs or are missing any
22:35:42 <SpComb> bonus if you can tell how many GRFs you are missing
22:35:43 <Yexo> as eddi said half an hour ago, basic compression theory
22:36:05 <Yexo> the required information we need to have if the check fails is the grfid + md5sum of all failed newgrfs
22:36:15 <Yexo> since all newgrfs can be missing, we really need to have all information
22:37:12 <Yexo> so any way to only send part of it can reduce data if you only want to know whether or not you have all newgrfs, but it cannot help for the case OpenTTD has: which exact version do we need to join the server
22:37:12 <SpComb> kinda depends on the UI, I guess, but I was thinking just display no/missing/all-grfs in the server list, and then further query if trying to actually join/click a server with missing GRFs
22:38:10 <Yexo> for that you can do other things, like send grfid + grfversion + first 4 bytes of md5sum
22:39:15 <SpComb> but hmm... essentially a hash over the entire set, and then a bloom filter to narrow down the selection of candidates for the hash
22:39:39 <SpComb> would that work, in theory?
22:39:52 <SpComb> to perform a subset operation
22:40:25 <fonsinchen> If you're lucky you get no false positives from the filter and then the md5sum will match.
22:40:50 <SpComb> the bloom filter might give you more candiates than are actually in the set
22:40:54 *** valhallasw has quit IRC
22:40:57 <fonsinchen> If not you get a false positive and the md5sum doesn't match even though you have the right GRFs
22:41:03 <SpComb> hence the count, so you cound then try combinations of those candidates
22:41:35 <SpComb> i.e. the bloom filter is just an optimization for brute-forcing all combinations of items against the hash
22:41:58 <SpComb> plus assuming a defined ordering for the items in the hash
22:42:04 <fonsinchen> If you're even more unlucky you're missing one GRF and get a false positive instead and then the md5sum won't match either.
22:42:41 <fonsinchen> well, yeah, might work after all
22:43:00 <fonsinchen> the number is important
22:43:00 <SpComb> basically the server has some set of active GRFs A, and the client some set of available GRFs B
22:43:09 <SpComb> and the goal is to figure out if A is a subset of B
22:43:39 <SpComb> the server could just send a hash over A, and client could brute-force all of its GRF combinations to figure out if it can get that same hash
22:43:47 <fonsinchen> The hassle of running all of B through the filter for each entry of the server list is substantial, though.
22:44:08 <SpComb> so the server sends the number of GRFs in the hash, and the client knows what combination-lengths to try
22:44:33 <SpComb> and then the server sends a bloom filter across the active GRFs B, and the client can test each item in A against that filter before considering it a candidate for the combinations
22:45:01 <SpComb> swap A and B there, oops
22:45:01 <fonsinchen> This is still _a lot_ of work.
22:45:17 <SpComb> well, A might be 100 GRFs, and B might be a 1000 or whatever
22:45:20 <fonsinchen> People have hundreds of GRFs and there are hundreds of servers
22:45:25 <SpComb> true
22:45:37 <fonsinchen> that gives you 10000s of filter operations
22:46:21 <SpComb> each individual server should be fairly O(N) across the number of GRFs though, I guess, depending on the number of false positives
22:47:10 <fonsinchen> yes, but the effort is #servers * #GRFs
22:47:14 <fonsinchen> sounds dangerous
22:47:24 <SpComb> I wonder what the current O(N) properties are
22:47:35 <SpComb> servers * active grfs against some hash of local GRFs
22:47:59 <fonsinchen> basically O(1) if OpenTTD keeps a lookup table of GRF IDs to GRFs
22:48:06 <fonsinchen> (which I guess it does=
22:48:21 <fonsinchen> OK. O(N) in number of servers
22:48:39 <SpComb> yeah, you end up having to validate the candidates with the theoretical bloom-set wanking :)
22:49:06 <Yexo> don't forget the time required to implement all of this
22:49:13 <SpComb> but think of it, support for arbitrary(*) numbers of GRFs in a constant[*]-length UDP packet :)
22:49:42 <SpComb> yeah, not really pratical
22:50:06 <SpComb> but interesting on a theoretical level :)
22:50:16 <Yexo> definitely :)
22:51:04 <fonsinchen> well, I'll sleep some.
22:51:10 *** fonsinchen has quit IRC
23:09:28 *** George|2 has joined #openttd
23:09:28 *** George is now known as Guest1405
23:09:29 *** George|2 is now known as George
23:15:57 *** Guest1405 has quit IRC
23:20:16 *** FLHerne has quit IRC
23:50:38 *** pugi has quit IRC
23:50:45 *** Pixa has quit IRC
23:52:11 *** Pixa has joined #openttd
23:54:41 *** supermop has left #openttd
23:55:07 *** George is now known as Guest1410
23:55:11 *** George has joined #openttd