Skip to content

Commit

Permalink
Initial import
Browse files Browse the repository at this point in the history
Things can only get better from here...
  • Loading branch information
jnovack committed Feb 1, 2016
1 parent a8cc71c commit a98eeed
Show file tree
Hide file tree
Showing 8 changed files with 393 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build/
replays/
node_modules/
*.log
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/StormLib"]
path = src/StormLib
url = https://github.com/ladislav-zezula/StormLib
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
StormLib (a NodeJS wrapper)
========

NodeJS wrapper for StormLib (https://github.com/ladislav-zezula/StormLib)

# References

* http://www.zezula.net/en/mpq/stormlib.html
270 changes: 270 additions & 0 deletions binding.gyp
Original file line number Diff line number Diff line change
@@ -0,0 +1,270 @@
{
"targets": [
{
"target_name": "StormLib",
'product_extension': 'node',
"sources": [
"src/StormLib.cpp",

"src/StormLib/src/adpcm/adpcm.cpp",
"src/StormLib/src/huffman/huff.cpp",
"src/StormLib/src/sparse/sparse.cpp",
"src/StormLib/src/FileStream.cpp",
"src/StormLib/src/SBaseCommon.cpp",
"src/StormLib/src/SBaseDumpData.cpp",
"src/StormLib/src/SBaseFileTable.cpp",
"src/StormLib/src/SBaseSubTypes.cpp",
"src/StormLib/src/SCompression.cpp",
"src/StormLib/src/SFileAddFile.cpp",
"src/StormLib/src/SFileAttributes.cpp",
"src/StormLib/src/SFileCompactArchive.cpp",
"src/StormLib/src/SFileCreateArchive.cpp",
"src/StormLib/src/SFileExtractFile.cpp",
"src/StormLib/src/SFileFindFile.cpp",
"src/StormLib/src/SFileGetFileInfo.cpp",
"src/StormLib/src/SFileListFile.cpp",
"src/StormLib/src/SFileOpenArchive.cpp",
"src/StormLib/src/SFileOpenFileEx.cpp",
"src/StormLib/src/SFilePatchArchives.cpp",
"src/StormLib/src/SFileReadFile.cpp",
"src/StormLib/src/SFileVerify.cpp",

"src/StormLib/src/libtomcrypt/src/hashes/sha1.c",
"src/StormLib/src/libtomcrypt/src/hashes/hash_memory.c",
"src/StormLib/src/libtomcrypt/src/hashes/md5.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_hash_is_valid.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_prng_descriptor.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_register_prng.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_find_hash.c",
"src/StormLib/src/libtomcrypt/src/misc/zeromem.c",
"src/StormLib/src/libtomcrypt/src/misc/base64_decode.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_register_hash.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_find_prng.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_prng_is_valid.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_hash_descriptor.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_libc.c",
"src/StormLib/src/libtomcrypt/src/misc/crypt_argchk.c",
"src/StormLib/src/libtomcrypt/src/math/multi.c",
"src/StormLib/src/libtomcrypt/src/math/ltm_desc.c",
"src/StormLib/src/libtomcrypt/src/math/rand_prime.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_bit_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_boolean.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_choice.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_ia5_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_integer.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_object_identifier.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_octet_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_printable_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_ex.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_flexi.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_multi.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_short_integer.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_utctime.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_utf8_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_bit_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_boolean.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_ia5_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_integer.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_object_identifier.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_octet_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_printable_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_sequence_ex.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_sequence_multi.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_set.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_setof.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_short_integer.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_utctime.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_encode_utf8_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_bit_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_boolean.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_ia5_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_integer.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_object_identifier.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_octet_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_printable_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_sequence.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_utctime.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_sequence_free.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_utf8_string.c",
"src/StormLib/src/libtomcrypt/src/pk/asn1/der_length_short_integer.c",
"src/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c",
"src/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c",
"src/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c",
"src/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_map.c",
"src/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_points.c",
"src/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c",
"src/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c",
"src/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c",
"src/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c",
"src/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c",
"src/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c",
"src/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c",
"src/StormLib/src/libtomcrypt/src/pk/rsa/rsa_make_key.c",
"src/StormLib/src/libtomcrypt/src/pk/rsa/rsa_free.c",
"src/StormLib/src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c",
"src/StormLib/src/libtomcrypt/src/pk/rsa/rsa_import.c",
"src/StormLib/src/libtomcrypt/src/pk/rsa/rsa_verify_hash.c",
"src/StormLib/src/libtomcrypt/src/pk/rsa/rsa_sign_hash.c",
"src/StormLib/src/libtomcrypt/src/pk/rsa/rsa_exptmod.c",
"src/StormLib/src/libtommath/bn_mp_exptmod_fast.c",
"src/StormLib/src/libtommath/bn_mp_jacobi.c",
"src/StormLib/src/libtommath/bn_mp_mod.c",
"src/StormLib/src/libtommath/bn_mp_signed_bin_size.c",
"src/StormLib/src/libtommath/bn_mp_invmod.c",
"src/StormLib/src/libtommath/bn_mp_is_square.c",
"src/StormLib/src/libtommath/bn_mp_neg.c",
"src/StormLib/src/libtommath/bn_mp_reduce_2k.c",
"src/StormLib/src/libtommath/bn_mp_xor.c",
"src/StormLib/src/libtommath/bn_mp_karatsuba_mul.c",
"src/StormLib/src/libtommath/bn_mp_dr_setup.c",
"src/StormLib/src/libtommath/bn_mp_mul.c",
"src/StormLib/src/libtommath/bn_mp_init_multi.c",
"src/StormLib/src/libtommath/bn_mp_clear.c",
"src/StormLib/src/libtommath/bn_s_mp_sqr.c",
"src/StormLib/src/libtommath/bn_mp_rshd.c",
"src/StormLib/src/libtommath/bn_s_mp_sub.c",
"src/StormLib/src/libtommath/bn_mp_sub.c",
"src/StormLib/src/libtommath/bn_mp_toradix.c",
"src/StormLib/src/libtommath/bn_mp_reduce.c",
"src/StormLib/src/libtommath/bn_mp_prime_is_prime.c",
"src/StormLib/src/libtommath/bn_mp_prime_next_prime.c",
"src/StormLib/src/libtommath/bn_mp_exptmod.c",
"src/StormLib/src/libtommath/bn_mp_mod_2d.c",
"src/StormLib/src/libtommath/bn_reverse.c",
"src/StormLib/src/libtommath/bn_mp_init.c",
"src/StormLib/src/libtommath/bn_fast_s_mp_sqr.c",
"src/StormLib/src/libtommath/bn_mp_sqr.c",
"src/StormLib/src/libtommath/bn_mp_cnt_lsb.c",
"src/StormLib/src/libtommath/bn_mp_clear_multi.c",
"src/StormLib/src/libtommath/bn_mp_exch.c",
"src/StormLib/src/libtommath/bn_fast_s_mp_mul_digs.c",
"src/StormLib/src/libtommath/bn_mp_grow.c",
"src/StormLib/src/libtommath/bn_mp_read_radix.c",
"src/StormLib/src/libtommath/bn_mp_mul_2.c",
"src/StormLib/src/libtommath/bn_mp_shrink.c",
"src/StormLib/src/libtommath/bn_mp_div_2.c",
"src/StormLib/src/libtommath/bn_fast_mp_invmod.c",
"src/StormLib/src/libtommath/bn_mp_prime_miller_rabin.c",
"src/StormLib/src/libtommath/bn_mp_to_unsigned_bin.c",
"src/StormLib/src/libtommath/bn_mp_prime_rabin_miller_trials.c",
"src/StormLib/src/libtommath/bn_mp_2expt.c",
"src/StormLib/src/libtommath/bn_mp_cmp_mag.c",
"src/StormLib/src/libtommath/bn_mp_to_signed_bin.c",
"src/StormLib/src/libtommath/bn_mp_get_int.c",
"src/StormLib/src/libtommath/bn_mp_montgomery_reduce.c",
"src/StormLib/src/libtommath/bn_mp_dr_reduce.c",
"src/StormLib/src/libtommath/bn_mp_fwrite.c",
"src/StormLib/src/libtommath/bn_mp_and.c",
"src/StormLib/src/libtommath/bn_mp_exteuclid.c",
"src/StormLib/src/libtommath/bn_fast_mp_montgomery_reduce.c",
"src/StormLib/src/libtommath/bn_s_mp_mul_high_digs.c",
"src/StormLib/src/libtommath/bn_mp_reduce_setup.c",
"src/StormLib/src/libtommath/bn_mp_lcm.c",
"src/StormLib/src/libtommath/bn_mp_abs.c",
"src/StormLib/src/libtommath/bn_mp_cmp.c",
"src/StormLib/src/libtommath/bn_mp_submod.c",
"src/StormLib/src/libtommath/bn_mp_div_d.c",
"src/StormLib/src/libtommath/bn_s_mp_mul_digs.c",
"src/StormLib/src/libtommath/bn_mp_mul_d.c",
"src/StormLib/src/libtommath/bn_mp_to_unsigned_bin_n.c",
"src/StormLib/src/libtommath/bn_mp_prime_random_ex.c",
"src/StormLib/src/libtommath/bn_mp_rand.c",
"src/StormLib/src/libtommath/bn_mp_div_2d.c",
"src/StormLib/src/libtommath/bn_mp_addmod.c",
"src/StormLib/src/libtommath/bn_mp_init_copy.c",
"src/StormLib/src/libtommath/bn_mp_read_unsigned_bin.c",
"src/StormLib/src/libtommath/bn_mp_toradix_n.c",
"src/StormLib/src/libtommath/bn_fast_s_mp_mul_high_digs.c",
"src/StormLib/src/libtommath/bn_mp_toom_sqr.c",
"src/StormLib/src/libtommath/bn_mp_to_signed_bin_n.c",
"src/StormLib/src/libtommath/bn_mp_reduce_2k_setup_l.c",
"src/StormLib/src/libtommath/bn_mp_div.c",
"src/StormLib/src/libtommath/bn_prime_tab.c",
"src/StormLib/src/libtommath/bn_mp_karatsuba_sqr.c",
"src/StormLib/src/libtommath/bn_mp_gcd.c",
"src/StormLib/src/libtommath/bn_mp_prime_is_divisible.c",
"src/StormLib/src/libtommath/bn_mp_set_int.c",
"src/StormLib/src/libtommath/bn_mp_prime_fermat.c",
"src/StormLib/src/libtommath/bn_mp_cmp_d.c",
"src/StormLib/src/libtommath/bn_mp_add.c",
"src/StormLib/src/libtommath/bn_mp_sub_d.c",
"src/StormLib/src/libtommath/bn_s_mp_exptmod.c",
"src/StormLib/src/libtommath/bn_mp_init_size.c",
"src/StormLib/src/libtommath/bncore.c",
"src/StormLib/src/libtommath/bn_mp_radix_smap.c",
"src/StormLib/src/libtommath/bn_mp_reduce_2k_l.c",
"src/StormLib/src/libtommath/bn_mp_montgomery_calc_normalization.c",
"src/StormLib/src/libtommath/bn_mp_mod_d.c",
"src/StormLib/src/libtommath/bn_mp_set.c",
"src/StormLib/src/libtommath/bn_mp_or.c",
"src/StormLib/src/libtommath/bn_mp_sqrt.c",
"src/StormLib/src/libtommath/bn_mp_invmod_slow.c",
"src/StormLib/src/libtommath/bn_mp_count_bits.c",
"src/StormLib/src/libtommath/bn_mp_read_signed_bin.c",
"src/StormLib/src/libtommath/bn_mp_div_3.c",
"src/StormLib/src/libtommath/bn_mp_unsigned_bin_size.c",
"src/StormLib/src/libtommath/bn_mp_mulmod.c",
"src/StormLib/src/libtommath/bn_mp_clamp.c",
"src/StormLib/src/libtommath/bn_mp_reduce_2k_setup.c",
"src/StormLib/src/libtommath/bn_mp_toom_mul.c",
"src/StormLib/src/libtommath/bn_mp_montgomery_setup.c",
"src/StormLib/src/libtommath/bn_mp_expt_d.c",
"src/StormLib/src/libtommath/bn_mp_copy.c",
"src/StormLib/src/libtommath/bn_mp_dr_is_modulus.c",
"src/StormLib/src/libtommath/bn_mp_sqrmod.c",
"src/StormLib/src/libtommath/bn_mp_reduce_is_2k_l.c",
"src/StormLib/src/libtommath/bn_mp_mul_2d.c",
"src/StormLib/src/libtommath/bn_mp_fread.c",
"src/StormLib/src/libtommath/bn_mp_init_set.c",
"src/StormLib/src/libtommath/bn_mp_add_d.c",
"src/StormLib/src/libtommath/bn_mp_zero.c",
"src/StormLib/src/libtommath/bn_s_mp_add.c",
"src/StormLib/src/libtommath/bn_mp_radix_size.c",
"src/StormLib/src/libtommath/bn_mp_init_set_int.c",
"src/StormLib/src/libtommath/bn_mp_n_root.c",
"src/StormLib/src/libtommath/bn_mp_lshd.c",
"src/StormLib/src/libtommath/bn_mp_reduce_is_2k.c",
"src/StormLib/src/pklib/implode.c",
"src/StormLib/src/pklib/crc32.c",
"src/StormLib/src/pklib/explode.c",
"src/StormLib/src/zlib/crc32.c",
"src/StormLib/src/zlib/trees.c",
"src/StormLib/src/zlib/compress.c",
"src/StormLib/src/zlib/adler32.c",
"src/StormLib/src/zlib/inftrees.c",
"src/StormLib/src/zlib/inffast.c",
"src/StormLib/src/zlib/deflate.c",
"src/StormLib/src/zlib/inflate.c",
"src/StormLib/src/zlib/zutil.c",
"src/StormLib/src/jenkins/lookup3.c"
],
'include_dirs': [
'src/'
'StormLib/src/',
"<!(node -e \"require('nan')\")"
],
'conditions': [
[ 'OS=="mac"',
{
'cflags': [
'-Wall',
'-D__SYS_BZLIB',
'-D__SYS_ZLIB',
'-D_7ZIP_ST',
'-arch x86_64'
'-shared',
],
'link_settings': {
'libraries': [
'-lbz2',
'-lz',
'-framework Carbon',
]
},
}
]
]
}
]
}
18 changes: 18 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// module.exports = require('./build/Release/StormLib.node');

var bindings = require('bindings')('StormLib');

// 'replay.attributes.events',
// 'replay.details',
// 'replay.game.events',
// 'replay.initData',
// 'replay.load.info',
// 'replay.message.events',
// 'replay.smartcam.events',
// 'replay.sync.events'

var ret = bindings.get('replays/towers-of-doom.StormReplay', 'replay.game.events');
console.log(ret.length);

var ret = bindings.get('replays/towers-of-doom.StormReplay', 'rasdf');
console.log(ret.length);
15 changes: 15 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "StormLib",
"version": "0.0.1",
"description": "NodeJS wrapper for StormLib (https://github.com/ladislav-zezula/StormLib)",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Justin J. Novack <[email protected]>",
"license": "MIT",
"dependencies": {
"bindings": "^1.2.1",
"nan": "^2.2.0"
}
}
1 change: 1 addition & 0 deletions src/StormLib
Submodule StormLib added at f764c5
Loading

0 comments on commit a98eeed

Please sign in to comment.