summaryrefslogtreecommitdiff
path: root/FAQ.lz77
diff options
context:
space:
mode:
authorPixel <Pixel>2002-05-23 15:33:08 +0000
committerPixel <Pixel>2002-05-23 15:33:08 +0000
commitfb6f3fced44619d951decf143b24ae5c66406679 (patch)
treec94f9cd98ecd447de0e3d62b29238b79d14b9c87 /FAQ.lz77
parentbdbd7e1296b98081794e0b185a0b8b677c811359 (diff)
Pwet...
Diffstat (limited to 'FAQ.lz77')
-rw-r--r--FAQ.lz7742
1 files changed, 38 insertions, 4 deletions
diff --git a/FAQ.lz77 b/FAQ.lz77
index 7bd7e0a..65433f6 100644
--- a/FAQ.lz77
+++ b/FAQ.lz77
@@ -119,7 +119,8 @@ A: It's quite easy. The computation formula is the following:
Q: What are the others parameters?
A: You have:
- 1iscomp overlap negative 16bits opposite
+ 1iscomp overlap negative 16bits ptrb
+ filling inverse onejump window
This will change the behaviour of the compression/decompression algorithm.
@@ -135,9 +136,24 @@ A: You have:
using 16 bits words instead of 8 bits words. And thus, the compression
algorithm is more difficult. As for now, it's broken.
- The opposite behavior is to compute the jump offset in a different way.
- Instead of taking it as the backward jump value, it will be an offset
- from the maximum backward jump possible.
+ The ptrb means "pointer behavior". It can take the value 0, 1 or 2. The
+ behavior '0' is the common one: the jump is the number of bytes to
+ count back to find the start of the needle to copy. The '1' is to tell
+ the jump is an offset from the maximum backward jump possible (ie
+ from the start point of the window). The '2' is a very dumb behavior:
+ it tells that the jump is the absolute offset. The window *won't* slide.
+
+ The filling option activates the RLE behavior.
+
+ The inverse is a boolean to tell to reverse the order of the bits in the
+ bitmaps
+
+ The onejump tells to add one to the final jump value. Some streams are
+ shifted by one because by default, a jump of 0 means nothing. So it
+ is dumb to miss one possible backward jump.
+
+ The window offset tells the absolute window start for the 2th pointer
+ behavior. Yeah, this is necessary. Coders of Metal Max are pretty crazy.
@@ -205,3 +221,21 @@ A: Well, for the decompressor, it's not really necessary, because it won't
algorithm used by the game *maybe* is able to handle them.
+
+Q: What is the filling thing?
+A: It's an RLE like behavior. In Valkyrie Profile, when the length hit the
+ maximum value, then it means it's a RLE block, and not a restart block.
+ That's why you've got the eight options:
+
+
+ fmask1 fshft1 fmask2 fshft2 vmask1 vshft1 vmask2 vshft2
+
+ Basically, they are the same as the {j,l}{mask,shft}{1,2} options, but
+ this time you tell where to find the 'value' which has to be copied,
+ and the 'filling', ie the number of times this value will be copied.
+
+
+Q: What is the 2th filling behaviour?
+A: Get out of here. It's a ugly ugly ugly hack. Forget it. Now!
+
+