stormlib 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CMakeCCompiler.cmake +72 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake +83 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin +0 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin +0 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CMakeSystem.cmake +15 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c +803 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CompilerIdC/a.out +0 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp +791 -0
- data/ext/stormlib/StormLib/CMakeFiles/3.22.1/CompilerIdCXX/a.out +0 -0
- data/ext/stormlib/StormLib/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
- data/ext/stormlib/StormLib/CMakeFiles/CMakeOutput.log +478 -0
- data/ext/stormlib/StormLib/CMakeFiles/Export/share/StormLib/StormLibConfig-noconfig.cmake +19 -0
- data/ext/stormlib/StormLib/CMakeFiles/Export/share/StormLib/StormLibConfig.cmake +99 -0
- data/ext/stormlib/StormLib/CMakeFiles/Makefile.cmake +61 -0
- data/ext/stormlib/StormLib/CMakeFiles/Makefile2 +112 -0
- data/ext/stormlib/StormLib/CMakeFiles/TargetDirectories.txt +9 -0
- data/ext/stormlib/StormLib/CMakeFiles/cmake.check_cache +1 -0
- data/ext/stormlib/StormLib/CMakeFiles/progress.marks +1 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/DependInfo.cmake +243 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/build.make +3695 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/cmake_clean.cmake +459 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/cmake_clean_target.cmake +3 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/compiler_depend.make +2 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/compiler_depend.ts +2 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/depend.make +2 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/flags.make +17 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/link.txt +2 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/progress.make +227 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/FileStream.cpp.o.d +160 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SBaseCommon.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SBaseDumpData.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SBaseFileTable.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SBaseSubTypes.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SCompression.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileAddFile.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileAttributes.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileCompactArchive.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileCreateArchive.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileExtractFile.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileFindFile.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileGetFileInfo.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileListFile.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileOpenArchive.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileOpenFileEx.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFilePatchArchives.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileReadFile.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/SFileVerify.cpp.o.d +159 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/adpcm/adpcm.cpp.o.d +12 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/huffman/huff.cpp.o.d +16 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/jenkins/lookup3.c.o.d +88 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/hashes/hash_memory.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/hashes/md5.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/hashes/sha1.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/hashes/sha256.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/math/ltm_desc.c.o.d +105 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/math/multi.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/math/rand_prime.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/base64_decode.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_argchk.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_find_hash.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_find_prng.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_hash_descriptor.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_hash_is_valid.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_libc.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_prng_descriptor.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_prng_is_valid.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_register_hash.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/crypt_register_prng.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/misc/zeromem.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_bit_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_boolean.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_choice.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_ia5_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_integer.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_object_identifier.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_octet_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_printable_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_sequence_ex.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_sequence_flexi.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_sequence_multi.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_short_integer.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_utctime.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_decode_utf8_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_bit_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_boolean.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_ia5_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_integer.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_object_identifier.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_octet_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_printable_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_sequence_ex.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_sequence_multi.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_set.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_setof.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_short_integer.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_utctime.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_encode_utf8_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_bit_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_boolean.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_ia5_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_integer.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_object_identifier.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_octet_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_printable_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_sequence.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_short_integer.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_utctime.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_length_utf8_string.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/asn1/der_sequence_free.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/ecc/ltc_ecc_map.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/ecc/ltc_ecc_points.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/rsa/rsa_exptmod.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/rsa/rsa_free.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/rsa/rsa_import.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/rsa/rsa_make_key.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/rsa/rsa_sign_hash.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/rsa/rsa_verify_hash.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c.o.d +102 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_fast_mp_invmod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_fast_mp_montgomery_reduce.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_fast_s_mp_mul_digs.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_fast_s_mp_mul_high_digs.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_fast_s_mp_sqr.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_2expt.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_abs.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_add.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_add_d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_addmod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_and.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_clamp.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_clear.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_clear_multi.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_cmp.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_cmp_d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_cmp_mag.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_cnt_lsb.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_copy.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_count_bits.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_div.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_div_2.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_div_2d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_div_3.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_div_d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_dr_is_modulus.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_dr_reduce.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_dr_setup.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_exch.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_expt_d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_exptmod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_exptmod_fast.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_exteuclid.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_fread.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_fwrite.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_gcd.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_get_int.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_grow.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_init.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_init_copy.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_init_multi.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_init_set.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_init_set_int.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_init_size.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_invmod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_invmod_slow.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_is_square.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_jacobi.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_karatsuba_mul.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_karatsuba_sqr.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_lcm.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_lshd.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mod_2d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mod_d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_montgomery_calc_normalization.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_montgomery_reduce.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_montgomery_setup.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mul.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mul_2.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mul_2d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mul_d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_mulmod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_n_root.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_neg.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_or.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_prime_fermat.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_prime_is_divisible.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_prime_is_prime.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_prime_miller_rabin.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_prime_next_prime.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_prime_rabin_miller_trials.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_prime_random_ex.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_radix_size.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_radix_smap.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_rand.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_read_radix.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_read_signed_bin.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_read_unsigned_bin.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce_2k.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce_2k_l.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce_2k_setup.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce_2k_setup_l.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce_is_2k.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce_is_2k_l.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_reduce_setup.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_rshd.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_set.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_set_int.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_shrink.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_signed_bin_size.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_sqr.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_sqrmod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_sqrt.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_sub.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_sub_d.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_submod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_to_signed_bin.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_to_signed_bin_n.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_to_unsigned_bin.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_to_unsigned_bin_n.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_toom_mul.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_toom_sqr.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_toradix.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_toradix_n.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_unsigned_bin_size.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_xor.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_mp_zero.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_prime_tab.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_reverse.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_s_mp_add.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_s_mp_exptmod.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_s_mp_mul_digs.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_s_mp_mul_high_digs.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_s_mp_sqr.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bn_s_mp_sub.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/libtommath/bncore.c.o.d +65 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/lzma/C/LzFind.c.o.d +18 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/lzma/C/LzmaDec.c.o.d +17 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/lzma/C/LzmaEnc.c.o.d +18 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/pklib/explode.c.o.d +16 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/pklib/implode.c.o.d +23 -0
- data/ext/stormlib/StormLib/CMakeFiles/storm.dir/src/sparse/sparse.cpp.o.d +16 -0
- data/ext/stormlib/StormLib/CMakeLists.txt +418 -0
- data/ext/stormlib/StormLib/Info.plist +22 -0
- data/ext/stormlib/StormLib/LICENSE +21 -0
- data/ext/stormlib/StormLib/Premake5.lua +132 -0
- data/ext/stormlib/StormLib/README.md +39 -0
- data/ext/stormlib/StormLib/StormLib.sln +162 -0
- data/ext/stormlib/StormLib/StormLib.vcxproj +1024 -0
- data/ext/stormlib/StormLib/StormLib.vcxproj.filters +221 -0
- data/ext/stormlib/StormLib/StormLib.xcodeproj/project.pbxproj +2104 -0
- data/ext/stormlib/StormLib/StormLib_dll.vcxproj +348 -0
- data/ext/stormlib/StormLib/StormLib_dll.vcxproj.filters +229 -0
- data/ext/stormlib/StormLib/StormLib_test.vcxproj +360 -0
- data/ext/stormlib/StormLib/StormLib_test.vcxproj.filters +230 -0
- data/ext/stormlib/StormLib/StormLib_vs08.sln +139 -0
- data/ext/stormlib/StormLib/StormLib_vs08.vcproj +4205 -0
- data/ext/stormlib/StormLib/StormLib_vs08_dll.vcproj +1851 -0
- data/ext/stormlib/StormLib/StormLib_vs08_test.vcproj +1289 -0
- data/ext/stormlib/StormLib/doc/History.txt +78 -0
- data/ext/stormlib/StormLib/doc/The MoPaQ File Format 0.9.txt +318 -0
- data/ext/stormlib/StormLib/doc/The MoPaQ File Format 1.0.txt +433 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-deDE.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-enGB.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-enSG.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-enUS.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-esES.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-esMX.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-frFR.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-itIT.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-koKR.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-plPL.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-ptBR.txt +1 -0
- data/ext/stormlib/StormLib/doc/d3-authenticationcode/d3-authenticationcode-zhTW.txt +1 -0
- data/ext/stormlib/StormLib/doc/hots-authenticationcode/hots-authenticationcode-bgdl.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-deDE.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-enGB.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-enUS.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-esES.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-esMX.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-frFR.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-itIT.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-koKR.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-plPL.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-ptBR.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-ruRU.txt +1 -0
- data/ext/stormlib/StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-zhTW.txt +1 -0
- data/ext/stormlib/StormLib/make-msvc.bat +95 -0
- data/ext/stormlib/StormLib/make.bat +46 -0
- data/ext/stormlib/StormLib/sources +14 -0
- data/ext/stormlib/StormLib/src/DllMain.c +24 -0
- data/ext/stormlib/StormLib/src/DllMain.def +79 -0
- data/ext/stormlib/StormLib/src/DllMain.rc +110 -0
- data/ext/stormlib/StormLib/src/FileStream.cpp +2928 -0
- data/ext/stormlib/StormLib/src/FileStream.h +217 -0
- data/ext/stormlib/StormLib/src/LibTomCrypt.c +85 -0
- data/ext/stormlib/StormLib/src/LibTomMath.c +125 -0
- data/ext/stormlib/StormLib/src/LibTomMathDesc.c +4 -0
- data/ext/stormlib/StormLib/src/SBaseCommon.cpp +1970 -0
- data/ext/stormlib/StormLib/src/SBaseDumpData.cpp +183 -0
- data/ext/stormlib/StormLib/src/SBaseFileTable.cpp +3194 -0
- data/ext/stormlib/StormLib/src/SBaseSubTypes.cpp +688 -0
- data/ext/stormlib/StormLib/src/SCompression.cpp +1183 -0
- data/ext/stormlib/StormLib/src/SFileAddFile.cpp +1337 -0
- data/ext/stormlib/StormLib/src/SFileAttributes.cpp +573 -0
- data/ext/stormlib/StormLib/src/SFileCompactArchive.cpp +654 -0
- data/ext/stormlib/StormLib/src/SFileCreateArchive.cpp +285 -0
- data/ext/stormlib/StormLib/src/SFileExtractFile.cpp +64 -0
- data/ext/stormlib/StormLib/src/SFileFindFile.cpp +484 -0
- data/ext/stormlib/StormLib/src/SFileGetFileInfo.cpp +627 -0
- data/ext/stormlib/StormLib/src/SFileListFile.cpp +750 -0
- data/ext/stormlib/StormLib/src/SFileOpenArchive.cpp +723 -0
- data/ext/stormlib/StormLib/src/SFileOpenFileEx.cpp +423 -0
- data/ext/stormlib/StormLib/src/SFilePatchArchives.cpp +1175 -0
- data/ext/stormlib/StormLib/src/SFileReadFile.cpp +922 -0
- data/ext/stormlib/StormLib/src/SFileVerify.cpp +1059 -0
- data/ext/stormlib/StormLib/src/StormCommon.h +450 -0
- data/ext/stormlib/StormLib/src/StormLib.exp +74 -0
- data/ext/stormlib/StormLib/src/StormLib.h +1157 -0
- data/ext/stormlib/StormLib/src/StormPort.h +474 -0
- data/ext/stormlib/StormLib/src/adpcm/adpcm.cpp +539 -0
- data/ext/stormlib/StormLib/src/adpcm/adpcm.h +27 -0
- data/ext/stormlib/StormLib/src/bzip2/blocksort.c +1094 -0
- data/ext/stormlib/StormLib/src/bzip2/bzlib.c +1573 -0
- data/ext/stormlib/StormLib/src/bzip2/bzlib.h +282 -0
- data/ext/stormlib/StormLib/src/bzip2/bzlib_private.h +509 -0
- data/ext/stormlib/StormLib/src/bzip2/compress.c +672 -0
- data/ext/stormlib/StormLib/src/bzip2/crctable.c +104 -0
- data/ext/stormlib/StormLib/src/bzip2/decompress.c +626 -0
- data/ext/stormlib/StormLib/src/bzip2/huffman.c +205 -0
- data/ext/stormlib/StormLib/src/bzip2/randtable.c +84 -0
- data/ext/stormlib/StormLib/src/huffman/huff.cpp +915 -0
- data/ext/stormlib/StormLib/src/huffman/huff.h +143 -0
- data/ext/stormlib/StormLib/src/jenkins/lookup.h +24 -0
- data/ext/stormlib/StormLib/src/jenkins/lookup3.c +1003 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/hashes/hash_memory.c +69 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/hashes/md5.c +368 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/hashes/sha1.c +288 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/hashes/sha256.c +340 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt.h +91 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_argchk.h +38 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_cfg.h +144 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_cipher.h +891 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_custom.h +424 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_hash.h +378 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_mac.h +384 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_macros.h +424 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_math.h +500 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_misc.h +23 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_pk.h +558 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_pkcs.h +89 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/headers/tomcrypt_prng.h +199 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/math/ltm_desc.c +483 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/math/multi.c +61 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/math/rand_prime.c +87 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/base64_decode.c +104 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_argchk.c +30 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_find_hash.c +40 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_find_prng.c +41 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_hash_descriptor.c +27 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_hash_is_valid.c +36 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_libc.c +43 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c +13 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_prng_descriptor.c +26 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_prng_is_valid.c +36 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_register_hash.c +54 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/crypt_register_prng.c +54 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/misc/zeromem.c +34 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_bit_string.c +102 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_boolean.c +47 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_choice.c +182 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_ia5_string.c +96 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_integer.c +110 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_object_identifier.c +99 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_octet_string.c +91 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_printable_string.c +96 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_ex.c +287 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_flexi.c +386 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_multi.c +139 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_short_integer.c +68 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_utctime.c +127 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_utf8_string.c +111 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_bit_string.c +89 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_boolean.c +51 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_ia5_string.c +85 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_integer.c +130 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_object_identifier.c +111 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_octet_string.c +86 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_printable_string.c +85 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_sequence_ex.c +335 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_sequence_multi.c +138 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_set.c +103 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_setof.c +162 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_short_integer.c +97 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_utctime.c +83 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_utf8_string.c +105 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_bit_string.c +54 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_boolean.c +35 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_ia5_string.c +194 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_integer.c +82 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_object_identifier.c +89 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_octet_string.c +53 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_printable_string.c +166 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_sequence.c +169 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_short_integer.c +70 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_utctime.c +46 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_length_utf8_string.c +83 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/asn1/der_sequence_free.c +65 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_map.c +76 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c +207 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c +222 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_points.c +60 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c +196 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c +147 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c +108 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c +189 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c +177 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c +175 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c +110 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c +111 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/rsa/rsa_exptmod.c +113 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/rsa/rsa_free.c +34 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/rsa/rsa_import.c +143 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/rsa/rsa_make_key.c +112 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/rsa/rsa_sign_hash.c +134 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/rsa/rsa_verify_hash.c +167 -0
- data/ext/stormlib/StormLib/src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c +87 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_fast_mp_invmod.c +148 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_fast_mp_montgomery_reduce.c +172 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_fast_s_mp_mul_digs.c +107 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_fast_s_mp_mul_high_digs.c +98 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_fast_s_mp_sqr.c +114 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_2expt.c +48 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_abs.c +43 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_add.c +53 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_add_d.c +112 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_addmod.c +41 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_and.c +57 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_clamp.c +44 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_clear.c +44 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_clear_multi.c +34 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_cmp.c +43 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_cmp_d.c +44 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_cmp_mag.c +55 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_cnt_lsb.c +53 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_copy.c +68 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_count_bits.c +45 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_div.c +292 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_div_2.c +68 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_div_2d.c +97 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_div_3.c +79 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_div_d.c +115 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_dr_is_modulus.c +43 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_dr_reduce.c +94 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_dr_setup.c +32 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_exch.c +34 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_expt_d.c +57 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_exptmod.c +112 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_exptmod_fast.c +321 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_exteuclid.c +82 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_fread.c +67 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_fwrite.c +52 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_gcd.c +105 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_get_int.c +45 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_grow.c +57 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_init.c +46 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_init_copy.c +32 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_init_multi.c +59 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_init_set.c +32 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_init_set_int.c +31 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_init_size.c +48 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_invmod.c +43 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_invmod_slow.c +175 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_is_square.c +109 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_jacobi.c +105 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_karatsuba_mul.c +167 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_karatsuba_sqr.c +121 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_lcm.c +60 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_lshd.c +67 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mod.c +48 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mod_2d.c +55 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mod_d.c +27 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_montgomery_calc_normalization.c +59 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_montgomery_reduce.c +118 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_montgomery_setup.c +59 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mul.c +66 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mul_2.c +82 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mul_2d.c +85 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mul_d.c +79 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_mulmod.c +40 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_n_root.c +132 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_neg.c +40 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_or.c +50 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_prime_fermat.c +62 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_prime_is_divisible.c +50 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_prime_is_prime.c +83 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_prime_miller_rabin.c +103 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_prime_next_prime.c +170 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_prime_rabin_miller_trials.c +52 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_prime_random_ex.c +125 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_radix_size.c +78 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_radix_smap.c +24 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_rand.c +55 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_read_radix.c +85 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_read_signed_bin.c +41 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_read_unsigned_bin.c +55 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce.c +100 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce_2k.c +61 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce_2k_l.c +62 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce_2k_setup.c +47 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce_2k_setup_l.c +44 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce_is_2k.c +52 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce_is_2k_l.c +44 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_reduce_setup.c +34 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_rshd.c +72 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_set.c +29 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_set_int.c +48 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_shrink.c +35 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_signed_bin_size.c +27 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_sqr.c +58 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_sqrmod.c +41 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_sqrt.c +81 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_sub.c +59 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_sub_d.c +93 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_submod.c +42 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_to_signed_bin.c +33 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_to_signed_bin_n.c +31 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_to_unsigned_bin.c +48 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_to_unsigned_bin_n.c +31 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_toom_mul.c +284 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_toom_sqr.c +226 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_toradix.c +75 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_toradix_n.c +88 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_unsigned_bin_size.c +28 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_xor.c +51 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_mp_zero.c +36 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_prime_tab.c +61 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_reverse.c +39 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_s_mp_add.c +109 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_s_mp_exptmod.c +252 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_s_mp_mul_digs.c +90 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_s_mp_mul_high_digs.c +81 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_s_mp_sqr.c +84 -0
- data/ext/stormlib/StormLib/src/libtommath/bn_s_mp_sub.c +89 -0
- data/ext/stormlib/StormLib/src/libtommath/bncore.c +36 -0
- data/ext/stormlib/StormLib/src/libtommath/tommath.h +584 -0
- data/ext/stormlib/StormLib/src/libtommath/tommath_class.h +999 -0
- data/ext/stormlib/StormLib/src/libtommath/tommath_superclass.h +76 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzFind.c +761 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzFind.h +115 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzFindMt.c +793 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzFindMt.h +105 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzHash.h +54 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzmaDec.c +999 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzmaDec.h +231 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzmaEnc.c +2268 -0
- data/ext/stormlib/StormLib/src/lzma/C/LzmaEnc.h +80 -0
- data/ext/stormlib/StormLib/src/lzma/C/Threads.c +84 -0
- data/ext/stormlib/StormLib/src/lzma/C/Threads.h +59 -0
- data/ext/stormlib/StormLib/src/lzma/C/Types.h +236 -0
- data/ext/stormlib/StormLib/src/lzma/info.txt +1 -0
- data/ext/stormlib/StormLib/src/pklib/crc32.c +66 -0
- data/ext/stormlib/StormLib/src/pklib/explode.c +521 -0
- data/ext/stormlib/StormLib/src/pklib/implode.c +674 -0
- data/ext/stormlib/StormLib/src/pklib/pklib.h +160 -0
- data/ext/stormlib/StormLib/src/resource.h +15 -0
- data/ext/stormlib/StormLib/src/sparse/sparse.cpp +287 -0
- data/ext/stormlib/StormLib/src/sparse/sparse.h +17 -0
- data/ext/stormlib/StormLib/src/wdk/sources-cpp.cpp +26 -0
- data/ext/stormlib/StormLib/src/wdk/sources-wdk-bzip2.c +13 -0
- data/ext/stormlib/StormLib/src/wdk/sources-wdk-ltc.c +4 -0
- data/ext/stormlib/StormLib/src/wdk/sources-wdk-lzma.c +8 -0
- data/ext/stormlib/StormLib/src/wdk/sources-wdk-misc.c +6 -0
- data/ext/stormlib/StormLib/src/wdk/sources-wdk-tomcrypt.c +82 -0
- data/ext/stormlib/StormLib/src/wdk/sources-wdk-tommath.c +123 -0
- data/ext/stormlib/StormLib/src/wdk/sources-wdk-zlib.c +21 -0
- data/ext/stormlib/StormLib/src/zlib/adler32.c +169 -0
- data/ext/stormlib/StormLib/src/zlib/compress.c +80 -0
- data/ext/stormlib/StormLib/src/zlib/compress_zlib.c +5 -0
- data/ext/stormlib/StormLib/src/zlib/crc32.c +442 -0
- data/ext/stormlib/StormLib/src/zlib/crc32.h +441 -0
- data/ext/stormlib/StormLib/src/zlib/deflate.c +1834 -0
- data/ext/stormlib/StormLib/src/zlib/deflate.h +342 -0
- data/ext/stormlib/StormLib/src/zlib/gzguts.h +218 -0
- data/ext/stormlib/StormLib/src/zlib/inffast.c +340 -0
- data/ext/stormlib/StormLib/src/zlib/inffast.h +11 -0
- data/ext/stormlib/StormLib/src/zlib/inffixed.h +94 -0
- data/ext/stormlib/StormLib/src/zlib/inflate.c +1480 -0
- data/ext/stormlib/StormLib/src/zlib/inflate.h +130 -0
- data/ext/stormlib/StormLib/src/zlib/inftrees.c +330 -0
- data/ext/stormlib/StormLib/src/zlib/inftrees.h +67 -0
- data/ext/stormlib/StormLib/src/zlib/trees.c +1244 -0
- data/ext/stormlib/StormLib/src/zlib/trees.h +128 -0
- data/ext/stormlib/StormLib/src/zlib/zconf.h +428 -0
- data/ext/stormlib/StormLib/src/zlib/zlib.h +1613 -0
- data/ext/stormlib/StormLib/src/zlib/zutil.c +318 -0
- data/ext/stormlib/StormLib/src/zlib/zutil.h +274 -0
- data/ext/stormlib/StormLib/storm_dll/storm.cpp +117 -0
- data/ext/stormlib/StormLib/storm_dll/storm.def +25 -0
- data/ext/stormlib/StormLib/storm_dll/storm.h +65 -0
- data/ext/stormlib/StormLib/storm_dll/storm.vcxproj +209 -0
- data/ext/stormlib/StormLib/storm_dll/storm.vcxproj.filters +28 -0
- data/ext/stormlib/StormLib/storm_dll/storm_test.cpp +182 -0
- data/ext/stormlib/StormLib/storm_dll/storm_test.vcxproj +202 -0
- data/ext/stormlib/StormLib/storm_dll/storm_test.vcxproj.filters +22 -0
- data/ext/stormlib/StormLib/test/StormTest.cpp +4393 -0
- data/ext/stormlib/StormLib/test/TLogHelper.cpp +567 -0
- data/ext/stormlib/StormLib/test/stormlib-test-001.txt +164 -0
- data/ext/stormlib/extconf.rb +0 -2
- data/lib/stormlib/version.rb +1 -1
- data/stormlib.gemspec +1 -1
- metadata +621 -2
|
@@ -0,0 +1,674 @@
|
|
|
1
|
+
/*****************************************************************************/
|
|
2
|
+
/* implode.c Copyright (c) Ladislav Zezula 2003 */
|
|
3
|
+
/*---------------------------------------------------------------------------*/
|
|
4
|
+
/* Implode function of PKWARE Data Compression library */
|
|
5
|
+
/*---------------------------------------------------------------------------*/
|
|
6
|
+
/* Date Ver Who Comment */
|
|
7
|
+
/* -------- ---- --- ------- */
|
|
8
|
+
/* 11.04.03 1.00 Lad First version of implode.c */
|
|
9
|
+
/* 02.05.03 1.00 Lad Stress test done */
|
|
10
|
+
/* 22.04.10 1.01 Lad Documented */
|
|
11
|
+
/*****************************************************************************/
|
|
12
|
+
|
|
13
|
+
#include <assert.h>
|
|
14
|
+
#include <string.h>
|
|
15
|
+
#include <limits.h>
|
|
16
|
+
|
|
17
|
+
#include "pklib.h"
|
|
18
|
+
|
|
19
|
+
#if ((1200 < _MSC_VER) && (_MSC_VER < 1400))
|
|
20
|
+
#pragma optimize("", off) // Fucking Microsoft VS.NET 2003 compiler !!! (_MSC_VER=1310)
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
//-----------------------------------------------------------------------------
|
|
24
|
+
// Defines
|
|
25
|
+
|
|
26
|
+
#define MAX_REP_LENGTH 0x204 // The longest allowed repetition
|
|
27
|
+
|
|
28
|
+
//-----------------------------------------------------------------------------
|
|
29
|
+
// Macros
|
|
30
|
+
|
|
31
|
+
// Macro for calculating hash of the current byte pair.
|
|
32
|
+
// Note that most exact byte pair hash would be buffer[0] + buffer[1] << 0x08,
|
|
33
|
+
// but even this way gives nice indication of equal byte pairs, with significantly
|
|
34
|
+
// smaller size of the array that holds numbers of those hashes
|
|
35
|
+
#define BYTE_PAIR_HASH(buffer) ((buffer[0] * 4) + (buffer[1] * 5))
|
|
36
|
+
|
|
37
|
+
//-----------------------------------------------------------------------------
|
|
38
|
+
// Local functions
|
|
39
|
+
|
|
40
|
+
// Builds the "hash_to_index" table and "pair_hash_offsets" table.
|
|
41
|
+
// Every element of "hash_to_index" will contain lowest index to the
|
|
42
|
+
// "pair_hash_offsets" table, effectively giving offset of the first
|
|
43
|
+
// occurence of the given PAIR_HASH in the input data.
|
|
44
|
+
static void SortBuffer(TCmpStruct * pWork, unsigned char * buffer_begin, unsigned char * buffer_end)
|
|
45
|
+
{
|
|
46
|
+
unsigned short * phash_to_index;
|
|
47
|
+
unsigned char * buffer_ptr;
|
|
48
|
+
unsigned short total_sum = 0;
|
|
49
|
+
unsigned long byte_pair_hash; // Hash value of the byte pair
|
|
50
|
+
unsigned short byte_pair_offs; // Offset of the byte pair, relative to "work_buff"
|
|
51
|
+
|
|
52
|
+
// Zero the entire "phash_to_index" table
|
|
53
|
+
memset(pWork->phash_to_index, 0, sizeof(pWork->phash_to_index));
|
|
54
|
+
|
|
55
|
+
// Step 1: Count amount of each PAIR_HASH in the input buffer
|
|
56
|
+
// The table will look like this:
|
|
57
|
+
// offs 0x000: Number of occurences of PAIR_HASH 0
|
|
58
|
+
// offs 0x001: Number of occurences of PAIR_HASH 1
|
|
59
|
+
// ...
|
|
60
|
+
// offs 0x8F7: Number of occurences of PAIR_HASH 0x8F7 (the highest hash value)
|
|
61
|
+
for(buffer_ptr = buffer_begin; buffer_ptr < buffer_end; buffer_ptr++)
|
|
62
|
+
pWork->phash_to_index[BYTE_PAIR_HASH(buffer_ptr)]++;
|
|
63
|
+
|
|
64
|
+
// Step 2: Convert the table to the array of PAIR_HASH amounts.
|
|
65
|
+
// Each element contains count of PAIR_HASHes that is less or equal
|
|
66
|
+
// to element index
|
|
67
|
+
// The table will look like this:
|
|
68
|
+
// offs 0x000: Number of occurences of PAIR_HASH 0 or lower
|
|
69
|
+
// offs 0x001: Number of occurences of PAIR_HASH 1 or lower
|
|
70
|
+
// ...
|
|
71
|
+
// offs 0x8F7: Number of occurences of PAIR_HASH 0x8F7 or lower
|
|
72
|
+
for(phash_to_index = pWork->phash_to_index; phash_to_index < &pWork->phash_to_index_end; phash_to_index++)
|
|
73
|
+
{
|
|
74
|
+
total_sum = total_sum + phash_to_index[0];
|
|
75
|
+
phash_to_index[0] = total_sum;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Step 3: Convert the table to the array of indexes.
|
|
79
|
+
// Now, each element contains index to the first occurence of given PAIR_HASH
|
|
80
|
+
for(buffer_end--; buffer_end >= buffer_begin; buffer_end--)
|
|
81
|
+
{
|
|
82
|
+
byte_pair_hash = BYTE_PAIR_HASH(buffer_end);
|
|
83
|
+
byte_pair_offs = (unsigned short)(buffer_end - pWork->work_buff);
|
|
84
|
+
|
|
85
|
+
pWork->phash_to_index[byte_pair_hash]--;
|
|
86
|
+
pWork->phash_offs[pWork->phash_to_index[byte_pair_hash]] = byte_pair_offs;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static void FlushBuf(TCmpStruct * pWork)
|
|
91
|
+
{
|
|
92
|
+
unsigned char save_ch1;
|
|
93
|
+
unsigned char save_ch2;
|
|
94
|
+
unsigned int size = 0x800;
|
|
95
|
+
|
|
96
|
+
pWork->write_buf(pWork->out_buff, &size, pWork->param);
|
|
97
|
+
|
|
98
|
+
save_ch1 = pWork->out_buff[0x800];
|
|
99
|
+
save_ch2 = pWork->out_buff[pWork->out_bytes];
|
|
100
|
+
pWork->out_bytes -= 0x800;
|
|
101
|
+
|
|
102
|
+
memset(pWork->out_buff, 0, sizeof(pWork->out_buff));
|
|
103
|
+
|
|
104
|
+
if(pWork->out_bytes != 0)
|
|
105
|
+
pWork->out_buff[0] = save_ch1;
|
|
106
|
+
if(pWork->out_bits != 0)
|
|
107
|
+
pWork->out_buff[pWork->out_bytes] = save_ch2;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static void OutputBits(TCmpStruct * pWork, unsigned int nbits, unsigned long bit_buff)
|
|
111
|
+
{
|
|
112
|
+
unsigned int out_bits;
|
|
113
|
+
|
|
114
|
+
// If more than 8 bits to output, do recursion
|
|
115
|
+
if(nbits > 8)
|
|
116
|
+
{
|
|
117
|
+
OutputBits(pWork, 8, bit_buff);
|
|
118
|
+
bit_buff >>= 8;
|
|
119
|
+
nbits -= 8;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Add bits to the last out byte in out_buff;
|
|
123
|
+
out_bits = pWork->out_bits;
|
|
124
|
+
pWork->out_buff[pWork->out_bytes] |= (unsigned char)(bit_buff << out_bits);
|
|
125
|
+
pWork->out_bits += nbits;
|
|
126
|
+
|
|
127
|
+
// If 8 or more bits, increment number of bytes
|
|
128
|
+
if(pWork->out_bits > 8)
|
|
129
|
+
{
|
|
130
|
+
pWork->out_bytes++;
|
|
131
|
+
bit_buff >>= (8 - out_bits);
|
|
132
|
+
|
|
133
|
+
pWork->out_buff[pWork->out_bytes] = (unsigned char)bit_buff;
|
|
134
|
+
pWork->out_bits &= 7;
|
|
135
|
+
}
|
|
136
|
+
else
|
|
137
|
+
{
|
|
138
|
+
pWork->out_bits &= 7;
|
|
139
|
+
if(pWork->out_bits == 0)
|
|
140
|
+
pWork->out_bytes++;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// If there is enough compressed bytes, flush them
|
|
144
|
+
if(pWork->out_bytes >= 0x800)
|
|
145
|
+
FlushBuf(pWork);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// This function searches for a repetition
|
|
149
|
+
// (a previous occurence of the current byte sequence)
|
|
150
|
+
// Returns length of the repetition, and stores the backward distance
|
|
151
|
+
// to pWork structure.
|
|
152
|
+
static unsigned int FindRep(TCmpStruct * pWork, unsigned char * input_data)
|
|
153
|
+
{
|
|
154
|
+
unsigned short * phash_to_index; // Pointer into pWork->phash_to_index table
|
|
155
|
+
unsigned short * phash_offs; // Pointer to the table containing offsets of each PAIR_HASH
|
|
156
|
+
unsigned char * repetition_limit; // An eventual repetition must be at position below this pointer
|
|
157
|
+
unsigned char * prev_repetition; // Pointer to the previous occurence of the current PAIR_HASH
|
|
158
|
+
unsigned char * prev_rep_end; // End of the previous repetition
|
|
159
|
+
unsigned char * input_data_ptr;
|
|
160
|
+
unsigned short phash_offs_index; // Index to the table with PAIR_HASH positions
|
|
161
|
+
unsigned short min_phash_offs; // The lowest allowed hash offset
|
|
162
|
+
unsigned int offs_in_rep; // Offset within found repetition
|
|
163
|
+
unsigned int equal_byte_count; // Number of bytes that are equal to the previous occurence
|
|
164
|
+
unsigned int rep_length = 1; // Length of the found repetition
|
|
165
|
+
unsigned int rep_length2; // Secondary repetition
|
|
166
|
+
unsigned char pre_last_byte; // Last but one byte from a repetion
|
|
167
|
+
unsigned short di_val;
|
|
168
|
+
|
|
169
|
+
// Calculate the previous position of the PAIR_HASH
|
|
170
|
+
phash_to_index = pWork->phash_to_index + BYTE_PAIR_HASH(input_data);
|
|
171
|
+
min_phash_offs = (unsigned short)((input_data - pWork->work_buff) - pWork->dsize_bytes + 1);
|
|
172
|
+
phash_offs_index = phash_to_index[0];
|
|
173
|
+
|
|
174
|
+
// If the PAIR_HASH offset is below the limit, find a next one
|
|
175
|
+
phash_offs = pWork->phash_offs + phash_offs_index;
|
|
176
|
+
if(*phash_offs < min_phash_offs)
|
|
177
|
+
{
|
|
178
|
+
while(*phash_offs < min_phash_offs)
|
|
179
|
+
{
|
|
180
|
+
phash_offs_index++;
|
|
181
|
+
phash_offs++;
|
|
182
|
+
}
|
|
183
|
+
*phash_to_index = phash_offs_index;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Get the first location of the PAIR_HASH,
|
|
187
|
+
// and thus the first eventual location of byte repetition
|
|
188
|
+
phash_offs = pWork->phash_offs + phash_offs_index;
|
|
189
|
+
prev_repetition = pWork->work_buff + phash_offs[0];
|
|
190
|
+
repetition_limit = input_data - 1;
|
|
191
|
+
|
|
192
|
+
// If the current PAIR_HASH was not encountered before,
|
|
193
|
+
// we haven't found a repetition.
|
|
194
|
+
if(prev_repetition >= repetition_limit)
|
|
195
|
+
return 0;
|
|
196
|
+
|
|
197
|
+
// We have found a match of a PAIR_HASH. Now we have to make sure
|
|
198
|
+
// that it is also a byte match, because PAIR_HASH is not unique.
|
|
199
|
+
// We compare the bytes and count the length of the repetition
|
|
200
|
+
input_data_ptr = input_data;
|
|
201
|
+
for(;;)
|
|
202
|
+
{
|
|
203
|
+
// If the first byte of the repetition and the so-far-last byte
|
|
204
|
+
// of the repetition are equal, we will compare the blocks.
|
|
205
|
+
if(*input_data_ptr == *prev_repetition && input_data_ptr[rep_length-1] == prev_repetition[rep_length-1])
|
|
206
|
+
{
|
|
207
|
+
// Skip the current byte
|
|
208
|
+
prev_repetition++;
|
|
209
|
+
input_data_ptr++;
|
|
210
|
+
equal_byte_count = 2;
|
|
211
|
+
|
|
212
|
+
// Now count how many more bytes are equal
|
|
213
|
+
while(equal_byte_count < MAX_REP_LENGTH)
|
|
214
|
+
{
|
|
215
|
+
prev_repetition++;
|
|
216
|
+
input_data_ptr++;
|
|
217
|
+
|
|
218
|
+
// Are the bytes different ?
|
|
219
|
+
if(*prev_repetition != *input_data_ptr)
|
|
220
|
+
break;
|
|
221
|
+
|
|
222
|
+
equal_byte_count++;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// If we found a repetition of at least the same length, take it.
|
|
226
|
+
// If there are multiple repetitions in the input buffer, this will
|
|
227
|
+
// make sure that we find the most recent one, which in turn allows
|
|
228
|
+
// us to store backward length in less amount of bits
|
|
229
|
+
input_data_ptr = input_data;
|
|
230
|
+
if(equal_byte_count >= rep_length)
|
|
231
|
+
{
|
|
232
|
+
// Calculate the backward distance of the repetition.
|
|
233
|
+
// Note that the distance is stored as decremented by 1
|
|
234
|
+
pWork->distance = (unsigned int)(input_data - prev_repetition + equal_byte_count - 1);
|
|
235
|
+
|
|
236
|
+
// Repetitions longer than 10 bytes will be stored in more bits,
|
|
237
|
+
// so they need a bit different handling
|
|
238
|
+
if((rep_length = equal_byte_count) > 10)
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// Move forward in the table of PAIR_HASH repetitions.
|
|
244
|
+
// There might be a more recent occurence of the same repetition.
|
|
245
|
+
phash_offs_index++;
|
|
246
|
+
phash_offs++;
|
|
247
|
+
prev_repetition = pWork->work_buff + phash_offs[0];
|
|
248
|
+
|
|
249
|
+
// If the next repetition is beyond the minimum allowed repetition, we are done.
|
|
250
|
+
if(prev_repetition >= repetition_limit)
|
|
251
|
+
{
|
|
252
|
+
// A repetition must have at least 2 bytes, otherwise it's not worth it
|
|
253
|
+
return (rep_length >= 2) ? rep_length : 0;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// If the repetition has max length of 0x204 bytes, we can't go any further
|
|
258
|
+
if(equal_byte_count == MAX_REP_LENGTH)
|
|
259
|
+
{
|
|
260
|
+
pWork->distance--;
|
|
261
|
+
return equal_byte_count;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// Check for possibility of a repetition that occurs at more recent position
|
|
265
|
+
phash_offs = pWork->phash_offs + phash_offs_index;
|
|
266
|
+
if(pWork->work_buff + phash_offs[1] >= repetition_limit)
|
|
267
|
+
return rep_length;
|
|
268
|
+
|
|
269
|
+
//
|
|
270
|
+
// The following part checks if there isn't a longer repetition at
|
|
271
|
+
// a latter offset, that would lead to better compression.
|
|
272
|
+
//
|
|
273
|
+
// Example of data that can trigger this optimization:
|
|
274
|
+
//
|
|
275
|
+
// "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEQQQQQQQQQQQQ"
|
|
276
|
+
// "XYZ"
|
|
277
|
+
// "EEEEEEEEEEEEEEEEQQQQQQQQQQQQ";
|
|
278
|
+
//
|
|
279
|
+
// Description of data in this buffer
|
|
280
|
+
// [0x00] Single byte "E"
|
|
281
|
+
// [0x01] Single byte "E"
|
|
282
|
+
// [0x02] Repeat 0x1E bytes from [0x00]
|
|
283
|
+
// [0x20] Single byte "X"
|
|
284
|
+
// [0x21] Single byte "Y"
|
|
285
|
+
// [0x22] Single byte "Z"
|
|
286
|
+
// [0x23] 17 possible previous repetitions of length at least 0x10 bytes:
|
|
287
|
+
// - Repetition of 0x10 bytes from [0x00] "EEEEEEEEEEEEEEEE"
|
|
288
|
+
// - Repetition of 0x10 bytes from [0x01] "EEEEEEEEEEEEEEEE"
|
|
289
|
+
// - Repetition of 0x10 bytes from [0x02] "EEEEEEEEEEEEEEEE"
|
|
290
|
+
// ...
|
|
291
|
+
// - Repetition of 0x10 bytes from [0x0F] "EEEEEEEEEEEEEEEE"
|
|
292
|
+
// - Repetition of 0x1C bytes from [0x10] "EEEEEEEEEEEEEEEEQQQQQQQQQQQQ"
|
|
293
|
+
// The last repetition is the best one.
|
|
294
|
+
//
|
|
295
|
+
|
|
296
|
+
pWork->offs09BC[0] = USHRT_MAX;
|
|
297
|
+
pWork->offs09BC[1] = 0x0000;
|
|
298
|
+
di_val = 0;
|
|
299
|
+
|
|
300
|
+
// Note: I failed to figure out what does the table "offs09BC" mean.
|
|
301
|
+
// If anyone has an idea, let me know to zezula_at_volny_dot_cz
|
|
302
|
+
for(offs_in_rep = 1; offs_in_rep < rep_length; )
|
|
303
|
+
{
|
|
304
|
+
if(input_data[offs_in_rep] != input_data[di_val])
|
|
305
|
+
{
|
|
306
|
+
di_val = pWork->offs09BC[di_val];
|
|
307
|
+
if(di_val != USHRT_MAX)
|
|
308
|
+
continue;
|
|
309
|
+
}
|
|
310
|
+
pWork->offs09BC[++offs_in_rep] = ++di_val;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
//
|
|
314
|
+
// Now go through all the repetitions from the first found one
|
|
315
|
+
// to the current input data, and check if any of them migh be
|
|
316
|
+
// a start of a greater sequence match.
|
|
317
|
+
//
|
|
318
|
+
|
|
319
|
+
prev_repetition = pWork->work_buff + phash_offs[0];
|
|
320
|
+
prev_rep_end = prev_repetition + rep_length;
|
|
321
|
+
rep_length2 = rep_length;
|
|
322
|
+
|
|
323
|
+
for(;;)
|
|
324
|
+
{
|
|
325
|
+
rep_length2 = pWork->offs09BC[rep_length2];
|
|
326
|
+
if(rep_length2 == USHRT_MAX)
|
|
327
|
+
rep_length2 = 0;
|
|
328
|
+
|
|
329
|
+
// Get the pointer to the previous repetition
|
|
330
|
+
phash_offs = pWork->phash_offs + phash_offs_index;
|
|
331
|
+
|
|
332
|
+
// Skip those repetitions that don't reach the end
|
|
333
|
+
// of the first found repetition
|
|
334
|
+
do
|
|
335
|
+
{
|
|
336
|
+
phash_offs++;
|
|
337
|
+
phash_offs_index++;
|
|
338
|
+
prev_repetition = pWork->work_buff + *phash_offs;
|
|
339
|
+
if(prev_repetition >= repetition_limit)
|
|
340
|
+
return rep_length;
|
|
341
|
+
}
|
|
342
|
+
while(prev_repetition + rep_length2 < prev_rep_end);
|
|
343
|
+
|
|
344
|
+
// Verify if the last but one byte from the repetition matches
|
|
345
|
+
// the last but one byte from the input data.
|
|
346
|
+
// If not, find a next repetition
|
|
347
|
+
pre_last_byte = input_data[rep_length - 2];
|
|
348
|
+
if(pre_last_byte == prev_repetition[rep_length - 2])
|
|
349
|
+
{
|
|
350
|
+
// If the new repetition reaches beyond the end
|
|
351
|
+
// of previously found repetition, reset the repetition length to zero.
|
|
352
|
+
if(prev_repetition + rep_length2 != prev_rep_end)
|
|
353
|
+
{
|
|
354
|
+
prev_rep_end = prev_repetition;
|
|
355
|
+
rep_length2 = 0;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
else
|
|
359
|
+
{
|
|
360
|
+
phash_offs = pWork->phash_offs + phash_offs_index;
|
|
361
|
+
do
|
|
362
|
+
{
|
|
363
|
+
phash_offs++;
|
|
364
|
+
phash_offs_index++;
|
|
365
|
+
prev_repetition = pWork->work_buff + *phash_offs;
|
|
366
|
+
if(prev_repetition >= repetition_limit)
|
|
367
|
+
return rep_length;
|
|
368
|
+
}
|
|
369
|
+
while(prev_repetition[rep_length - 2] != pre_last_byte || prev_repetition[0] != input_data[0]);
|
|
370
|
+
|
|
371
|
+
// Reset the length of the repetition to 2 bytes only
|
|
372
|
+
prev_rep_end = prev_repetition + 2;
|
|
373
|
+
rep_length2 = 2;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// Find out how many more characters are equal to the first repetition.
|
|
377
|
+
while(*prev_rep_end == input_data[rep_length2])
|
|
378
|
+
{
|
|
379
|
+
if(++rep_length2 >= MAX_REP_LENGTH)
|
|
380
|
+
break;
|
|
381
|
+
prev_rep_end++;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
// Is the newly found repetion at least as long as the previous one ?
|
|
385
|
+
if(rep_length2 >= rep_length)
|
|
386
|
+
{
|
|
387
|
+
// Calculate the distance of the new repetition
|
|
388
|
+
pWork->distance = (unsigned int)(input_data - prev_repetition - 1);
|
|
389
|
+
if((rep_length = rep_length2) == MAX_REP_LENGTH)
|
|
390
|
+
return rep_length;
|
|
391
|
+
|
|
392
|
+
// Update the additional elements in the "offs09BC" table
|
|
393
|
+
// to reflect new rep length
|
|
394
|
+
while(offs_in_rep < rep_length2)
|
|
395
|
+
{
|
|
396
|
+
if(input_data[offs_in_rep] != input_data[di_val])
|
|
397
|
+
{
|
|
398
|
+
di_val = pWork->offs09BC[di_val];
|
|
399
|
+
if(di_val != USHRT_MAX)
|
|
400
|
+
continue;
|
|
401
|
+
}
|
|
402
|
+
pWork->offs09BC[++offs_in_rep] = ++di_val;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
static void WriteCmpData(TCmpStruct * pWork)
|
|
409
|
+
{
|
|
410
|
+
unsigned char * input_data_end; // Pointer to the end of the input data
|
|
411
|
+
unsigned char * input_data = pWork->work_buff + pWork->dsize_bytes + MAX_REP_LENGTH;
|
|
412
|
+
unsigned int input_data_ended = 0; // If 1, then all data from the input stream have been already loaded
|
|
413
|
+
unsigned int save_rep_length; // Saved length of current repetition
|
|
414
|
+
unsigned int save_distance = 0; // Saved distance of current repetition
|
|
415
|
+
unsigned int rep_length; // Length of the found repetition
|
|
416
|
+
unsigned int phase = 0; //
|
|
417
|
+
|
|
418
|
+
// Store the compression type and dictionary size
|
|
419
|
+
pWork->out_buff[0] = (char)pWork->ctype;
|
|
420
|
+
pWork->out_buff[1] = (char)pWork->dsize_bits;
|
|
421
|
+
pWork->out_bytes = 2;
|
|
422
|
+
|
|
423
|
+
// Reset output buffer to zero
|
|
424
|
+
memset(&pWork->out_buff[2], 0, sizeof(pWork->out_buff) - 2);
|
|
425
|
+
pWork->out_bits = 0;
|
|
426
|
+
|
|
427
|
+
while(input_data_ended == 0)
|
|
428
|
+
{
|
|
429
|
+
unsigned int bytes_to_load = 0x1000;
|
|
430
|
+
int total_loaded = 0;
|
|
431
|
+
int bytes_loaded;
|
|
432
|
+
|
|
433
|
+
// Load the bytes from the input stream, up to 0x1000 bytes
|
|
434
|
+
while(bytes_to_load != 0)
|
|
435
|
+
{
|
|
436
|
+
bytes_loaded = pWork->read_buf((char *)pWork->work_buff + pWork->dsize_bytes + MAX_REP_LENGTH + total_loaded,
|
|
437
|
+
&bytes_to_load,
|
|
438
|
+
pWork->param);
|
|
439
|
+
if(bytes_loaded == 0)
|
|
440
|
+
{
|
|
441
|
+
if(total_loaded == 0 && phase == 0)
|
|
442
|
+
goto __Exit;
|
|
443
|
+
input_data_ended = 1;
|
|
444
|
+
break;
|
|
445
|
+
}
|
|
446
|
+
else
|
|
447
|
+
{
|
|
448
|
+
bytes_to_load -= bytes_loaded;
|
|
449
|
+
total_loaded += bytes_loaded;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
input_data_end = pWork->work_buff + pWork->dsize_bytes + total_loaded;
|
|
454
|
+
if(input_data_ended)
|
|
455
|
+
input_data_end += MAX_REP_LENGTH;
|
|
456
|
+
|
|
457
|
+
//
|
|
458
|
+
// Warning: The end of the buffer passed to "SortBuffer" is actually 2 bytes beyond
|
|
459
|
+
// valid data. It is questionable if this is actually a bug or not,
|
|
460
|
+
// but it might cause the compressed data output to be dependent on random bytes
|
|
461
|
+
// that are in the buffer.
|
|
462
|
+
// To prevent that, the calling application must always zero the compression
|
|
463
|
+
// buffer before passing it to "implode"
|
|
464
|
+
//
|
|
465
|
+
|
|
466
|
+
// Search the PAIR_HASHes of the loaded blocks. Also, include
|
|
467
|
+
// previously compressed data, if any.
|
|
468
|
+
switch(phase)
|
|
469
|
+
{
|
|
470
|
+
case 0:
|
|
471
|
+
SortBuffer(pWork, input_data, input_data_end + 1);
|
|
472
|
+
phase++;
|
|
473
|
+
if(pWork->dsize_bytes != 0x1000)
|
|
474
|
+
phase++;
|
|
475
|
+
break;
|
|
476
|
+
|
|
477
|
+
case 1:
|
|
478
|
+
SortBuffer(pWork, input_data - pWork->dsize_bytes + MAX_REP_LENGTH, input_data_end + 1);
|
|
479
|
+
phase++;
|
|
480
|
+
break;
|
|
481
|
+
|
|
482
|
+
default:
|
|
483
|
+
SortBuffer(pWork, input_data - pWork->dsize_bytes, input_data_end + 1);
|
|
484
|
+
break;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
// Perform the compression of the current block
|
|
488
|
+
while(input_data < input_data_end)
|
|
489
|
+
{
|
|
490
|
+
// Find if the current byte sequence wasn't there before.
|
|
491
|
+
rep_length = FindRep(pWork, input_data);
|
|
492
|
+
while(rep_length != 0)
|
|
493
|
+
{
|
|
494
|
+
// If we found repetition of 2 bytes, that is 0x100 or fuhrter back,
|
|
495
|
+
// don't bother. Storing the distance of 0x100 bytes would actually
|
|
496
|
+
// take more space than storing the 2 bytes as-is.
|
|
497
|
+
if(rep_length == 2 && pWork->distance >= 0x100)
|
|
498
|
+
break;
|
|
499
|
+
|
|
500
|
+
// When we are at the end of the input data, we cannot allow
|
|
501
|
+
// the repetition to go past the end of the input data.
|
|
502
|
+
if(input_data_ended && input_data + rep_length > input_data_end)
|
|
503
|
+
{
|
|
504
|
+
// Shorten the repetition length so that it only covers valid data
|
|
505
|
+
rep_length = (unsigned long)(input_data_end - input_data);
|
|
506
|
+
if(rep_length < 2)
|
|
507
|
+
break;
|
|
508
|
+
|
|
509
|
+
// If we got repetition of 2 bytes, that is 0x100 or more backward, don't bother
|
|
510
|
+
if(rep_length == 2 && pWork->distance >= 0x100)
|
|
511
|
+
break;
|
|
512
|
+
goto __FlushRepetition;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
if(rep_length >= 8 || input_data + 1 >= input_data_end)
|
|
516
|
+
goto __FlushRepetition;
|
|
517
|
+
|
|
518
|
+
// Try to find better repetition 1 byte later.
|
|
519
|
+
// Example: "ARROCKFORT" "AROCKFORT"
|
|
520
|
+
// When "input_data" points to the second string, FindRep
|
|
521
|
+
// returns the occurence of "AR". But there is longer repetition "ROCKFORT",
|
|
522
|
+
// beginning 1 byte after.
|
|
523
|
+
save_rep_length = rep_length;
|
|
524
|
+
save_distance = pWork->distance;
|
|
525
|
+
rep_length = FindRep(pWork, input_data + 1);
|
|
526
|
+
|
|
527
|
+
// Only use the new repetition if it's length is greater than the previous one
|
|
528
|
+
if(rep_length > save_rep_length)
|
|
529
|
+
{
|
|
530
|
+
// If the new repetition if only 1 byte better
|
|
531
|
+
// and the previous distance is less than 0x80 bytes, use the previous repetition
|
|
532
|
+
if(rep_length > save_rep_length + 1 || save_distance > 0x80)
|
|
533
|
+
{
|
|
534
|
+
// Flush one byte, so that input_data will point to the secondary repetition
|
|
535
|
+
OutputBits(pWork, pWork->nChBits[*input_data], pWork->nChCodes[*input_data]);
|
|
536
|
+
input_data++;
|
|
537
|
+
continue;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
// Revert to the previous repetition
|
|
542
|
+
rep_length = save_rep_length;
|
|
543
|
+
pWork->distance = save_distance;
|
|
544
|
+
|
|
545
|
+
__FlushRepetition:
|
|
546
|
+
|
|
547
|
+
OutputBits(pWork, pWork->nChBits[rep_length + 0xFE], pWork->nChCodes[rep_length + 0xFE]);
|
|
548
|
+
if(rep_length == 2)
|
|
549
|
+
{
|
|
550
|
+
OutputBits(pWork, pWork->dist_bits[pWork->distance >> 2],
|
|
551
|
+
pWork->dist_codes[pWork->distance >> 2]);
|
|
552
|
+
OutputBits(pWork, 2, pWork->distance & 3);
|
|
553
|
+
}
|
|
554
|
+
else
|
|
555
|
+
{
|
|
556
|
+
OutputBits(pWork, pWork->dist_bits[pWork->distance >> pWork->dsize_bits],
|
|
557
|
+
pWork->dist_codes[pWork->distance >> pWork->dsize_bits]);
|
|
558
|
+
OutputBits(pWork, pWork->dsize_bits, pWork->dsize_mask & pWork->distance);
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
// Move the begin of the input data by the length of the repetition
|
|
562
|
+
input_data += rep_length;
|
|
563
|
+
goto _00402252;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
// If there was no previous repetition for the current position in the input data,
|
|
567
|
+
// just output the 9-bit literal for the one character
|
|
568
|
+
OutputBits(pWork, pWork->nChBits[*input_data], pWork->nChCodes[*input_data]);
|
|
569
|
+
input_data++;
|
|
570
|
+
_00402252:;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
if(input_data_ended == 0)
|
|
574
|
+
{
|
|
575
|
+
input_data -= 0x1000;
|
|
576
|
+
memmove(pWork->work_buff, pWork->work_buff + 0x1000, pWork->dsize_bytes + MAX_REP_LENGTH);
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
__Exit:
|
|
581
|
+
|
|
582
|
+
// Write the termination literal
|
|
583
|
+
OutputBits(pWork, pWork->nChBits[0x305], pWork->nChCodes[0x305]);
|
|
584
|
+
if(pWork->out_bits != 0)
|
|
585
|
+
pWork->out_bytes++;
|
|
586
|
+
pWork->write_buf(pWork->out_buff, &pWork->out_bytes, pWork->param);
|
|
587
|
+
return;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
//-----------------------------------------------------------------------------
|
|
591
|
+
// Main imploding function
|
|
592
|
+
|
|
593
|
+
unsigned int PKEXPORT implode(
|
|
594
|
+
unsigned int (*read_buf)(char *buf, unsigned int *size, void *param),
|
|
595
|
+
void (*write_buf)(char *buf, unsigned int *size, void *param),
|
|
596
|
+
char *work_buf,
|
|
597
|
+
void *param,
|
|
598
|
+
unsigned int *type,
|
|
599
|
+
unsigned int *dsize)
|
|
600
|
+
{
|
|
601
|
+
TCmpStruct * pWork = (TCmpStruct *)work_buf;
|
|
602
|
+
unsigned int nCount;
|
|
603
|
+
unsigned int i;
|
|
604
|
+
int nCount2;
|
|
605
|
+
|
|
606
|
+
// Fill the work buffer information
|
|
607
|
+
pWork->read_buf = read_buf;
|
|
608
|
+
pWork->write_buf = write_buf;
|
|
609
|
+
pWork->dsize_bytes = *dsize;
|
|
610
|
+
pWork->ctype = *type;
|
|
611
|
+
pWork->param = param;
|
|
612
|
+
pWork->dsize_bits = 4;
|
|
613
|
+
pWork->dsize_mask = 0x0F;
|
|
614
|
+
|
|
615
|
+
// Test dictionary size
|
|
616
|
+
switch(*dsize)
|
|
617
|
+
{
|
|
618
|
+
case CMP_IMPLODE_DICT_SIZE3: // 0x1000 bytes
|
|
619
|
+
pWork->dsize_bits++;
|
|
620
|
+
pWork->dsize_mask |= 0x20;
|
|
621
|
+
// No break here !!!
|
|
622
|
+
|
|
623
|
+
case CMP_IMPLODE_DICT_SIZE2: // 0x800 bytes
|
|
624
|
+
pWork->dsize_bits++;
|
|
625
|
+
pWork->dsize_mask |= 0x10;
|
|
626
|
+
// No break here !!!
|
|
627
|
+
|
|
628
|
+
case CMP_IMPLODE_DICT_SIZE1: // 0x400
|
|
629
|
+
break;
|
|
630
|
+
|
|
631
|
+
default:
|
|
632
|
+
return CMP_INVALID_DICTSIZE;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
// Test the compression type
|
|
636
|
+
switch(*type)
|
|
637
|
+
{
|
|
638
|
+
case CMP_BINARY: // We will compress data with binary compression type
|
|
639
|
+
for(nCount = 0; nCount < 0x100; nCount++)
|
|
640
|
+
{
|
|
641
|
+
pWork->nChBits[nCount] = 9;
|
|
642
|
+
pWork->nChCodes[nCount] = nCount * 2;
|
|
643
|
+
}
|
|
644
|
+
break;
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
case CMP_ASCII: // We will compress data with ASCII compression type
|
|
648
|
+
for(nCount = 0; nCount < 0x100; nCount++)
|
|
649
|
+
{
|
|
650
|
+
pWork->nChBits[nCount] = (unsigned char )(ChBitsAsc[nCount] + 1);
|
|
651
|
+
pWork->nChCodes[nCount] = (unsigned short)(ChCodeAsc[nCount] * 2);
|
|
652
|
+
}
|
|
653
|
+
break;
|
|
654
|
+
|
|
655
|
+
default:
|
|
656
|
+
return CMP_INVALID_MODE;
|
|
657
|
+
}
|
|
658
|
+
|
|
659
|
+
for(i = 0; i < 0x10; i++)
|
|
660
|
+
{
|
|
661
|
+
for(nCount2 = 0; nCount2 < (1 << ExLenBits[i]); nCount2++)
|
|
662
|
+
{
|
|
663
|
+
pWork->nChBits[nCount] = (unsigned char)(ExLenBits[i] + LenBits[i] + 1);
|
|
664
|
+
pWork->nChCodes[nCount] = (unsigned short)((nCount2 << (LenBits[i] + 1)) | ((LenCode[i] & 0xFFFF00FF) * 2) | 1);
|
|
665
|
+
nCount++;
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
// Copy the distance codes and distance bits and perform the compression
|
|
670
|
+
memcpy(&pWork->dist_codes, DistCode, sizeof(DistCode));
|
|
671
|
+
memcpy(&pWork->dist_bits, DistBits, sizeof(DistBits));
|
|
672
|
+
WriteCmpData(pWork);
|
|
673
|
+
return CMP_NO_ERROR;
|
|
674
|
+
}
|