Log for #openttd on 16th April 2016:
Times are UTC Toggle Colours
00:02:04  *** Snail [] has joined #openttd
00:15:15  *** Quatroking [] has quit [Read error: Connection reset by peer]
00:29:59  *** tycoondemon [] has joined #openttd
00:31:57  *** Samu [] has quit [Quit: Page closed]
00:50:58  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
01:17:16  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:1128:187b:83a6:9764] has quit [Quit: Leaving]
01:25:44  *** glx [] has quit [Quit: Bye]
01:33:56  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
02:31:02  *** tycoondemon [] has joined #openttd
02:35:03  <Flygon> I do wonder how older Victorians, and current day Finns, handle reading about VR all the time
02:35:07  <Flygon> VR this. VR that.
02:35:34  <Flygon> The articles mean Virtual Reality
02:36:18  <Flygon> But Victorians see it as Victorian Railways, and Finns as... well, their own VR railways too :D
02:47:47  <Eddi|zuHause> you mean like whenever people talk about SC2 i think of sim city 2000?
02:48:18  <Eddi|zuHause> that state lasts about 2 seconds...
03:37:30  *** Pikka [~Octomom@] has joined #openttd
03:44:38  *** HerzogDeXtEr1 [] has quit [Read error: Connection reset by peer]
03:54:24  *** Snail [] has quit [Quit: Snail]
04:02:30  *** JacobD88 [] has joined #openttd
04:02:39  *** JacobD88 [] has quit []
04:53:10  *** Clockworker_ [] has joined #openttd
05:00:33  *** Clockworker [] has quit [Ping timeout: 480 seconds]
05:02:10  *** Clockworker [Clockworke@] has joined #openttd
05:08:54  *** Clockworker_ [] has quit [Ping timeout: 480 seconds]
05:25:50  *** sla_ro|master [slamaster@] has joined #openttd
05:33:36  *** MonkeyDronez [~Monkey@] has joined #openttd
05:42:13  *** sim-al2 [] has quit [Ping timeout: 480 seconds]
05:58:55  *** Arveen [] has joined #openttd
06:07:58  *** Progman [] has joined #openttd
06:18:32  *** Supercheese [] has joined #openttd
06:25:29  *** Gjax [] has quit [Ping timeout: 480 seconds]
06:27:23  *** Gjax [] has joined #openttd
06:39:04  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:614f:f546:4423:155b] has joined #openttd
06:39:31  *** _johannes [] has joined #openttd
07:00:27  <_johannes> hi
07:08:04  *** _johannes [] has quit [Quit: Lost terminal]
07:33:19  *** Hiddenfunstuff [] has joined #openttd
07:38:38  *** Supercheese [] has quit [Quit: Valete omnes]
07:57:34  *** Mucht [] has joined #openttd
07:58:47  *** johannes__ [] has joined #openttd
08:12:41  <peter1138> i don't think there are many victorians around today
08:12:56  *** Samu [] has joined #openttd
08:13:14  <peter1138> ah, the last one died last year
08:14:06  <johannes__> is openttd_main() the entry point for all operating systems?
08:25:37  *** frosch123 [] has joined #openttd
08:30:33  *** sla_ro|master [slamaster@] has quit []
08:37:47  *** Gjax [] has quit [Read error: Connection reset by peer]
08:46:34  *** andythenorth [] has joined #openttd
08:47:45  <andythenorth> o/
08:48:47  *** gelignite [] has joined #openttd
09:06:58  *** andythenorth [] has quit [Ping timeout: 480 seconds]
09:26:39  *** andythenorth [] has joined #openttd
09:27:43  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
09:27:46  *** mode/#openttd [+o Alberth] by ChanServ
09:27:53  <Alberth> moin
09:28:31  <frosch123> hoi
09:30:22  <andythenorth> o/
09:41:06  <johannes__> hi
09:41:22  <johannes__> does someone know if openttd_main() is the entry point for all operating systems?
09:42:28  <johannes__> I mean, does it "finally" get called by all OS?
09:42:51  <frosch123> i would hope so
09:43:07  <johannes__> :D
09:54:41  *** andythenorth [] has quit [Quit: andythenorth]
09:59:19  *** andythenorth [] has joined #openttd
10:08:49  <Samu> I have a question about  the Write function here;a=blob;f=src/saveload/saveload.cpp;h=b1a21844f355fc18dfb1b80f7b01e8df33a2b202;hb=35aa952c36ca59f3daa5800aced0125c1f1ec0f0#l2515
10:09:03  <Samu> There are many Writers
10:09:25  <Samu> void FileWriter::Write(byte * buf, size_t size)
10:09:29  <Samu> void LZMASaveFilter::Write(byte * buf, size_t size)
10:09:33  <Samu> void LZOSaveFilter::Write(byte * buf, size_t size)
10:09:37  <Samu> void NoCompSaveFilter::Write(byte * buf, size_t size)
10:09:42  <Samu> void PacketWriter::Write(byte * buf, size_t size)
10:09:46  <Samu> void ZlibSaveFilter::Write(byte * buf, size_t size)
10:10:28  <Samu> how does that function know which write function will be used?
10:14:48  <Alberth> code doesn't say?
10:15:42  <Samu> i want to create another SaveFileToDisk function to deal exclusively with PacketWriter only
10:15:56  <Samu> but that Write over there is confusing me
10:17:58  <Samu> I'm duplicating all the save thread related functions to have one thread entirely dedicated for the network
10:18:34  <Samu> it's confusing me
10:19:52  <Samu> i only want to deal with PacketWriter if I am understanding this part right, I don't want to duplicate the others
10:20:40  <Samu> but maybe i'm understanding it wrong
10:20:46  <Alberth> duplicating large amounts of code is a bad direction no matter what
10:21:02  * andythenorth ponders
10:21:08  <Alberth> I never studied the save code in detail
10:21:30  <Alberth> but somewhere must be set, would be my guess
10:24:32  <johannes__> dumb question: A trains must first visit station A, than B. if it enters station A, and only one track of A leads to B, does it take that track, or might it also take the wrong one?
10:26:51  <Alberth> the latter
10:27:00  <Alberth> trains do not look ahead to next orders
10:28:29  <monsted> that sounds like bad station design :)
10:36:10  <johannes__> ah ok I had a two way railway line where the directions changed in a station
10:36:27  <johannes__> the trains always took the wrong track...
10:41:40  *** oskari89 [] has joined #openttd
10:42:59  *** Wolf01 [] has joined #openttd
10:43:47  <Wolf01> o/
10:54:55  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
10:56:18  <Alberth> o/
10:59:59  *** tycoondemon [] has joined #openttd
11:03:28  * Wolf01 ended up playing factorio 'til 3.30 again this night :|
11:09:32  *** Wolf03 [] has joined #openttd
11:09:32  *** Wolf01 is now known as Guest690
11:09:32  *** Wolf03 is now known as Wolf01
11:10:13  *** HerzogDeXtEr [] has joined #openttd
11:11:27  <frosch123> he, i didn't know two-way signals even existed
11:12:03  <frosch123> i tried building them in my first train game, but they did not appear to work, so i assumed there are only one-way ones :p
11:12:35  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
11:12:51  <Wolf01> bah, I'm moving the entire refinery, boring
11:13:42  <frosch123> it needs some tectonic technology to move ground :)
11:13:59  *** Guest690 [] has quit [Ping timeout: 480 seconds]
11:14:31  <Wolf01> also I wanted to move the engines production plant but it requires lubricant, which can only be transported with pipes (I don't want to install the mod for barrels)
11:15:31  <frosch123> haha, yeah, if you find a long pipe in my factory, it's most likely lubricant
11:17:53  *** Gjax [] has joined #openttd
11:19:06  *** tycoondemon [] has joined #openttd
11:20:33  <Wolf01> I can't wait for the 0.13, I really need the blueprint book
11:20:45  <Wolf01> I have 2 rows of blueprints in the inventory
11:23:55  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:614f:f546:4423:155b] has quit [Quit: Leaving]
11:25:57  *** Flygon [] has quit [Read error: Connection reset by peer]
11:29:04  *** Flygon [] has joined #openttd
11:30:18  <planetmaker> o/
11:30:23  <Wolf01> o/
11:37:22  <Alberth> o/
11:47:08  <johannes__> would it be ok to add *pdf to openttd's gitignore?
11:47:17  <johannes__> I meant *.pdf
11:48:30  <johannes__> the reason I ask because I work with an exporter which creates PDF files, and I usually work in the source tree
11:48:57  <johannes__> I know it's a stupid reason to do this just for one person, but are we ever going to commit PDF files?
11:50:02  <Alberth> given that git is a distributed VCS, I see no objection adding that to your setup
11:50:19  <Alberth> ie why would it need to be in the central repo?
11:52:34  <johannes__> Alberth: where could I put it otherwise?
11:53:14  <Alberth> how would I know, i hate git sufficiently not to know such things
11:53:39  <johannes__> :)
11:53:45  <johannes__> what do you prefer as a VCS?
11:53:52  <Alberth> but it's a disitributed VCS, I would expect people can have their own setup, or it's more broken than I think
11:54:38  <Alberth> oh, svn or hg, or so
11:56:02  <johannes__> "projects/openttd_vs100.vcxproj"
11:56:08  <johannes__> is this file auto-generated?
11:56:15  <Alberth> yep
11:56:20  <johannes__> ok
11:56:32  <Alberth> euhm, "auto" as in "run a script" :)
11:56:39  <johannes__> why is it under VCS then?
11:57:00  <Alberth> save people the trouble generating it?
11:57:12  <johannes__> that's not much trouble saved :P
11:57:26  <Alberth> at least, that's the usual reason to save generated files in vcs
11:57:42  <johannes__> ok, how do I regenerate it?
11:58:37  <Alberth> projects/generate  or  projects/generate.vbs
11:59:55  <johannes__> ok, it told me that a header was missing in the source.list... however, this header is only used for an external tool I created
12:00:40  <johannes__> how do I tell projects/generate that this header is not meant to be compiled into OpenTTD?
12:01:29  <Alberth> don't put foreign files into openttd?
12:02:33  <johannes__> ok, but that one exporter shares some files with openttd
12:03:10  <johannes__> so should I really put the exporter into an extra repo and then do something like "make PATH_TO_OPENTTD=../openttd" ?
12:04:31  <johannes__> or should we, instead, offer a "src/external_tools" ?
12:11:31  <Alberth> you could look at how eg strgen works there
12:22:44  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
12:24:29  <johannes__> hmm it's listed in ./projects/strgen_vs100.vcxproj.filters
12:24:36  <planetmaker> johannes__, add it to *your* global .gitignore
12:25:08  <johannes__> planetmaker: I could, but what if I'll make another repository where PDF files are stored?
12:25:30  <planetmaker> you ignore all pdf except those which you explicitly track
12:25:37  <planetmaker> tracked files are never ignored
12:25:42  <johannes__> what I rather need would be a second .gitignore in the source tree, but I think that's not possible
12:26:04  <Alberth> that sounds weird for a DVCS
12:26:33  <johannes__> planetmaker: would be a solution, though I might then forget to commit PDF files
12:27:07  <Alberth> ignore the precise path?
12:27:32  <Alberth> unless you name all your PDF files the same :)
12:28:52  <johannes__> you mean the absolute system path?
12:29:31  <Alberth> but it's still weird; it means the central repo would need to have ignored files for all IDEs that dump data in the directory???
12:30:16  <Alberth> ie add  ".eclipse-something" because a developer uses eclipse???
12:31:03  <Alberth> or "vcs-studio-whatever" because someone is using visual studio?
12:32:16  <johannes__> I'm not sure what you mean, but it does not sound like a good solution ;)
12:32:38  <Alberth> and nobody in the entire DVCS community stumbled upon this problem, and figured out a solution?
12:33:00  <johannes__> I think I'll just make a "work" subfolder in my openttd directory, where I add my own .gitignore
12:36:53  <planetmaker> though I wonder: why do you have PDFs in the OpenTTD dir?
12:41:01  <Wolf01> frosch123, how do you split the stuff with logistic robots? I mean, I have some passive providers at a central station, and I would like to have a cache after some distance, the cache should be a provider too, but if it's a provider it can't be a requester
12:41:35  <johannes__> planetmaker: they just came from the railroad network graph exporter, just outfiles that should not be checked in
12:44:49  <frosch123> Wolf01: i hate logistic robots :) i only use them for chest<->character transport
12:46:00  <Wolf01> I use them on all the new outposts and I started to convert the main base too
12:48:02  *** Gjax [] has quit [Quit: Leaving]
12:58:21  <johannes__> If you write an external tool, which is located in the openttd source tree, is there a need to follow the openttd coding conventions?
13:00:48  <frosch123> likely there isn't. but using a good coding style always helps :p
13:03:10  *** andythenorth [] has quit [Quit: andythenorth]
13:10:26  *** andythenorth [] has joined #openttd
13:11:02  <Samu> I cant do this :(
13:12:01  <Samu> i thought this would be simple
13:12:14  <Samu> duplicating code is turning into hell
13:13:00  <andythenorth> Samu: it’s never simple :D
13:14:17  <Samu> i need to undestand the structure currently in place
13:14:34  <Samu> especially the _sl part
13:15:18  <Samu> and this part is basically the whole point of saveload.cpp
13:15:47  <andythenorth> will andythenorth play openttd?
13:15:54  <andythenorth> or download the factorio demo again?
13:16:35  <Samu> i need a second dumper to copy the game state into there
13:17:38  <Samu> the pointers or whatever must know which dumper to write to
13:18:04  <Samu> i dont want it to create a second dumper only to have it write to the first _(
13:18:13  <Samu> how do I make this happen
13:25:16  <frosch123> andythenorth: buy more lego?
13:25:35  <andythenorth> frosch123 lego is currently for selling not buying :)
13:25:59  <Wolf01> wrong answer
13:27:29  <frosch123> the world is changing :p
13:28:06  <andythenorth> once lego is sold, lego can be bought
13:28:18  <andythenorth> it’s some kind of rain/sun, ying/yang thing
13:28:29  <andythenorth> all must be balanced
13:29:46  * andythenorth bbl etc
13:29:47  *** andythenorth [] has quit [Quit: andythenorth]
13:33:34  *** tycoondemon [] has joined #openttd
13:36:34  *** oskari89 [] has quit []
13:37:19  *** sim-al2 [] has joined #openttd
13:42:07  <Samu> some comments in the code is funny
13:42:11  <Samu> * Do something of which I have no idea what it is :P
13:43:38  <Samu> it is calculating an autolength for a stub chunk handler i think
13:49:00  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
13:53:10  *** Quatroking [] has joined #openttd
13:55:04  <michi_cc> johannes__: There's also .git/info/excludes as a repo-specific, but non-tracked ignore file.
14:00:57  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:1967:77b8:b688:9e34] has joined #openttd
14:13:31  *** tycoondemon [] has joined #openttd
14:18:24  <Samu> bah, what i didn't want to do is what I have to do
14:18:32  <Samu> deal with all the chunks
14:18:43  <Samu> how many chunks are there in a save? 50?
14:20:08  <Samu> there's even chunks inside chunks
14:23:08  *** Gjax [] has joined #openttd
14:27:37  *** Pikka [~Octomom@] has quit [Read error: Connection reset by peer]
14:43:45  <Samu> i give up, too confusing for me
14:43:48  <Samu> t.t
14:45:34  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
14:47:58  <Samu> i dont want to edit all and every chunk to make this work :(
14:48:19  <Samu> so, i'm stopping for now
14:53:05  <frosch123> don't touch the chunks :)
14:53:23  <frosch123> autosave works by first saving an uncompressed save into a memory buffer
14:53:38  <frosch123> compression and writing to disk can then happen in parallel while the game advances
14:54:29  <frosch123> it sounds like you try to make the chunks while the game advances, but that won't work
14:54:39  <frosch123> you cannot make a snapshot of a moving source
15:01:59  *** tycoondemon [] has joined #openttd
15:09:05  <johannes__> michi_cc: Many thanks, that worked
15:09:32  <johannes__> Btw: How close are you guys looking at the coding guidelines if one submits a patch?
15:09:54  <Alberth> very close :)
15:09:56  <johannes__> I recall comitting for the Qt community, they were criticizing every single brace that was wrong :P
15:10:04  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
15:10:13  <johannes__> are you also looking at every single brace? :D
15:10:18  <Alberth> yes
15:10:19  <frosch123> if it fails with whitespace, chances are high i won't even look at it
15:10:35  <frosch123> (as in tabs vs spaces)
15:11:52  <johannes__> e.g. I saw tons of "if (x) y;" in the code, though the guidelines say "if (x) { <newline> y; <newline> }"
15:12:50  <frosch123> yeah, sometimes the guideline is wrong :p
15:13:18  *** tycoondemon [] has joined #openttd
15:13:50  <Wolf01> the guideline is never wrong
15:13:57  <frosch123> both "if (x) y;" and "if (x) {\ny;\n}" are fine. but "if (x)\ny;" is not
15:15:32  <Samu> frosch123: I was trying to find a way to have 2 dumps in memory
15:15:42  <Wolf01> also conditionals without braces have a high chance of obfuscation, this is not the case but I've seen people writing everything on one line (multiple statements) and then bitch because "one statement is always executed even if the condition is false"
15:16:28  <Samu> and have 2 writers working, 1 for each dump
15:16:46  <Samu> but I can't manage to create 2 dumps :8
15:16:50  <frosch123> Wolf01: while it is true that some coding styles try to prevent newbie-errors. ottd's style does not
15:17:23  <frosch123> Samu: don't try to create the dumps in parallel
15:17:31  <frosch123> just store the result in different places
15:19:08  <frosch123> Samu: split SaveLoadParams into what is used for the Dumper, and another part which is used for compression
15:19:36  <frosch123> MemoryDumper *dumper;  <- this is already a pointer, you can just transfer it to the other structure when the dump is done, and you can start compression
15:22:40  *** andythenorth [] has joined #openttd
15:23:57  <Wolf01> andy, did you already purchase the maze?
15:24:14  *** zeknurn [] has quit [Ping timeout: 480 seconds]
15:25:13  <Samu> so, your idea is to re-use the dumper currently active, and prevent it from being deleted by the first writer?
15:26:08  <andythenorth> Wolf01: ?
15:27:04  <Wolf01>
15:27:27  <johannes__> frosch123: when should a file start with /* $Id$ */ ?
15:29:31  <Wolf01> ha! I just found that the vip points have the same value with different currency, I have 130€ and £130, which obviously is not the same
15:30:19  <andythenorth> Wolf01: ha we have a wooden maze like that, it’s a very annoying puzzle
15:30:22  <Alberth> johannes__:  always, to get the revision in the file
15:30:23  <andythenorth> won’t be buying that :)
15:30:39  <Wolf01> I have a wooden one too :)
15:30:39  <johannes__> Alberth: ok
15:31:11  <johannes__> Alberth: even if the file is only part of an external utility?
15:32:13  <Alberth> you want to add files to the repo that cannot be used?
15:32:33  <Alberth> what does the project want with those?
15:34:12  <Wolf01> the bgm reminds me of train fever
15:35:44  <johannes__> Alberth: I don't tknow, should external tools be built/shipped with the core?
15:38:28  <Eddi|zuHause> Wolf01: i don't quite see the connection
15:38:39  <Wolf01> about at 2 minutes
15:39:04  <Alberth> I have absolutely no idea what you're doing or trying to do. At that question in the general sense, my answer would be no, just like it doesn't ship with an OS
15:39:32  <Alberth> or a desktop or a compiler or a debugger, and so on
15:40:06  *** MonkeyDronez [~Monkey@] has quit [Quit: Leaving]
15:40:39  <Alberth> at least until we make an OpenTTD OS :)
15:41:55  <Wolf01> just ship it with dos and enough drivers to use expanded memory, sound and networking
15:42:25  <sim-al2> Isn't expanded memory on DOS like 1 Mb instead of 640 kb?
15:43:18  <Wolf01> it's just to load drivers and left all the possible ram to the application
15:43:31  <Wolf01> leave
15:43:52  <Eddi|zuHause> sim-al2: there was expanded and extended memory, but i don't remember which was which
15:44:50  <sim-al2> Oh ok, my first computer was a Windows 98 machine with at least 64 Mb of RAM (Not 100% sure on that, might have been more)
15:44:55  <Eddi|zuHause> sim-al2: but in general, most of the 640-1024MB range was reserved for the OS, and the parts after that could be used again
15:45:12  <sim-al2> I don't miss Win 98's weirdness much tbh
15:45:16  <Eddi|zuHause> err... not MB, kB
15:45:47  <Alberth> when memory was counted in sane quantities :p
15:46:32  <Eddi|zuHause> i have 12GB. and then there are 32bit processes that run out of their 4GB range
15:46:32  <Wolf01> yes, it's extended, not expansed, my fault
15:46:40  *** zeknurn [] has joined #openttd
15:46:44  <Wolf01> *expanded
15:46:47  *** Sylf [] has quit [Remote host closed the connection]
15:47:44  <sim-al2> I did use a school computer with Win 3.1 on it, rather interesting interface
15:47:58  <Wolf01> I started using computers with win 3.1
15:48:24  <johannes__> Alberth: what I write is a tool which converts dumps (that you can create with openttd) into pdf files
15:48:28  <Eddi|zuHause> when i started to get into computers, we had DOS 5.0
15:48:31  <Wolf01> or better, I started from dos, because playing with windows wasn't really possible
15:48:37  <johannes__> Alberth: should that be shipped with openttd or not?
15:48:57  <Eddi|zuHause> that was before they screwed everything up with DOS 6.xx
15:49:17  <Eddi|zuHause> after which we switched to Novell DOS 7
15:49:22  *** Defaultti [] has quit [Quit: Quitting.]
15:49:45  <Eddi|zuHause> which was a slight problem for games which relied on microsoft bugs...
15:50:45  *** andythenorth [] has quit [Quit: andythenorth]
15:51:50  <Alberth> johannes__: I would say the dump should be text (in an as simple format as possible), so anyone can write a program. Your program then becomes one of the options.
15:52:04  <sim-al2> I did like how MacOS 7, 8, and 9 look really similar
15:52:27  <johannes__> Alberth: it's binary dump, a human could not infer much of these numbers anyways
15:52:34  <sim-al2> At least until you went to load a program up, or start Netscape Navigator...
15:53:06  <johannes__> Alberth: also, the converter needs many arguments, and I don't want to add them to the openttd argument list
15:53:50  <Alberth> say I want a different format than pdf
15:54:06  <Alberth> how do I do that?
15:54:20  <Alberth> bla --> pdf sounds so very closed
15:54:35  <johannes__> it's actually binary-dump -> .dot -> PDF
15:54:54  <johannes__> however, there will be an argument to the tool to make binary-dump -> tikz -> PDF
15:55:08  <Alberth> right, so it produces a graph?
15:55:19  <Alberth> you can write a graph as text, right?
15:55:24  <johannes__> yes
15:55:32  <johannes__> .dot is a text format
15:55:37  <Alberth> I know
15:55:48  <Alberth> I wonder if .dot is the right solution here
15:56:07  <johannes__> it's not :)
15:56:25  <johannes__> I just use it temporarily, because it's easy
15:56:32  <Alberth> I am not wondering about quality, just openness
15:56:56  <johannes__> the future way will be to use tikz
15:57:10  <johannes__> tikz allows more nice features
15:57:26  <Alberth> in my view, openttd should write the data in an open format where people can write their own programs for further processing
15:58:11  <Alberth> I think your needs would be better served with keeping that processing separate from openttd
15:58:19  <johannes__> the format of the binary dump is open (and easy to understand)
15:58:24  <Alberth> eg a project at the devzone
15:58:38  <Samu> frosch123: how do I [16:19] <frosch123> Samu: split SaveLoadParams into what is used for the Dumper, and another part which is used for compression, sorry for being noob
15:59:40  <johannes__> Alberth: I don't see the point, since the binary dump could be used by any other script, so they are completely open
16:00:03  <Alberth> yeah, my main worry is that number of people that can write a program that reads a file with ascii numbers is >>> than number of people that can write a program that reads binary values
16:00:32  <Eddi|zuHause> XML!
16:00:38  <Samu> 1 structure for the dumper
16:00:58  <Samu> 1 structure for the compression, but the compression accesses the same code the dumper also accesses :(
16:01:39  * johannes__ disagrees
16:01:45  <Samu> ok :(
16:01:57  <johannes__> not to you Samu :)
16:02:36  <johannes__> Alberth: binary number serializing is just a bunch of fread/fwrite calls in C, for XML/whitespace you have to do a lot of syntax parsing
16:02:42  <Alberth> how is a binary format easy to understand, and the same data in text is not?
16:02:50  <johannes__> like e.g.: is there a space before the number, is there a new tag...
16:02:50  *** andythenorth [] has joined #openttd
16:02:56  <Alberth> most people do not use C
16:03:05  <Alberth> python, lua, java, c#
16:03:10  <Alberth> etc etc
16:03:34  <Alberth> fread/fwrite will fail horribly at different endian systems
16:03:36  <johannes__> Alberth: for me, as I program in C, it was by far the easiest to simply dump the data binary
16:04:11  <Alberth> fwrite(&myint)     vs   fprintf(.. myint)  ?
16:04:34  <johannes__> well what do you propose, XML, or just the numbers space separated?
16:04:50  <Eddi|zuHause> csv?
16:04:51  <Alberth> the latter
16:05:09  <andythenorth> json
16:05:14  <Alberth> yaml
16:05:19  <andythenorth> json is the new xml
16:05:24  <Alberth> depends on what data you have
16:05:36  <andythenorth> nah, like xml, you should use it even if not appropriate
16:05:37  <Alberth> yaml is a superset of json :)
16:05:56  <andythenorth> the weird thing about json is that it’s koolaid that works
16:06:05  <johannes__> see here:
16:06:05  <Eddi|zuHause> put json into xml!
16:06:10  <andythenorth> it’s actually completely functional and usable
16:06:15  <johannes__> that's the data I need to serialize
16:06:29  <andythenorth> proving that a javascript stopped clock still tells the right time once a day
16:06:45  <johannes__> I just serialize one "struct railnet_file_info"
16:06:51  <andythenorth> meanwhile
16:07:41  *** Sylf [] has joined #openttd
16:07:45  <Alberth> json would work, by the looks of it
16:07:52  <Eddi|zuHause> johannes__: sounds like the perfect usecase for some format that supports dicts...
16:08:40  <johannes__> Let's make a competition
16:08:51  <johannes__> Everyone can submit a version equivalent to my C code
16:09:08  <johannes__> the one with the fewest linces of code wins
16:09:14  <andythenorth> wtf are “agile programming languages”?
16:09:19  * andythenorth reading yaml spec
16:09:26  <Alberth> oh, that's easy, just write everything at one line :p
16:09:26  *** Snail [] has joined #openttd
16:09:32  <johannes__> :P
16:09:55  <johannes__> ok, the version with the smallest code which is still human readable
16:10:01  <Eddi|zuHause> i haven't played code golf in ages :p
16:10:06  <Samu> explain me what the code is doing here please;a=blob;f=src/saveload/saveload.cpp;h=b1a21844f355fc18dfb1b80f7b01e8df33a2b202;hb=35aa952c36ca59f3daa5800aced0125c1f1ec0f0#l2504
16:10:09  <andythenorth> oic
16:10:44  <Samu> _sl.sf->Write((byte*)hdr, sizeof(hdr));
16:10:48  <Samu> what is this line doing
16:11:13  <Alberth> the fact that you produce json doesn't mean you need to have a json library for encoding, the output must just match the json syntax, so just some printfs will do the trick
16:11:19  <Eddi|zuHause> andythenorth: just what i expected. a pointless buzzword
16:11:40  <Eddi|zuHause> definition by example.
16:11:41  <Alberth> Samu: random guess, it write the header
16:11:48  <johannes__> Yes but your code must also be able to read the code
16:12:05  <johannes__> or read the dump/text-file
16:12:15  <johannes__> read + write
16:12:21  <andythenorth> someone missed the memo on “agile is many things, but it’s not specific tools” :P
16:12:37  <Samu>  _sl.sf = fmt->init_write(_sl.sf, compression);
16:13:40  <andythenorth> also, this, I wish to avoid
16:13:41  <Alberth> johannes__: and you're afraid there is no json library for an arbitrary language?  bottom of the page
16:13:45  <Eddi|zuHause> andythenorth: it's the perfect way to have a word to mean exactly what you want it to mean, and flame everybody who doesn't have the exact same interpretation
16:14:00  <johannes__> Alberth: I'm not
16:14:24  <johannes__> Alberth: I just think it will produce much larger code than a bunch of fwrite/fread
16:14:42  <andythenorth> hmm
16:14:48  <andythenorth> maybe I should port eints to Bootstrap 3
16:14:49  <Eddi|zuHause> andythenorth: my buzzometer just exploded
16:15:04  <andythenorth> Eddi|zuHause: I had to hit a panic button
16:15:20  <andythenorth> there is something in there somewhere about software contracts
16:15:39  <andythenorth> and ‘Business and Technology must use the same language’
16:16:27  <Eddi|zuHause> that's a perfect plan to ensure that neither side understands what they're talking about :p
16:16:31  <johannes__> If we make this a coding golf, I guess the language must be in C ?
16:16:58  <Samu> hum... :(
16:17:03  * andythenorth is glad he doesn’t work in a proper software business
16:17:12  <johannes__> even if you use another language, the openttd core is in C, so the code must show how to easily use the C data
16:17:17  <Samu> i don't understand what frosch123 meant with split the parameters
16:17:29  <Samu> i dont know what is to be splited
16:17:30  <Alberth> how is replacing   fwrite() by a bunch of printf()  much larger in code?
16:18:04  <Alberth> or are you talking at the reading side?
16:18:09  <Samu> how do i find what the Dumper uses?
16:18:21  <Samu> so confusing
16:18:24  <johannes__> for the writing thing, I guess it's not much harder
16:18:32  <johannes__> yes, for the reading thing...
16:18:36  <Alberth> Python:  import json; data = json.load('blah_file')     done
16:19:00  <frosch123> Samu: only SaveFileToDisk runs in a thread
16:19:30  <frosch123> remove everything that SaveFileToDisk needs from _sl, and put it into a structure that is passed to SaveFileToDisk
16:19:39  <johannes__> Alberth: you're saying write the data with C, but import with Python?
16:19:51  <Samu> so that's what I was attempting to do
16:20:02  <Samu> I had a _sm structure
16:20:16  <Samu> but ended up having to deal with chunks somehow
16:20:18  <frosch123> in the end you will likely have the Dumper ni both structures
16:20:27  <Alberth> johannes__: they're two different programs with a common file format, why would the read need to be in the same language?
16:20:31  <Eddi|zuHause> johannes__: i think what he's saying is that other people that might want to write a different visualization module might write that in python
16:20:40  <frosch123> first you do the dump, then you transfer the dumper to the other structure and start the thread
16:20:44  <Alberth> also, find a C library for json
16:21:32  <Alberth> only has 21 available
16:22:00  <johannes__> Alberth: that doesn't count, the json library has many lines of code :P
16:22:09  <Samu> _sm structure was however, an entire copy of _sl
16:22:21  <Samu> i don't know how to distinguish what's needed for the dump
16:22:33  <Alberth> right, and you write the dot -> pdf convertor from the ground up too?
16:22:44  <Alberth> or the C runtime library?
16:23:25  <Alberth> most likely, most linucs have a libjson by default already
16:23:29  <johannes__> Alberth: it maybe doable with json, but then everyone will need an additional dependency (a jason library)
16:23:49  <johannes__> How is it more freedom/openness then if you force people to use a json library?
16:23:51  <Alberth> no,  python json is in the standard library
16:24:08  <johannes__> C/C++ json is not
16:24:12  *** Arveen [] has quit [Quit: Nettalk6 -]
16:24:18  <_dp_> working with json in C is painful, it completely lacks necessary types
16:24:52  <Alberth> johannes__:  why do you think only C is a viable language for programming ?
16:25:14  <johannes__> Alberth: I don't think, but you also have to think about C/C++ programmers...
16:25:46  <johannes__> has bash json by default?
16:25:55  <johannes__> it's not built-in I guess
16:26:06  <_dp_> though even in C I'd still prefer to work with json then some custom bs format
16:26:10  <frosch123> Samu: comment out SaveFileToDisk, then remove members from _sl until it no longer compiles :p
16:26:14  <Alberth> bash?  that's a command processor
16:26:27  <Alberth> aka shell
16:26:39  <Alberth> unless you type commands in json :p
16:26:42  <Samu> hmm ok let's see what happens
16:27:01  * andythenorth is perplexed :)
16:27:04  <johannes__> you can use bash with scripts, and then it's a language, too
16:27:34  <Alberth> well, if you insist, json is an open documented format, go ahead, write a json parser in bash
16:27:40  <johannes__> next thing is perl... I guess you can install a module, but do you have it by default?
16:28:03  <Alberth> I have perl, but not by choice
16:28:18  <Alberth> some programs at my machine think they need it :(
16:29:10  <johannes__> I think it's optional:
16:29:52  <johannes__> and JAVA also has no JSON by default...
16:30:18  *** HerzogDeXtEr1 [] has joined #openttd
16:30:30  <Alberth> it's a text format, open and documented, if you want you can write a json library yourself
16:30:53  <johannes__> yes, but that takes much more time than writing a few fread calls :P
16:31:07  <johannes__> (and these are more LOCs than)
16:31:48  <andythenorth> well
16:31:54  <Alberth> oh dear, maybe you shouldn't have started hacking openttd at all, that would have saved sooo much time
16:32:06  * andythenorth considers playing OpenTTD
16:32:20  <andythenorth> I have saved a lot of time by not working on NotRoadTypes this week
16:32:21  <johannes__> at least boost has a json library...
16:32:22  <Alberth> sounds more productive andy :)
16:33:30  * andythenorth is diligently deleting browser bookmarks
16:36:14  *** HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
16:41:47  <johannes__> can I add boost as a dependency to openttd? It would only be needed for the (optional) json dumper then
16:42:40  <frosch123> openttd does not bundle any tools
16:42:44  <frosch123> they are all separate
16:43:11  <johannes__> the dumper is inside a video driver
16:43:16  <johannes__> it must be in the core
16:43:47  <Alberth> just printf() json text
16:44:32  <frosch123> openttd sends json between admin port and game scripts
16:44:50  <frosch123> json is not unknown to ottd
16:45:07  <V453000> I sinned :D did first digging into factorio mods ... just edited existing one, but ...
16:45:18  <V453000> in compare to NML, this is ultra convenient and easy
16:45:24  <johannes__> I see...
16:45:35  <Alberth> :O  V   :D
16:45:45  <frosch123> V453000: did you add diagonal belts? :p
16:46:10  <V453000>
16:49:56  <Alberth> factorio modding wide open !
16:51:44  <frosch123> V453000: no slugs
16:52:02  <frosch123> all highest tier equipment should involve slugs
16:52:31  <frosch123> slugs are tier 2 lubricant
16:53:52  *** andythenorth [] has quit [Quit: andythenorth]
16:56:51  <Wolf01> also transportable
16:58:17  <Wolf01> also why not a solar panel which works at night with the reflexed heat of the greenhouse effect? more you pollute, more energy you get
16:59:25  <Samu> arf, i can't do this
16:59:52  <Samu> the dump needs everything from SaveLoadParams
16:59:59  <Samu> except the bool error
17:00:48  <Wolf01> V453000, could you answer about my question of the signals? (signals in gui 2 lights, placed 3 lights; chain signals in gui 3 lights, placed 1 light)
17:01:00  <Wolf01> s/of/about
17:01:12  <V453000> fixed in .13
17:01:17  <Wolf01> good
17:01:18  <V453000> GG
17:01:42  *** Clockworker_ [Clockworke@] has joined #openttd
17:01:43  *** Clockworker [Clockworke@] has quit [Read error: Connection reset by peer]
17:07:53  *** glx [] has joined #openttd
17:07:56  *** mode/#openttd [+v glx] by ChanServ
17:09:29  *** Arveen [] has joined #openttd
17:20:07  *** andythenorth [] has joined #openttd
17:27:18  <andythenorth> FIRS does not have lubricant
17:27:20  <andythenorth> maybe it should
17:27:23  <Samu> sorry, i can't do this
17:27:25  <andythenorth> or muolluscs
17:27:26  <Samu> better stop
17:27:28  <andythenorth> molluscs *
17:29:55  <Samu> you have already told me what to do, but I can't figure out, it's time to give up :(
17:31:19  <Samu> the dumper and the compressor work together, i can't figure a way to split them
17:36:50  <Samu> the problem starts even before the chunks are in memory
17:37:00  <Alberth> supplies are lubricant?
17:37:33  <Samu> DoSave function is giving me a headache, :o
17:37:52  <Alberth> yes, openttd code is complicated
17:38:08  <Alberth> it's not the best way to learn programming
17:38:41  *** Sacro [] has quit [Quit: leaving]
17:38:54  <Alberth> or even not good as first program to hack in
17:39:56  *** Sacro [] has joined #openttd
17:44:38  * andythenorth is learning to program with openttd :)
17:44:44  <andythenorth> maybe
17:45:45  <DorpsGek> Commit by translators :: r27540 trunk/src/lang/hebrew.txt (2016-04-16 19:45:37 +0200 )
17:45:46  <DorpsGek> -Update from Eints:
17:45:47  <DorpsGek> hebrew: 40 changes by dnd_man
18:17:09  *** smoke_fumus [~smoke_fum@] has quit [Ping timeout: 480 seconds]
18:30:53  *** qwebirc48165 [] has joined #openttd
18:36:02  <qwebirc48165> Hi, I've got a question about newgfx: The downloads section of points to version 0.5.2, but has version 0.5.4. which is used by the corresponding arch linux package. Did someone forget to update the main page or is this done deliberately?
18:36:54  <Alberth> ^ planetmaker
18:37:39  <Alberth> (not at all certain he'll show up any time soon, but he'll read it at some time)
18:38:21  <qwebirc48165> The ingame 'check online content' function wants to update to 0.5.2 from 0.5.4 as well.
18:39:05  <Alberth> so it seems uploaded to bananas (the online content system) at least
18:39:46  <qwebirc48165> @Alberth: No, it wants to 'update' to the older version
18:40:15  <Alberth> hmm, silly thing :p
18:40:48  <Alberth> but in general, it should be safe to use the latest version that you can find
18:41:31  <Alberth> changes are quite small, normally, you'll hardly notice them :)
18:43:10  <Alberth> check the changelog otherwise
18:44:04  <andythenorth> is cat
18:45:01  <Alberth> probably
18:46:58  * andythenorth makes more UI library
18:47:20  <andythenorth> probably 48 hours work in this since Tuesday :D
18:47:24  *** FLHerne [] has joined #openttd
18:47:45  <andythenorth> + the thinking when asleep :D
18:49:36  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:1967:77b8:b688:9e34] has quit [Quit: Leaving]
18:57:06  *** Wormnest [] has joined #openttd
18:57:29  <Alberth> sleeping and still working :)
18:58:14  *** zeknurn` [] has joined #openttd
18:59:28  <Samu> well, i had another goal
19:00:34  <Samu> the lzo "unexpected end of chunk" - how to deal with this, it only happens on the release x64 build
19:00:48  <Samu> debug x64 and all the others work fine
19:02:46  *** Snail [] has quit [Quit: Snail]
19:02:57  <Samu> it fails to load the first chunk, GLOG and then just says broken savegame, which isn't true
19:03:10  <Samu> it's not broken, it loads on the other builds
19:03:11  *** zeknurn [] has quit [Ping timeout: 480 seconds]
19:03:11  *** zeknurn` is now known as zeknurn
19:05:34  <Samu> if i can fix the lzo, i'll use the lzo filter instead of zlib
19:05:38  *** Snail [] has joined #openttd
19:05:47  <Samu> it's even faster
19:06:40  <frosch123> you can try run them with valgrind, assuming you use an os suitable for software development
19:07:05  <frosch123> alternatively you can add tons of printf/couts and compare the output of debug/release build
19:07:22  <frosch123> and try to figure out where they diverge
19:08:21  *** andythenorth [] has quit [Ping timeout: 480 seconds]
19:08:23  *** aard [] has joined #openttd
19:09:00  <Samu> windows 10
19:09:39  <frosch123> so you do not even have a tool to compare text output :p
19:11:30  *** Snail [] has quit [Quit: Snail]
19:30:13  <johannes__> is there any tool to say: all trains of that group / that shared order list should have three passenger waggons and two post waggons?
19:31:15  <johannes__> any ctrl+click or something?
19:31:20  <frosch123> search for templated-based-autoreplace on the forums
19:36:12  <johannes__> the patch never made it into the game, right?
20:10:29  *** frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
20:16:46  *** FLHerne [] has quit [Quit: There's a real world out here!]
20:17:10  *** FLHerne [] has joined #openttd
20:29:30  *** johannes__ [] has quit [Quit: leaving]
20:40:31  *** Arveen [] has quit [Quit: Nettalk6 -]
20:41:18  *** aard [] has quit [Ping timeout: 480 seconds]
20:43:47  *** andythenorth [] has joined #openttd
20:44:16  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
20:44:23  *** andythenorth [] has left #openttd []
20:45:52  *** sla_ro|master [slamaster@] has joined #openttd
20:52:43  *** qwebirc48165 [] has quit [Quit: Page closed]
20:59:18  *** Defaultti [] has joined #openttd
21:03:07  *** aard [] has joined #openttd
21:03:54  *** Defaultti [] has quit []
21:09:52  *** Defaultti [] has joined #openttd
21:16:49  *** tycoondemon [] has quit [Ping timeout: 480 seconds]
21:29:35  *** sla_ro|master [slamaster@] has quit []
21:37:20  *** supermop [] has joined #openttd
21:46:56  *** Supercheese [] has joined #openttd
21:48:20  <Samu> some variables are being writen as int8, some others are byte, i wonder if it makes a difference
21:57:46  *** Wormnest [] has quit [Quit: Leaving]
22:10:50  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:a407:e9be:afb3:515] has joined #openttd
22:11:40  <peter1138> signed vs unsigned
22:12:26  <Samu> ok i think i found the chunk that causes problems for lzo
22:12:30  <Samu> it's MAPT
22:12:38  <Samu> can't be 100% sure though
22:18:19  <Samu> Load_MAPT()
22:18:56  <Samu> i was checking two visual studios side by side, one with debug x64, the other with release x64
22:19:17  <Samu> debug went through MAP5 and beyond
22:19:37  <Samu> MAPT is before MAP5, and i don't recall release x64 doing anything after MAPT
22:20:05  <Samu> what could this all mean'
22:20:41  <Samu> i noticed they were following different code paths
22:20:53  <Samu> but eventually were turning the same values anyway, up until there
22:21:35  <Samu> some values were optimized, can't see them
22:29:31  *** FLHerne [] has quit [Quit: There's a real world out here!]
22:41:08  <Samu> question
22:42:14  <Samu> when a bool, like _sl.autosaveinprogress isn't assigned a value, what does it default to?
22:42:18  <Samu> true? or false?
22:44:12  *** gelignite [] has quit [Quit:]
22:46:46  <Samu> struct SaveLoadParams { bla; bla; bla; etc; bool autosaveinprogress; };
22:46:49  <Samu> static SaveLoadParams _sl;
22:47:37  <Samu> hmm?
22:49:28  *** aard [] has quit [Read error: Connection reset by peer]
22:56:56  *** Hiddenfunstuff [] has quit [Quit:  HydraIRC -> <- Would you like to know more?]
22:59:24  *** Sacro [] has quit [Remote host closed the connection]
23:18:11  *** tokai [] has joined #openttd
23:18:14  *** mode/#openttd [+v tokai] by ChanServ
23:18:47  <planetmaker> Samu, it's undefined behaviour and might be platform and/or compiler-dependent.
23:24:45  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
23:24:59  *** Progman [] has quit [Remote host closed the connection]
23:26:23  *** Gjax_ [] has joined #openttd
23:26:23  *** Gjax [] has quit [Read error: Connection reset by peer]

Powered by YARRSTE version: svn-trunk