werkkzeug 4 pak files
category: code [glöplog]
As soon ryg finishes that PhD thesis about his unary arithmetic encoder (called Fabian's Unary Compression Kit if i'm not mistaken), our "Pile Of Ones" technique certainly shall receive the scientific hype it totally deserves.
it's not quite as easy as kb suggests.
in fact, there's a lattice for all values we can store to a file. operator | is indeed overloaded to implement the join operation (by analogy to set-theoretic union and sets represented as bit-vectors, where union is implemented as or). of course it would be better to overload operator |= instead since this does in fact modify s; the code still uses | for historical reasons. the logic that assigns bit patterns to lattice elements and codes them efficiently is an interesting problem that's left as an exercise to the reader. of course we need to transmit extra bits to describe the path taken (i.e. joins performed) on the way from the start node in the lattice to the final element; the structure is set up so that these extra bits are generally very predictable from context.
...well, either that or it's just that the wz4 serialization code is based on a design i first used in 2001 for RG2 where load/save are performed by the same function and the stream s comes in two variants, one that writes and one that reads. operator | is chosen to be suggestive of unix pipes. since this design requires all values passed to a serializer to be non-const references, there's no operator precedence problems or other inconveniences. :)
in fact, there's a lattice for all values we can store to a file. operator | is indeed overloaded to implement the join operation (by analogy to set-theoretic union and sets represented as bit-vectors, where union is implemented as or). of course it would be better to overload operator |= instead since this does in fact modify s; the code still uses | for historical reasons. the logic that assigns bit patterns to lattice elements and codes them efficiently is an interesting problem that's left as an exercise to the reader. of course we need to transmit extra bits to describe the path taken (i.e. joins performed) on the way from the start node in the lattice to the final element; the structure is set up so that these extra bits are generally very predictable from context.
...well, either that or it's just that the wz4 serialization code is based on a design i first used in 2001 for RG2 where load/save are performed by the same function and the stream s comes in two variants, one that writes and one that reads. operator | is chosen to be suggestive of unix pipes. since this design requires all values passed to a serializer to be non-const references, there's no operator precedence problems or other inconveniences. :)
There's an answer I was looking for :p
p.s. I'm looking forward to your FUCK paper.
p.s. I'm looking forward to your FUCK paper.
i'm afraid kb made that bit up, but here, have some GLICBAWLS instead
Quote:
I shall publish full description of .wz4 file format next week.
there's two days left of this week and everyone's waiting anxiously! o lord sauron, please give us the full description!
UNWAR source code -- for who which interested in it or want to compile it for Windows.
http://werkkzeug.wallst.ru/index.php?q=downloads/soft.page#unwar-src
http://werkkzeug.wallst.ru/index.php?q=downloads/soft.page#unwar-src
to be perfectly honest with you, i was joking, but thanks for playing along!
there's not even wTreeOps in there! booo!
But test script based on this format description successfully opens all .wz4 files that i have.
Can't wait for all that WZ goodness.
I was hoping for the full grammar for wz4script :(
Quote:
I was hoping for the full grammar for wz4script :(
asking for grammar? Das klingt wie Deutsch-Unterricht. Ich krieg' Angst. :D
this just went from "yeah cool" to scary compulsion...
the real power of wz4 is how easy it is to extend, and no amount of reverse engineering can give you that. also i think sauron has progressed beyond the point where he can learn anything from disassembling wz4 dumps.
oh, and you don't really need the grammar of wz4script. it's easy to read. although the mix of c and pascal notation is weird.
sauron: half of the documentation for all werkkeug ops is as plain text inside the executable :-) Most of the gui is in the player, and it comes with a wiki... Don't get your hopes too high, it should be impossible to activate the gui. Function level linking should have removed key classes, even though the master gui script (wire.txt) is still there in plain text.
the real power of wz4 is how easy it is to extend, and no amount of reverse engineering can give you that. also i think sauron has progressed beyond the point where he can learn anything from disassembling wz4 dumps.
oh, and you don't really need the grammar of wz4script. it's easy to read. although the mix of c and pascal notation is weird.
sauron: half of the documentation for all werkkeug ops is as plain text inside the executable :-) Most of the gui is in the player, and it comes with a wiki... Don't get your hopes too high, it should be impossible to activate the gui. Function level linking should have removed key classes, even though the master gui script (wire.txt) is still there in plain text.
Quote:
and it comes with a wiki
traditionally, this is the point where i chime in and say "with pdf export!"
Quote:
It is pseudo-language used only for describing file formats. There is no compiler/interpreter for this "script".I was hoping for the full grammar for wz4script :(
Quote:
It is pseudo-language used only for describing file formats. There is no compiler/interpreter for this "script".
Really? I thought that was something associated with the animation system. The wz4 player hex also uses a similar syntax on what looks like operator definitions and their parameter sets. It may be wrong, cause it seems to be only usable by the tool gui. And yeah. I already figured somewhat like that in the wz3 hex.
Maybe I just guessed wrong?! -.-
i think the real answer to the question why sauron keeps REing the wz files is: because he can.
Quote:
It is pseudo-language used only for describing file formats. There is no compiler/interpreter for this "script".
kb: sorry, I thought that you are about my pseudo-syntax for file formats.
http://werkkzeug.wallst.ru/files/datafiles.zip
This file contains opstackings for epizode4 and episode7, developed by farbrausch using werkkzeug4.
This file contains opstackings for epizode4 and episode7, developed by farbrausch using werkkzeug4.
JUNWAR -- Java UNpacker For Werkkzeug ARchives
It is new version of my unpacker for werkkzeug4 archives written in Java. This tool has GUI interface, and it is very easy to use and works in any operating system, not only linux. You need JRE to run it.
Screenshot:
Download:
http://werkkzeug.wallst.ru/?q=downloads/soft.page
It is new version of my unpacker for werkkzeug4 archives written in Java. This tool has GUI interface, and it is very easy to use and works in any operating system, not only linux. You need JRE to run it.
Screenshot:
Download:
http://werkkzeug.wallst.ru/?q=downloads/soft.page
But what about the audio compression?
Does it support webgl?
and now? we can watch pictures and listen to music.
BTW. it's overcocked.egg not ogg. ;)
BTW. it's overcocked.egg not ogg. ;)
why this thread keeps reming me this?