Main Menu

Gabriel Knight 3 - Unveiled secrets - Dr. Bonny Ploeg

Started by Signore Buchelli, May 01, 2016, 09:30:05 AM

Previous topic - Next topic

Signore Buchelli

#20
Hint:
Oh-oh! What you say or perhaps a subtle spoiler by Jane Jensen about the end (pregnancy). She likes that sort of spoilers.  :)

BIK files::
Last Sunday I created an account at
twitter, followed Scott Bilas and twitted him. I don't know if I've done it properly because it's the 1st time I do such things. I'm also looking for Jim Napier. Next step: facebook & Jane Jensen.

On the other hand, my friend 'Linus' (computer specialist) tried to decompress the bad .BIK files with some ZLIB and LZO tools and C# projects (the source of the Barn Browser by Braddabug among others), but he always receives the 'Out of memory' error message. Damn!  >:( Do you know who is Braddabug (aka
BradF)?

Sooo, right now I'm reading the 'Sheep Engine.doc' by Scott Bilas in order to use the
"combine.exe build" command to create a .brn with the .bik files, then change the compress mode, and finally try to extract them with the Barn Browser. The doc is pretty technical for me tough ... :sweating:

The Eggjäger side of life is rewarding, ... sometimes

Signore Buchelli

#21
Sorry for the colors of the last post. I don't know what has gone wrong.  :-[ The yellow words are links.
The Eggjäger side of life is rewarding, ... sometimes

BBP

Oof... I think I got to contact Braddabug at the GK4Campaign forums, and we got to mail when I'd finished the Great Painting Search and published the results. He let me test-run his mod for hi-res versions of the paintings, even did some translating for him when he wanted to localize the barn browser.
He's also on the Pinkerton Road forums, which are still active - you could try a PM.
http://forum.pinkertonroad.com/member.php?1666-braddabug
Here's his website, he has some pages on GK3:
http://fwheel.net/gdw/wiki/index.pl?BradDaBug
http://fwheel.net/gdw/wiki/index.pl?GameInfo/GabrielKnight3
And here's his GK3 mod site - the Barn Browser is a must!
http://gk3tools.sourceforge.net/browser.php

One thing that I found interesting about the GK3 document you post, is the earlier version of the Day 3-2AM closing vid. Changes Grace's part in it.

Signore Buchelli

#23
Quote from: BBP on May 12, 2016, 04:59:12 PM
the Barn Browser is a must!
Sure!!  :D  Thanks for the links and the Great Painting Search. Great work!  :o 

QuoteChanges Grace's part in it.

Yep, I read it last year after I was shocked by your proof of Grace's pregnancy.


Even more, at Day3-10am Mosely says to Gabriel:
""You accidentally have sex with one of the most beautiful women in a couple of hundred miles.""
The "have sex" was removed from the Spanish version; I must check out if it is present in the GOG-English version.

I've finally uploaded the official guides of GK2 & GK3 and the "Sheep Engine.doc" to the same folder. Google Drive is unable to open the 2 PDFs (very large?), but it's still possible to download them.

The Eggjäger side of life is rewarding, ... sometimes

Signore Buchelli

Quote from: Signore Buchelli on May 13, 2016, 02:38:04 AM
at Day3-10am Mosely says to Gabriel:
""You accidentally have sex with one of the most beautiful women in a couple of hundred miles.""
The "have sex" was removed from the Spanish version; I must check out if it is present in the GOG-English version.
In the GOG-English version Mosley says: "You're the only guy I know who could 'accidentally' end up in bed with the most beautiful woman for fifty miles." The same in your transcript (US version). So, it looks like it was a little makeup for the 'market'.

I've sent a PM (personal message) to Braddabug in the Pinkerton Road Forums. Still no response. His real-life name is Brad Farris.
The Eggjäger side of life is rewarding, ... sometimes

Signore Buchelli

Quote from: BBP on May 12, 2016, 04:59:12 PM
He let me test-run his mod for hi-res versions of the paintings ...
I've been looking for the HI-RES MOD of braddabug (aka Brad Farris) in Internet, but failed miserably.  :'(

Do you know where is it? Otherwise, have you a copy of the MOD?
The Eggjäger side of life is rewarding, ... sometimes

braddabug

Hey all, I'm BradDaBug, the guy that made the barn browser. I'm glad it's getting some use!

It's been a while since I dug into GK3, but from what I remember those mysterious .bik files have something to do with the homemade copy protection the developers tried to put onto the discs. They're basically corrupt files disguised as .bik files. I can't remember where I discovered that info, though. I could be wrong.

And I don't have a hi-res mod. I do have a tutorial for creating a mod like that (http://gk3tools.sourceforge.net/myfirstmod.php) but if you mean this: http://sidney.fwheel.net/GK3RP/ then I didn't make that, and afaik it was never released.

BBP

Hi Braddabug, great to see you!

Unfortunately, if you weren't the one who made the mod for hi-res pictures (he also made one with different pictures), then I don't know who made it. Nor is it on my computer (got lost in a number of crashes) or in my e-mail (server closed down years ago).

Quote from: Signore Buchelli on May 12, 2016, 11:04:15 AM
Next step: facebook & Jane Jensen.

Years ago I posted a comment on the Pinkerton Road kickstarter about the mystery files though - Jane Jensen herself replied, which was very cool. She didn't know though. She didn't get that close to coding.

Signore Buchelli

#28
Quote from: braddabug on May 15, 2016, 06:19:58 AM
I'm glad it's getting some use!
Hello, Brad! Some use? Last weeks I used your Barn Browser and GK3 Viewer more time than playing games. My friend 'Linus' says to me that you are a 'monster!!' (as programmer).  ;)

