├── .bzr-builddeb └── default.conf ├── .bzrignore ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md ├── dependabot.yml └── workflows │ └── macos.yml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── CMakeSettings.json ├── COPYING ├── COPYING-3rd ├── README.md ├── StormLib ├── .gitignore ├── CMakeLists.txt ├── Info.plist ├── LICENSE ├── Makefile.linux ├── Makefile.mac ├── PostBuild.bat ├── Premake5.lua ├── Publish.bat ├── Publish_beta.bat ├── README ├── README.md ├── StormLib.bat ├── StormLib.kdev4 ├── StormLib.xcodeproj │ └── project.pbxproj ├── StormLib_vs08.sln ├── StormLib_vs08.vcproj ├── StormLib_vs08_dll.vcproj ├── StormLib_vs08_test.vcproj ├── StormLib_vs15.sln ├── StormLib_vs15.vcxproj ├── StormLib_vs15.vcxproj.filters ├── StormLib_vs15_dll.vcxproj ├── StormLib_vs15_dll.vcxproj.filters ├── StormLib_vs15_test.vcxproj ├── StormLib_vs15_test.vcxproj.filters ├── StormLib_vs17.sln ├── StormLib_vs17.vcxproj ├── StormLib_vs17.vcxproj.filters ├── StormLib_vs17_dll.vcxproj ├── StormLib_vs17_dll.vcxproj.filters ├── StormLib_vs17_test.vcxproj ├── StormLib_vs17_test.vcxproj.filters ├── StormLib_vs19.sln ├── StormLib_vs19.vcxproj ├── StormLib_vs19.vcxproj.filters ├── StormLib_vs19_dll.vcxproj ├── StormLib_vs19_dll.vcxproj.filters ├── StormLib_vs19_test.vcxproj ├── StormLib_vs19_test.vcxproj.filters ├── doc │ ├── History.txt │ ├── The MoPaQ File Format 0.9.txt │ ├── The MoPaQ File Format 1.0.txt │ ├── d3-authenticationcode │ │ ├── d3-authenticationcode-deDE.txt │ │ ├── d3-authenticationcode-enGB.txt │ │ ├── d3-authenticationcode-enSG.txt │ │ ├── d3-authenticationcode-enUS.txt │ │ ├── d3-authenticationcode-esES.txt │ │ ├── d3-authenticationcode-esMX.txt │ │ ├── d3-authenticationcode-frFR.txt │ │ ├── d3-authenticationcode-itIT.txt │ │ ├── d3-authenticationcode-koKR.txt │ │ ├── d3-authenticationcode-plPL.txt │ │ ├── d3-authenticationcode-ptBR.txt │ │ └── d3-authenticationcode-zhTW.txt │ ├── hots-authenticationcode │ │ └── hots-authenticationcode-bgdl.txt │ └── sc2-authenticationcode │ │ ├── sc2-authenticationcode-deDE.txt │ │ ├── sc2-authenticationcode-enGB.txt │ │ ├── sc2-authenticationcode-enUS.txt │ │ ├── sc2-authenticationcode-esES.txt │ │ ├── sc2-authenticationcode-esMX.txt │ │ ├── sc2-authenticationcode-frFR.txt │ │ ├── sc2-authenticationcode-itIT.txt │ │ ├── sc2-authenticationcode-koKR.txt │ │ ├── sc2-authenticationcode-plPL.txt │ │ ├── sc2-authenticationcode-ptBR.txt │ │ ├── sc2-authenticationcode-ruRU.txt │ │ └── sc2-authenticationcode-zhTW.txt ├── make-msvc.bat ├── make.bat ├── makefile.w32 ├── sources ├── src │ ├── DllMain.c │ ├── DllMain.def │ ├── DllMain.rc │ ├── FileStream.cpp │ ├── FileStream.h │ ├── SBaseCommon.cpp │ ├── SBaseDumpData.cpp │ ├── SBaseFileTable.cpp │ ├── SBaseSubTypes.cpp │ ├── SCompression.cpp │ ├── SFileAddFile.cpp │ ├── SFileAttributes.cpp │ ├── SFileCompactArchive.cpp │ ├── SFileCreateArchive.cpp │ ├── SFileExtractFile.cpp │ ├── SFileFindFile.cpp │ ├── SFileGetFileInfo.cpp │ ├── SFileListFile.cpp │ ├── SFileOpenArchive.cpp │ ├── SFileOpenFileEx.cpp │ ├── SFilePatchArchives.cpp │ ├── SFileReadFile.cpp │ ├── SFileVerify.cpp │ ├── StormCommon.h │ ├── StormLib.exp │ ├── StormLib.h │ ├── StormPort.h │ ├── adpcm │ │ ├── adpcm.cpp │ │ └── adpcm.h │ ├── bzip2 │ │ ├── blocksort.c │ │ ├── bzlib.c │ │ ├── bzlib.h │ │ ├── bzlib_private.h │ │ ├── compress.c │ │ ├── crctable.c │ │ ├── decompress.c │ │ ├── huffman.c │ │ └── randtable.c │ ├── huffman │ │ ├── huff.cpp │ │ └── huff.h │ ├── jenkins │ │ ├── lookup.h │ │ └── lookup3.c │ ├── libtomcrypt │ │ └── src │ │ │ ├── hashes │ │ │ ├── hash_memory.c │ │ │ ├── md5.c │ │ │ └── sha1.c │ │ │ ├── headers │ │ │ ├── tomcrypt.h │ │ │ ├── tomcrypt_argchk.h │ │ │ ├── tomcrypt_cfg.h │ │ │ ├── tomcrypt_cipher.h │ │ │ ├── tomcrypt_custom.h │ │ │ ├── tomcrypt_hash.h │ │ │ ├── tomcrypt_mac.h │ │ │ ├── tomcrypt_macros.h │ │ │ ├── tomcrypt_math.h │ │ │ ├── tomcrypt_misc.h │ │ │ ├── tomcrypt_pk.h │ │ │ ├── tomcrypt_pkcs.h │ │ │ └── tomcrypt_prng.h │ │ │ ├── math │ │ │ ├── ltm_desc.c │ │ │ ├── multi.c │ │ │ └── rand_prime.c │ │ │ ├── misc │ │ │ ├── base64_decode.c │ │ │ ├── crypt_argchk.c │ │ │ ├── crypt_find_hash.c │ │ │ ├── crypt_find_prng.c │ │ │ ├── crypt_hash_descriptor.c │ │ │ ├── crypt_hash_is_valid.c │ │ │ ├── crypt_libc.c │ │ │ ├── crypt_ltc_mp_descriptor.c │ │ │ ├── crypt_prng_descriptor.c │ │ │ ├── crypt_prng_is_valid.c │ │ │ ├── crypt_register_hash.c │ │ │ ├── crypt_register_prng.c │ │ │ └── zeromem.c │ │ │ └── pk │ │ │ ├── asn1 │ │ │ ├── der_decode_bit_string.c │ │ │ ├── der_decode_boolean.c │ │ │ ├── der_decode_choice.c │ │ │ ├── der_decode_ia5_string.c │ │ │ ├── der_decode_integer.c │ │ │ ├── der_decode_object_identifier.c │ │ │ ├── der_decode_octet_string.c │ │ │ ├── der_decode_printable_string.c │ │ │ ├── der_decode_sequence_ex.c │ │ │ ├── der_decode_sequence_flexi.c │ │ │ ├── der_decode_sequence_multi.c │ │ │ ├── der_decode_short_integer.c │ │ │ ├── der_decode_utctime.c │ │ │ ├── der_decode_utf8_string.c │ │ │ ├── der_encode_bit_string.c │ │ │ ├── der_encode_boolean.c │ │ │ ├── der_encode_ia5_string.c │ │ │ ├── der_encode_integer.c │ │ │ ├── der_encode_object_identifier.c │ │ │ ├── der_encode_octet_string.c │ │ │ ├── der_encode_printable_string.c │ │ │ ├── der_encode_sequence_ex.c │ │ │ ├── der_encode_sequence_multi.c │ │ │ ├── der_encode_set.c │ │ │ ├── der_encode_setof.c │ │ │ ├── der_encode_short_integer.c │ │ │ ├── der_encode_utctime.c │ │ │ ├── der_encode_utf8_string.c │ │ │ ├── der_length_bit_string.c │ │ │ ├── der_length_boolean.c │ │ │ ├── der_length_ia5_string.c │ │ │ ├── der_length_integer.c │ │ │ ├── der_length_object_identifier.c │ │ │ ├── der_length_octet_string.c │ │ │ ├── der_length_printable_string.c │ │ │ ├── der_length_sequence.c │ │ │ ├── der_length_short_integer.c │ │ │ ├── der_length_utctime.c │ │ │ ├── der_length_utf8_string.c │ │ │ └── der_sequence_free.c │ │ │ ├── ecc │ │ │ ├── ltc_ecc_map.c │ │ │ ├── ltc_ecc_mul2add.c │ │ │ ├── ltc_ecc_mulmod.c │ │ │ ├── ltc_ecc_points.c │ │ │ ├── ltc_ecc_projective_add_point.c │ │ │ └── ltc_ecc_projective_dbl_point.c │ │ │ ├── pkcs1 │ │ │ ├── pkcs_1_mgf1.c │ │ │ ├── pkcs_1_oaep_decode.c │ │ │ ├── pkcs_1_pss_decode.c │ │ │ ├── pkcs_1_pss_encode.c │ │ │ ├── pkcs_1_v1_5_decode.c │ │ │ └── pkcs_1_v1_5_encode.c │ │ │ └── rsa │ │ │ ├── rsa_exptmod.c │ │ │ ├── rsa_free.c │ │ │ ├── rsa_import.c │ │ │ ├── rsa_make_key.c │ │ │ ├── rsa_sign_hash.c │ │ │ ├── rsa_verify_hash.c │ │ │ └── rsa_verify_simple.c │ ├── libtommath │ │ ├── bn_fast_mp_invmod.c │ │ ├── bn_fast_mp_montgomery_reduce.c │ │ ├── bn_fast_s_mp_mul_digs.c │ │ ├── bn_fast_s_mp_mul_high_digs.c │ │ ├── bn_fast_s_mp_sqr.c │ │ ├── bn_mp_2expt.c │ │ ├── bn_mp_abs.c │ │ ├── bn_mp_add.c │ │ ├── bn_mp_add_d.c │ │ ├── bn_mp_addmod.c │ │ ├── bn_mp_and.c │ │ ├── bn_mp_clamp.c │ │ ├── bn_mp_clear.c │ │ ├── bn_mp_clear_multi.c │ │ ├── bn_mp_cmp.c │ │ ├── bn_mp_cmp_d.c │ │ ├── bn_mp_cmp_mag.c │ │ ├── bn_mp_cnt_lsb.c │ │ ├── bn_mp_copy.c │ │ ├── bn_mp_count_bits.c │ │ ├── bn_mp_div.c │ │ ├── bn_mp_div_2.c │ │ ├── bn_mp_div_2d.c │ │ ├── bn_mp_div_3.c │ │ ├── bn_mp_div_d.c │ │ ├── bn_mp_dr_is_modulus.c │ │ ├── bn_mp_dr_reduce.c │ │ ├── bn_mp_dr_setup.c │ │ ├── bn_mp_exch.c │ │ ├── bn_mp_expt_d.c │ │ ├── bn_mp_exptmod.c │ │ ├── bn_mp_exptmod_fast.c │ │ ├── bn_mp_exteuclid.c │ │ ├── bn_mp_fread.c │ │ ├── bn_mp_fwrite.c │ │ ├── bn_mp_gcd.c │ │ ├── bn_mp_get_int.c │ │ ├── bn_mp_grow.c │ │ ├── bn_mp_init.c │ │ ├── bn_mp_init_copy.c │ │ ├── bn_mp_init_multi.c │ │ ├── bn_mp_init_set.c │ │ ├── bn_mp_init_set_int.c │ │ ├── bn_mp_init_size.c │ │ ├── bn_mp_invmod.c │ │ ├── bn_mp_invmod_slow.c │ │ ├── bn_mp_is_square.c │ │ ├── bn_mp_jacobi.c │ │ ├── bn_mp_karatsuba_mul.c │ │ ├── bn_mp_karatsuba_sqr.c │ │ ├── bn_mp_lcm.c │ │ ├── bn_mp_lshd.c │ │ ├── bn_mp_mod.c │ │ ├── bn_mp_mod_2d.c │ │ ├── bn_mp_mod_d.c │ │ ├── bn_mp_montgomery_calc_normalization.c │ │ ├── bn_mp_montgomery_reduce.c │ │ ├── bn_mp_montgomery_setup.c │ │ ├── bn_mp_mul.c │ │ ├── bn_mp_mul_2.c │ │ ├── bn_mp_mul_2d.c │ │ ├── bn_mp_mul_d.c │ │ ├── bn_mp_mulmod.c │ │ ├── bn_mp_n_root.c │ │ ├── bn_mp_neg.c │ │ ├── bn_mp_or.c │ │ ├── bn_mp_prime_fermat.c │ │ ├── bn_mp_prime_is_divisible.c │ │ ├── bn_mp_prime_is_prime.c │ │ ├── bn_mp_prime_miller_rabin.c │ │ ├── bn_mp_prime_next_prime.c │ │ ├── bn_mp_prime_rabin_miller_trials.c │ │ ├── bn_mp_prime_random_ex.c │ │ ├── bn_mp_radix_size.c │ │ ├── bn_mp_radix_smap.c │ │ ├── bn_mp_rand.c │ │ ├── bn_mp_read_radix.c │ │ ├── bn_mp_read_signed_bin.c │ │ ├── bn_mp_read_unsigned_bin.c │ │ ├── bn_mp_reduce.c │ │ ├── bn_mp_reduce_2k.c │ │ ├── bn_mp_reduce_2k_l.c │ │ ├── bn_mp_reduce_2k_setup.c │ │ ├── bn_mp_reduce_2k_setup_l.c │ │ ├── bn_mp_reduce_is_2k.c │ │ ├── bn_mp_reduce_is_2k_l.c │ │ ├── bn_mp_reduce_setup.c │ │ ├── bn_mp_rshd.c │ │ ├── bn_mp_set.c │ │ ├── bn_mp_set_int.c │ │ ├── bn_mp_shrink.c │ │ ├── bn_mp_signed_bin_size.c │ │ ├── bn_mp_sqr.c │ │ ├── bn_mp_sqrmod.c │ │ ├── bn_mp_sqrt.c │ │ ├── bn_mp_sub.c │ │ ├── bn_mp_sub_d.c │ │ ├── bn_mp_submod.c │ │ ├── bn_mp_to_signed_bin.c │ │ ├── bn_mp_to_signed_bin_n.c │ │ ├── bn_mp_to_unsigned_bin.c │ │ ├── bn_mp_to_unsigned_bin_n.c │ │ ├── bn_mp_toom_mul.c │ │ ├── bn_mp_toom_sqr.c │ │ ├── bn_mp_toradix.c │ │ ├── bn_mp_toradix_n.c │ │ ├── bn_mp_unsigned_bin_size.c │ │ ├── bn_mp_xor.c │ │ ├── bn_mp_zero.c │ │ ├── bn_prime_tab.c │ │ ├── bn_reverse.c │ │ ├── bn_s_mp_add.c │ │ ├── bn_s_mp_exptmod.c │ │ ├── bn_s_mp_mul_digs.c │ │ ├── bn_s_mp_mul_high_digs.c │ │ ├── bn_s_mp_sqr.c │ │ ├── bn_s_mp_sub.c │ │ ├── bncore.c │ │ ├── tommath.h │ │ ├── tommath_class.h │ │ └── tommath_superclass.h │ ├── lzma │ │ ├── C │ │ │ ├── LzFind.c │ │ │ ├── LzFind.h │ │ │ ├── LzFindMt.c │ │ │ ├── LzFindMt.h │ │ │ ├── LzHash.h │ │ │ ├── LzmaDec.c │ │ │ ├── LzmaDec.h │ │ │ ├── LzmaEnc.c │ │ │ ├── LzmaEnc.h │ │ │ ├── Threads.c │ │ │ ├── Threads.h │ │ │ └── Types.h │ │ └── info.txt │ ├── pklib │ │ ├── crc32.c │ │ ├── explode.c │ │ ├── implode.c │ │ └── pklib.h │ ├── resource.h │ ├── sparse │ │ ├── sparse.cpp │ │ └── sparse.h │ ├── wdk │ │ ├── sources-cpp.cpp │ │ ├── sources-wdk-bzip2.c │ │ ├── sources-wdk-ltc.c │ │ ├── sources-wdk-lzma.c │ │ ├── sources-wdk-misc.c │ │ ├── sources-wdk-tomcrypt.c │ │ ├── sources-wdk-tommath.c │ │ └── sources-wdk-zlib.c │ └── zlib │ │ ├── adler32.c │ │ ├── compress.c │ │ ├── compress_zlib.c │ │ ├── crc32.c │ │ ├── crc32.h │ │ ├── deflate.c │ │ ├── deflate.h │ │ ├── gzguts.h │ │ ├── inffast.c │ │ ├── inffast.h │ │ ├── inffixed.h │ │ ├── inflate.c │ │ ├── inflate.h │ │ ├── inftrees.c │ │ ├── inftrees.h │ │ ├── trees.c │ │ ├── trees.h │ │ ├── zconf.h │ │ ├── zlib.h │ │ ├── zutil.c │ │ └── zutil.h ├── storm_dll │ ├── Storm_dll.sln │ ├── Storm_dll.vcproj │ ├── storm.lib │ ├── storm_dll.cpp │ ├── storm_dll.def │ ├── storm_dll.h │ ├── storm_test.cpp │ └── storm_test_vs08.vcproj └── test │ ├── Readme.txt │ ├── StormTest.cpp │ └── TLogHelper.cpp ├── appveyor.yml ├── campaigns ├── human-exp │ ├── levelx01h_c.sms │ ├── levelx02h_c.sms │ ├── levelx03h_c.sms │ ├── levelx04h_c.sms │ ├── levelx05h_c.sms │ ├── levelx06h_c.sms │ ├── levelx07h_c.sms │ ├── levelx08h_c.sms │ ├── levelx09h_c.sms │ ├── levelx10h_c.sms │ ├── levelx11h_c.sms │ └── levelx12h_c.sms ├── human │ ├── level01h_c.sms │ ├── level02h_c.sms │ ├── level03h_c.sms │ ├── level04h_c.sms │ ├── level05h_c.sms │ ├── level06h_c.sms │ ├── level07h_c.sms │ ├── level08h_c.sms │ ├── level09h_c.sms │ ├── level10h_c.sms │ ├── level11h_c.sms │ ├── level12h_c.sms │ ├── level13h_c.sms │ └── level14h_c.sms ├── orc-exp │ ├── levelx01o_c.sms │ ├── levelx02o_c.sms │ ├── levelx03o_c.sms │ ├── levelx04o_c.sms │ ├── levelx05o_c.sms │ ├── levelx06o_c.sms │ ├── levelx07o_c.sms │ ├── levelx08o_c.sms │ ├── levelx09o_c.sms │ ├── levelx10o_c.sms │ ├── levelx11o_c.sms │ └── levelx12o_c.sms └── orc │ ├── level01o_c.sms │ ├── level02o_c.sms │ ├── level03o_c.sms │ ├── level04o_c.sms │ ├── level05o_c.sms │ ├── level06o_c.sms │ ├── level07o_c.sms │ ├── level08o_c.sms │ ├── level09o_c.sms │ ├── level10o_c.sms │ ├── level11o_c.sms │ ├── level12o_c.sms │ ├── level13o_c.sms │ └── level14o_c.sms ├── cmake └── modules │ ├── FindMakeNSIS.cmake │ ├── FindStormLib.cmake │ └── FindStratagus.cmake ├── cmake_uninstall.cmake.in ├── contrib ├── 6x12_espruino.png ├── black_title.png ├── cross.png ├── food.png ├── health.png ├── health2.png ├── mana.png ├── mana2.png ├── ore,stone,coal.png ├── red_cross.png ├── score.png └── workers.png ├── debian ├── changelog ├── compat ├── control ├── copyright ├── docs ├── manpages ├── menu ├── po │ ├── POTFILES.in │ └── templates.pot ├── postinst ├── postrm ├── rules └── source │ └── format ├── doc ├── changelog ├── pud-specs.txt ├── pudconvert.6 ├── wargus.6 └── wartool.6 ├── endian.h ├── ico_alt.svg ├── mac ├── Info.plist └── bundle.sh ├── maps ├── fl │ ├── (6)canyon-way.smp │ ├── (6)canyon-way.sms │ ├── (8)rockfort-arena.png │ ├── (8)rockfort-arena.smp │ └── (8)rockfort-arena.sms ├── ftm │ ├── (2)forgotten-forest.png │ ├── (2)forgotten-forest.smp │ ├── (2)forgotten-forest.sms │ ├── (2)less-than-three.smp │ ├── (2)less-than-three.sms │ ├── (2)mushroom-panic.png │ ├── (2)mushroom-panic.smp │ ├── (2)mushroom-panic.sms │ ├── (2)nicks-duel.png │ ├── (2)nicks-duel.smp │ ├── (2)nicks-duel.sms │ ├── (2)one-way-through.png │ ├── (2)one-way-through.smp │ ├── (2)one-way-through.sms │ ├── (4)beethoven-day.png │ ├── (4)beethoven-day.smp │ ├── (4)beethoven-day.sms │ ├── (4)coastal-crusade.smp │ ├── (4)coastal-crusade.sms │ ├── (4)river-crossing.png │ ├── (4)river-crossing.smp │ ├── (4)river-crossing.sms │ ├── (4)rockfort-arena.png │ ├── (4)rockfort-arena.smp │ ├── (4)rockfort-arena.sms │ ├── (4)winter-bloodbath.png │ ├── (4)winter-bloodbath.smp │ ├── (4)winter-bloodbath.sms │ ├── (5)black-flood.png │ ├── (5)black-flood.smp │ ├── (5)black-flood.sms │ ├── (8)darius.png │ ├── (8)darius.smp │ └── (8)darius.sms ├── king │ ├── (4)reticle.png │ ├── (4)reticle.smp │ ├── (4)reticle.sms │ ├── (4)tournament-forest.png │ ├── (4)tournament-forest.smp │ └── (4)tournament-forest.sms └── skirmish │ ├── multiplayer │ ├── (2)timeless-isle.smp.gz │ ├── (2)timeless-isle.sms.gz │ ├── (4)central-park.smp.gz │ ├── (4)central-park.sms.gz │ ├── (4)central-park.txt │ ├── (4)just-land.png │ ├── (4)just-land.smp │ ├── (4)just-land.sms │ ├── (4)lake-in-the-middle.smp.gz │ ├── (4)lake-in-the-middle.sms.gz │ ├── (4)lake-in-the-middle.txt │ ├── (6)many-ways-to-rome.bmp │ ├── (6)many-ways-to-rome.smp.gz │ ├── (6)many-ways-to-rome.sms.gz │ ├── (7)socotra.png │ ├── (7)socotra.smp │ ├── (7)socotra.sms │ ├── (8)farscape2006.png │ ├── (8)farscape2006.pud │ ├── (8)farscape2006.smp.gz │ ├── (8)farscape2006.sms.gz │ ├── (8)farscape2008.smp.gz │ ├── (8)farscape2008.sms.gz │ └── (8)farscape2008.txt │ └── singleplayer │ ├── (2)blick-nach-oben.smp.gz │ ├── (2)blick-nach-oben.sms.gz │ ├── (2)blick-nach-oben.txt │ ├── (2)east-west-conflict.bmp │ ├── (2)east-west-conflict.smp.gz │ ├── (2)east-west-conflict.sms.gz │ ├── (2)east-west-conflict.txt │ ├── (2)king-in-stone.bmp │ ├── (2)king-in-stone.smp.gz │ ├── (2)king-in-stone.sms.gz │ ├── (2)no-mans-land.bmp │ ├── (2)no-mans-land.smp.gz │ ├── (2)no-mans-land.sms.gz │ ├── (2)nord-sued-konflikt.smp.gz │ ├── (2)nord-sued-konflikt.sms.gz │ ├── (2)nord-sued-konflikt.txt │ ├── (2)nordische-seenplatte.smp.gz │ ├── (2)nordische-seenplatte.sms.gz │ ├── (2)nordische-seenplatte.txt │ ├── (2)oily-wars.smp.gz │ ├── (2)oily-wars.sms.gz │ ├── (2)the-right-strategy.bmp │ ├── (2)the-right-strategy.smp.gz │ ├── (2)the-right-strategy.sms.gz │ ├── (2)zeit-fuer-entscheidungen.smp.gz │ ├── (2)zeit-fuer-entscheidungen.sms.gz │ ├── (2)zeit-fuer-entscheidungen.txt │ ├── (3)around-the-sea.bmp │ ├── (3)calculate.bmp │ ├── (3)calculate.smp.gz │ ├── (3)calculate.sms.gz │ ├── (3)calculate.txt │ ├── (3)frosty-rescue.smp.gz │ ├── (3)frosty-rescue.sms.gz │ ├── (3)frosty-rescue.txt │ ├── (3)little-ambush.pud.gz │ ├── (3)little-ambush.txt │ ├── (3)man-on-the-moon.bmp │ ├── (3)man-on-the-moon.smp.gz │ ├── (3)man-on-the-moon.sms.gz │ ├── (3)no-mans-land.smp.gz │ ├── (3)no-mans-land.sms.gz │ ├── (3)no-mans-land.txt │ ├── (3)one-two-three.smp.gz │ ├── (3)one-two-three.sms.gz │ ├── (3)one-two-three.txt │ ├── (3)sea-wars.smp.gz │ ├── (3)sea-wars.sms.gz │ ├── (3)three-frontiers.smp.gz │ ├── (3)three-frontiers.sms.gz │ ├── (4)4-corners.pud.gz │ ├── (4)4-corners.txt │ ├── (4)4-isl.pud.gz │ ├── (4)4-isl.txt │ ├── (4)arctic-goldrush.bmp │ ├── (4)arctic-goldrush.smp.gz │ ├── (4)arctic-goldrush.sms.gz │ ├── (4)chop-the-trees.pud.gz │ ├── (4)chop-the-trees.txt │ ├── (4)circle-hill.bmp │ ├── (4)circle-hill.smp.gz │ ├── (4)circle-hill.sms.gz │ ├── (4)criss_cross.pud.gz │ ├── (4)criss_cross2.pud.gz │ ├── (4)criss_cross2.txt │ ├── (4)east-lakes.bmp │ ├── (4)east-lakes.txt │ ├── (4)green-hell.smp.gz │ ├── (4)green-hell.sms.gz │ ├── (4)green-hell.txt │ ├── (4)holy-forest.bmp │ ├── (4)holy-forest.smp.gz │ ├── (4)holy-forest.sms.gz │ ├── (4)little-island.smp.gz │ ├── (4)little-island.sms.gz │ ├── (4)little-island.txt │ ├── (4)look-around.smp.gz │ ├── (4)look-around.sms.gz │ ├── (4)pathfinders.bmp │ ├── (4)pathfinders.smp.gz │ ├── (4)pathfinders.sms.gz │ ├── (4)scandinavia.pud.gz │ ├── (4)scandinavia.txt │ ├── (4)smile.bmp │ ├── (4)smile.smp.gz │ ├── (4)smile.sms.gz │ ├── (4)smile.txt │ ├── (4)think-like-your-enemy.bmp │ ├── (4)think-like-your-enemy.txt │ ├── (4)tournament-continent.bmp │ ├── (4)tournament-continent.smp.gz │ ├── (4)tournament-continent.sms.gz │ ├── (4)tournament-forest.bmp │ ├── (4)tournament-forest.smp.gz │ ├── (4)tournament-forest.sms.gz │ ├── (4)tournament-islands.bmp │ ├── (4)tournament-islands.smp.gz │ ├── (4)tournament-islands.sms.gz │ ├── (4)what-can-you-do.bmp │ ├── (4)what-can-you-do.smp.gz │ ├── (4)what-can-you-do.sms.gz │ ├── (4)what-can-you-do.txt │ ├── (4)woody-islands.bmp │ ├── (4)woody-islands.smp.gz │ ├── (4)woody-islands.sms.gz │ ├── (4)you-have-to-look-around.bmp │ ├── (4)you-have-to-look-around.smp.gz │ ├── (4)you-have-to-look-around.sms.gz │ ├── (4)you-have-to-look-around.txt │ ├── (5)diablospiral.pud.gz │ ├── (5)diablospiral.txt │ ├── (5)many-ways-to-beat.bmp │ ├── (5)many-ways-to-beat.smp.gz │ ├── (5)many-ways-to-beat.sms.gz │ ├── (5)many-ways-to-beat.txt │ ├── (5)speed-is-the-key.bmp │ ├── (5)speed-is-the-key.smp.gz │ ├── (5)speed-is-the-key.sms.gz │ ├── (5)the-pentagon.bmp │ ├── (5)the-pentagon.smp.gz │ ├── (5)the-pentagon.sms.gz │ ├── (5)the-pentagon.txt │ ├── (5)venedig.bmp │ ├── (5)venedig.smp.gz │ ├── (5)venedig.sms.gz │ ├── (5)venedig.txt │ ├── (6)all-against-the-floods.bmp │ ├── (6)all-against-the-floods.smp.gz │ ├── (6)all-against-the-floods.sms.gz │ ├── (6)all-against-the-floods.txt │ ├── (6)can-you-swim.bmp │ ├── (6)can-you-swim.smp.gz │ ├── (6)can-you-swim.sms.gz │ ├── (6)different-ways.bmp │ ├── (6)different-ways.smp.gz │ ├── (6)different-ways.sms.gz │ ├── (7)many-frontiers.bmp │ ├── (7)many-frontiers.smp.gz │ ├── (7)many-frontiers.sms.gz │ ├── (8)altar-in-the-middle.pud.gz │ ├── (8)altar-in-the-middle.txt │ ├── (8)are-you-lucky.bmp │ ├── (8)are-you-lucky.smp.gz │ ├── (8)are-you-lucky.sms.gz │ ├── (8)are-you-lucky.txt │ ├── (8)death-in-the-rocks.bmp │ ├── (8)death-in-the-rocks.smp.gz │ ├── (8)death-in-the-rocks.sms.gz │ ├── (8)diabloarena.pud.gz │ ├── (8)diabloarena.txt │ ├── (8)diablodarkwood.pud.gz │ ├── (8)diablodarkwood.txt │ ├── (8)diablomaze.pud.gz │ ├── (8)diablomaze.txt │ ├── (8)everywhere.bmp │ ├── (8)everywhere.txt │ ├── (8)fc-deathmatch-plain.pud.gz │ ├── (8)fc-deathmatch-x.pud.gz │ ├── (8)oil-is-the-key.bmp │ ├── (8)oil-is-the-key.smp.gz │ ├── (8)oil-is-the-key.sms.gz │ ├── (8)roads-to-the-coasts.bmp │ ├── (8)roads-to-the-coasts.smp.gz │ ├── (8)roads-to-the-coasts.sms.gz │ ├── (8)roads-to-the-coasts.txt │ ├── (8)tournament-continent.bmp │ ├── (8)tournament-continent.smp.gz │ ├── (8)tournament-continent.sms.gz │ ├── (8)tournament-islands.bmp │ ├── (8)tournament-islands.smp.gz │ └── (8)tournament-islands.sms.gz ├── pud.cpp ├── pud.h ├── pudconvert.cpp ├── release.rb ├── rip_music.h ├── rip_music_unix.cpp ├── rip_music_win32.cpp ├── scripts ├── ai.lua ├── ai │ ├── ai_jadeite_2010.lua │ ├── ai_nephrite_2012.lua │ ├── ai_nephrite_2013.lua │ ├── ai_redribbon_2012.lua │ ├── ai_redribbon_2014.lua │ ├── ai_redribbon_2015.lua │ ├── ai_zoisite_2013.lua │ ├── air_attack.lua │ ├── land_attack.lua │ ├── names.lua │ ├── passive.lua │ └── sea_attack.lua ├── anim.lua ├── buttons.lua ├── cheats.lua ├── commands.lua ├── constructions.lua ├── database.lua ├── directcontrol.lua ├── editor.lua ├── editor │ ├── brushes.lua │ └── brushes │ │ ├── default.lua │ │ ├── ramp-generator.lua │ │ ├── ramp.lua │ │ └── round.lua ├── extract.lua ├── fonts.lua ├── fov.lua ├── guichan.lua ├── human │ ├── anim.lua │ ├── buttons.lua │ ├── campaign1.lua │ ├── campaign2.lua │ ├── constructions.lua │ ├── ui.lua │ ├── ui_pandora.lua │ ├── ui_tales.lua │ ├── units.lua │ └── upgrade.lua ├── icons.lua ├── lib │ ├── classes.lua │ └── layouts.lua ├── lists │ ├── campaigns │ │ ├── Beyond the Dark Portal (Alliance) │ │ ├── Beyond the Dark Portal (Horde) │ │ ├── Tides of Darkness (Alliance) │ │ └── Tides of Darkness (Horde) │ ├── maps │ │ ├── For the Motherland │ │ ├── Front Lines │ │ ├── Random Skirmish │ │ ├── Skirmish Classic │ │ └── Skirmish Modern │ └── mods │ │ ├── Wargus │ │ └── Wargus-Coop-4 ├── menus │ ├── campaign.lua │ ├── compactmode.lua │ ├── credits.lua │ ├── diplomacy.lua │ ├── editor.lua │ ├── endscenario.lua │ ├── game.lua │ ├── help.lua │ ├── load.lua │ ├── network.lua │ ├── objectives.lua │ ├── options.lua │ ├── replay.lua │ ├── results.lua │ └── save.lua ├── missiles.lua ├── multiplayer.lua ├── orc │ ├── anim.lua │ ├── buttons.lua │ ├── campaign1.lua │ ├── campaign2.lua │ ├── constructions.lua │ ├── ui.lua │ ├── ui_pandora.lua │ ├── units.lua │ └── upgrade.lua ├── scripts.lua ├── singleplayer.lua ├── sound.lua ├── spells.lua ├── stratagus.lua ├── tilesets │ ├── summer.lua │ ├── swamp.lua │ ├── tilesetsList.lua │ ├── wargus │ │ ├── extended.lua │ │ ├── layout.lua │ │ ├── summer.lua │ │ ├── swamp.lua │ │ ├── wasteland.lua │ │ └── winter.lua │ ├── wasteland.lua │ └── winter.lua ├── translate │ ├── cz_CZ.po │ ├── de_DE.po │ ├── es_ES.po │ ├── fr_FR.po │ ├── generate_tables.py │ ├── it_IT.po │ ├── ru_RU.po │ ├── stratagus-cz.po │ ├── stratagus-de.po │ ├── stratagus-es.po │ ├── stratagus-fr.po │ ├── stratagus-it.po │ ├── stratagus-ru.po │ └── translate.lua ├── ui.lua ├── units.lua ├── upgrade.lua ├── wc2.lua └── widgets.lua ├── shaders ├── aa-jinc2-sharp.cg.glsl ├── bloom.cg.glsl ├── crt-easymode.cg.glsl ├── crt-reverse-aa.cg.glsl ├── dotmask.cg.glsl ├── tv-highcontrast-hd.cg.glsl └── xbr-lv2.cg.glsl ├── uml └── fc_scripts.md ├── wargus.cpp ├── wargus.desktop.in ├── wargus.h ├── wargus.ico ├── wargus.nsi ├── wargus.png ├── wargus.rc ├── wartool.cpp ├── wartool.h ├── xmi2mid.cpp └── xmi2mid.h /.bzr-builddeb/default.conf: -------------------------------------------------------------------------------- 1 | [BUILDDEB] 2 | split = True 3 | -------------------------------------------------------------------------------- /.bzrignore: -------------------------------------------------------------------------------- 1 | debian/*.debhelper 2 | debian/files 3 | debian/*.log 4 | debian/*.substvars 5 | debian/wargus 6 | obj-* 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. See error 18 | 19 | **Expected behavior** 20 | A clear and concise description of what you expected to happen. 21 | 22 | **Screenshots and Logs** 23 | Add screenshots to help explain your problem. If you encountered the issue inside a game, please add the log from the game (find it in "My Documents/Stratagus/wc2/logs" on Windows or "$HOME/.stratagus/wc2/logs" on Linux). Please also attach your stderr and stdout. If you're on Windows, these will be in "My Documents/Stratagus/std*.txt" 24 | 25 | **Desktop (please complete the following information):** 26 | - OS: [e.g. Windows, Ubuntu, Fedora, Suse, macOS] 27 | - Version [e.g. 3.0.0, 3.0.1, 2.4.3] 28 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Keep GitHub Actions up to date with GitHub's Dependabot... dependabot.yml 2 | # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot 3 | # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem 4 | version: 2 5 | updates: 6 | - package-ecosystem: github-actions 7 | directory: / 8 | groups: 9 | github-actions: 10 | patterns: 11 | - "*" # Group all Actions updates into a single larger pull request 12 | schedule: 13 | interval: weekly 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #Ignore Visual Studio project files 2 | build/ 3 | .vscode/* 4 | **/.DS_Store 5 | .attach_pid* 6 | .gdb_history 7 | a.out 8 | gmon.* 9 | libStorm.* 10 | # midi patches 11 | *.sf2 12 | DoomGUS* 13 | airfont* 14 | Eric_Welsh* 15 | freepats* 16 | FreePats* 17 | MT32 18 | Roland* 19 | SC-55 20 | SGM-V2.01 21 | .idea 22 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "third-party"] 2 | path = third-party 3 | url = https://github.com/Wargus/dependencies 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | compiler: 3 | - gcc 4 | jobs: 5 | include: 6 | - os: linux 7 | dist: focal 8 | # - osx 9 | addons: 10 | apt: 11 | packages: 12 | - libpng-dev 13 | - zlib1g-dev 14 | before_script: 15 | - mkdir build 16 | - cd build 17 | - curl -L https://github.com/Wargus/stratagus/archive/master.zip -O master.zip || true 18 | - unzip master.zip 19 | - cmake $EXTRA_CMAKE_FLAGS -DSTRATAGUS=stratagus -DSTRATAGUS_INCLUDE_DIR="$PWD/stratagus-master/gameheaders" .. 20 | script: make 21 | after_success: 22 | - "if [ $TRAVIS_OS_NAME == osx ]; then \ 23 | if [ $TRAVIS_REPO_SLUG == Wargus/wargus -a \ 24 | $TRAVIS_BRANCH == master -a \ 25 | $TRAVIS_PULL_REQUEST == 'false' ]; then \ 26 | cd $TRAVIS_BUILD_DIR; 27 | git clone https://${GH_TOKEN}@github.com/Wargus/stratagus.wiki.git; 28 | export STRATAGUS=$(pwd)/stratagus.wiki/$TRAVIS_OS_NAME/stratagus; 29 | mac/bundle.sh; 30 | tar czvf Wargus.app.tar.gz mac/Wargus.app; 31 | cp Wargus.app.tar.gz stratagus.wiki/$TRAVIS_OS_NAME/; 32 | cd stratagus.wiki/; 33 | git config --global user.email \"travis-ci@travis.org\"; 34 | git config --global user.name \"Travis CI\"; 35 | git add $TRAVIS_OS_NAME/Wargus.app.tar.gz; 36 | git commit --amend -C HEAD; 37 | git push -fq origin master; 38 | cd ..; 39 | fi; 40 | fi" 41 | -------------------------------------------------------------------------------- /COPYING-3rd: -------------------------------------------------------------------------------- 1 | This software includes 3rd party programs: 2 | 3 | 4 | cdda2wav: 5 | 6 | Cdda2wav is a free compact disc digital audio CDDA grabber originally written for MSDOS, and later ported to Linux. It is distributed under the terms of the GNU GPL. The copyright is held by Heiko Eißfeldt. Cdda2wav has been developed with portability in mind. It runs on a variety of operating systems. 7 | Cdda2wav is part of package cdrtools. 8 | 9 | This software use MinGW 32 bit build for Windows from http://smithii.com/files/cdrtools-2.01-bootcd.ru-w32.zip 10 | 11 | License: GNU GPL 12 | Homepage: http://www.cdda2wav.de/ 13 | 14 | 15 | 16 | ffmpeg: 17 | 18 | ffmpeg is a converter for various multimedia file formats. It is used in this project to convert audio and video files to theora (ogg/ogv) 19 | 20 | This software use official build for Windows from http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-3.3.3-win32-static.zip 21 | 22 | License: GNU LGPL 2.1 (https://www.ffmpeg.org/legal.html) 23 | Homepage: https://www.ffmpeg.org 24 | 25 | -------------------------------------------------------------------------------- /StormLib/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | net.zezula.${PRODUCT_NAME:rfc1034Identifier} 11 | CFBundleName 12 | ${PRODUCT_NAME} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 8.01 21 | 22 | 23 | -------------------------------------------------------------------------------- /StormLib/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 1999-2013 Ladislav Zezula 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /StormLib/PostBuild.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Post-build batch for StormLib project 3 | rem Called as PostBuild.bat $(ProjectName) $(PlatformName) $(ConfigurationName) [vs2008] 4 | rem Example: PostBuild.bat StormLib_dll x64 Debug vs2008 5 | 6 | rem Select build type 7 | if "%1" == "StormLib_dll" goto PostBuild_DLL 8 | if "%1" == "StormLib" goto PostBuild_LIB 9 | goto:eof 10 | 11 | :PostBuild_DLL 12 | 13 | rem Build steps for the DLL. On 32-bit Release version, increment the build number 14 | if not "x%2" == "xWin32" goto:eof 15 | if not "x%3" == "xRelease" goto:eof 16 | PostBuild.exe .\src\DllMain.rc 17 | goto:eof 18 | 19 | :PostBuild_LIB 20 | 21 | rem Set target folders 22 | if "x%2" == "xWin32" set TARGET_DIR_LEVEL2=lib32 23 | if "x%2" == "xx64" set TARGET_DIR_LEVEL2=lib64 24 | if "x%4" == "xvs2008" set TARGET_DIR_LEVEL3=vs2008 25 | 26 | rem Check & create target folder structure 27 | if not exist ..\aaa goto:eof 28 | if not exist ..\aaa\%TARGET_DIR_LEVEL2% md ..\aaa\%TARGET_DIR_LEVEL2% 29 | if not exist ..\aaa\%TARGET_DIR_LEVEL2%\%TARGET_DIR_LEVEL3% md ..\aaa\%TARGET_DIR_LEVEL2%\%TARGET_DIR_LEVEL3% 30 | 31 | rem Copy include and LIB files to the target folder 32 | copy /Y .\src\StormLib.h ..\aaa\inc >nul 33 | copy /Y .\src\StormPort.h ..\aaa\inc >nul 34 | copy /Y .\bin\%1\%2\%3\StormLib???.lib ..\aaa\%TARGET_DIR_LEVEL2%\%TARGET_DIR_LEVEL3% >nul 35 | -------------------------------------------------------------------------------- /StormLib/Publish.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This BAT file updates the ZIP file that is to be uploaded to web 3 | rem Only use when both 32-bit and 64-bit are properly compiled 4 | 5 | set STORMLIB_NAME=stormlib-9.00 6 | 7 | echo Creating %STORMLIB_NAME%.zip ... 8 | cd \Ladik\Appdir 9 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\doc\* 10 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\src\* 11 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\storm_dll\* 12 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\StormLib.xcodeproj\* 13 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\stormlib_dll\* 14 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\test\* 15 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\CMakeLists.txt 16 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\makefile.* 17 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\Info.plist 18 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.bat 19 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.sln 20 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.vcproj 21 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.vcxproj 22 | echo. 23 | 24 | echo Press any key to exit ... 25 | pause >nul 26 | -------------------------------------------------------------------------------- /StormLib/Publish_beta.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem This BAT file updates the ZIP file that is to be uploaded to web 3 | rem Only use when both 32-bit and 64-bit are properly compiled 4 | 5 | set STORMLIB_NAME=stormlib-9.00-beta 6 | 7 | echo Creating %STORMLIB_NAME%.zip ... 8 | cd \Ladik\Appdir 9 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\doc\* 10 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\src\* 11 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\storm_dll\* 12 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\StormLib.xcodeproj\* 13 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\stormlib_dll\* 14 | zip.exe -ur9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\test\* 15 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\CMakeLists.txt 16 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\makefile.* 17 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\Info.plist 18 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.bat 19 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.sln 20 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.vcproj 21 | zip.exe -u9 ..\WWW\web\download\%STORMLIB_NAME%.zip StormLib\*.vcxproj 22 | echo. 23 | 24 | echo Press any key to exit ... 25 | pause >nul 26 | -------------------------------------------------------------------------------- /StormLib/README: -------------------------------------------------------------------------------- 1 | This is official repository for the StomLib library, an open-source project that can work with Blizzard MPQ archives. -------------------------------------------------------------------------------- /StormLib/StormLib.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | rem Post-build batch for StormLib project 3 | rem Called as StormLib.bat $(PlatformName) $(ConfigurationName) 4 | rem Example: StormLib.bat x64 Debug 5 | 6 | if not exist ..\aaa goto exit 7 | 8 | copy src\StormPort.h ..\aaa\inc 9 | copy src\StormLib.h ..\aaa\inc 10 | 11 | if x%1 == xWin32 goto PlatformWin32 12 | if x%1 == xx64 goto PlatformWin64 13 | goto exit 14 | 15 | :PlatformWin32 16 | copy .\bin\StormLib\%1\%2\*.lib ..\aaa\lib32 17 | goto exit 18 | 19 | :PlatformWin64 20 | copy .\bin\StormLib\%1\%2\*.lib ..\aaa\lib64 21 | goto exit 22 | 23 | :exit 24 | -------------------------------------------------------------------------------- /StormLib/StormLib.kdev4: -------------------------------------------------------------------------------- 1 | [Project] 2 | Manager=KDevCMakeManager 3 | Name=StormLib 4 | -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-deDE.txt: -------------------------------------------------------------------------------- 1 | UCMXF6EJY352EFH4XFRXCFH2XC9MQRZK -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-enGB.txt: -------------------------------------------------------------------------------- 1 | MMKVHY48RP7WXP4GHYBQ7SL9J9UNPHBP -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-enSG.txt: -------------------------------------------------------------------------------- 1 | 8MXLWHQ7VGGLTZ9MQZQSFDCLJYET3CPP -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-enUS.txt: -------------------------------------------------------------------------------- 1 | EJ2R5TM6XFE2GUNG5QDGHKQ9UAKPWZSZ -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-esES.txt: -------------------------------------------------------------------------------- 1 | PBGFBE42Z6LNK65UGJQ3WZVMCLP4HQQT -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-esMX.txt: -------------------------------------------------------------------------------- 1 | X7SEJJS9TSGCW5P28EBSC47AJPEY8VU2 -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-frFR.txt: -------------------------------------------------------------------------------- 1 | 5KVBQA8VYE6XRY3DLGC5ZDE4XS4P7YA2 -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-itIT.txt: -------------------------------------------------------------------------------- 1 | 478JD2K56EVNVVY4XX8TDWYT5B8KB254 -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-koKR.txt: -------------------------------------------------------------------------------- 1 | 8TS4VNFQRZTN6YWHE9CHVDH9NVWD474A -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-plPL.txt: -------------------------------------------------------------------------------- 1 | LJ52Z32DF4LZ4ZJJXVKK3AZQA6GABLJB -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-ptBR.txt: -------------------------------------------------------------------------------- 1 | K6BDHY2ECUE2545YKNLBJPVYWHE7XYAG -------------------------------------------------------------------------------- /StormLib/doc/d3-authenticationcode/d3-authenticationcode-zhTW.txt: -------------------------------------------------------------------------------- 1 | 6VWCQTN8V3ZZMRUCZXV8A8CGUX2TAA8H -------------------------------------------------------------------------------- /StormLib/doc/hots-authenticationcode/hots-authenticationcode-bgdl.txt: -------------------------------------------------------------------------------- 1 | S48B6CDTN5XEQAKQDJNDLJBJ73FDFM3U -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-deDE.txt: -------------------------------------------------------------------------------- 1 | Y45MD3CAK4KXSSXHYD9VY64Z8EKJ4XFX -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-enGB.txt: -------------------------------------------------------------------------------- 1 | G8MN8UDG6NA2ANGY6A3DNY82HRGF29ZH -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-enUS.txt: -------------------------------------------------------------------------------- 1 | 3DH5RE5NVM5GTFD85LXGWT6FK859ETR5 -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-esES.txt: -------------------------------------------------------------------------------- 1 | 8WLKUAXE94PFQU4Y249PAZ24N4R4XKTQ -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-esMX.txt: -------------------------------------------------------------------------------- 1 | A34DXX3VHGGXSQBRFE5UFFDXMF9G4G54 -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-frFR.txt: -------------------------------------------------------------------------------- 1 | ZG7J9K938HJEFWPQUA768MA2PFER6EAJ -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-itIT.txt: -------------------------------------------------------------------------------- 1 | NE7CUNNNTVAPXV7E3G2BSVBWGVMW8BL2 -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-koKR.txt: -------------------------------------------------------------------------------- 1 | 3V9E2FTMBM9QQWK7U6MAMWAZWQDB838F -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-plPL.txt: -------------------------------------------------------------------------------- 1 | 2NSFB8MELULJ83U6YHA3UP6K4MQD48L6 -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-ptBR.txt: -------------------------------------------------------------------------------- 1 | QA2TZ9EWZ4CUU8BMB5WXCTY65F9CSW4E -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-ruRU.txt: -------------------------------------------------------------------------------- 1 | VHB378W64BAT9SH7D68VV9NLQDK9YEGT -------------------------------------------------------------------------------- /StormLib/doc/sc2-authenticationcode/sc2-authenticationcode-zhTW.txt: -------------------------------------------------------------------------------- 1 | U3NFQJV4M6GC7KBN9XQJ3BRDN3PLD9NE -------------------------------------------------------------------------------- /StormLib/make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if not "x%WDKDIR%" == "x" goto SELECT_LIB 3 | echo The WDKDIR environment variable is not set 4 | echo Set this variable to your WDK directory (without ending backslash) 5 | echo Example: set WDKDIR C:\WinDDK\6001 6 | pause 7 | goto:eof 8 | 9 | :SELECT_LIB 10 | set PROJECT_DIR=%~dp0 11 | set LIBRARY_NAME=StormLibWDK 12 | 13 | :PREPARE_SOURCES 14 | echo Preparing sources ... 15 | copy .\src\wdk\sources-cpp.cpp . >nul 16 | copy .\src\wdk\sources-wdk-* . >nul 17 | echo. 18 | 19 | :BUILD_LIB_32 20 | echo Building %LIBRARY_NAME%.lib (32-bit) ... 21 | set DDKBUILDENV= 22 | call %WDKDIR%\bin\setenv.bat %WDKDIR%\ fre w2k 23 | cd %PROJECT_DIR% 24 | build.exe -czgw 25 | del buildfre_w2k_x86.log 26 | echo. 27 | 28 | :BUILD_LIB_64 29 | echo Building %LIBRARY_NAME%.lib (64-bit) ... 30 | set DDKBUILDENV= 31 | call %WDKDIR%\bin\setenv.bat %WDKDIR%\ fre x64 WLH 32 | cd %PROJECT_DIR% 33 | build.exe -czgw 34 | del buildfre_wlh_amd64.log 35 | echo. 36 | 37 | :COPY_LIBS 38 | copy /Y .\objfre_wlh_amd64\amd64\%LIBRARY_NAME%.lib ..\aaa\lib64\%LIBRARY_NAME%.lib >nul 39 | copy /Y .\objfre_w2k_x86\i386\%LIBRARY_NAME%.lib ..\aaa\lib32\%LIBRARY_NAME%.lib >nul 40 | copy /Y .\src\StormPort.h ..\aaa\inc >nul 41 | copy /Y .\src\StormLib.h ..\aaa\inc >nul 42 | 43 | :CLEANUP 44 | if exist sources-cpp.cpp del sources-cpp.cpp 45 | if exist sources-wdk-* del sources-wdk-* 46 | if exist build.bat del build.bat 47 | -------------------------------------------------------------------------------- /StormLib/sources: -------------------------------------------------------------------------------- 1 | TARGETNAME=StormLibWDK 2 | TARGETTYPE=LIBRARY 3 | USE_MSVCRT=1 4 | 5 | C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE -DWDK_BUILD 6 | 7 | SOURCES=sources-cpp.cpp \ 8 | sources-wdk-bzip2.c \ 9 | sources-wdk-ltc.c \ 10 | sources-wdk-lzma.c \ 11 | sources-wdk-misc.c \ 12 | sources-wdk-tomcrypt.c \ 13 | sources-wdk-tommath.c \ 14 | sources-wdk-zlib.c 15 | -------------------------------------------------------------------------------- /StormLib/src/DllMain.c: -------------------------------------------------------------------------------- 1 | /*****************************************************************************/ 2 | /* DllMain.c Copyright (c) Ladislav Zezula 2006 */ 3 | /*---------------------------------------------------------------------------*/ 4 | /* Description: DllMain for the StormLib.dll library */ 5 | /*---------------------------------------------------------------------------*/ 6 | /* Date Ver Who Comment */ 7 | /* -------- ---- --- ------- */ 8 | /* 23.11.06 1.00 Lad The first version of DllMain.c */ 9 | /*****************************************************************************/ 10 | 11 | #define WIN32_LEAN_AND_MEAN 12 | #include 13 | 14 | //----------------------------------------------------------------------------- 15 | // DllMain 16 | 17 | BOOL WINAPI DllMain(HINSTANCE hInst, DWORD dwReason, LPVOID lpReserved) 18 | { 19 | UNREFERENCED_PARAMETER(hInst); 20 | UNREFERENCED_PARAMETER(dwReason); 21 | UNREFERENCED_PARAMETER(lpReserved); 22 | 23 | return TRUE; 24 | } 25 | -------------------------------------------------------------------------------- /StormLib/src/StormLib.exp: -------------------------------------------------------------------------------- 1 | # 2 | # Export file for Mac OS X 3 | # Copyright (c) 2009 Sam Wilkins 4 | # swilkins1337@gmail.com 5 | # 6 | 7 | _SFileSetLocale 8 | _SFileGetLocale 9 | 10 | _SFileOpenArchive 11 | _SFileCreateArchive 12 | _SFileFlushArchive 13 | _SFileCloseArchive 14 | 15 | _SFileAddListFile 16 | 17 | _SFileSetCompactCallback 18 | _SFileCompactArchive 19 | 20 | _SFileGetMaxFileCount 21 | _SFileSetMaxFileCount 22 | 23 | _SFileGetAttributes 24 | _SFileSetAttributes 25 | _SFileUpdateFileAttributes 26 | 27 | _SFileOpenPatchArchive 28 | _SFileIsPatchedArchive 29 | 30 | _SFileOpenFileEx 31 | _SFileGetFileSize 32 | _SFileSetFilePointer 33 | _SFileReadFile 34 | _SFileCloseFile 35 | 36 | _SFileHasFile 37 | _SFileGetFileName 38 | _SFileGetFileInfo 39 | 40 | _SFileExtractFile 41 | 42 | _SFileVerifyFile 43 | _SFileVerifyRawData 44 | _SFileVerifyArchive 45 | 46 | _SFileFindFirstFile 47 | _SFileFindNextFile 48 | _SFileFindClose 49 | 50 | _SListFileFindFirstFile 51 | _SListFileFindNextFile 52 | _SListFileFindClose 53 | 54 | _SFileEnumLocales 55 | 56 | _SFileCreateFile 57 | _SFileWriteFile 58 | _SFileFinishFile 59 | _SFileAddFileEx 60 | _SFileAddFile 61 | _SFileAddWave 62 | _SFileRemoveFile 63 | _SFileRenameFile 64 | _SFileSetFileLocale 65 | _SFileSetDataCompression 66 | _SFileSetAddFileCallback 67 | 68 | _SCompImplode 69 | _SCompExplode 70 | _SCompCompress 71 | _SCompDecompress 72 | 73 | _SetLastError 74 | _GetLastError 75 | -------------------------------------------------------------------------------- /StormLib/src/adpcm/adpcm.h: -------------------------------------------------------------------------------- 1 | /*****************************************************************************/ 2 | /* adpcm.h Copyright (c) Ladislav Zezula 2003 */ 3 | /*---------------------------------------------------------------------------*/ 4 | /* Header file for adpcm decompress functions */ 5 | /*---------------------------------------------------------------------------*/ 6 | /* Date Ver Who Comment */ 7 | /* -------- ---- --- ------- */ 8 | /* 31.03.03 1.00 Lad The first version of adpcm.h */ 9 | /*****************************************************************************/ 10 | 11 | #ifndef __ADPCM_H__ 12 | #define __ADPCM_H__ 13 | 14 | //----------------------------------------------------------------------------- 15 | // Defines 16 | 17 | #define MAX_ADPCM_CHANNEL_COUNT 2 18 | #define INITIAL_ADPCM_STEP_INDEX 0x2C 19 | 20 | //----------------------------------------------------------------------------- 21 | // Public functions 22 | 23 | int CompressADPCM (void * pvOutBuffer, int dwOutLength, void * pvInBuffer, int dwInLength, int nCmpType, int ChannelCount); 24 | int DecompressADPCM(void * pvOutBuffer, int dwOutLength, void * pvInBuffer, int dwInLength, int ChannelCount); 25 | 26 | #endif // __ADPCM_H__ 27 | -------------------------------------------------------------------------------- /StormLib/src/jenkins/lookup.h: -------------------------------------------------------------------------------- 1 | #ifndef __LOOKUP3_H__ 2 | #define __LOOKUP3_H__ 3 | 4 | #ifdef WIN32 5 | typedef unsigned char uint8_t; 6 | typedef unsigned short uint16_t; 7 | typedef unsigned int uint32_t; 8 | #else 9 | #include /* defines uint32_t etc */ 10 | #endif 11 | 12 | #ifdef __cplusplus 13 | extern "C" 14 | { 15 | #endif 16 | 17 | uint32_t hashlittle(const void *key, size_t length, uint32_t initval); 18 | void hashlittle2(const void *key, size_t length, uint32_t *pc, uint32_t *pb); 19 | 20 | #ifdef __cplusplus 21 | } 22 | #endif 23 | 24 | #endif // __LOOKUP3_H__ 25 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/headers/tomcrypt_argchk.h: -------------------------------------------------------------------------------- 1 | /* Defines the LTC_ARGCHK macro used within the library */ 2 | /* ARGTYPE is defined in mycrypt_cfg.h */ 3 | #if ARGTYPE == 0 4 | 5 | #include 6 | 7 | /* this is the default LibTomCrypt macro */ 8 | void crypt_argchk(char *v, char *s, int d); 9 | #define LTC_ARGCHK(x) if (!(x)) { crypt_argchk(#x, __FILE__, __LINE__); } 10 | #define LTC_ARGCHKVD(x) LTC_ARGCHK(x) 11 | 12 | #elif ARGTYPE == 1 13 | 14 | /* fatal type of error */ 15 | #define LTC_ARGCHK(x) assert((x)) 16 | #define LTC_ARGCHKVD(x) LTC_ARGCHK(x) 17 | 18 | #elif ARGTYPE == 2 19 | 20 | #define LTC_ARGCHK(x) if (!(x)) { fprintf(stderr, "\nwarning: ARGCHK failed at %s:%d\n", __FILE__, __LINE__); } 21 | #define LTC_ARGCHKVD(x) LTC_ARGCHK(x) 22 | 23 | #elif ARGTYPE == 3 24 | 25 | #define LTC_ARGCHK(x) 26 | #define LTC_ARGCHKVD(x) LTC_ARGCHK(x) 27 | 28 | #elif ARGTYPE == 4 29 | 30 | #define LTC_ARGCHK(x) if (!(x)) return CRYPT_INVALID_ARG; 31 | #define LTC_ARGCHKVD(x) if (!(x)) return; 32 | 33 | #endif 34 | 35 | 36 | /* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_argchk.h,v $ */ 37 | /* $Revision: 1.5 $ */ 38 | /* $Date: 2006/08/27 20:50:21 $ */ 39 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/headers/tomcrypt_misc.h: -------------------------------------------------------------------------------- 1 | /* ---- LTC_BASE64 Routines ---- */ 2 | #ifdef LTC_BASE64 3 | int base64_encode(const unsigned char *in, unsigned long len, 4 | unsigned char *out, unsigned long *outlen); 5 | 6 | int base64_decode(const unsigned char *in, unsigned long len, 7 | unsigned char *out, unsigned long *outlen); 8 | #endif 9 | 10 | /* ---- MEM routines ---- */ 11 | void zeromem(void *dst, size_t len); 12 | void burn_stack(unsigned long len); 13 | 14 | const char *error_to_string(int err); 15 | 16 | extern const char *crypt_build_settings; 17 | 18 | /* ---- HMM ---- */ 19 | int crypt_fsa(void *mp, ...); 20 | 21 | /* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_misc.h,v $ */ 22 | /* $Revision: 1.5 $ */ 23 | /* $Date: 2007/05/12 14:32:35 $ */ 24 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_argchk.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | #include 13 | 14 | /** 15 | @file crypt_argchk.c 16 | Perform argument checking, Tom St Denis 17 | */ 18 | 19 | #if (ARGTYPE == 0) 20 | void crypt_argchk(char *v, char *s, int d) 21 | { 22 | fprintf(stderr, "LTC_ARGCHK '%s' failure on line %d of file %s\n", 23 | v, d, s); 24 | (void)raise(SIGABRT); 25 | } 26 | #endif 27 | 28 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_argchk.c,v $ */ 29 | /* $Revision: 1.5 $ */ 30 | /* $Date: 2006/12/28 01:27:24 $ */ 31 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_find_hash.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | /** 14 | @file crypt_find_hash.c 15 | Find a hash, Tom St Denis 16 | */ 17 | 18 | /** 19 | Find a registered hash by name 20 | @param name The name of the hash to look for 21 | @return >= 0 if found, -1 if not present 22 | */ 23 | int find_hash(const char *name) 24 | { 25 | int x; 26 | LTC_ARGCHK(name != NULL); 27 | LTC_MUTEX_LOCK(<c_hash_mutex); 28 | for (x = 0; x < TAB_SIZE; x++) { 29 | if (hash_descriptor[x].name != NULL && XSTRCMP(hash_descriptor[x].name, name) == 0) { 30 | LTC_MUTEX_UNLOCK(<c_hash_mutex); 31 | return x; 32 | } 33 | } 34 | LTC_MUTEX_UNLOCK(<c_hash_mutex); 35 | return -1; 36 | } 37 | 38 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_hash.c,v $ */ 39 | /* $Revision: 1.7 $ */ 40 | /* $Date: 2006/12/28 01:27:24 $ */ 41 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_find_prng.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | /** 14 | @file crypt_find_prng.c 15 | Find a PRNG, Tom St Denis 16 | */ 17 | 18 | /** 19 | Find a registered PRNG by name 20 | @param name The name of the PRNG to look for 21 | @return >= 0 if found, -1 if not present 22 | */ 23 | int find_prng(const char *name) 24 | { 25 | int x; 26 | LTC_ARGCHK(name != NULL); 27 | LTC_MUTEX_LOCK(<c_prng_mutex); 28 | for (x = 0; x < TAB_SIZE; x++) { 29 | if ((prng_descriptor[x].name != NULL) && XSTRCMP(prng_descriptor[x].name, name) == 0) { 30 | LTC_MUTEX_UNLOCK(<c_prng_mutex); 31 | return x; 32 | } 33 | } 34 | LTC_MUTEX_UNLOCK(<c_prng_mutex); 35 | return -1; 36 | } 37 | 38 | 39 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_find_prng.c,v $ */ 40 | /* $Revision: 1.7 $ */ 41 | /* $Date: 2006/12/28 01:27:24 $ */ 42 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_hash_descriptor.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | /** 14 | @file crypt_hash_descriptor.c 15 | Stores the hash descriptor table, Tom St Denis 16 | */ 17 | 18 | struct ltc_hash_descriptor hash_descriptor[TAB_SIZE] = { 19 | { NULL, 0, 0, 0, { 0 }, 0, NULL, NULL, NULL, NULL, NULL } 20 | }; 21 | 22 | LTC_MUTEX_GLOBAL(ltc_hash_mutex) 23 | 24 | 25 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_hash_descriptor.c,v $ */ 26 | /* $Revision: 1.10 $ */ 27 | /* $Date: 2006/12/28 01:27:24 $ */ 28 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_hash_is_valid.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | /** 14 | @file crypt_hash_is_valid.c 15 | Determine if hash is valid, Tom St Denis 16 | */ 17 | 18 | /* 19 | Test if a hash index is valid 20 | @param idx The index of the hash to search for 21 | @return CRYPT_OK if valid 22 | */ 23 | int hash_is_valid(int idx) 24 | { 25 | LTC_MUTEX_LOCK(<c_hash_mutex); 26 | if (idx < 0 || idx >= TAB_SIZE || hash_descriptor[idx].name == NULL) { 27 | LTC_MUTEX_UNLOCK(<c_hash_mutex); 28 | return CRYPT_INVALID_HASH; 29 | } 30 | LTC_MUTEX_UNLOCK(<c_hash_mutex); 31 | return CRYPT_OK; 32 | } 33 | 34 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_hash_is_valid.c,v $ */ 35 | /* $Revision: 1.6 $ */ 36 | /* $Date: 2006/12/28 01:27:24 $ */ 37 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | ltc_math_descriptor ltc_mp = {0}; 14 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_prng_descriptor.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | /** 14 | @file crypt_prng_descriptor.c 15 | Stores the PRNG descriptors, Tom St Denis 16 | */ 17 | struct ltc_prng_descriptor prng_descriptor[TAB_SIZE] = { 18 | { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } 19 | }; 20 | 21 | LTC_MUTEX_GLOBAL(ltc_prng_mutex) 22 | 23 | 24 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_prng_descriptor.c,v $ */ 25 | /* $Revision: 1.8 $ */ 26 | /* $Date: 2006/12/28 01:27:24 $ */ 27 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/crypt_prng_is_valid.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | /** 14 | @file crypt_prng_is_valid.c 15 | Determine if PRNG is valid, Tom St Denis 16 | */ 17 | 18 | /* 19 | Test if a PRNG index is valid 20 | @param idx The index of the PRNG to search for 21 | @return CRYPT_OK if valid 22 | */ 23 | int prng_is_valid(int idx) 24 | { 25 | LTC_MUTEX_LOCK(<c_prng_mutex); 26 | if (idx < 0 || idx >= TAB_SIZE || prng_descriptor[idx].name == NULL) { 27 | LTC_MUTEX_UNLOCK(<c_prng_mutex); 28 | return CRYPT_INVALID_PRNG; 29 | } 30 | LTC_MUTEX_UNLOCK(<c_prng_mutex); 31 | return CRYPT_OK; 32 | } 33 | 34 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/crypt/crypt_prng_is_valid.c,v $ */ 35 | /* $Revision: 1.6 $ */ 36 | /* $Date: 2006/12/28 01:27:24 $ */ 37 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/misc/zeromem.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../headers/tomcrypt.h" 12 | 13 | /** 14 | @file zeromem.c 15 | Zero a block of memory, Tom St Denis 16 | */ 17 | 18 | /** 19 | Zero a block of memory 20 | @param out The destination of the area to zero 21 | @param outlen The length of the area to zero (octets) 22 | */ 23 | void zeromem(void *out, size_t outlen) 24 | { 25 | unsigned char *mem = out; 26 | LTC_ARGCHKVD(out != NULL); 27 | while (outlen-- > 0) { 28 | *mem++ = 0; 29 | } 30 | } 31 | 32 | /* $Source: /cvs/libtom/libtomcrypt/src/misc/zeromem.c,v $ */ 33 | /* $Revision: 1.7 $ */ 34 | /* $Date: 2006/12/28 01:27:24 $ */ 35 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/pk/asn1/der_decode_boolean.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../../headers/tomcrypt.h" 12 | 13 | /** 14 | @file der_decode_boolean.c 15 | ASN.1 DER, decode a BOOLEAN, Tom St Denis 16 | */ 17 | 18 | 19 | #ifdef LTC_DER 20 | 21 | /** 22 | Read a BOOLEAN 23 | @param in The destination for the DER encoded BOOLEAN 24 | @param inlen The size of the DER BOOLEAN 25 | @param out [out] The boolean to decode 26 | @return CRYPT_OK if successful 27 | */ 28 | int der_decode_boolean(const unsigned char *in, unsigned long inlen, 29 | int *out) 30 | { 31 | LTC_ARGCHK(in != NULL); 32 | LTC_ARGCHK(out != NULL); 33 | 34 | if (inlen != 3 || in[0] != 0x01 || in[1] != 0x01 || (in[2] != 0x00 && in[2] != 0xFF)) { 35 | return CRYPT_INVALID_ARG; 36 | } 37 | 38 | *out = (in[2]==0xFF) ? 1 : 0; 39 | 40 | return CRYPT_OK; 41 | } 42 | 43 | #endif 44 | 45 | /* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/boolean/der_decode_boolean.c,v $ */ 46 | /* $Revision: 1.2 $ */ 47 | /* $Date: 2006/12/28 01:27:24 $ */ 48 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/pk/asn1/der_encode_boolean.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../../headers/tomcrypt.h" 12 | 13 | /** 14 | @file der_encode_boolean.c 15 | ASN.1 DER, encode a BOOLEAN, Tom St Denis 16 | */ 17 | 18 | 19 | #ifdef LTC_DER 20 | 21 | /** 22 | Store a BOOLEAN 23 | @param in The boolean to encode 24 | @param out [out] The destination for the DER encoded BOOLEAN 25 | @param outlen [in/out] The max size and resulting size of the DER BOOLEAN 26 | @return CRYPT_OK if successful 27 | */ 28 | int der_encode_boolean(int in, 29 | unsigned char *out, unsigned long *outlen) 30 | { 31 | LTC_ARGCHK(outlen != NULL); 32 | LTC_ARGCHK(out != NULL); 33 | 34 | if (*outlen < 3) { 35 | *outlen = 3; 36 | return CRYPT_BUFFER_OVERFLOW; 37 | } 38 | 39 | *outlen = 3; 40 | out[0] = 0x01; 41 | out[1] = 0x01; 42 | out[2] = in ? 0xFF : 0x00; 43 | 44 | return CRYPT_OK; 45 | } 46 | 47 | #endif 48 | 49 | /* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/boolean/der_encode_boolean.c,v $ */ 50 | /* $Revision: 1.4 $ */ 51 | /* $Date: 2006/12/28 01:27:24 $ */ 52 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/pk/asn1/der_length_boolean.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../../headers/tomcrypt.h" 12 | 13 | /** 14 | @file der_length_boolean.c 15 | ASN.1 DER, get length of a BOOLEAN, Tom St Denis 16 | */ 17 | 18 | #ifdef LTC_DER 19 | /** 20 | Gets length of DER encoding of a BOOLEAN 21 | @param outlen [out] The length of the DER encoding 22 | @return CRYPT_OK if successful 23 | */ 24 | int der_length_boolean(unsigned long *outlen) 25 | { 26 | LTC_ARGCHK(outlen != NULL); 27 | *outlen = 3; 28 | return CRYPT_OK; 29 | } 30 | 31 | #endif 32 | 33 | /* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/boolean/der_length_boolean.c,v $ */ 34 | /* $Revision: 1.3 $ */ 35 | /* $Date: 2006/12/28 01:27:24 $ */ 36 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/pk/asn1/der_length_utctime.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../../headers/tomcrypt.h" 12 | 13 | /** 14 | @file der_length_utctime.c 15 | ASN.1 DER, get length of UTCTIME, Tom St Denis 16 | */ 17 | 18 | #ifdef LTC_DER 19 | 20 | /** 21 | Gets length of DER encoding of UTCTIME 22 | @param utctime The UTC time structure to get the size of 23 | @param outlen [out] The length of the DER encoding 24 | @return CRYPT_OK if successful 25 | */ 26 | int der_length_utctime(ltc_utctime *utctime, unsigned long *outlen) 27 | { 28 | LTC_ARGCHK(outlen != NULL); 29 | LTC_ARGCHK(utctime != NULL); 30 | 31 | if (utctime->off_hh == 0 && utctime->off_mm == 0) { 32 | /* we encode as YYMMDDhhmmssZ */ 33 | *outlen = 2 + 13; 34 | } else { 35 | /* we encode as YYMMDDhhmmss{+|-}hh'mm' */ 36 | *outlen = 2 + 17; 37 | } 38 | 39 | return CRYPT_OK; 40 | } 41 | 42 | #endif 43 | 44 | /* $Source: /cvs/libtom/libtomcrypt/src/pk/asn1/der/utctime/der_length_utctime.c,v $ */ 45 | /* $Revision: 1.5 $ */ 46 | /* $Date: 2006/12/28 01:27:24 $ */ 47 | -------------------------------------------------------------------------------- /StormLib/src/libtomcrypt/src/pk/rsa/rsa_free.c: -------------------------------------------------------------------------------- 1 | /* LibTomCrypt, modular cryptographic library -- Tom St Denis 2 | * 3 | * LibTomCrypt is a library that provides various cryptographic 4 | * algorithms in a highly modular and flexible manner. 5 | * 6 | * The library is free for all purposes without any express 7 | * guarantee it works. 8 | * 9 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 10 | */ 11 | #include "../../headers/tomcrypt.h" 12 | 13 | /** 14 | @file rsa_free.c 15 | Free an RSA key, Tom St Denis 16 | */ 17 | 18 | #ifdef LTC_MRSA 19 | 20 | /** 21 | Free an RSA key from memory 22 | @param key The RSA key to free 23 | */ 24 | void rsa_free(rsa_key *key) 25 | { 26 | LTC_ARGCHKVD(key != NULL); 27 | mp_clear_multi(key->e, key->d, key->N, key->dQ, key->dP, key->qP, key->p, key->q, NULL); 28 | } 29 | 30 | #endif 31 | 32 | /* $Source: /cvs/libtom/libtomcrypt/src/pk/rsa/rsa_free.c,v $ */ 33 | /* $Revision: 1.10 $ */ 34 | /* $Date: 2007/05/12 14:32:35 $ */ 35 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_2expt.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_2EXPT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* computes a = 2**b 19 | * 20 | * Simple algorithm which zeroes the int, grows it then just sets one bit 21 | * as required. 22 | */ 23 | int 24 | mp_2expt (mp_int * a, int b) 25 | { 26 | int res; 27 | 28 | /* zero a as per default */ 29 | mp_zero (a); 30 | 31 | /* grow a to accomodate the single bit */ 32 | if ((res = mp_grow (a, b / DIGIT_BIT + 1)) != MP_OKAY) { 33 | return res; 34 | } 35 | 36 | /* set the used count of where the bit will go */ 37 | a->used = b / DIGIT_BIT + 1; 38 | 39 | /* put the single bit in its place */ 40 | a->dp[b / DIGIT_BIT] = ((mp_digit)1) << (b % DIGIT_BIT); 41 | 42 | return MP_OKAY; 43 | } 44 | #endif 45 | 46 | /* $Source: /cvs/libtom/libtommath/bn_mp_2expt.c,v $ */ 47 | /* $Revision: 1.4 $ */ 48 | /* $Date: 2006/12/28 01:25:13 $ */ 49 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_abs.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_ABS_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* b = |a| 19 | * 20 | * Simple function copies the input and fixes the sign to positive 21 | */ 22 | int 23 | mp_abs (mp_int * a, mp_int * b) 24 | { 25 | int res; 26 | 27 | /* copy a to b */ 28 | if (a != b) { 29 | if ((res = mp_copy (a, b)) != MP_OKAY) { 30 | return res; 31 | } 32 | } 33 | 34 | /* force the sign of b to positive */ 35 | b->sign = MP_ZPOS; 36 | 37 | return MP_OKAY; 38 | } 39 | #endif 40 | 41 | /* $Source: /cvs/libtom/libtommath/bn_mp_abs.c,v $ */ 42 | /* $Revision: 1.4 $ */ 43 | /* $Date: 2006/12/28 01:25:13 $ */ 44 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_addmod.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_ADDMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* d = a + b (mod c) */ 19 | int 20 | mp_addmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) 21 | { 22 | int res; 23 | mp_int t; 24 | 25 | if ((res = mp_init (&t)) != MP_OKAY) { 26 | return res; 27 | } 28 | 29 | if ((res = mp_add (a, b, &t)) != MP_OKAY) { 30 | mp_clear (&t); 31 | return res; 32 | } 33 | res = mp_mod (&t, c, d); 34 | mp_clear (&t); 35 | return res; 36 | } 37 | #endif 38 | 39 | /* $Source: /cvs/libtom/libtommath/bn_mp_addmod.c,v $ */ 40 | /* $Revision: 1.4 $ */ 41 | /* $Date: 2006/12/28 01:25:13 $ */ 42 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_clamp.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_CLAMP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* trim unused digits 19 | * 20 | * This is used to ensure that leading zero digits are 21 | * trimed and the leading "used" digit will be non-zero 22 | * Typically very fast. Also fixes the sign if there 23 | * are no more leading digits 24 | */ 25 | void 26 | mp_clamp (mp_int * a) 27 | { 28 | /* decrease used while the most significant digit is 29 | * zero. 30 | */ 31 | while (a->used > 0 && a->dp[a->used - 1] == 0) { 32 | --(a->used); 33 | } 34 | 35 | /* reset the sign flag if used == 0 */ 36 | if (a->used == 0) { 37 | a->sign = MP_ZPOS; 38 | } 39 | } 40 | #endif 41 | 42 | /* $Source: /cvs/libtom/libtommath/bn_mp_clamp.c,v $ */ 43 | /* $Revision: 1.4 $ */ 44 | /* $Date: 2006/12/28 01:25:13 $ */ 45 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_clear.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_CLEAR_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* clear one (frees) */ 19 | void 20 | mp_clear (mp_int * a) 21 | { 22 | int i; 23 | 24 | /* only do anything if a hasn't been freed previously */ 25 | if (a->dp != NULL) { 26 | /* first zero the digits */ 27 | for (i = 0; i < a->used; i++) { 28 | a->dp[i] = 0; 29 | } 30 | 31 | /* free ram */ 32 | XFREE(a->dp); 33 | 34 | /* reset members to make debugging easier */ 35 | a->dp = NULL; 36 | a->alloc = a->used = 0; 37 | a->sign = MP_ZPOS; 38 | } 39 | } 40 | #endif 41 | 42 | /* $Source: /cvs/libtom/libtommath/bn_mp_clear.c,v $ */ 43 | /* $Revision: 1.4 $ */ 44 | /* $Date: 2006/12/28 01:25:13 $ */ 45 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_clear_multi.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_CLEAR_MULTI_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | #include 18 | 19 | void mp_clear_multi(mp_int *mp, ...) 20 | { 21 | mp_int* next_mp = mp; 22 | va_list args; 23 | va_start(args, mp); 24 | while (next_mp != NULL) { 25 | mp_clear(next_mp); 26 | next_mp = va_arg(args, mp_int*); 27 | } 28 | va_end(args); 29 | } 30 | #endif 31 | 32 | /* $Source: /cvs/libtom/libtommath/bn_mp_clear_multi.c,v $ */ 33 | /* $Revision: 1.4 $ */ 34 | /* $Date: 2006/12/28 01:25:13 $ */ 35 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_cmp.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_CMP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* compare two ints (signed)*/ 19 | int 20 | mp_cmp (mp_int * a, mp_int * b) 21 | { 22 | /* compare based on sign */ 23 | if (a->sign != b->sign) { 24 | if (a->sign == MP_NEG) { 25 | return MP_LT; 26 | } else { 27 | return MP_GT; 28 | } 29 | } 30 | 31 | /* compare digits */ 32 | if (a->sign == MP_NEG) { 33 | /* if negative compare opposite direction */ 34 | return mp_cmp_mag(b, a); 35 | } else { 36 | return mp_cmp_mag(a, b); 37 | } 38 | } 39 | #endif 40 | 41 | /* $Source: /cvs/libtom/libtommath/bn_mp_cmp.c,v $ */ 42 | /* $Revision: 1.4 $ */ 43 | /* $Date: 2006/12/28 01:25:13 $ */ 44 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_cmp_d.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_CMP_D_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* compare a digit */ 19 | int mp_cmp_d(mp_int * a, mp_digit b) 20 | { 21 | /* compare based on sign */ 22 | if (a->sign == MP_NEG) { 23 | return MP_LT; 24 | } 25 | 26 | /* compare based on magnitude */ 27 | if (a->used > 1) { 28 | return MP_GT; 29 | } 30 | 31 | /* compare the only digit of a to b */ 32 | if (a->dp[0] > b) { 33 | return MP_GT; 34 | } else if (a->dp[0] < b) { 35 | return MP_LT; 36 | } else { 37 | return MP_EQ; 38 | } 39 | } 40 | #endif 41 | 42 | /* $Source: /cvs/libtom/libtommath/bn_mp_cmp_d.c,v $ */ 43 | /* $Revision: 1.4 $ */ 44 | /* $Date: 2006/12/28 01:25:13 $ */ 45 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_count_bits.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_COUNT_BITS_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* returns the number of bits in an int */ 19 | int 20 | mp_count_bits (mp_int * a) 21 | { 22 | int r; 23 | mp_digit q; 24 | 25 | /* shortcut */ 26 | if (a->used == 0) { 27 | return 0; 28 | } 29 | 30 | /* get number of digits and add that */ 31 | r = (a->used - 1) * DIGIT_BIT; 32 | 33 | /* take the last digit and count the bits in it */ 34 | q = a->dp[a->used - 1]; 35 | while (q > ((mp_digit) 0)) { 36 | ++r; 37 | q >>= ((mp_digit) 1); 38 | } 39 | return r; 40 | } 41 | #endif 42 | 43 | /* $Source: /cvs/libtom/libtommath/bn_mp_count_bits.c,v $ */ 44 | /* $Revision: 1.4 $ */ 45 | /* $Date: 2006/12/28 01:25:13 $ */ 46 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_dr_is_modulus.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_DR_IS_MODULUS_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* determines if a number is a valid DR modulus */ 19 | int mp_dr_is_modulus(mp_int *a) 20 | { 21 | int ix; 22 | 23 | /* must be at least two digits */ 24 | if (a->used < 2) { 25 | return 0; 26 | } 27 | 28 | /* must be of the form b**k - a [a <= b] so all 29 | * but the first digit must be equal to -1 (mod b). 30 | */ 31 | for (ix = 1; ix < a->used; ix++) { 32 | if (a->dp[ix] != MP_MASK) { 33 | return 0; 34 | } 35 | } 36 | return 1; 37 | } 38 | 39 | #endif 40 | 41 | /* $Source: /cvs/libtom/libtommath/bn_mp_dr_is_modulus.c,v $ */ 42 | /* $Revision: 1.4 $ */ 43 | /* $Date: 2006/12/28 01:25:13 $ */ 44 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_dr_setup.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_DR_SETUP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* determines the setup value */ 19 | void mp_dr_setup(mp_int *a, mp_digit *d) 20 | { 21 | /* the casts are required if DIGIT_BIT is one less than 22 | * the number of bits in a mp_digit [e.g. DIGIT_BIT==31] 23 | */ 24 | *d = (mp_digit)((((mp_word)1) << ((mp_word)DIGIT_BIT)) - 25 | ((mp_word)a->dp[0])); 26 | } 27 | 28 | #endif 29 | 30 | /* $Source: /cvs/libtom/libtommath/bn_mp_dr_setup.c,v $ */ 31 | /* $Revision: 1.4 $ */ 32 | /* $Date: 2006/12/28 01:25:13 $ */ 33 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_exch.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_EXCH_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* swap the elements of two integers, for cases where you can't simply swap the 19 | * mp_int pointers around 20 | */ 21 | void 22 | mp_exch (mp_int * a, mp_int * b) 23 | { 24 | mp_int t; 25 | 26 | t = *a; 27 | *a = *b; 28 | *b = t; 29 | } 30 | #endif 31 | 32 | /* $Source: /cvs/libtom/libtommath/bn_mp_exch.c,v $ */ 33 | /* $Revision: 1.4 $ */ 34 | /* $Date: 2006/12/28 01:25:13 $ */ 35 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_fwrite.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_FWRITE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | int mp_fwrite(mp_int *a, int radix, FILE *stream) 19 | { 20 | char *buf; 21 | int err, len, x; 22 | 23 | if ((err = mp_radix_size(a, radix, &len)) != MP_OKAY) { 24 | return err; 25 | } 26 | 27 | buf = OPT_CAST(char) XMALLOC (len); 28 | if (buf == NULL) { 29 | return MP_MEM; 30 | } 31 | 32 | if ((err = mp_toradix(a, buf, radix)) != MP_OKAY) { 33 | XFREE (buf); 34 | return err; 35 | } 36 | 37 | for (x = 0; x < len; x++) { 38 | if (fputc(buf[x], stream) == EOF) { 39 | XFREE (buf); 40 | return MP_VAL; 41 | } 42 | } 43 | 44 | XFREE (buf); 45 | return MP_OKAY; 46 | } 47 | 48 | #endif 49 | 50 | /* $Source: /cvs/libtom/libtommath/bn_mp_fwrite.c,v $ */ 51 | /* $Revision: 1.4 $ */ 52 | /* $Date: 2006/12/28 01:25:13 $ */ 53 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_get_int.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_GET_INT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* get the lower 32-bits of an mp_int */ 19 | unsigned long mp_get_int(mp_int * a) 20 | { 21 | int i; 22 | unsigned long res; 23 | 24 | if (a->used == 0) { 25 | return 0; 26 | } 27 | 28 | /* get number of digits of the lsb we have to read */ 29 | i = MIN(a->used,(int)((sizeof(unsigned long)*CHAR_BIT+DIGIT_BIT-1)/DIGIT_BIT))-1; 30 | 31 | /* get most significant digit of result */ 32 | res = DIGIT(a,i); 33 | 34 | while (--i >= 0) { 35 | res = (res << DIGIT_BIT) | DIGIT(a,i); 36 | } 37 | 38 | /* force result to 32-bits always so it is consistent on non 32-bit platforms */ 39 | return res & 0xFFFFFFFFUL; 40 | } 41 | #endif 42 | 43 | /* $Source: /cvs/libtom/libtommath/bn_mp_get_int.c,v $ */ 44 | /* $Revision: 1.4 $ */ 45 | /* $Date: 2006/12/28 01:25:13 $ */ 46 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_init.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_INIT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* init a new mp_int */ 19 | int mp_init (mp_int * a) 20 | { 21 | int i; 22 | 23 | /* allocate memory required and clear it */ 24 | a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * MP_PREC); 25 | if (a->dp == NULL) { 26 | return MP_MEM; 27 | } 28 | 29 | /* set the digits to zero */ 30 | for (i = 0; i < MP_PREC; i++) { 31 | a->dp[i] = 0; 32 | } 33 | 34 | /* set the used to zero, allocated digits to the default precision 35 | * and sign to positive */ 36 | a->used = 0; 37 | a->alloc = MP_PREC; 38 | a->sign = MP_ZPOS; 39 | 40 | return MP_OKAY; 41 | } 42 | #endif 43 | 44 | /* $Source: /cvs/libtom/libtommath/bn_mp_init.c,v $ */ 45 | /* $Revision: 1.4 $ */ 46 | /* $Date: 2006/12/28 01:25:13 $ */ 47 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_init_copy.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_INIT_COPY_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* creates "a" then copies b into it */ 19 | int mp_init_copy (mp_int * a, mp_int * b) 20 | { 21 | int res; 22 | 23 | if ((res = mp_init (a)) != MP_OKAY) { 24 | return res; 25 | } 26 | return mp_copy (b, a); 27 | } 28 | #endif 29 | 30 | /* $Source: /cvs/libtom/libtommath/bn_mp_init_copy.c,v $ */ 31 | /* $Revision: 1.4 $ */ 32 | /* $Date: 2006/12/28 01:25:13 $ */ 33 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_init_set.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_INIT_SET_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* initialize and set a digit */ 19 | int mp_init_set (mp_int * a, mp_digit b) 20 | { 21 | int err; 22 | if ((err = mp_init(a)) != MP_OKAY) { 23 | return err; 24 | } 25 | mp_set(a, b); 26 | return err; 27 | } 28 | #endif 29 | 30 | /* $Source: /cvs/libtom/libtommath/bn_mp_init_set.c,v $ */ 31 | /* $Revision: 1.4 $ */ 32 | /* $Date: 2006/12/28 01:25:13 $ */ 33 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_init_set_int.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_INIT_SET_INT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* initialize and set a digit */ 19 | int mp_init_set_int (mp_int * a, unsigned long b) 20 | { 21 | int err; 22 | if ((err = mp_init(a)) != MP_OKAY) { 23 | return err; 24 | } 25 | return mp_set_int(a, b); 26 | } 27 | #endif 28 | 29 | /* $Source: /cvs/libtom/libtommath/bn_mp_init_set_int.c,v $ */ 30 | /* $Revision: 1.4 $ */ 31 | /* $Date: 2006/12/28 01:25:13 $ */ 32 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_init_size.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_INIT_SIZE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* init an mp_init for a given size */ 19 | int mp_init_size (mp_int * a, int size) 20 | { 21 | int x; 22 | 23 | /* pad size so there are always extra digits */ 24 | size += (MP_PREC * 2) - (size % MP_PREC); 25 | 26 | /* alloc mem */ 27 | a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * size); 28 | if (a->dp == NULL) { 29 | return MP_MEM; 30 | } 31 | 32 | /* set the members */ 33 | a->used = 0; 34 | a->alloc = size; 35 | a->sign = MP_ZPOS; 36 | 37 | /* zero the digits */ 38 | for (x = 0; x < size; x++) { 39 | a->dp[x] = 0; 40 | } 41 | 42 | return MP_OKAY; 43 | } 44 | #endif 45 | 46 | /* $Source: /cvs/libtom/libtommath/bn_mp_init_size.c,v $ */ 47 | /* $Revision: 1.4 $ */ 48 | /* $Date: 2006/12/28 01:25:13 $ */ 49 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_invmod.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_INVMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* hac 14.61, pp608 */ 19 | int mp_invmod (mp_int * a, mp_int * b, mp_int * c) 20 | { 21 | /* b cannot be negative */ 22 | if (b->sign == MP_NEG || mp_iszero(b) == 1) { 23 | return MP_VAL; 24 | } 25 | 26 | #ifdef BN_FAST_MP_INVMOD_C 27 | /* if the modulus is odd we can use a faster routine instead */ 28 | if (mp_isodd (b) == 1) { 29 | return fast_mp_invmod (a, b, c); 30 | } 31 | #endif 32 | 33 | #ifdef BN_MP_INVMOD_SLOW_C 34 | return mp_invmod_slow(a, b, c); 35 | #endif 36 | 37 | return MP_VAL; 38 | } 39 | #endif 40 | 41 | /* $Source: /cvs/libtom/libtommath/bn_mp_invmod.c,v $ */ 42 | /* $Revision: 1.4 $ */ 43 | /* $Date: 2006/12/28 01:25:13 $ */ 44 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_mod.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_MOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* c = a mod b, 0 <= c < b */ 19 | int 20 | mp_mod (mp_int * a, mp_int * b, mp_int * c) 21 | { 22 | mp_int t; 23 | int res; 24 | 25 | if ((res = mp_init (&t)) != MP_OKAY) { 26 | return res; 27 | } 28 | 29 | if ((res = mp_div (a, b, NULL, &t)) != MP_OKAY) { 30 | mp_clear (&t); 31 | return res; 32 | } 33 | 34 | if (t.sign != b->sign) { 35 | res = mp_add (b, &t, c); 36 | } else { 37 | res = MP_OKAY; 38 | mp_exch (&t, c); 39 | } 40 | 41 | mp_clear (&t); 42 | return res; 43 | } 44 | #endif 45 | 46 | /* $Source: /cvs/libtom/libtommath/bn_mp_mod.c,v $ */ 47 | /* $Revision: 1.4 $ */ 48 | /* $Date: 2006/12/28 01:25:13 $ */ 49 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_mod_d.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_MOD_D_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | int 19 | mp_mod_d (mp_int * a, mp_digit b, mp_digit * c) 20 | { 21 | return mp_div_d(a, b, NULL, c); 22 | } 23 | #endif 24 | 25 | /* $Source: /cvs/libtom/libtommath/bn_mp_mod_d.c,v $ */ 26 | /* $Revision: 1.4 $ */ 27 | /* $Date: 2006/12/28 01:25:13 $ */ 28 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_mulmod.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_MULMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* d = a * b (mod c) */ 19 | int mp_mulmod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) 20 | { 21 | int res; 22 | mp_int t; 23 | 24 | if ((res = mp_init (&t)) != MP_OKAY) { 25 | return res; 26 | } 27 | 28 | if ((res = mp_mul (a, b, &t)) != MP_OKAY) { 29 | mp_clear (&t); 30 | return res; 31 | } 32 | res = mp_mod (&t, c, d); 33 | mp_clear (&t); 34 | return res; 35 | } 36 | #endif 37 | 38 | /* $Source: /cvs/libtom/libtommath/bn_mp_mulmod.c,v $ */ 39 | /* $Revision: 1.5 $ */ 40 | /* $Date: 2006/12/28 01:25:13 $ */ 41 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_neg.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_NEG_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* b = -a */ 19 | int mp_neg (mp_int * a, mp_int * b) 20 | { 21 | int res; 22 | if (a != b) { 23 | if ((res = mp_copy (a, b)) != MP_OKAY) { 24 | return res; 25 | } 26 | } 27 | 28 | if (mp_iszero(b) != MP_YES) { 29 | b->sign = (a->sign == MP_ZPOS) ? MP_NEG : MP_ZPOS; 30 | } else { 31 | b->sign = MP_ZPOS; 32 | } 33 | 34 | return MP_OKAY; 35 | } 36 | #endif 37 | 38 | /* $Source: /cvs/libtom/libtommath/bn_mp_neg.c,v $ */ 39 | /* $Revision: 1.4 $ */ 40 | /* $Date: 2006/12/28 01:25:13 $ */ 41 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_or.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_OR_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* OR two ints together */ 19 | int mp_or (mp_int * a, mp_int * b, mp_int * c) 20 | { 21 | int res, ix, px; 22 | mp_int t, *x; 23 | 24 | if (a->used > b->used) { 25 | if ((res = mp_init_copy (&t, a)) != MP_OKAY) { 26 | return res; 27 | } 28 | px = b->used; 29 | x = b; 30 | } else { 31 | if ((res = mp_init_copy (&t, b)) != MP_OKAY) { 32 | return res; 33 | } 34 | px = a->used; 35 | x = a; 36 | } 37 | 38 | for (ix = 0; ix < px; ix++) { 39 | t.dp[ix] |= x->dp[ix]; 40 | } 41 | mp_clamp (&t); 42 | mp_exch (c, &t); 43 | mp_clear (&t); 44 | return MP_OKAY; 45 | } 46 | #endif 47 | 48 | /* $Source: /cvs/libtom/libtommath/bn_mp_or.c,v $ */ 49 | /* $Revision: 1.4 $ */ 50 | /* $Date: 2006/12/28 01:25:13 $ */ 51 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_radix_smap.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_RADIX_SMAP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* chars used in radix conversions */ 19 | const char *mp_s_rmap = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"; 20 | #endif 21 | 22 | /* $Source: /cvs/libtom/libtommath/bn_mp_radix_smap.c,v $ */ 23 | /* $Revision: 1.4 $ */ 24 | /* $Date: 2006/12/28 01:25:13 $ */ 25 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_read_signed_bin.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_READ_SIGNED_BIN_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* read signed bin, big endian, first byte is 0==positive or 1==negative */ 19 | int mp_read_signed_bin (mp_int * a, const unsigned char *b, int c) 20 | { 21 | int res; 22 | 23 | /* read magnitude */ 24 | if ((res = mp_read_unsigned_bin (a, b + 1, c - 1)) != MP_OKAY) { 25 | return res; 26 | } 27 | 28 | /* first byte is 0 for positive, non-zero for negative */ 29 | if (b[0] == 0) { 30 | a->sign = MP_ZPOS; 31 | } else { 32 | a->sign = MP_NEG; 33 | } 34 | 35 | return MP_OKAY; 36 | } 37 | #endif 38 | 39 | /* $Source: /cvs/libtom/libtommath/bn_mp_read_signed_bin.c,v $ */ 40 | /* $Revision: 1.5 $ */ 41 | /* $Date: 2006/12/28 01:25:13 $ */ 42 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_reduce_2k_setup.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_REDUCE_2K_SETUP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* determines the setup value */ 19 | int mp_reduce_2k_setup(mp_int *a, mp_digit *d) 20 | { 21 | int res, p; 22 | mp_int tmp; 23 | 24 | if ((res = mp_init(&tmp)) != MP_OKAY) { 25 | return res; 26 | } 27 | 28 | p = mp_count_bits(a); 29 | if ((res = mp_2expt(&tmp, p)) != MP_OKAY) { 30 | mp_clear(&tmp); 31 | return res; 32 | } 33 | 34 | if ((res = s_mp_sub(&tmp, a, &tmp)) != MP_OKAY) { 35 | mp_clear(&tmp); 36 | return res; 37 | } 38 | 39 | *d = tmp.dp[0]; 40 | mp_clear(&tmp); 41 | return MP_OKAY; 42 | } 43 | #endif 44 | 45 | /* $Source: /cvs/libtom/libtommath/bn_mp_reduce_2k_setup.c,v $ */ 46 | /* $Revision: 1.4 $ */ 47 | /* $Date: 2006/12/28 01:25:13 $ */ 48 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_reduce_2k_setup_l.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_REDUCE_2K_SETUP_L_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* determines the setup value */ 19 | int mp_reduce_2k_setup_l(mp_int *a, mp_int *d) 20 | { 21 | int res; 22 | mp_int tmp; 23 | 24 | if ((res = mp_init(&tmp)) != MP_OKAY) { 25 | return res; 26 | } 27 | 28 | if ((res = mp_2expt(&tmp, mp_count_bits(a))) != MP_OKAY) { 29 | goto ERR; 30 | } 31 | 32 | if ((res = s_mp_sub(&tmp, a, d)) != MP_OKAY) { 33 | goto ERR; 34 | } 35 | 36 | ERR: 37 | mp_clear(&tmp); 38 | return res; 39 | } 40 | #endif 41 | 42 | /* $Source: /cvs/libtom/libtommath/bn_mp_reduce_2k_setup_l.c,v $ */ 43 | /* $Revision: 1.4 $ */ 44 | /* $Date: 2006/12/28 01:25:13 $ */ 45 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_reduce_is_2k_l.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_REDUCE_IS_2K_L_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* determines if reduce_2k_l can be used */ 19 | int mp_reduce_is_2k_l(mp_int *a) 20 | { 21 | int ix, iy; 22 | 23 | if (a->used == 0) { 24 | return MP_NO; 25 | } else if (a->used == 1) { 26 | return MP_YES; 27 | } else if (a->used > 1) { 28 | /* if more than half of the digits are -1 we're sold */ 29 | for (iy = ix = 0; ix < a->used; ix++) { 30 | if (a->dp[ix] == MP_MASK) { 31 | ++iy; 32 | } 33 | } 34 | return (iy >= (a->used/2)) ? MP_YES : MP_NO; 35 | 36 | } 37 | return MP_NO; 38 | } 39 | 40 | #endif 41 | 42 | /* $Source: /cvs/libtom/libtommath/bn_mp_reduce_is_2k_l.c,v $ */ 43 | /* $Revision: 1.4 $ */ 44 | /* $Date: 2006/12/28 01:25:13 $ */ 45 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_reduce_setup.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_REDUCE_SETUP_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* pre-calculate the value required for Barrett reduction 19 | * For a given modulus "b" it calulates the value required in "a" 20 | */ 21 | int mp_reduce_setup (mp_int * a, mp_int * b) 22 | { 23 | int res; 24 | 25 | if ((res = mp_2expt (a, b->used * 2 * DIGIT_BIT)) != MP_OKAY) { 26 | return res; 27 | } 28 | return mp_div (a, b, a, NULL); 29 | } 30 | #endif 31 | 32 | /* $Source: /cvs/libtom/libtommath/bn_mp_reduce_setup.c,v $ */ 33 | /* $Revision: 1.4 $ */ 34 | /* $Date: 2006/12/28 01:25:13 $ */ 35 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_set.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_SET_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* set to a digit */ 19 | void mp_set (mp_int * a, mp_digit b) 20 | { 21 | mp_zero (a); 22 | a->dp[0] = b & MP_MASK; 23 | a->used = (a->dp[0] != 0) ? 1 : 0; 24 | } 25 | #endif 26 | 27 | /* $Source: /cvs/libtom/libtommath/bn_mp_set.c,v $ */ 28 | /* $Revision: 1.4 $ */ 29 | /* $Date: 2006/12/28 01:25:13 $ */ 30 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_set_int.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_SET_INT_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* set a 32-bit const */ 19 | int mp_set_int (mp_int * a, unsigned long b) 20 | { 21 | int x, res; 22 | 23 | mp_zero (a); 24 | 25 | /* set four bits at a time */ 26 | for (x = 0; x < 8; x++) { 27 | /* shift the number up four bits */ 28 | if ((res = mp_mul_2d (a, 4, a)) != MP_OKAY) { 29 | return res; 30 | } 31 | 32 | /* OR in the top four bits of the source */ 33 | a->dp[0] |= (b >> 28) & 15; 34 | 35 | /* shift the source up to the next four bits */ 36 | b <<= 4; 37 | 38 | /* ensure that digits are not clamped off */ 39 | a->used += 1; 40 | } 41 | mp_clamp (a); 42 | return MP_OKAY; 43 | } 44 | #endif 45 | 46 | /* $Source: /cvs/libtom/libtommath/bn_mp_set_int.c,v $ */ 47 | /* $Revision: 1.4 $ */ 48 | /* $Date: 2006/12/28 01:25:13 $ */ 49 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_shrink.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_SHRINK_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* shrink a bignum */ 19 | int mp_shrink (mp_int * a) 20 | { 21 | mp_digit *tmp; 22 | if (a->alloc != a->used && a->used > 0) { 23 | if ((tmp = OPT_CAST(mp_digit) XREALLOC (a->dp, sizeof (mp_digit) * a->used)) == NULL) { 24 | return MP_MEM; 25 | } 26 | a->dp = tmp; 27 | a->alloc = a->used; 28 | } 29 | return MP_OKAY; 30 | } 31 | #endif 32 | 33 | /* $Source: /cvs/libtom/libtommath/bn_mp_shrink.c,v $ */ 34 | /* $Revision: 1.4 $ */ 35 | /* $Date: 2006/12/28 01:25:13 $ */ 36 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_signed_bin_size.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_SIGNED_BIN_SIZE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* get the size for an signed equivalent */ 19 | int mp_signed_bin_size (mp_int * a) 20 | { 21 | return 1 + mp_unsigned_bin_size (a); 22 | } 23 | #endif 24 | 25 | /* $Source: /cvs/libtom/libtommath/bn_mp_signed_bin_size.c,v $ */ 26 | /* $Revision: 1.4 $ */ 27 | /* $Date: 2006/12/28 01:25:13 $ */ 28 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_sqrmod.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_SQRMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* c = a * a (mod b) */ 19 | int 20 | mp_sqrmod (mp_int * a, mp_int * b, mp_int * c) 21 | { 22 | int res; 23 | mp_int t; 24 | 25 | if ((res = mp_init (&t)) != MP_OKAY) { 26 | return res; 27 | } 28 | 29 | if ((res = mp_sqr (a, &t)) != MP_OKAY) { 30 | mp_clear (&t); 31 | return res; 32 | } 33 | res = mp_mod (&t, b, c); 34 | mp_clear (&t); 35 | return res; 36 | } 37 | #endif 38 | 39 | /* $Source: /cvs/libtom/libtommath/bn_mp_sqrmod.c,v $ */ 40 | /* $Revision: 1.4 $ */ 41 | /* $Date: 2006/12/28 01:25:13 $ */ 42 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_submod.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_SUBMOD_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* d = a - b (mod c) */ 19 | int 20 | mp_submod (mp_int * a, mp_int * b, mp_int * c, mp_int * d) 21 | { 22 | int res; 23 | mp_int t; 24 | 25 | 26 | if ((res = mp_init (&t)) != MP_OKAY) { 27 | return res; 28 | } 29 | 30 | if ((res = mp_sub (a, b, &t)) != MP_OKAY) { 31 | mp_clear (&t); 32 | return res; 33 | } 34 | res = mp_mod (&t, c, d); 35 | mp_clear (&t); 36 | return res; 37 | } 38 | #endif 39 | 40 | /* $Source: /cvs/libtom/libtommath/bn_mp_submod.c,v $ */ 41 | /* $Revision: 1.4 $ */ 42 | /* $Date: 2006/12/28 01:25:13 $ */ 43 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_to_signed_bin.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_TO_SIGNED_BIN_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* store in signed [big endian] format */ 19 | int mp_to_signed_bin (mp_int * a, unsigned char *b) 20 | { 21 | int res; 22 | 23 | if ((res = mp_to_unsigned_bin (a, b + 1)) != MP_OKAY) { 24 | return res; 25 | } 26 | b[0] = (unsigned char) ((a->sign == MP_ZPOS) ? 0 : 1); 27 | return MP_OKAY; 28 | } 29 | #endif 30 | 31 | /* $Source: /cvs/libtom/libtommath/bn_mp_to_signed_bin.c,v $ */ 32 | /* $Revision: 1.4 $ */ 33 | /* $Date: 2006/12/28 01:25:13 $ */ 34 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_to_signed_bin_n.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_TO_SIGNED_BIN_N_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* store in signed [big endian] format */ 19 | int mp_to_signed_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen) 20 | { 21 | if (*outlen < (unsigned long)mp_signed_bin_size(a)) { 22 | return MP_VAL; 23 | } 24 | *outlen = mp_signed_bin_size(a); 25 | return mp_to_signed_bin(a, b); 26 | } 27 | #endif 28 | 29 | /* $Source: /cvs/libtom/libtommath/bn_mp_to_signed_bin_n.c,v $ */ 30 | /* $Revision: 1.4 $ */ 31 | /* $Date: 2006/12/28 01:25:13 $ */ 32 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_to_unsigned_bin.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_TO_UNSIGNED_BIN_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* store in unsigned [big endian] format */ 19 | int mp_to_unsigned_bin (mp_int * a, unsigned char *b) 20 | { 21 | int x, res; 22 | mp_int t; 23 | 24 | if ((res = mp_init_copy (&t, a)) != MP_OKAY) { 25 | return res; 26 | } 27 | 28 | x = 0; 29 | while (mp_iszero (&t) == 0) { 30 | #ifndef MP_8BIT 31 | b[x++] = (unsigned char) (t.dp[0] & 255); 32 | #else 33 | b[x++] = (unsigned char) (t.dp[0] | ((t.dp[1] & 0x01) << 7)); 34 | #endif 35 | if ((res = mp_div_2d (&t, 8, &t, NULL)) != MP_OKAY) { 36 | mp_clear (&t); 37 | return res; 38 | } 39 | } 40 | bn_reverse (b, x); 41 | mp_clear (&t); 42 | return MP_OKAY; 43 | } 44 | #endif 45 | 46 | /* $Source: /cvs/libtom/libtommath/bn_mp_to_unsigned_bin.c,v $ */ 47 | /* $Revision: 1.4 $ */ 48 | /* $Date: 2006/12/28 01:25:13 $ */ 49 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_to_unsigned_bin_n.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_TO_UNSIGNED_BIN_N_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* store in unsigned [big endian] format */ 19 | int mp_to_unsigned_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen) 20 | { 21 | if (*outlen < (unsigned long)mp_unsigned_bin_size(a)) { 22 | return MP_VAL; 23 | } 24 | *outlen = mp_unsigned_bin_size(a); 25 | return mp_to_unsigned_bin(a, b); 26 | } 27 | #endif 28 | 29 | /* $Source: /cvs/libtom/libtommath/bn_mp_to_unsigned_bin_n.c,v $ */ 30 | /* $Revision: 1.4 $ */ 31 | /* $Date: 2006/12/28 01:25:13 $ */ 32 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_unsigned_bin_size.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_UNSIGNED_BIN_SIZE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* get the size for an unsigned equivalent */ 19 | int mp_unsigned_bin_size (mp_int * a) 20 | { 21 | int size = mp_count_bits (a); 22 | return (size / 8 + ((size & 7) != 0 ? 1 : 0)); 23 | } 24 | #endif 25 | 26 | /* $Source: /cvs/libtom/libtommath/bn_mp_unsigned_bin_size.c,v $ */ 27 | /* $Revision: 1.4 $ */ 28 | /* $Date: 2006/12/28 01:25:13 $ */ 29 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_xor.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_XOR_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* XOR two ints together */ 19 | int 20 | mp_xor (mp_int * a, mp_int * b, mp_int * c) 21 | { 22 | int res, ix, px; 23 | mp_int t, *x; 24 | 25 | if (a->used > b->used) { 26 | if ((res = mp_init_copy (&t, a)) != MP_OKAY) { 27 | return res; 28 | } 29 | px = b->used; 30 | x = b; 31 | } else { 32 | if ((res = mp_init_copy (&t, b)) != MP_OKAY) { 33 | return res; 34 | } 35 | px = a->used; 36 | x = a; 37 | } 38 | 39 | for (ix = 0; ix < px; ix++) { 40 | t.dp[ix] ^= x->dp[ix]; 41 | } 42 | mp_clamp (&t); 43 | mp_exch (c, &t); 44 | mp_clear (&t); 45 | return MP_OKAY; 46 | } 47 | #endif 48 | 49 | /* $Source: /cvs/libtom/libtommath/bn_mp_xor.c,v $ */ 50 | /* $Revision: 1.4 $ */ 51 | /* $Date: 2006/12/28 01:25:13 $ */ 52 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_mp_zero.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_MP_ZERO_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* set to zero */ 19 | void mp_zero (mp_int * a) 20 | { 21 | int n; 22 | mp_digit *tmp; 23 | 24 | a->sign = MP_ZPOS; 25 | a->used = 0; 26 | 27 | tmp = a->dp; 28 | for (n = 0; n < a->alloc; n++) { 29 | *tmp++ = 0; 30 | } 31 | } 32 | #endif 33 | 34 | /* $Source: /cvs/libtom/libtommath/bn_mp_zero.c,v $ */ 35 | /* $Revision: 1.4 $ */ 36 | /* $Date: 2006/12/28 01:25:13 $ */ 37 | -------------------------------------------------------------------------------- /StormLib/src/libtommath/bn_reverse.c: -------------------------------------------------------------------------------- 1 | #include "tommath.h" 2 | #ifdef BN_REVERSE_C 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 | * 5 | * LibTomMath is a library that provides multiple-precision 6 | * integer arithmetic as well as number theoretic functionality. 7 | * 8 | * The library was designed directly after the MPI library by 9 | * Michael Fromberger but has been written from scratch with 10 | * additional optimizations in place. 11 | * 12 | * The library is free for all purposes without any express 13 | * guarantee it works. 14 | * 15 | * Tom St Denis, tomstdenis@gmail.com, http://libtom.org 16 | */ 17 | 18 | /* reverse an array, used for radix code */ 19 | void 20 | bn_reverse (unsigned char *s, int len) 21 | { 22 | int ix, iy; 23 | unsigned char t; 24 | 25 | ix = 0; 26 | iy = len - 1; 27 | while (ix < iy) { 28 | t = s[ix]; 29 | s[ix] = s[iy]; 30 | s[iy] = t; 31 | ++ix; 32 | --iy; 33 | } 34 | } 35 | #endif 36 | 37 | /* $Source: /cvs/libtom/libtommath/bn_reverse.c,v $ */ 38 | /* $Revision: 1.4 $ */ 39 | /* $Date: 2006/12/28 01:25:13 $ */ 40 | -------------------------------------------------------------------------------- /StormLib/src/lzma/info.txt: -------------------------------------------------------------------------------- 1 | Taken from LZMA SDK v 9.11 -------------------------------------------------------------------------------- /StormLib/src/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by DllMain.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 101 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /StormLib/src/sparse/sparse.h: -------------------------------------------------------------------------------- 1 | /*****************************************************************************/ 2 | /* sparse.h Copyright (c) Ladislav Zezula 2010 */ 3 | /*---------------------------------------------------------------------------*/ 4 | /* implementation of Sparse compression, used in Starcraft II */ 5 | /*---------------------------------------------------------------------------*/ 6 | /* Date Ver Who Comment */ 7 | /* -------- ---- --- ------- */ 8 | /* 05.03.10 1.00 Lad The first version of sparse.h */ 9 | /*****************************************************************************/ 10 | 11 | #ifndef __SPARSE_H__ 12 | #define __SPARSE_H__ 13 | 14 | void CompressSparse(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); 15 | int DecompressSparse(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer); 16 | 17 | #endif // __SPARSE_H__ 18 | -------------------------------------------------------------------------------- /StormLib/src/wdk/sources-cpp.cpp: -------------------------------------------------------------------------------- 1 | // This is a source file for WDK build of StormLib 2 | // It is copied to the root folder during the build process 3 | 4 | #include "src\adpcm\adpcm.cpp" 5 | #include "src\huffman\huff.cpp" 6 | #include "src\sparse\sparse.cpp" 7 | 8 | #include "src\FileStream.cpp" 9 | #include "src\SBaseCommon.cpp" 10 | #include "src\SBaseDumpData.cpp" 11 | #include "src\SBaseFileTable.cpp" 12 | #include "src\SBaseSubTypes.cpp" 13 | #include "src\SCompression.cpp" 14 | #include "src\SFileAddFile.cpp" 15 | #include "src\SFileAttributes.cpp" 16 | #include "src\SFileCompactArchive.cpp" 17 | #include "src\SFileCreateArchive.cpp" 18 | #include "src\SFileExtractFile.cpp" 19 | #include "src\SFileFindFile.cpp" 20 | #include "src\SFileGetFileInfo.cpp" 21 | #include "src\SFileListFile.cpp" 22 | #include "src\SFileOpenArchive.cpp" 23 | #include "src\SFileOpenFileEx.cpp" 24 | #include "src\SFilePatchArchives.cpp" 25 | #include "src\SFileReadFile.cpp" 26 | #include "src\SFileVerify.cpp" 27 | -------------------------------------------------------------------------------- /StormLib/src/wdk/sources-wdk-bzip2.c: -------------------------------------------------------------------------------- 1 | // This is a source file for WDK build of StormLib 2 | // It is copied to the root folder during the build process 3 | 4 | #pragma warning(disable: 4242) // '=' : conversion from 'Int32' to 'UChar', possible loss of data 5 | #pragma warning(disable: 4244) // '=' : conversion from '__int64' to 'Int32', possible loss of data 6 | 7 | #include "src\bzip2\blocksort.c" 8 | #include "src\bzip2\bzlib.c" 9 | #include "src\bzip2\compress.c" 10 | #include "src\bzip2\crctable.c" 11 | #include "src\bzip2\decompress.c" 12 | #include "src\bzip2\huffman.c" 13 | #include "src\bzip2\randtable.c" 14 | -------------------------------------------------------------------------------- /StormLib/src/wdk/sources-wdk-ltc.c: -------------------------------------------------------------------------------- 1 | // This is a source file for WDK build of StormLib 2 | // It is copied to the root folder during the build process 3 | 4 | #include "src\libtomcrypt\src\math\ltm_desc.c" 5 | -------------------------------------------------------------------------------- /StormLib/src/wdk/sources-wdk-lzma.c: -------------------------------------------------------------------------------- 1 | // This is a source file for WDK build of StormLib 2 | // It is copied to the root folder during the build process 3 | 4 | #include "src\lzma\C\LzFind.c" 5 | #include "src\lzma\C\LzFindMt.c" 6 | #include "src\lzma\C\LzmaDec.c" 7 | #include "src\lzma\C\LzmaEnc.c" 8 | #include "src\lzma\C\Threads.c" 9 | -------------------------------------------------------------------------------- /StormLib/src/wdk/sources-wdk-misc.c: -------------------------------------------------------------------------------- 1 | // This is a source file for WDK build of StormLib 2 | // It is copied to the root folder during the build process 3 | 4 | #include "src\jenkins\lookup3.c" 5 | #include "src\pklib\explode.c" 6 | #include "src\pklib\implode.c" 7 | -------------------------------------------------------------------------------- /StormLib/src/wdk/sources-wdk-zlib.c: -------------------------------------------------------------------------------- 1 | // This is a source file for WDK build of StormLib 2 | // It is copied to the root folder during the build process 3 | 4 | #pragma warning(disable:4242) // deflate.c(1693) : warning C4242: '=' : conversion from 'unsigned int' to 'Bytef', possible loss of data 5 | 6 | #define NO_DUMMY_DECL 7 | #define NO_GZIP 8 | #include "src\zlib\adler32.c" 9 | #undef DO1 10 | #undef DO8 11 | #undef MIN 12 | #include "src\zlib\compress.c" 13 | #include "src\zlib\crc32.c" 14 | #include "src\zlib\deflate.c" 15 | #include "src\zlib\trees.c" 16 | #include "src\zlib\zutil.c" 17 | 18 | #undef COPY // Conflicting definition 19 | #include "src\zlib\inflate.c" 20 | #include "src\zlib\inffast.c" 21 | #include "src\zlib\inftrees.c" 22 | -------------------------------------------------------------------------------- /StormLib/src/zlib/compress_zlib.c: -------------------------------------------------------------------------------- 1 | // Some compilers (e.g. Visual Studio 2012) don't like the name conflict between 2 | // zlib\compress.c and bzip2\compress.c. This file is plain wrapper for compress.c 3 | // in order to create obj file with a different name. 4 | 5 | #include "compress.c" 6 | -------------------------------------------------------------------------------- /StormLib/src/zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /StormLib/storm_dll/storm.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/StormLib/storm_dll/storm.lib -------------------------------------------------------------------------------- /StormLib/storm_dll/storm_dll.def: -------------------------------------------------------------------------------- 1 | ; Storm definition file with alternate Storm.dll names 2 | LIBRARY "Storm" 3 | 4 | EXPORTS 5 | StormCloseArchive @252 ; 0x0FC 6 | StormCloseFile @253 ; 0x0FD 7 | StormDestroy @262 ; 0x106 8 | StormGetFileArchive @264 ; 0x108 9 | StormGetFileSize @265 ; 0x109 10 | StormOpenArchive @266 ; 0x10A 11 | StormOpenFile @267 ; 0x10B 12 | StormOpenFileEx @268 ; 0x10C 13 | StormReadFile @269 ; 0x10D 14 | StormSetBasePath @270 ; 0x10E 15 | StormSetFilePointer @271 ; 0x10F 16 | StormSetLocale @272 ; 0x110 17 | StormGetBasePath @273 ; 0x111 18 | StormGetArchiveName @275 ; 0x113 19 | StormGetFileName @276 ; 0x114 20 | 21 | ; StormSetLastError @465 ; 0x 22 | 23 | StormCompress @551 ; 0x227 24 | StormDecompress @552 ; 0x228 25 | -------------------------------------------------------------------------------- /campaigns/orc-exp/levelx09o_c.sms: -------------------------------------------------------------------------------- 1 | -- Stratagus Map - Single player campaign 2 | 3 | Load("campaigns/orc-exp/levelx09o_c2.sms") 4 | 5 | Briefing( 6 | title, 7 | objectives, 8 | "../campaigns/orc/interface/introscreen5.png", 9 | "campaigns/orc-exp/levelx09o.txt", 10 | {"campaigns/orc-exp/levelx09o-intro1.wav", 11 | "campaigns/orc-exp/levelx09o-intro2.wav"} 12 | ) 13 | 14 | -- FIXME: Check if units are destroyed. 15 | AddTrigger( 16 | function() return GetPlayerData(1, "UnitTypesCount", "unit-daemon") == 0 end, 17 | function() return ActionVictory() end) 18 | 19 | AddTrigger( 20 | function() return GetPlayerData(GetThisPlayer(), "TotalNumUnits") == 0 end, 21 | function() return ActionDefeat() end) 22 | 23 | --Units 24 | DefineAllowNormalHumanUnits("AAAAAAAAAAAAAAAA") 25 | DefineAllowExtraHumanUnits("FFFFFFFFFFFFFFFF") 26 | DefineAllowNormalOrcUnits("AAAAAAAAAAAAAAAA") 27 | DefineAllowExtraOrcUnits("FFFFFFFFFFFFFFFF") 28 | DefineAllowSpecialUnits("FFFFFFFFFFFFFFFF") 29 | DefineAllowHumanAlways() 30 | DefineAllowOrcAlways() 31 | 32 | Load("campaigns/orc-exp/levelx09o.sms") 33 | -------------------------------------------------------------------------------- /cmake/modules/FindStormLib.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find the StormLib library 2 | # Once done this will define 3 | # 4 | # STORMLIB_FOUND - system has StormLib 5 | # STORMLIB_INCLUDE_DIR - the STORMLIB include directory 6 | # STORMLIB_LIBRARY - The STORMLIB library 7 | 8 | # Copyright (c) 2015, cybermind 9 | # 10 | # Redistribution and use is allowed according to the terms of the BSD license. 11 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 12 | 13 | if(STORMLIB_INCLUDE_DIR AND STORMLIB_LIBRARY AND (NOT UNIX OR BZIP2_FOUND)) 14 | set(STORMLIB_FOUND true) 15 | else() 16 | find_path(STORMLIB_INCLUDE_DIR StormLib.h) 17 | find_library(STORMLIB_LIBRARY NAMES storm) 18 | if (UNIX) 19 | find_package(BZip2) 20 | endif() 21 | 22 | if(STORMLIB_INCLUDE_DIR AND STORMLIB_LIBRARY AND (NOT UNIX OR BZIP2_FOUND)) 23 | set(STORMLIB_FOUND true) 24 | message(STATUS "Found StormLib: ${STORMLIB_LIBRARY}") 25 | elseif(UNIX AND NOT BZIP2_FOUND) 26 | set(STORMLIB_FOUND false) 27 | message(STATUS "Could not find BZip2 required for StormLib") 28 | else() 29 | set(STORMLIB_FOUND false) 30 | message(STATUS "Could not find StormLib") 31 | endif() 32 | 33 | mark_as_advanced(STORMLIB_INCLUDE_DIR STORMLIB_LIBRARY) 34 | endif() 35 | -------------------------------------------------------------------------------- /cmake/modules/FindStratagus.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find the stratagus executable and game headers 2 | # Once done this will define 3 | # 4 | # STRATAGUS_FOUND - system has stratagus 5 | # STRATAGUS - the stratagus executable 6 | # STRATAGUS_INCLUDE_DIR - the stratagus include directory 7 | 8 | # Copyright (c) 2011, Pali Rohár 9 | # 10 | # Redistribution and use is allowed according to the terms of the BSD license. 11 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 12 | 13 | if(STRATAGUS AND STRATAGUS_INCLUDE_DIR) 14 | set(STRATAGUS_FOUND true) 15 | else() 16 | find_program(STRATAGUS NAMES stratagus PATH_SUFFIXES games) 17 | find_path(STRATAGUS_INCLUDE_DIR stratagus-game-launcher.h) 18 | 19 | if(STRATAGUS AND STRATAGUS_INCLUDE_DIR) 20 | set(STRATAGUS_FOUND true) 21 | message(STATUS "Found stratagus: ${STRATAGUS}:${STRATAGUS_INCLUDE_DIR}") 22 | else() 23 | set(STRATAGUS_FOUND false) 24 | message(FATAL_ERROR "Could not find stratagus, please set STRATAGUS_INCLUDE_DIR and STRATAGUS") 25 | endif() 26 | 27 | mark_as_advanced(STRATAGUS STRATAGUS_INCLUDE_DIR) 28 | endif() 29 | -------------------------------------------------------------------------------- /cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 2 | message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt") 3 | endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 4 | 5 | file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) 6 | string(REGEX REPLACE "\n" ";" files "${files}") 7 | foreach(file ${files}) 8 | message(STATUS "Uninstalling $ENV{DESTDIR}${file}") 9 | if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 10 | exec_program( 11 | "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" 12 | OUTPUT_VARIABLE rm_out 13 | RETURN_VALUE rm_retval 14 | ) 15 | if(NOT "${rm_retval}" STREQUAL 0) 16 | message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") 17 | endif(NOT "${rm_retval}" STREQUAL 0) 18 | else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 19 | message(STATUS "File $ENV{DESTDIR}${file} does not exist.") 20 | endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 21 | endforeach(file) 22 | -------------------------------------------------------------------------------- /contrib/6x12_espruino.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/6x12_espruino.png -------------------------------------------------------------------------------- /contrib/black_title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/black_title.png -------------------------------------------------------------------------------- /contrib/cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/cross.png -------------------------------------------------------------------------------- /contrib/food.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/food.png -------------------------------------------------------------------------------- /contrib/health.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/health.png -------------------------------------------------------------------------------- /contrib/health2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/health2.png -------------------------------------------------------------------------------- /contrib/mana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/mana.png -------------------------------------------------------------------------------- /contrib/mana2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/mana2.png -------------------------------------------------------------------------------- /contrib/ore,stone,coal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/ore,stone,coal.png -------------------------------------------------------------------------------- /contrib/red_cross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/red_cross.png -------------------------------------------------------------------------------- /contrib/score.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/score.png -------------------------------------------------------------------------------- /contrib/workers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/contrib/workers.png -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: wargus 2 | Section: games 3 | Priority: optional 4 | Maintainer: cybermind 5 | Build-Depends: debhelper (>= 7), cmake (>= 2.6), pkg-config, imagemagick, 6 | po-debconf, sharutils, zlib1g-dev, libbz2-dev, 7 | libpng12-dev (>= 1.2.5) | libpng-dev (>= 1.2.5), libbz2-dev, 8 | stratagus-dev 9 | Standards-Version: 3.9.2 10 | Homepage: https://github.com/Wargus/wargus 11 | 12 | Package: wargus 13 | Architecture: any 14 | Depends: ${stratagus:Depends}, ${misc:Depends}, ${shlibs:Depends} 15 | Pre-Depends: cdparanoia, ffmpeg | libav-tools, timgm6mb-soundfont | musescore-soundfont-gm, innoextract 16 | Provides: stratagus-data 17 | Description: Warcraft II data game set for the Stratagus engine 18 | Wargus can be used to play Warcraft II from Blizzard Entertainment. 19 | . 20 | You need the original Warcraft II CD to extract the game data files. 21 | . 22 | Wargus is developed together for Windows, Linux and Mac OS X. 23 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ 2 | Source: https://github.com/Wargus/wargus 3 | 4 | Files: * 5 | Copyright: 6 | (c) 1998-2022 by The Stratagus Project 7 | (c) 2002-2007 Jimmy Salmon 8 | (c) 2003-2004 Russel Smith 9 | (c) 2002-2007 Nehal Mistry 10 | (c) 2010-2012 Pali Rohár 11 | (c) 2012-2016 cybermind 12 | License: GPL-2+ 13 | 14 | Files: debian/* 15 | Copyright: 16 | (c) 2010-2012 Pali Rohár 17 | (c) 2015 cybermind 18 | (c) 2015 Karol Krenski 19 | License: GPL-2+ 20 | 21 | License: GPL-2+ 22 | This package is free software; you can redistribute it and/or modify 23 | it under the terms of the GNU General Public License as published by 24 | the Free Software Foundation; either version 2 of the License, or 25 | (at your option) any later version. On Debian systems the GNU General Public 26 | License (GPL) version 2 is located on the filesystem at 27 | /usr/share/common-licenses/GPL-2. 28 | -------------------------------------------------------------------------------- /debian/docs: -------------------------------------------------------------------------------- 1 | README.md 2 | doc/changelog 3 | doc/pud-specs.txt 4 | -------------------------------------------------------------------------------- /debian/manpages: -------------------------------------------------------------------------------- 1 | doc/wargus.6 2 | doc/wartool.6 3 | doc/pudconvert.6 4 | -------------------------------------------------------------------------------- /debian/menu: -------------------------------------------------------------------------------- 1 | ?package(wargus):needs="x11" section="Games/Strategy" title="Wargus - Warcraft II" command="/usr/games/wargus" icon="/usr/share/pixmaps/wargus.xpm" 2 | -------------------------------------------------------------------------------- /debian/po/POTFILES.in: -------------------------------------------------------------------------------- 1 | [type: gettext/rfc822deb] templates 2 | -------------------------------------------------------------------------------- /debian/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | . /usr/share/debconf/confmodule 6 | 7 | extract() { 8 | [ -f /usr/share/sounds/sf2/TimGM6mb.sf2 ] && { cp /usr/share/sounds/sf2/TimGM6mb.sf2 /usr/share/games/stratagus/wargus/music; } 9 | 10 | db_stop || true # don't understand this 11 | return $? 12 | } 13 | 14 | if [ "$1" = "configure" ]; then 15 | extract || exit $? 16 | fi 17 | 18 | #DEBHELPER# 19 | 20 | exit 0 21 | -------------------------------------------------------------------------------- /debian/postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then 6 | rm -rf /usr/share/games/stratagus/wargus 7 | fi 8 | 9 | #DEBHELPER# 10 | 11 | exit 0 12 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /doc/pudconvert.6: -------------------------------------------------------------------------------- 1 | .TH PUDCONVERT 6 "Aug 2011" "Wargus v2.3" 2 | .SH NAME 3 | pudconvert \- Tool to convert Warcraft II map pud files to Stratagus map format 4 | .SH SYNOPSIS 5 | .B pudconvert 6 | .I "inputfile [outputdir]" 7 | .SH OPTIONS 8 | .TP 9 | .B inputfile 10 | Input Warcraft II pud file 11 | .TP 12 | .B outputdir 13 | Output directory where will be created map files 14 | .SH "SEE ALSO" 15 | .PD 0 16 | .TP 17 | \fIstratagus\fP(6), \fIwargus\fP(6), \fIwartool\fP(6) 18 | .SH NOTES 19 | Warcraft II is a registered trademark of Blizzard Entertainment. 20 | .SH AUTHOR 21 | Pudconvert is part of wartool, which is written by Lutz Sammer, Nehal Mistry, Jimmy Salmon, Pali Rohár and others. 22 | .PP 23 | This manual page was written by Pali Rohár . 24 | -------------------------------------------------------------------------------- /doc/wartool.6: -------------------------------------------------------------------------------- 1 | .TH WARTOOL 6 "Aug 2011" "Wargus v2.4" 2 | .SH NAME 3 | wartool \- Tool to extract the game data from your Warcraft II CD. 4 | .SH SYNOPSIS 5 | .B wartool 6 | .I "[-e|-n] [-m] [-v] [-r] [-V] [-h] archive-directory [destination-directory]" 7 | .SH OPTIONS 8 | .TP 9 | .B \-e 10 | The archive is expansion compatible (default: autodetect) 11 | .TP 12 | .B \-n 13 | The archive is not expansion compatible (default: autodetect) 14 | .TP 15 | .B \-v 16 | Extract and convert videos 17 | .TP 18 | .B \-r 19 | Rip and sound tracks from CD-ROM (needs original CD, no image/emulation) 20 | .TP 21 | .B \-V 22 | Show version 23 | .TP 24 | .B -h 25 | Show usage 26 | .TP 27 | .B archive-directory 28 | Directory which includes the archives maindat.war... 29 | .TP 30 | .B destination-directory 31 | Directory where the extracted files are placed 32 | .SH "SEE ALSO" 33 | .PD 0 34 | .TP 35 | \fIstratagus\fP(6), \fIwargus\fP(6), \fIpudconvert\fP(6) 36 | .SH NOTES 37 | Warcraft II is a registered trademark of Blizzard Entertainment. 38 | .SH AUTHOR 39 | Wartool is written by Lutz Sammer, Nehal Mistry, Jimmy Salmon, Pali Rohár and others. 40 | .PP 41 | This manual page was written by Pali Rohár . 42 | -------------------------------------------------------------------------------- /mac/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleGetInfoString 6 | Wargus 7 | CFBundleExecutable 8 | wargus 9 | CFBundleIdentifier 10 | wargus.stratagus.com.github.www 11 | CFBundleName 12 | Wargus 13 | CFBundleIconFile 14 | wargus 15 | CFBundleShortVersionString 16 | 3.3.3 17 | CFBundleInfoDictionaryVersion 18 | 6.0 19 | CFBundlePackageType 20 | APPL 21 | IFMajorVersion 22 | 2 23 | IFMinorVersion 24 | 4 25 | 26 | 27 | -------------------------------------------------------------------------------- /maps/fl/(8)rockfort-arena.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/fl/(8)rockfort-arena.png -------------------------------------------------------------------------------- /maps/ftm/(2)forgotten-forest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(2)forgotten-forest.png -------------------------------------------------------------------------------- /maps/ftm/(2)forgotten-forest.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V2.2.7 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("computer", "computer", "person", "person", "computer") 6 | PresentMap("Forgotten Forest", 2, 64, 256, 1) 7 | -------------------------------------------------------------------------------- /maps/ftm/(2)mushroom-panic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(2)mushroom-panic.png -------------------------------------------------------------------------------- /maps/ftm/(2)mushroom-panic.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V2.3 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("computer", "computer", "person", "person") 6 | PresentMap("Mushroom Panic", 2, 64, 256, 1) -------------------------------------------------------------------------------- /maps/ftm/(2)nicks-duel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(2)nicks-duel.png -------------------------------------------------------------------------------- /maps/ftm/(2)one-way-through.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(2)one-way-through.png -------------------------------------------------------------------------------- /maps/ftm/(4)beethoven-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(4)beethoven-day.png -------------------------------------------------------------------------------- /maps/ftm/(4)river-crossing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(4)river-crossing.png -------------------------------------------------------------------------------- /maps/ftm/(4)river-crossing.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V2.2.5.5 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("computer", "computer", "person", "person", "person", "person") 6 | PresentMap("", 4, 96, 256, 12) -------------------------------------------------------------------------------- /maps/ftm/(4)rockfort-arena.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(4)rockfort-arena.png -------------------------------------------------------------------------------- /maps/ftm/(4)winter-bloodbath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(4)winter-bloodbath.png -------------------------------------------------------------------------------- /maps/ftm/(4)winter-bloodbath.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V2.2.7 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("computer", "computer", "computer", "person", "person", "person") 6 | PresentMap("", 4, 96, 256, 14) 7 | -------------------------------------------------------------------------------- /maps/ftm/(5)black-flood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(5)black-flood.png -------------------------------------------------------------------------------- /maps/ftm/(8)darius.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/ftm/(8)darius.png -------------------------------------------------------------------------------- /maps/king/(4)reticle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/king/(4)reticle.png -------------------------------------------------------------------------------- /maps/king/(4)reticle.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V2.3.0-bzr9007 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("nobody", "nobody", "computer", "computer", "nobody", "computer", "person") 6 | PresentMap("(2)Reticle", 1, 64, 64, 3) 7 | -------------------------------------------------------------------------------- /maps/king/(4)tournament-forest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/king/(4)tournament-forest.png -------------------------------------------------------------------------------- /maps/king/(4)tournament-forest.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V2.3.0-bzr9007 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("person", "computer", "computer", "computer", "nobody", "rescue-active", "nobody", "rescue-active") 6 | PresentMap("(unnamed)", 1, 128, 128, 2) 7 | -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(2)timeless-isle.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(2)timeless-isle.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(2)timeless-isle.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(2)timeless-isle.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)central-park.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(4)central-park.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)central-park.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(4)central-park.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)central-park.txt: -------------------------------------------------------------------------------- 1 | File Name: (4)central-park.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Wasteland 5 | No Players: 4 6 | 7 | % Open Land: 40 8 | % Forest: 21 9 | % Water: 32 10 | % Mountains: 7 11 | 12 | Total Gold: 1,050,000 (12 mines) 13 | Total Oil: 60,000 (4 patches) 14 | Total Lumber: 263,700 15 | Start Mines: None 16 | Other Mines: 87,500 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=3000 O=1000) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Person - Orc 23 | (G=10000 L=3000 O=1000) 24 | 1 Peasant 25 | 26 | Player 3 (Green) Person - Human 27 | (G=10000 L=3000 O=1000) 28 | 1 Peasant 29 | 30 | Player 4 (Purple) Person - Orc 31 | (G=10000 L=3000 O=1000) 32 | 1 Peasant 33 | 34 | This file is part of Stratagus Media Project 35 | 36 | Stratagus Media Project is free media (incl. sounds, voices, music, 37 | fonts, graphics, animations, videos or 3d models; 38 | you can redistribute it and/or modify it under the terms 39 | of the GNU General Public License as published by the Free Software 40 | Foundation; only version 2 of the License. 41 | 42 | Stratagus Media Project is distributed in the hope that it will be 43 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 44 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 45 | GNU General Public License for more details. 46 | -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)just-land.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(4)just-land.png -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)just-land.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V3.0.1-gitc8e9433b54ffa1bdd02604b885bb7ef6578976f9 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("person", "person", "person", "person") 6 | PresentMap("Mirrors", 4, 128, 128, 1) 7 | -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)lake-in-the-middle.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(4)lake-in-the-middle.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)lake-in-the-middle.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(4)lake-in-the-middle.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(4)lake-in-the-middle.txt: -------------------------------------------------------------------------------- 1 | File Name: (4)lake-in-the-middle.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 4 6 | 7 | % Open Land: 41 8 | % Forest: 24 9 | % Water: 33 10 | % Mountains: 2 11 | 12 | Total Gold: 1,050,000 (12 mines) 13 | Total Oil: 120,000 (8 patches) 14 | Total Lumber: 318,300 15 | Start Mines: None 16 | Other Mines: 87,500 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=3000 O=1000) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Person - Orc 23 | (G=10000 L=3000 O=1000) 24 | 1 Peasant 25 | 26 | Player 3 (Green) Person - Human 27 | (G=10000 L=3000 O=1000) 28 | 1 Peasant 29 | 30 | Player 4 (Purple) Person - Orc 31 | (G=10000 L=3000 O=1000) 32 | 1 Peasant 33 | 34 | This file is part of Stratagus Media Project 35 | 36 | Stratagus Media Project is free media (incl. sounds, voices, music, 37 | fonts, graphics, animations, videos or 3d models; 38 | you can redistribute it and/or modify it under the terms 39 | of the GNU General Public License as published by the Free Software 40 | Foundation; only version 2 of the License. 41 | 42 | Stratagus Media Project is distributed in the hope that it will be 43 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 44 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 45 | GNU General Public License for more details. 46 | -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(6)many-ways-to-rome.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(6)many-ways-to-rome.bmp -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(6)many-ways-to-rome.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(6)many-ways-to-rome.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(6)many-ways-to-rome.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(6)many-ways-to-rome.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(7)socotra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(7)socotra.png -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(7)socotra.smp: -------------------------------------------------------------------------------- 1 | -- Stratagus Map Presentation 2 | -- File generated by the Stratagus V2.3.0-bzr9007 builtin map editor. 3 | -- File licensed under the GNU GPL version 2. 4 | 5 | DefinePlayerTypes("person", "person", "person", "person", "person", "person", "person") 6 | PresentMap("", 7, 256, 256, 1) 7 | -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(8)farscape2006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(8)farscape2006.png -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(8)farscape2006.pud: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(8)farscape2006.pud -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(8)farscape2006.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(8)farscape2006.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(8)farscape2006.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(8)farscape2006.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(8)farscape2008.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(8)farscape2008.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(8)farscape2008.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/multiplayer/(8)farscape2008.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/multiplayer/(8)farscape2008.txt: -------------------------------------------------------------------------------- 1 | 2 | (8)farscape2008.pud 3 | 4 | A 128x128 8 player map, named after the tv show. 5 | 6 | My 2006 pud of a similar name had a number of errors which I hope this one elimiates. 7 | 8 | I've also balanced the map some more. 9 | 10 | Hopefully this should provide a fresh experiance for fans of (8)farscape.pud 11 | 12 | I recommend playing (8)farscape.pud with a few friends and then going to (8)farscape2008.pud, just to confuse them. :) 13 | 14 | Copyright (c) 2008 by Kyran -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)blick-nach-oben.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)blick-nach-oben.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)blick-nach-oben.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)blick-nach-oben.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)blick-nach-oben.txt: -------------------------------------------------------------------------------- 1 | File Name: (2)blick-nach-oben.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 45 8 | % Forest: 24 9 | % Water: 24 10 | % Mountains: 7 11 | 12 | Total Gold: 900,000 (6 mines) 13 | Total Oil: 60,000 (2 patches) 14 | Total Lumber: 316,800 15 | Start Mines: None 16 | Other Mines: 150,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=3000 O=1000) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Computer - Orc 23 | (G=10000 L=3000 O=1000) 24 | 1 Peon 25 | 26 | This file is part of Stratagus Media Project 27 | 28 | Stratagus Media Project is free media (incl. sounds, voices, music, 29 | fonts, graphics, animations, videos or 3d models; 30 | you can redistribute it and/or modify it under the terms 31 | of the GNU General Public License as published by the Free Software 32 | Foundation; only version 2 of the License. 33 | 34 | Stratagus Media Project is distributed in the hope that it will be 35 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 36 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 37 | GNU General Public License for more details. 38 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)east-west-conflict.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)east-west-conflict.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)east-west-conflict.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)east-west-conflict.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)east-west-conflict.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)east-west-conflict.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)east-west-conflict.txt: -------------------------------------------------------------------------------- 1 | File Name: (2)east-west-conflict.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Winter 5 | No Players: 1 6 | 7 | % Open Land: 18 8 | % Forest: 52 9 | % Water: 18 10 | % Mountains: 12 11 | 12 | Total Gold: 790,000 (6 mines) 13 | Total Oil: 150,000 (6 patches) 14 | Total Lumber: 748,600 15 | Start Mines: None 16 | Other Mines: 65,000 - 190,000 17 | 18 | Player 1 (Red) Computer - Orc 19 | (G=2500 L=1500 O=1000) 20 | 2 Peon 21 | 1 Orc Tanker 22 | 1 Orc Transport 23 | 2 Troll Destroyer 24 | 1 Goblin Zepplin 25 | 2 Dragon 26 | 2 Pig Farm 27 | 1 Orc Shipyard 28 | 1 Great Hall 29 | 30 | Player 6 (Black) Person - Human 31 | (G=2500 L=1500 O=1000) 32 | 2 Peasant 33 | 1 Human Tanker 34 | 1 Human Transport 35 | 2 Elven Destroyer 36 | 1 Gnomish Flying Machine 37 | 2 Gryphon Rider 38 | 2 Farm 39 | 1 Human Shipyard 40 | 1 Town Hall 41 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)king-in-stone.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)king-in-stone.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)king-in-stone.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)king-in-stone.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)king-in-stone.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)king-in-stone.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)no-mans-land.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)no-mans-land.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)no-mans-land.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)no-mans-land.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)no-mans-land.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)no-mans-land.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)nord-sued-konflikt.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)nord-sued-konflikt.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)nord-sued-konflikt.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)nord-sued-konflikt.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)nord-sued-konflikt.txt: -------------------------------------------------------------------------------- 1 | File Name: (2)nord-sued-konflikt.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 36 8 | % Forest: 33 9 | % Water: 29 10 | % Mountains: 2 11 | 12 | Total Gold: 600,000 (4 mines) 13 | Total Oil: 60,000 (2 patches) 14 | Total Lumber: 440,700 15 | Start Mines: None 16 | Other Mines: 150,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=3000 O=1000) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Computer - Orc 23 | (G=10000 L=3000 O=1000) 24 | 1 Peon 25 | 26 | This file is part of Stratagus Media Project 27 | 28 | Stratagus Media Project is free media (incl. sounds, voices, music, 29 | fonts, graphics, animations, videos or 3d models; 30 | you can redistribute it and/or modify it under the terms 31 | of the GNU General Public License as published by the Free Software 32 | Foundation; only version 2 of the License. 33 | 34 | Stratagus Media Project is distributed in the hope that it will be 35 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 36 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 37 | GNU General Public License for more details. 38 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)nordische-seenplatte.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)nordische-seenplatte.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)nordische-seenplatte.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)nordische-seenplatte.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)nordische-seenplatte.txt: -------------------------------------------------------------------------------- 1 | File Name: (2)nordische-seenplatte.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 46 8 | % Forest: 30 9 | % Water: 20 10 | % Mountains: 4 11 | 12 | Total Gold: 900,000 (6 mines) 13 | Total Oil: 60,000 (2 patches) 14 | Total Lumber: 410,300 15 | Start Mines: None 16 | Other Mines: 150,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=3000 O=1000) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Computer - Orc 23 | (G=10000 L=3000 O=1000) 24 | 1 Peon 25 | 26 | This file is part of Stratagus Media Project 27 | 28 | Stratagus Media Project is free media (incl. sounds, voices, music, 29 | fonts, graphics, animations, videos or 3d models; 30 | you can redistribute it and/or modify it under the terms 31 | of the GNU General Public License as published by the Free Software 32 | Foundation; only version 2 of the License. 33 | 34 | Stratagus Media Project is distributed in the hope that it will be 35 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 36 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 37 | GNU General Public License for more details. 38 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)oily-wars.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)oily-wars.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)oily-wars.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)oily-wars.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)the-right-strategy.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)the-right-strategy.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)the-right-strategy.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)the-right-strategy.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)the-right-strategy.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)the-right-strategy.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)zeit-fuer-entscheidungen.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)zeit-fuer-entscheidungen.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)zeit-fuer-entscheidungen.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(2)zeit-fuer-entscheidungen.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(2)zeit-fuer-entscheidungen.txt: -------------------------------------------------------------------------------- 1 | File Name: (2)zeit-fuer-entscheidungen.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Winter 5 | No Players: 1 6 | 7 | % Open Land: 33 8 | % Forest: 42 9 | % Water: 21 10 | % Mountains: 4 11 | 12 | Total Gold: 630,000 (6 mines) 13 | Total Oil: 60,000 (2 patches) 14 | Total Lumber: 576,000 15 | Start Mines: None 16 | Other Mines: 15,000 - 150,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=3000 O=1000) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Computer - Orc 23 | (G=10000 L=3000 O=1000) 24 | 1 Peon 25 | 26 | This file is part of Stratagus Media Project 27 | 28 | Stratagus Media Project is free media (incl. sounds, voices, music, 29 | fonts, graphics, animations, videos or 3d models; 30 | you can redistribute it and/or modify it under the terms 31 | of the GNU General Public License as published by the Free Software 32 | Foundation; only version 2 of the License. 33 | 34 | Stratagus Media Project is distributed in the hope that it will be 35 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 36 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 37 | GNU General Public License for more details. 38 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)around-the-sea.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)around-the-sea.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)calculate.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)calculate.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)calculate.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)calculate.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)calculate.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)calculate.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)calculate.txt: -------------------------------------------------------------------------------- 1 | File Name: (3)calculate.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 14 8 | % Forest: 73 9 | % Water: 13 10 | % Mountains: 0 11 | 12 | Total Gold: 1,535,000 (14 mines) 13 | Total Oil: 180,000 (6 patches) 14 | Total Lumber: 1,041,300 15 | Start Mines: 15,000 16 | Other Mines: 15,000 - 170,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=3000 L=1000 O=750) 20 | 1 Peasant 21 | 2 Farm 22 | 1 Town Hall 23 | 24 | Player 4 (Purple) Computer - Orc 25 | (G=3000 L=1000 O=750) 26 | 1 Peon 27 | 2 Pig Farm 28 | 1 Great Hall 29 | 30 | Player 5 (Orange) Computer - Orc 31 | (G=3000 L=1000 O=750) 32 | 14 Dragon 33 | 34 | Player 6 (Black) Computer - Human 35 | (G=3000 L=1000 O=750) 36 | 1 Peasant 37 | 2 Farm 38 | 1 Town Hall 39 | 40 | Player 8 (Yellow) Computer - Orc 41 | (G=3000 L=1000 O=750) 42 | 6 Troll Destroyer 43 | 12 Giant Turtle 44 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)frosty-rescue.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)frosty-rescue.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)frosty-rescue.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)frosty-rescue.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)little-ambush.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)little-ambush.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)little-ambush.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)little-ambush.txt -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)man-on-the-moon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)man-on-the-moon.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)man-on-the-moon.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)man-on-the-moon.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)man-on-the-moon.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)man-on-the-moon.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)no-mans-land.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)no-mans-land.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)no-mans-land.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)no-mans-land.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)one-two-three.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)one-two-three.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)one-two-three.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)one-two-three.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)one-two-three.txt: -------------------------------------------------------------------------------- 1 | File Name: (3)one-two-three.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 34 8 | % Forest: 33 9 | % Water: 19 10 | % Mountains: 14 11 | 12 | Total Gold: 1,575,000 (9 mines) 13 | Total Oil: 345,000 (9 patches) 14 | Total Lumber: 462,900 15 | Start Mines: None 16 | Other Mines: 30,000 - 400,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=5000 L=2000 O=1000) 20 | 1 Peasant 21 | 1 Human Tanker 22 | 1 Farm 23 | 24 | Player 2 (Blue) Computer - Orc 25 | (G=5000 L=2000 O=1000) 26 | 1 Peon 27 | 1 Orc Tanker 28 | 1 Pig Farm 29 | 30 | Player 3 (Green) Computer - Orc 31 | (G=5000 L=2000 O=1000) 32 | 1 Peon 33 | 1 Orc Tanker 34 | 1 Pig Farm 35 | 36 | This file is part of Stratagus Media Project 37 | 38 | Stratagus Media Project is free media (incl. sounds, voices, music, 39 | fonts, graphics, animations, videos or 3d models; 40 | you can redistribute it and/or modify it under the terms 41 | of the GNU General Public License as published by the Free Software 42 | Foundation; only version 2 of the License. 43 | 44 | Stratagus Media Project is distributed in the hope that it will be 45 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 46 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 47 | GNU General Public License for more details. 48 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)sea-wars.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)sea-wars.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)sea-wars.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)sea-wars.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)three-frontiers.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)three-frontiers.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(3)three-frontiers.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(3)three-frontiers.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)4-corners.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)4-corners.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)4-corners.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)4-corners.txt -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)4-isl.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)4-isl.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)4-isl.txt: -------------------------------------------------------------------------------- 1 | 2 | (4)4-isl.pud 3 | 4 | Multiplayer map made for 4 players containing a number of tacticly 5 | placed ilands. 6 | 7 | (c) Copyright 2002 by John Ericson 8 | 9 | This file is part of Stratagus Media Project 10 | 11 | Stratagus Media Project is free media (incl. sounds, voices, music, 12 | fonts, graphics, animations, videos or 3d models; 13 | you can redistribute it and/or modify it under the terms 14 | of the GNU General Public License as published by the Free Software 15 | Foundation; only version 2 of the License. 16 | 17 | Stratagus Media Project is distributed in the hope that it will be 18 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 19 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | GNU General Public License for more details. 21 | 22 | $ID: $ 23 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)arctic-goldrush.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)arctic-goldrush.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)arctic-goldrush.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)arctic-goldrush.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)arctic-goldrush.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)arctic-goldrush.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)chop-the-trees.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)chop-the-trees.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)chop-the-trees.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)chop-the-trees.txt -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)circle-hill.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)circle-hill.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)circle-hill.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)circle-hill.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)circle-hill.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)circle-hill.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)criss_cross.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)criss_cross.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)criss_cross2.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)criss_cross2.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)criss_cross2.txt: -------------------------------------------------------------------------------- 1 | 2 | (4)criss_cross2.pud 3 | 4 | This is a 2 player map, good on 2 on 2 and free for all. the primary 5 | mines ( the ones you start with ...) contain 140k and the expansion 6 | mines contain 60k. There's one in the middle which has the most in 7 | quantity. it has 500k + inside it. I hope you have fun with it. =) 8 | 9 | (c) Copyright 2002 by Carlo Almario 10 | 11 | This file is part of Stratagus Media Project 12 | 13 | Stratagus Media Project is free media (incl. sounds, voices, music, 14 | fonts, graphics, animations, videos or 3d models; 15 | you can redistribute it and/or modify it under the terms 16 | of the GNU General Public License as published by the Free Software 17 | Foundation; only version 2 of the License. 18 | 19 | Stratagus Media Project is distributed in the hope that it will be 20 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 21 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | GNU General Public License for more details. 23 | 24 | $ID: $ 25 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)east-lakes.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)east-lakes.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)east-lakes.txt: -------------------------------------------------------------------------------- 1 | File Name: (4)east-lakes.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Wasteland 5 | No Players: 2 6 | 7 | % Open Land: 33 8 | % Forest: 42 9 | % Water: 24 10 | % Mountains: 1 11 | 12 | Total Gold: 800,000 (8 mines) 13 | Total Oil: 200,000 (4 patches) 14 | Total Lumber: 566,600 15 | Start Mines: None 16 | Other Mines: 100,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=5000 O=1500) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Person - Human 23 | (G=10000 L=3000 O=1000) 24 | 1 Peasant 25 | 26 | Player 3 (Green) Computer - Orc 27 | (G=10000 L=3000 O=1000) 28 | 1 Peon 29 | 30 | Player 4 (Purple) Computer - Orc 31 | (G=10000 L=3000 O=1000) 32 | 1 Peon 33 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)green-hell.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)green-hell.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)green-hell.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)green-hell.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)holy-forest.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)holy-forest.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)holy-forest.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)holy-forest.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)holy-forest.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)holy-forest.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)little-island.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)little-island.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)little-island.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)little-island.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)little-island.txt: -------------------------------------------------------------------------------- 1 | File Name: (4)little-island.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 34 8 | % Forest: 24 9 | % Water: 41 10 | % Mountains: 1 11 | 12 | Total Gold: 1,200,000 (8 mines) 13 | Total Oil: 400,000 (8 patches) 14 | Total Lumber: 302,500 15 | Start Mines: 150,000 16 | Other Mines: 150,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=10000 L=3000 O=1000) 20 | 1 Peasant 21 | 22 | Player 2 (Blue) Computer - Orc 23 | (G=10000 L=3000 O=1000) 24 | 1 Peon 25 | 26 | Player 3 (Green) Computer - Human 27 | (G=10000 L=3000 O=1000) 28 | 1 Peasant 29 | 30 | Player 4 (Purple) Computer - Orc 31 | (G=10000 L=3000 O=1000) 32 | 1 Peon 33 | 34 | This file is part of Stratagus Media Project 35 | 36 | Stratagus Media Project is free media (incl. sounds, voices, music, 37 | fonts, graphics, animations, videos or 3d models; 38 | you can redistribute it and/or modify it under the terms 39 | of the GNU General Public License as published by the Free Software 40 | Foundation; only version 2 of the License. 41 | 42 | Stratagus Media Project is distributed in the hope that it will be 43 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 44 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 45 | GNU General Public License for more details. 46 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)look-around.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)look-around.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)look-around.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)look-around.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)pathfinders.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)pathfinders.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)pathfinders.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)pathfinders.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)pathfinders.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)pathfinders.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)scandinavia.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)scandinavia.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)scandinavia.txt: -------------------------------------------------------------------------------- 1 | 2 | (4)scandinavia.pud 3 | 4 | I saw a map of USA and got the idea to make a map of scandinavia in 5 | europe. The map might not be the most fair because I wanted to place 6 | the resources as lifelike as possible. It's good for multiplayer with 7 | 4-5 players. 8 | 9 | (c) Copyright 2002 by John Ericson 10 | 11 | This file is part of Stratagus Media Project 12 | 13 | Stratagus Media Project is free media (incl. sounds, voices, music, 14 | fonts, graphics, animations, videos or 3d models; 15 | you can redistribute it and/or modify it under the terms 16 | of the GNU General Public License as published by the Free Software 17 | Foundation; only version 2 of the License. 18 | 19 | Stratagus Media Project is distributed in the hope that it will be 20 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 21 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | GNU General Public License for more details. 23 | 24 | $ID: $ 25 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)smile.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)smile.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)smile.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)smile.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)smile.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)smile.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)smile.txt: -------------------------------------------------------------------------------- 1 | File Name: (4)smile.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 20 8 | % Forest: 58 9 | % Water: 14 10 | % Mountains: 8 11 | 12 | Total Gold: 1,960,000 (10 mines) 13 | Total Oil: 200,000 (6 patches) 14 | Total Lumber: 830,600 15 | Start Mines: None 16 | Other Mines: 90,000 - 500,000 17 | 18 | Player 1 (Red) Computer - Orc 19 | (G=2500 L=1500 O=1000) 20 | 1 Peon 21 | 22 | Player 2 (Blue) Computer - Orc 23 | (G=2500 L=1500 O=1000) 24 | 1 Peon 25 | 26 | Player 3 (Green) Computer - Orc 27 | (G=2500 L=1500 O=1000) 28 | 1 Peon 29 | 30 | Player 6 (Black) Person - Human 31 | (G=2500 L=1500 O=1000) 32 | 1 Peasant 33 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)think-like-your-enemy.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)think-like-your-enemy.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)think-like-your-enemy.txt: -------------------------------------------------------------------------------- 1 | File Name: (4)think-like-your-enemy.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Wasteland 5 | No Players: 1 6 | 7 | % Open Land: 45 8 | % Forest: 35 9 | % Water: 20 10 | % Mountains: 0 11 | 12 | Total Gold: 1,180,000 (12 mines) 13 | Total Oil: 200,000 (9 patches) 14 | Total Lumber: 490,900 15 | Start Mines: None 16 | Other Mines: 40,000 - 165,000 17 | 18 | Player 1 (Red) Computer - Orc 19 | (G=3000 L=1500 O=1000) 20 | 1 Peon 21 | 1 Cho'gall 22 | 1 Pig Farm 23 | 1 Orc Scout Tower 24 | 25 | Player 2 (Blue) Computer - Orc 26 | (G=1000 L=1000 O=1000) 27 | 1 Peon 28 | 1 Cho'gall 29 | 1 Pig Farm 30 | 1 Orc Scout Tower 31 | 32 | Player 3 (Green) Computer - Orc 33 | (G=1000 L=1000 O=1000) 34 | 1 Peon 35 | 1 Zuljin 36 | 1 Daemon 37 | 1 Pig Farm 38 | 1 Orc Scout Tower 39 | 40 | Player 5 (Orange) Person - Human 41 | (G=1000 L=1000 O=1000) 42 | 1 Peasant 43 | 1 Lothar 44 | 1 Farm 45 | 1 Human Scout Tower 46 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-continent.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-continent.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-continent.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-continent.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-continent.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-continent.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-forest.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-forest.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-forest.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-forest.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-forest.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-forest.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-islands.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-islands.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-islands.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-islands.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)tournament-islands.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)tournament-islands.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)what-can-you-do.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)what-can-you-do.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)what-can-you-do.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)what-can-you-do.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)what-can-you-do.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)what-can-you-do.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)what-can-you-do.txt: -------------------------------------------------------------------------------- 1 | File Name: (4)what-can-you-do.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 36 8 | % Forest: 43 9 | % Water: 12 10 | % Mountains: 9 11 | 12 | Total Gold: 1,585,000 (15 mines) 13 | Total Oil: 130,000 (6 patches) 14 | Total Lumber: 599,100 15 | Start Mines: 90,000 16 | Other Mines: 70,000 - 140,000 17 | 18 | Player 1 (Red) Computer - Orc 19 | (G=1000 L=1000 O=1000) 20 | 1 Peon 21 | 2 Orc Tanker 22 | 1 Troll Destroyer 23 | 1 Pig Farm 24 | 25 | Player 5 (Orange) Computer - Orc 26 | (G=1000 L=1000 O=1000) 27 | 1 Grunt 28 | 1 Peon 29 | 1 Catapult 30 | 1 Axethrower 31 | 1 Pig Farm 32 | 33 | Player 6 (Black) Person - Human 34 | (G=1000 L=1000 O=1000) 35 | 1 Footman 36 | 1 Peasant 37 | 1 Archer 38 | 1 Human Tanker 39 | 1 Gnomish Flying Machine 40 | 1 Farm 41 | 42 | Player 7 (White) Rescue - Orc 43 | (G=1000 L=1000 O=1000) 44 | 2 Peon 45 | 1 Catapult 46 | 1 Ogre 47 | 1 Axethrower 48 | 2 Pig Farm 49 | 1 Great Hall 50 | 51 | Player 8 (Yellow) Computer - Orc 52 | (G=1000 L=1000 O=1000) 53 | 1 Peon 54 | 1 Goblin Zepplin 55 | 2 Dragon 56 | 1 Pig Farm 57 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)woody-islands.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)woody-islands.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)woody-islands.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)woody-islands.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)woody-islands.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)woody-islands.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)you-have-to-look-around.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)you-have-to-look-around.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)you-have-to-look-around.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)you-have-to-look-around.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(4)you-have-to-look-around.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(4)you-have-to-look-around.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)diablospiral.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)diablospiral.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)diablospiral.txt: -------------------------------------------------------------------------------- 1 | 2 | (5)diablospiral.pud 3 | 4 | Just a simple 96x96 five player winter map, in the form of a spiral. 5 | 6 | Copyright (c) 2002 by Patrick McFarland 7 | 8 | This file is part of Stratagus Media Project 9 | 10 | Stratagus Media Project is free media (incl. sounds, voices, music, 11 | fonts, graphics, animations, videos or 3d models; 12 | you can redistribute it and/or modify it under the terms 13 | of the GNU General Public License as published by the Free Software 14 | Foundation; only version 2 of the License. 15 | 16 | Stratagus Media Project is distributed in the hope that it will be 17 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 18 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)many-ways-to-beat.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)many-ways-to-beat.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)many-ways-to-beat.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)many-ways-to-beat.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)many-ways-to-beat.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)many-ways-to-beat.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)many-ways-to-beat.txt: -------------------------------------------------------------------------------- 1 | File Name: (5)many-ways-to-beat.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 39 8 | % Forest: 41 9 | % Water: 20 10 | % Mountains: 0 11 | 12 | Total Gold: 2,280,000 (17 mines) 13 | Total Oil: 155,000 (8 patches) 14 | Total Lumber: 564,300 15 | Start Mines: 140,000 16 | Other Mines: 90,000 - 140,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=2500 L=1500 O=1000) 20 | 1 Peasant 21 | 1 Human Tanker 22 | 1 Farm 23 | 24 | Player 2 (Blue) Computer - Human 25 | (G=2500 L=1500 O=1000) 26 | 1 Peasant 27 | 1 Gnomish Flying Machine 28 | 1 Farm 29 | 30 | Player 6 (Black) Computer - Orc 31 | (G=2500 L=1500 O=1000) 32 | 1 Peon 33 | 1 Orc Tanker 34 | 1 Pig Farm 35 | 36 | Player 7 (White) Computer - Orc 37 | (G=2500 L=1500 O=1000) 38 | 1 Peon 39 | 1 Goblin Zepplin 40 | 1 Pig Farm 41 | 42 | Player 8 (Yellow) Computer - Orc 43 | (G=2500 L=1500 O=1000) 44 | 1 Pig Farm 45 | 1 Great Hall 46 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)speed-is-the-key.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)speed-is-the-key.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)speed-is-the-key.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)speed-is-the-key.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)speed-is-the-key.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)speed-is-the-key.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)the-pentagon.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)the-pentagon.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)the-pentagon.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)the-pentagon.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)the-pentagon.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)the-pentagon.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)the-pentagon.txt: -------------------------------------------------------------------------------- 1 | File Name: (5)the-pentagon.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Wasteland 5 | No Players: 2 6 | 7 | % Open Land: 29 8 | % Forest: 57 9 | % Water: 14 10 | % Mountains: 0 11 | 12 | Total Gold: 1,150,000 (10 mines) 13 | Total Oil: 0 14 | Total Lumber: 820,700 15 | Start Mines: 115,000 16 | Other Mines: 115,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=1500 L=1000 O=1000) 20 | 1 Runestone 21 | 22 | Player 4 (Purple) Person - Human 23 | (G=1500 L=1000 O=1000) 24 | 1 Peasant 25 | 1 Lothar 26 | 1 Zuljin 27 | 28 | Player 5 (Orange) Computer - Orc 29 | (G=1500 L=1000 O=1000) 30 | 1 Peon 31 | 1 Gul'dan 32 | 33 | Player 6 (Black) Computer - Orc 34 | (G=1500 L=1000 O=1000) 35 | 1 Peon 36 | 1 Cho'gall 37 | 38 | Player 7 (White) Computer - Human 39 | (G=1500 L=1000 O=1000) 40 | 1 Peasant 41 | 1 Uther Lightbringer 42 | 43 | Player 8 (Yellow) Computer - Orc 44 | (G=1500 L=1000 O=1000) 45 | 1 Peon 46 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)venedig.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)venedig.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)venedig.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)venedig.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(5)venedig.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(5)venedig.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)all-against-the-floods.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)all-against-the-floods.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)all-against-the-floods.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)all-against-the-floods.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)all-against-the-floods.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)all-against-the-floods.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)all-against-the-floods.txt: -------------------------------------------------------------------------------- 1 | File Name: (6)all-against-the-floods.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Wasteland 5 | No Players: 1 6 | 7 | % Open Land: 44 8 | % Forest: 30 9 | % Water: 26 10 | % Mountains: 0 11 | 12 | Total Gold: 2,160,000 (19 mines) 13 | Total Oil: 240,000 (9 patches) 14 | Total Lumber: 412,000 15 | Start Mines: None 16 | Other Mines: 90,000 - 290,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=2500 L=1500 O=1000) 20 | 1 Peasant 21 | 1 Human Tanker 22 | 23 | Player 2 (Blue) Computer - Human 24 | (G=2500 L=1500 O=1000) 25 | 1 Footman 26 | 1 Peasant 27 | 28 | Player 3 (Green) Computer - Human 29 | (G=2500 L=1500 O=1000) 30 | 1 Peasant 31 | 1 Gnomish Flying Machine 32 | 33 | Player 6 (Black) Computer - Orc 34 | (G=2500 L=1500 O=1000) 35 | 1 Peon 36 | 1 Orc Tanker 37 | 38 | Player 7 (White) Computer - Orc 39 | (G=2500 L=1500 O=1000) 40 | 1 Grunt 41 | 1 Peon 42 | 43 | Player 8 (Yellow) Computer - Orc 44 | (G=2500 L=1500 O=1000) 45 | 1 Peon 46 | 1 Goblin Zepplin 47 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)can-you-swim.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)can-you-swim.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)can-you-swim.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)can-you-swim.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)can-you-swim.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)can-you-swim.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)different-ways.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)different-ways.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)different-ways.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)different-ways.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(6)different-ways.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(6)different-ways.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(7)many-frontiers.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(7)many-frontiers.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(7)many-frontiers.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(7)many-frontiers.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(7)many-frontiers.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(7)many-frontiers.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)altar-in-the-middle.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)altar-in-the-middle.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)altar-in-the-middle.txt: -------------------------------------------------------------------------------- 1 | 2 | (8)Altar-in-the-middle.pud 3 | 4 | A common map with a GOWish theme. 5 | 6 | (c) Copyright 2002 by Carlo Almario 7 | 8 | This file is part of Stratagus Media Project 9 | 10 | Stratagus Media Project is free media (incl. sounds, voices, music, 11 | fonts, graphics, animations, videos or 3d models; 12 | you can redistribute it and/or modify it under the terms 13 | of the GNU General Public License as published by the Free Software 14 | Foundation; only version 2 of the License. 15 | 16 | Stratagus Media Project is distributed in the hope that it will be 17 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 18 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)are-you-lucky.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)are-you-lucky.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)are-you-lucky.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)are-you-lucky.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)are-you-lucky.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)are-you-lucky.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)death-in-the-rocks.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)death-in-the-rocks.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)death-in-the-rocks.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)death-in-the-rocks.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)death-in-the-rocks.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)death-in-the-rocks.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)diabloarena.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)diabloarena.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)diabloarena.txt: -------------------------------------------------------------------------------- 1 | 2 | (8)diabloarena.pud 3 | 4 | A 128x128 arena map with a cool symbol in the middle. 5 | 6 | Copyright (c) 2002 by Patrick McFarland 7 | 8 | This file is part of Stratagus Media Project 9 | 10 | Stratagus Media Project is free media (incl. sounds, voices, music, 11 | fonts, graphics, animations, videos or 3d models; 12 | you can redistribute it and/or modify it under the terms 13 | of the GNU General Public License as published by the Free Software 14 | Foundation; only version 2 of the License. 15 | 16 | Stratagus Media Project is distributed in the hope that it will be 17 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 18 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)diablodarkwood.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)diablodarkwood.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)diablodarkwood.txt: -------------------------------------------------------------------------------- 1 | 2 | (8)diablodarkwood.pud 3 | 4 | A 128x128 8 player map, in the style of Blizzard's Garden of War, 5 | set in the deep forest of Darkwood. 6 | 7 | Copyright (c) 2003 by Patrick McFarland 8 | 9 | This file is part of Stratagus Media Project 10 | 11 | Stratagus Media Project is free media (incl. sounds, voices, music, 12 | fonts, graphics, animations, videos or 3d models; 13 | you can redistribute it and/or modify it under the terms 14 | of the GNU General Public License as published by the Free Software 15 | Foundation; only version 2 of the License. 16 | 17 | Stratagus Media Project is distributed in the hope that it will be 18 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 19 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | GNU General Public License for more details. 21 | 22 | 23 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)diablomaze.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)diablomaze.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)diablomaze.txt: -------------------------------------------------------------------------------- 1 | 2 | (8)diablomaze.pud 3 | 4 | A large 256x256, confusing, maze of rocks and forest. 5 | 6 | Copyright (c) 2002 by Patrick McFarland 7 | 8 | This file is part of Stratagus Media Project 9 | 10 | Stratagus Media Project is free media (incl. sounds, voices, music, 11 | fonts, graphics, animations, videos or 3d models; 12 | you can redistribute it and/or modify it under the terms 13 | of the GNU General Public License as published by the Free Software 14 | Foundation; only version 2 of the License. 15 | 16 | Stratagus Media Project is distributed in the hope that it will be 17 | useful, but WITHOUT ANY WARRANTY; without even the implied warranty 18 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | GNU General Public License for more details. 20 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)everywhere.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)everywhere.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)everywhere.txt: -------------------------------------------------------------------------------- 1 | File Name: (8)everywhere.pud 2 | Description: 3 | Dimensions: 128 x 128 4 | Terrain: Forest 5 | No Players: 1 6 | 7 | % Open Land: 37 8 | % Forest: 55 9 | % Water: 6 10 | % Mountains: 2 11 | 12 | Total Gold: 1,620,000 (18 mines) 13 | Total Oil: 60,000 (4 patches) 14 | Total Lumber: 769,800 15 | Start Mines: None 16 | Other Mines: 90,000 17 | 18 | Player 1 (Red) Person - Human 19 | (G=1000 L=1000 O=1000) 20 | 2 Peasant 21 | 1 Archer 22 | 1 Farm 23 | 24 | Player 2 (Blue) Computer - Human 25 | (G=1000 L=1000 O=1000) 26 | 1 Footman 27 | 2 Peasant 28 | 1 Farm 29 | 30 | Player 3 (Green) Computer - Human 31 | (G=1000 L=1000 O=1000) 32 | 2 Peasant 33 | 1 Archer 34 | 1 Farm 35 | 1 Runestone 36 | 37 | Player 4 (Purple) Computer - Orc 38 | (G=1000 L=1000 O=1000) 39 | 2 Peon 40 | 1 Troll Destroyer 41 | 1 Pig Farm 42 | 43 | Player 5 (Orange) Computer - Orc 44 | (G=1000 L=1000 O=1000) 45 | 1 Grunt 46 | 2 Peon 47 | 1 Pig Farm 48 | 49 | Player 6 (Black) Computer - Human 50 | (G=1000 L=1000 O=1000) 51 | 2 Peasant 52 | 1 Gryphon Rider 53 | 1 Farm 54 | 55 | Player 7 (White) Computer - Orc 56 | (G=1000 L=1000 O=1000) 57 | 2 Peon 58 | 1 Death Knight 59 | 1 Pig Farm 60 | 61 | Player 8 (Yellow) Computer - Orc 62 | (G=1000 L=1000 O=1000) 63 | 2 Peon 64 | 1 Goblin Zepplin 65 | 1 Pig Farm 66 | -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)fc-deathmatch-plain.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)fc-deathmatch-plain.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)fc-deathmatch-x.pud.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)fc-deathmatch-x.pud.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)oil-is-the-key.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)oil-is-the-key.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)oil-is-the-key.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)oil-is-the-key.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)oil-is-the-key.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)oil-is-the-key.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)roads-to-the-coasts.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)roads-to-the-coasts.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)roads-to-the-coasts.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)roads-to-the-coasts.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)roads-to-the-coasts.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)roads-to-the-coasts.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)tournament-continent.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)tournament-continent.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)tournament-continent.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)tournament-continent.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)tournament-continent.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)tournament-continent.sms.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)tournament-islands.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)tournament-islands.bmp -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)tournament-islands.smp.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)tournament-islands.smp.gz -------------------------------------------------------------------------------- /maps/skirmish/singleplayer/(8)tournament-islands.sms.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/maps/skirmish/singleplayer/(8)tournament-islands.sms.gz -------------------------------------------------------------------------------- /scripts/lib/classes.lua: -------------------------------------------------------------------------------- 1 | function class(base, init) 2 | local c = {} -- a new class instance 3 | if not init and type(base) == 'function' then 4 | init = base 5 | base = nil 6 | elseif type(base) == 'table' then 7 | -- our new class is a shallow copy of the base class! 8 | for i,v in pairs(base) do 9 | c[i] = v 10 | end 11 | c._base = base 12 | end 13 | -- the class will be the metatable for all its objects, 14 | -- and they will look up their methods in it. 15 | c.__index = c 16 | 17 | -- expose a constructor which can be called by () 18 | local mt = {} 19 | mt.__call = function(class_tbl, ...) 20 | local obj = {} 21 | setmetatable(obj,c) 22 | if init then 23 | init(obj,...) 24 | else 25 | -- make sure that any stuff from the base class is initialized! 26 | if base and base.init then 27 | base.init(obj, ...) 28 | end 29 | end 30 | return obj 31 | end 32 | c.init = init 33 | c.is_a = function(self, klass) 34 | local m = getmetatable(self) 35 | while m do 36 | if m == klass then return true end 37 | m = m._base 38 | end 39 | return false 40 | end 41 | setmetatable(c, mt) 42 | return c 43 | end 44 | -------------------------------------------------------------------------------- /scripts/menus/objectives.lua: -------------------------------------------------------------------------------- 1 | function RunObjectivesMenu() 2 | local menu = WarGameMenu(panel(1)) 3 | 4 | menu:addLabel(_("Objectives"), 128, 11, Fonts["large"], true) 5 | 6 | local objectives = "" 7 | table.foreachi(Objectives, function(k,v) objectives = objectives .. v .. "\n" end) 8 | 9 | local l = MultiLineLabel(objectives) 10 | l:setFont(Fonts["large"]) 11 | l:setAlignment(MultiLineLabel.LEFT) 12 | l:setLineWidth(228) 13 | l:adjustSize() 14 | menu:add(l, 14, 38) 15 | 16 | local btn = menu:addFullButton("~!OK", "o", 16, 288 - 40, function() menu:stop() end) 17 | btn:requestFocus() 18 | 19 | menu:run() 20 | end 21 | 22 | -------------------------------------------------------------------------------- /scripts/translate/translate.lua: -------------------------------------------------------------------------------- 1 | LanguageTable = { 2 | "English", "", "", 3 | "Italian", "scripts/translate/stratagus-it.po", "scripts/translate/it_IT.po", 4 | "Spanish", "scripts/translate/stratagus-es.po", "scripts/translate/es_ES.po", 5 | "Russian", "scripts/translate/stratagus-ru.po", "scripts/translate/ru_RU.po", 6 | "French", "scripts/translate/stratagus-fr.po", "scripts/translate/fr_FR.po", 7 | "German", "scripts/translate/stratagus-de.po", "scripts/translate/de_DE.po", 8 | "Czech", "scripts/translate/stratagus-cz.po", "scripts/translate/cz_CZ.po", 9 | } 10 | -------------------------------------------------------------------------------- /wargus.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Wargus - Warcraft II 3 | Comment=Warcraft II data game set for the Stratagus engine 4 | Exec=@GAMEDIRABS@wargus 5 | Icon=wargus 6 | Terminal=false 7 | Type=Application 8 | Categories=Game;StrategyGame; 9 | StartupNotify=false 10 | -------------------------------------------------------------------------------- /wargus.h: -------------------------------------------------------------------------------- 1 | /* 2 | _________ __ __ 3 | / _____// |_____________ _/ |______ ____ __ __ ______ 4 | \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ 5 | / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ | 6 | /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > 7 | \/ \/ \//_____/ \/ 8 | ______________________ ______________________ 9 | T H E W A R B E G I N S 10 | Stratagus - A free fantasy real time strategy game engine 11 | 12 | Copyright (C) 2010-2020 The Stratagus Project 13 | 14 | This program is free software: you can redistribute it and/or modify 15 | it under the terms of the GNU General Public License as published by 16 | the Free Software Foundation, either version 2 of the License, or 17 | (at your option) any later version. 18 | 19 | This program is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | GNU General Public License for more details. 23 | 24 | You should have received a copy of the GNU General Public License 25 | along with this program. If not, see . 26 | 27 | */ 28 | 29 | #define REEXTRACT_MARKER_FILE "data_copied.wargus" 30 | -------------------------------------------------------------------------------- /wargus.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/wargus.ico -------------------------------------------------------------------------------- /wargus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wargus/wargus/828feb5150d195a128ec47935ff05bb072ee75fd/wargus.png -------------------------------------------------------------------------------- /wargus.rc: -------------------------------------------------------------------------------- 1 | #ifdef _WIN64 2 | #define NAME "Wargus (64 bit)" 3 | #else 4 | #define NAME "Wargus" 5 | #endif 6 | 7 | #define DESCRIPTION NAME 8 | #define VERSION "3.3.3" 9 | #define VIVERSION 3,3,3 10 | #define HOMEPAGE "https://wargus.github.io" 11 | #define LICENSE "GPL v2+" 12 | #define COPYRIGHT "(c) 1998-2022 by The Stratagus Project" 13 | 14 | 1 ICON "wargus.ico" 15 | 1 VERSIONINFO 16 | FILEVERSION VIVERSION 17 | PRODUCTVERSION VIVERSION 18 | FILEOS 4 19 | FILETYPE 1 20 | 21 | BEGIN 22 | BLOCK "StringFileInfo" 23 | BEGIN 24 | BLOCK "040904E4" 25 | BEGIN 26 | VALUE "FileDescription", DESCRIPTION 27 | VALUE "FileVersion", VERSION 28 | VALUE "InternalName", NAME 29 | VALUE "LegalCopyright", COPYRIGHT 30 | VALUE "License", LICENSE 31 | VALUE "Homepage", HOMEPAGE 32 | VALUE "OriginalFilename", "wargus.exe" 33 | VALUE "ProductName", NAME 34 | VALUE "ProductVersion", VERSION 35 | END 36 | END 37 | 38 | BLOCK "VarFileInfo" 39 | BEGIN 40 | VALUE "Translation", 0x409, 1252 41 | END 42 | END 43 | --------------------------------------------------------------------------------