so this patched dll uses true stdio (no fileio) compression. directly
from ram to ram. it doesnt write anything to disk by itself.
as it is ram to ram, it will use more memory compared to fileio.
maximum memory usage during compression - input filesize +
output file size + compression memory. maximum memory
usage during decompression - decompression memory + ~4mb.
notes:
- as i hooked multiple fileio functions of win32api, normal fileio
compression/decompression through razor is not possible (with
my patch). using fileio with my patch may lead to bsod. so i have
added some checks to prevent accidental fileio operations. to do
fileio operations use the original rz.exe.
- you might see my patch reading/writing V_IN.SYMM or
V_OUT.SYMM files, those are just my handles for virtual memory
address. not actual files on disk.
- its NOT interchangeable with Razor12911's patch or my old
"fake" stdio patch.
compiled with mingw-clang. will add the source code after some
cleaning. works fine with arc. added sample arc.ini. for usage
instructions see test.bat/arc.ini.
edit:
fixed a memory leak issue (idk how it slipped past me). removed
debug-specific checks that are not required now. some cosmetic
changes and removed unused debug code. also fixed a bug where
it would fail with freearc decompression.
during testing i found out that razor decompressor is sequential so
made this patch do sequential streamed decompression. so memory
usage is same as (+ ~4 mb) non stdio operations. optimized dll
size (115kb to 14 kb).