Quote
homemade copy protection
Thanks to your documentation about Barn files and the dumps (*.txt) of the barns that I've obtained with "combine.exe dump" command, yesterday I discovered that the .BIK files aren't LZO-compressed files; the first 8 bytes don't match the pattern of the LZO files.

Besides, the 'copy protection' reason sounds very logical: 2 .bik files per disc/day and camouflaged among the others .bik files.  :ninja:

Quote
if you mean this: http://sidney.fwheel.net/GK3RP/ then I didn't make that, and afaik it was never released.
It's just a shame! It looks very nice.

A thousand thanks, Brad, for replying, the GK3 tools, MOD examples and Sheep/Files documentation.

Other questions for you:

1.- Do you know how the "combine.exe build" command is used to create or modify a barn file (.brn)?

2.- My friend 'Linus' wants to ask you about the barn.dll that you used in the C# project of the Barn Browser:
  - Is it yours? It appears in the 'About' window of the Barn Browser.
  - There are only read/extract functions inside the DLL. Examples:
         brn_GetNumFilesInBarn, brn_GetFileName, brn_ExtractFileByIndex
    Why there is no function to add files to a barn file?
The Eggjäger side of life is rewarding, ... sometimes

Signore Buchelli

Quote from: BBP on May 15, 2016, 05:31:47 PM
Nor is it on my computer
Don't worry. I'll keep looking for it in Internet.  :)

Quote
She didn't know though. She didn't get that close to coding.
Thanks for your notice. Anyway, I would like an 'official' confirmation from the technical staff (Scott Bilas, Jim Napier, David Aughenbaugh or ...) about the 'homemade copy protection' explanation.
The Eggjäger side of life is rewarding, ... sometimes

braddabug

Quote from: Signore Buchelli on May 16, 2016, 05:44:46 AM
1.- Do you know how the "combine.exe build" command is used to create or modify a barn file (.brn)?
I've never tried using it, so I won't be much help with it. But from the tiny bit of investigating I just did it looks like you need to give it a shp script. That script contains commands for telling combine.exe what files to include, how to compress them, what to call the final .brn file, etc. I don't have the sheep doc in front of me so I'm not sure if those commands are documented. They'd be things like AddFilesByPathSpec() and CommitWorkOrder(). More investigation is needed.

Quote
2.- My friend 'Linus' wants to ask you about the barn.dll that you used in the C# project of the Barn Browser:
  - It's yours? It appears in the 'About' window of the Barn Browser.
  - There are only read/extract functions inside the DLL. Examples:
         brn_GetNumFilesInBarn, brn_GetFileName, brn_ExtractFileByIndex
    Why there is no function to add files to a barn file?
Yep, I wrote it. And I've never needed to create brn files since you can make GK3 load files that aren't in brn files, so I didn't add that functionality to the tool. It should be possible though. The brn format is relatively simple.

braddabug

I extracted some of the documentation embedded in combine.exe and put it here: https://sourceforge.net/p/gk3tools/wiki/combine/ so now the sheep functions are documented, at least. It'll take a little experimentation to figure out how to put all the sheep commands together to generate a useful brn file. But it's a start!

Signore Buchelli

Quote from: braddabug on May 16, 2016, 07:07:25 AM
I don't have the sheep doc in front of me so I'm not sure if those commands are documented. They'd be things like AddFilesByPathSpec() and CommitWorkOrder(). More investigation is needed.

The "Sheep engine.doc" is here: https://drive.google.com/folderview?id=0B_nakSX0fVysNkg2SWgyLTFMZzQ&usp=sharing
The commands of combine.exe are not documented.

Quote
It should be possible though. The brn format is relatively simple.
'Linus' is doing a prototype with VB.NET 2005, but his problem are the Checksums. Anyway, he will try with empty checksums (0) to see if it works.
The Eggjäger side of life is rewarding, ... sometimes

Signore Buchelli

Quote from: braddabug on May 16, 2016, 10:49:33 AM
I extracted some of the documentation embedded in combine.exe and put it here: https://sourceforge.net/p/gk3tools/wiki/combine/ so now the sheep functions are documented, at least. It'll take a little experimentation to figure out how to put all the sheep commands together to generate a useful brn file. But it's a start!
Mon dieu!! That is clearly beyond of our reach.  :-\  Thank you very much, Brad.  :bow:
The Eggjäger side of life is rewarding, ... sometimes

braddabug

I updated the wiki page I linked to earlier with an example bare-bones Sheep script that can be used with combine.exe to generate a barn file. So now it's possible to build our own barn files! Though the fancier stuff like compression and setting the priority of the barn file and linking to child barns still needs to be figured out.

Signore Buchelli

#35
Brad.. you're the best!!!  :bow: :bow: :thumbsup:

I've created my first barn (Yiiiiha!) and dumped it with "combine.exe dump":
Formats: N = native
         Z = zlib
         O = LZO
00000 [0xBCC07277]: N - 0x00000000:01649316 N 'DAY2-1.BIK' (10)
00001 [0x0F150179]: N - 0x00192AA8:23233438
N 'DAY3-D.BIK' (10)

Then I've changed the format (compression mode) from 0 to 1 (ZLib) and dumped again:
00000 [0xBCC07277]: N - 0x00000000:01649316 N 'DAY2-1.BIK' (10)
00001 [0x0F150179]: N - 0x00192AA8:23233438
Z 'DAY3-D.BIK' (10)

Next I've tried to extract the 'bad' .bik file with "combine.exe extract . DAY3-D.BIK" and received:
Error: ZLib decode error for file 'DAY3-D.BIK' - header reports sizes as 483739449 compressed, 1716598385 uncompressed, actual size is 23233438 compressed
Error: Error decoding non-native format on resource 'DAY3-D.BIK'


Sooo, the bad .bik files aren't ZLib-compressed files.

Now imagine the things we could do with this tool ... (other gift by Scott Bilas and his guys, and managed to work by the GREAT BradDaBug).

A thousand thanks again to you!!  :) :) :)
The Eggjäger side of life is rewarding, ... sometimes

Signore Buchelli

Last year I found in a French web-page a video about the secret places of Rennes-Le-Château.

Though I understand the transcript (kind of, with Google Traductor), I haven't dared to translate it into English. Is anybody around here with more French skills than me?

Don't publish please the video at youtube or similars. I'm almost sure that it is an illegal copy of this DVD (high quality).
The Eggjäger side of life is rewarding, ... sometimes

BBP

Quote from: Signore Buchelli on May 18, 2016, 12:35:54 PM
Last year I found in a French web-page a video about the secret places of Rennes-Le-Château.

Though I understand the transcript (kind of, with Google Traductor), I haven't dared to translate it into English. Is anybody around here with more French skills than me?

Don't publish please the video at youtube or similars. I'm almost sure that it is an illegal copy of this DVD (high quality).

I'll get right on it!

Signore Buchelli

Quote from: braddabug on May 15, 2016, 06:19:58 AM
from what I remember those mysterious .bik files have something to do with the homemade copy protection the developers tried to put onto the discs. They're basically corrupt files disguised as .bik files.
Scott Bilas talked about the copy protection in his postmortem at gamasutra:
We also wasted a few weeks trying to add copy protection. During the final push to ship, we repeatedly attempted to make Macrovision's SafeDisc product work with GK3. ..... After getting nowhere with Macrovision's engineering department, we decided to ditch SafeDisc and roll our own (which took less than a day to do).

Quote from: BBP on May 01, 2016, 03:01:28 PM
-They're huge in comparison to the rest of the BINK files, the largest one would be about 15 minutes long;
I've probably found the reason in this page:
This error message used to plague players of the original game release. On the good old days of the Sierra boards, it was probably the most asked question about GK3.
There were two known causes.
One was difficulty reading the CD-ROMs. They were over-sized, which was then a form of copy protection. Some readers didn't like them.


So, probably, the over-size are the bad .bik files and, in order to create them, they used the command/function BuildRandomFile(string outFileName, int outFileSize) - Build a file of the given size and fill it with random data (the corrupt files mentioned by BradDaBug).

Could you (Bonny and/or BradDaBug) check the total size of the 3 CDs of the original US version?
The Eggjäger side of life is rewarding, ... sometimes

braddabug

The numbers I came up with:

CD1: 715725446 bytes (698950 KiB)
CD2: 714107522 bytes (697370 KiB)
CD3: 714107522 bytes (697370 KiB)

QuoteSo, probably, the over-size are the bad .bik files and, in order to create them, they used the command/function BuildRandomFile(string outFileName, int outFileSize) - Build a file of the given size and fill it with random data (the corrupt files mentioned by BradDaBug).
I think you are correct. If you extract the script they used to build all the brn files (gk3.shp) you can see calls to BuildRandomFile(). And the random files they're building? The mysterious .bik files. The target size of the discs? 714080256 bytes (697344 KiB). So it seems those .bik files are used to pad the CDs.