Copy disabled (too large)
Download .txt
Showing preview only (71,027K chars total). Download the full file to get everything.
Repository: mikefernandz/torghast-project-5.4.8
Branch: main
Commit: 96ddad26b612
Files: 4313
Total size: 88.9 MB
Directory structure:
gitextract_j0c3xoea/
├── .gitignore
├── .hgeol
├── .hgignore
├── .travis.yml
├── CMakeLists.txt
├── COPYING.md
├── PreLoad.cmake
├── README.md
├── THANKS.md
├── cmake/
│ ├── compiler/
│ │ ├── clang/
│ │ │ └── settings.cmake
│ │ ├── gcc/
│ │ │ └── settings.cmake
│ │ ├── icc/
│ │ │ └── settings.cmake
│ │ ├── mingw/
│ │ │ └── settings.cmake
│ │ └── msvc/
│ │ └── settings.cmake
│ ├── genrev.cmake
│ ├── macros/
│ │ ├── CheckBuildDir.cmake
│ │ ├── CheckPlatform.cmake
│ │ ├── EnsureVersion.cmake
│ │ ├── FindACE.cmake
│ │ ├── FindMySQL.cmake
│ │ ├── FindOpenSSL.cmake
│ │ ├── FindPCHSupport.cmake
│ │ └── FindReadline.cmake
│ ├── options.cmake
│ ├── platform/
│ │ ├── cmake_uninstall.in.cmake
│ │ ├── settings.cmake
│ │ ├── unix/
│ │ │ └── settings.cmake
│ │ └── win/
│ │ └── settings.cmake
│ ├── showoptions.cmake
│ └── stack_direction.c
├── contrib/
│ ├── Coverity/
│ │ ├── CoverityCompile.bat
│ │ └── CoverityPack.bat
│ ├── ScriptsConverter/
│ │ ├── ScriptConverter/
│ │ │ ├── Program.cs
│ │ │ ├── Properties/
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ScriptConverter.csproj
│ │ │ └── ScriptConverter.csproj.user
│ │ └── ScriptConverter.sln
│ ├── buildscript/
│ │ ├── build.py
│ │ └── config.json.dist
│ ├── cleanup/
│ │ ├── tab2spaces.sh
│ │ └── whitespace.sh
│ ├── conf_merge/
│ │ ├── README
│ │ ├── index.php
│ │ ├── merge.php
│ │ └── tc-conf-merger.pl
│ ├── debugger/
│ │ ├── README
│ │ └── crashreport.gdb
│ └── valgrind/
│ └── helgrind.supp
├── dep/
│ ├── CMakeLists.txt
│ ├── PackageList.txt
│ ├── SFMT/
│ │ ├── SFMT.h
│ │ └── randomc.h
│ ├── StormLib/
│ │ ├── CMakeLists.txt
│ │ ├── doc/
│ │ │ ├── History.txt
│ │ │ ├── Sector Offset MD5.txt
│ │ │ ├── The MoPaQ File Format 0.9.txt
│ │ │ ├── The MoPaQ File Format 1.0.txt
│ │ │ ├── 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
│ │ │ ├── diablo3_ruru_disk_encrypted_win.blob
│ │ │ └── diablo3_urls.txt
│ │ ├── src/
│ │ │ ├── FileStream.cpp
│ │ │ ├── FileStream.h
│ │ │ ├── SBaseCommon.cpp
│ │ │ ├── SBaseDumpData.cpp
│ │ │ ├── SBaseFileTable.cpp
│ │ │ ├── SCompression.cpp
│ │ │ ├── SFileAddFile.cpp
│ │ │ ├── SFileAttributes.cpp
│ │ │ ├── SFileCompactArchive.cpp
│ │ │ ├── SFileCreateArchive.cpp
│ │ │ ├── SFileExtractFile.cpp
│ │ │ ├── SFileFindFile.cpp
│ │ │ ├── SFileListFile.cpp
│ │ │ ├── SFileOpenArchive.cpp
│ │ │ ├── SFileOpenFileEx.cpp
│ │ │ ├── SFilePatchArchives.cpp
│ │ │ ├── SFileReadFile.cpp
│ │ │ ├── SFileVerify.cpp
│ │ │ ├── StormCommon.h
│ │ │ ├── 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
│ │ │ │ ├── huff_patch.cpp
│ │ │ │ └── huff_patch.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_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_v1_5_decode.c
│ │ │ │ └── rsa/
│ │ │ │ ├── rsa_exptmod.c
│ │ │ │ ├── rsa_free.c
│ │ │ │ ├── rsa_import.c
│ │ │ │ ├── rsa_make_key.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
│ │ │ ├── sparse/
│ │ │ │ ├── sparse.cpp
│ │ │ │ └── sparse.h
│ │ │ └── zlib/
│ │ │ ├── adler32.c
│ │ │ ├── compress2.c
│ │ │ ├── crc32.c
│ │ │ ├── crc32.h
│ │ │ ├── deflate.c
│ │ │ ├── deflate.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.cpp
│ │ │ ├── storm_dll.def
│ │ │ └── storm_dll.h
│ │ ├── stormlib_dll/
│ │ │ ├── DllMain.c
│ │ │ ├── StormLib.def
│ │ │ └── StormLib.exp
│ │ └── test/
│ │ ├── Test.cpp
│ │ ├── x86_ripped_code.asm
│ │ └── x86_starcraft_lzma.asm
│ ├── acelite/
│ │ ├── AUTHORS
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── ChangeLog
│ │ ├── NEWS
│ │ ├── README
│ │ ├── THANKS
│ │ ├── VERSION
│ │ ├── ace/
│ │ │ ├── ACE.cpp
│ │ │ ├── ACE.h
│ │ │ ├── ACE.inl
│ │ │ ├── ACE_crc32.cpp
│ │ │ ├── ACE_crc_ccitt.cpp
│ │ │ ├── ACE_export.h
│ │ │ ├── ARGV.cpp
│ │ │ ├── ARGV.h
│ │ │ ├── ARGV.inl
│ │ │ ├── ATM_Acceptor.cpp
│ │ │ ├── ATM_Acceptor.h
│ │ │ ├── ATM_Acceptor.inl
│ │ │ ├── ATM_Addr.cpp
│ │ │ ├── ATM_Addr.h
│ │ │ ├── ATM_Addr.inl
│ │ │ ├── ATM_Connector.cpp
│ │ │ ├── ATM_Connector.h
│ │ │ ├── ATM_Connector.inl
│ │ │ ├── ATM_Params.cpp
│ │ │ ├── ATM_Params.h
│ │ │ ├── ATM_Params.inl
│ │ │ ├── ATM_QoS.cpp
│ │ │ ├── ATM_QoS.h
│ │ │ ├── ATM_QoS.inl
│ │ │ ├── ATM_Stream.cpp
│ │ │ ├── ATM_Stream.h
│ │ │ ├── ATM_Stream.inl
│ │ │ ├── Abstract_Timer_Queue.cpp
│ │ │ ├── Abstract_Timer_Queue.h
│ │ │ ├── Acceptor.cpp
│ │ │ ├── Acceptor.h
│ │ │ ├── Activation_Queue.cpp
│ │ │ ├── Activation_Queue.h
│ │ │ ├── Activation_Queue.inl
│ │ │ ├── Active_Map_Manager.cpp
│ │ │ ├── Active_Map_Manager.h
│ │ │ ├── Active_Map_Manager.inl
│ │ │ ├── Active_Map_Manager_T.cpp
│ │ │ ├── Active_Map_Manager_T.h
│ │ │ ├── Active_Map_Manager_T.inl
│ │ │ ├── Addr.cpp
│ │ │ ├── Addr.h
│ │ │ ├── Addr.inl
│ │ │ ├── Arg_Shifter.cpp
│ │ │ ├── Arg_Shifter.h
│ │ │ ├── Argv_Type_Converter.cpp
│ │ │ ├── Argv_Type_Converter.h
│ │ │ ├── Argv_Type_Converter.inl
│ │ │ ├── Array_Base.cpp
│ │ │ ├── Array_Base.h
│ │ │ ├── Array_Base.inl
│ │ │ ├── Array_Map.cpp
│ │ │ ├── Array_Map.h
│ │ │ ├── Array_Map.inl
│ │ │ ├── Assert.cpp
│ │ │ ├── Assert.h
│ │ │ ├── Asynch_Acceptor.cpp
│ │ │ ├── Asynch_Acceptor.h
│ │ │ ├── Asynch_Connector.cpp
│ │ │ ├── Asynch_Connector.h
│ │ │ ├── Asynch_IO.cpp
│ │ │ ├── Asynch_IO.h
│ │ │ ├── Asynch_IO_Impl.cpp
│ │ │ ├── Asynch_IO_Impl.h
│ │ │ ├── Asynch_IO_Impl.inl
│ │ │ ├── Asynch_Pseudo_Task.cpp
│ │ │ ├── Asynch_Pseudo_Task.h
│ │ │ ├── Atomic_Op.cpp
│ │ │ ├── Atomic_Op.h
│ │ │ ├── Atomic_Op.inl
│ │ │ ├── Atomic_Op_GCC_T.cpp
│ │ │ ├── Atomic_Op_GCC_T.h
│ │ │ ├── Atomic_Op_GCC_T.inl
│ │ │ ├── Atomic_Op_Sparc.c
│ │ │ ├── Atomic_Op_Sparc.h
│ │ │ ├── Atomic_Op_T.cpp
│ │ │ ├── Atomic_Op_T.h
│ │ │ ├── Atomic_Op_T.inl
│ │ │ ├── Auto_Event.cpp
│ │ │ ├── Auto_Event.h
│ │ │ ├── Auto_Event.inl
│ │ │ ├── Auto_Functor.cpp
│ │ │ ├── Auto_Functor.h
│ │ │ ├── Auto_Functor.inl
│ │ │ ├── Auto_IncDec_T.cpp
│ │ │ ├── Auto_IncDec_T.h
│ │ │ ├── Auto_IncDec_T.inl
│ │ │ ├── Auto_Ptr.cpp
│ │ │ ├── Auto_Ptr.h
│ │ │ ├── Auto_Ptr.inl
│ │ │ ├── Barrier.cpp
│ │ │ ├── Barrier.h
│ │ │ ├── Barrier.inl
│ │ │ ├── Base_Thread_Adapter.cpp
│ │ │ ├── Base_Thread_Adapter.h
│ │ │ ├── Base_Thread_Adapter.inl
│ │ │ ├── Based_Pointer_Repository.cpp
│ │ │ ├── Based_Pointer_Repository.h
│ │ │ ├── Based_Pointer_T.cpp
│ │ │ ├── Based_Pointer_T.h
│ │ │ ├── Based_Pointer_T.inl
│ │ │ ├── Basic_Stats.cpp
│ │ │ ├── Basic_Stats.h
│ │ │ ├── Basic_Stats.inl
│ │ │ ├── Basic_Types.cpp
│ │ │ ├── Basic_Types.h
│ │ │ ├── Bound_Ptr.h
│ │ │ ├── Bound_Ptr.inl
│ │ │ ├── CDR_Base.cpp
│ │ │ ├── CDR_Base.h
│ │ │ ├── CDR_Base.inl
│ │ │ ├── CDR_Size.cpp
│ │ │ ├── CDR_Size.h
│ │ │ ├── CDR_Size.inl
│ │ │ ├── CDR_Stream.cpp
│ │ │ ├── CDR_Stream.h
│ │ │ ├── CDR_Stream.inl
│ │ │ ├── CE_Screen_Output.cpp
│ │ │ ├── CE_Screen_Output.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CORBA_macros.h
│ │ │ ├── Cache_Map_Manager_T.cpp
│ │ │ ├── Cache_Map_Manager_T.h
│ │ │ ├── Cache_Map_Manager_T.inl
│ │ │ ├── Cached_Connect_Strategy_T.cpp
│ │ │ ├── Cached_Connect_Strategy_T.h
│ │ │ ├── Caching_Strategies_T.cpp
│ │ │ ├── Caching_Strategies_T.h
│ │ │ ├── Caching_Strategies_T.inl
│ │ │ ├── Caching_Utility_T.cpp
│ │ │ ├── Caching_Utility_T.h
│ │ │ ├── Capabilities.cpp
│ │ │ ├── Capabilities.h
│ │ │ ├── Capabilities.inl
│ │ │ ├── Cleanup.cpp
│ │ │ ├── Cleanup.h
│ │ │ ├── Cleanup.inl
│ │ │ ├── Cleanup_Strategies_T.cpp
│ │ │ ├── Cleanup_Strategies_T.h
│ │ │ ├── Codecs.cpp
│ │ │ ├── Codecs.h
│ │ │ ├── Codeset_IBM1047.cpp
│ │ │ ├── Codeset_IBM1047.h
│ │ │ ├── Codeset_Registry.cpp
│ │ │ ├── Codeset_Registry.h
│ │ │ ├── Codeset_Registry.inl
│ │ │ ├── Codeset_Registry_db.cpp
│ │ │ ├── Codeset_Symbols.h
│ │ │ ├── Compression/
│ │ │ │ ├── ACE_Compression_export.h
│ │ │ │ ├── Compressor.cpp
│ │ │ │ ├── Compressor.h
│ │ │ │ ├── Compressor.inl
│ │ │ │ └── rle/
│ │ │ │ ├── ACE_RLECompression_export.h
│ │ │ │ ├── RLECompressor.cpp
│ │ │ │ └── RLECompressor.h
│ │ │ ├── Condition_Attributes.cpp
│ │ │ ├── Condition_Attributes.h
│ │ │ ├── Condition_Attributes.inl
│ │ │ ├── Condition_Recursive_Thread_Mutex.cpp
│ │ │ ├── Condition_Recursive_Thread_Mutex.h
│ │ │ ├── Condition_T.cpp
│ │ │ ├── Condition_T.h
│ │ │ ├── Condition_T.inl
│ │ │ ├── Condition_Thread_Mutex.cpp
│ │ │ ├── Condition_Thread_Mutex.h
│ │ │ ├── Condition_Thread_Mutex.inl
│ │ │ ├── Configuration.cpp
│ │ │ ├── Configuration.h
│ │ │ ├── Configuration.inl
│ │ │ ├── Configuration_Import_Export.cpp
│ │ │ ├── Configuration_Import_Export.h
│ │ │ ├── Connection_Recycling_Strategy.cpp
│ │ │ ├── Connection_Recycling_Strategy.h
│ │ │ ├── Connector.cpp
│ │ │ ├── Connector.h
│ │ │ ├── Containers.cpp
│ │ │ ├── Containers.h
│ │ │ ├── Containers.inl
│ │ │ ├── Containers_T.cpp
│ │ │ ├── Containers_T.h
│ │ │ ├── Containers_T.inl
│ │ │ ├── Copy_Disabled.cpp
│ │ │ ├── Copy_Disabled.h
│ │ │ ├── Countdown_Time.h
│ │ │ ├── Countdown_Time_T.cpp
│ │ │ ├── Countdown_Time_T.h
│ │ │ ├── Countdown_Time_T.inl
│ │ │ ├── DEV.cpp
│ │ │ ├── DEV.h
│ │ │ ├── DEV.inl
│ │ │ ├── DEV_Addr.cpp
│ │ │ ├── DEV_Addr.h
│ │ │ ├── DEV_Addr.inl
│ │ │ ├── DEV_Connector.cpp
│ │ │ ├── DEV_Connector.h
│ │ │ ├── DEV_Connector.inl
│ │ │ ├── DEV_IO.cpp
│ │ │ ├── DEV_IO.h
│ │ │ ├── DEV_IO.inl
│ │ │ ├── DLL.cpp
│ │ │ ├── DLL.h
│ │ │ ├── DLL_Manager.cpp
│ │ │ ├── DLL_Manager.h
│ │ │ ├── Date_Time.cpp
│ │ │ ├── Date_Time.h
│ │ │ ├── Date_Time.inl
│ │ │ ├── Default_Constants.h
│ │ │ ├── Dev_Poll_Reactor.cpp
│ │ │ ├── Dev_Poll_Reactor.h
│ │ │ ├── Dev_Poll_Reactor.inl
│ │ │ ├── Dirent.cpp
│ │ │ ├── Dirent.h
│ │ │ ├── Dirent.inl
│ │ │ ├── Dirent_Selector.cpp
│ │ │ ├── Dirent_Selector.h
│ │ │ ├── Dirent_Selector.inl
│ │ │ ├── Dump.cpp
│ │ │ ├── Dump.h
│ │ │ ├── Dump_T.cpp
│ │ │ ├── Dump_T.h
│ │ │ ├── Dynamic.cpp
│ │ │ ├── Dynamic.h
│ │ │ ├── Dynamic.inl
│ │ │ ├── Dynamic_Message_Strategy.cpp
│ │ │ ├── Dynamic_Message_Strategy.h
│ │ │ ├── Dynamic_Message_Strategy.inl
│ │ │ ├── Dynamic_Service.cpp
│ │ │ ├── Dynamic_Service.h
│ │ │ ├── Dynamic_Service.inl
│ │ │ ├── Dynamic_Service_Base.cpp
│ │ │ ├── Dynamic_Service_Base.h
│ │ │ ├── Dynamic_Service_Dependency.cpp
│ │ │ ├── Dynamic_Service_Dependency.h
│ │ │ ├── ETCL/
│ │ │ │ ├── ETCL_Constraint.cpp
│ │ │ │ ├── ETCL_Constraint.h
│ │ │ │ ├── ETCL_Constraint.inl
│ │ │ │ ├── ETCL_Constraint_Visitor.cpp
│ │ │ │ ├── ETCL_Constraint_Visitor.h
│ │ │ │ ├── ETCL_Interpreter.cpp
│ │ │ │ ├── ETCL_Interpreter.h
│ │ │ │ ├── ETCL_l.cpp
│ │ │ │ ├── ETCL_y.cpp
│ │ │ │ ├── ETCL_y.h
│ │ │ │ ├── ace_etcl_export.h
│ │ │ │ └── etcl_parser_export.h
│ │ │ ├── Encoding_Converter.cpp
│ │ │ ├── Encoding_Converter.h
│ │ │ ├── Encoding_Converter_Factory.cpp
│ │ │ ├── Encoding_Converter_Factory.h
│ │ │ ├── Env_Value_T.cpp
│ │ │ ├── Env_Value_T.h
│ │ │ ├── Env_Value_T.inl
│ │ │ ├── Event.cpp
│ │ │ ├── Event.h
│ │ │ ├── Event.inl
│ │ │ ├── Event_Handler.cpp
│ │ │ ├── Event_Handler.h
│ │ │ ├── Event_Handler.inl
│ │ │ ├── Event_Handler_Handle_Timeout_Upcall.cpp
│ │ │ ├── Event_Handler_Handle_Timeout_Upcall.h
│ │ │ ├── Event_Handler_Handle_Timeout_Upcall.inl
│ │ │ ├── Event_Handler_T.cpp
│ │ │ ├── Event_Handler_T.h
│ │ │ ├── Event_Handler_T.inl
│ │ │ ├── FIFO.cpp
│ │ │ ├── FIFO.h
│ │ │ ├── FIFO.inl
│ │ │ ├── FIFO_Recv.cpp
│ │ │ ├── FIFO_Recv.h
│ │ │ ├── FIFO_Recv.inl
│ │ │ ├── FIFO_Recv_Msg.cpp
│ │ │ ├── FIFO_Recv_Msg.h
│ │ │ ├── FIFO_Recv_Msg.inl
│ │ │ ├── FIFO_Send.cpp
│ │ │ ├── FIFO_Send.h
│ │ │ ├── FIFO_Send.inl
│ │ │ ├── FIFO_Send_Msg.cpp
│ │ │ ├── FIFO_Send_Msg.h
│ │ │ ├── FIFO_Send_Msg.inl
│ │ │ ├── FILE.cpp
│ │ │ ├── FILE.h
│ │ │ ├── FILE.inl
│ │ │ ├── FILE_Addr.cpp
│ │ │ ├── FILE_Addr.h
│ │ │ ├── FILE_Addr.inl
│ │ │ ├── FILE_Connector.cpp
│ │ │ ├── FILE_Connector.h
│ │ │ ├── FILE_Connector.inl
│ │ │ ├── FILE_IO.cpp
│ │ │ ├── FILE_IO.h
│ │ │ ├── FILE_IO.inl
│ │ │ ├── File_Lock.cpp
│ │ │ ├── File_Lock.h
│ │ │ ├── File_Lock.inl
│ │ │ ├── Filecache.cpp
│ │ │ ├── Filecache.h
│ │ │ ├── FlReactor/
│ │ │ │ ├── ACE_FlReactor_export.h
│ │ │ │ ├── FlReactor.cpp
│ │ │ │ └── FlReactor.h
│ │ │ ├── Flag_Manip.cpp
│ │ │ ├── Flag_Manip.h
│ │ │ ├── Flag_Manip.inl
│ │ │ ├── FoxReactor/
│ │ │ │ ├── ACE_FoxReactor_export.h
│ │ │ │ ├── FoxReactor.cpp
│ │ │ │ └── FoxReactor.h
│ │ │ ├── Framework_Component.cpp
│ │ │ ├── Framework_Component.h
│ │ │ ├── Framework_Component.inl
│ │ │ ├── Framework_Component_T.cpp
│ │ │ ├── Framework_Component_T.h
│ │ │ ├── Free_List.cpp
│ │ │ ├── Free_List.h
│ │ │ ├── Functor.cpp
│ │ │ ├── Functor.h
│ │ │ ├── Functor.inl
│ │ │ ├── Functor_String.cpp
│ │ │ ├── Functor_String.h
│ │ │ ├── Functor_String.inl
│ │ │ ├── Functor_T.cpp
│ │ │ ├── Functor_T.h
│ │ │ ├── Functor_T.inl
│ │ │ ├── Future.cpp
│ │ │ ├── Future.h
│ │ │ ├── Future_Set.cpp
│ │ │ ├── Future_Set.h
│ │ │ ├── Get_Opt.cpp
│ │ │ ├── Get_Opt.h
│ │ │ ├── Get_Opt.inl
│ │ │ ├── Global_Macros.h
│ │ │ ├── Guard_T.cpp
│ │ │ ├── Guard_T.h
│ │ │ ├── Guard_T.inl
│ │ │ ├── Handle_Gobbler.h
│ │ │ ├── Handle_Gobbler.inl
│ │ │ ├── Handle_Ops.cpp
│ │ │ ├── Handle_Ops.h
│ │ │ ├── Handle_Set.cpp
│ │ │ ├── Handle_Set.h
│ │ │ ├── Handle_Set.inl
│ │ │ ├── Hash_Cache_Map_Manager_T.cpp
│ │ │ ├── Hash_Cache_Map_Manager_T.h
│ │ │ ├── Hash_Cache_Map_Manager_T.inl
│ │ │ ├── Hash_Map_Manager.h
│ │ │ ├── Hash_Map_Manager_T.cpp
│ │ │ ├── Hash_Map_Manager_T.h
│ │ │ ├── Hash_Map_Manager_T.inl
│ │ │ ├── Hash_Map_With_Allocator_T.cpp
│ │ │ ├── Hash_Map_With_Allocator_T.h
│ │ │ ├── Hash_Map_With_Allocator_T.inl
│ │ │ ├── Hash_Multi_Map_Manager_T.cpp
│ │ │ ├── Hash_Multi_Map_Manager_T.h
│ │ │ ├── Hash_Multi_Map_Manager_T.inl
│ │ │ ├── Hashable.cpp
│ │ │ ├── Hashable.h
│ │ │ ├── Hashable.inl
│ │ │ ├── High_Res_Timer.cpp
│ │ │ ├── High_Res_Timer.h
│ │ │ ├── High_Res_Timer.inl
│ │ │ ├── ICMP_Socket.cpp
│ │ │ ├── ICMP_Socket.h
│ │ │ ├── INET_Addr.cpp
│ │ │ ├── INET_Addr.h
│ │ │ ├── INET_Addr.inl
│ │ │ ├── IOStream.cpp
│ │ │ ├── IOStream.h
│ │ │ ├── IOStream_T.cpp
│ │ │ ├── IOStream_T.h
│ │ │ ├── IOStream_T.inl
│ │ │ ├── IO_Cntl_Msg.cpp
│ │ │ ├── IO_Cntl_Msg.h
│ │ │ ├── IO_Cntl_Msg.inl
│ │ │ ├── IO_SAP.cpp
│ │ │ ├── IO_SAP.h
│ │ │ ├── IO_SAP.inl
│ │ │ ├── IPC_SAP.cpp
│ │ │ ├── IPC_SAP.h
│ │ │ ├── IPC_SAP.inl
│ │ │ ├── If_Then_Else.h
│ │ │ ├── Init_ACE.cpp
│ │ │ ├── Init_ACE.h
│ │ │ ├── Intrusive_Auto_Ptr.cpp
│ │ │ ├── Intrusive_Auto_Ptr.h
│ │ │ ├── Intrusive_Auto_Ptr.inl
│ │ │ ├── Intrusive_List.cpp
│ │ │ ├── Intrusive_List.h
│ │ │ ├── Intrusive_List.inl
│ │ │ ├── Intrusive_List_Node.cpp
│ │ │ ├── Intrusive_List_Node.h
│ │ │ ├── Intrusive_List_Node.inl
│ │ │ ├── LOCK_SOCK_Acceptor.cpp
│ │ │ ├── LOCK_SOCK_Acceptor.h
│ │ │ ├── LSOCK.cpp
│ │ │ ├── LSOCK.h
│ │ │ ├── LSOCK.inl
│ │ │ ├── LSOCK_Acceptor.cpp
│ │ │ ├── LSOCK_Acceptor.h
│ │ │ ├── LSOCK_CODgram.cpp
│ │ │ ├── LSOCK_CODgram.h
│ │ │ ├── LSOCK_CODgram.inl
│ │ │ ├── LSOCK_Connector.cpp
│ │ │ ├── LSOCK_Connector.h
│ │ │ ├── LSOCK_Connector.inl
│ │ │ ├── LSOCK_Dgram.cpp
│ │ │ ├── LSOCK_Dgram.h
│ │ │ ├── LSOCK_Dgram.inl
│ │ │ ├── LSOCK_Stream.cpp
│ │ │ ├── LSOCK_Stream.h
│ │ │ ├── LSOCK_Stream.inl
│ │ │ ├── Lib_Find.cpp
│ │ │ ├── Lib_Find.h
│ │ │ ├── Local_Memory_Pool.cpp
│ │ │ ├── Local_Memory_Pool.h
│ │ │ ├── Local_Name_Space.cpp
│ │ │ ├── Local_Name_Space.h
│ │ │ ├── Local_Name_Space_T.cpp
│ │ │ ├── Local_Name_Space_T.h
│ │ │ ├── Local_Tokens.cpp
│ │ │ ├── Local_Tokens.h
│ │ │ ├── Local_Tokens.inl
│ │ │ ├── Lock.cpp
│ │ │ ├── Lock.h
│ │ │ ├── Lock.inl
│ │ │ ├── Lock_Adapter_T.cpp
│ │ │ ├── Lock_Adapter_T.h
│ │ │ ├── Lock_Adapter_T.inl
│ │ │ ├── Log_Msg.cpp
│ │ │ ├── Log_Msg.h
│ │ │ ├── Log_Msg.inl
│ │ │ ├── Log_Msg_Backend.cpp
│ │ │ ├── Log_Msg_Backend.h
│ │ │ ├── Log_Msg_Callback.cpp
│ │ │ ├── Log_Msg_Callback.h
│ │ │ ├── Log_Msg_IPC.cpp
│ │ │ ├── Log_Msg_IPC.h
│ │ │ ├── Log_Msg_NT_Event_Log.cpp
│ │ │ ├── Log_Msg_NT_Event_Log.h
│ │ │ ├── Log_Msg_UNIX_Syslog.cpp
│ │ │ ├── Log_Msg_UNIX_Syslog.h
│ │ │ ├── Log_Priority.h
│ │ │ ├── Log_Record.cpp
│ │ │ ├── Log_Record.h
│ │ │ ├── Log_Record.inl
│ │ │ ├── Logging_Strategy.cpp
│ │ │ ├── Logging_Strategy.h
│ │ │ ├── MEM_Acceptor.cpp
│ │ │ ├── MEM_Acceptor.h
│ │ │ ├── MEM_Acceptor.inl
│ │ │ ├── MEM_Addr.cpp
│ │ │ ├── MEM_Addr.h
│ │ │ ├── MEM_Addr.inl
│ │ │ ├── MEM_Connector.cpp
│ │ │ ├── MEM_Connector.h
│ │ │ ├── MEM_Connector.inl
│ │ │ ├── MEM_IO.cpp
│ │ │ ├── MEM_IO.h
│ │ │ ├── MEM_IO.inl
│ │ │ ├── MEM_SAP.cpp
│ │ │ ├── MEM_SAP.h
│ │ │ ├── MEM_SAP.inl
│ │ │ ├── MEM_Stream.cpp
│ │ │ ├── MEM_Stream.h
│ │ │ ├── MEM_Stream.inl
│ │ │ ├── MMAP_Memory_Pool.cpp
│ │ │ ├── MMAP_Memory_Pool.h
│ │ │ ├── MMAP_Memory_Pool.inl
│ │ │ ├── Malloc.cpp
│ │ │ ├── Malloc.h
│ │ │ ├── Malloc.inl
│ │ │ ├── Malloc_Allocator.cpp
│ │ │ ├── Malloc_Allocator.h
│ │ │ ├── Malloc_Allocator.inl
│ │ │ ├── Malloc_Base.h
│ │ │ ├── Malloc_T.cpp
│ │ │ ├── Malloc_T.h
│ │ │ ├── Malloc_T.inl
│ │ │ ├── Managed_Object.cpp
│ │ │ ├── Managed_Object.h
│ │ │ ├── Managed_Object.inl
│ │ │ ├── Manual_Event.cpp
│ │ │ ├── Manual_Event.h
│ │ │ ├── Manual_Event.inl
│ │ │ ├── Map_Manager.cpp
│ │ │ ├── Map_Manager.h
│ │ │ ├── Map_Manager.inl
│ │ │ ├── Map_T.cpp
│ │ │ ├── Map_T.h
│ │ │ ├── Map_T.inl
│ │ │ ├── Mem_Map.cpp
│ │ │ ├── Mem_Map.h
│ │ │ ├── Mem_Map.inl
│ │ │ ├── Memory_Pool.h
│ │ │ ├── Message_Block.cpp
│ │ │ ├── Message_Block.h
│ │ │ ├── Message_Block.inl
│ │ │ ├── Message_Block_T.cpp
│ │ │ ├── Message_Block_T.h
│ │ │ ├── Message_Block_T.inl
│ │ │ ├── Message_Queue.cpp
│ │ │ ├── Message_Queue.h
│ │ │ ├── Message_Queue.inl
│ │ │ ├── Message_Queue_NT.cpp
│ │ │ ├── Message_Queue_NT.h
│ │ │ ├── Message_Queue_NT.inl
│ │ │ ├── Message_Queue_T.cpp
│ │ │ ├── Message_Queue_T.h
│ │ │ ├── Message_Queue_Vx.cpp
│ │ │ ├── Message_Queue_Vx.h
│ │ │ ├── Message_Queue_Vx.inl
│ │ │ ├── Method_Request.cpp
│ │ │ ├── Method_Request.h
│ │ │ ├── Metrics_Cache.h
│ │ │ ├── Metrics_Cache_T.cpp
│ │ │ ├── Metrics_Cache_T.h
│ │ │ ├── Metrics_Cache_T.inl
│ │ │ ├── Min_Max.h
│ │ │ ├── Module.cpp
│ │ │ ├── Module.h
│ │ │ ├── Module.inl
│ │ │ ├── Monitor_Admin.cpp
│ │ │ ├── Monitor_Admin.h
│ │ │ ├── Monitor_Admin_Manager.cpp
│ │ │ ├── Monitor_Admin_Manager.h
│ │ │ ├── Monitor_Base.cpp
│ │ │ ├── Monitor_Base.h
│ │ │ ├── Monitor_Base.inl
│ │ │ ├── Monitor_Control/
│ │ │ │ ├── Auto_Update_Starter.cpp
│ │ │ │ ├── Auto_Update_Starter.h
│ │ │ │ ├── BSD_Network_Interface_Monitor.cpp
│ │ │ │ ├── BSD_Network_Interface_Monitor.h
│ │ │ │ ├── Bytes_Received_Monitor.cpp
│ │ │ │ ├── Bytes_Received_Monitor.h
│ │ │ │ ├── Bytes_Sent_Monitor.cpp
│ │ │ │ ├── Bytes_Sent_Monitor.h
│ │ │ │ ├── CPU_Load_Monitor.cpp
│ │ │ │ ├── CPU_Load_Monitor.h
│ │ │ │ ├── Constraint_Interpreter.cpp
│ │ │ │ ├── Constraint_Interpreter.h
│ │ │ │ ├── Constraint_Visitor.cpp
│ │ │ │ ├── Constraint_Visitor.h
│ │ │ │ ├── FreeBSD_Network_Interface_Monitor.cpp
│ │ │ │ ├── FreeBSD_Network_Interface_Monitor.h
│ │ │ │ ├── Linux_Network_Interface_Monitor.cpp
│ │ │ │ ├── Linux_Network_Interface_Monitor.h
│ │ │ │ ├── Memory_Usage_Monitor.cpp
│ │ │ │ ├── Memory_Usage_Monitor.h
│ │ │ │ ├── Monitor_Control.h
│ │ │ │ ├── Monitor_Control_export.h
│ │ │ │ ├── Monitor_Control_utils.h
│ │ │ │ ├── Monitor_Group.cpp
│ │ │ │ ├── Monitor_Group.h
│ │ │ │ ├── Monitor_Query.cpp
│ │ │ │ ├── Monitor_Query.h
│ │ │ │ ├── Null_Network_Interface_Monitor.cpp
│ │ │ │ ├── Null_Network_Interface_Monitor.h
│ │ │ │ ├── Num_Threads_Monitor.cpp
│ │ │ │ ├── Num_Threads_Monitor.h
│ │ │ │ ├── Packets_Received_Monitor.cpp
│ │ │ │ ├── Packets_Received_Monitor.h
│ │ │ │ ├── Packets_Sent_Monitor.cpp
│ │ │ │ ├── Packets_Sent_Monitor.h
│ │ │ │ ├── Solaris_Network_Interface_Monitor.cpp
│ │ │ │ ├── Solaris_Network_Interface_Monitor.h
│ │ │ │ ├── Windows_Monitor.cpp
│ │ │ │ ├── Windows_Monitor.h
│ │ │ │ ├── Windows_Multi_Instance_Monitor.cpp
│ │ │ │ └── Windows_Multi_Instance_Monitor.h
│ │ │ ├── Monitor_Control_Action.cpp
│ │ │ ├── Monitor_Control_Action.h
│ │ │ ├── Monitor_Control_Types.cpp
│ │ │ ├── Monitor_Control_Types.h
│ │ │ ├── Monitor_Point_Registry.cpp
│ │ │ ├── Monitor_Point_Registry.h
│ │ │ ├── Monitor_Size.cpp
│ │ │ ├── Monitor_Size.h
│ │ │ ├── Monotonic_Time_Policy.cpp
│ │ │ ├── Monotonic_Time_Policy.h
│ │ │ ├── Monotonic_Time_Policy.inl
│ │ │ ├── Msg_WFMO_Reactor.cpp
│ │ │ ├── Msg_WFMO_Reactor.h
│ │ │ ├── Msg_WFMO_Reactor.inl
│ │ │ ├── Multihomed_INET_Addr.cpp
│ │ │ ├── Multihomed_INET_Addr.h
│ │ │ ├── Multihomed_INET_Addr.inl
│ │ │ ├── Mutex.cpp
│ │ │ ├── Mutex.h
│ │ │ ├── Mutex.inl
│ │ │ ├── NT_Service.cpp
│ │ │ ├── NT_Service.h
│ │ │ ├── NT_Service.inl
│ │ │ ├── Name_Proxy.cpp
│ │ │ ├── Name_Proxy.h
│ │ │ ├── Name_Request_Reply.cpp
│ │ │ ├── Name_Request_Reply.h
│ │ │ ├── Name_Space.cpp
│ │ │ ├── Name_Space.h
│ │ │ ├── Naming_Context.cpp
│ │ │ ├── Naming_Context.h
│ │ │ ├── Naming_Context.inl
│ │ │ ├── Netlink_Addr.cpp
│ │ │ ├── Netlink_Addr.h
│ │ │ ├── Netlink_Addr.inl
│ │ │ ├── Node.cpp
│ │ │ ├── Node.h
│ │ │ ├── Notification_Queue.cpp
│ │ │ ├── Notification_Queue.h
│ │ │ ├── Notification_Queue.inl
│ │ │ ├── Notification_Strategy.cpp
│ │ │ ├── Notification_Strategy.h
│ │ │ ├── Notification_Strategy.inl
│ │ │ ├── Null_Barrier.h
│ │ │ ├── Null_Condition.h
│ │ │ ├── Null_Mutex.h
│ │ │ ├── Null_Semaphore.h
│ │ │ ├── Numeric_Limits.h
│ │ │ ├── OS.h
│ │ │ ├── OS_Errno.cpp
│ │ │ ├── OS_Errno.h
│ │ │ ├── OS_Errno.inl
│ │ │ ├── OS_Log_Msg_Attributes.cpp
│ │ │ ├── OS_Log_Msg_Attributes.h
│ │ │ ├── OS_Log_Msg_Attributes.inl
│ │ │ ├── OS_Memory.h
│ │ │ ├── OS_NS_Thread.cpp
│ │ │ ├── OS_NS_Thread.h
│ │ │ ├── OS_NS_Thread.inl
│ │ │ ├── OS_NS_arpa_inet.cpp
│ │ │ ├── OS_NS_arpa_inet.h
│ │ │ ├── OS_NS_arpa_inet.inl
│ │ │ ├── OS_NS_ctype.cpp
│ │ │ ├── OS_NS_ctype.h
│ │ │ ├── OS_NS_ctype.inl
│ │ │ ├── OS_NS_dirent.cpp
│ │ │ ├── OS_NS_dirent.h
│ │ │ ├── OS_NS_dirent.inl
│ │ │ ├── OS_NS_dlfcn.cpp
│ │ │ ├── OS_NS_dlfcn.h
│ │ │ ├── OS_NS_dlfcn.inl
│ │ │ ├── OS_NS_errno.cpp
│ │ │ ├── OS_NS_errno.h
│ │ │ ├── OS_NS_errno.inl
│ │ │ ├── OS_NS_fcntl.cpp
│ │ │ ├── OS_NS_fcntl.h
│ │ │ ├── OS_NS_fcntl.inl
│ │ │ ├── OS_NS_macros.h
│ │ │ ├── OS_NS_math.cpp
│ │ │ ├── OS_NS_math.h
│ │ │ ├── OS_NS_math.inl
│ │ │ ├── OS_NS_netdb.cpp
│ │ │ ├── OS_NS_netdb.h
│ │ │ ├── OS_NS_netdb.inl
│ │ │ ├── OS_NS_poll.cpp
│ │ │ ├── OS_NS_poll.h
│ │ │ ├── OS_NS_poll.inl
│ │ │ ├── OS_NS_pwd.cpp
│ │ │ ├── OS_NS_pwd.h
│ │ │ ├── OS_NS_pwd.inl
│ │ │ ├── OS_NS_regex.cpp
│ │ │ ├── OS_NS_regex.h
│ │ │ ├── OS_NS_regex.inl
│ │ │ ├── OS_NS_signal.cpp
│ │ │ ├── OS_NS_signal.h
│ │ │ ├── OS_NS_signal.inl
│ │ │ ├── OS_NS_stdio.cpp
│ │ │ ├── OS_NS_stdio.h
│ │ │ ├── OS_NS_stdio.inl
│ │ │ ├── OS_NS_stdlib.cpp
│ │ │ ├── OS_NS_stdlib.h
│ │ │ ├── OS_NS_stdlib.inl
│ │ │ ├── OS_NS_string.cpp
│ │ │ ├── OS_NS_string.h
│ │ │ ├── OS_NS_string.inl
│ │ │ ├── OS_NS_strings.cpp
│ │ │ ├── OS_NS_strings.h
│ │ │ ├── OS_NS_strings.inl
│ │ │ ├── OS_NS_stropts.cpp
│ │ │ ├── OS_NS_stropts.h
│ │ │ ├── OS_NS_stropts.inl
│ │ │ ├── OS_NS_sys_mman.cpp
│ │ │ ├── OS_NS_sys_mman.h
│ │ │ ├── OS_NS_sys_mman.inl
│ │ │ ├── OS_NS_sys_msg.cpp
│ │ │ ├── OS_NS_sys_msg.h
│ │ │ ├── OS_NS_sys_msg.inl
│ │ │ ├── OS_NS_sys_resource.cpp
│ │ │ ├── OS_NS_sys_resource.h
│ │ │ ├── OS_NS_sys_resource.inl
│ │ │ ├── OS_NS_sys_select.cpp
│ │ │ ├── OS_NS_sys_select.h
│ │ │ ├── OS_NS_sys_select.inl
│ │ │ ├── OS_NS_sys_sendfile.cpp
│ │ │ ├── OS_NS_sys_sendfile.h
│ │ │ ├── OS_NS_sys_sendfile.inl
│ │ │ ├── OS_NS_sys_shm.cpp
│ │ │ ├── OS_NS_sys_shm.h
│ │ │ ├── OS_NS_sys_shm.inl
│ │ │ ├── OS_NS_sys_socket.cpp
│ │ │ ├── OS_NS_sys_socket.h
│ │ │ ├── OS_NS_sys_socket.inl
│ │ │ ├── OS_NS_sys_stat.cpp
│ │ │ ├── OS_NS_sys_stat.h
│ │ │ ├── OS_NS_sys_stat.inl
│ │ │ ├── OS_NS_sys_time.cpp
│ │ │ ├── OS_NS_sys_time.h
│ │ │ ├── OS_NS_sys_time.inl
│ │ │ ├── OS_NS_sys_uio.cpp
│ │ │ ├── OS_NS_sys_uio.h
│ │ │ ├── OS_NS_sys_uio.inl
│ │ │ ├── OS_NS_sys_utsname.cpp
│ │ │ ├── OS_NS_sys_utsname.h
│ │ │ ├── OS_NS_sys_wait.cpp
│ │ │ ├── OS_NS_sys_wait.h
│ │ │ ├── OS_NS_sys_wait.inl
│ │ │ ├── OS_NS_time.cpp
│ │ │ ├── OS_NS_time.h
│ │ │ ├── OS_NS_time.inl
│ │ │ ├── OS_NS_unistd.cpp
│ │ │ ├── OS_NS_unistd.h
│ │ │ ├── OS_NS_unistd.inl
│ │ │ ├── OS_NS_wchar.cpp
│ │ │ ├── OS_NS_wchar.h
│ │ │ ├── OS_NS_wchar.inl
│ │ │ ├── OS_NS_wctype.cpp
│ │ │ ├── OS_NS_wctype.h
│ │ │ ├── OS_NS_wctype.inl
│ │ │ ├── OS_QoS.cpp
│ │ │ ├── OS_QoS.h
│ │ │ ├── OS_TLI.cpp
│ │ │ ├── OS_TLI.h
│ │ │ ├── OS_TLI.inl
│ │ │ ├── OS_Thread_Adapter.cpp
│ │ │ ├── OS_Thread_Adapter.h
│ │ │ ├── OS_main.cpp
│ │ │ ├── OS_main.h
│ │ │ ├── Obchunk.cpp
│ │ │ ├── Obchunk.h
│ │ │ ├── Obchunk.inl
│ │ │ ├── Object_Manager.cpp
│ │ │ ├── Object_Manager.h
│ │ │ ├── Object_Manager.inl
│ │ │ ├── Object_Manager_Base.cpp
│ │ │ ├── Object_Manager_Base.h
│ │ │ ├── Obstack.h
│ │ │ ├── Obstack_T.cpp
│ │ │ ├── Obstack_T.h
│ │ │ ├── Obstack_T.inl
│ │ │ ├── PI_Malloc.cpp
│ │ │ ├── PI_Malloc.h
│ │ │ ├── PI_Malloc.inl
│ │ │ ├── POSIX_Asynch_IO.cpp
│ │ │ ├── POSIX_Asynch_IO.h
│ │ │ ├── POSIX_CB_Proactor.cpp
│ │ │ ├── POSIX_CB_Proactor.h
│ │ │ ├── POSIX_Proactor.cpp
│ │ │ ├── POSIX_Proactor.h
│ │ │ ├── POSIX_Proactor.inl
│ │ │ ├── Pagefile_Memory_Pool.cpp
│ │ │ ├── Pagefile_Memory_Pool.h
│ │ │ ├── Pagefile_Memory_Pool.inl
│ │ │ ├── Pair_T.cpp
│ │ │ ├── Pair_T.h
│ │ │ ├── Pair_T.inl
│ │ │ ├── Parse_Node.cpp
│ │ │ ├── Parse_Node.h
│ │ │ ├── Ping_Socket.cpp
│ │ │ ├── Ping_Socket.h
│ │ │ ├── Ping_Socket.inl
│ │ │ ├── Pipe.cpp
│ │ │ ├── Pipe.h
│ │ │ ├── Pipe.inl
│ │ │ ├── PrecompiledHeaders/
│ │ │ │ ├── WinAcePCH.cpp
│ │ │ │ └── WinAcePCH.h
│ │ │ ├── Priority_Reactor.cpp
│ │ │ ├── Priority_Reactor.h
│ │ │ ├── Proactor.cpp
│ │ │ ├── Proactor.h
│ │ │ ├── Proactor.inl
│ │ │ ├── Proactor_Impl.cpp
│ │ │ ├── Proactor_Impl.h
│ │ │ ├── Process.cpp
│ │ │ ├── Process.h
│ │ │ ├── Process.inl
│ │ │ ├── Process_Manager.cpp
│ │ │ ├── Process_Manager.h
│ │ │ ├── Process_Manager.inl
│ │ │ ├── Process_Mutex.cpp
│ │ │ ├── Process_Mutex.h
│ │ │ ├── Process_Mutex.inl
│ │ │ ├── Process_Semaphore.cpp
│ │ │ ├── Process_Semaphore.h
│ │ │ ├── Process_Semaphore.inl
│ │ │ ├── Profile_Timer.cpp
│ │ │ ├── Profile_Timer.h
│ │ │ ├── Profile_Timer.inl
│ │ │ ├── QoS/
│ │ │ │ ├── ACE_QoS_Export.h
│ │ │ │ ├── QoS_Decorator.cpp
│ │ │ │ ├── QoS_Decorator.h
│ │ │ │ ├── QoS_Manager.cpp
│ │ │ │ ├── QoS_Manager.h
│ │ │ │ ├── QoS_Session.h
│ │ │ │ ├── QoS_Session_Factory.cpp
│ │ │ │ ├── QoS_Session_Factory.h
│ │ │ │ ├── QoS_Session_Impl.cpp
│ │ │ │ ├── QoS_Session_Impl.h
│ │ │ │ ├── QoS_Session_Impl.inl
│ │ │ │ ├── README
│ │ │ │ ├── SOCK_Dgram_Mcast_QoS.cpp
│ │ │ │ ├── SOCK_Dgram_Mcast_QoS.h
│ │ │ │ └── SOCK_Dgram_Mcast_QoS.inl
│ │ │ ├── QtReactor/
│ │ │ │ ├── ACE_QtReactor_export.h
│ │ │ │ ├── QtReactor.cpp
│ │ │ │ └── QtReactor.h
│ │ │ ├── RB_Tree.cpp
│ │ │ ├── RB_Tree.h
│ │ │ ├── RB_Tree.inl
│ │ │ ├── README
│ │ │ ├── RW_Mutex.cpp
│ │ │ ├── RW_Mutex.h
│ │ │ ├── RW_Mutex.inl
│ │ │ ├── RW_Process_Mutex.cpp
│ │ │ ├── RW_Process_Mutex.h
│ │ │ ├── RW_Process_Mutex.inl
│ │ │ ├── RW_Thread_Mutex.cpp
│ │ │ ├── RW_Thread_Mutex.h
│ │ │ ├── RW_Thread_Mutex.inl
│ │ │ ├── Reactor.cpp
│ │ │ ├── Reactor.h
│ │ │ ├── Reactor.inl
│ │ │ ├── Reactor_Impl.cpp
│ │ │ ├── Reactor_Impl.h
│ │ │ ├── Reactor_Notification_Strategy.cpp
│ │ │ ├── Reactor_Notification_Strategy.h
│ │ │ ├── Reactor_Notification_Strategy.inl
│ │ │ ├── Reactor_Timer_Interface.cpp
│ │ │ ├── Reactor_Timer_Interface.h
│ │ │ ├── Reactor_Token_T.cpp
│ │ │ ├── Reactor_Token_T.h
│ │ │ ├── Read_Buffer.cpp
│ │ │ ├── Read_Buffer.h
│ │ │ ├── Read_Buffer.inl
│ │ │ ├── Recursive_Thread_Mutex.cpp
│ │ │ ├── Recursive_Thread_Mutex.h
│ │ │ ├── Recursive_Thread_Mutex.inl
│ │ │ ├── Recyclable.cpp
│ │ │ ├── Recyclable.h
│ │ │ ├── Recyclable.inl
│ │ │ ├── Refcountable_T.cpp
│ │ │ ├── Refcountable_T.h
│ │ │ ├── Refcountable_T.inl
│ │ │ ├── Refcounted_Auto_Ptr.cpp
│ │ │ ├── Refcounted_Auto_Ptr.h
│ │ │ ├── Refcounted_Auto_Ptr.inl
│ │ │ ├── Registry.cpp
│ │ │ ├── Registry.h
│ │ │ ├── Registry_Name_Space.cpp
│ │ │ ├── Registry_Name_Space.h
│ │ │ ├── Remote_Name_Space.cpp
│ │ │ ├── Remote_Name_Space.h
│ │ │ ├── Remote_Tokens.cpp
│ │ │ ├── Remote_Tokens.h
│ │ │ ├── Remote_Tokens.inl
│ │ │ ├── Reverse_Lock_T.cpp
│ │ │ ├── Reverse_Lock_T.h
│ │ │ ├── Reverse_Lock_T.inl
│ │ │ ├── Rtems_init.c
│ │ │ ├── SOCK.cpp
│ │ │ ├── SOCK.h
│ │ │ ├── SOCK.inl
│ │ │ ├── SOCK_Acceptor.cpp
│ │ │ ├── SOCK_Acceptor.h
│ │ │ ├── SOCK_Acceptor.inl
│ │ │ ├── SOCK_CODgram.cpp
│ │ │ ├── SOCK_CODgram.h
│ │ │ ├── SOCK_CODgram.inl
│ │ │ ├── SOCK_Connector.cpp
│ │ │ ├── SOCK_Connector.h
│ │ │ ├── SOCK_Connector.inl
│ │ │ ├── SOCK_Dgram.cpp
│ │ │ ├── SOCK_Dgram.h
│ │ │ ├── SOCK_Dgram.inl
│ │ │ ├── SOCK_Dgram_Bcast.cpp
│ │ │ ├── SOCK_Dgram_Bcast.h
│ │ │ ├── SOCK_Dgram_Bcast.inl
│ │ │ ├── SOCK_Dgram_Mcast.cpp
│ │ │ ├── SOCK_Dgram_Mcast.h
│ │ │ ├── SOCK_Dgram_Mcast.inl
│ │ │ ├── SOCK_IO.cpp
│ │ │ ├── SOCK_IO.h
│ │ │ ├── SOCK_IO.inl
│ │ │ ├── SOCK_Netlink.cpp
│ │ │ ├── SOCK_Netlink.h
│ │ │ ├── SOCK_Netlink.inl
│ │ │ ├── SOCK_SEQPACK_Acceptor.cpp
│ │ │ ├── SOCK_SEQPACK_Acceptor.h
│ │ │ ├── SOCK_SEQPACK_Acceptor.inl
│ │ │ ├── SOCK_SEQPACK_Association.cpp
│ │ │ ├── SOCK_SEQPACK_Association.h
│ │ │ ├── SOCK_SEQPACK_Association.inl
│ │ │ ├── SOCK_SEQPACK_Connector.cpp
│ │ │ ├── SOCK_SEQPACK_Connector.h
│ │ │ ├── SOCK_SEQPACK_Connector.inl
│ │ │ ├── SOCK_Stream.cpp
│ │ │ ├── SOCK_Stream.h
│ │ │ ├── SOCK_Stream.inl
│ │ │ ├── SPIPE.cpp
│ │ │ ├── SPIPE.h
│ │ │ ├── SPIPE.inl
│ │ │ ├── SPIPE_Acceptor.cpp
│ │ │ ├── SPIPE_Acceptor.h
│ │ │ ├── SPIPE_Addr.cpp
│ │ │ ├── SPIPE_Addr.h
│ │ │ ├── SPIPE_Addr.inl
│ │ │ ├── SPIPE_Connector.cpp
│ │ │ ├── SPIPE_Connector.h
│ │ │ ├── SPIPE_Connector.inl
│ │ │ ├── SPIPE_Stream.cpp
│ │ │ ├── SPIPE_Stream.h
│ │ │ ├── SPIPE_Stream.inl
│ │ │ ├── SSL/
│ │ │ │ ├── SSL_Asynch_BIO.cpp
│ │ │ │ ├── SSL_Asynch_BIO.h
│ │ │ │ ├── SSL_Asynch_Stream.cpp
│ │ │ │ ├── SSL_Asynch_Stream.h
│ │ │ │ ├── SSL_Asynch_Stream.inl
│ │ │ │ ├── SSL_Context.cpp
│ │ │ │ ├── SSL_Context.h
│ │ │ │ ├── SSL_Context.inl
│ │ │ │ ├── SSL_Export.h
│ │ │ │ ├── SSL_Initializer.cpp
│ │ │ │ ├── SSL_Initializer.h
│ │ │ │ ├── SSL_SOCK.cpp
│ │ │ │ ├── SSL_SOCK.h
│ │ │ │ ├── SSL_SOCK.inl
│ │ │ │ ├── SSL_SOCK_Acceptor.cpp
│ │ │ │ ├── SSL_SOCK_Acceptor.h
│ │ │ │ ├── SSL_SOCK_Acceptor.inl
│ │ │ │ ├── SSL_SOCK_Connector.cpp
│ │ │ │ ├── SSL_SOCK_Connector.h
│ │ │ │ ├── SSL_SOCK_Connector.inl
│ │ │ │ ├── SSL_SOCK_Stream.cpp
│ │ │ │ ├── SSL_SOCK_Stream.h
│ │ │ │ ├── SSL_SOCK_Stream.inl
│ │ │ │ └── sslconf.h
│ │ │ ├── SString.cpp
│ │ │ ├── SString.h
│ │ │ ├── SString.inl
│ │ │ ├── SStringfwd.h
│ │ │ ├── SUN_Proactor.cpp
│ │ │ ├── SUN_Proactor.h
│ │ │ ├── SV_Message.cpp
│ │ │ ├── SV_Message.h
│ │ │ ├── SV_Message.inl
│ │ │ ├── SV_Message_Queue.cpp
│ │ │ ├── SV_Message_Queue.h
│ │ │ ├── SV_Message_Queue.inl
│ │ │ ├── SV_Semaphore_Complex.cpp
│ │ │ ├── SV_Semaphore_Complex.h
│ │ │ ├── SV_Semaphore_Complex.inl
│ │ │ ├── SV_Semaphore_Simple.cpp
│ │ │ ├── SV_Semaphore_Simple.h
│ │ │ ├── SV_Semaphore_Simple.inl
│ │ │ ├── SV_Shared_Memory.cpp
│ │ │ ├── SV_Shared_Memory.h
│ │ │ ├── SV_Shared_Memory.inl
│ │ │ ├── Sample_History.cpp
│ │ │ ├── Sample_History.h
│ │ │ ├── Sample_History.inl
│ │ │ ├── Sbrk_Memory_Pool.cpp
│ │ │ ├── Sbrk_Memory_Pool.h
│ │ │ ├── Sched_Params.cpp
│ │ │ ├── Sched_Params.h
│ │ │ ├── Sched_Params.inl
│ │ │ ├── Select_Reactor.h
│ │ │ ├── Select_Reactor_Base.cpp
│ │ │ ├── Select_Reactor_Base.h
│ │ │ ├── Select_Reactor_Base.inl
│ │ │ ├── Select_Reactor_T.cpp
│ │ │ ├── Select_Reactor_T.h
│ │ │ ├── Select_Reactor_T.inl
│ │ │ ├── Semaphore.cpp
│ │ │ ├── Semaphore.h
│ │ │ ├── Semaphore.inl
│ │ │ ├── Service_Config.cpp
│ │ │ ├── Service_Config.h
│ │ │ ├── Service_Config.inl
│ │ │ ├── Service_Gestalt.cpp
│ │ │ ├── Service_Gestalt.h
│ │ │ ├── Service_Gestalt.inl
│ │ │ ├── Service_Manager.cpp
│ │ │ ├── Service_Manager.h
│ │ │ ├── Service_Object.cpp
│ │ │ ├── Service_Object.h
│ │ │ ├── Service_Object.inl
│ │ │ ├── Service_Repository.cpp
│ │ │ ├── Service_Repository.h
│ │ │ ├── Service_Repository.inl
│ │ │ ├── Service_Types.cpp
│ │ │ ├── Service_Types.h
│ │ │ ├── Service_Types.inl
│ │ │ ├── Shared_Memory.cpp
│ │ │ ├── Shared_Memory.h
│ │ │ ├── Shared_Memory_MM.cpp
│ │ │ ├── Shared_Memory_MM.h
│ │ │ ├── Shared_Memory_MM.inl
│ │ │ ├── Shared_Memory_Pool.cpp
│ │ │ ├── Shared_Memory_Pool.h
│ │ │ ├── Shared_Memory_SV.cpp
│ │ │ ├── Shared_Memory_SV.h
│ │ │ ├── Shared_Memory_SV.inl
│ │ │ ├── Shared_Object.cpp
│ │ │ ├── Shared_Object.h
│ │ │ ├── Shared_Object.inl
│ │ │ ├── Sig_Adapter.cpp
│ │ │ ├── Sig_Adapter.h
│ │ │ ├── Sig_Handler.cpp
│ │ │ ├── Sig_Handler.h
│ │ │ ├── Sig_Handler.inl
│ │ │ ├── Signal.cpp
│ │ │ ├── Signal.h
│ │ │ ├── Signal.inl
│ │ │ ├── Singleton.cpp
│ │ │ ├── Singleton.h
│ │ │ ├── Singleton.inl
│ │ │ ├── Sock_Connect.cpp
│ │ │ ├── Sock_Connect.h
│ │ │ ├── Stack_Trace.cpp
│ │ │ ├── Stack_Trace.h
│ │ │ ├── Static_Object_Lock.h
│ │ │ ├── Stats.cpp
│ │ │ ├── Stats.h
│ │ │ ├── Stats.inl
│ │ │ ├── Strategies_T.cpp
│ │ │ ├── Strategies_T.h
│ │ │ ├── Strategies_T.inl
│ │ │ ├── Stream.cpp
│ │ │ ├── Stream.h
│ │ │ ├── Stream.inl
│ │ │ ├── Stream_Modules.cpp
│ │ │ ├── Stream_Modules.h
│ │ │ ├── String_Base.cpp
│ │ │ ├── String_Base.h
│ │ │ ├── String_Base.inl
│ │ │ ├── String_Base_Const.cpp
│ │ │ ├── String_Base_Const.h
│ │ │ ├── Svc_Conf.h
│ │ │ ├── Svc_Conf.y
│ │ │ ├── Svc_Conf_Lexer.cpp
│ │ │ ├── Svc_Conf_Lexer.h
│ │ │ ├── Svc_Conf_Param.h
│ │ │ ├── Svc_Conf_Token_Table.h
│ │ │ ├── Svc_Conf_Tokens.h
│ │ │ ├── Svc_Conf_y.cpp
│ │ │ ├── Svc_Handler.cpp
│ │ │ ├── Svc_Handler.h
│ │ │ ├── Synch.h
│ │ │ ├── Synch_Options.cpp
│ │ │ ├── Synch_Options.h
│ │ │ ├── Synch_Traits.h
│ │ │ ├── System_Time.cpp
│ │ │ ├── System_Time.h
│ │ │ ├── TLI.cpp
│ │ │ ├── TLI.h
│ │ │ ├── TLI.inl
│ │ │ ├── TLI_Acceptor.cpp
│ │ │ ├── TLI_Acceptor.h
│ │ │ ├── TLI_Connector.cpp
│ │ │ ├── TLI_Connector.h
│ │ │ ├── TLI_Connector.inl
│ │ │ ├── TLI_Stream.cpp
│ │ │ ├── TLI_Stream.h
│ │ │ ├── TLI_Stream.inl
│ │ │ ├── TP_Reactor.cpp
│ │ │ ├── TP_Reactor.h
│ │ │ ├── TP_Reactor.inl
│ │ │ ├── TSS_Adapter.cpp
│ │ │ ├── TSS_Adapter.h
│ │ │ ├── TSS_T.cpp
│ │ │ ├── TSS_T.h
│ │ │ ├── TSS_T.inl
│ │ │ ├── TTY_IO.cpp
│ │ │ ├── TTY_IO.h
│ │ │ ├── Task.cpp
│ │ │ ├── Task.h
│ │ │ ├── Task.inl
│ │ │ ├── Task_Ex_T.cpp
│ │ │ ├── Task_Ex_T.h
│ │ │ ├── Task_Ex_T.inl
│ │ │ ├── Task_T.cpp
│ │ │ ├── Task_T.h
│ │ │ ├── Task_T.inl
│ │ │ ├── Test_and_Set.cpp
│ │ │ ├── Test_and_Set.h
│ │ │ ├── Thread.cpp
│ │ │ ├── Thread.h
│ │ │ ├── Thread.inl
│ │ │ ├── Thread_Adapter.cpp
│ │ │ ├── Thread_Adapter.h
│ │ │ ├── Thread_Adapter.inl
│ │ │ ├── Thread_Control.cpp
│ │ │ ├── Thread_Control.h
│ │ │ ├── Thread_Control.inl
│ │ │ ├── Thread_Exit.cpp
│ │ │ ├── Thread_Exit.h
│ │ │ ├── Thread_Hook.cpp
│ │ │ ├── Thread_Hook.h
│ │ │ ├── Thread_Manager.cpp
│ │ │ ├── Thread_Manager.h
│ │ │ ├── Thread_Manager.inl
│ │ │ ├── Thread_Mutex.cpp
│ │ │ ├── Thread_Mutex.h
│ │ │ ├── Thread_Mutex.inl
│ │ │ ├── Thread_Semaphore.cpp
│ │ │ ├── Thread_Semaphore.h
│ │ │ ├── Thread_Semaphore.inl
│ │ │ ├── Throughput_Stats.cpp
│ │ │ ├── Throughput_Stats.h
│ │ │ ├── Time_Policy.cpp
│ │ │ ├── Time_Policy.h
│ │ │ ├── Time_Policy.inl
│ │ │ ├── Time_Policy_T.cpp
│ │ │ ├── Time_Policy_T.h
│ │ │ ├── Time_Policy_T.inl
│ │ │ ├── Time_Value.cpp
│ │ │ ├── Time_Value.h
│ │ │ ├── Time_Value.inl
│ │ │ ├── Time_Value_T.cpp
│ │ │ ├── Time_Value_T.h
│ │ │ ├── Time_Value_T.inl
│ │ │ ├── Timeprobe.cpp
│ │ │ ├── Timeprobe.h
│ │ │ ├── Timeprobe.inl
│ │ │ ├── Timeprobe_T.cpp
│ │ │ ├── Timeprobe_T.h
│ │ │ ├── Timer_Hash.h
│ │ │ ├── Timer_Hash_T.cpp
│ │ │ ├── Timer_Hash_T.h
│ │ │ ├── Timer_Heap.h
│ │ │ ├── Timer_Heap_T.cpp
│ │ │ ├── Timer_Heap_T.h
│ │ │ ├── Timer_List.h
│ │ │ ├── Timer_List_T.cpp
│ │ │ ├── Timer_List_T.h
│ │ │ ├── Timer_Queue.h
│ │ │ ├── Timer_Queue_Adapters.cpp
│ │ │ ├── Timer_Queue_Adapters.h
│ │ │ ├── Timer_Queue_Adapters.inl
│ │ │ ├── Timer_Queue_Iterator.cpp
│ │ │ ├── Timer_Queue_Iterator.h
│ │ │ ├── Timer_Queue_Iterator.inl
│ │ │ ├── Timer_Queue_T.cpp
│ │ │ ├── Timer_Queue_T.h
│ │ │ ├── Timer_Queue_T.inl
│ │ │ ├── Timer_Queuefwd.h
│ │ │ ├── Timer_Wheel.h
│ │ │ ├── Timer_Wheel_T.cpp
│ │ │ ├── Timer_Wheel_T.h
│ │ │ ├── TkReactor/
│ │ │ │ ├── ACE_TkReactor_export.h
│ │ │ │ ├── TkReactor.cpp
│ │ │ │ └── TkReactor.h
│ │ │ ├── Token.cpp
│ │ │ ├── Token.h
│ │ │ ├── Token.inl
│ │ │ ├── Token_Collection.cpp
│ │ │ ├── Token_Collection.h
│ │ │ ├── Token_Collection.inl
│ │ │ ├── Token_Invariants.cpp
│ │ │ ├── Token_Invariants.h
│ │ │ ├── Token_Manager.cpp
│ │ │ ├── Token_Manager.h
│ │ │ ├── Token_Manager.inl
│ │ │ ├── Token_Request_Reply.cpp
│ │ │ ├── Token_Request_Reply.h
│ │ │ ├── Token_Request_Reply.inl
│ │ │ ├── Tokenizer_T.cpp
│ │ │ ├── Tokenizer_T.h
│ │ │ ├── Trace.cpp
│ │ │ ├── Trace.h
│ │ │ ├── Truncate.h
│ │ │ ├── Typed_SV_Message.cpp
│ │ │ ├── Typed_SV_Message.h
│ │ │ ├── Typed_SV_Message.inl
│ │ │ ├── Typed_SV_Message_Queue.cpp
│ │ │ ├── Typed_SV_Message_Queue.h
│ │ │ ├── Typed_SV_Message_Queue.inl
│ │ │ ├── UNIX_Addr.cpp
│ │ │ ├── UNIX_Addr.h
│ │ │ ├── UNIX_Addr.inl
│ │ │ ├── UPIPE_Acceptor.cpp
│ │ │ ├── UPIPE_Acceptor.h
│ │ │ ├── UPIPE_Acceptor.inl
│ │ │ ├── UPIPE_Addr.h
│ │ │ ├── UPIPE_Connector.cpp
│ │ │ ├── UPIPE_Connector.h
│ │ │ ├── UPIPE_Connector.inl
│ │ │ ├── UPIPE_Stream.cpp
│ │ │ ├── UPIPE_Stream.h
│ │ │ ├── UPIPE_Stream.inl
│ │ │ ├── UTF16_Encoding_Converter.cpp
│ │ │ ├── UTF16_Encoding_Converter.h
│ │ │ ├── UTF16_Encoding_Converter.inl
│ │ │ ├── UTF32_Encoding_Converter.cpp
│ │ │ ├── UTF32_Encoding_Converter.h
│ │ │ ├── UTF8_Encoding_Converter.cpp
│ │ │ ├── UTF8_Encoding_Converter.h
│ │ │ ├── UUID.cpp
│ │ │ ├── UUID.h
│ │ │ ├── UUID.inl
│ │ │ ├── Unbounded_Queue.cpp
│ │ │ ├── Unbounded_Queue.h
│ │ │ ├── Unbounded_Queue.inl
│ │ │ ├── Unbounded_Set.cpp
│ │ │ ├── Unbounded_Set.h
│ │ │ ├── Unbounded_Set.inl
│ │ │ ├── Unbounded_Set_Ex.cpp
│ │ │ ├── Unbounded_Set_Ex.h
│ │ │ ├── Unbounded_Set_Ex.inl
│ │ │ ├── Value_Ptr.h
│ │ │ ├── Vector_T.cpp
│ │ │ ├── Vector_T.h
│ │ │ ├── Vector_T.inl
│ │ │ ├── Version.h
│ │ │ ├── Versioned_Namespace.h
│ │ │ ├── WFMO_Reactor.cpp
│ │ │ ├── WFMO_Reactor.h
│ │ │ ├── WFMO_Reactor.inl
│ │ │ ├── WIN32_Asynch_IO.cpp
│ │ │ ├── WIN32_Asynch_IO.h
│ │ │ ├── WIN32_Proactor.cpp
│ │ │ ├── WIN32_Proactor.h
│ │ │ ├── XML_Svc_Conf.cpp
│ │ │ ├── XML_Svc_Conf.h
│ │ │ ├── XML_Utils/
│ │ │ │ ├── XMLSchema/
│ │ │ │ │ ├── Traversal.hpp
│ │ │ │ │ ├── Traversal.ipp
│ │ │ │ │ ├── TypeInfo.hpp
│ │ │ │ │ ├── TypeInfo.ipp
│ │ │ │ │ ├── TypeInfo.tpp
│ │ │ │ │ ├── Types.hpp
│ │ │ │ │ ├── Types.ipp
│ │ │ │ │ ├── Writer.hpp
│ │ │ │ │ ├── Writer.ipp
│ │ │ │ │ └── id_map.hpp
│ │ │ │ ├── XML_Error_Handler.cpp
│ │ │ │ ├── XML_Error_Handler.h
│ │ │ │ ├── XML_Helper.h
│ │ │ │ ├── XML_Schema_Resolver.cpp
│ │ │ │ ├── XML_Schema_Resolver.h
│ │ │ │ ├── XML_Typedefs.cpp
│ │ │ │ ├── XML_Typedefs.h
│ │ │ │ ├── XML_Utils_Export.h
│ │ │ │ ├── XSCRT/
│ │ │ │ │ ├── Elements.hpp
│ │ │ │ │ ├── ExtendedTypeInfo.hpp
│ │ │ │ │ ├── ExtendedTypeInfo.ipp
│ │ │ │ │ ├── Parser.hpp
│ │ │ │ │ ├── Traversal.hpp
│ │ │ │ │ ├── Traversal.tpp
│ │ │ │ │ ├── Writer.hpp
│ │ │ │ │ ├── XML.hpp
│ │ │ │ │ └── XMLSchema.hpp
│ │ │ │ ├── XercesString.cpp
│ │ │ │ └── XercesString.h
│ │ │ ├── XTI_ATM_Mcast.cpp
│ │ │ ├── XTI_ATM_Mcast.h
│ │ │ ├── XTI_ATM_Mcast.inl
│ │ │ ├── XtReactor/
│ │ │ │ ├── ACE_XtReactor_export.h
│ │ │ │ ├── XtReactor.cpp
│ │ │ │ └── XtReactor.h
│ │ │ ├── ace.rc
│ │ │ ├── ace_wchar.cpp
│ │ │ ├── ace_wchar.h
│ │ │ ├── ace_wchar.inl
│ │ │ ├── checked_iterator.h
│ │ │ ├── config-WinCE.h
│ │ │ ├── config-aix-5.x.h
│ │ │ ├── config-aix-7.h
│ │ │ ├── config-all.h
│ │ │ ├── config-android.h
│ │ │ ├── config-cygwin32.h
│ │ │ ├── config-freebsd.h
│ │ │ ├── config-g++-common.h
│ │ │ ├── config-hpux-11.00.h
│ │ │ ├── config-icc-common.h
│ │ │ ├── config-integritySCA.h
│ │ │ ├── config-kfreebsd.h
│ │ │ ├── config-linux.h
│ │ │ ├── config-lite.h
│ │ │ ├── config-lynxos.h
│ │ │ ├── config-macosx-iOS-hardware.h
│ │ │ ├── config-macosx-iOS-simulator.h
│ │ │ ├── config-macosx-leopard.h
│ │ │ ├── config-macosx-lion.h
│ │ │ ├── config-macosx-panther.h
│ │ │ ├── config-macosx-snowleopard.h
│ │ │ ├── config-macosx-tiger.h
│ │ │ ├── config-macosx.h
│ │ │ ├── config-macros.h
│ │ │ ├── config-netbsd.h
│ │ │ ├── config-openbsd.h
│ │ │ ├── config-openvms.h
│ │ │ ├── config-pharlap.h
│ │ │ ├── config-posix-nonetworking.h
│ │ │ ├── config-posix.h
│ │ │ ├── config-qnx.h
│ │ │ ├── config-rtems.h
│ │ │ ├── config-suncc-common.h
│ │ │ ├── config-sunos5.10.h
│ │ │ ├── config-sunos5.11.h
│ │ │ ├── config-sunos5.4-g++.h
│ │ │ ├── config-sunos5.4-sunc++-4.x.h
│ │ │ ├── config-sunos5.5.h
│ │ │ ├── config-sunos5.6.h
│ │ │ ├── config-sunos5.7.h
│ │ │ ├── config-sunos5.8.h
│ │ │ ├── config-sunos5.9.h
│ │ │ ├── config-vxworks.h
│ │ │ ├── config-vxworks6.4.h
│ │ │ ├── config-vxworks6.5.h
│ │ │ ├── config-vxworks6.6.h
│ │ │ ├── config-vxworks6.7.h
│ │ │ ├── config-vxworks6.8.h
│ │ │ ├── config-vxworks6.9.h
│ │ │ ├── config-win32-cegcc.h
│ │ │ ├── config-win32-common.h
│ │ │ ├── config-win32-dmc.h
│ │ │ ├── config-win32-interix.h
│ │ │ ├── config-win32-mingw.h
│ │ │ ├── config-win32-msvc-10.h
│ │ │ ├── config-win32-msvc-11.h
│ │ │ ├── config-win32-msvc-12.h
│ │ │ ├── config-win32-msvc-14.h
│ │ │ ├── config-win32-msvc-7.h
│ │ │ ├── config-win32-msvc-8.h
│ │ │ ├── config-win32-msvc-9.h
│ │ │ ├── config-win32-msvc.h
│ │ │ ├── config-win32.h
│ │ │ ├── config-windows.h
│ │ │ ├── iosfwd.h
│ │ │ ├── os_include/
│ │ │ │ ├── arpa/
│ │ │ │ │ └── os_inet.h
│ │ │ │ ├── net/
│ │ │ │ │ └── os_if.h
│ │ │ │ ├── netinet/
│ │ │ │ │ ├── os_in.h
│ │ │ │ │ └── os_tcp.h
│ │ │ │ ├── os_aio.h
│ │ │ │ ├── os_assert.h
│ │ │ │ ├── os_byteswap.h
│ │ │ │ ├── os_complex.h
│ │ │ │ ├── os_cpio.h
│ │ │ │ ├── os_ctype.h
│ │ │ │ ├── os_dirent.h
│ │ │ │ ├── os_dlfcn.h
│ │ │ │ ├── os_errno.h
│ │ │ │ ├── os_fcntl.h
│ │ │ │ ├── os_fenv.h
│ │ │ │ ├── os_float.h
│ │ │ │ ├── os_fmtmsg.h
│ │ │ │ ├── os_fnmatch.h
│ │ │ │ ├── os_ftw.h
│ │ │ │ ├── os_glob.h
│ │ │ │ ├── os_grp.h
│ │ │ │ ├── os_iconv.h
│ │ │ │ ├── os_ifaddrs.h
│ │ │ │ ├── os_intrin.h
│ │ │ │ ├── os_inttypes.h
│ │ │ │ ├── os_iso646.h
│ │ │ │ ├── os_kstat.h
│ │ │ │ ├── os_langinfo.h
│ │ │ │ ├── os_libgen.h
│ │ │ │ ├── os_limits.h
│ │ │ │ ├── os_local.h
│ │ │ │ ├── os_math.h
│ │ │ │ ├── os_monetary.h
│ │ │ │ ├── os_mqueue.h
│ │ │ │ ├── os_ndbm.h
│ │ │ │ ├── os_netdb.h
│ │ │ │ ├── os_nl_types.h
│ │ │ │ ├── os_pdh.h
│ │ │ │ ├── os_pdhmsg.h
│ │ │ │ ├── os_poll.h
│ │ │ │ ├── os_pthread.h
│ │ │ │ ├── os_pwd.h
│ │ │ │ ├── os_regex.h
│ │ │ │ ├── os_sched.h
│ │ │ │ ├── os_search.h
│ │ │ │ ├── os_semaphore.h
│ │ │ │ ├── os_setjmp.h
│ │ │ │ ├── os_signal.h
│ │ │ │ ├── os_spawn.h
│ │ │ │ ├── os_stdarg.h
│ │ │ │ ├── os_stdbool.h
│ │ │ │ ├── os_stddef.h
│ │ │ │ ├── os_stdint.h
│ │ │ │ ├── os_stdio.h
│ │ │ │ ├── os_stdlib.h
│ │ │ │ ├── os_string.h
│ │ │ │ ├── os_strings.h
│ │ │ │ ├── os_stropts.h
│ │ │ │ ├── os_syslog.h
│ │ │ │ ├── os_tar.h
│ │ │ │ ├── os_termios.h
│ │ │ │ ├── os_tgmath.h
│ │ │ │ ├── os_time.h
│ │ │ │ ├── os_trace.h
│ │ │ │ ├── os_typeinfo.h
│ │ │ │ ├── os_ucontext.h
│ │ │ │ ├── os_ulimit.h
│ │ │ │ ├── os_unistd.h
│ │ │ │ ├── os_utime.h
│ │ │ │ ├── os_utmpx.h
│ │ │ │ ├── os_wchar.h
│ │ │ │ ├── os_wctype.h
│ │ │ │ ├── os_wordexp.h
│ │ │ │ └── sys/
│ │ │ │ ├── os_ipc.h
│ │ │ │ ├── os_loadavg.h
│ │ │ │ ├── os_mman.h
│ │ │ │ ├── os_msg.h
│ │ │ │ ├── os_pstat.h
│ │ │ │ ├── os_resource.h
│ │ │ │ ├── os_select.h
│ │ │ │ ├── os_sem.h
│ │ │ │ ├── os_shm.h
│ │ │ │ ├── os_socket.h
│ │ │ │ ├── os_stat.h
│ │ │ │ ├── os_statvfs.h
│ │ │ │ ├── os_sysctl.h
│ │ │ │ ├── os_sysinfo.h
│ │ │ │ ├── os_time.h
│ │ │ │ ├── os_timeb.h
│ │ │ │ ├── os_times.h
│ │ │ │ ├── os_types.h
│ │ │ │ ├── os_uio.h
│ │ │ │ ├── os_un.h
│ │ │ │ ├── os_utsname.h
│ │ │ │ └── os_wait.h
│ │ │ ├── post.h
│ │ │ ├── pre.h
│ │ │ ├── streams.h
│ │ │ └── svc_export.h
│ │ ├── ace-v6.1.4_hotfix1.diff
│ │ ├── ace-v6.1.4_hotfix2.diff
│ │ └── ace-v6.1.4_hotfix3.diff
│ ├── bzip2/
│ │ ├── CMakeLists.txt
│ │ ├── LICENSE
│ │ ├── README
│ │ ├── blocksort.c
│ │ ├── bzlib.c
│ │ ├── bzlib.h
│ │ ├── bzlib_private.h
│ │ ├── compress.c
│ │ ├── crctable.c
│ │ ├── decompress.c
│ │ ├── huffman.c
│ │ └── randtable.c
│ ├── g3dlite/
│ │ ├── CMakeLists.txt
│ │ ├── G3D-v8.0_hotfix1.diff
│ │ ├── G3D-v8.0_hotfix2.diff
│ │ ├── G3D-v8.0_hotfix3.diff
│ │ ├── G3D-v8.0_hotfix4.diff
│ │ ├── G3D-v8.0_hotfix5.diff
│ │ ├── G3D-v8.0_hotfix6.diff
│ │ ├── G3D-v8.0_hotfix7.diff
│ │ ├── G3D-v8.0_hotfix8.diff
│ │ ├── Readme.txt
│ │ ├── include/
│ │ │ └── G3D/
│ │ │ ├── AABox.h
│ │ │ ├── Any.h
│ │ │ ├── AnyVal.h
│ │ │ ├── AreaMemoryManager.h
│ │ │ ├── Array.h
│ │ │ ├── AtomicInt32.h
│ │ │ ├── BinaryFormat.h
│ │ │ ├── BinaryInput.h
│ │ │ ├── BinaryOutput.h
│ │ │ ├── BoundsTrait.h
│ │ │ ├── Box.h
│ │ │ ├── Box2D.h
│ │ │ ├── BumpMapPreprocess.h
│ │ │ ├── Capsule.h
│ │ │ ├── CollisionDetection.h
│ │ │ ├── Color1.h
│ │ │ ├── Color1uint8.h
│ │ │ ├── Color3.h
│ │ │ ├── Color3uint8.h
│ │ │ ├── Color4.h
│ │ │ ├── Color4uint8.h
│ │ │ ├── Cone.h
│ │ │ ├── ConvexPolyhedron.h
│ │ │ ├── CoordinateFrame.h
│ │ │ ├── Crypto.h
│ │ │ ├── Cylinder.h
│ │ │ ├── EqualsTrait.h
│ │ │ ├── FileSystem.h
│ │ │ ├── G3D.h
│ │ │ ├── G3DAll.h
│ │ │ ├── G3DGameUnits.h
│ │ │ ├── GCamera.h
│ │ │ ├── GImage.h
│ │ │ ├── GLight.h
│ │ │ ├── GMutex.h
│ │ │ ├── GThread.h
│ │ │ ├── GUniqueID.h
│ │ │ ├── HashTrait.h
│ │ │ ├── Image1.h
│ │ │ ├── Image1uint8.h
│ │ │ ├── Image3.h
│ │ │ ├── Image3uint8.h
│ │ │ ├── Image4.h
│ │ │ ├── Image4uint8.h
│ │ │ ├── ImageFormat.h
│ │ │ ├── Intersect.h
│ │ │ ├── KDTree.h
│ │ │ ├── Line.h
│ │ │ ├── LineSegment.h
│ │ │ ├── Log.h
│ │ │ ├── Map2D.h
│ │ │ ├── Matrix.h
│ │ │ ├── Matrix2.h
│ │ │ ├── Matrix3.h
│ │ │ ├── Matrix4.h
│ │ │ ├── MemoryManager.h
│ │ │ ├── MeshAlg.h
│ │ │ ├── MeshBuilder.h
│ │ │ ├── NetAddress.h
│ │ │ ├── NetworkDevice.h
│ │ │ ├── ParseError.h
│ │ │ ├── PhysicsFrame.h
│ │ │ ├── PhysicsFrameSpline.h
│ │ │ ├── Plane.h
│ │ │ ├── PointHashGrid.h
│ │ │ ├── PointKDTree.h
│ │ │ ├── Pointer.h
│ │ │ ├── PositionTrait.h
│ │ │ ├── PrecomputedRandom.h
│ │ │ ├── Quat.h
│ │ │ ├── Queue.h
│ │ │ ├── Random.h
│ │ │ ├── Ray.h
│ │ │ ├── Rect2D.h
│ │ │ ├── ReferenceCount.h
│ │ │ ├── RegistryUtil.h
│ │ │ ├── Set.h
│ │ │ ├── SmallArray.h
│ │ │ ├── Sphere.h
│ │ │ ├── Spline.h
│ │ │ ├── Stopwatch.h
│ │ │ ├── System.h
│ │ │ ├── Table.h
│ │ │ ├── TextInput.h
│ │ │ ├── TextOutput.h
│ │ │ ├── ThreadSet.h
│ │ │ ├── Triangle.h
│ │ │ ├── UprightFrame.h
│ │ │ ├── Vector2.h
│ │ │ ├── Vector2int16.h
│ │ │ ├── Vector3.h
│ │ │ ├── Vector3int16.h
│ │ │ ├── Vector3int32.h
│ │ │ ├── Vector4.h
│ │ │ ├── Vector4int8.h
│ │ │ ├── WeakCache.h
│ │ │ ├── Welder.h
│ │ │ ├── WrapMode.h
│ │ │ ├── XML.h
│ │ │ ├── constants.h
│ │ │ ├── debug.h
│ │ │ ├── debugAssert.h
│ │ │ ├── debugPrintf.h
│ │ │ ├── enumclass.h
│ │ │ ├── fileutils.h
│ │ │ ├── filter.h
│ │ │ ├── format.h
│ │ │ ├── g3dfnmatch.h
│ │ │ ├── g3dmath.h
│ │ │ ├── netheaders.h
│ │ │ ├── networkHelpers.h
│ │ │ ├── platform.h
│ │ │ ├── prompt.h
│ │ │ ├── serialize.h
│ │ │ ├── splinefunc.h
│ │ │ ├── stringutils.h
│ │ │ ├── uint128.h
│ │ │ ├── units.h
│ │ │ └── vectorMath.h
│ │ └── source/
│ │ ├── AABox.cpp
│ │ ├── Any.cpp
│ │ ├── AnyVal.cpp
│ │ ├── AreaMemoryManager.cpp
│ │ ├── BinaryFormat.cpp
│ │ ├── BinaryInput.cpp
│ │ ├── BinaryOutput.cpp
│ │ ├── Box.cpp
│ │ ├── Box2D.cpp
│ │ ├── BumpMapPreprocess.cpp
│ │ ├── Capsule.cpp
│ │ ├── CollisionDetection.cpp
│ │ ├── Color1.cpp
│ │ ├── Color1uint8.cpp
│ │ ├── Color3.cpp
│ │ ├── Color3uint8.cpp
│ │ ├── Color4.cpp
│ │ ├── Color4uint8.cpp
│ │ ├── Cone.cpp
│ │ ├── ConvexPolyhedron.cpp
│ │ ├── CoordinateFrame.cpp
│ │ ├── Crypto.cpp
│ │ ├── Crypto_md5.cpp
│ │ ├── Cylinder.cpp
│ │ ├── FileSystem.cpp
│ │ ├── GCamera.cpp
│ │ ├── GImage.cpp
│ │ ├── GImage_bayer.cpp
│ │ ├── GImage_bmp.cpp
│ │ ├── GImage_jpeg.cpp
│ │ ├── GImage_png.cpp
│ │ ├── GImage_ppm.cpp
│ │ ├── GImage_tga.cpp
│ │ ├── GLight.cpp
│ │ ├── GThread.cpp
│ │ ├── GUniqueID.cpp
│ │ ├── Image1.cpp
│ │ ├── Image1uint8.cpp
│ │ ├── Image3.cpp
│ │ ├── Image3uint8.cpp
│ │ ├── Image4.cpp
│ │ ├── Image4uint8.cpp
│ │ ├── ImageFormat.cpp
│ │ ├── ImageFormat_convert.cpp
│ │ ├── Intersect.cpp
│ │ ├── Line.cpp
│ │ ├── LineSegment.cpp
│ │ ├── Log.cpp
│ │ ├── Matrix.cpp
│ │ ├── Matrix3.cpp
│ │ ├── Matrix4.cpp
│ │ ├── MemoryManager.cpp
│ │ ├── MeshAlg.cpp
│ │ ├── MeshAlgAdjacency.cpp
│ │ ├── MeshAlgWeld.cpp
│ │ ├── MeshBuilder.cpp
│ │ ├── NetAddress.cpp
│ │ ├── NetworkDevice.cpp
│ │ ├── PhysicsFrame.cpp
│ │ ├── PhysicsFrameSpline.cpp
│ │ ├── Plane.cpp
│ │ ├── PrecomputedRandom.cpp
│ │ ├── Quat.cpp
│ │ ├── Random.cpp
│ │ ├── Ray.cpp
│ │ ├── Rect2D.cpp
│ │ ├── ReferenceCount.cpp
│ │ ├── RegistryUtil.cpp
│ │ ├── Sphere.cpp
│ │ ├── SplineBase.cpp
│ │ ├── Stopwatch.cpp
│ │ ├── System.cpp
│ │ ├── TextInput.cpp
│ │ ├── TextOutput.cpp
│ │ ├── ThreadSet.cpp
│ │ ├── Triangle.cpp
│ │ ├── UprightFrame.cpp
│ │ ├── Vector2.cpp
│ │ ├── Vector2int16.cpp
│ │ ├── Vector3.cpp
│ │ ├── Vector3int16.cpp
│ │ ├── Vector3int32.cpp
│ │ ├── Vector4.cpp
│ │ ├── Vector4int8.cpp
│ │ ├── Welder.cpp
│ │ ├── WinMain.cpp
│ │ ├── XML.cpp
│ │ ├── constants.cpp
│ │ ├── debugAssert.cpp
│ │ ├── fileutils.cpp
│ │ ├── filter.cpp
│ │ ├── format.cpp
│ │ ├── g3dfnmatch.cpp
│ │ ├── g3dmath.cpp
│ │ ├── license.cpp
│ │ ├── prompt.cpp
│ │ ├── stringutils.cpp
│ │ └── uint128.cpp
│ ├── gsoap/
│ │ ├── CMakeLists.txt
│ │ ├── soapC.cpp
│ │ ├── soapH.h
│ │ ├── soapService.cpp
│ │ ├── soapService.h
│ │ ├── soapStub.h
│ │ ├── stdsoap2.cpp
│ │ └── stdsoap2.h
│ ├── jemalloc/
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── ChangeLog
│ │ ├── README
│ │ ├── TC_NOTE.txt
│ │ ├── VERSION
│ │ ├── include/
│ │ │ ├── jemalloc/
│ │ │ │ ├── internal/
│ │ │ │ │ ├── arena.h
│ │ │ │ │ ├── atomic.h
│ │ │ │ │ ├── base.h
│ │ │ │ │ ├── bitmap.h
│ │ │ │ │ ├── chunk.h
│ │ │ │ │ ├── chunk_dss.h
│ │ │ │ │ ├── chunk_mmap.h
│ │ │ │ │ ├── ckh.h
│ │ │ │ │ ├── ctl.h
│ │ │ │ │ ├── extent.h
│ │ │ │ │ ├── hash.h
│ │ │ │ │ ├── huge.h
│ │ │ │ │ ├── jemalloc_internal.h
│ │ │ │ │ ├── mb.h
│ │ │ │ │ ├── mutex.h
│ │ │ │ │ ├── private_namespace.h
│ │ │ │ │ ├── prng.h
│ │ │ │ │ ├── prof.h
│ │ │ │ │ ├── ql.h
│ │ │ │ │ ├── qr.h
│ │ │ │ │ ├── quarantine.h
│ │ │ │ │ ├── rb.h
│ │ │ │ │ ├── rtree.h
│ │ │ │ │ ├── size_classes.h
│ │ │ │ │ ├── stats.h
│ │ │ │ │ ├── tcache.h
│ │ │ │ │ ├── tsd.h
│ │ │ │ │ └── util.h
│ │ │ │ └── jemalloc.h
│ │ │ └── msvc_compat/
│ │ │ ├── inttypes.h
│ │ │ ├── stdbool.h
│ │ │ ├── stdint.h
│ │ │ └── strings.h
│ │ ├── jemalloc_defs.h.in.cmake
│ │ └── src/
│ │ ├── arena.c
│ │ ├── atomic.c
│ │ ├── base.c
│ │ ├── bitmap.c
│ │ ├── chunk.c
│ │ ├── chunk_dss.c
│ │ ├── chunk_mmap.c
│ │ ├── ckh.c
│ │ ├── ctl.c
│ │ ├── extent.c
│ │ ├── hash.c
│ │ ├── huge.c
│ │ ├── jemalloc.c
│ │ ├── mb.c
│ │ ├── mutex.c
│ │ ├── prof.c
│ │ ├── quarantine.c
│ │ ├── rtree.c
│ │ ├── stats.c
│ │ ├── tcache.c
│ │ ├── tsd.c
│ │ ├── util.c
│ │ └── zone.c
│ ├── mysqllite/
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── README
│ │ ├── VERSION
│ │ ├── cmake/
│ │ │ ├── character_sets.cmake
│ │ │ ├── mysql_version.cmake
│ │ │ ├── os/
│ │ │ │ ├── Windows.cmake
│ │ │ │ └── WindowsCache.cmake
│ │ │ ├── stack_direction.c
│ │ │ └── versioninfo.rc.in
│ │ ├── config.h.cmake
│ │ ├── configure.cmake
│ │ ├── dbug/
│ │ │ ├── dbug.c
│ │ │ ├── dbug_long.h
│ │ │ ├── monty.doc
│ │ │ └── user.r
│ │ ├── include/
│ │ │ ├── decimal.h
│ │ │ ├── errmsg.h
│ │ │ ├── internal/
│ │ │ │ ├── atomic/
│ │ │ │ │ ├── gcc_builtins.h
│ │ │ │ │ ├── generic-msvc.h
│ │ │ │ │ ├── nolock.h
│ │ │ │ │ ├── rwlock.h
│ │ │ │ │ ├── solaris.h
│ │ │ │ │ └── x86-gcc.h
│ │ │ │ ├── base64.h
│ │ │ │ ├── hash.h
│ │ │ │ ├── lf.h
│ │ │ │ ├── my_aes.h
│ │ │ │ ├── my_alarm.h
│ │ │ │ ├── my_atomic.h
│ │ │ │ ├── my_base.h
│ │ │ │ ├── my_bit.h
│ │ │ │ ├── my_bitmap.h
│ │ │ │ ├── my_handler.h
│ │ │ │ ├── my_libwrap.h
│ │ │ │ ├── my_md5.h
│ │ │ │ ├── my_nosys.h
│ │ │ │ ├── my_rdtsc.h
│ │ │ │ ├── my_stacktrace.h
│ │ │ │ ├── my_time.h
│ │ │ │ ├── my_tree.h
│ │ │ │ ├── my_uctype.h
│ │ │ │ ├── myisampack.h
│ │ │ │ ├── mysql_version.h.in
│ │ │ │ ├── mysys_err.h
│ │ │ │ ├── password.h
│ │ │ │ ├── probes_mysql.h
│ │ │ │ ├── probes_mysql_nodtrace.h
│ │ │ │ ├── queues.h
│ │ │ │ ├── rijndael.h
│ │ │ │ ├── sha1.h
│ │ │ │ ├── t_ctype.h
│ │ │ │ ├── thr_alarm.h
│ │ │ │ ├── thr_lock.h
│ │ │ │ └── violite.h
│ │ │ ├── keycache.h
│ │ │ ├── m_ctype.h
│ │ │ ├── m_string.h
│ │ │ ├── my_alloc.h
│ │ │ ├── my_attribute.h
│ │ │ ├── my_compiler.h
│ │ │ ├── my_dbug.h
│ │ │ ├── my_dir.h
│ │ │ ├── my_getopt.h
│ │ │ ├── my_global.h
│ │ │ ├── my_list.h
│ │ │ ├── my_net.h
│ │ │ ├── my_pthread.h
│ │ │ ├── my_sys.h
│ │ │ ├── my_xml.h
│ │ │ ├── mysql/
│ │ │ │ ├── client_plugin.h
│ │ │ │ ├── innodb_priv.h
│ │ │ │ ├── plugin.h
│ │ │ │ ├── plugin_audit.h
│ │ │ │ ├── plugin_auth.h
│ │ │ │ ├── plugin_auth_common.h
│ │ │ │ ├── plugin_ftparser.h
│ │ │ │ ├── psi/
│ │ │ │ │ ├── mysql_file.h
│ │ │ │ │ ├── mysql_thread.h
│ │ │ │ │ ├── psi.h
│ │ │ │ │ ├── psi_abi_v1.h
│ │ │ │ │ └── psi_abi_v2.h
│ │ │ │ ├── service_my_snprintf.h
│ │ │ │ ├── service_thd_alloc.h
│ │ │ │ ├── service_thd_wait.h
│ │ │ │ ├── service_thread_scheduler.h
│ │ │ │ └── services.h
│ │ │ ├── mysql.h
│ │ │ ├── mysql_com.h
│ │ │ ├── mysql_embed.h
│ │ │ ├── mysql_time.h
│ │ │ ├── mysqld_ername.h
│ │ │ ├── mysqld_error.h
│ │ │ ├── plugin.h
│ │ │ ├── plugin_audit.h
│ │ │ ├── plugin_ftparser.h
│ │ │ ├── sql_common.h
│ │ │ ├── sql_state.h
│ │ │ ├── sslopt-case.h
│ │ │ ├── sslopt-longopts.h
│ │ │ ├── sslopt-vars.h
│ │ │ └── typelib.h
│ │ ├── libmysql/
│ │ │ ├── client_settings.h
│ │ │ ├── errmsg.c
│ │ │ ├── get_password.c
│ │ │ ├── libmysql.c
│ │ │ └── libmysql_exports.def
│ │ ├── mysys/
│ │ │ ├── ChangeLog
│ │ │ ├── array.c
│ │ │ ├── base64.c
│ │ │ ├── charset-def.c
│ │ │ ├── charset.c
│ │ │ ├── checksum.c
│ │ │ ├── default.c
│ │ │ ├── errors.c
│ │ │ ├── hash.c
│ │ │ ├── lf_alloc-pin.c
│ │ │ ├── lf_dynarray.c
│ │ │ ├── lf_hash.c
│ │ │ ├── list.c
│ │ │ ├── md5.c
│ │ │ ├── mf_arr_appstr.c
│ │ │ ├── mf_cache.c
│ │ │ ├── mf_dirname.c
│ │ │ ├── mf_fn_ext.c
│ │ │ ├── mf_format.c
│ │ │ ├── mf_getdate.c
│ │ │ ├── mf_iocache.c
│ │ │ ├── mf_iocache2.c
│ │ │ ├── mf_keycache.c
│ │ │ ├── mf_keycaches.c
│ │ │ ├── mf_loadpath.c
│ │ │ ├── mf_pack.c
│ │ │ ├── mf_path.c
│ │ │ ├── mf_qsort.c
│ │ │ ├── mf_qsort2.c
│ │ │ ├── mf_radix.c
│ │ │ ├── mf_same.c
│ │ │ ├── mf_sort.c
│ │ │ ├── mf_soundex.c
│ │ │ ├── mf_tempdir.c
│ │ │ ├── mf_tempfile.c
│ │ │ ├── mf_unixpath.c
│ │ │ ├── mf_wcomp.c
│ │ │ ├── mulalloc.c
│ │ │ ├── my_access.c
│ │ │ ├── my_aes.c
│ │ │ ├── my_alarm.c
│ │ │ ├── my_alloc.c
│ │ │ ├── my_atomic.c
│ │ │ ├── my_bit.c
│ │ │ ├── my_bitmap.c
│ │ │ ├── my_chsize.c
│ │ │ ├── my_compress.c
│ │ │ ├── my_conio.c
│ │ │ ├── my_copy.c
│ │ │ ├── my_create.c
│ │ │ ├── my_delete.c
│ │ │ ├── my_div.c
│ │ │ ├── my_error.c
│ │ │ ├── my_file.c
│ │ │ ├── my_fopen.c
│ │ │ ├── my_fstream.c
│ │ │ ├── my_gethostbyname.c
│ │ │ ├── my_gethwaddr.c
│ │ │ ├── my_getncpus.c
│ │ │ ├── my_getopt.c
│ │ │ ├── my_getpagesize.c
│ │ │ ├── my_getsystime.c
│ │ │ ├── my_getwd.c
│ │ │ ├── my_handler.c
│ │ │ ├── my_handler_errors.h
│ │ │ ├── my_init.c
│ │ │ ├── my_largepage.c
│ │ │ ├── my_lib.c
│ │ │ ├── my_libwrap.c
│ │ │ ├── my_lock.c
│ │ │ ├── my_lockmem.c
│ │ │ ├── my_malloc.c
│ │ │ ├── my_memmem.c
│ │ │ ├── my_mess.c
│ │ │ ├── my_mkdir.c
│ │ │ ├── my_mmap.c
│ │ │ ├── my_new.cc
│ │ │ ├── my_once.c
│ │ │ ├── my_open.c
│ │ │ ├── my_port.c
│ │ │ ├── my_pread.c
│ │ │ ├── my_pthread.c
│ │ │ ├── my_quick.c
│ │ │ ├── my_rdtsc.c
│ │ │ ├── my_read.c
│ │ │ ├── my_redel.c
│ │ │ ├── my_rename.c
│ │ │ ├── my_seek.c
│ │ │ ├── my_sleep.c
│ │ │ ├── my_static.c
│ │ │ ├── my_static.h
│ │ │ ├── my_symlink.c
│ │ │ ├── my_symlink2.c
│ │ │ ├── my_sync.c
│ │ │ ├── my_thr_init.c
│ │ │ ├── my_wincond.c
│ │ │ ├── my_windac.c
│ │ │ ├── my_winerr.c
│ │ │ ├── my_winfile.c
│ │ │ ├── my_winthread.c
│ │ │ ├── my_write.c
│ │ │ ├── mysys_priv.h
│ │ │ ├── ptr_cmp.c
│ │ │ ├── queues.c
│ │ │ ├── rijndael.c
│ │ │ ├── sha1.c
│ │ │ ├── stacktrace.c
│ │ │ ├── string.c
│ │ │ ├── thr_alarm.c
│ │ │ ├── thr_lock.c
│ │ │ ├── thr_mutex.c
│ │ │ ├── thr_rwlock.c
│ │ │ ├── tree.c
│ │ │ └── typelib.c
│ │ ├── sql/
│ │ │ ├── net_serv.cc
│ │ │ └── password.c
│ │ ├── sql-common/
│ │ │ ├── client.c
│ │ │ ├── client_plugin.c
│ │ │ ├── my_time.c
│ │ │ └── pack.c
│ │ ├── strings/
│ │ │ ├── CHARSET_INFO.txt
│ │ │ ├── README
│ │ │ ├── bchange.c
│ │ │ ├── bmove_upp.c
│ │ │ ├── ctype-big5.c
│ │ │ ├── ctype-bin.c
│ │ │ ├── ctype-cp932.c
│ │ │ ├── ctype-czech.c
│ │ │ ├── ctype-euc_kr.c
│ │ │ ├── ctype-extra.c
│ │ │ ├── ctype-gb2312.c
│ │ │ ├── ctype-gbk.c
│ │ │ ├── ctype-latin1.c
│ │ │ ├── ctype-mb.c
│ │ │ ├── ctype-simple.c
│ │ │ ├── ctype-tis620.c
│ │ │ ├── ctype-uca.c
│ │ │ ├── ctype-ucs2.c
│ │ │ ├── ctype-utf8.c
│ │ │ ├── ctype-win1250ch.c
│ │ │ ├── ctype.c
│ │ │ ├── decimal.c
│ │ │ ├── dtoa.c
│ │ │ ├── int2str.c
│ │ │ ├── is_prefix.c
│ │ │ ├── latin2.def
│ │ │ ├── llstr.c
│ │ │ ├── longlong2str.c
│ │ │ ├── my_strchr.c
│ │ │ ├── my_strtoll10.c
│ │ │ ├── my_vsnprintf.c
│ │ │ ├── str2int.c
│ │ │ ├── str_alloc.c
│ │ │ ├── strappend.c
│ │ │ ├── strcend.c
│ │ │ ├── strcont.c
│ │ │ ├── strend.c
│ │ │ ├── strfill.c
│ │ │ ├── strmake.c
│ │ │ ├── strmov.c
│ │ │ ├── strnlen.c
│ │ │ ├── strnmov.c
│ │ │ ├── strxmov.c
│ │ │ ├── strxnmov.c
│ │ │ ├── t_ctype.h
│ │ │ └── xml.c
│ │ └── vio/
│ │ ├── vio.c
│ │ ├── vio_priv.h
│ │ ├── viosocket.c
│ │ ├── viossl.c
│ │ └── viosslfactories.c
│ ├── recastnavigation/
│ │ ├── CMakeLists.txt
│ │ ├── Detour/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Include/
│ │ │ │ ├── DetourAlloc.h
│ │ │ │ ├── DetourAssert.h
│ │ │ │ ├── DetourCommon.h
│ │ │ │ ├── DetourNavMesh.h
│ │ │ │ ├── DetourNavMeshBuilder.h
│ │ │ │ ├── DetourNavMeshQuery.h
│ │ │ │ ├── DetourNode.h
│ │ │ │ └── DetourStatus.h
│ │ │ └── Source/
│ │ │ ├── DetourAlloc.cpp
│ │ │ ├── DetourCommon.cpp
│ │ │ ├── DetourNavMesh.cpp
│ │ │ ├── DetourNavMeshBuilder.cpp
│ │ │ ├── DetourNavMeshQuery.cpp
│ │ │ └── DetourNode.cpp
│ │ ├── License.txt
│ │ ├── Readme.txt
│ │ ├── Recast/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Include/
│ │ │ │ ├── Recast.h
│ │ │ │ ├── RecastAlloc.h
│ │ │ │ └── RecastAssert.h
│ │ │ └── Source/
│ │ │ ├── Recast.cpp
│ │ │ ├── RecastAlloc.cpp
│ │ │ ├── RecastArea.cpp
│ │ │ ├── RecastContour.cpp
│ │ │ ├── RecastFilter.cpp
│ │ │ ├── RecastLayers.cpp
│ │ │ ├── RecastMesh.cpp
│ │ │ ├── RecastMeshDetail.cpp
│ │ │ ├── RecastRasterization.cpp
│ │ │ └── RecastRegion.cpp
│ │ ├── TODO.txt
│ │ ├── recast_hotfix1.diff
│ │ └── recastnavigation.diff
│ ├── utf8cpp/
│ │ ├── utf8/
│ │ │ ├── checked.h
│ │ │ ├── core.h
│ │ │ └── unchecked.h
│ │ └── utf8.h
│ └── zlib/
│ ├── CMakeLists.txt
│ ├── adler32.c
│ ├── compress.c
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── example.c
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── minigzip.c
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── zconf.h
│ ├── zlib.h
│ ├── zutil.c
│ └── zutil.h
├── doc/
│ ├── COMPILATION_HELP.TXT
│ ├── CharacterDBCleanup.txt
│ ├── GPL-3.0.txt
│ ├── HowToScript.txt
│ ├── LoggingHOWTO.txt
│ ├── Soap_example.php
│ ├── UnixInstall.txt
│ ├── cmake_copyright_header.txt
│ ├── code_standards.md
│ └── cplusplus_copyright_header.txt
├── revision.h.in.cmake
├── sql/
│ ├── base/
│ │ ├── archive.sql
│ │ ├── auth.sql
│ │ └── characters.sql
│ ├── oficiales_base/
│ │ ├── archive.sql
│ │ ├── auth.sql
│ │ └── characters.sql
│ └── updates/
│ ├── auth/
│ │ ├── 2021_03_27_BattlePay_DP.sql
│ │ ├── 2021_03_27_BattlePay_log.sql
│ │ ├── 2021_03_27_WowTokens_log.sql
│ │ ├── 2021_05_15_Reinicio_de_Arenas.sql
│ │ ├── 2021_07_17_00_autobroadcast.sql
│ │ ├── 2021_08_08_Bonus_BG.sql
│ │ ├── 2021_08_08_Config.sql
│ │ └── fusion-cms.sql
│ ├── characters/
│ │ ├── 2021_05_14_Bug_RBG.sql
│ │ ├── 2021_05_14_Services.sql
│ │ ├── 2021_05_15_Reinicio_de_Arenas.sql
│ │ └── 2021_08_31_Reinicio_de_Temporada_PVP.sql
│ └── world/
│ ├── 2021_03_09_PVP.sql
│ ├── 2021_03_12_extendedcost.sql
│ ├── 2021_03_12_npc_vendors.sql
│ ├── 2021_03_27_BattlePay.sql
│ ├── 2021_03_27_WowMoneda.sql
│ ├── 2021_03_27_WowMoneda02.sql
│ ├── 2021_03_29_boost_90.sql
│ ├── 2021_03_30_ErrorCañones.sql
│ ├── 2021_03_30_PlayaDeLosAncestros.sql
│ ├── 2021_03_30_quest_28826-28805.sql
│ ├── 2021_04_01_Disables_logros.sql
│ ├── 2021_04_03_Comandos.sql
│ ├── 2021_04_03_Traducciones.sql
│ ├── 2021_04_07_Exploit_quest_29908.sql
│ ├── 2021_04_09_Instructor_Rogue.sql
│ ├── 2021_04_10_Intendente_de_Honor.sql
│ ├── 2021_04_10_Tienda_en_juego.sql
│ ├── 2021_04_12_Exploit_EXP.sql
│ ├── 2021_04_13_Modificando_Textos_Locales.sql
│ ├── 2021_04_14_Templo_Niuzao.sql
│ ├── 2021_04_15_Boss_Mundial_Galeon.sql
│ ├── 2021_04_15_Cambios.sql
│ ├── 2021_04_15_SealOfTruth.sql
│ ├── 2021_04_15_Tabla_Locales_Creature.sql
│ ├── 2021_04_15_Tabla_Locales_Items.sql
│ ├── 2021_04_16_Cambios_menores.sql
│ ├── 2021_04_16_Eliminando_Recetas.sql
│ ├── 2021_04_17_Borrando_Monturas.sql
│ ├── 2021_04_17_Garra_de_Tichondrius.sql
│ ├── 2021_04_19_Actualizando_estado_shop.sql
│ ├── 2021_04_19_Jefes_de_Mundo.sql
│ ├── 2021_04_19_Shop_Ingame.sql
│ ├── 2021_04_19_Shop_Ingame_Item_Disabled.sql
│ ├── 2021_04_26_Items_PVP_faltantes.sql
│ ├── 2021_04_27_Jefe_Elegon.sql
│ ├── 2021_04_28_Exploit_Oro.sql
│ ├── 2021_04_28_Miscelaneo.sql
│ ├── 2021_04_30_Disables.sql
│ ├── 2021_04_30_Intendente_puntos_Justicia.sql
│ ├── 2021_04_30_Tienda.sql
│ ├── 2021_04_30_Traducciones_Items.sql
│ ├── 2021_05_04_TalismanDeLaBuenaFortuna.sql
│ ├── 2021_05_05_Traducciones_de_Items.sql
│ ├── 2021_05_06_JineteDecapitado.Sql
│ ├── 2021_05_06_NPC_Totem.Sql
│ ├── 2021_05_13_Boost_Profession.sql
│ ├── 2021_05_14_ItemCustom_1000Honor.sql
│ ├── 2021_05_14_TiendaIngame.sql
│ ├── 2021_05_15_Intendente_Conquista.sql
│ ├── 2021_06_07_Sha_Y_Galeon.sql
│ ├── 2021_06_11_ItemCustom_1000Justice_1000valor_1000conquest.sql
│ ├── 2021_06_16_Sha_Y_Galeon.sql
│ ├── 2021_07_08_glyph_of_the_geist.sql
│ ├── 2021_07_12_glyph_of_zen_flight.sql
│ ├── 2021_07_12_lost_soul.sql
│ ├── 2021_07_18_00.sql
│ ├── 2021_08_02_Dragones_nimbo.sql
│ ├── 2021_08_02_Talismanes_fortuna.sql
│ ├── 2021_08_02_Transfiguración_Custom.sql
│ ├── 2021_08_03_stompy.sql
│ ├── 2021_08_21_ElegonPos.sql
│ ├── 2021_08_26_Garajal.sql
│ ├── 2021_09_07_01_Tabla_Quest_template.sql
│ ├── 2021_09_07_02_Títulos_de_Arenas.sql
│ ├── 2021_09_09_Tienda_Temporada02.sql
│ ├── 2021_09_17_Desactivando_Mision_AlaIslaIntemporal.sql
│ ├── 2021_09_28_RemoveItems_Blackmarket.sql
│ ├── 2021_10_05_Misiones_Transfigurador_MOP.sql
│ ├── 2021_10_05_Tienda_en_juego.sql
│ ├── 2021_10_07_AccessRequirements.sql
│ ├── 2021_10_16_NPC_Vendor_MoP.sql
│ ├── 2021_10_22_Tienda_en_juego.sql
│ ├── 2021_11_01_Intendentes-PVE-Raids.sql
│ ├── 2021_11_01_Tienda_en_juego.sql
│ ├── 2021_11_05_Intendentes-PVE.sql
│ └── 2021_11_05_Tienda_en_juego.sql
└── src/
├── CMakeLists.txt
├── genrev/
│ └── CMakeLists.txt
├── server/
│ ├── CMakeLists.txt
│ ├── authserver/
│ │ ├── Authentication/
│ │ │ ├── AuthCodes.cpp
│ │ │ ├── AuthCodes.h
│ │ │ ├── TOTP.cpp
│ │ │ └── TOTP.h
│ │ ├── CMakeLists.txt
│ │ ├── Main.cpp
│ │ ├── PrecompiledHeaders/
│ │ │ ├── authPCH.cpp
│ │ │ └── authPCH.h
│ │ ├── Realms/
│ │ │ ├── RealmList.cpp
│ │ │ └── RealmList.h
│ │ ├── Server/
│ │ │ ├── AuthSocket.cpp
│ │ │ ├── AuthSocket.h
│ │ │ ├── RealmAcceptor.h
│ │ │ ├── RealmSocket.cpp
│ │ │ └── RealmSocket.h
│ │ ├── authserver.conf.dist
│ │ ├── authserver.rc
│ │ └── resource.h
│ ├── collision/
│ │ ├── BoundingIntervalHierarchy.cpp
│ │ ├── BoundingIntervalHierarchy.h
│ │ ├── BoundingIntervalHierarchyWrapper.h
│ │ ├── CMakeLists.txt
│ │ ├── DynamicTree.cpp
│ │ ├── DynamicTree.h
│ │ ├── Management/
│ │ │ ├── IVMapManager.h
│ │ │ ├── MMapFactory.cpp
│ │ │ ├── MMapFactory.h
│ │ │ ├── MMapManager.cpp
│ │ │ ├── MMapManager.h
│ │ │ ├── VMapFactory.cpp
│ │ │ ├── VMapFactory.h
│ │ │ ├── VMapManager2.cpp
│ │ │ └── VMapManager2.h
│ │ ├── Maps/
│ │ │ ├── MapTree.cpp
│ │ │ ├── MapTree.h
│ │ │ ├── TileAssembler.cpp
│ │ │ └── TileAssembler.h
│ │ ├── Models/
│ │ │ ├── GameObjectModel.cpp
│ │ │ ├── GameObjectModel.h
│ │ │ ├── ModelInstance.cpp
│ │ │ ├── ModelInstance.h
│ │ │ ├── WorldModel.cpp
│ │ │ └── WorldModel.h
│ │ ├── PrecompiledHeaders/
│ │ │ ├── collisionPCH.cpp
│ │ │ └── collisionPCH.h
│ │ ├── RegularGrid.h
│ │ ├── VMapDefinitions.h
│ │ └── VMapTools.h
│ ├── game/
│ │ ├── AI/
│ │ │ ├── CoreAI/
│ │ │ │ ├── CombatAI.cpp
│ │ │ │ ├── CombatAI.h
│ │ │ │ ├── GameObjectAI.cpp
│ │ │ │ ├── GameObjectAI.h
│ │ │ │ ├── GuardAI.cpp
│ │ │ │ ├── GuardAI.h
│ │ │ │ ├── PassiveAI.cpp
│ │ │ │ ├── PassiveAI.h
│ │ │ │ ├── PetAI.cpp
│ │ │ │ ├── PetAI.h
│ │ │ │ ├── ReactorAI.cpp
│ │ │ │ ├── ReactorAI.h
│ │ │ │ ├── TotemAI.cpp
│ │ │ │ ├── TotemAI.h
│ │ │ │ ├── UnitAI.cpp
│ │ │ │ └── UnitAI.h
│ │ │ ├── CreatureAI.cpp
│ │ │ ├── CreatureAI.h
│ │ │ ├── CreatureAIFactory.h
│ │ │ ├── CreatureAIImpl.h
│ │ │ ├── CreatureAIRegistry.cpp
│ │ │ ├── CreatureAIRegistry.h
│ │ │ ├── CreatureAISelector.cpp
│ │ │ ├── CreatureAISelector.h
│ │ │ ├── PlayerAI/
│ │ │ │ ├── PlayerAI.cpp
│ │ │ │ └── PlayerAI.h
│ │ │ ├── ScriptedAI/
│ │ │ │ ├── ScriptedCreature.cpp
│ │ │ │ ├── ScriptedCreature.h
│ │ │ │ ├── ScriptedEscortAI.cpp
│ │ │ │ ├── ScriptedEscortAI.h
│ │ │ │ ├── ScriptedFollowerAI.cpp
│ │ │ │ ├── ScriptedFollowerAI.h
│ │ │ │ └── ScriptedGossip.h
│ │ │ └── SmartScripts/
│ │ │ ├── SmartAI.cpp
│ │ │ ├── SmartAI.h
│ │ │ ├── SmartScript.cpp
│ │ │ ├── SmartScript.h
│ │ │ ├── SmartScriptMgr.cpp
│ │ │ └── SmartScriptMgr.h
│ │ ├── Accounts/
│ │ │ ├── AccountMgr.cpp
│ │ │ └── AccountMgr.h
│ │ ├── Achievements/
│ │ │ ├── AchievementMgr.cpp
│ │ │ └── AchievementMgr.h
│ │ ├── Addons/
│ │ │ ├── AddonMgr.cpp
│ │ │ └── AddonMgr.h
│ │ ├── Anticheat/
│ │ │ ├── AnticheatMgr.cpp
│ │ │ └── AnticheatMgr.h
│ │ ├── AuctionHouse/
│ │ │ ├── AuctionHouseMgr.cpp
│ │ │ └── AuctionHouseMgr.h
│ │ ├── BattlePay/
│ │ │ ├── BattlePayMgr.cpp
│ │ │ ├── BattlePayMgr.h
│ │ │ ├── ServiceBoost.cpp
│ │ │ └── ServiceBoost.h
│ │ ├── BattlePet/
│ │ │ ├── BattlePet.cpp
│ │ │ ├── BattlePet.h
│ │ │ ├── BattlePetAbilityEffect.cpp
│ │ │ ├── BattlePetAbilityEffect.h
│ │ │ ├── BattlePetAura.cpp
│ │ │ ├── BattlePetAura.h
│ │ │ ├── BattlePetMgr.cpp
│ │ │ ├── BattlePetMgr.h
│ │ │ ├── BattlePetSpawnMgr.cpp
│ │ │ ├── BattlePetSpawnMgr.h
│ │ │ ├── PetBattle.cpp
│ │ │ └── PetBattle.h
│ │ ├── Battlefield/
│ │ │ ├── Battlefield.cpp
│ │ │ ├── Battlefield.h
│ │ │ ├── BattlefieldMgr.cpp
│ │ │ ├── BattlefieldMgr.h
│ │ │ └── Zones/
│ │ │ ├── BattlefieldWG.cpp
│ │ │ └── BattlefieldWG.h
│ │ ├── Battlegrounds/
│ │ │ ├── ArenaTeam.cpp
│ │ │ ├── ArenaTeam.h
│ │ │ ├── Battleground.cpp
│ │ │ ├── Battleground.h
│ │ │ ├── BattlegroundMgr.cpp
│ │ │ ├── BattlegroundMgr.h
│ │ │ ├── BattlegroundQueue.cpp
│ │ │ ├── BattlegroundQueue.h
│ │ │ ├── RatedPvp.cpp
│ │ │ ├── RatedPvp.h
│ │ │ └── Zones/
│ │ │ ├── BattlegroundAB.cpp
│ │ │ ├── BattlegroundAB.h
│ │ │ ├── BattlegroundAV.cpp
│ │ │ ├── BattlegroundAV.h
│ │ │ ├── BattlegroundBE.cpp
│ │ │ ├── BattlegroundBE.h
│ │ │ ├── BattlegroundBFG.cpp
│ │ │ ├── BattlegroundBFG.h
│ │ │ ├── BattlegroundDG.cpp
│ │ │ ├── BattlegroundDG.h
│ │ │ ├── BattlegroundDS.cpp
│ │ │ ├── BattlegroundDS.h
│ │ │ ├── BattlegroundEY.cpp
│ │ │ ├── BattlegroundEY.h
│ │ │ ├── BattlegroundIC.cpp
│ │ │ ├── BattlegroundIC.h
│ │ │ ├── BattlegroundNA.cpp
│ │ │ ├── BattlegroundNA.h
│ │ │ ├── BattlegroundRL.cpp
│ │ │ ├── BattlegroundRL.h
│ │ │ ├── BattlegroundRV.cpp
│ │ │ ├── BattlegroundRV.h
│ │ │ ├── BattlegroundSA.cpp
│ │ │ ├── BattlegroundSA.h
│ │ │ ├── BattlegroundSM.cpp
│ │ │ ├── BattlegroundSM.h
│ │ │ ├── BattlegroundTOK.cpp
│ │ │ ├── BattlegroundTOK.h
│ │ │ ├── BattlegroundTP.cpp
│ │ │ ├── BattlegroundTP.h
│ │ │ ├── BattlegroundTTP.cpp
│ │ │ ├── BattlegroundTTP.h
│ │ │ ├── BattlegroundTV.cpp
│ │ │ ├── BattlegroundTV.h
│ │ │ ├── BattlegroundWS.cpp
│ │ │ └── BattlegroundWS.h
│ │ ├── BlackMarket/
│ │ │ ├── BlackMarketMgr.cpp
│ │ │ └── BlackMarketMgr.h
│ │ ├── CMakeLists.txt
│ │ ├── Calendar/
│ │ │ ├── CalendarMgr.cpp
│ │ │ └── CalendarMgr.h
│ │ ├── Chat/
│ │ │ ├── Channels/
│ │ │ │ ├── Channel.cpp
│ │ │ │ ├── Channel.h
│ │ │ │ ├── ChannelMgr.cpp
│ │ │ │ └── ChannelMgr.h
│ │ │ ├── Chat.cpp
│ │ │ ├── Chat.h
│ │ │ ├── ChatLink.cpp
│ │ │ └── ChatLink.h
│ │ ├── Combat/
│ │ │ ├── HostileRefManager.cpp
│ │ │ ├── HostileRefManager.h
│ │ │ ├── ThreatManager.cpp
│ │ │ ├── ThreatManager.h
│ │ │ └── UnitEvents.h
│ │ ├── Conditions/
│ │ │ ├── ConditionMgr.cpp
│ │ │ ├── ConditionMgr.h
│ │ │ ├── ConditionMgr.h.orig
│ │ │ ├── DisableMgr.cpp
│ │ │ └── DisableMgr.h
│ │ ├── CustomLogs/
│ │ │ ├── CustomLogs.cpp
│ │ │ └── CustomLogs.h
│ │ ├── CustomTransmogrification/
│ │ │ ├── CustomTransmogrification.cpp
│ │ │ └── CustomTransmogrification.h
│ │ ├── DataStores/
│ │ │ ├── DB2Enums.h
│ │ │ ├── DB2Stores.cpp
│ │ │ ├── DB2Stores.h
│ │ │ ├── DB2Structure.h
│ │ │ ├── DB2Utility.cpp
│ │ │ ├── DB2Utility.h
│ │ │ ├── DB2fmt.h
│ │ │ ├── DBCEnums.h
│ │ │ ├── DBCStores.cpp
│ │ │ ├── DBCStores.h
│ │ │ ├── DBCStructure.h
│ │ │ └── DBCfmt.h
│ │ ├── DungeonFinding/
│ │ │ ├── LFG.cpp
│ │ │ ├── LFG.h
│ │ │ ├── LFGDataOwner.h
│ │ │ ├── LFGGroupData.cpp
│ │ │ ├── LFGGroupData.h
│ │ │ ├── LFGMgr.cpp
│ │ │ ├── LFGMgr.h
│ │ │ ├── LFGPlayerData.cpp
│ │ │ ├── LFGPlayerData.h
│ │ │ ├── LFGQueue.cpp
│ │ │ ├── LFGQueue.h
│ │ │ ├── LFGScripts.cpp
│ │ │ └── LFGScripts.h
│ │ ├── Entities/
│ │ │ ├── AreaTrigger/
│ │ │ │ ├── AreaTrigger.cpp
│ │ │ │ └── AreaTrigger.h
│ │ │ ├── Corpse/
│ │ │ │ ├── Corpse.cpp
│ │ │ │ └── Corpse.h
│ │ │ ├── Creature/
│ │ │ │ ├── Creature.cpp
│ │ │ │ ├── Creature.h
│ │ │ │ ├── CreatureGroups.cpp
│ │ │ │ ├── CreatureGroups.h
│ │ │ │ ├── GossipDef.cpp
│ │ │ │ ├── GossipDef.h
│ │ │ │ ├── TemporarySummon.cpp
│ │ │ │ └── TemporarySummon.h
│ │ │ ├── DynamicObject/
│ │ │ │ ├── DynamicObject.cpp
│ │ │ │ └── DynamicObject.h
│ │ │ ├── GameObject/
│ │ │ │ ├── GameObject.cpp
│ │ │ │ └── GameObject.h
│ │ │ ├── Item/
│ │ │ │ ├── Container/
│ │ │ │ │ ├── Bag.cpp
│ │ │ │ │ └── Bag.h
│ │ │ │ ├── Item.cpp
│ │ │ │ ├── Item.h
│ │ │ │ ├── ItemEnchantmentMgr.cpp
│ │ │ │ ├── ItemEnchantmentMgr.h
│ │ │ │ ├── ItemPrototype.h
│ │ │ │ ├── ItemSpec.cpp
│ │ │ │ └── ItemSpec.h
│ │ │ ├── Object/
│ │ │ │ ├── Object.cpp
│ │ │ │ ├── Object.h
│ │ │ │ ├── ObjectDefines.h
│ │ │ │ ├── ObjectPosSelector.cpp
│ │ │ │ ├── ObjectPosSelector.h
│ │ │ │ └── Updates/
│ │ │ │ ├── UpdateData.cpp
│ │ │ │ ├── UpdateData.h
│ │ │ │ ├── UpdateFieldFlags.cpp
│ │ │ │ ├── UpdateFieldFlags.h
│ │ │ │ ├── UpdateFields.h
│ │ │ │ └── UpdateMask.h
│ │ │ ├── Pet/
│ │ │ │ ├── Pet.cpp
│ │ │ │ ├── Pet.h
│ │ │ │ └── PetDefines.h
│ │ │ ├── Player/
│ │ │ │ ├── Player.cpp
│ │ │ │ ├── Player.h
│ │ │ │ ├── SceneMgr.cpp
│ │ │ │ ├── SceneMgr.h
│ │ │ │ ├── SocialMgr.cpp
│ │ │ │ ├── SocialMgr.h
│ │ │ │ └── WorldStateBuilder.h
│ │ │ ├── Totem/
│ │ │ │ ├── Totem.cpp
│ │ │ │ └── Totem.h
│ │ │ ├── Transport/
│ │ │ │ ├── Transport.cpp
│ │ │ │ └── Transport.h
│ │ │ ├── Unit/
│ │ │ │ ├── StatSystem.cpp
│ │ │ │ ├── Unit.cpp
│ │ │ │ └── Unit.h
│ │ │ └── Vehicle/
│ │ │ ├── Vehicle.cpp
│ │ │ ├── Vehicle.h
│ │ │ └── VehicleDefines.h
│ │ ├── Events/
│ │ │ ├── GameEventMgr.cpp
│ │ │ └── GameEventMgr.h
│ │ ├── Globals/
│ │ │ ├── ObjectAccessor.cpp
│ │ │ ├── ObjectAccessor.h
│ │ │ ├── ObjectMgr.cpp
│ │ │ └── ObjectMgr.h
│ │ ├── Grids/
│ │ │ ├── Cells/
│ │ │ │ ├── Cell.h
│ │ │ │ └── CellImpl.h
│ │ │ ├── Grid.h
│ │ │ ├── GridDefines.h
│ │ │ ├── GridLoader.h
│ │ │ ├── GridRefManager.h
│ │ │ ├── GridReference.h
│ │ │ ├── GridStates.cpp
│ │ │ ├── GridStates.h
│ │ │ ├── NGrid.h
│ │ │ ├── Notifiers/
│ │ │ │ ├── GridNotifiers.cpp
│ │ │ │ ├── GridNotifiers.h
│ │ │ │ └── GridNotifiersImpl.h
│ │ │ ├── ObjectGridLoader.cpp
│ │ │ └── ObjectGridLoader.h
│ │ ├── Groups/
│ │ │ ├── Group.cpp
│ │ │ ├── Group.h
│ │ │ ├── GroupMgr.cpp
│ │ │ ├── GroupMgr.h
│ │ │ ├── GroupRefManager.h
│ │ │ ├── GroupReference.cpp
│ │ │ └── GroupReference.h
│ │ ├── Guilds/
│ │ │ ├── Guild.cpp
│ │ │ ├── Guild.h
│ │ │ ├── GuildFinderMgr.cpp
│ │ │ ├── GuildFinderMgr.h
│ │ │ ├── GuildMgr.cpp
│ │ │ └── GuildMgr.h
│ │ ├── Handlers/
│ │ │ ├── AuctionHouseHandler.cpp
│ │ │ ├── AuthHandler.cpp
│ │ │ ├── BattleGroundHandler.cpp
│ │ │ ├── BattlePayHandler.cpp
│ │ │ ├── BattlePetHandler.cpp
│ │ │ ├── BattlefieldHandler.cpp
│ │ │ ├── BlackMarketHandler.cpp
│ │ │ ├── CalendarHandler.cpp
│ │ │ ├── ChallengeModeHandler.cpp
│ │ │ ├── ChannelHandler.cpp
│ │ │ ├── CharacterHandler.cpp
│ │ │ ├── ChatHandler.cpp
│ │ │ ├── CombatHandler.cpp
│ │ │ ├── DuelHandler.cpp
│ │ │ ├── GroupHandler.cpp
│ │ │ ├── GuildFinderHandler.cpp
│ │ │ ├── GuildHandler.cpp
│ │ │ ├── ItemHandler.cpp
│ │ │ ├── LFGHandler.cpp
│ │ │ ├── LootHandler.cpp
│ │ │ ├── MailHandler.cpp
│ │ │ ├── MiscHandler.cpp
│ │ │ ├── MovementHandler.cpp
│ │ │ ├── NPCHandler.cpp
│ │ │ ├── NPCHandler.h
│ │ │ ├── PetHandler.cpp
│ │ │ ├── PetitionsHandler.cpp
│ │ │ ├── QueryHandler.cpp
│ │ │ ├── QuestHandler.cpp
│ │ │ ├── ReferAFriendHandler.cpp
│ │ │ ├── ScenarioHandler.cpp
│ │ │ ├── SceneHandler.cpp
│ │ │ ├── SkillHandler.cpp
│ │ │ ├── SpellHandler.cpp
│ │ │ ├── TaxiHandler.cpp
│ │ │ ├── TicketHandler.cpp
│ │ │ ├── TradeHandler.cpp
│ │ │ ├── VehicleHandler.cpp
│ │ │ ├── VoiceChatHandler.cpp
│ │ │ └── VoidStorageHandler.cpp
│ │ ├── Instances/
│ │ │ ├── InstanceSaveMgr.cpp
│ │ │ ├── InstanceSaveMgr.h
│ │ │ ├── InstanceScript.cpp
│ │ │ └── InstanceScript.h
│ │ ├── Loot/
│ │ │ ├── LootLockoutMap.h
│ │ │ ├── LootMgr.cpp
│ │ │ └── LootMgr.h
│ │ ├── Mails/
│ │ │ ├── Mail.cpp
│ │ │ └── Mail.h
│ │ ├── Maps/
│ │ │ ├── Map.cpp
│ │ │ ├── Map.h
│ │ │ ├── MapInstanced.cpp
│ │ │ ├── MapInstanced.h
│ │ │ ├── MapManager.cpp
│ │ │ ├── MapManager.h
│ │ │ ├── MapRefManager.h
│ │ │ ├── MapReference.h
│ │ │ ├── MapUpdater.cpp
│ │ │ ├── MapUpdater.h
│ │ │ ├── PhaseMgr.cpp
│ │ │ ├── PhaseMgr.h
│ │ │ ├── TransportMgr.cpp
│ │ │ ├── TransportMgr.h
│ │ │ └── ZoneScript.h
│ │ ├── Miscellaneous/
│ │ │ ├── Formulas.h
│ │ │ ├── Language.h
│ │ │ └── SharedDefines.h
│ │ ├── Movement/
│ │ │ ├── FollowerRefManager.h
│ │ │ ├── FollowerReference.cpp
│ │ │ ├── FollowerReference.h
│ │ │ ├── MotionMaster.cpp
│ │ │ ├── MotionMaster.h
│ │ │ ├── MovementGenerator.cpp
│ │ │ ├── MovementGenerator.h
│ │ │ ├── MovementGeneratorImpl.h
│ │ │ ├── MovementGenerators/
│ │ │ │ ├── ConfusedMovementGenerator.cpp
│ │ │ │ ├── ConfusedMovementGenerator.h
│ │ │ │ ├── FleeingMovementGenerator.cpp
│ │ │ │ ├── FleeingMovementGenerator.h
│ │ │ │ ├── HomeMovementGenerator.cpp
│ │ │ │ ├── HomeMovementGenerator.h
│ │ │ │ ├── IdleMovementGenerator.cpp
│ │ │ │ ├── IdleMovementGenerator.h
│ │ │ │ ├── PointMovementGenerator.cpp
│ │ │ │ ├── PointMovementGenerator.h
│ │ │ │ ├── RandomMovementGenerator.cpp
│ │ │ │ ├── RandomMovementGenerator.h
│ │ │ │ ├── TargetedMovementGenerator.cpp
│ │ │ │ ├── TargetedMovementGenerator.h
│ │ │ │ ├── WaypointMovementGenerator.cpp
│ │ │ │ └── WaypointMovementGenerator.h
│ │ │ ├── MovementStructures.cpp
│ │ │ ├── MovementStructures.h
│ │ │ ├── PathGenerator.cpp
│ │ │ ├── PathGenerator.h
│ │ │ ├── Spline/
│ │ │ │ ├── MoveSpline.cpp
│ │ │ │ ├── MoveSpline.h
│ │ │ │ ├── MoveSplineFlag.h
│ │ │ │ ├── MoveSplineInit.cpp
│ │ │ │ ├── MoveSplineInit.h
│ │ │ │ ├── MoveSplineInitArgs.h
│ │ │ │ ├── MovementPacketBuilder.cpp
│ │ │ │ ├── MovementPacketBuilder.h
│ │ │ │ ├── MovementTypedefs.h
│ │ │ │ ├── MovementUtil.cpp
│ │ │ │ ├── Spline.cpp
│ │ │ │ ├── Spline.h
│ │ │ │ └── SplineImpl.h
│ │ │ └── Waypoints/
│ │ │ ├── Path.h
│ │ │ ├── WaypointManager.cpp
│ │ │ └── WaypointManager.h
│ │ ├── OutdoorPvP/
│ │ │ ├── OutdoorPvP.cpp
│ │ │ ├── OutdoorPvP.h
│ │ │ ├── OutdoorPvPMgr.cpp
│ │ │ └── OutdoorPvPMgr.h
│ │ ├── Pools/
│ │ │ ├── PoolMgr.cpp
│ │ │ └── PoolMgr.h
│ │ ├── PrecompiledHeaders/
│ │ │ ├── gamePCH.cpp
│ │ │ └── gamePCH.h
│ │ ├── Quests/
│ │ │ ├── QuestDef.cpp
│ │ │ └── QuestDef.h
│ │ ├── Reputation/
│ │ │ ├── ReputationMgr.cpp
│ │ │ └── ReputationMgr.h
│ │ ├── Scenarios/
│ │ │ ├── ScenarioMgr.cpp
│ │ │ └── ScenarioMgr.h
│ │ ├── Scripting/
│ │ │ ├── MapScripts.cpp
│ │ │ ├── ScriptMgr.cpp
│ │ │ ├── ScriptMgr.h
│ │ │ ├── ScriptSystem.cpp
│ │ │ └── ScriptSystem.h
│ │ ├── Server/
│ │ │ ├── Protocol/
│ │ │ │ ├── Opcodes.cpp
│ │ │ │ ├── Opcodes.h
│ │ │ │ ├── PacketLog.cpp
│ │ │ │ └── PacketLog.h
│ │ │ ├── WorldPacket.cpp
│ │ │ ├── WorldPacket.h
│ │ │ ├── WorldSession.cpp
│ │ │ ├── WorldSession.h
│ │ │ ├── WorldSocket.cpp
│ │ │ ├── WorldSocket.h
│ │ │ ├── WorldSocketAcceptor.h
│ │ │ ├── WorldSocketMgr.cpp
│ │ │ └── WorldSocketMgr.h
│ │ ├── Services/
│ │ │ ├── ServiceMgr.cpp
│ │ │ └── ServiceMgr.h
│ │ ├── Skills/
│ │ │ ├── SkillDiscovery.cpp
│ │ │ ├── SkillDiscovery.h
│ │ │ ├── SkillExtraItems.cpp
│ │ │ └── SkillExtraItems.h
│ │ ├── Spells/
│ │ │ ├── Auras/
│ │ │ │ ├── SpellAuraDefines.h
│ │ │ │ ├── SpellAuraEffects.cpp
│ │ │ │ ├── SpellAuraEffects.h
│ │ │ │ ├── SpellAuras.cpp
│ │ │ │ └── SpellAuras.h
│ │ │ ├── Spell.cpp
│ │ │ ├── Spell.h
│ │ │ ├── SpellEffects.cpp
│ │ │ ├── SpellHistory.cpp
│ │ │ ├── SpellHistory.h
│ │ │ ├── SpellInfo.cpp
│ │ │ ├── SpellInfo.h
│ │ │ ├── SpellMgr.cpp
│ │ │ ├── SpellMgr.h
│ │ │ ├── SpellScript.cpp
│ │ │ └── SpellScript.h
│ │ ├── Texts/
│ │ │ ├── CreatureTextMgr.cpp
│ │ │ └── CreatureTextMgr.h
│ │ ├── Tickets/
│ │ │ ├── TicketInfo.cpp
│ │ │ ├── TicketInfo.h
│ │ │ ├── TicketMgr.cpp
│ │ │ └── TicketMgr.h
│ │ ├── Tools/
│ │ │ ├── CharacterDatabaseCleaner.cpp
│ │ │ ├── CharacterDatabaseCleaner.h
│ │ │ ├── DevTool.h
│ │ │ ├── PlayerDump.cpp
│ │ │ ├── PlayerDump.h
│ │ │ ├── WordFilterMgr.cpp
│ │ │ └── WordFilterMgr.h
│ │ ├── Vignette/
│ │ │ ├── Vignette.cpp
│ │ │ ├── Vignette.h
│ │ │ ├── VignetteMgr.cpp
│ │ │ └── VignetteMgr.h
│ │ ├── Warden/
│ │ │ ├── Modules/
│ │ │ │ └── WardenModuleWin.h
│ │ │ ├── Warden.cpp
│ │ │ ├── Warden.h
│ │ │ ├── WardenCheckMgr.cpp
│ │ │ ├── WardenCheckMgr.h
│ │ │ ├── WardenWin.cpp
│ │ │ └── WardenWin.h
│ │ ├── Weather/
│ │ │ ├── Weather.cpp
│ │ │ ├── Weather.h
│ │ │ ├── WeatherMgr.cpp
│ │ │ └── WeatherMgr.h
│ │ └── World/
│ │ ├── World.cpp
│ │ └── World.h
│ ├── scripts/
│ │ ├── Battlegrounds/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── alterac_valley.cpp
│ │ │ ├── boss_balinda.cpp
│ │ │ ├── boss_drekthar.cpp
│ │ │ ├── boss_galvangar.cpp
│ │ │ ├── boss_vanndar.cpp
│ │ │ ├── deepwind_gorge.cpp
│ │ │ ├── isle_of_conquest.cpp
│ │ │ ├── silvershard_mines.cpp
│ │ │ └── temple_of_kotmogu.cpp
│ │ ├── CMakeLists.txt
│ │ ├── Commands/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── cs_account.cpp
│ │ │ ├── cs_achievement.cpp
│ │ │ ├── cs_anticheat.cpp
│ │ │ ├── cs_ban.cpp
│ │ │ ├── cs_battlenet_account.cpp
│ │ │ ├── cs_bf.cpp
│ │ │ ├── cs_cast.cpp
│ │ │ ├── cs_character.cpp
│ │ │ ├── cs_cheat.cpp
│ │ │ ├── cs_debug.cpp
│ │ │ ├── cs_deserter.cpp
│ │ │ ├── cs_disable.cpp
│ │ │ ├── cs_event.cpp
│ │ │ ├── cs_gm.cpp
│ │ │ ├── cs_go.cpp
│ │ │ ├── cs_gobject.cpp
│ │ │ ├── cs_group.cpp
│ │ │ ├── cs_guild.cpp
│ │ │ ├── cs_honor.cpp
│ │ │ ├── cs_instance.cpp
│ │ │ ├── cs_learn.cpp
│ │ │ ├── cs_lfg.cpp
│ │ │ ├── cs_list.cpp
│ │ │ ├── cs_lookup.cpp
│ │ │ ├── cs_message.cpp
│ │ │ ├── cs_misc.cpp
│ │ │ ├── cs_mmaps.cpp
│ │ │ ├── cs_modify.cpp
│ │ │ ├── cs_npc.cpp
│ │ │ ├── cs_pet.cpp
│ │ │ ├── cs_premium.cpp
│ │ │ ├── cs_quest.cpp
│ │ │ ├── cs_reload.cpp
│ │ │ ├── cs_reset.cpp
│ │ │ ├── cs_scene.cpp
│ │ │ ├── cs_send.cpp
│ │ │ ├── cs_server.cpp
│ │ │ ├── cs_support.cpp
│ │ │ ├── cs_tele.cpp
│ │ │ ├── cs_ticket.cpp
│ │ │ ├── cs_titles.cpp
│ │ │ ├── cs_warden.cpp
│ │ │ └── cs_wp.cpp
│ │ ├── Custom/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── boost_profession.cpp
│ │ │ ├── custom_items.cpp
│ │ │ ├── custom_reward.cpp
│ │ │ ├── npc_teleport.cpp
│ │ │ ├── protected_zone.cpp
│ │ │ └── wow_token.cpp
│ │ ├── EasternKingdoms/
│ │ │ ├── BaradinHold/
│ │ │ │ ├── baradin_hold.h
│ │ │ │ ├── boss_alizabal.cpp
│ │ │ │ ├── boss_argaloth.cpp
│ │ │ │ ├── boss_occuthar.cpp
│ │ │ │ └── instance_baradin_hold.cpp
│ │ │ ├── BastionOfTwilight/
│ │ │ │ ├── bastion_of_twilight.cpp
│ │ │ │ ├── bastion_of_twilight.h
│ │ │ │ ├── boss_chogall.cpp
│ │ │ │ ├── boss_council_of_ascendents.cpp
│ │ │ │ ├── boss_halfus_wyrmbreaker.cpp
│ │ │ │ ├── boss_sinestra.cpp
│ │ │ │ ├── boss_theralion_and_valiona.cpp
│ │ │ │ └── instance_bastion_of_twilight.cpp
│ │ │ ├── BlackrockMountain/
│ │ │ │ ├── BlackrockCaverns/
│ │ │ │ │ ├── blackrock_caverns.cpp
│ │ │ │ │ ├── blackrock_caverns.h
│ │ │ │ │ ├── boss_ascendant_lord_obsidius.cpp
│ │ │ │ │ ├── boss_beauty.cpp
│ │ │ │ │ ├── boss_corla_hearld_of_twilight.cpp
│ │ │ │ │ ├── boss_karsh_steelbender.cpp
│ │ │ │ │ ├── boss_romogg_bonecrusher.cpp
│ │ │ │ │ └── instance_blackrock_caverns.cpp
│ │ │ │ ├── BlackrockDepths/
│ │ │ │ │ ├── blackrock_depths.cpp
│ │ │ │ │ ├── blackrock_depths.h
│ │ │ │ │ ├── boss_ambassador_flamelash.cpp
│ │ │ │ │ ├── boss_anubshiah.cpp
│ │ │ │ │ ├── boss_coren_direbrew.cpp
│ │ │ │ │ ├── boss_emperor_dagran_thaurissan.cpp
│ │ │ │ │ ├── boss_general_angerforge.cpp
│ │ │ │ │ ├── boss_gorosh_the_dervish.cpp
│ │ │ │ │ ├── boss_grizzle.cpp
│ │ │ │ │ ├── boss_high_interrogator_gerstahn.cpp
│ │ │ │ │ ├── boss_magmus.cpp
│ │ │ │ │ ├── boss_moira_bronzebeard.cpp
│ │ │ │ │ ├── boss_tomb_of_seven.cpp
│ │ │ │ │ └── instance_blackrock_depths.cpp
│ │ │ │ ├── BlackrockSpire/
│ │ │ │ │ ├── blackrock_spire.h
│ │ │ │ │ ├── boss_drakkisath.cpp
│ │ │ │ │ ├── boss_gizrul_the_slavener.cpp
│ │ │ │ │ ├── boss_gyth.cpp
│ │ │ │ │ ├── boss_halycon.cpp
│ │ │ │ │ ├── boss_highlord_omokk.cpp
│ │ │ │ │ ├── boss_lord_valthalak.cpp
│ │ │ │ │ ├── boss_mother_smolderweb.cpp
│ │ │ │ │ ├── boss_overlord_wyrmthalak.cpp
│ │ │ │ │ ├── boss_pyroguard_emberseer.cpp
│ │ │ │ │ ├── boss_quartermaster_zigris.cpp
│ │ │ │ │ ├── boss_rend_blackhand.cpp
│ │ │ │ │ ├── boss_shadow_hunter_voshgajin.cpp
│ │ │ │ │ ├── boss_the_beast.cpp
│ │ │ │ │ ├── boss_urok_doomhowl.cpp
│ │ │ │ │ ├── boss_warmaster_voone.cpp
│ │ │ │ │ └── instance_blackrock_spire.cpp
│ │ │ │ ├── BlackwingDescent/
│ │ │ │ │ ├── blackwing_descent.cpp
│ │ │ │ │ ├── blackwing_descent.h
│ │ │ │ │ ├── boss_atramedes.cpp
│ │ │ │ │ ├── boss_bwd_nefarian.cpp
│ │ │ │ │ ├── boss_chimaeron.cpp
│ │ │ │ │ ├── boss_magmaw.cpp
│ │ │ │ │ ├── boss_maloriak.cpp
│ │ │ │ │ ├── boss_omnotron_defence_system.cpp
│ │ │ │ │ └── instance_blackwing_descent.cpp
│ │ │ │ ├── BlackwingLair/
│ │ │ │ │ ├── blackwing_lair.h
│ │ │ │ │ ├── boss_broodlord_lashlayer.cpp
│ │ │ │ │ ├── boss_chromaggus.cpp
│ │ │ │ │ ├── boss_ebonroc.cpp
│ │ │ │ │ ├── boss_firemaw.cpp
│ │ │ │ │ ├── boss_flamegor.cpp
│ │ │ │ │ ├── boss_nefarian.cpp
│ │ │ │ │ ├── boss_razorgore.cpp
│ │ │ │ │ ├── boss_vaelastrasz.cpp
│ │ │ │ │ └── instance_blackwing_lair.cpp
│ │ │ │ └── MoltenCore/
│ │ │ │ ├── boss_baron_geddon.cpp
│ │ │ │ ├── boss_garr.cpp
│ │ │ │ ├── boss_gehennas.cpp
│ │ │ │ ├── boss_golemagg.cpp
│ │ │ │ ├── boss_lucifron.cpp
│ │ │ │ ├── boss_magmadar.cpp
│ │ │ │ ├── boss_majordomo_executus.cpp
│ │ │ │ ├── boss_ragnaros.cpp
│ │ │ │ ├── boss_shazzrah.cpp
│ │ │ │ ├── boss_sulfuron_harbinger.cpp
│ │ │ │ ├── instance_molten_core.cpp
│ │ │ │ └── molten_core.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Deadmines/
│ │ │ │ ├── boss_admiral_ripsnarl.cpp
│ │ │ │ ├── boss_captain_cookie.cpp
│ │ │ │ ├── boss_foereaper5000.cpp
│ │ │ │ ├── boss_glubtok.cpp
│ │ │ │ ├── boss_helix_gearbreaker.cpp
│ │ │ │ ├── boss_vanessa_vancleef.cpp
│ │ │ │ ├── deadmines.cpp
│ │ │ │ ├── deadmines.h
│ │ │ │ └── instance_deadmines.cpp
│ │ │ ├── Gnomeregan/
│ │ │ │ ├── gnomeregan.cpp
│ │ │ │ ├── gnomeregan.h
│ │ │ │ └── instance_gnomeregan.cpp
│ │ │ ├── GrimBatol/
│ │ │ │ ├── boss_drahga_shadowburner.cpp
│ │ │ │ ├── boss_erudax.cpp
│ │ │ │ ├── boss_forgemaster_throngus.cpp
│ │ │ │ ├── boss_general_umbriss.cpp
│ │ │ │ ├── grim_batol.cpp
│ │ │ │ ├── grim_batol.h
│ │ │ │ └── instance_grim_batol.cpp
│ │ │ ├── Karazhan/
│ │ │ │ ├── boss_curator.cpp
│ │ │ │ ├── boss_maiden_of_virtue.cpp
│ │ │ │ ├── boss_midnight.cpp
│ │ │ │ ├── boss_moroes.cpp
│ │ │ │ ├── boss_netherspite.cpp
│ │ │ │ ├── boss_nightbane.cpp
│ │ │ │ ├── boss_prince_malchezaar.cpp
│ │ │ │ ├── boss_shade_of_aran.cpp
│ │ │ │ ├── boss_terestian_illhoof.cpp
│ │ │ │ ├── bosses_opera.cpp
│ │ │ │ ├── chess_event.cpp
│ │ │ │ ├── instance_karazhan.cpp
│ │ │ │ ├── karazhan.cpp
│ │ │ │ └── karazhan.h
│ │ │ ├── MagistersTerrace/
│ │ │ │ ├── boss_felblood_kaelthas.cpp
│ │ │ │ ├── boss_priestess_delrissa.cpp
│ │ │ │ ├── boss_selin_fireheart.cpp
│ │ │ │ ├── boss_vexallus.cpp
│ │ │ │ ├── instance_magisters_terrace.cpp
│ │ │ │ ├── magisters_terrace.cpp
│ │ │ │ └── magisters_terrace.h
│ │ │ ├── ScarletEnclave/
│ │ │ │ ├── chapter1.cpp
│ │ │ │ ├── chapter2.cpp
│ │ │ │ ├── chapter5.cpp
│ │ │ │ └── zone_the_scarlet_enclave.cpp
│ │ │ ├── ScarletHalls/
│ │ │ │ ├── boss_armsmaster_harlan.cpp
│ │ │ │ ├── boss_flameweaver_koegler.cpp
│ │ │ │ ├── boss_houndmaster_braun.cpp
│ │ │ │ ├── instance_scarlet_halls.cpp
│ │ │ │ ├── scarlet_halls.cpp
│ │ │ │ └── scarlet_halls.h
│ │ │ ├── ScarletMonastery/
│ │ │ │ ├── boss_brother_korloff.cpp
│ │ │ │ ├── boss_headless_horseman.cpp
│ │ │ │ ├── boss_high_inqusitior_whitemane.cpp
│ │ │ │ ├── boss_thalnos_the_soulrender.cpp
│ │ │ │ ├── instance_scarlet_monastery.cpp
│ │ │ │ ├── scarlet_monastery.cpp
│ │ │ │ └── scarlet_monastery.h
│ │ │ ├── Scholomance/
│ │ │ │ ├── boss_grandmaster_gandling.cpp
│ │ │ │ ├── boss_instructor_chillheart.cpp
│ │ │ │ ├── boss_jandice_barov.cpp
│ │ │ │ ├── boss_lilian_voss.cpp
│ │ │ │ ├── boss_rattlegore.cpp
│ │ │ │ ├── instance_scholomance.cpp
│ │ │ │ ├── scholomance.cpp
│ │ │ │ └── scholomance.h
│ │ │ ├── ShadowfangKeep/
│ │ │ │ ├── boss_baron_ashbury.cpp
│ │ │ │ ├── boss_baron_silverlaine.cpp
│ │ │ │ ├── boss_commander_springvale.cpp
│ │ │ │ ├── boss_lord_godfrey.cpp
│ │ │ │ ├── boss_lord_valden.cpp
│ │ │ │ ├── instance_shadowfang_keep.cpp
│ │ │ │ ├── shadowfang_keep.cpp
│ │ │ │ └── shadowfang_keep.h
│ │ │ ├── Stratholme/
│ │ │ │ ├── boss_baron_rivendare.cpp
│ │ │ │ ├── boss_baroness_anastari.cpp
│ │ │ │ ├── boss_cannon_master_willey.cpp
│ │ │ │ ├── boss_dathrohan_balnazzar.cpp
│ │ │ │ ├── boss_magistrate_barthilas.cpp
│ │ │ │ ├── boss_maleki_the_pallid.cpp
│ │ │ │ ├── boss_nerubenkan.cpp
│ │ │ │ ├── boss_order_of_silver_hand.cpp
│ │ │ │ ├── boss_postmaster_malown.cpp
│ │ │ │ ├── boss_ramstein_the_gorger.cpp
│ │ │ │ ├── boss_timmy_the_cruel.cpp
│ │ │ │ ├── instance_stratholme.cpp
│ │ │ │ ├── stratholme.cpp
│ │ │ │ └── stratholme.h
│ │ │ ├── SunkenTemple/
│ │ │ │ ├── boss_avatar_of_hakkar.cpp
│ │ │ │ ├── boss_jammalan_prophet.cpp
│ │ │ │ ├── boss_shade_of_eranikus.cpp
│ │ │ │ ├── boss_wardens_of_the_dream.cpp
│ │ │ │ ├── instance_sunken_temple.cpp
│ │ │ │ └── sunken_temple.h
│ │ │ ├── SunwellPlateau/
│ │ │ │ ├── boss_brutallus.cpp
│ │ │ │ ├── boss_eredar_twins.cpp
│ │ │ │ ├── boss_felmyst.cpp
│ │ │ │ ├── boss_kalecgos.cpp
│ │ │ │ ├── boss_kiljaeden.cpp
│ │ │ │ ├── boss_muru.cpp
│ │ │ │ ├── instance_sunwell_plateau.cpp
│ │ │ │ ├── sunwell_plateau.cpp
│ │ │ │ └── sunwell_plateau.h
│ │ │ ├── TheStockade/
│ │ │ │ └── instance_the_stockade.cpp
│ │ │ ├── ThroneOfTheTides/
│ │ │ │ ├── boss_commander_ulthok.cpp
│ │ │ │ ├── boss_lady_nazjar.cpp
│ │ │ │ ├── boss_mindebender_ghursha.cpp
│ │ │ │ ├── boss_ozumat.cpp
│ │ │ │ ├── instance_throne_of_the_tides.cpp
│ │ │ │ ├── throne_of_the_tides.cpp
│ │ │ │ └── throne_of_the_tides.h
│ │ │ ├── Uldaman/
│ │ │ │ ├── boss_archaedas.cpp
│ │ │ │ ├── boss_ironaya.cpp
│ │ │ │ ├── instance_uldaman.cpp
│ │ │ │ ├── uldaman.cpp
│ │ │ │ └── uldaman.h
│ │ │ ├── ZulAman/
│ │ │ │ ├── boss_akilzon.cpp
│ │ │ │ ├── boss_daakara.cpp
│ │ │ │ ├── boss_halazzi.cpp
│ │ │ │ ├── boss_hexlord.cpp
│ │ │ │ ├── boss_janalai.cpp
│ │ │ │ ├── boss_nalorakk.cpp
│ │ │ │ ├── instance_zulaman.cpp
│ │ │ │ ├── zulaman.cpp
│ │ │ │ └── zulaman.h
│ │ │ ├── ZulGurub/
│ │ │ │ ├── boss_grilek.cpp
│ │ │ │ ├── boss_hazzarah.cpp
│ │ │ │ ├── boss_jindo_the_godbreaker.cpp
│ │ │ │ ├── boss_kilnara.cpp
│ │ │ │ ├── boss_mandokir.cpp
│ │ │ │ ├── boss_renataki.cpp
│ │ │ │ ├── boss_venoxis.cpp
│ │ │ │ ├── boss_wushoolay.cpp
│ │ │ │ ├── boss_zanzil.cpp
│ │ │ │ ├── instance_zulgurub.cpp
│ │ │ │ ├── zulgurub.cpp
│ │ │ │ └── zulgurub.h
│ │ │ ├── zone_arathi_highlands.cpp
│ │ │ ├── zone_blasted_lands.cpp
│ │ │ ├── zone_burning_steppes.cpp
│ │ │ ├── zone_duskwood.cpp
│ │ │ ├── zone_eastern_plaguelands.cpp
│ │ │ ├── zone_elwynn_forest.cpp
│ │ │ ├── zone_eversong_woods.cpp
│ │ │ ├── zone_ghostlands.cpp
│ │ │ ├── zone_gilneas.cpp
│ │ │ ├── zone_hinterlands.cpp
│ │ │ ├── zone_ironforge.cpp
│ │ │ ├── zone_isle_of_queldanas.cpp
│ │ │ ├── zone_loch_modan.cpp
│ │ │ ├── zone_redridge_mountains.cpp
│ │ │ ├── zone_silverpine_forest.cpp
│ │ │ ├── zone_stormwind_city.cpp
│ │ │ ├── zone_stranglethorn_vale.cpp
│ │ │ ├── zone_swamp_of_sorrows.cpp
│ │ │ ├── zone_tirisfal_glades.cpp
│ │ │ ├── zone_tol_barad.cpp
│ │ │ ├── zone_twilight_highlands.cpp
│ │ │ ├── zone_undercity.cpp
│ │ │ ├── zone_vashjir.cpp
│ │ │ ├── zone_western_plaguelands.cpp
│ │ │ ├── zone_westfall.cpp
│ │ │ └── zone_wetlands.cpp
│ │ ├── Events/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── brewfest.cpp
│ │ │ ├── childrens_week.cpp
│ │ │ ├── event_afd_royale.cpp
│ │ │ ├── hallows_end.cpp
│ │ │ ├── midsummer_fire_festival.cpp
│ │ │ ├── pilgrims_bounty.cpp
│ │ │ └── winter_veil.cpp
│ │ ├── Examples/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ExampleItemGossip.cpp
│ │ │ ├── ExamplePlayerGossip.cpp
│ │ │ ├── example_commandscript.cpp
│ │ │ ├── example_creature.cpp
│ │ │ ├── example_escort.cpp
│ │ │ ├── example_gossip_codebox.cpp
│ │ │ ├── example_misc.cpp
│ │ │ └── example_spell.cpp
│ │ ├── Kalimdor/
│ │ │ ├── BlackfathomDeeps/
│ │ │ │ ├── blackfathom_deeps.cpp
│ │ │ │ ├── blackfathom_deeps.h
│ │ │ │ ├── boss_aku_mai.cpp
│ │ │ │ ├── boss_gelihast.cpp
│ │ │ │ ├── boss_kelris.cpp
│ │ │ │ └── instance_blackfathom_deeps.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CavernsOfTime/
│ │ │ │ ├── BattleForMountHyjal/
│ │ │ │ │ ├── boss_anetheron.cpp
│ │ │ │ │ ├── boss_archimonde.cpp
│ │ │ │ │ ├── boss_azgalor.cpp
│ │ │ │ │ ├── boss_kazrogal.cpp
│ │ │ │ │ ├── boss_rage_winterchill.cpp
│ │ │ │ │ ├── hyjal.cpp
│ │ │ │ │ ├── hyjal.h
│ │ │ │ │ ├── hyjalAI.cpp
│ │ │ │ │ ├── hyjalAI.h
│ │ │ │ │ ├── hyjal_trash.cpp
│ │ │ │ │ ├── hyjal_trash.h
│ │ │ │ │ └── instance_hyjal.cpp
│ │ │ │ ├── CullingOfStratholme/
│ │ │ │ │ ├── boss_chrono_lord_epoch.cpp
│ │ │ │ │ ├── boss_infinite_corruptor.cpp
│ │ │ │ │ ├── boss_mal_ganis.cpp
│ │ │ │ │ ├── boss_meathook.cpp
│ │ │ │ │ ├── boss_salramm_the_fleshcrafter.cpp
│ │ │ │ │ ├── culling_of_stratholme.cpp
│ │ │ │ │ ├── culling_of_stratholme.h
│ │ │ │ │ └── instance_culling_of_stratholme.cpp
│ │ │ │ ├── DragonSoul/
│ │ │ │ │ ├── boss_hagara.cpp
│ │ │ │ │ ├── boss_madness_of_deathwing.cpp
│ │ │ │ │ ├── boss_morchok.cpp
│ │ │ │ │ ├── boss_spine_of_deathwing.cpp
│ │ │ │ │ ├── boss_ultraxion.cpp
│ │ │ │ │ ├── boss_warlord_zonozz.cpp
│ │ │ │ │ ├── boss_warmaster_blackhorn.cpp
│ │ │ │ │ ├── boss_warmaster_blackhorn.h
│ │ │ │ │ ├── boss_yorsahj_the_unsleeping.cpp
│ │ │ │ │ ├── dragon_soul.cpp
│ │ │ │ │ ├── dragon_soul.h
│ │ │ │ │ └── instance_dragon_soul.cpp
│ │ │ │ ├── EndTime/
│ │ │ │ │ ├── boss_echo_of_baine.cpp
│ │ │ │ │ ├── boss_echo_of_jaina.cpp
│ │ │ │ │ ├── boss_echo_of_sylvanas.cpp
│ │ │ │ │ ├── boss_echo_of_tyrande.cpp
│ │ │ │ │ ├── boss_murozond.cpp
│ │ │ │ │ ├── end_time.cpp
│ │ │ │ │ ├── end_time.h
│ │ │ │ │ ├── end_time_teleport.cpp
│ │ │ │ │ └── instance_end_time.cpp
│ │ │ │ ├── EscapeFromDurnholdeKeep/
│ │ │ │ │ ├── boss_captain_skarloc.cpp
│ │ │ │ │ ├── boss_epoch_hunter.cpp
│ │ │ │ │ ├── boss_leutenant_drake.cpp
│ │ │ │ │ ├── instance_old_hillsbrad.cpp
│ │ │ │ │ ├── old_hillsbrad.cpp
│ │ │ │ │ └── old_hillsbrad.h
│ │ │ │ ├── HourofTwilight/
│ │ │ │ │ ├── boss_archbishop_benedictus.cpp
│ │ │ │ │ ├── boss_arcurion.cpp
│ │ │ │ │ ├── boss_asira_dawnslayer.cpp
│ │ │ │ │ ├── hour_of_twilight.cpp
│ │ │ │ │ ├── hour_of_twilight.h
│ │ │ │ │ └── instance_hour_of_twilight.cpp
│ │ │ │ ├── TheBlackMorass/
│ │ │ │ │ ├── boss_aeonus.cpp
│ │ │ │ │ ├── boss_chrono_lord_deja.cpp
│ │ │ │ │ ├── boss_temporus.cpp
│ │ │ │ │ ├── instance_the_black_morass.cpp
│ │ │ │ │ ├── the_black_morass.cpp
│ │ │ │ │ └── the_black_morass.h
│ │ │ │ └── WellofEternity/
│ │ │ │ ├── boss_mannoroth.cpp
│ │ │ │ ├── boss_perotharn.cpp
│ │ │ │ ├── boss_queen_azshara.cpp
│ │ │ │ ├── instance_well_of_eternity.cpp
│ │ │ │ ├── well_of_eternity.cpp
│ │ │ │ ├── well_of_eternity.h
│ │ │ │ └── well_of_eternity_teleport.cpp
│ │ │ ├── DireMaul/
│ │ │ │ ├── dire_maul.cpp
│ │ │ │ ├── dire_maul.h
│ │ │ │ └── instance_dire_maul.cpp
│ │ │ ├── Firelands/
│ │ │ │ ├── boss_alysrazor.cpp
│ │ │ │ ├── boss_baleroc.cpp
│ │ │ │ ├── boss_bethtilac.cpp
│ │ │ │ ├── boss_lord_rhyolith.cpp
│ │ │ │ ├── boss_lord_rhyolith.h
│ │ │ │ ├── boss_majordomo_staghelm.cpp
│ │ │ │ ├── boss_ragnaros_firelands.cpp
│ │ │ │ ├── boss_ragnaros_firelands.h
│ │ │ │ ├── boss_shannox.cpp
│ │ │ │ ├── firelands.cpp
│ │ │ │ ├── firelands.h
│ │ │ │ └── instance_firelands.cpp
│ │ │ ├── HallsOfOrigination/
│ │ │ │ ├── boss_ammunae.cpp
│ │ │ │ ├── boss_anraphet.cpp
│ │ │ │ ├── boss_earthrager_ptah.cpp
│ │ │ │ ├── boss_isiset.cpp
│ │ │ │ ├── boss_rajh.cpp
│ │ │ │ ├── boss_setesh.cpp
│ │ │ │ ├── boss_temple_guardian_anhuur.cpp
│ │ │ │ ├── halls_of_origination.cpp
│ │ │ │ ├── halls_of_origination.h
│ │ │ │ └── instance_halls_of_origination.cpp
│ │ │ ├── LostCityOfTheTolvir/
│ │ │ │ ├── boss_general_husam.cpp
│ │ │ │ ├── boss_high_prophet_barim.cpp
│ │ │ │ ├── boss_lockmaw_augh.cpp
│ │ │ │ ├── boss_siamat.cpp
│ │ │ │ ├── instance_lost_city_of_the_tolvir.cpp
│ │ │ │ ├── lost_city_of_the_tolvir.cpp
│ │ │ │ └── lost_city_of_the_tolvir.h
│ │ │ ├── Maraudon/
│ │ │ │ ├── boss_celebras_the_cursed.cpp
│ │ │ │ ├── boss_landslide.cpp
│ │ │ │ ├── boss_noxxion.cpp
│ │ │ │ ├── boss_princess_theradras.cpp
│ │ │ │ └── instance_maraudon.cpp
│ │ │ ├── OnyxiasLair/
│ │ │ │ ├── boss_onyxia.cpp
│ │ │ │ ├── instance_onyxias_lair.cpp
│ │ │ │ └── onyxias_lair.h
│ │ │ ├── RagefireChasm/
│ │ │ │ ├── boss_adarogg.cpp
│ │ │ │ ├── boss_dark_shaman_koranthal.cpp
│ │ │ │ ├── boss_lava_guard_gordoth.cpp
│ │ │ │ ├── boss_slagmaw.cpp
│ │ │ │ ├── instance_ragefire_chasm.cpp
│ │ │ │ └── ragefire_chasm.h
│ │ │ ├── RazorfenDowns/
│ │ │ │ ├── boss_amnennar_the_coldbringer.cpp
│ │ │ │ ├── instance_razorfen_downs.cpp
│ │ │ │ ├── razorfen_downs.cpp
│ │ │ │ └── razorfen_downs.h
│ │ │ ├── RazorfenKraul/
│ │ │ │ ├── instance_razorfen_kraul.cpp
│ │ │ │ ├── razorfen_kraul.cpp
│ │ │ │ └── razorfen_kraul.h
│ │ │ ├── RuinsOfAhnQiraj/
│ │ │ │ ├── boss_ayamiss.cpp
│ │ │ │ ├── boss_buru.cpp
│ │ │ │ ├── boss_kurinnaxx.cpp
│ │ │ │ ├── boss_moam.cpp
│ │ │ │ ├── boss_ossirian.cpp
│ │ │ │ ├── boss_rajaxx.cpp
│ │ │ │ ├── instance_ruins_of_ahnqiraj.cpp
│ │ │ │ └── ruins_of_ahnqiraj.h
│ │ │ ├── TempleOfAhnQiraj/
│ │ │ │ ├── boss_bug_trio.cpp
│ │ │ │ ├── boss_cthun.cpp
│ │ │ │ ├── boss_fankriss.cpp
│ │ │ │ ├── boss_huhuran.cpp
│ │ │ │ ├── boss_ouro.cpp
│ │ │ │ ├── boss_sartura.cpp
│ │ │ │ ├── boss_skeram.cpp
│ │ │ │ ├── boss_twinemperors.cpp
│ │ │ │ ├── boss_viscidus.cpp
│ │ │ │ ├── instance_temple_of_ahnqiraj.cpp
│ │ │ │ ├── mob_anubisath_sentinel.cpp
│ │ │ │ └── temple_of_ahnqiraj.h
│ │ │ ├── TheVortexPinnacle/
│ │ │ │ ├── boss_altairus.cpp
│ │ │ │ ├── boss_asaad.cpp
│ │ │ │ ├── boss_grand_vizier_ertan.cpp
│ │ │ │ ├── instance_the_vortex_pinnacle.cpp
│ │ │ │ ├── the_vortex_pinnacle.cpp
│ │ │ │ └── the_vortex_pinnacle.h
│ │ │ ├── ThroneoftheFourWinds/
│ │ │ │ ├── boss_alakir.cpp
│ │ │ │ ├── boss_conclave_of_wind.cpp
│ │ │ │ ├── instance_throne_of_the_four_winds.cpp
│ │ │ │ ├── throne_of_the_four_winds.cpp
│ │ │ │ └── throne_of_the_four_winds.h
│ │ │ ├── WailingCaverns/
│ │ │ │ ├── instance_wailing_caverns.cpp
│ │ │ │ ├── wailing_caverns.cpp
│ │ │ │ └── wailing_caverns.h
│ │ │ ├── ZulFarrak/
│ │ │ │ ├── boss_zum_rah.cpp
│ │ │ │ ├── instance_zulfarrak.cpp
│ │ │ │ ├── zulfarrak.cpp
│ │ │ │ └── zulfarrak.h
│ │ │ ├── boss_azuregos.cpp
│ │ │ ├── zone_ashenvale.cpp
│ │ │ ├── zone_azshara.cpp
│ │ │ ├── zone_azuremyst_isle.cpp
│ │ │ ├── zone_bloodmyst_isle.cpp
│ │ │ ├── zone_darkshore.cpp
│ │ │ ├── zone_desolace.cpp
│ │ │ ├── zone_durotar.cpp
│ │ │ ├── zone_dustwallow_marsh.cpp
│ │ │ ├── zone_felwood.cpp
│ │ │ ├── zone_feralas.cpp
│ │ │ ├── zone_moonglade.cpp
│ │ │ ├── zone_mount_hyjal.cpp
│ │ │ ├── zone_mulgore.cpp
│ │ │ ├── zone_orgrimmar.cpp
│ │ │ ├── zone_silithus.cpp
│ │ │ ├── zone_stonetalon_mountains.cpp
│ │ │ ├── zone_tanaris.cpp
│ │ │ ├── zone_teldrassil.cpp
│ │ │ ├── zone_the_barrens.cpp
│ │ │ ├── zone_thousand_needles.cpp
│ │ │ ├── zone_thunder_bluff.cpp
│ │ │ ├── zone_uldum.cpp
│ │ │ ├── zone_ungoro_crater.cpp
│ │ │ └── zone_winterspring.cpp
│ │ ├── Maelstrom/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── TheStonecore/
│ │ │ │ ├── boss_corborus.cpp
│ │ │ │ ├── boss_high_priestess_azil.cpp
│ │ │ │ ├── boss_ozruk.cpp
│ │ │ │ ├── boss_slabhide.cpp
│ │ │ │ ├── instance_the_stonecore.cpp
│ │ │ │ ├── the_stonecore.cpp
│ │ │ │ └── the_stonecore.h
│ │ │ ├── zone_deepholm.cpp
│ │ │ └── zone_kezan.cpp
│ │ ├── Northrend/
│ │ │ ├── AzjolNerub/
│ │ │ │ ├── Ahnkahet/
│ │ │ │ │ ├── ahnkahet.h
│ │ │ │ │ ├── boss_amanitar.cpp
│ │ │ │ │ ├── boss_elder_nadox.cpp
│ │ │ │ │ ├── boss_herald_volazj.cpp
│ │ │ │ │ ├── boss_jedoga_shadowseeker.cpp
│ │ │ │ │ ├── boss_prince_taldaram.cpp
│ │ │ │ │ └── instance_ahnkahet.cpp
│ │ │ │ └── AzjolNerub/
│ │ │ │ ├── azjol_nerub.h
│ │ │ │ ├── boss_anubarak.cpp
│ │ │ │ ├── boss_hadronox.cpp
│ │ │ │ ├── boss_krikthir_the_gatewatcher.cpp
│ │ │ │ └── instance_azjol_nerub.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ChamberOfAspects/
│ │ │ │ ├── ObsidianSanctum/
│ │ │ │ │ ├── boss_sartharion.cpp
│ │ │ │ │ ├── instance_obsidian_sanctum.cpp
│ │ │ │ │ └── obsidian_sanctum.h
│ │ │ │ └── RubySanctum/
│ │ │ │ ├── boss_baltharus_the_warborn.cpp
│ │ │ │ ├── boss_general_zarithrian.cpp
│ │ │ │ ├── boss_halion.cpp
│ │ │ │ ├── boss_saviana_ragefire.cpp
│ │ │ │ ├── instance_ruby_sanctum.cpp
│ │ │ │ ├── ruby_sanctum.cpp
│ │ │ │ └── ruby_sanctum.h
│ │ │ ├── CrusadersColiseum/
│ │ │ │ ├── TrialOfTheChampion/
│ │ │ │ │ ├── boss_argent_challenge.cpp
│ │ │ │ │ ├── boss_black_knight.cpp
│ │ │ │ │ ├── boss_grand_champions.cpp
│ │ │ │ │ ├── instance_trial_of_the_champion.cpp
│ │ │ │ │ ├── trial_of_the_champion.cpp
│ │ │ │ │ └── trial_of_the_champion.h
│ │ │ │ └── TrialOfTheCrusader/
│ │ │ │ ├── boss_anubarak_trial.cpp
│ │ │ │ ├── boss_faction_champions.cpp
│ │ │ │ ├── boss_lord_jaraxxus.cpp
│ │ │ │ ├── boss_northrend_beasts.cpp
│ │ │ │ ├── boss_twin_valkyr.cpp
│ │ │ │ ├── instance_trial_of_the_crusader.cpp
│ │ │ │ ├── trial_of_the_crusader.cpp
│ │ │ │ └── trial_of_the_crusader.h
│ │ │ ├── DraktharonKeep/
│ │ │ │ ├── boss_king_dred.cpp
│ │ │ │ ├── boss_novos.cpp
│ │ │ │ ├── boss_tharon_ja.cpp
│ │ │ │ ├── boss_trollgore.cpp
│ │ │ │ ├── drak_tharon_keep.h
│ │ │ │ └── instance_drak_tharon_keep.cpp
│ │ │ ├── FrozenHalls/
│ │ │ │ ├── ForgeOfSouls/
│ │ │ │ │ ├── boss_bronjahm.cpp
│ │ │ │ │ ├── boss_devourer_of_souls.cpp
│ │ │ │ │ ├── forge_of_souls.cpp
│ │ │ │ │ ├── forge_of_souls.h
│ │ │ │ │ └── instance_forge_of_souls.cpp
│ │ │ │ ├── HallsOfReflection/
│ │ │ │ │ ├── boss_falric.cpp
│ │ │ │ │ ├── boss_marwyn.cpp
│ │ │ │ │ ├── boss_the_lich_king_hor.cpp
│ │ │ │ │ ├── halls_of_reflection.cpp
│ │ │ │ │ ├── halls_of_reflection.h
│ │ │ │ │ └── instance_halls_of_reflection.cpp
│ │ │ │ └── PitOfSaron/
│ │ │ │ ├── boss_forgemaster_garfrost.cpp
│ │ │ │ ├── boss_krickandick.cpp
│ │ │ │ ├── boss_scourgelord_tyrannus.cpp
│ │ │ │ ├── instance_pit_of_saron.cpp
│ │ │ │ ├── pit_of_saron.cpp
│ │ │ │ └── pit_of_saron.h
│ │ │ ├── Gundrak/
│ │ │ │ ├── boss_drakkari_colossus.cpp
│ │ │ │ ├── boss_eck.cpp
│ │ │ │ ├── boss_gal_darah.cpp
│ │ │ │ ├── boss_moorabi.cpp
│ │ │ │ ├── boss_slad_ran.cpp
│ │ │ │ ├── gundrak.h
│ │ │ │ └── instance_gundrak.cpp
│ │ │ ├── IcecrownCitadel/
│ │ │ │ ├── boss_blood_prince_council.cpp
│ │ │ │ ├── boss_blood_queen_lana_thel.cpp
│ │ │ │ ├── boss_deathbringer_saurfang.cpp
│ │ │ │ ├── boss_festergut.cpp
│ │ │ │ ├── boss_gunship_battle.cpp
│ │ │ │ ├── boss_lady_deathwhisper.cpp
│ │ │ │ ├── boss_lord_marrowgar.cpp
│ │ │ │ ├── boss_professor_putricide.cpp
│ │ │ │ ├── boss_rotface.cpp
│ │ │ │ ├── boss_sindragosa.cpp
│ │ │ │ ├── boss_the_lich_king.cpp
│ │ │ │ ├── boss_valithria_dreamwalker.cpp
│ │ │ │ ├── icecrown_citadel.cpp
│ │ │ │ ├── icecrown_citadel.h
│ │ │ │ ├── icecrown_citadel_teleport.cpp
│ │ │ │ ├── instance_icecrown_citadel.cpp
│ │ │ │ └── npc_icecrown_citadel.cpp
│ │ │ ├── Naxxramas/
│ │ │ │ ├── boss_anubrekhan.cpp
│ │ │ │ ├── boss_faerlina.cpp
│ │ │ │ ├── boss_four_horsemen.cpp
│ │ │ │ ├── boss_gluth.cpp
│ │ │ │ ├── boss_gothik.cpp
│ │ │ │ ├── boss_grobbulus.cpp
│ │ │ │ ├── boss_heigan.cpp
│ │ │ │ ├── boss_kelthuzad.cpp
│ │ │ │ ├── boss_loatheb.cpp
│ │ │ │ ├── boss_maexxna.cpp
│ │ │ │ ├── boss_noth.cpp
│ │ │ │ ├── boss_patchwerk.cpp
│ │ │ │ ├── boss_razuvious.cpp
│ │ │ │ ├── boss_sapphiron.cpp
│ │ │ │ ├── boss_thaddius.cpp
│ │ │ │ ├── instance_naxxramas.cpp
│ │ │ │ └── naxxramas.h
│ │ │ ├── Nexus/
│ │ │ │ ├── EyeOfEternity/
│ │ │ │ │ ├── boss_malygos.cpp
│ │ │ │ │ ├── eye_of_eternity.h
│ │ │ │ │ └── instance_eye_of_eternity.cpp
│ │ │ │ ├── Nexus/
│ │ │ │ │ ├── boss_anomalus.cpp
│ │ │ │ │ ├── boss_commander_kolurg.cpp
│ │ │ │ │ ├── boss_commander_stoutbeard.cpp
│ │ │ │ │ ├── boss_keristrasza.cpp
│ │ │ │ │ ├── boss_magus_telestra.cpp
│ │ │ │ │ ├── boss_ormorok.cpp
│ │ │ │ │ ├── instance_nexus.cpp
│ │ │ │ │ └── nexus.h
│ │ │ │ └── Oculus/
│ │ │ │ ├── boss_drakos.cpp
│ │ │ │ ├── boss_eregos.cpp
│ │ │ │ ├── boss_urom.cpp
│ │ │ │ ├── boss_varos.cpp
│ │ │ │ ├── instance_oculus.cpp
│ │ │ │ ├── oculus.cpp
│ │ │ │ └── oculus.h
│ │ │ ├── Ulduar/
│ │ │ │ ├── HallsOfLightning/
│ │ │ │ │ ├── boss_bjarngrim.cpp
│ │ │ │ │ ├── boss_ionar.cpp
│ │ │ │ │ ├── boss_loken.cpp
│ │ │ │ │ ├── boss_volkhan.cpp
│ │ │ │ │ ├── halls_of_lightning.cpp
│ │ │ │ │ ├── halls_of_lightning.h
│ │ │ │ │ └── instance_halls_of_lightning.cpp
│ │ │ │ ├── HallsOfStone/
│ │ │ │ │ ├── boss_krystallus.cpp
│ │ │ │ │ ├── boss_maiden_of_grief.cpp
│ │ │ │ │ ├── boss_sjonnir.cpp
│ │ │ │ │ ├── halls_of_stone.cpp
│ │ │ │ │ ├── halls_of_stone.h
│ │ │ │ │ └── instance_halls_of_stone.cpp
│ │ │ │ └── Ulduar/
│ │ │ │ ├── boss_algalon_the_observer.cpp
│ │ │ │ ├── boss_assembly_of_iron.cpp
│ │ │ │ ├── boss_auriaya.cpp
│ │ │ │ ├── boss_flame_leviathan.cpp
│ │ │ │ ├── boss_freya.cpp
│ │ │ │ ├── boss_general_vezax.cpp
│ │ │ │ ├── boss_hodir.cpp
│ │ │ │ ├── boss_ignis.cpp
│ │ │ │ ├── boss_kologarn.cpp
│ │ │ │ ├── boss_mimiron.cpp
│ │ │ │ ├── boss_razorscale.cpp
│ │ │ │ ├── boss_thorim.cpp
│ │ │ │ ├── boss_xt002.cpp
│ │ │ │ ├── boss_yogg_saron.cpp
│ │ │ │ ├── instance_ulduar.cpp
│ │ │ │ ├── ulduar.h
│ │ │ │ ├── ulduar_scripts.cpp
│ │ │ │ └── ulduar_teleporter.cpp
│ │ │ ├── UtgardeKeep/
│ │ │ │ ├── UtgardeKeep/
│ │ │ │ │ ├── boss_ingvar_the_plunderer.cpp
│ │ │ │ │ ├── boss_keleseth.cpp
│ │ │ │ │ ├── boss_skarvald_dalronn.cpp
│ │ │ │ │ ├── instance_utgarde_keep.cpp
│ │ │ │ │ ├── utgarde_keep.cpp
│ │ │ │ │ └── utgarde_keep.h
│ │ │ │ └── UtgardePinnacle/
│ │ │ │ ├── boss_palehoof.cpp
│ │ │ │ ├── boss_skadi.cpp
│ │ │ │ ├── boss_svala.cpp
│ │ │ │ ├── boss_ymiron.cpp
│ │ │ │ ├── instance_utgarde_pinnacle.cpp
│ │ │ │ └── utgarde_pinnacle.h
│ │ │ ├── VaultOfArchavon/
│ │ │ │ ├── boss_archavon.cpp
│ │ │ │ ├── boss_emalon.cpp
│ │ │ │ ├── boss_koralon.cpp
│ │ │ │ ├── boss_toravon.cpp
│ │ │ │ ├── instance_vault_of_archavon.cpp
│ │ │ │ └── vault_of_archavon.h
│ │ │ ├── VioletHold/
│ │ │ │ ├── boss_cyanigosa.cpp
│ │ │ │ ├── boss_erekem.cpp
│ │ │ │ ├── boss_ichoron.cpp
│ │ │ │ ├── boss_lavanthor.cpp
│ │ │ │ ├── boss_moragg.cpp
│ │ │ │ ├── boss_xevozz.cpp
│ │ │ │ ├── boss_zuramat.cpp
│ │ │ │ ├── instance_violet_hold.cpp
│ │ │ │ ├── violet_hold.cpp
│ │ │ │ └── violet_hold.h
│ │ │ ├── zone_borean_tundra.cpp
│ │ │ ├── zone_crystalsong_forest.cpp
│ │ │ ├── zone_dalaran.cpp
│ │ │ ├── zone_dragonblight.cpp
│ │ │ ├── zone_grizzly_hills.cpp
│ │ │ ├── zone_howling_fjord.cpp
│ │ │ ├── zone_icecrown.cpp
│ │ │ ├── zone_sholazar_basin.cpp
│ │ │ ├── zone_storm_peaks.cpp
│ │ │ ├── zone_wintergrasp.cpp
│ │ │ └── zone_zuldrak.cpp
│ │ ├── OutdoorPvP/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── OutdoorPvPHP.cpp
│ │ │ ├── OutdoorPvPHP.h
│ │ │ ├── OutdoorPvPNA.cpp
│ │ │ ├── OutdoorPvPNA.h
│ │ │ ├── OutdoorPvPSI.cpp
│ │ │ ├── OutdoorPvPSI.h
│ │ │ ├── OutdoorPvPTF.cpp
│ │ │ ├── OutdoorPvPTF.h
│ │ │ ├── OutdoorPvPZM.cpp
│ │ │ └── OutdoorPvPZM.h
│ │ ├── Outland/
│ │ │ ├── Auchindoun/
│ │ │ │ ├── AuchenaiCrypts/
│ │ │ │ │ ├── auchenai_crypts.h
│ │ │ │ │ ├── boss_exarch_maladaar.cpp
│ │ │ │ │ ├── boss_shirrak_the_dead_watcher.cpp
│ │ │ │ │ └── instance_auchenai_crypts.cpp
│ │ │ │ ├── ManaTombs/
│ │ │ │ │ ├── boss_nexusprince_shaffar.cpp
│ │ │ │ │ ├── boss_pandemonius.cpp
│ │ │ │ │ ├── instance_mana_tombs.cpp
│ │ │ │ │ └── mana_tombs.h
│ │ │ │ ├── SethekkHalls/
│ │ │ │ │ ├── boss_anzu.cpp
│ │ │ │ │ ├── boss_darkweaver_syth.cpp
│ │ │ │ │ ├── boss_tailonking_ikiss.cpp
│ │ │ │ │ ├── instance_sethekk_halls.cpp
│ │ │ │ │ └── sethekk_halls.h
│ │ │ │ └── ShadowLabyrinth/
│ │ │ │ ├── boss_ambassador_hellmaw.cpp
│ │ │ │ ├── boss_blackheart_the_inciter.cpp
│ │ │ │ ├── boss_grandmaster_vorpil.cpp
│ │ │ │ ├── boss_murmur.cpp
│ │ │ │ ├── instance_shadow_labyrinth.cpp
│ │ │ │ └── shadow_labyrinth.h
│ │ │ ├── BlackTemple/
│ │ │ │ ├── black_temple.cpp
│ │ │ │ ├── black_temple.h
│ │ │ │ ├── boss_bloodboil.cpp
│ │ │ │ ├── boss_illidan.cpp
│ │ │ │ ├── boss_mother_shahraz.cpp
│ │ │ │ ├── boss_reliquary_of_souls.cpp
│ │ │ │ ├── boss_shade_of_akama.cpp
│ │ │ │ ├── boss_supremus.cpp
│ │ │ │ ├── boss_teron_gorefiend.cpp
│ │ │ │ ├── boss_warlord_najentus.cpp
│ │ │ │ ├── illidari_council.cpp
│ │ │ │ └── instance_black_temple.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CoilfangReservoir/
│ │ │ │ ├── SerpentShrine/
│ │ │ │ │ ├── boss_fathomlord_karathress.cpp
│ │ │ │ │ ├── boss_hydross_the_unstable.cpp
│ │ │ │ │ ├── boss_lady_vashj.cpp
│ │ │ │ │ ├── boss_leotheras_the_blind.cpp
│ │ │ │ │ ├── boss_lurker_below.cpp
│ │ │ │ │ ├── boss_morogrim_tidewalker.cpp
│ │ │ │ │ ├── instance_serpent_shrine.cpp
│ │ │ │ │ └── serpent_shrine.h
│ │ │ │ ├── SteamVault/
│ │ │ │ │ ├── boss_hydromancer_thespia.cpp
│ │ │ │ │ ├── boss_mekgineer_steamrigger.cpp
│ │ │ │ │ ├── boss_warlord_kalithresh.cpp
│ │ │ │ │ ├── instance_steam_vault.cpp
│ │ │ │ │ └── steam_vault.h
│ │ │ │ ├── TheSlavePens/
│ │ │ │ │ ├── boss_frostlord_ahune.cpp
│ │ │ │ │ ├── boss_mennu_the_betrayer.cpp
│ │ │ │ │ ├── boss_quagmirran.cpp
│ │ │ │ │ ├── boss_rokmar_the_crackler.cpp
│ │ │ │ │ ├── instance_the_slave_pens.cpp
│ │ │ │ │ └── the_slave_pens.h
│ │ │ │ └── TheUnderbog/
│ │ │ │ ├── boss_hungarfen.cpp
│ │ │ │ ├── boss_the_black_stalker.cpp
│ │ │ │ └── instance_the_underbog.cpp
│ │ │ ├── GruulsLair/
│ │ │ │ ├── boss_gruul.cpp
│ │ │ │ ├── boss_high_king_maulgar.cpp
│ │ │ │ ├── gruuls_lair.h
│ │ │ │ └── instance_gruuls_lair.cpp
│ │ │ ├── HellfireCitadel/
│ │ │ │ ├── BloodFurnace/
│ │ │ │ │ ├── blood_furnace.h
│ │ │ │ │ ├── boss_broggok.cpp
│ │ │ │ │ ├── boss_kelidan_the_breaker.cpp
│ │ │ │ │ ├── boss_the_maker.cpp
│ │ │ │ │ └── instance_blood_furnace.cpp
│ │ │ │ ├── HellfireRamparts/
│ │ │ │ │ ├── boss_omor_the_unscarred.cpp
│ │ │ │ │ ├── boss_vazruden_the_herald.cpp
│ │ │ │ │ ├── boss_watchkeeper_gargolmar.cpp
│ │ │ │ │ ├── hellfire_ramparts.h
│ │ │ │ │ └── instance_hellfire_ramparts.cpp
│ │ │ │ ├── MagtheridonsLair/
│ │ │ │ │ ├── boss_magtheridon.cpp
│ │ │ │ │ ├── instance_magtheridons_lair.cpp
│ │ │ │ │ └── magtheridons_lair.h
│ │ │ │ └── ShatteredHalls/
│ │ │ │ ├── boss_nethekurse.cpp
│ │ │ │ ├── boss_warbringer_omrogg.cpp
│ │ │ │ ├── boss_warchief_kargath_bladefist.cpp
│ │ │ │ ├── instance_shattered_halls.cpp
│ │ │ │ └── shattered_halls.h
│ │ │ ├── TempestKeep/
│ │ │ │ ├── Eye/
│ │ │ │ │ ├── boss_alar.cpp
│ │ │ │ │ ├── boss_astromancer.cpp
│ │ │ │ │ ├── boss_kaelthas.cpp
│ │ │ │ │ ├── boss_void_reaver.cpp
│ │ │ │ │ ├── instance_the_eye.cpp
│ │ │ │ │ ├── the_eye.cpp
│ │ │ │ │ └── the_eye.h
│ │ │ │ ├── Mechanar/
│ │ │ │ │ ├── boss_gatewatcher_gyrokill.cpp
│ │ │ │ │ ├── boss_gatewatcher_ironhand.cpp
│ │ │ │ │ ├── boss_mechano_lord_capacitus.cpp
│ │ │ │ │ ├── boss_nethermancer_sepethrea.cpp
│ │ │ │ │ ├── boss_pathaleon_the_calculator.cpp
│ │ │ │ │ ├── instance_mechanar.cpp
│ │ │ │ │ └── mechanar.h
│ │ │ │ ├── arcatraz/
│ │ │ │ │ ├── arcatraz.cpp
│ │ │ │ │ ├── arcatraz.h
│ │ │ │ │ ├── boss_dalliah_the_doomsayer.cpp
│ │ │ │ │ ├── boss_harbinger_skyriss.cpp
│ │ │ │ │ ├── boss_wrath_scryer_soccothrates.cpp
│ │ │ │ │ ├── boss_zereketh_the_unbound.cpp
│ │ │ │ │ └── instance_arcatraz.cpp
│ │ │ │ └── botanica/
│ │ │ │ ├── boss_commander_sarannis.cpp
│ │ │ │ ├── boss_high_botanist_freywinn.cpp
│ │ │ │ ├── boss_laj.cpp
│ │ │ │ ├── boss_thorngrin_the_tender.cpp
│ │ │ │ ├── boss_warp_splinter.cpp
│ │ │ │ ├── instance_the_botanica.cpp
│ │ │ │ └── the_botanica.h
│ │ │ ├── boss_doomlord_kazzak.cpp
│ │ │ ├── boss_doomwalker.cpp
│ │ │ ├── zone_blades_edge_mountains.cpp
│ │ │ ├── zone_hellfire_peninsula.cpp
│ │ │ ├── zone_nagrand.cpp
│ │ │ ├── zone_netherstorm.cpp
│ │ │ ├── zone_shadowmoon_valley.cpp
│ │ │ ├── zone_shattrath_city.cpp
│ │ │ ├── zone_terokkar_forest.cpp
│ │ │ └── zone_zangarmarsh.cpp
│ │ ├── Pandaria/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── GateOfTheSettingSun/
│ │ │ │ ├── boss_commander_rimok.cpp
│ │ │ │ ├── boss_raigonn.cpp
│ │ │ │ ├── boss_saboteur_kiptilak.cpp
│ │ │ │ ├── boss_striker_gadok.cpp
│ │ │ │ ├── gate_of_the_setting_sun.cpp
│ │ │ │ ├── gate_of_the_setting_sun.h
│ │ │ │ └── instance_gate_of_the_setting_sun.cpp
│ │ │ ├── HeartOfFear/
│ │ │ │ ├── boss_garalon.cpp
│ │ │ │ ├── boss_meljarak.cpp
│ │ │ │ ├── boss_shekzeer.cpp
│ │ │ │ ├── boss_tayak.cpp
│ │ │ │ ├── boss_unsok.cpp
│ │ │ │ ├── boss_zorlok.cpp
│ │ │ │ ├── heart_of_fear.cpp
│ │ │ │ ├── heart_of_fear.h
│ │ │ │ └── instance_heart_of_fear.cpp
│ │ │ ├── MogushanPalace/
│ │ │ │ ├── boss_gekkan.cpp
│ │ │ │ ├── boss_trial_of_the_king.cpp
│ │ │ │ ├── boss_xin_the_weaponmaster.cpp
│ │ │ │ ├── instance_mogu_shan_palace.cpp
│ │ │ │ └── mogu_shan_palace.h
│ │ │ ├── MogushanVault/
│ │ │ │ ├── boss_elegon.cpp
│ │ │ │ ├── boss_feng.cpp
│ │ │ │ ├── boss_garajal.cpp
│ │ │ │ ├── boss_spirit_kings.cpp
│ │ │ │ ├── boss_stone_guard.cpp
│ │ │ │ ├── boss_will_of_emperor.cpp
│ │ │ │ ├── instance_mogu_shan_vault.cpp
│ │ │ │ ├── mogu_shan_vault.cpp
│ │ │ │ └── mogu_shan_vault.h
│ │ │ ├── Scenarios/
│ │ │ │ ├── ArenaOfAnnihiliation/
│ │ │ │ │ ├── arena_of_annihiliation.cpp
│ │ │ │ │ ├── arena_of_annihiliation.h
│ │ │ │ │ └── instance_arena_of_annihiliation.cpp
│ │ │ │ ├── AssaultOnZanvess/
│ │ │ │ │ ├── assault_on_zanvess.cpp
│ │ │ │ │ ├── assault_on_zanvess.h
│ │ │ │ │ └── instance_assault_on_zanvess.cpp
│ │ │ │ ├── BattleOnTheHighSeas/
│ │ │ │ │ ├── battle_on_the_high_seas.cpp
│ │ │ │ │ ├── battle_on_the_high_seas.h
│ │ │ │ │ └── instance_battle_on_the_high_seas.cpp
│ │ │ │ ├── BloodInTheSnow/
│ │ │ │ │ ├── blood_in_the_snow.cpp
│ │ │ │ │ ├── blood_in_the_snow.h
│ │ │ │ │ └── instance_blood_in_the_snow.cpp
│ │ │ │ ├── BrewingStorm/
│ │ │ │ │ ├── brewing_storm.cpp
│ │ │ │ │ ├── brewing_storm.h
│ │ │ │ │ └── instance_brewing_storm.cpp
│ │ │ │ ├── BrewmoonFestival/
│ │ │ │ │ ├── brewmoon_festival.cpp
│ │ │ │ │ ├── brewmoon_festival.h
│ │ │ │ │ └── instance_brewmoon_festival.cpp
│ │ │ │ ├── CryptOfForgottenKings/
│ │ │ │ │ ├── crypt_of_forgotten_kings.cpp
│ │ │ │ │ ├── crypt_of_forgotten_kings.h
│ │ │ │ │ └── instance_crypt_of_forgotten_kings.cpp
│ │ │ │ ├── DaggerInTheDark/
│ │ │ │ │ ├── dagger_in_the_dark.cpp
│ │ │ │ │ ├── dagger_in_the_dark.h
│ │ │ │ │ └── instance_dagger_in_the_dark.cpp
│ │ │ │ ├── DarkHeartOfPandaria/
│ │ │ │ │ ├── dark_heart_of_pandaria.cpp
│ │ │ │ │ ├── dark_heart_of_pandaria.h
│ │ │ │ │ └── instance_dark_heart_of_pandaria.cpp
│ │ │ │ ├── FallOfTheramoreAlliance/
│ │ │ │ │ ├── fall_of_theramore_alliance.cpp
│ │ │ │ │ ├── fall_of_theramore_alliance.h
│ │ │ │ │ └── instance_fall_of_theramore_alliance.cpp
│ │ │ │ ├── FallOfTheramoreHorde/
│ │ │ │ │ ├── fall_of_theramore_horde.cpp
│ │ │ │ │ ├── fall_of_theramore_horde.h
│ │ │ │ │ └── instance_fall_of_theramore_horde.cpp
│ │ │ │ ├── GreenstoneVillage/
│ │ │ │ │ ├── greenstone_village.cpp
│ │ │ │ │ ├── greenstone_village.h
│ │ │ │ │ └── instance_greenstone_village.cpp
│ │ │ │ ├── IsleOfThunder/
│ │ │ │ │ ├── instance_isle_of_thunder.cpp
│ │ │ │ │ ├── instance_pursuing_the_black_harvest.cpp
│ │ │ │ │ ├── instance_thunder_king_citadel.cpp
│ │ │ │ │ ├── isle_of_thunder.cpp
│ │ │ │ │ ├── isle_of_thunder.h
│ │ │ │ │ ├── pursuing_the_black_harvest.cpp
│ │ │ │ │ ├── pursuing_the_black_harvest.h
│ │ │ │ │ ├── thunder_king_citadel.cpp
│ │ │ │ │ └── thunder_king_citadel.h
│ │ │ │ ├── LittlePatience/
│ │ │ │ │ ├── instance_little_patience.cpp
│ │ │ │ │ ├── little_patience.cpp
│ │ │ │ │ └── little_patience.h
│ │ │ │ ├── ProvingGrounds/
│ │ │ │ │ ├── instance_proving_grounds.cpp
│ │ │ │ │ ├── proving_grounds.cpp
│ │ │ │ │ └── proving_grounds.h
│ │ │ │ ├── SecretIngridient/
│ │ │ │ │ ├── instance_secret_ingridient.cpp
│ │ │ │ │ ├── secret_ingridient.cpp
│ │ │ │ │ └── secret_ingridient.h
│ │ │ │ ├── SecretsOfRagefire/
│ │ │ │ │ ├── instance_secrets_of_ragefire.cpp
│ │ │ │ │ ├── secrets_of_ragefire.cpp
│ │ │ │ │ └── secrets_of_ragefire.h
│ │ │ │ └── UngaIngoo/
│ │ │ │ ├── instance_unga_ingoo.cpp
│ │ │ │ ├── unga_ingoo.cpp
│ │ │ │ └── unga_ingoo.h
│ │ │ ├── ShadopanMonastery/
│ │ │ │ ├── boss_gu_cloudstrike.cpp
│ │ │ │ ├── boss_master_snowdrift.cpp
│ │ │ │ ├── boss_sha_of_violence.cpp
│ │ │ │ ├── boss_taran_zhu.cpp
│ │ │ │ ├── instance_shadopan_monastery.cpp
│ │ │ │ ├── shadopan_monastery.cpp
│ │ │ │ └── shadopan_monastery.h
│ │ │ ├── SiegeOfNiuzaoTemple/
│ │ │ │ ├── boss_commander_vojak.cpp
│ │ │ │ ├── boss_general_pavalak.cpp
│ │ │ │ ├── boss_vizier_jinbak.cpp
│ │ │ │ ├── boss_wing_leader_neronok.cpp
│ │ │ │ ├── instance_siege_of_niuzao_temple.cpp
│ │ │ │ ├── siege_of_niuzao_temple.cpp
│ │ │ │ └── siege_of_niuzao_temple.h
│ │ │ ├── SiegeOfOrgrimmar/
│ │ │ │ ├── boss_fallen_protectors.cpp
│ │ │ │ ├── boss_galakras.cpp
│ │ │ │ ├── boss_garrosh_hellscream.cpp
│ │ │ │ ├── boss_general_nazgrim.cpp
│ │ │ │ ├── boss_immerseus.cpp
│ │ │ │ ├── boss_iron_juggernaut.cpp
│ │ │ │ ├── boss_korkron_dark_shamans.cpp
│ │ │ │ ├── boss_malkorok.cpp
│ │ │ │ ├── boss_norushen.cpp
│ │ │ │ ├── boss_paragons_of_the_klaxxi.cpp
│ │ │ │ ├── boss_sha_of_pride.cpp
│ │ │ │ ├── boss_siegecrafter_blackfuse.cpp
│ │ │ │ ├── boss_spoils_of_pandaria.cpp
│ │ │ │ ├── boss_thok_the_bloodthirsty.cpp
│ │ │ │ ├── instance_siege_of_orgrimmar.cpp
│ │ │ │ ├── siege_of_orgrimmar.cpp
│ │ │ │ └── siege_of_orgrimmar.h
│ │ │ ├── StormstoutBrewery/
│ │ │ │ ├── boss_hoptallus.cpp
│ │ │ │ ├── boss_ook_ook.cpp
│ │ │ │ ├── boss_yanzhu_the_uncasked.cpp
│ │ │ │ ├── instance_stormstout_brewery.cpp
│ │ │ │ ├── stormstout_brewery.cpp
│ │ │ │ └── stormstout_brewery.h
│ │ │ ├── TempleOfTheJadeSerpent/
│ │ │ │ ├── boss_liu_flameheart.cpp
│ │ │ │ ├── boss_lorewalker_stonestep.cpp
│ │ │ │ ├── boss_sha_of_doubt.cpp
│ │ │ │ ├── boss_wise_mari.cpp
│ │ │ │ ├── instance_temple_of_the_jade_serpent.cpp
│ │ │ │ └── temple_of_the_jade_serpent.h
│ │ │ ├── TerraceOfEndlessSpring/
│ │ │ │ ├── boss_lei_shi.cpp
│ │ │ │ ├── boss_protectors_of_the_endless.cpp
│ │ │ │ ├── boss_sha_of_fear.cpp
│ │ │ │ ├── boss_tsulong.cpp
│ │ │ │ ├── instance_terrace_of_endless_spring.cpp
│ │ │ │ ├── terrace_of_endless_spring.cpp
│ │ │ │ └── terrace_of_endless_spring.h
│ │ │ ├── ThroneOfThunder/
│ │ │ │ ├── boss_council_of_elders.cpp
│ │ │ │ ├── boss_dark_animus.cpp
│ │ │ │ ├── boss_durumu.cpp
│ │ │ │ ├── boss_horridon.cpp
│ │ │ │ ├── boss_iron_qon.cpp
│ │ │ │ ├── boss_jikun.cpp
│ │ │ │ ├── boss_jinrokh.cpp
│ │ │ │ ├── boss_lei_shen.cpp
│ │ │ │ ├── boss_megaera.cpp
│ │ │ │ ├── boss_primordius.cpp
│ │ │ │ ├── boss_ra_den.cpp
│ │ │ │ ├── boss_tortos.cpp
│ │ │ │ ├── boss_twin_consorts.cpp
│ │ │ │ ├── instance_throne_of_thunder.cpp
│ │ │ │ ├── throne_of_thunder.cpp
│ │ │ │ └── throne_of_thunder.h
│ │ │ ├── TimelessIsle/
│ │ │ │ ├── boss_chi_ji.cpp
│ │ │ │ ├── boss_niuzao.cpp
│ │ │ │ ├── boss_ordos.cpp
│ │ │ │ ├── boss_xuen.cpp
│ │ │ │ ├── boss_yu_lon.cpp
│ │ │ │ ├── timeless_isle.h
│ │ │ │ └── zone_timeless_isle.cpp
│ │ │ ├── WanderingIsland/
│ │ │ │ ├── zone_wandering_island_east.cpp
│ │ │ │ ├── zone_wandering_island_north.cpp
│ │ │ │ ├── zone_wandering_island_south.cpp
│ │ │ │ └── zone_wandering_island_west.cpp
│ │ │ ├── boss_galion.cpp
│ │ │ ├── boss_nalak.cpp
│ │ │ ├── boss_oondasta.cpp
│ │ │ ├── boss_sha_of_anger.cpp
│ │ │ ├── zone_dread_wastes.cpp
│ │ │ ├── zone_isle_of_giants.cpp
│ │ │ ├── zone_isle_of_thunder.cpp
│ │ │ ├── zone_krasarang_wilds.cpp
│ │ │ ├── zone_kun_lai_summit.cpp
│ │ │ ├── zone_the_jade_forest.cpp
│ │ │ ├── zone_the_veiled_stair.cpp
│ │ │ ├── zone_townlong_steppes.cpp
│ │ │ ├── zone_vale_of_eternal_blossoms.cpp
│ │ │ └── zone_valley_of_the_four_winds.cpp
│ │ ├── Pet/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── pet_generic.cpp
│ │ │ ├── pet_monk.cpp
│ │ │ ├── pet_priest.cpp
│ │ │ └── pet_warlock.cpp
│ │ ├── PrecompiledHeaders/
│ │ │ ├── ScriptPCH.cpp
│ │ │ └── ScriptPCH.h
│ │ ├── ScriptLoader/
│ │ │ ├── ScriptLoader.cpp
│ │ │ └── ScriptLoader.h
│ │ ├── Spells/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── spell_common.cpp
│ │ │ ├── spell_common.h
│ │ │ ├── spell_dk.cpp
│ │ │ ├── spell_druid.cpp
│ │ │ ├── spell_enchantment.cpp
│ │ │ ├── spell_generic.cpp
│ │ │ ├── spell_holiday.cpp
│ │ │ ├── spell_hunter.cpp
│ │ │ ├── spell_item.cpp
│ │ │ ├── spell_mage.cpp
│ │ │ ├── spell_monk.cpp
│ │ │ ├── spell_paladin.cpp
│ │ │ ├── spell_pet.cpp
│ │ │ ├── spell_priest.cpp
│ │ │ ├── spell_quest.cpp
│ │ │ ├── spell_rogue.cpp
│ │ │ ├── spell_shaman.cpp
│ │ │ ├── spell_warlock.cpp
│ │ │ └── spell_warrior.cpp
│ │ └── World/
│ │ ├── BrawlersGuild/
│ │ │ ├── brawlers_guild.cpp
│ │ │ └── brawlers_guild.h
│ │ ├── CMakeLists.txt
│ │ ├── achievement_scripts.cpp
│ │ ├── areatrigger_scripts.cpp
│ │ ├── argent_tournament.cpp
│ │ ├── boss_emerald_dragons.cpp
│ │ ├── chat_log.cpp
│ │ ├── darkmoon_island.cpp
│ │ ├── duel_scripts.cpp
│ │ ├── fangs_of_father_scripts.cpp
│ │ ├── go_scripts.cpp
│ │ ├── guards.cpp
│ │ ├── item_scripts.cpp
│ │ ├── mob_generic_creature.cpp
│ │ ├── npc_innkeeper.cpp
│ │ ├── npc_professions.cpp
│ │ ├── npc_taxi.cpp
│ │ ├── npcs_special.cpp
│ │ ├── project_scripts.cpp
│ │ ├── tarecgosa_scripts.cpp
│ │ └── transmog_scripts.cpp
│ ├── shared/
│ │ ├── CMakeLists.txt
│ │ ├── Common.cpp
│ │ ├── Common.h
│ │ ├── CompilerDefs.h
│ │ ├── Configuration/
│ │ │ ├── Config.cpp
│ │ │ └── Config.h
│ │ ├── Containers.h
│ │ ├── Cryptography/
│ │ │ ├── ARC4.cpp
│ │ │ ├── ARC4.h
│ │ │ ├── Authentication/
│ │ │ │ ├── AuthCrypt.cpp
│ │ │ │ └── AuthCrypt.h
│ │ │ ├── BigNumber.cpp
│ │ │ ├── BigNumber.h
│ │ │ ├── HMACSHA1.cpp
│ │ │ ├── HMACSHA1.h
│ │ │ ├── OpenSSLCrypto.cpp
│ │ │ ├── OpenSSLCrypto.h
│ │ │ ├── SHA1.cpp
│ │ │ ├── SHA1.h
│ │ │ ├── SHA256.cpp
│ │ │ ├── SHA256.h
│ │ │ └── WardenKeyGeneration.h
│ │ ├── DataStores/
│ │ │ ├── DB2FileLoader.cpp
│ │ │ ├── DB2FileLoader.h
│ │ │ ├── DB2Store.h
│ │ │ ├── DBCFileLoader.cpp
│ │ │ ├── DBCFileLoader.h
│ │ │ └── DBCStore.h
│ │ ├── Database/
│ │ │ ├── AdhocStatement.cpp
│ │ │ ├── AdhocStatement.h
│ │ │ ├── DatabaseEnv.h
│ │ │ ├── DatabaseWorker.cpp
│ │ │ ├── DatabaseWorker.h
│ │ │ ├── DatabaseWorkerPool.h
│ │ │ ├── Field.cpp
│ │ │ ├── Field.h
│ │ │ ├── Implementation/
│ │ │ │ ├── ArchiveDatabase.h
│ │ │ │ ├── CharacterDatabase.cpp
│ │ │ │ ├── CharacterDatabase.h
│ │ │ │ ├── FusionCMSDatabase.cpp
│ │ │ │ ├── FusionCMSDatabase.h
│ │ │ │ ├── LoginDatabase.cpp
│ │ │ │ ├── LoginDatabase.h
│ │ │ │ ├── WorldDatabase.cpp
│ │ │ │ └── WorldDatabase.h
│ │ │ ├── MySQLConnection.cpp
│ │ │ ├── MySQLConnection.h
│ │ │ ├── MySQLThreading.h
│ │ │ ├── PreparedStatement.cpp
│ │ │ ├── PreparedStatement.h
│ │ │ ├── QueryHolder.cpp
│ │ │ ├── QueryHolder.h
│ │ │ ├── QueryResult.cpp
│ │ │ ├── QueryResult.h
│ │ │ ├── SQLOperation.h
│ │ │ ├── Transaction.cpp
│ │ │ └── Transaction.h
│ │ ├── Debugging/
│ │ │ ├── Errors.cpp
│ │ │ ├── Errors.h
│ │ │ ├── WheatyExceptionReport.cpp
│ │ │ └── WheatyExceptionReport.h
│ │ ├── Define.h
│ │ ├── Dynamic/
│ │ │ ├── FactoryHolder.h
│ │ │ ├── LinkedList.h
│ │ │ ├── LinkedReference/
│ │ │ │ ├── RefManager.h
│ │ │ │ └── Reference.h
│ │ │ ├── ObjectRegistry.h
│ │ │ ├── TypeContainer.h
│ │ │ ├── TypeContainerFunctions.h
│ │ │ ├── TypeContainerVisitor.h
│ │ │ └── TypeList.h
│ │ ├── Logging/
│ │ │ ├── Appender.cpp
│ │ │ ├── Appender.h
│ │ │ ├── AppenderConsole.cpp
│ │ │ ├── AppenderConsole.h
│ │ │ ├── AppenderDB.cpp
│ │ │ ├── AppenderDB.h
│ │ │ ├── AppenderFile.cpp
│ │ │ ├── AppenderFile.h
│ │ │ ├── Log.cpp
│ │ │ ├── Log.h
│ │ │ ├── LogOperation.cpp
│ │ │ ├── LogOperation.h
│ │ │ ├── LogWorker.cpp
│ │ │ ├── LogWorker.h
│ │ │ ├── Logger.cpp
│ │ │ └── Logger.h
│ │ ├── Memory.h
│ │ ├── Packets/
│ │ │ ├── ByteBuffer.cpp
│ │ │ └── ByteBuffer.h
│ │ ├── PrecompiledHeaders/
│ │ │ ├── sharedPCH.cpp
│ │ │ └── sharedPCH.h
│ │ ├── SystemConfig.h
│ │ ├── Threading/
│ │ │ ├── Callback.h
│ │ │ ├── DelayExecutor.cpp
│ │ │ ├── DelayExecutor.h
│ │ │ ├── LockedQueue.h
│ │ │ ├── Task.h
│ │ │ ├── TaskMgr.cpp
│ │ │ ├── TaskMgr.h
│ │ │ ├── Threading.cpp
│ │ │ └── Threading.h
│ │ └── Utilities/
│ │ ├── ByteConverter.h
│ │ ├── Duration.h
│ │ ├── EventProcessor.cpp
│ │ ├── EventProcessor.h
│ │ ├── ServiceWin32.cpp
│ │ ├── ServiceWin32.h
│ │ ├── SignalHandler.h
│ │ ├── TaskScheduler.cpp
│ │ ├── TaskScheduler.h
│ │ ├── TimeValue.h
│ │ ├── Timer.h
│ │ ├── Util.cpp
│ │ └── Util.h
│ └── worldserver/
│ ├── CMakeLists.txt
│ ├── CommandLine/
│ │ ├── CliRunnable.cpp
│ │ └── CliRunnable.h
│ ├── Main.cpp
│ ├── Master.cpp
│ ├── Master.h
│ ├── PrecompiledHeaders/
│ │ ├── worldPCH.cpp
│ │ └── worldPCH.h
│ ├── RemoteAccess/
│ │ ├── RARunnable.cpp
│ │ ├── RARunnable.h
│ │ ├── RASocket.cpp
│ │ └── RASocket.h
│ ├── TCSoap/
│ │ ├── TCSoap.cpp
│ │ └── TCSoap.h
│ ├── WorldThread/
│ │ ├── WorldRunnable.cpp
│ │ └── WorldRunnable.h
│ ├── resource.h
│ ├── worldserver.conf.dist
│ └── worldserver.rc
├── tools/
│ ├── CMakeLists.txt
│ ├── map_extractor/
│ │ ├── CMakeLists.txt
│ │ ├── System.cpp
│ │ ├── adt.cpp
│ │ ├── adt.h
│ │ ├── dbcfile.cpp
│ │ ├── dbcfile.h
│ │ ├── loadlib/
│ │ │ └── loadlib.h
│ │ ├── loadlib.cpp
│ │ ├── wdt.cpp
│ │ └── wdt.h
│ ├── mmaps_generator/
│ │ ├── CMakeLists.txt
│ │ ├── Info/
│ │ │ └── readme.txt
│ │ ├── IntermediateValues.cpp
│ │ ├── IntermediateValues.h
│ │ ├── MapBuilder.cpp
│ │ ├── MapBuilder.h
│ │ ├── PathCommon.h
│ │ ├── PathGenerator.cpp
│ │ ├── TerrainBuilder.cpp
│ │ ├── TerrainBuilder.h
│ │ └── VMapExtensions.cpp
│ ├── vmap4_assembler/
│ │ ├── CMakeLists.txt
│ │ └── VMapAssembler.cpp
│ └── vmap4_extractor/
│ ├── CMakeLists.txt
│ ├── adtfile.cpp
│ ├── adtfile.h
│ ├── dbcfile.cpp
│ ├── dbcfile.h
│ ├── gameobject_extract.cpp
│ ├── model.cpp
│ ├── model.h
│ ├── modelheaders.h
│ ├── mpqfile.cpp
│ ├── mpqfile.h
│ ├── vec3d.h
│ ├── vmapexport.cpp
│ ├── vmapexport.h
│ ├── wdtfile.cpp
│ ├── wdtfile.h
│ ├── wmo.cpp
│ └── wmo.h
└── updater/
├── App.cpp
├── CMakeLists.txt
├── README.txt
├── sql_update.sql
└── updater.conf.dist
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*.ini
.vscode*/
================================================
FILE: .hgeol
================================================
[patterns]
**.cpp = LF
**.h = LF
**.sql = LF
================================================
FILE: .hgignore
================================================
build.*/.*
syntax: glob
*.orig
*.rej
================================================
FILE: .travis.yml
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
language: cpp
git:
depth: 1
branches:
only:
- master
compiler:
- clang
# - gcc ## Uncomment when we are up to full c++11 standards.
before_install:
- sudo add-apt-repository ppa:kalakris/cmake -y
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- sudo apt-get update -qq
- sudo apt-get install libace-dev
- sudo apt-get install libncurses5-dev
- sudo apt-get install build-essential autoconf libtool make cmake git-core patch wget links zip unzip unrar
- sudo apt-get install openssl libssl-dev mysql-server mysql-client libmysqlclient15-dev libmysql++-dev libreadline6-dev zlib1g-dev libbz2-dev
- if [ "$CXX" = "clang++" ]; then sudo apt-get install -qq libstdc++-4.8-dev; fi
- if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
- if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
script:
- mkdir build
- cd build
- cmake ../ -DSCRIPTS=1 -DTOOLS=1
- make -j8
notifications:
irc:
channels:
- "irc.rizon.net#project_skyfire"
on_success: always
on_failure: always
================================================
FILE: CMakeLists.txt
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/>
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Before project or language initialization
if (UNIX)
if (EXISTS "/usr/bin/gcc-4.9")
message (STATUS "gcc 4.9 found. Force switching to 4.8")
if (NOT EXISTS "/usr/bin/gcc-4.8")
message (FATAL_ERROR "gcc 4.8 not found")
endif()
if (NOT EXISTS "/usr/bin/g++-4.8")
message (FATAL_ERROR "g++ 4.8 not installed")
endif()
set (CMAKE_C_COMPILER "/usr/bin/gcc-4.8")
set (CMAKE_CXX_COMPILER "/usr/bin/g++-4.8")
endif()
endif()
# Set projectname (must be done AFTER setting configurationtypes)
project(Project_Skyfire)
# CMake policies (can not be handled elsewhere)
cmake_minimum_required(VERSION 2.8.9)
cmake_policy(SET CMP0005 OLD)
if(POLICY CMP0043)
cmake_policy(SET CMP0043 OLD) # Disable 'Ignore COMPILE_DEFINITIONS_<Config> properties'
endif(POLICY CMP0043)
# add this options before PROJECT keyword
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
# Set RPATH-handing (CMake parameters)
set(CMAKE_SKIP_BUILD_RPATH 0)
set(CMAKE_BUILD_WITH_INSTALL_RPATH 0)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1)
# set macro-directory
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/macros")
# build in Release-mode by default if not explicitly set
if( NOT CMAKE_BUILD_TYPE )
set(CMAKE_BUILD_TYPE "Release")
endif()
include(CheckCXXSourceRuns)
include(CheckIncludeFiles)
# set default buildoptions and print them
include(cmake/options.cmake)
# turn off PCH totally if enabled (hidden setting, mainly for devs)
if( NOPCH )
set(USE_COREPCH 0)
set(USE_SCRIPTPCH 0)
endif()
include(CheckPlatform)
# basic packagesearching and setup (further support will be needed, this is a preliminary release!)
set(OPENSSL_EXPECTED_VERSION 1.0.0)
set(ACE_EXPECTED_VERSION 5.8.3)
find_package(PCHSupport)
find_package(ACE REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(Threads REQUIRED)
if( NOT USE_MYSQL_SOURCES )
find_package(MySQL REQUIRED)
endif()
if( UNIX )
find_package(Readline)
find_package(ZLIB)
find_package(BZip2)
endif()
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost COMPONENTS system locale filesystem thread regex
REQUIRED
)
# Find revision ID and hash of the sourcetree
include(cmake/genrev.cmake)
# print out the results before continuing
include(cmake/showoptions.cmake)
# add dependencies
add_subdirectory(dep)
# add core sources
add_subdirectory(src)
================================================
FILE: COPYING.md
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
================================================
FILE: PreLoad.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# This file is run right before CMake starts configuring the sourcetree
# Example: Force CMAKE_INSTALL_PREFIX to be preloaded with something before
# doing the actual first "configure"-part - allows for hardforcing
# destinations elsewhere in the CMake buildsystem (commented out on purpose)
# Override CMAKE_INSTALL_PREFIX on Windows platforms
#if( WIN32 )
# if( NOT CYGWIN )
# set(CMAKE_INSTALL_PREFIX
# "" CACHE PATH "Default install path")
# endif()
#endif()
================================================
FILE: README.md
================================================
**MoP 5.4.8 Build 18414**
## Client Patch
[SkyFire-Community-Tools](https://github.com/ProjectSkyfire/SkyFire-Community-Tools).
## Build Status
# [](https://travis-ci.org/ProjectSkyfire/SkyFire.548)
## Requirements
+ Platform: Linux, Windows or Mac
+ Processor with SSE2 support
+ boost_1_63_0-msvc-14.0-64
+ MySQL = 5.7.0 (included for Windows)
+ cmake-3.19.4-win64-x64 (Windows / Linux)
+ OpenSS L= Win64OpenSSL-1_0_2d
+ MS Visual Studio = 15 (2017) (Windows only)
## Install
Detailed installation guides are available in the wiki for
[Windows](http://wiki.projectskyfire.org/index.php?title=Installation_Windows),
[Linux](http://wiki.projectskyfire.org/index.php?title=Installation_Linux) and
[Mac OSX](http://wiki.projectskyfire.org/index.php?title=Installation_Mac_OS_X).
## Reporting issues
Please use the search function before you report issues.
[SkyFire Issue Tracker](https://github.com/ProjectSkyfire/SkyFire.548/issues).
## Submitting fixes
Fixes are submitted as pull requests via Github.
[SkyFire Pull Request](https://github.com/ProjectSkyfire/SkyFire.548/pulls)
## Copyright
License: GPL 3.0
Read file [COPYING](COPYING.md)
## Authors & Contributors
Read file [THANKS](THANKS.md)
## To-Do List
Read File [TO-DO](TODO.md)
## Links
Forum [http://www.projectskyfire.org](http://www.projectskyfire.org)
Database [http://www.projectskyfire.org/index.php?/files/](http://www.projectskyfire.org/index.php?/files/)
Wiki [http://wiki.projectskyfire.org](http://wiki.projectskyfire.org)
================================================
FILE: THANKS.md
================================================
= TrinityCore -- Thanks/credits file =
TrinityCore is a derivation/rewrite of MaNGOS, which was originally written
by Team Python and the WoW Daemon Team. Many people further helped Trinity Core
by submitting bug reports, code patches, and suggestions. Thanks to the
community!
Special thanks should go out to the WowwoW team. We have gained help from
them many times in the creation of this project. Keep up the good work guys.
Thanks to the ScriptDev2 team (http://www.scriptdev2.com) for scripts.
Thanks to the WCell team (especially Ralek) for research on realm reconnect
sequence, item scaling stats algorithm, gameobject rotation issues.
Thanks go out to the following people for various patches/code (listed in the
order they were added) (there may be duplicates or invalid names, most of them
were extracted from commits):
w12x, dythzer, XEQT, death420, balrok, TOM_RUS,
runningnak3d, Seline, KingPin, raczman, bogie, Neo2003, NoFantasy, Derex,
freghar, toilet1, megamage, MadJack, WarHead, gvcoman, Ntsc, arrai, jrkpote,
Seraphim, vagoth, KerchumA222, Rognar, Blaymoira, DragonHunter, Molius, ApoC,
SeT, hunuza, Wyk3d, VladimirMangos, rj686, Arthorius, QAston, Muhaha, dereka,
Kaldorei, NuRRi, Biglad, Machiavelli, Nivelo, Paradox, Aokromes, EleGoS,
Visagalis, reno, Cybrax, GriffonHeart, fgenesis, rilex, XTElite1, Anubisss, eL,
Iskander, arclite, Bladex, EIFEL, Klaimmore, XTZGZoReX, panaut0lordv, DearScorpion,
BlueSteel, AlexDereka, Drahy, krz, Xeptor, Sethoso, Sarjuuk, pasdVn, nissen,
Triply, `win, Fog, emsy, McBitter, Lukaasm, maikash, Wormheart, DonTomika,
DiSlord, Tiretunderl, Ramses_II, cccyril, Cha0S2, miebaik, Trazom, KiriX,
darkEvil, Sorken, Kudlaty, Charlie2025, Medwise, Rat, Lutik, domingo,
TrullyONE, rastikzzz, Tassader, Lightguard, KAPATEJIb, Tux`Volant, zhanhang03,
Asael, Elron, False, nos4r2zod, Disassembler, thumsoul, rvnth, throneinc,
MrTux, Luniz2k1, Dani, BroodWyrm, raven_coda, Bagsac, Thraxx, Trogvar,
teacher4, zhenya, Albrecht de Endrau, Phacops, Naicisum, thenecromancer, shax,
cryingcloud, freeganja, Foks, daveh, Az@zel, evilstar, Corfen, Astellar, Maxxie,
DEN_North, StarJoker, Nezemnoy, X-Savior, subhuman_bob, Ambal, Brueggus, sparc,
jojo, Trojan, tvaroh, Genars, BombermaG, Bulkin, nesocip, xILOSWag, SilverIce,
Uruviel, timmit, Seizerkiller, Stokrotka, JoN0, Tanatos, Hunteee, Alyen,
Farah, Them, DaGNU, arthurcik, BudIcePenguin, Amok, Amit86, onkelz28, Azrael,
Larva, Roland, DerDyddye, Vicos, PSZ, CRAZyBUg, irish, Sephiroth1984,
mike753, Xlybriem, Paytheo, ArticDevil, FearX, Beaste, bufferoverflow, Jeniczek,
Den, bobaz, crackm, seirge, D_Skywalk, mknjc, Christyan, Saeba, Nevan, tlexii,
liszt, duckman, Joro, Charlie, smellbee, bigjohnson4, maxdestroyer, Destalker,
ckegg, Drethek, yad02, Win32, NetSky, Zcuron, Necroo, ogeraisi, Coldblooded,
Edder, riddick, Craker, NeoLithicX, srounet, SLG, Tidus, neo0608, SyRiOCoP,
F636y623, Patro, mobel, simak, hectolight, Riccardo, GodsdoG, Gomez, kamir86, fredi,
qubix, Deafboy, Authorius, DarkRabbit, mrbungle, netoya, peldor, eumario, Alex,
Moandor, ebx, DasBlub, guenex, Brats, Lucy, arcx, Enril, oiler2112,
Wizz, Elminster, 123qwe, NeatElves, Turk3y, deicide, vladonix, nugu100,
Skystar, Reve, jorooo, FrozenDB, miranda.conrado, Tequila, Gommes, Zerg2000,
aerione_alt, Rastik, FrenchW, wilibald09, Velorien, kancaras, fisherman,
Aviram, Mufik, loop69, multiplexer, Koani, rechapa79, kozelo, MeanMachine,
fregh, adrycasillo, IncoGnito, Alez, Itch, Kuteur, MaS0n, peaceman, manuel,
Gendalph, Lynx3d, raftom, Infinity, Ebrithil, Sorya, HP1, Prince, redcore,
Boogie, Necro, Thyros, simon, MrSmite, horogandris, Stryker, MaXiMiUS, kaell,
totoro, Forgiven, Big, Oculus, Lorac, Nemesis, Epsik, iadus3, durotar, hoshie,
fukifat, imbecile, Nafsih, Meldanor, Turok, Naturamen, Themris, Sundark,
Azuritus, jotapdiez, EnderGT, Curuad, oc_redfox, rockzOr, Darkshines,
BlackYoghurt, McLovin, Gyullo, kaxap, Hawthorne, nanouniko, new001, Opterman,
Typhoon, Cleave, HiZed, The_Game_Master, Athor, Veras, Menia, Jolan, BlackOne,
johnholiver, Spp, Drevi, kb_z, Tartalo, Shendor, Demonx, Taliesin, defacer,
SoulForge, Jackpoz, Cass, QuaLiT1, exul182, sunwell, AniRB, clotza, Tommassino,
dracula70, alexsot, RedSonja, Cnillidan, Proofzor, aqs999, Sony, amsjunior123,
Sisif, Joshh, alex_1983, arez, RammboNr5, Insider, bodompelle, lobuz, Azazel,
footman, elron103, make_the_king, destros, MetaphysicalDrama, disassebler,
Malcrom, Vladmim�r Lipt�k, retriman, hyriuu, Smakapotatis, PainKiller,
bkhorizon, n0n4m3, Chesterfield, Frankir, Wowka321, Morpheux, p0wer,
Ouden, toshik, laise, yavi, Splinter, Syntec, Arthas, denyde, unholy,
Vaughner, blackmanos, edrinn, Liberate, Shauren, dr.tenma, click,
SupaBad, Xanadu, Socolin, Shocker, Silinoron, 0xFuture, xK1, Ramus, menke,
wowgargamel, Dark0r, Kierkegaard, Leak, ge0rg, StormByte, joshwhedon,
BlackCat0110, JuliuSZS, n4rk0, filip.havlicek, m.ax, laviniu, LordJZ, Scazzato88,
svannon, jurkovic.nikola, Willian Krueger, BioHazard, Ille000, Erocoloco,
terrorbringer, antihrists, Havenard, scarymovie87, D3VIL, FaTe753, PrinceCreed,
spgm, Dakeyras, sombre88, 19Maxx83, moriquendu, Ille, breakerfly,
zthoreen, clement.roussel, p.alexej, Ceris, Nayre, Kiper, announce, thmarth,
Ner'zhul, DarkXuan, linencloth, SnakeIce, Tome, Nay, Kaelima,
Subv, Tuxity, tibbi, Gigatotem, Nexflame, trickerer, zxbiohazardzx, w1sht0l1v3,
Warpten, CeIa, Kandera, horn, Dimitro, thesensei, Sovak, Vincent-Michael,
Xanvial, faq, Gacko, Geodar, hexa-, MacWarrior, cyberbrest, Myran2, Northstrider,
AFROM, CrYser, Kretol, Bizzy, nelegalno, Kinzcool, armano2, Tomas, Aristoo, Trista,
e@cacaw.net, oMadMano, Kiddie, blub, Santiago, tobmaps, Mik43l, danik, Souler,
joschiwald, CDawg, WishToDie, gecko32, gadge, neuro_999, Stefo, dr.skull, NTX, Hexit,
Stalker-Riddick, thomas33, Manuel Carrasco, Imprtat, Chaplain, teyrnon, zorix, Greymane,
Venugh, e000, Amit, Alternative, Exodius, Jorge, shlomi1515, tharaca, Alestaan, Valcorb,
Odyssey, Chipsi, Pesthuf, stfx, Yaki Khadafi, David Klepáček, SignFinder, unknown,
NNN666, AliveShiro, 4m1g0, mweinelt, Abdollah Hasan, Xees, zori, warriorpoetex, qaywsx,
ghost, Discovered, faq_, Jildor, The Game, Kezo90, Helias, Frca, Ramusik, elecyb, Joni,
Multivitamin, faramir118, cookta2012, Gyx, ShinDarth, Lopin, Martin Weinelt,
Bezo, frozenarmor, E. van Harten, LiMCrosS, Albis, Go6o, Pitcrawler, Matthew Goff, neurorulez,
Ka0z, glkrlos, zwerg, Merlin2010, furion, Giuseppe Montesanto, LihO, Bootz, PKX, burnham,
Drake Fish, Vlad, Discover, Heisenberg, Kapoeira, Emo Norfik, tREAk, zoidmann, Wilds, weclub,
Jon, Cron, Alexander, Vinolentus, LaserJet, mns, Stalker_Riddick, Yelvann, draco, Geekotron,
bytewarrior, Fredi Machado, Studioworks, 3kids, idostyle@zoit, Sebastián Orellana, DemiDroL,
n4ndo, et2012, Rochet2, Grobi, Google, Wispeckt, hacknowledge, wonopon, Naga,
Joeri Thissen, Payn, Fest, insider42, DrTenma, L30m4nc3r, Akama, Jesper Meyer, Kiperr,
maanuel, vcrx6, Furion89, Mark07, lost-illusion, SeTM, TCKiper, vlad852, tehmarto, boom,
Per Wilhelmsen, telsamat, Various, erimioa, Sawiner, zergtmn, SimonDMII, pek2011, alexbolotsin,
laly, mrquickfx, Koord, amnell, GWRde, EdwinDW, gildor, darkstalker, Feanordev, _manuel_,
thymuswisewood, sohrab, Lazzalf, Taser, Ottowayne, Exordian, nucleartux, John Holiver, j4r0d,
Trazom62, Brian, enjoi, teacher, Alex Bolotsin, Troy, silver1ce, nihal, arcanzic, Chaz Brown,
pendragon, aven_coda, cca220v, ArcticDevil, derex_tri, AlterEgo, AriDEV, Fabian, Rawaho, Projectcore,
Zalito12, Palabola, caffeine239, mansemino
================================================
FILE: cmake/compiler/clang/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Set build-directive (used in core to tell which buildtype we used)
add_definitions(-D_BUILD_DIRECTIVE='"$(CONFIGURATION)"')
if(WITH_WARNINGS)
set(WARNING_FLAGS "-W -Wall -Wextra -Winit-self -Wfatal-errors")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} -Woverloaded-virtual")
message(STATUS "Clang: All warnings enabled")
endif()
if(WITH_COREDEBUG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
message(STATUS "Clang: Debug-flags set (-g3)")
endif()
================================================
FILE: cmake/compiler/gcc/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Set build-directive (used in core to tell which buildtype we used)
add_definitions(-D_BUILD_DIRECTIVE='"${CMAKE_BUILD_TYPE}"')
if(PLATFORM EQUAL 32)
# Required on 32-bit systems to enable SSE2 (standard on x64)
set(SSE_FLAGS "-msse2 -mfpmath=sse")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SSE_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SSE_FLAGS}")
endif()
add_definitions(-DHAVE_SSE2 -D__SSE2__)
message(STATUS "GCC: SFMT enabled, SSE2 flags forced")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(COMPILER_FLAGS "")
if (WITH_SANITIZER)
set(COMPILER_FLAGS "${COMPILER_FLAGS} -fsanitize=address -fsanitize-recover=address")
endif()
if (BUILD_DEPLOY)
set(COMPILER_FLAGS "${COMPILER_FLAGS} -march=native -fno-strict-aliasing -g3")
if (NOT INSTALL_PREFIX)
set(INSTALL_PREFIX "/server/wow/horizon")
endif()
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILER_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILER_FLAGS}")
if( WITH_WARNINGS )
set(WARNING_FLAGS "-W -Wall -Wextra -Winit-self -Winvalid-pch -Wfatal-errors")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} -Woverloaded-virtual")
message(STATUS "GCC: All warnings enabled")
endif()
if( WITH_COREDEBUG )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
message(STATUS "GCC: Debug-flags set (-g3)")
endif()
================================================
FILE: cmake/compiler/icc/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Set build-directive (used in core to tell which buildtype we used)
add_definitions(-D_BUILD_DIRECTIVE="'${CMAKE_BUILD_TYPE}'")
if(PLATFORM EQUAL 32)
add_definitions(-axSSE2)
else()
add_definitions(-xSSE2)
endif()
if( WITH_WARNINGS )
add_definitions(-w1)
message(STATUS "ICC: All warnings enabled")
endif()
if( WITH_COREDEBUG )
add_definitions(-g)
message(STATUS "ICC: Debug-flag set (-g)")
endif()
================================================
FILE: cmake/compiler/mingw/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
# Set build-directive (used in core to tell which buildtype we used)
add_definitions(-D_BUILD_DIRECTIVE=\\"${CMAKE_BUILD_TYPE}\\")
if(PLATFORM EQUAL 32)
# Required on 32-bit systems to enable SSE2 (standard on x64)
set(SSE_FLAGS "-msse2 -mfpmath=sse")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SSE_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SSE_FLAGS}")
endif()
add_definitions(-DHAVE_SSE2 -D__SSE2__)
message(STATUS "GCC: SFMT enabled, SSE2 flags forced")
if( WITH_WARNINGS )
set(WARNING_FLAGS "-W -Wall -Wextra -Winit-self -Winvalid-pch -Wfatal-errors")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} -Woverloaded-virtual")
message(STATUS "GCC: All warnings enabled")
endif()
if( WITH_COREDEBUG )
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
message(STATUS "GCC: Debug-flags set (-g3)")
endif()
================================================
FILE: cmake/compiler/msvc/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(MSVC_EXPECTED_VERSION 18.0)
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS MSVC_EXPECTED_VERSION)
message(FATAL_ERROR "MSVC: SkyFire requires version ${MSVC_EXPECTED_VERSION} (MSVC 2013) to build but found ${CMAKE_CXX_COMPILER_VERSION}")
endif()
# set up output paths ofr static libraries etc (commented out - shown here as an example only)
#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
#set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
if(PLATFORM EQUAL 64)
# This definition is necessary to work around a bug with Intellisense described
# here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper
# debugger functionality.
add_definitions("-D_WIN64")
message(STATUS "MSVC: 64-bit platform, enforced -D_WIN64 parameter")
#Enable extended object support for debug compiles on X64 (not required on X86)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj")
message(STATUS "MSVC: Enabled extended object-support for debug-compiles")
else()
# mark 32 bit executables large address aware so they can use > 2GB address space
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
message(STATUS "MSVC: Enabled large address awareness")
add_definitions(/arch:SSE2)
message(STATUS "MSVC: Enabled SSE2 support")
endif()
# Set build-directive (used in core to tell which buildtype we used)
add_definitions(-D_BUILD_DIRECTIVE=\\"$(ConfigurationName)\\")
# multithreaded compiling on VS
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
# Define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES - eliminates the warning by changing the strcpy call to strcpy_s, which prevents buffer overruns
add_definitions(-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES)
message(STATUS "MSVC: Overloaded standard names")
# Ignore warnings about older, less secure functions
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
message(STATUS "MSVC: Disabled NON-SECURE warnings")
#Ignore warnings about POSIX deprecation
add_definitions(-D_CRT_NONSTDC_NO_WARNINGS)
message(STATUS "MSVC: Disabled POSIX warnings")
if(NOT WITH_WARNINGS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996 /wd4355 /wd4244 /wd4985 /wd4267 /wd4619 /wd4512")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4996 /wd4355 /wd4244 /wd4985 /wd4267 /wd4619 /wd4512")
message(STATUS "MSVC: Disabled generic compiletime warnings")
endif()
# Specify the maximum PreCompiled Header memory allocation limit
# Fixes a compiler-problem when using PCH - the /Ym flag is adjusted by the compiler in MSVC2012, hence we need to set an upper limit with /Zm to avoid discrepancies)
# (And yes, this is a verified , unresolved bug with MSVC... *sigh*)
string(REGEX REPLACE "/Zm[0-9]+ *" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zm500")
# Enable and treat as errors the following warnings to easily detect virtual function signature failures:
# 'function' : member function does not override any base class virtual member function
# 'virtual_function' : no override available for virtual member function from base 'class'; function is hidden
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /we4263 /we4264")
macro(ApplyFlags variable)
string(REGEX REPLACE "/INCREMENTAL *" "/INCREMENTAL:NO" ${variable} "${${variable}}")
endmacro()
if (BUILD_DEV)
ApplyFlags(CMAKE_EXE_LINKER_FLAGS_DEBUG)
ApplyFlags(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO)
ApplyFlags(CMAKE_SHARED_LINKER_FLAGS_DEBUG)
ApplyFlags(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:inline")
endif()
================================================
FILE: cmake/genrev.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
execute_process(
COMMAND hg id -n
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_id_str
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
execute_process(
COMMAND hg id -i
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_hash_str
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
execute_process(
COMMAND hg tip --template "{date|shortdate}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE rev_date
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
if(EXISTS ${CMAKE_SOURCE_DIR}/.hg_archival.txt)
file(READ
${CMAKE_SOURCE_DIR}/.hg_archival.txt rev_hash_str
LIMIT 10
OFFSET 7
NEWLINE_CONSUME
)
string(STRIP ${rev_hash_str} rev_hash_str)
set(rev_id_str "Archive")
set(rev_id "0")
set(rev_hash ${rev_hash_str})
endif()
# Last minute check - ensure that we have a proper revision
# If everything above fails (means the user has erased the mercurial revisional control directory, or runs archive and erased their .hg_archival.txt)
if(NOT rev_id_str)
message("")
message(STATUS "WARNING - No revision-information found - have you been tampering with the sources?")
# Ok, since we have no valid ways of finding/setting the revision, let's force some defaults
set(rev_hash_str "Archive")
set(rev_hash "0")
set(rev_id_str "0")
set(rev_id "0")
endif()
# Strip off excess strings (shows when the source is actually modified)
if(NOT rev_id_str MATCHES "Archive")
string(REPLACE "+" "" rev_id ${rev_id_str})
endif()
string(REPLACE "+" "" rev_hash ${rev_hash_str})
# Its not set during initial run
if(NOT BUILDDIR)
set(BUILDDIR ${CMAKE_BINARY_DIR})
endif()
# Create the actual revision.h file from the above params
if(NOT "${rev_id_cached}" MATCHES "${rev_id_str}")
configure_file(
"${CMAKE_SOURCE_DIR}/revision.h.in.cmake"
"${BUILDDIR}/revision.h"
@ONLY
)
set(rev_id_cached "${rev_id_str}" CACHE INTERNAL "Cached revision ID")
endif()
================================================
FILE: cmake/macros/CheckBuildDir.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Force out-of-source build
#
string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" BUILDING_IN_SOURCE)
if( BUILDING_IN_SOURCE )
message(FATAL_ERROR "
This project requires an out of source build. Remove the file 'CMakeCache.txt'
found in this directory before continuing, create a separate build directory
and run 'cmake path_to_project [options]' from there.
")
endif()
================================================
FILE: cmake/macros/CheckPlatform.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# check what platform we're on (64-bit or 32-bit), and create a simpler test than CMAKE_SIZEOF_VOID_P
if(CMAKE_SIZEOF_VOID_P MATCHES 8)
set(PLATFORM 64)
MESSAGE(STATUS "Detected 64-bit platform")
else()
set(PLATFORM 32)
MESSAGE(STATUS "Detected 32-bit platform")
endif()
include("${CMAKE_SOURCE_DIR}/cmake/platform/settings.cmake")
if(WIN32)
include("${CMAKE_SOURCE_DIR}/cmake/platform/win/settings.cmake")
elseif(UNIX)
include("${CMAKE_SOURCE_DIR}/cmake/platform/unix/settings.cmake")
endif()
================================================
FILE: cmake/macros/EnsureVersion.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# This file defines the following macros for developers to use in ensuring
# that installed software is of the right version:
#
# ENSURE_VERSION - test that a version number is greater than
# or equal to some minimum
# ENSURE_VERSION_RANGE - test that a version number is greater than
# or equal to some minimum and less than some
# maximum
# ENSURE_VERSION2 - deprecated, do not use in new code
#
# ENSURE_VERSION
# This macro compares version numbers of the form "x.y.z" or "x.y"
# ENSURE_VERSION( FOO_MIN_VERSION FOO_VERSION_FOUND FOO_VERSION_OK)
# will set FOO_VERSION_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION
# Leading and trailing text is ok, e.g.
# ENSURE_VERSION( "2.5.31" "flex 2.5.4a" VERSION_OK)
# which means 2.5.31 is required and "flex 2.5.4a" is what was found on the system
# Copyright (c) 2006, David Faure, <faure@kde.org>
# Copyright (c) 2007, Will Stephenson <wstephenson@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# ENSURE_VERSION_RANGE
# This macro ensures that a version number of the form
# "x.y.z" or "x.y" falls within a range defined by
# min_version <= found_version < max_version.
# If this expression holds, FOO_VERSION_OK will be set TRUE
#
# Example: ENSURE_VERSION_RANGE3( "0.1.0" ${FOOCODE_VERSION} "0.7.0" FOO_VERSION_OK )
#
# This macro will break silently if any of x,y,z are greater than 100.
#
# Copyright (c) 2007, Will Stephenson <wstephenson@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# NORMALIZE_VERSION
# Helper macro to convert version numbers of the form "x.y.z"
# to an integer equal to 10^4 * x + 10^2 * y + z
#
# This macro will break silently if any of x,y,z are greater than 100.
#
# Copyright (c) 2006, David Faure, <faure@kde.org>
# Copyright (c) 2007, Will Stephenson <wstephenson@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
# CHECK_RANGE_INCLUSIVE_LOWER
# Helper macro to check whether x <= y < z
#
# Copyright (c) 2007, Will Stephenson <wstephenson@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
MACRO(NORMALIZE_VERSION _requested_version _normalized_version)
STRING(REGEX MATCH "[^0-9]*[0-9]+\\.[0-9]+\\.[0-9]+.*" _threePartMatch "${_requested_version}")
if (_threePartMatch)
# parse the parts of the version string
STRING(REGEX REPLACE "[^0-9]*([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" _major_vers "${_requested_version}")
STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" _minor_vers "${_requested_version}")
STRING(REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" _patch_vers "${_requested_version}")
else (_threePartMatch)
STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+" "\\1" _major_vers "${_requested_version}")
STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)" "\\1" _minor_vers "${_requested_version}")
set(_patch_vers "0")
endif (_threePartMatch)
# compute an overall version number which can be compared at once
MATH(EXPR ${_normalized_version} "${_major_vers}*10000 + ${_minor_vers}*100 + ${_patch_vers}")
ENDMACRO(NORMALIZE_VERSION)
MACRO(CHECK_RANGE_INCLUSIVE_LOWER _lower_limit _value _upper_limit _ok)
if (${_value} LESS ${_lower_limit})
set( ${_ok} FALSE )
elseif (${_value} EQUAL ${_lower_limit})
set( ${_ok} TRUE )
elseif (${_value} EQUAL ${_upper_limit})
set( ${_ok} FALSE )
elseif (${_value} GREATER ${_upper_limit})
set( ${_ok} FALSE )
else (${_value} LESS ${_lower_limit})
set( ${_ok} TRUE )
endif (${_value} LESS ${_lower_limit})
ENDMACRO(CHECK_RANGE_INCLUSIVE_LOWER)
MACRO(ENSURE_VERSION requested_version found_version var_too_old)
NORMALIZE_VERSION( ${requested_version} req_vers_num )
NORMALIZE_VERSION( ${found_version} found_vers_num )
if (found_vers_num LESS req_vers_num)
set( ${var_too_old} FALSE )
else (found_vers_num LESS req_vers_num)
set( ${var_too_old} TRUE )
endif (found_vers_num LESS req_vers_num)
ENDMACRO(ENSURE_VERSION)
MACRO(ENSURE_VERSION2 requested_version2 found_version2 var_too_old2)
ENSURE_VERSION( ${requested_version2} ${found_version2} ${var_too_old2})
ENDMACRO(ENSURE_VERSION2)
MACRO(ENSURE_VERSION_RANGE min_version found_version max_version var_ok)
NORMALIZE_VERSION( ${min_version} req_vers_num )
NORMALIZE_VERSION( ${found_version} found_vers_num )
NORMALIZE_VERSION( ${max_version} max_vers_num )
CHECK_RANGE_INCLUSIVE_LOWER( ${req_vers_num} ${found_vers_num} ${max_vers_num} ${var_ok})
ENDMACRO(ENSURE_VERSION_RANGE)
================================================
FILE: cmake/macros/FindACE.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# Find the ACE client includes and library
#
# This module defines
# ACE_INCLUDE_DIR, where to find ace.h
# ACE_LIBRARIES, the libraries to link against
# ACE_FOUND, if false, you cannot build anything that requires ACE
# also defined, but not for general use are
# ACE_LIBRARY, where to find the ACE library.
set( ACE_FOUND 0 )
if ( UNIX )
if (NOT ACE_INCLUDE_DIR)
FIND_PATH( ACE_INCLUDE_DIR
NAMES
ace/ACE.h
PATHS
/usr/include
/usr/include/ace
/usr/local/include
/usr/local/include/ace
$ENV{ACE_ROOT}
$ENV{ACE_ROOT}/ace
$ENV{ACE_ROOT}/include
${CMAKE_SOURCE_DIR}/externals/ace
DOC
"Specify include-directories that might contain ace.h here."
)
endif()
if (NOT ACE_LIBRARY)
FIND_LIBRARY( ACE_LIBRARY
NAMES
ace ACE
PATHS
/usr/lib
/usr/lib/ace
/usr/local/lib
/usr/local/lib/ace
/usr/local/ace/lib
$ENV{ACE_ROOT}/lib
$ENV{ACE_ROOT}
DOC "Specify library-locations that might contain the ACE library here."
)
# FIND_LIBRARY( ACE_EXTRA_LIBRARIES
# NAMES
# z zlib
# PATHS
# /usr/lib
# /usr/local/lib
# DOC
# "if more libraries are necessary to link into ACE, specify them here."
# )
endif()
if ( ACE_LIBRARY )
if ( ACE_INCLUDE_DIR )
if (_ACE_VERSION)
set(ACE_VERSION "${_ACE_VERSION}")
else (_ACE_VERSION)
file(STRINGS "${ACE_INCLUDE_DIR}/ace/Version.h" ACE_VERSION_STR REGEX "^#define ACE_VERSION \".*\"")
string(REGEX REPLACE "^.*ACE_VERSION \"([0-9].[0-9].[0-9a-z]).*$"
"\\1" ACE_VERSION "${ACE_VERSION_STR}")
endif (_ACE_VERSION)
include(EnsureVersion)
ENSURE_VERSION( "${ACE_EXPECTED_VERSION}" "${ACE_VERSION}" ACE_FOUND)
if (NOT ACE_FOUND)
message(FATAL_ERROR "TrinityCore needs ACE version ${ACE_EXPECTED_VERSION} but found version ${ACE_VERSION}")
endif()
message( STATUS "Found ACE library: ${ACE_LIBRARY}")
message( STATUS "Found ACE headers: ${ACE_INCLUDE_DIR}")
else ( ACE_INCLUDE_DIR )
message(FATAL_ERROR "Could not find ACE headers! Please install ACE libraries and headers")
endif ( ACE_INCLUDE_DIR )
endif ( ACE_LIBRARY )
mark_as_advanced( ACE_FOUND ACE_LIBRARY ACE_EXTRA_LIBRARIES ACE_INCLUDE_DIR )
endif (UNIX)
================================================
FILE: cmake/macros/FindMySQL.cmake
================================================
#
# Find the MySQL client includes and library
#
# This module defines
# MYSQL_INCLUDE_DIR, where to find mysql.h
# MYSQL_LIBRARIES, the libraries to link against to connect to MySQL
# MYSQL_FOUND, if false, you cannot build anything that requires MySQL.
# also defined, but not for general use are
# MYSQL_LIBRARY, where to find the MySQL library.
set( MYSQL_FOUND 0 )
if(WIN32)
# read environment variables and change \ to /
SET(PROGRAM_FILES_32 $ENV{ProgramFiles})
if (${PROGRAM_FILES_32})
STRING(REPLACE "\\\\" "/" PROGRAM_FILES_32 ${PROGRAM_FILES_32})
endif(${PROGRAM_FILES_32})
SET(PROGRAM_FILES_64 $ENV{ProgramW6432})
if (${PROGRAM_FILES_64})
STRING(REPLACE "\\\\" "/" PROGRAM_FILES_64 ${PROGRAM_FILES_64})
endif(${PROGRAM_FILES_64})
endif(WIN32)
# Find MariaDB for Windows
if (WIN32)
# Set know versions MariaDB
set(_MARIADB_KNOWN_VERSIONS "MariaDB 10.5" "MariaDB 10.4" "MariaDB 10.3" "MariaDB 10.2")
# Set default options
set(MARIADB_FOUND_LIB 0)
set(MARIADB_FOUND_INCLUDE 0)
set(MARIADB_FOUND_EXECUTABLE 0)
set(MARIADB_FOUND 0)
macro(FindLibMariaDB MariaDBVersion)
# Find include
find_path(MYSQL_INCLUDE_DIR
NAMES
mysql.h
PATHS
${MYSQL_ADD_INCLUDE_PATH}
"${PROGRAM_FILES_64}/${MariaDBVersion}/include/mysql"
"${PROGRAM_FILES_32}/${MariaDBVersion}/include/mysql"
"${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/mysql"
DOC
"Specify the directory containing mysql.h."
)
if(MYSQL_INCLUDE_DIR)
set(MARIADB_FOUND_INCLUDE 1)
endif()
find_library(MYSQL_LIBRARY
NAMES
libmariadb
PATHS
${MYSQL_ADD_LIBRARIES_PATH}
"${PROGRAM_FILES_64}/${MariaDBVersion}/lib"
"${PROGRAM_FILES_64}/${MariaDBVersion}/lib/opt"
"${PROGRAM_FILES_32}/${MariaDBVersion}/lib"
"${PROGRAM_FILES_32}/${MariaDBVersion}/lib/opt"
"$ENV{ProgramFiles}/${MariaDBVersion}/lib/opt"
"$ENV{SystemDrive}/${MariaDBVersion}/lib/opt"
"${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib"
DOC
"Specify the location of the mysql library here."
)
if(MYSQL_LIBRARY)
set(MARIADB_FOUND_LIB 1)
endif()
find_program(MYSQL_EXECUTABLE mysql
PATHS
"${PROGRAM_FILES_64}/${MariaDBVersion}/bin"
"${PROGRAM_FILES_64}/${MariaDBVersion}/bin/opt"
"${PROGRAM_FILES_32}/${MariaDBVersion}/bin"
"${PROGRAM_FILES_32}/${MariaDBVersion}/bin/opt"
"$ENV{ProgramFiles}/${MariaDBVersion}/bin/opt"
"$ENV{SystemDrive}/${MariaDBVersion}/bin/opt"
DOC
"path to your mysql binary.")
if (MYSQL_LIBRARY AND MYSQL_INCLUDE_DIR AND MYSQL_EXECUTABLE)
set(MARIADB_FOUND 1)
endif()
endmacro(FindLibMariaDB)
foreach(version ${_MARIADB_KNOWN_VERSIONS})
if (NOT MARIADB_FOUND)
FindLibMariaDB(${version})
endif()
endforeach()
endif()
if( UNIX )
set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH
"preferred path to MySQL (mysql_config)"
)
find_program(MYSQL_CONFIG mysql_config
${MYSQL_CONFIG_PREFER_PATH}
/usr/local/mysql/bin/
/usr/local/bin/
/usr/bin/
)
if( MYSQL_CONFIG )
message(STATUS "Using mysql-config: ${MYSQL_CONFIG}")
# set INCLUDE_DIR
exec_program(${MYSQL_CONFIG}
ARGS --include
OUTPUT_VARIABLE MY_TMP
)
string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}")
set(MYSQL_ADD_INCLUDE_PATH ${MY_TMP} CACHE FILEPATH INTERNAL)
#message("[DEBUG] MYSQL ADD_INCLUDE_PATH : ${MYSQL_ADD_INCLUDE_PATH}")
# set LIBRARY_DIR
exec_program(${MYSQL_CONFIG}
ARGS --libs_r
OUTPUT_VARIABLE MY_TMP
)
set(MYSQL_ADD_LIBRARIES "")
string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}")
foreach(LIB ${MYSQL_LIB_LIST})
string(REGEX REPLACE "[ ]*-l([^ ]*)" "\\1" LIB "${LIB}")
list(APPEND MYSQL_ADD_LIBRARIES "${LIB}")
#message("[DEBUG] MYSQL ADD_LIBRARIES : ${MYSQL_ADD_LIBRARIES}")
endforeach(LIB ${MYSQL_LIB_LIST})
set(MYSQL_ADD_LIBRARIES_PATH "")
string(REGEX MATCHALL "-L[^ ]*" MYSQL_LIBDIR_LIST "${MY_TMP}")
foreach(LIB ${MYSQL_LIBDIR_LIST})
string(REGEX REPLACE "[ ]*-L([^ ]*)" "\\1" LIB "${LIB}")
list(APPEND MYSQL_ADD_LIBRARIES_PATH "${LIB}")
#message("[DEBUG] MYSQL ADD_LIBRARIES_PATH : ${MYSQL_ADD_LIBRARIES_PATH}")
endforeach(LIB ${MYSQL_LIBS})
else( MYSQL_CONFIG )
set(MYSQL_ADD_LIBRARIES "")
list(APPEND MYSQL_ADD_LIBRARIES "mysqlclient_r")
endif( MYSQL_CONFIG )
endif( UNIX )
find_path(MYSQL_INCLUDE_DIR
NAMES
mysql.h
PATHS
${MYSQL_ADD_INCLUDE_PATH}
/usr/include
/usr/include/mysql
/usr/local/include
/usr/local/include/mysql
/usr/local/mysql/include
"C:/Program Files/MySQL/MySQL Server 8.0/include"
"C:/Program Files/MySQL/MySQL Server 5.7/include"
"C:/Program Files/MySQL/MySQL Server 5.6/include"
"C:/Program Files/MySQL/include"
"C:/MySQL/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 8.0;Location]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 8.0;Location]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/include"
"$ENV{ProgramFiles}/MySQL/*/include"
"$ENV{SystemDrive}/MySQL/*/include"
"c:/msys/local/include"
"$ENV{MYSQL_INCLUDE_DIR}"
DOC
"Specify the directory containing mysql.h."
)
if( UNIX )
foreach(LIB ${MYSQL_ADD_LIBRARIES})
find_library( MYSQL_LIBRARY
NAMES
mysql libmysql ${LIB}
PATHS
${MYSQL_ADD_LIBRARIES_PATH}
/usr/lib
/usr/lib/mysql
/usr/local/lib
/usr/local/lib/mysql
/usr/local/mysql/lib
DOC "Specify the location of the mysql library here."
)
endforeach(LIB ${MYSQL_ADD_LIBRARY})
endif( UNIX )
if( WIN32 )
find_library( MYSQL_LIBRARY
NAMES
libmysql
PATHS
${MYSQL_ADD_LIBRARIES_PATH}
"C:/Program Files/MySQL/MySQL Server 8.0/lib"
"C:/Program Files/MySQL/MySQL Server 8.0/lib/opt"
"C:/Program Files/MySQL/MySQL Server 5.7/lib/opt"
"C:/Program Files/MySQL/MySQL Server 5.6/lib/opt"
"C:/Program Files/MySQL/lib"
"C:/MySQL/lib/debug"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 8.0;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 8.0;Location]/lib/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 8.0;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 8.0;Location]/lib/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.6;Location]/lib/opt"
"$ENV{ProgramFiles}/MySQL/*/lib/opt"
"$ENV{SystemDrive}/MySQL/*/lib/opt"
"c:/msys/local/include"
"$ENV{MYSQL_LIBRARY}"
DOC "Specify the location of the mysql library here."
)
endif( WIN32 )
# On Windows you typically don't need to include any extra libraries
# to build MYSQL stuff.
if( NOT WIN32 )
find_library( MYSQL_EXTRA_LIBRARIES
NAMES
z zlib
PATHS
/usr/lib
/usr/local/lib
DOC
"if more libraries are necessary to link in a MySQL client (typically zlib), specify them here."
)
else( NOT WIN32 )
set( MYSQL_EXTRA_LIBRARIES "" )
endif( NOT WIN32 )
if( UNIX )
find_program(MYSQL_EXECUTABLE mysql
PATHS
${MYSQL_CONFIG_PREFER_PATH}
/usr/local/mysql/bin/
/usr/local/bin/
/usr/bin/
DOC
"path to your mysql binary."
)
endif( UNIX )
if( WIN32 )
find_program(MYSQL_EXECUTABLE mysql
PATHS
"${PROGRAM_FILES_64}/MySQL/MySQL Server 8.0/bin"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 8.0/bin/opt"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt"
"${PROGRAM_FILES_64}/MySQL/bin"
"${PROGRAM_FILES_32}/MySQL/MySQL Server 8.0/bin"
"${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/bin"
"${PROGRAM_FILES_32}/MySQL/MySQL Server 8.0/bin/opt"
"${PROGRAM_FILES_32}/MySQL/MySQL Server 5.7/bin/opt"
"${PROGRAM_FILES_32}/MySQL/bin"
"C:/MySQL/bin/debug"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 8.0;Location]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 8.0;Location]/bin/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 8.0;Location]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 8.0;Location]/bin/opt"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
"$ENV{ProgramFiles}/MySQL/MySQL Server 8.0/bin/opt"
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt"
"$ENV{SystemDrive}/MySQL/MySQL Server 8.0/bin/opt"
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt"
"c:/msys/local/include"
"$ENV{MYSQL_ROOT}/bin"
DOC
"path to your mysql binary.")
endif( WIN32 )
if( MYSQL_LIBRARY )
if( MYSQL_INCLUDE_DIR )
set( MYSQL_FOUND 1 )
message(STATUS "Found MySQL library: ${MYSQL_LIBRARY}")
message(STATUS "Found MySQL headers: ${MYSQL_INCLUDE_DIR}")
else( MYSQL_INCLUDE_DIR )
message(FATAL_ERROR "Could not find MySQL headers! Please install the development libraries and headers")
endif( MYSQL_INCLUDE_DIR )
if( MYSQL_EXECUTABLE )
message(STATUS "Found MySQL executable: ${MYSQL_EXECUTABLE}")
endif( MYSQL_EXECUTABLE )
mark_as_advanced( MYSQL_FOUND MYSQL_LIBRARY MYSQL_EXTRA_LIBRARIES MYSQL_INCLUDE_DIR MYSQL_EXECUTABLE )
else( MYSQL_LIBRARY )
message(FATAL_ERROR "Could not find the MySQL libraries! Please install the development libraries and headers")
endif( MYSQL_LIBRARY )
================================================
FILE: cmake/macros/FindOpenSSL.cmake
================================================
# - Try to find the OpenSSL encryption library
# Once done this will define
#
# OPENSSL_ROOT_DIR - Set this variable to the root installation of OpenSSL
#
# Read-Only variables:
# OPENSSL_FOUND - system has the OpenSSL library
# OPENSSL_INCLUDE_DIR - the OpenSSL include directory
# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
# Copyright 2006 Alexander Neundorf <neundorf@kde.org>
# Copyright 2009-2010 Mathieu Malaterre <mathieu.malaterre@gmail.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distributed this file outside of CMake, substitute the full
# License text for the above reference.)
# http://www.slproweb.com/products/Win32OpenSSL.html
SET(_OPENSSL_ROOT_HINTS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
"$ENV{OPENSSL_ROOT_DIR}"
"${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}"
)
IF(PLATFORM EQUAL 64)
SET(_OPENSSL_ROOT_PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;InstallLocation]"
"C:/OpenSSL-Win64/"
"C:/OpenSSL/"
"C:/Program Files/OpenSSL-Win64/"
)
ELSE()
SET(_OPENSSL_ROOT_PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;InstallLocation]"
"C:/OpenSSL/"
"C:/Program Files/OpenSSL/"
)
ENDIF()
FIND_PATH(OPENSSL_ROOT_DIR
NAMES
include/openssl/ssl.h
HINTS
${_OPENSSL_ROOT_HINTS}
PATHS
${_OPENSSL_ROOT_PATHS}
)
MARK_AS_ADVANCED(OPENSSL_ROOT_DIR)
# Re-use the previous path:
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
${OPENSSL_ROOT_DIR}/include
)
IF(WIN32 AND NOT CYGWIN)
# MINGW should go here too
IF(MSVC)
# /MD and /MDd are the standard values - if someone wants to use
# others, the libnames have to change here too
# use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
# TODO: handle /MT and static lib
# In Visual C++ naming convention each of these four kinds of Windows libraries has it's standard suffix:
# * MD for dynamic-release
# * MDd for dynamic-debug
# * MT for static-release
# * MTd for static-debug
# Implementation details:
# We are using the libraries located in the VC subdir instead of the parent directory eventhough :
# libeay32MD.lib is identical to ../libeay32.lib, and
# ssleay32MD.lib is identical to ../ssleay32.lib
# In 1.1 version of OpenSSL we have other names of libs: libcrypto32MTd.lib and libssl32MTd.lib
if( "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8" )
set(_OPENSSL_MSVC_ARCH_SUFFIX "64")
else()
set(_OPENSSL_MSVC_ARCH_SUFFIX "32")
endif()
FIND_LIBRARY(LIB_EAY_DEBUG
NAMES
libcrypto${_OPENSSL_MSVC_ARCH_SUFFIX}MDd libcrypto libeay32MDd libeay32
PATHS
${OPENSSL_ROOT_DIR}/lib/VC
${OPENSSL_ROOT_DIR}/debug/lib
)
FIND_LIBRARY(LIB_EAY_RELEASE
NAMES
libcrypto${_OPENSSL_MSVC_ARCH_SUFFIX}MD libcrypto libeay32MD libeay32
PATHS
${OPENSSL_ROOT_DIR}/lib/VC
${OPENSSL_ROOT_DIR}/lib
)
FIND_LIBRARY(SSL_EAY_DEBUG
NAMES
libssl${_OPENSSL_MSVC_ARCH_SUFFIX}MDd libssl ssleay32MDd ssleay32 ssl
PATHS
${OPENSSL_ROOT_DIR}/lib/VC
${OPENSSL_ROOT_DIR}/debug/lib
)
FIND_LIBRARY(SSL_EAY_RELEASE
NAMES
libssl${_OPENSSL_MSVC_ARCH_SUFFIX}MD libssl ssleay32MD ssleay32 ssl
PATHS
${OPENSSL_ROOT_DIR}/lib/VC
${OPENSSL_ROOT_DIR}/lib
)
if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
set( OPENSSL_LIBRARIES
optimized ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE}
debug ${SSL_EAY_DEBUG} ${LIB_EAY_DEBUG}
)
else()
set( OPENSSL_LIBRARIES
${SSL_EAY_RELEASE}
${LIB_EAY_RELEASE}
)
endif()
MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE LIB_EAY_DEBUG LIB_EAY_RELEASE)
ELSEIF(MINGW)
# same player, for MingW
FIND_LIBRARY(LIB_EAY
NAMES
libeay32
PATHS
${OPENSSL_ROOT_DIR}/lib/MinGW
)
FIND_LIBRARY(SSL_EAY NAMES
NAMES
ssleay32
PATHS
${OPENSSL_ROOT_DIR}/lib/MinGW
)
MARK_AS_ADVANCED(SSL_EAY LIB_EAY)
set( OPENSSL_LIBRARIES
${SSL_EAY}
${LIB_EAY}
)
ELSE(MSVC)
# Not sure what to pick for -say- intel, let's use the toplevel ones and hope someone report issues:
FIND_LIBRARY(LIB_EAY
NAMES
libeay32
PATHS
${OPENSSL_ROOT_DIR}/lib
${OPENSSL_ROOT_DIR}/lib/VC
)
FIND_LIBRARY(SSL_EAY
NAMES
ssleay32
PATHS
${OPENSSL_ROOT_DIR}/lib
${OPENSSL_ROOT_DIR}/lib/VC
)
MARK_AS_ADVANCED(SSL_EAY LIB_EAY)
SET( OPENSSL_LIBRARIES ${SSL_EAY} ${LIB_EAY} )
ENDIF(MSVC)
ELSE(WIN32 AND NOT CYGWIN)
FIND_LIBRARY(OPENSSL_SSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD)
FIND_LIBRARY(OPENSSL_CRYPTO_LIBRARIES NAMES crypto)
MARK_AS_ADVANCED(OPENSSL_CRYPTO_LIBRARIES OPENSSL_SSL_LIBRARIES)
SET(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARIES})
ENDIF(WIN32 AND NOT CYGWIN)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenSSL DEFAULT_MSG
OPENSSL_LIBRARIES
OPENSSL_INCLUDE_DIR
)
MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
================================================
FILE: cmake/macros/FindPCHSupport.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
FUNCTION(GET_COMMON_PCH_PARAMS PCH_HEADER PCH_FE INCLUDE_PREFIX)
GET_FILENAME_COMPONENT(PCH_HEADER_N ${PCH_HEADER} NAME)
GET_DIRECTORY_PROPERTY(TARGET_INCLUDES INCLUDE_DIRECTORIES)
FOREACH(ITEM ${TARGET_INCLUDES})
LIST(APPEND INCLUDE_FLAGS_LIST "${INCLUDE_PREFIX}\"${ITEM}\" ")
ENDFOREACH(ITEM)
SET(PCH_HEADER_NAME ${PCH_HEADER_N} PARENT_SCOPE)
SET(PCH_HEADER_OUT ${CMAKE_CURRENT_BINARY_DIR}/${PCH_HEADER_N}.${PCH_FE} PARENT_SCOPE)
SET(INCLUDE_FLAGS ${INCLUDE_FLAGS_LIST} PARENT_SCOPE)
ENDFUNCTION(GET_COMMON_PCH_PARAMS)
FUNCTION(GENERATE_CXX_PCH_COMMAND TARGET_NAME INCLUDE_FLAGS IN PCH_SRC OUT)
IF (CMAKE_BUILD_TYPE)
STRING(TOUPPER _${CMAKE_BUILD_TYPE} CURRENT_BUILD_TYPE)
ENDIF ()
SET(COMPILE_FLAGS ${CMAKE_CXX_FLAGS${CURRENT_BUILD_TYPE}})
LIST(APPEND COMPILE_FLAGS ${CMAKE_CXX_FLAGS})
IF ("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
IF (NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
LIST(APPEND COMPILE_FLAGS "-arch ${CMAKE_OSX_ARCHITECTURES}")
ENDIF ()
IF (NOT "${CMAKE_OSX_SYSROOT}" STREQUAL "")
LIST(APPEND COMPILE_FLAGS "-isysroot ${CMAKE_OSX_SYSROOT}")
ENDIF ()
IF (NOT "${CMAKE_OSX_DEPLOYMENT_TARGET}" STREQUAL "")
LIST(APPEND COMPILE_FLAGS "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}")
ENDIF ()
ENDIF ()
GET_DIRECTORY_PROPERTY(TARGET_DEFINITIONS COMPILE_DEFINITIONS)
FOREACH(ITEM ${TARGET_DEFINITIONS})
LIST(APPEND DEFINITION_FLAGS "-D${ITEM} ")
ENDFOREACH(ITEM)
SEPARATE_ARGUMENTS(COMPILE_FLAGS)
SEPARATE_ARGUMENTS(INCLUDE_FLAGS)
SEPARATE_ARGUMENTS(DEFINITION_FLAGS)
GET_FILENAME_COMPONENT(PCH_SRC_N ${PCH_SRC} NAME)
ADD_LIBRARY(${PCH_SRC_N}_dephelp MODULE ${PCH_SRC})
ADD_CUSTOM_COMMAND(
OUTPUT ${OUT}
COMMAND ${CMAKE_CXX_COMPILER}
ARGS ${DEFINITION_FLAGS} ${COMPILE_FLAGS} ${INCLUDE_FLAGS} -x c++-header ${IN} -o ${OUT}
DEPENDS ${IN} ${PCH_SRC_N}_dephelp
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
ADD_CUSTOM_TARGET(generate_${PCH_SRC_N}
DEPENDS ${OUT}
)
ADD_DEPENDENCIES(${TARGET_NAME} generate_${PCH_SRC_N})
ENDFUNCTION(GENERATE_CXX_PCH_COMMAND)
FUNCTION(ADD_CXX_PCH_GCC TARGET_NAME PCH_HEADER PCH_SOURCE)
GET_COMMON_PCH_PARAMS(${PCH_HEADER} "gch" "-I")
GENERATE_CXX_PCH_COMMAND(${TARGET_NAME} "${INCLUDE_FLAGS}" ${PCH_HEADER} ${PCH_SOURCE} ${PCH_HEADER_OUT})
SET_TARGET_PROPERTIES(
${TARGET_NAME} PROPERTIES
COMPILE_FLAGS "-include ${CMAKE_CURRENT_BINARY_DIR}/${PCH_HEADER_NAME}"
)
ENDFUNCTION(ADD_CXX_PCH_GCC)
FUNCTION(ADD_CXX_PCH_CLANG TARGET_NAME PCH_HEADER PCH_SOURCE)
GET_COMMON_PCH_PARAMS(${PCH_HEADER} "pch" "-I")
GENERATE_CXX_PCH_COMMAND(${TARGET_NAME} "${INCLUDE_FLAGS}" ${PCH_HEADER} ${PCH_SOURCE} ${PCH_HEADER_OUT})
SET_TARGET_PROPERTIES(
${TARGET_NAME} PROPERTIES
COMPILE_FLAGS "-include-pch ${PCH_HEADER_OUT}"
)
ENDFUNCTION(ADD_CXX_PCH_CLANG)
FUNCTION(ADD_CXX_PCH_MSVC TARGET_NAME PCH_HEADER PCH_SOURCE)
GET_COMMON_PCH_PARAMS(${PCH_HEADER} "pch" "/I")
SET_TARGET_PROPERTIES(
${TARGET_NAME} PROPERTIES
COMPILE_FLAGS "/FI${PCH_HEADER_NAME} /Yu${PCH_HEADER_NAME}"
)
SET_SOURCE_FILES_PROPERTIES(
${PCH_SOURCE} PROPERTIES
COMPILE_FLAGS "/Yc${PCH_HEADER_NAME}"
)
ENDFUNCTION(ADD_CXX_PCH_MSVC)
FUNCTION(ADD_CXX_PCH TARGET_NAME PCH_HEADER PCH_SOURCE)
IF (MSVC)
ADD_CXX_PCH_MSVC(${TARGET_NAME} ${PCH_HEADER} ${PCH_SOURCE})
ELSEIF ("${CMAKE_GENERATOR}" MATCHES "Xcode")
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER YES
XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/${PCH_HEADER}"
)
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
ADD_CXX_PCH_CLANG(${TARGET_NAME} ${PCH_HEADER} ${PCH_SOURCE})
ELSEIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
ADD_CXX_PCH_GCC(${TARGET_NAME} ${PCH_HEADER} ${PCH_SOURCE})
ENDIF ()
ENDFUNCTION(ADD_CXX_PCH)
================================================
FILE: cmake/macros/FindReadline.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# find Readline (terminal input library) includes and library
#
# READLINE_INCLUDE_DIR - where the directory containing the READLINE headers can be found
# READLINE_LIBRARY - full path to the READLINE library
# READLINE_FOUND - TRUE if READLINE was found
FIND_PATH(READLINE_INCLUDE_DIR readline/readline.h)
FIND_LIBRARY(READLINE_LIBRARY NAMES readline)
IF (READLINE_INCLUDE_DIR AND READLINE_LIBRARY)
SET(READLINE_FOUND TRUE)
MESSAGE(STATUS "Found Readline library: ${READLINE_LIBRARY}")
MESSAGE(STATUS "Include dir is: ${READLINE_INCLUDE_DIR}")
INCLUDE_DIRECTORIES(${READLINE_INCLUDE_DIR})
ELSE (READLINE_INCLUDE_DIR AND READLINE_LIBRARY)
SET(READLINE_FOUND FALSE)
MESSAGE(FATAL_ERROR "** Readline library not found!\n** Your distro may provide a binary for Readline e.g. for ubuntu try apt-get install libreadline5-dev")
ENDIF (READLINE_INCLUDE_DIR AND READLINE_LIBRARY)
================================================
FILE: cmake/options.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
option(SERVERS "Build worldserver and authserver" 1)
option(SCRIPTS "Build core with scripts included" 1)
option(TOOLS "Build map/vmap/mmap extraction/assembler tools" 0)
option(USE_SCRIPTPCH "Use precompiled headers when compiling scripts" 1)
option(USE_COREPCH "Use precompiled headers when compiling servers" 1)
option(WITH_WARNINGS "Show all warnings during compile" 0)
option(WITH_COREDEBUG "Include additional debug-code in core" 0)
option(WITH_SANITIZER "Build with AddressSanitizer" 0)
option(AUTH_SERVER "Build authserver" 1)
option(UPDATER "Build updater" 0)
if (UNIX)
option(BUILD_DEPLOY "Option of a build for deployment" 1)
endif()
option(BUILD_DEV "Experimental build for development under Windows" 0)
================================================
FILE: cmake/platform/cmake_uninstall.in.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# from cmake wiki
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling \"${file}\"")
IF(EXISTS "${file}")
EXEC_PROGRAM(
"@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF("${rm_retval}" STREQUAL 0)
ELSE("${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
ENDIF("${rm_retval}" STREQUAL 0)
ELSE(EXISTS "${file}")
MESSAGE(STATUS "File \"${file}\" does not exist.")
ENDIF(EXISTS "${file}")
ENDFOREACH(file)
================================================
FILE: cmake/platform/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# set installation prefix
if( PREFIX )
set(CMAKE_INSTALL_PREFIX "${PREFIX}")
endif()
================================================
FILE: cmake/platform/unix/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Package overloads - Linux
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
if (NOT NOJEM)
set(JEMALLOC_LIBRARY "jemalloc")
message(STATUS "UNIX: Using jemalloc")
endif()
endif()
# set default configuration directory
if( NOT CONF_DIR )
set(CONF_DIR ${CMAKE_INSTALL_PREFIX}/etc)
message(STATUS "UNIX: Using default configuration directory")
endif()
# set default library directory
if( NOT LIBSDIR )
set(LIBSDIR ${CMAKE_INSTALL_PREFIX}/lib)
message(STATUS "UNIX: Using default library directory")
endif()
# configure uninstaller
configure_file(
"${CMAKE_SOURCE_DIR}/cmake/platform/cmake_uninstall.in.cmake"
"${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
@ONLY
)
message(STATUS "UNIX: Configuring uninstall target")
# create uninstaller target (allows for using "make uninstall")
add_custom_target(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake"
)
message(STATUS "UNIX: Created uninstall target")
message(STATUS "UNIX: Detected compiler: ${CMAKE_C_COMPILER}")
if(CMAKE_C_COMPILER MATCHES "gcc" OR CMAKE_C_COMPILER_ID STREQUAL "GNU")
include(${CMAKE_SOURCE_DIR}/cmake/compiler/gcc/settings.cmake)
elseif(CMAKE_C_COMPILER MATCHES "icc")
include(${CMAKE_SOURCE_DIR}/cmake/compiler/icc/settings.cmake)
elseif(CMAKE_C_COMPILER MATCHES "clang")
include(${CMAKE_SOURCE_DIR}/cmake/compiler/clang/settings.cmake)
else()
add_definitions(-D_BUILD_DIRECTIVE='"${CMAKE_BUILD_TYPE}"')
endif()
================================================
FILE: cmake/platform/win/settings.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Platform-specfic options
option(USE_MYSQL_SOURCES "Use included MySQL-sources to build libraries" 0)
# Package overloads
set(ACE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/dep/acelite)
set(ACE_LIBRARY "ace")
set(BZIP2_LIBRARIES "bzip2")
set(ZLIB_LIBRARIES "zlib")
if(MSVC_VERSION EQUAL 1900)
set( USE_MYSQL_SOURCES 0 )
message(STATUS "MySQL: Disabled supplied MySQL sources")
endif(MSVC_VERSION EQUAL 1900)
if( USE_MYSQL_SOURCES )
set(MYSQL_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/dep/mysqllite/include)
set(MYSQL_LIBRARY "libmysql")
set( MYSQL_FOUND 1 )
message(STATUS "Using supplied MySQL sources")
endif()
# check the CMake preload parameters (commented out by default)
# overload CMAKE_INSTALL_PREFIX if not being set properly
#if( WIN32 )
# if( NOT CYGWIN )
# if( NOT CMAKE_INSTALL_PREFIX )
# set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/bin")
# endif()
# endif()
#endif()
if ( MSVC )
include(${CMAKE_SOURCE_DIR}/cmake/compiler/msvc/settings.cmake)
elseif ( MINGW )
include(${CMAKE_SOURCE_DIR}/cmake/compiler/mingw/settings.cmake)
endif()
================================================
FILE: cmake/showoptions.cmake
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# output generic information about the core and buildtype chosen
message("")
message("* SkyFire revision : ${rev_hash} ${rev_date} (${rev_branch} branch)")
if( UNIX )
message("* SkyFire buildtype : ${CMAKE_BUILD_TYPE}")
endif()
message("")
# output information about installation-directories and locations
message("* Install core to : ${CMAKE_INSTALL_PREFIX}")
if( UNIX )
message("* Install libraries to : ${LIBSDIR}")
message("* Install configs to : ${CONF_DIR}")
endif()
message("")
# Show infomation about the options selected during configuration
if( SERVERS )
message("* Build worldserver : Yes (default)")
if (AUTH_SERVER)
message("* Build authserver : Yes (default)")
else()
message("* Build authserver : No")
endif()
else()
message("* Build world/authserver : No")
endif()
if( SCRIPTS )
message("* Build with scripts : Yes (default)")
add_definitions(-DSCRIPTS)
else()
message("* Build with scripts : No")
endif()
if( TOOLS )
message("* Build map/vmap tools : Yes")
add_definitions(-DNO_CORE_FUNCS)
else()
message("* Build map/vmap tools : No (default)")
endif()
if( USE_COREPCH )
message("* Build core w/PCH : Yes (default)")
else()
message("* Build core w/PCH : No")
endif()
if( USE_SCRIPTPCH )
message("* Build scripts w/PCH : Yes (default)")
else()
message("* Build scripts w/PCH : No")
endif()
if( WITH_WARNINGS )
message("* Show all warnings : Yes")
else()
message("* Show compile-warnings : No (default)")
endif()
if( WITH_COREDEBUG )
message("* Use coreside debug : Yes")
add_definitions(-DTRINITY_DEBUG)
else()
message("* Use coreside debug : No (default)")
endif()
if( WIN32 )
if( USE_MYSQL_SOURCES )
message("* Use MySQL sourcetree : Yes (default)")
else()
message("* Use MySQL sourcetree : No")
endif()
endif( WIN32 )
if ( NOJEM )
message("")
message(" *** NOJEM - WARNING!")
message(" *** jemalloc linking has been disabled!")
message(" *** Please note that this is for DEBUGGING WITH VALGRIND only!")
message(" *** DO NOT DISABLE IT UNLESS YOU KNOW WHAT YOU'RE DOING!")
endif()
message("")
================================================
FILE: cmake/stack_direction.c
================================================
/* Copyright (C) 2009 Sun Microsystems, Inc
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
/* Check stack direction (0-down, 1-up) */
int f(int *a)
{
int b;
return(&b > a)?1:0;
}
/*
Prevent compiler optimizations by calling function
through pointer.
*/
volatile int (*ptr_f)(int *) = f;
int main()
{
int a;
return ptr_f(&a);
}
================================================
FILE: contrib/Coverity/CoverityCompile.bat
================================================
@ECHO OFF
REM
REM
SETLOCAL
PUSHD %~dp0
SET COVDIR=C:\cov-analysis-win32-7.6.0
CALL "%VS120COMNTOOLS%..\..\VC\vcvarsall.bat" x86
SET MSBUILD_SWITCHES=/nologo
"%COVDIR%\bin\cov-build.exe" --dir cov-int MSBuild "Project_SkyFire.sln" %MSBUILD_SWITCHES%
GOTO End
:End
POPD
ECHO. & ECHO Press any key to close this window...
PAUSE >NUL
ENDLOCAL
EXIT /B
================================================
FILE: contrib/Coverity/CoverityPack.bat
================================================
@ECHO OFF
REM
REM
SETLOCAL
PUSHD %~dp0
:tar
IF EXIST "Project_SkyFire.tgz" DEL "Project_SkyFire.tgz"
tar --version 1>&2 2>NUL || (ECHO. & ECHO ERROR: tar not found. try to use seven zip. & GOTO SevenZip)
tar czvf Project_SkyFire.tgz cov-int
GOTO End
:SevenZip
IF NOT EXIST "C:\Program Files (x86)\7-Zip\7z.exe" (ECHO. & ECHO ERROR: "C:\Program Files (x86)\7-Zip\7z.exe" not found & GOTO End)
IF EXIST "Project_SkyFire.tar" DEL "Project_SkyFire.tar"
IF EXIST "Project_SkyFire.tgz" DEL "Project_SkyFire.tgz"
"C:\Program Files (x86)\7-Zip\7z.exe" a -ttar Project_SkyFire.tar cov-int
"C:\Program Files (x86)\7-Zip\7z.exe" a -tgzip Project_SkyFire.tgz Project_SkyFire.tar
IF EXIST "Project_SkyFire.tar" DEL "Project_SkyFire.tar"
GOTO End
:End
POPD
ECHO. & ECHO Press any key to close this window...
PAUSE >NUL
ENDLOCAL
EXIT /B
================================================
FILE: contrib/ScriptsConverter/ScriptConverter/Program.cs
================================================
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
namespace ScriptConverter {
class Program {
static void Main(string[] args) {
if (args.Length != 1) {
Console.WriteLine("Usage: ScriptsConverter.exe [path_to_dir|path_to_file]");
} else {
string path = args[0];
if (File.Exists(path)) {
ProcessFile(path);
} else if (Directory.Exists(path)) {
ProcessDirectory(path);
} else {
Console.WriteLine("Invalid file or directory specified.\r\n\r\nUsage: ScriptsConverter.exe [path_to_dir|path_to_file]");
}
}
}
static void ProcessDirectory(string path) {
string[] files = Directory.GetFiles(path, "*.cpp");
foreach (string file in files) {
ProcessFile(file);
}
string[] dirs = Directory.GetDirectories(path);
foreach (string dir in dirs) {
ProcessDirectory(dir);
}
}
class ScriptData {
public int type = 0;
public string name;
public ArrayList methods = new ArrayList();
public string instanceName = null;
public string aiName = null;
public string[] special = new string[] { "GetAI_", "GetInstance_", "GetInstanceData_" };
public void AddMethod(string method) {
methods.Add(method);
int i = 0;
foreach (string s in special) {
++i;
int pos = method.IndexOf(s);
if (pos != -1) {
type = i;
string name = method.Substring(pos + s.Length);
if (i == 1) {
aiName = name + "AI";
}
if (i == 2 || i == 3)
instanceName = name;
}
}
}
public override string ToString() {
StringBuilder sb = new StringBuilder();
sb.AppendFormat("Script: {0}\n", name);
foreach (string method in methods)
sb.Append(" ").Append(method).Append("\n");
sb.Append("\n");
return sb.ToString();
}
}
static string GetMethod(string method, ref string txt, ref int minPos) {
string res = null;
Regex r = new Regex(method + "(\\s|:|[(])");
Match m = r.Match(txt);
if (m.Success) {
int pos = m.Index;
while (pos-- >= 0 && pos < txt.Length) {
if (txt[pos] == '\n') break;
}
//pos++;
int lastPos = txt.IndexOf("\n}", pos);
if (lastPos != -1) {
lastPos += 2;
while (lastPos++ >= 0 && lastPos < txt.Length) {
if (txt[lastPos] == '\n') break;
}
res = txt.Substring(pos, lastPos - pos);
txt = txt.Remove(pos, lastPos - pos);
}
if (pos < minPos)
minPos = pos;
}
return res;
}
static void ProcessFile(string filePath) {
Console.WriteLine(filePath);
string txt = File.ReadAllText(filePath);
string[] lines = File.ReadAllLines(filePath);
Array.Reverse(lines);
ArrayList scripts = new ArrayList();
ScriptData data = null;
bool scriptStart = false;
foreach (string line in lines) {
if (line.IndexOf("Script *") != -1) {
break;
}
if (line.IndexOf("->RegisterSelf();") != -1) {
scriptStart = true;
data = new ScriptData();
continue;
}
if (scriptStart) {
if (line.IndexOf("= new Script") != -1) {
scriptStart = false;
scripts.Add(data);
data = null;
continue;
}
Regex r = new Regex("newscript->([a-zA-Z]+) *= *&?([\"_a-zA-Z0-9]+);");
Match m = r.Match(line);
if (m.Success) {
if (m.Groups[1].Value.Equals("Name")) {
data.name = m.Groups[2].Value.Trim(new char[] { '"' });
} else {
data.AddMethod(m.Groups[2].Value);
}
}
continue;
}
}
if (scripts.Count != 0) {
string register = "";
foreach (ScriptData sd in scripts) {
string ss = "";
Console.WriteLine(sd);
int minPos = txt.Length;
foreach (string method in sd.methods) {
string s = GetMethod(method, ref txt, ref minPos);
ss += s + "\n";
}
if (sd.instanceName != null) {
string s = GetMethod("struct " + sd.instanceName, ref txt, ref minPos);
ss += s + "\n";
}
if (sd.aiName != null) {
string ai = GetMethod("struct " + sd.aiName, ref txt, ref minPos);
if (ai != null) {
string sm = null;
Regex r = new Regex("\\S+ " + sd.aiName + "::([^( ]+)");
while (r.IsMatch(txt)) {
Match m = r.Match(txt);
int startPos = m.Index;
int endPos = txt.IndexOf("\n}", startPos);
if (endPos != -1)
endPos += 2;
while (endPos++ >= 0 && endPos < txt.Length) {
if (txt[endPos] == '\n') break;
}
sm = txt.Substring(startPos, endPos - startPos);
txt = txt.Remove(startPos, endPos - startPos);
if (sm != null) {
sm = sm.Replace("\n", "\n ");
Regex r1 = new Regex("\\S+ " + m.Groups[1] + " *\\([^)]*\\) *;");
Match m1 = r1.Match(ai);
if (m1.Success) {
ai = r1.Replace(ai, sm);
}
}
}
ai = ai.Replace(sd.aiName + "::", "");
ss += ai + "\n";
}
}
if (ss.Length != 0) {
string typeName = "UnknownScript";
switch (sd.type) {
case 1: typeName = "CreatureScript"; break;
case 2: typeName = "InstanceMapScript"; break;
default:
if (sd.name.IndexOf("npc") == 0)
typeName = "CreatureScript";
else if (sd.name.IndexOf("mob") == 0)
typeName = "CreatureScript";
else if (sd.name.IndexOf("boss_") == 0)
typeName = "CreatureScript";
else if (sd.name.IndexOf("item_") == 0)
typeName = "ItemScript";
else if (sd.name.IndexOf("go_") == 0)
typeName = "GameObjectScript";
else if (sd.name.IndexOf("at_") == 0)
typeName = "AreaTriggerScript";
else if (sd.name.IndexOf("instance_") == 0)
typeName = "InstanceMapScript";
break;
}
if (sd.instanceName != null)
ss = ss.Replace(sd.instanceName, sd.instanceName + "_InstanceMapScript");
ss = ss.Replace("\n", "\n ");
ss = "class " + sd.name + " : public " + typeName + "\n{\npublic:\n " +
sd.name + "() : " + typeName + "(\"" + sd.name + "\") { }\n" + ss + "\n};";
ss = ss.Replace("_" + sd.name, "");
ss = ss.Replace("AIAI", "AI");
ss = ss.Replace(" \r\n", "\r\n");
ss = ss.Replace(" \n", "\n");
txt = txt.Insert(minPos, ss);
register = " new " + sd.name + "();\n" + register;
}
}
Regex r2 = new Regex("void +AddSC_([_a-zA-Z0-9]+)");
Match m2 = r2.Match(txt);
if (m2.Success) {
txt = txt.Remove(m2.Index);
txt += "void AddSC_" + m2.Groups[1].Value + "()\n{\n" + register + "}\n";
}
// File.Copy(filePath, filePath + ".bkp");
txt = txt.Replace("\r\n", "\n");
File.WriteAllText(filePath, txt);
}
}
}
}
================================================
FILE: contrib/ScriptsConverter/ScriptConverter/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ScriptConverter")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ScriptConverter")]
[assembly: AssemblyCopyright("Copyright © 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("39b64a0a-a460-4177-925f-b9bdda4f2a1d")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
================================================
FILE: contrib/ScriptsConverter/ScriptConverter/ScriptConverter.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{AB4C10BF-53AD-44AC-8B7A-B3F406DF468A}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ScriptConverter</RootNamespace>
<AssemblyName>ScriptConverter</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
================================================
FILE: contrib/ScriptsConverter/ScriptConverter/ScriptConverter.csproj.user
================================================
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<StartArguments>
</StartArguments>
</PropertyGroup>
</Project>
================================================
FILE: contrib/ScriptsConverter/ScriptConverter.sln
================================================
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScriptConverter", "ScriptConverter\ScriptConverter.csproj", "{AB4C10BF-53AD-44AC-8B7A-B3F406DF468A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AB4C10BF-53AD-44AC-8B7A-B3F406DF468A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB4C10BF-53AD-44AC-8B7A-B3F406DF468A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB4C10BF-53AD-44AC-8B7A-B3F406DF468A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB4C10BF-53AD-44AC-8B7A-B3F406DF468A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
================================================
FILE: contrib/buildscript/build.py
================================================
#!/usr/bin/python
import subprocess
import os
import sys
import json
import datetime
import getopt
import signal
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8)
# http://blog.mathieu-leplatre.info/colored-output-in-console-with-python.html
# following from Python cookbook, #475186
def has_colours(stream):
if not hasattr(stream, "isatty"):
return False
if not stream.isatty():
return False # auto color only on TTYs
try:
import curses
curses.setupterm()
return curses.tigetnum("colors") > 2
except:
# guess false in case of error
return False
has_colours = has_colours(sys.stdout)
def colorize(text, colour):
if has_colours:
return "\x1b[1;%dm" % (30+colour) + text + "\x1b[0m"
else:
return text
def showhelp():
print("Usage: {0}".format(sys.argv[0]))
print("Options:")
print(" -j N Parallel build, jobs count")
print(" --clean Run \"make clean\" before build")
print(" -c config Path to config file")
print(" -b bracnh Branch to update")
print(" -C Remove local changes before build")
print(" --authserver Build also authserver target")
print(" --no-sql Don't execute sql files")
print(" --no-build Don't run build")
print(" -h, --help Shows this message")
print(" -s Build with sanitizer")
sys.exit()
def runcmd(cmd):
p = subprocess.Popen(cmd.split())
p.wait()
if p.returncode != 0:
exit(-1)
def ensure_dir(path):
if not os.path.exists(path):
os.makedirs(path)
# read command line arguments, if any
threads = 8
cfgpath = "./config.json"
clean = False
cfg = { }
auth = 0
branch = ''
hgopt = ''
sanitize= 0
exe_sql = True
nobuild = False
opts, args = getopt.getopt(sys.argv[1:], "j:c:b:Chs",["clean", "authserver", "help", "no-sql", "no-build"])
for opt, arg in opts:
if opt == "-j":
threads = int(arg)
elif opt == "-c":
cfgpath = arg
elif opt == "--clean":
clean = True
elif opt == "--authserver":
auth = 1
elif opt == "-b":
branch = arg
elif opt == "-C":
hgopt += "-C "
elif opt == "--no-sql":
exe_sql = False
elif opt == "--no-build":
nobuild = True
elif opt == "-s":
sanitize = 1
elif opt == "-h" or opt == "--help":
showhelp()
# read config
if os.path.isfile(cfgpath):
f = open(cfgpath)
cfg = json.load(f);
else:
print("config not found")
sys.exit(-1)
install_dir = cfg.get('install_dir')
source_dir = cfg.get('source_dir')
build_dir = cfg.get('build_dir')
executable_name = cfg.get('executable_name')
enable_sql = cfg.get('enable_sql', True)
updater_path = cfg.get('updater_path', '')
updater_config = cfg.get('updater_config')
if branch == '':
branch = cfg.get('branch', 'default')
# setup commands
make = "make -j " + str(threads)
cmake = "cmake " + source_dir + " -DCMAKE_INSTALL_PREFIX=" + install_dir + " -DAUTH_SERVER=" + str(auth) + " -DWITH_SANITIZER=" + str(sanitize)
sqlupdate = "{0} -c {1}".format(updater_path,updater_config);
install_dir += "/bin/"
cmds = ["hg pull", "hg up " + hgopt + branch]
lockfile = os.getcwd() + '/build.lock'
# check lock
if (os.path.isfile(lockfile)):
print(colorize('Build already in progress by another instance', RED))
sys.exit(-1)
def exit(code = 0):
os.remove(lockfile)
sys.exit(code)
def interrupt_handler(signal, frame):
exit(-1)
# before file creation
signal.signal(signal.SIGINT, interrupt_handler)
# acquire lock
open(lockfile, 'w').close()
os.chdir(source_dir)
# execute all commands
for cmd in cmds:
runcmd(cmd)
if nobuild:
if not enable_sql:
print(colorize("--no-build used when SQL update disabled", RED))
exit(-1)
runcmd(sqlupdate)
exit() # okay...
# go to build directory, becasue cmake has no such option
ensure_dir(build_dir)
os.chdir(build_dir)
runcmd(cmake)
if clean:
runcmd("make clean")
starttime = datetime.datetime.now()
runcmd(make)
diff = datetime.datetime.now() - starttime
runcmd("make install")
# go to install directory
os.chdir(install_dir)
today = datetime.date.today()
template = "{0}{1:_%m_%d}".format(install_dir + executable_name, today)
old = template
if os.path.exists(old):
i = 2
old = template + "_" + str(i)
while os.path.exists(old):
i = i + 1
old = template + "_" + str(i)
if enable_sql and exe_sql:
runcmd(sqlupdate)
original = install_dir + executable_name;
target = install_dir + "worldserver"
# error in config
if not os.path.exists(target):
print(colorize("Ooops file {0} not found".format(target), RED))
exit(-1)
# just in case if the original file is not found, may be error in config
if os.path.exists(original):
os.rename(original, old)
print(colorize("\n{0} -> {1}".format(original, old), CYAN))
else:
print(colorize("Original file {0} not found!".format(original), RED))
os.rename(target, original)
print(colorize("{0} -> {1}".format(target, original), CYAN))
print(colorize("Built in {0}".format(diff), GREEN))
exit()
================================================
FILE: contrib/buildscript/config.json.dist
================================================
{
"install_dir" : "",
"source_dir" : "",
"build_dir" : "",
"updater_path" : "",
"updater_config" : "",
"target_name" : "",
"executable_name" : ""
}
================================================
FILE: contrib/cleanup/tab2spaces.sh
================================================
#!/bin/bash
perl -wpi -e "s/\t/ /g" $1
================================================
FILE: contrib/cleanup/whitespace.sh
================================================
#!/bin/bash
perl -wpi -e "s/ +$//g" $1
================================================
FILE: contrib/conf_merge/README
================================================
==== PHP merger (index.php + merge.php) ====
This is a PHP script for merging a new .dist file with your existing .conf file (worldserver.conf.dist and authserver.conf.dist)
It should also work with mangos dist/conf files as well.
It uses sessions so it is multi user safe, it adds any options that are removed to the bottom of the file,
commented out, just in case it removes something it shouldn't,
and, if you add all of your custom patch configs below "# Custom" they will be copied exactly as they are.
==== Perl merger (tc-conf-merger.pl) ====
Perl based command line merger script. This script feeds a .conf.dist file with variables that exist in an old .conf file,
comments and custom options are ignored.
================================================
FILE: contrib/conf_merge/index.php
================================================
<?php
/*
* Project Name: Config File Merge For Mangos/Trinity Server
* Date: 01.01.2010 inital version (0.0.1a)
* Author: Paradox
* Copyright: Paradox
* Email: iamparadox@netscape.net (paypal email)
* License: GNU General Public License v2(GPL)
*/
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<FORM enctype="multipart/form-data" ACTION="merge.php" METHOD="POST">
Dist File
<br />
<INPUT name="File1" TYPE="file">
<br />
Current Conf File
<br />
<INPUT name="File2" TYPE="file">
<br />
<INPUT TYPE=RADIO NAME="eol" VALUE="0" CHECKED >Win32 -
<INPUT TYPE=RADIO NAME="eol" VALUE="1" >UNIX/Linux
<br />
<INPUT TYPE="submit" VALUE="Submit">
<br />
If you have any custom settings, such as from patches,
<br />
make sure they are at the bottom of the file following
<br />
this block (add it if it's not there)
<br />
###############################################################################
<br />
# Custom
<br />
###############################################################################
<br />
<br />
</FORM>
================================================
FILE: contrib/conf_merge/merge.php
================================================
<?php
/*
* Project Name: Config File Merge For Mangos/Trinity Server
* Date: 01.01.2010 inital version (0.0.1a)
* Author: Paradox
* Copyright: Paradox
* Email: iamparadox@netscape.net (paypal email)
* License: GNU General Public License v2(GPL)
*/
if (!empty($_FILES['File1']) && !empty($_FILES['File2']))
{
session_id();
session_start();
$basedir = "merge";
$eol = "\r\n";
if ($_POST['eol'])
$eol = "\n";
else
$eol = "\r\n";
if (!file_exists($basedir))
mkdir($basedir);
if (!file_exists($basedir."/".session_id()))
mkdir($basedir."/".session_id());
$upload1 = $basedir."/".session_id()."/".basename($_FILES['File1']['name']);
$upload2 = $basedir."/".session_id()."/".basename($_FILES['File2']['name']);
$newconfig = $basedir."/".session_id()."/trinitycore.conf.merged";
$out_file = fopen($newconfig, w);
$success = false;
if (move_uploaded_file($_FILES['File1']['tmp_name'], $upload1))
{
$success = true;
}
else
{
$success = false;
}
if (move_uploaded_file($_FILES['File2']['tmp_name'], $upload2))
{
$success = true;
}
else
{
$success = false;
}
if ($success)
{
$custom_found = false;
$in_file1 = fopen($upload1,r);
$in_file2 = fopen($upload2,r);
$array1 = array();
$array2 = array();
$line = trim(fgets($in_file1));
while (!feof($in_file1))
{
if ((substr($line,0,1) != '#' && substr($line,0,1) != ''))
{
list($key, $val) = explode("=",$line);
$key = trim($key);
$val = trim($val);
$array1[$key] = $val;
}
$line = trim(fgets($in_file1));
}
$line = trim(fgets($in_file2));
while (!feof($in_file2) && !$custom_found)
{
if (substr($line,0,1) != '#' && substr($line,0,1) != '')
{
list($key, $val) = explode("=",$line);
$key = trim($key);
$val = trim($val);
$array2[$key] = $val;
}
if (strtolower($line) == "# custom")
$custom_found = true;
else
$line = trim(fgets($in_file2));
}
fclose($in_file1);
foreach($array2 as $k => $v)
{
if (array_key_exists($k, $array1))
{
$array1[$k] = $v;
unset($array2[$k]);
}
}
$in_file1 = fopen($upload1,r);
$line = trim(fgets($in_file1));
while (!feof($in_file1))
{
if (substr($line,0,1) != '#' && substr($line,0,1) != '')
{
$array = array();
while (substr($line,0,1) != '#' && substr($line,0,1) != '')
{
list($key, $val) = explode("=",$line);
$key = trim($key);
$val = trim($val);
$array[$key] = $val;
$line = trim(fgets($in_file1));
}
foreach($array as $k => $v)
{
if (array_key_exists($k, $array1))
fwrite($out_file, $k."=".$array1[$k].$eol);
else
continue;
}
unset($array);
if (!feof($in_file1))
fwrite($out_file, $line.$eol);
}
else
fwrite($out_file, $line.$eol);
$line = trim(fgets($in_file1));
}
if ($custom_found)
{
fwrite($out_file, $eol);
fwrite($out_file, "###############################################################################".$eol);
fwrite($out_file, "# Custom".$eol);
$line = trim(fgets($in_file2));
while (!feof($in_file2))
{
fwrite($out_file, $line.$eol);
$line = trim(fgets($in_file2));
}
}
$first = true;
foreach($array2 as $k => $v)
{
if ($first)
{
fwrite($out_file, $eol);
fwrite($out_file, "###############################################################################".$eol);
fwrite($out_file, "# The Following values were removed from the config.".$eol);
$first = false;
}
fwrite($out_file, "# ".$k."=".$v.$eol);
}
unset($array1);
unset($array2);
fclose($in_file1);
fclose($in_file2);
fclose($out_file);
unlink($upload1);
unlink($upload2);
echo "Process done";
echo "<br /><a href=".$newconfig.">Click here to retrieve your merged conf</a>";
}
}
else
{
echo "An error has occurred";
}
?>
================================================
FILE: contrib/conf_merge/tc-conf-merger.pl
================================================
#!/usr/bin/perl -w
# Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
# Author: leak
# Date: 2010-12-06
# Note: Based on conf file format of rev 10507
use strict;
if (@ARGV != 3)
{
print("Usage:\ntc-conf-merger.pl <path to new .conf.dist> <path to old .conf> <path to output .conf>\n");
exit(1);
}
if (! -e $ARGV[0])
{
print("No file found at: ".$ARGV[0]);
exit(1);
}
elsif (! -e $ARGV[1])
{
print("No file found at: ".$ARGV[1]);
exit(1);
}
open CONFDIST, "<", $ARGV[0] or die "Error: Could not open ".$ARGV[0]."\n";
my $confdist = join "", <CONFDIST>;
close CONFDIST;
open CONFOLD, "<", $ARGV[1] or die "Error: Could not open ".$ARGV[1]."\n";
my $confold = join "", <CONFOLD>;
close CONFOLD;
while ($confold =~ m/^(?!#)(.*?)\s+?=\s+?(.*?)$/mg) {
my $key = $1, my $value = $2;
$confdist =~ s/^(\Q$key\E)(\s+?=\s+?)(.*)/$1$2$value/mg;
}
open OUTPUT, ">", $ARGV[2] or die "Error: Could not open ".$ARGV[2]."\n";
binmode(OUTPUT);
print OUTPUT $confdist;
close OUTPUT;
================================================
FILE: contrib/debugger/README
================================================
The included crashreport.gdb allows for semiautomated hunting of
crashes. The crashlog-file will be named backtrace.log and contains all
the commands required to partially automate a crashlog-creation with the
proper information.
Usage: gdb -x crashreport.gdb <executable file>
For creating an efficient backtrace, use -DCMAKE_BUILD_TYPE=Debug as a
parameter to CMake during configuration - this increases the filesize,
but includes all the needed information for a decent and efficient
crashreport.
-- Good luck, and happy crashhunting.
================================================
FILE: contrib/debugger/crashreport.gdb
================================================
set logging overwrite on
set logging file backtrace.log
handle SIG33 pass nostop noprint
set pagination 0
set logging on
echo \n--- DEBUG: --- START\n\n
run
echo \n--- DEBUG: BACKTRACE FULL\n\n
backtrace full
echo \n--- DEBUG: INFO REGISTERS\n\n
info registers
echo \n--- DEBUG: CALLS (x/32i $pc)\n\n
x/32i $pc
echo \n--- DEBUG: THREAD APPLY ALL BACKTRACE\n
thread apply all backtrace
echo \n--- DEBUG: --- STOP\n\n
set logging off
quit
================================================
FILE: contrib/valgrind/helgrind.supp
================================================
{
[1] ACE_Future::ready() race in WorldSession::ProcessQueryCallbacks(), a lock is used anyway in ACE_Future::get()/set()
Helgrind:Race
...
fun:_ZN14ACE_Future_RepIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE3setERKS4_R10ACE_FutureIS4_E
fun:_ZN10ACE_FutureIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE3setERKS4_
fun:_ZN21PreparedStatementTask7ExecuteEv
}
{
[1] ACE_Future::ready() race in WorldSession::ProcessQueryCallbacks(), a lock is used anyway in ACE_Future::get()/set()
Helgrind:Race
...
fun:_ZN14ACE_Future_RepIP14SQLQueryHolderE3setERKS1_R10ACE_FutureIS1_E
fun:_ZN10ACE_FutureIP14SQLQueryHolderE3setERKS1_
fun:_ZN18SQLQueryHolderTask7ExecuteEv
}
{
[2] ACE_Future::ready() race in WorldSession::ProcessQueryCallbacks(), a lock is used anyway in ACE_Future::get()/set()
Helgrind:Race
...
fun:_ZNK14ACE_Future_RepIP14SQLQueryHolderE5readyEv
fun:_ZNK10ACE_FutureIP14SQLQueryHolderE5readyEv
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[3] ACE_Future::attach()/detach() false positive in WorldSession::HandleCharEnumOpcode()
Helgrind:Race
...
fun:_ZN14ACE_Future_RepIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE6attachERPS5_
}
{
[4] ACE_Future::get() race in WorldSession::ProcessQueryCallbacks() , a lock is used anyway in ACE_Future::get()/set(), the only case when this is a race is if the same ACE_Future is reused by another thread
Helgrind:Race
...
fun:_ZNK14ACE_Future_RepIP14SQLQueryHolderE3getERS1_P14ACE_Time_Value
fun:_ZNK10ACE_FutureIP14SQLQueryHolderE3getERS1_P14ACE_Time_Value
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[4] ACE_Future::get() race in WorldSession::ProcessQueryCallbacks() , a lock is used anyway in ACE_Future::get()/set(), the only case when this is a race is if the same ACE_Future is reused by another thread
Helgrind:Race
...
fun:_ZNK10ACE_FutureIN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEE5readyEv
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZN6Player10LoadFromDBEjP14SQLQueryHolder
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZN14SQLQueryHolder17GetPreparedResultEm
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZN12WorldSession15LoadAccountDataEN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexEEj
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZNK17PreparedResultSet5FetchEv
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZNK5Field9GetUInt32Ev
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[5] Race in WorldSession::ProcessQueryCallbacks(), added ASSERT(!m_result.ready())
Helgrind:Race
...
fun:_ZNK5Field8GetUInt8Ev
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[6] False positive of possible race about ACE_Strong_Bound_Ptr
Helgrind:Race
...
fun:_ZN17PreparedResultSetD1Ev
fun:_ZN20ACE_Strong_Bound_PtrI17PreparedResultSet16ACE_Thread_MutexED1Ev
fun:_ZN7Trinity7AutoPtrI17PreparedResultSet16ACE_Thread_MutexED1Ev
fun:_ZN12WorldSession17HandlePlayerLoginEP16LoginQueryHolder
fun:_ZN12WorldSession21ProcessQueryCallbacksEv
}
{
[7] Race condition on bool in ACE, ignore
Helgrind:Race
fun:_ZN11WorldSocket12handle_closeEim
fun:_ZN20ACE_Dev_Poll_Reactor16remove_handler_iEimP17ACE_Event_Handler
}
{
[7] Race condition on bool in ACE, ignore
Helgrind:Race
fun:_ZNK11WorldSocket8IsClosedEv
fun:_ZN12WorldSession6UpdateEjR12PacketFilter
fun:_ZN5World14UpdateSessionsEj
}
================================================
FILE: dep/CMakeLists.txt
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
if( CMAKE_COMPILER_IS_GNUCXX )
add_definitions(--no-warnings)
elseif( MSVC )
add_definitions(/W0)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
if(SERVERS AND NOT NOJEM)
add_subdirectory(jemalloc)
endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
add_subdirectory(acelite)
if(USE_MYSQL_SOURCES)
add_subdirectory(mysqllite)
endif()
if(TOOLS)
add_subdirectory(bzip2)
endif()
add_subdirectory(zlib)
endif()
add_subdirectory(g3dlite)
add_subdirectory(recastnavigation)
if(SERVERS)
add_subdirectory(gsoap)
endif()
if(TOOLS)
add_subdirectory(StormLib)
endif()
================================================
FILE: dep/PackageList.txt
================================================
SkyFire uses (parts of or in whole) the following opensource software :
ACE (ADAPTIVE Communication Environment)
http://www.cs.wustl.edu/~schmidt/ACE.html
Version: 6.1.4
bzip2 (a freely available, patent free, high-quality data compressor)
http://www.bzip.org/
Version: 1.0.6
G3D (a commercial-grade C++ 3D engine available as Open Source (BSD License)
http://g3d.sourceforge.net/
Version: 8.01-Release
jemalloc (a general-purpose scalable concurrent malloc-implementation)
http://www.canonware.com/jemalloc/
Version: 3.3.1
MySQL (the world's most popular open source database software)
http://www.mysql.com/
Version: 5.5.9 (GA)
SFMT (SIMD-oriented Fast Mersenne Twister)
Based on http://agner.org/random/
Version: 2010-Aug-03
utf8-cpp (UTF-8 with C++ in a Portable Way)
http://utfcpp.sourceforge.net/
Version: 2.3.4
zlib (A Massively Spiffy Yet Delicately Unobtrusive Compression Library)
http://www.zlib.net/
Version: 1.2.7
gSOAP (a portable development toolkit for C and C++ XML Web services and XML data bindings)
http://gsoap2.sourceforge.net/
Version: 2.8.10
recastnavigation (Recast is state of the art navigation mesh construction toolset for games)
http://code.google.com/p/recastnavigation/
Version: 1.4
StormLib (a pack of modules, written in C++, which are able to read and also to write files from/to the MPQ archives)
http://www.zezula.net/en/mpq/stormlib.html
Version: 8.04
================================================
FILE: dep/SFMT/SFMT.h
================================================
/*
* Copyright notice
* ================
* GNU General Public License http://www.gnu.org/licenses/gpl.html
* This C++ implementation of SFMT contains parts of the original C code
* which was published under the following BSD license, which is therefore
* in effect in addition to the GNU General Public License.
* Copyright (c) 2006, 2007 by Mutsuo Saito, Makoto Matsumoto and Hiroshima University.
* Copyright (c) 2008 by Agner Fog.
* Copyright (c) 2008-2013 Trinity Core
*
* BSD License:
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* > Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* > Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* > Neither the name of the Hiroshima University nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef SFMT_H
#define SFMT_H
#include <emmintrin.h> // Define SSE2 intrinsics
#include "randomc.h" // Define integer types etc
#include <time.h>
#include <new>
// Choose one of the possible Mersenne exponents.
// Higher values give longer cycle length and use more memory:
//#define MEXP 607
//#define MEXP 1279
//#define MEXP 2281
//#define MEXP 4253
#define MEXP 11213
//#define MEXP 19937
//#define MEXP 44497
// Define constants for the selected Mersenne exponent:
#if MEXP == 44497
#define SFMT_N 348 // Size of state vector
#define SFMT_M 330 // Position of intermediate feedback
#define SFMT_SL1 5 // Left shift of W[N-1], 32-bit words
#define SFMT_SL2 3 // Left shift of W[0], *8, 128-bit words
#define SFMT_SR1 9 // Right shift of W[M], 32-bit words
#define SFMT_SR2 3 // Right shift of W[N-2], *8, 128-bit words
#define SFMT_MASK 0xeffffffb,0xdfbebfff,0xbfbf7bef,0x9ffd7bff // AND mask
#define SFMT_PARITY 1,0,0xa3ac4000,0xecc1327a // Period certification vector
#elif MEXP == 19937
#define SFMT_N 156 // Size of state vector
#define SFMT_M 122 // Position of intermediate feedback
#define SFMT_SL1 18 // Left shift of W[N-1], 32-bit words
#define SFMT_SL2 1 // Left shift of W[0], *8, 128-bit words
#define SFMT_SR1 11 // Right shift of W[M], 32-bit words
#define SFMT_SR2 1 // Right shift of W[N-2], *8, 128-bit words
#define SFMT_MASK 0xdfffffef,0xddfecb7f,0xbffaffff,0xbffffff6 // AND mask
#define SFMT_PARITY 1,0,0,0x13c9e684 // Period certification vector
#elif MEXP == 11213
#define SFMT_N 88 // Size of state vector
#define SFMT_M 68 // Position of intermediate feedback
#define SFMT_SL1 14 // Left shift of W[N-1], 32-bit words
#define SFMT_SL2 3 // Left shift of W[0], *8, 128-bit words
#define SFMT_SR1 7 // Right shift of W[M], 32-bit words
#define SFMT_SR2 3 // Right shift of W[N-2], *8, 128-bit words
#define SFMT_MASK 0xeffff7fb,0xffffffef,0xdfdfbfff,0x7fffdbfd // AND mask
#define SFMT_PARITY 1,0,0xe8148000,0xd0c7afa3 // Period certification vector
#elif MEXP == 4253
#define SFMT_N 34 // Size of state vector
#define SFMT_M 17 // Position of intermediate feedback
#define SFMT_SL1 20 // Left shift of W[N-1], 32-bit words
#define SFMT_SL2 1 // Left shift of W[0], *8, 128-bit words
#define SFMT_SR1 7 // Right shift of W[M], 32-bit words
#define SFMT_SR2 1 // Right shift of W[N-2], *8, 128-bit words
#define SFMT_MASK 0x9f7bffff, 0x9fffff5f, 0x3efffffb, 0xfffff7bb // AND mask
#define SFMT_PARITY 0xa8000001, 0xaf5390a3, 0xb740b3f8, 0x6c11486d // Period certification vector
#elif MEXP == 2281
#define SFMT_N 18 // Size of state vector
#define SFMT_M 12 // Position of intermediate feedback
#define SFMT_SL1 19 // Left shift of W[N-1], 32-bit words
#define SFMT_SL2 1 // Left shift of W[0], *8, 128-bit words
#define SFMT_SR1 5 // Right shift of W[M], 32-bit words
#define SFMT_SR2 1 // Right shift of W[N-2], *8, 128-bit words
#define SFMT_MASK 0xbff7ffbf, 0xfdfffffe, 0xf7ffef7f, 0xf2f7cbbf // AND mask
#define SFMT_PARITY 0x00000001, 0x00000000, 0x00000000, 0x41dfa600 // Period certification vector
#elif MEXP == 1279
#define SFMT_N 10 // Size of state vector
#define SFMT_M 7 // Position of intermediate feedback
#define SFMT_SL1 14 // Left shift of W[N-1], 32-bit words
#define SFMT_SL2 3 // Left shift of W[0], *8, 128-bit words
#define SFMT_SR1 5 // Right shift of W[M], 32-bit words
#define SFMT_SR2 1 // Right shift of W[N-2], *8, 128-bit words
#define SFMT_MASK 0xf7fefffd, 0x7fefcfff, 0xaff3ef3f, 0xb5ffff7f // AND mask
#define SFMT_PARITY 0x00000001, 0x00000000, 0x00000000, 0x20000000 // Period certification vector
#elif MEXP == 607
#define SFMT_N 5 // Size of state vector
#define SFMT_M 2 // Position of intermediate feedback
#define SFMT_SL1 15 // Left shift of W[N-1], 32-bit words
#define SFMT_SL2 3 // Left shift of W[0], *8, 128-bit words
#define SFMT_SR1 13 // Right shift of W[M], 32-bit words
#define SFMT_SR2 3 // Right shift of W[N-2], *8, 128-bit words
#define SFMT_MASK 0xfdff37ff, 0xef7f3f7d, 0xff777b7d, 0x7ff7fb2f // AND mask
#define SFMT_PARITY 0x00000001, 0x00000000, 0x00000000, 0x5986f054 // Period certification vector
#endif
// Functions used by SFMTRand::RandomInitByArray (UNUSED AND COMMENTED OUT)
/*
static uint32_t func1(uint32_t x) {
return (x ^ (x >> 27)) * 1664525U;
}
static uint32_t func2(uint32_t x) {
return (x ^ (x >> 27)) * 1566083941U;
}
*/
// Subfunction for the sfmt algorithm
static inline __m128i sfmt_recursion(__m128i const &a, __m128i const &b,
__m128i const &c, __m128i const &d, __m128i const &mask) {
__m128i a1, b1, c1, d1, z1, z2;
b1 = _mm_srli_epi32(b, SFMT_SR1);
a1 = _mm_slli_si128(a, SFMT_SL2);
c1 = _mm_srli_si128(c, SFMT_SR2);
d1 = _mm_slli_epi32(d, SFMT_SL1);
b1 = _mm_and_si128(b1, mask);
z1 = _mm_xor_si128(a, a1);
z2 = _mm_xor_si128(b1, d1);
z1 = _mm_xor_si128(z1, c1);
z2 = _mm_xor_si128(z1, z2);
return z2;
}
// Class for SFMT generator
class SFMTRand { // Encapsulate random number generator
friend class ACE_TSS<SFMTRand>;
public:
SFMTRand()
{
LastInterval = 0;
RandomInit((int)(time(0)));
}
void RandomInit(int seed) // Re-seed
{
// Re-seed
uint32_t i; // Loop counter
uint32_t y = seed; // Temporary
uint32_t statesize = SFMT_N*4; // Size of state vector
// Fill state vector with random numbers from seed
((uint32_t*)state)[0] = y;
const uint32_t factor = 1812433253U;// Multiplication factor
for (i = 1; i < statesize; i++) {
y = factor * (y ^ (y >> 30)) + i;
((uint32_t*)state)[i] = y;
}
// Further initialization and period certification
Init2();
}
int32_t IRandom(int32_t min, int32_t max) // Output random integer
{
// Output random integer in the interval min <= x <= max
// Slightly inaccurate if (max-min+1) is not a power of 2
if (max <= min) {
if (max == min) return min; else return 0x80000000;
}
// Assume 64 bit integers supported. Use multiply and shift method
uint32_t interval; // Length of interval
uint64_t longran; // Random bits * interval
uint32_t iran; // Longran / 2^32
interval = (uint32_t)(max - min + 1);
longran = (uint64_t)BRandom() * interval;
iran = (uint32_t)(longran >> 32);
// Convert back to signed and return result
return (int32_t)iran + min;
}
uint32_t URandom(uint32_t min, uint32_t max)
{
// Output random integer in the interval min <= x <= max
// Slightly inaccurate if (max-min+1) is not a power of 2
if (max <= min) {
if (max == min) return min; else return 0;
}
// Assume 64 bit integers supported. Use multiply and shift method
uint32_t interval; // Length of interval
uint64_t longran; // Random bits * interval
uint32_t iran; // Longran / 2^32
interval = (uint32_t)(max - min + 1);
longran = (uint64_t)BRandom() * interval;
iran = (uint32_t)(longran >> 32);
// Convert back to signed and return result
return iran + min;
}
double Random() // Output random floating point number
{
// Output random floating point number
if (ix >= SFMT_N*4-1) {
// Make sure we have at least two 32-bit numbers
Generate();
}
uint64_t r = *(uint64_t*)((uint32_t*)state+ix);
ix += 2;
// 52 bits resolution for compatibility with assembly version:
return (int64_t)(r >> 12) * (1./(67108864.0*67108864.0));
}
uint32_t BRandom() // Output random bits
{
// Output 32 random bits
uint32_t y;
if (ix >= SFMT_N*4) {
Generate();
}
y = ((uint32_t*)state)[ix++];
return y;
}
private:
void Init2() // Various initializations and period certification
{
// Various initializations and period certification
uint32_t i, j, temp;
// Initialize mask
static const uint32_t maskinit[4] = {SFMT_MASK};
mask = _mm_loadu_si128((__m128i*)maskinit);
// Period certification
// Define period certification vector
static const uint32_t parityvec[4] = {SFMT_PARITY};
// Check if parityvec & state[0] has odd parity
temp = 0;
for (i = 0; i < 4; i++)
temp ^= parityvec[i] & ((uint32_t*)state)[i];
for (i = 16; i > 0; i >>= 1) temp ^= temp >> i;
if (!(temp & 1)) {
// parity is even. Certification failed
// Find a nonzero bit in period certification vector
for (i = 0; i < 4; i++) {
if (parityvec[i]) {
for (j = 1; j; j <<= 1) {
if (parityvec[i] & j) {
// Flip the corresponding bit in state[0] to change parity
((uint32_t*)state)[i] ^= j;
// Done. Exit i and j loops
i = 5; break;
}
}
}
}
}
// Generate first random numbers and set ix = 0
Generate();
}
void Generate() // Fill state array with new random numbers
{
// Fill state array with new random numbers
int i;
__m128i r, r1, r2;
r1 = state[SFMT_N - 2];
r2 = state[SFMT_N - 1];
for (i = 0; i < SFMT_N - SFMT_M; i++) {
r = sfmt_recursion(state[i], state[i + SFMT_M], r1, r2, mask);
state[i] = r;
r1 = r2;
r2 = r;
}
for (; i < SFMT_N; i++) {
r = sfmt_recursion(state[i], state[i + SFMT_M - SFMT_N], r1, r2, mask);
state[i] = r;
r1 = r2;
r2 = r;
}
ix = 0;
}
void* operator new(size_t size, std::nothrow_t const&)
{
return _mm_malloc(size, 16);
}
void operator delete(void* ptr, std::nothrow_t const&)
{
_mm_free(ptr);
}
void* operator new(size_t size)
{
return _mm_malloc(size, 16);
}
void operator delete(void* ptr)
{
_mm_free(ptr);
}
void* operator new[](size_t size, std::nothrow_t const&)
{
return _mm_malloc(size, 16);
}
void operator delete[](void* ptr, std::nothrow_t const&)
{
_mm_free(ptr);
}
void* operator new[](size_t size)
{
return _mm_malloc(size, 16);
}
void operator delete[](void* ptr)
{
_mm_free(ptr);
}
__m128i mask; // AND mask
__m128i state[SFMT_N]; // State vector for SFMT generator
uint32_t ix; // Index into state array
uint32_t LastInterval; // Last interval length for IRandom
uint32_t RLimit; // Rejection limit used by IRandom
};
#endif // SFMT_H
================================================
FILE: dep/SFMT/randomc.h
================================================
/*
* Copyright notice
* ================
* GNU General Public License http://www.gnu.org/licenses/gpl.html
* This C++ implementation of SFMT contains parts of the original C code
* which was published under the following BSD license, which is therefore
* in effect in addition to the GNU General Public License.
* Copyright (c) 2006, 2007 by Mutsuo Saito, Makoto Matsumoto and Hiroshima University.
* Copyright (c) 2008 by Agner Fog.
* Copyright (c) 2008-2013 Trinity Core
*
* BSD License:
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* > Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* > Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* > Neither the name of the Hiroshima University nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef RANDOMC_H
#define RANDOMC_H
// Define integer types with known size: int32_t, uint32_t, int64_t, uint64_t.
// If this doesn't work then insert compiler-specific definitions here:
#if defined(__GNUC__)
// Compilers supporting C99 or C++0x have inttypes.h defining these integer types
#include <inttypes.h>
#define INT64_SUPPORTED // Remove this if the compiler doesn't support 64-bit integers
#elif defined(_WIN16) || defined(__MSDOS__) || defined(_MSDOS)
// 16 bit systems use long int for 32 bit integer
typedef signed long int int32_t;
typedef unsigned long int uint32_t;
#elif defined(_MSC_VER)
// Microsoft have their own definition
typedef signed __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
#define INT64_SUPPORTED // Remove this if the compiler doesn't support 64-bit integers
#else
// This works with most compilers
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;
#define INT64_SUPPORTED // Remove this if the compiler doesn't support 64-bit integers
#endif
#endif // RANDOMC_H
================================================
FILE: dep/StormLib/CMakeLists.txt
================================================
# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/>
# Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
set(SRC_FILES
src/adpcm/adpcm.cpp
src/huffman/huff.cpp
src/jenkins/lookup3.c
src/lzma/C/LzFind.c
src/lzma/C/LzmaDec.c
src/lzma/C/LzmaEnc.c
src/pklib/explode.c
src/pklib/implode.c
src/sparse/sparse.cpp
src/FileStream.cpp
src/SBaseCommon.cpp
src/SBaseFileTable.cpp
src/SCompression.cpp
src/SFileAddFile.cpp
src/SFileAttributes.cpp
src/SFileCompactArchive.cpp
src/SFileCreateArchive.cpp
src/SFileExtractFile.cpp
src/SFileFindFile.cpp
src/SFileListFile.cpp
src/SFileOpenArchive.cpp
src/SFileOpenFileEx.cpp
src/SFilePatchArchives.cpp
src/SFileReadFile.cpp
src/SFileVerify.cpp
)
set(TOMCRYPT_FILES
src/libtomcrypt/src/hashes/hash_memory.c
src/libtomcrypt/src/hashes/md5.c
src/libtomcrypt/src/hashes/sha1.c
src/libtomcrypt/src/math/ltm_desc.c
src/libtomcrypt/src/math/multi.c
src/libtomcrypt/src/math/rand_prime.c
src/libtomcrypt/src/misc/base64_decode.c
src/libtomcrypt/src/misc/crypt_argchk.c
src/libtomcrypt/src/misc/crypt_find_hash.c
src/libtomcrypt/src/misc/crypt_find_prng.c
src/libtomcrypt/src/misc/crypt_hash_descriptor.c
src/libtomcrypt/src/misc/crypt_hash_is_valid.c
src/libtomcrypt/src/misc/crypt_libc.c
src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c
src/libtomcrypt/src/misc/crypt_prng_descriptor.c
src/libtomcrypt/src/misc/crypt_prng_is_valid.c
src/libtomcrypt/src/misc/crypt_register_hash.c
src/libtomcrypt/src/misc/crypt_register_prng.c
src/libtomcrypt/src/misc/zeromem.c
src/libtomcrypt/src/pk/asn1/der_decode_bit_string.c
src/libtomcrypt/src/pk/asn1/der_decode_boolean.c
src/libtomcrypt/src/pk/asn1/der_decode_choice.c
src/libtomcrypt/src/pk/asn1/der_decode_ia5_string.c
src/libtomcrypt/src/pk/asn1/der_decode_integer.c
src/libtomcrypt/src/pk/asn1/der_decode_object_identifier.c
src/libtomcrypt/src/pk/asn1/der_decode_octet_string.c
src/libtomcrypt/src/pk/asn1/der_decode_printable_string.c
src/libtomcrypt/src/pk/asn1/der_decode_sequence_ex.c
src/libtomcrypt/src/pk/asn1/der_decode_sequence_flexi.c
src/libtomcrypt/src/pk/asn1/der_decode_sequence_multi.c
src/libtomcrypt/src/pk/asn1/der_decode_short_integer.c
src/libtomcrypt/src/pk/asn1/der_decode_utctime.c
src/libtomcrypt/src/pk/asn1/der_decode_utf8_string.c
src/libtomcrypt/src/pk/asn1/der_length_bit_string.c
src/libtomcrypt/src/pk/asn1/der_length_boolean.c
src/libtomcrypt/src/pk/asn1/der_length_ia5_string.c
src/libtomcrypt/src/pk/asn1/der_length_integer.c
src/libtomcrypt/src/pk/asn1/der_length_object_identifier.c
src/libtomcrypt/src/pk/asn1/der_length_octet_string.c
src/libtomcrypt/src/pk/asn1/der_length_printable_string.c
src/libtomcrypt/src/pk/asn1/der_length_sequence.c
src/libtomcrypt/src/pk/asn1/der_length_utctime.c
src/libtomcrypt/src/pk/asn1/der_sequence_free.c
src/libtomcrypt/src/pk/asn1/der_length_utf8_string.c
src/libtomcrypt/src/pk/asn1/der_length_short_integer.c
src/libtomcrypt/src/pk/ecc/ltc_ecc_map.c
src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c
src/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c
src/libtomcrypt/src/pk/ecc/ltc_ecc_points.c
src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c
src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c
src/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c
src/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c
src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c
src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c
src/libtomcrypt/src/pk/rsa/rsa_exptmod.c
src/libtomcrypt/src/pk/rsa/rsa_free.c
src/libtomcrypt/src/pk/rsa/rsa_import.c
src/libtomcrypt/src/pk/rsa/rsa_make_key.c
src/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c
)
set(TOMMATH_FILES
src/libtommath/bncore.c
src/libtommath/bn_fast_mp_invmod.c
src/libtommath/bn_fast_mp_montgomery_reduce.c
src/libtommath/bn_fast_s_mp_mul_digs.c
src/libtommath/bn_fast_s_mp_mul_high_digs.c
src/libtommath/bn_fast_s_mp_sqr.c
src/libtommath/bn_mp_2expt.c
src/libtommath/bn_mp_abs.c
src/libtommath/bn_mp_add.c
src/libtommath/bn_mp_addmod.c
src/libtommath/bn_mp_add_d.c
src/libtommath/bn_mp_and.c
src/libtommath/bn_mp_clamp.c
src/libtommath/bn_mp_clear.c
src/libtommath/bn_mp_clear_multi.c
src/libtommath/bn_mp_cmp.c
src/libtommath/bn_mp_cmp_d.c
src/libtommath/bn_mp_cmp_mag.c
src/libtommath/bn_mp_cnt_lsb.c
src/libtommath/bn_mp_copy.c
src/libtommath/bn_mp_count_bits.c
src/libtommath/bn_mp_div.c
src/libtommath/bn_mp_div_2.c
src/libtommath/bn_mp_div_2d.c
src/libtommath/bn_mp_div_3.c
src/libtommath/bn_mp_div_d.c
src/libtommath/bn_mp_dr_is_modulus.c
src/libtommath/bn_mp_dr_reduce.c
src/libtommath/bn_mp_dr_setup.c
src/libtommath/bn_mp_exch.c
src/libtommath/bn_mp_exptmod.c
src/libtommath/bn_mp_exptmod_fast.c
src/libtommath/bn_mp_expt_d.c
src/libtommath/bn_mp_exteuclid.c
src/libtommath/bn_mp_fread.c
src/libtommath/bn_mp_fwrite.c
src/libtommath/bn_mp_gcd.c
src/libtommath/bn_mp_get_int.c
src/libtommath/bn_mp_grow.c
src/libtommath/bn_mp_init.c
src/libtommath/bn_mp_init_copy.c
src/libtommath/bn_mp_init_multi.c
src/libtommath/bn_mp_init_set.c
src/libtommath/bn_mp_init_set_int.c
src/libtommath/bn_mp_init_size.c
src/libtommath/bn_mp_invmod.c
src/libtommath/bn_mp_invmod_slow.c
src/libtommath/bn_mp_is_square.c
src/libtommath/bn_mp_jacobi.c
src/libtommath/bn_mp_karatsuba_mul.c
src/libtommath/bn_mp_karatsuba_sqr.c
src/libtommath/bn_mp_lcm.c
src/libtommath/bn_mp_lshd.c
src/libtommath/bn_mp_mod.c
src/libtommath/bn_mp_mod_2d.c
src/libtommath/bn_mp_mod_d.c
src/libtommath/bn_mp_montgomery_calc_normalization.c
src/libtommath/bn_mp_montgomery_reduce.c
src/libtommath/bn_mp_montgomery_setup.c
src/libtommath/bn_mp_mul.c
src/libtommath/bn_mp_mulmod.c
src/libtommath/bn_mp_mul_2.c
src/libtommath/bn_mp_mul_2d.c
src/libtommath/bn_mp_mul_d.c
src/libtommath/bn_mp_neg.c
src/libtommath/bn_mp_n_root.c
src/libtommath/bn_mp_or.c
src/libtommath/bn_mp_prime_fermat.c
src/libtommath/bn_mp_prime_is_divisible.c
src/libtommath/bn_mp_prime_is_prime.c
src/libtommath/bn_mp_prime_miller_rabin.c
src/libtommath/bn_mp_prime_next_prime.c
src/libtommath/bn_mp_prime_rabin_miller_trials.c
src/libtommath/bn_mp_prime_random_ex.c
src/libtommath/bn_mp_radix_size.c
src/libtommath/bn_mp_radix_smap.c
src/libtommath/bn_mp_rand.c
src/libtommath/bn_mp_read_radix.c
src/libtommath/bn_mp_read_signed_bin.c
src/libtommath/bn_mp_read_unsigned_bin.c
src/libtommath/bn_mp_reduce.c
src/libtommath/bn_mp_reduce_2k.c
src/libtommath/bn_mp_reduce_2k_l.c
src/libtommath/bn_mp_reduce_2k_setup.c
src/libtommath/bn_mp_reduce_2k_setup_l.c
src/libtommath/bn_mp_reduce_is_2k.c
src/libtommath/bn_mp_reduce_is_2k_l.c
src/libtommath/bn_mp_reduce_setup.c
src/libtommath/bn_mp_rshd.c
src/libtommath/bn_mp_set.c
src/libtommath/bn_mp_set_int.c
src/libtommath/bn_mp_shrink.c
src/libtommath/bn_mp_signed_bin_size.c
src/libtommath/bn_mp_sqr.c
src/libtommath/bn_mp_sqrmod.c
src/libtommath/bn_mp_sqrt.c
src/libtommath/bn_mp_sub.c
src/libtommath/bn_mp_submod.c
src/libtommath/bn_mp_sub_d.c
src/libtommath/bn_mp_toom_mul.c
src/libtommath/bn_mp_toom_sqr.c
src/libtommath/bn_mp_toradix.c
src/libtommath/bn_mp_toradix_n.c
src/libtommath/bn_mp_to_signed_bin.c
src/libtommath/bn_mp_to_signed_bin_n.c
src/libtommath/bn_mp_to_unsigned_bin.c
src/libtommath/bn_mp_to_unsigned_bin_n.c
src/libtommath/bn_mp_unsigned_bin_size.c
src/libtommath/bn_mp_xor.c
src/libtommath/bn_mp_zero.c
src/libtommath/bn_prime_tab.c
src/libtommath/bn_reverse.c
src/libtommath/bn_s_mp_add.c
src/libtommath/bn_s_mp_exptmod.c
src/libtommath/bn_s_mp_mul_digs.c
src/libtommath/bn_s_mp_mul_high_digs.c
src/libtommath/bn_s_mp_sqr.c
src/libtommath/bn_s_mp_sub.c
)
set(ZLIB_BZIP2_FILES
src/bzip2/blocksort.c
src/bzip2/bzlib.c
src/bzip2/compress.c
src/bzip2/crctable.c
src/bzip2/decompress.c
src/bzip2/huffman.c
src/bzip2/randtable.c
src/zlib/adler32.c
src/zlib/compress2.c
src/zlib/crc32.c
src/zlib/deflate.c
src/zlib/inffast.c
src/zlib/inflate.c
src/zlib/inftrees.c
src/zlib/trees.c
src/zlib/zutil.c
)
set(TEST_SRC_FILES
test/Test.cpp
)
add_definitions(-D_7ZIP_ST -DBZ_STRICT_ANSI)
if(WIN32)
if(MSVC)
add_definitions(-D_7ZIP_ST -DWIN32)
endif()
set(SRC_ADDITIONAL_FILES ${ZLIB_BZIP2_FILES} ${TOMCRYPT_FILES} ${TOMMATH_FILES})
set(LINK_LIBS wininet)
endif()
if(APPLE)
set(LINK_LIBS z bz2)
set(SRC_ADDITIONAL_FILES ${TOMCRYPT_FILES} ${TOMMATH_FILES})
endif()
if (${CMAKE_SYSTEM_NAME} STREQUAL Linux)
option(WITH_LIBTOMCRYPT "Use system LibTomCrypt library" OFF)
if(WITH_LIBTOMCRYPT)
set(LINK_LIBS z bz2 tomcrypt)
else()
set(LINK_LIBS z bz2)
set(SRC_ADDITIONAL_FILES ${TOMCRYPT_FILES} ${TOMMATH_FILES})
endif()
endif()
add_library(storm STATIC ${SRC_FILES} ${SRC_ADDITIONAL_FILES})
target_link_libraries(storm ${LINK_LIBS})
if(UNIX)
set_target_properties(storm PROPERTIES SOVERSION 0)
endif()
# On Win32, build StormLib.dll since we don't want to clash with Storm.dll
if(WIN32)
set_target_properties(storm PROPERTIES OUTPUT_NAME StormLib)
endif()
================================================
FILE: dep/StormLib/doc/History.txt
================================================
StormLib history
================
Version 8.02
- Support for UNICODE encoding for on-disk files
- Optimized file deleting
Version 8.01
- SFileFindFirstFile and SFileFindNextFile no longer find files that have
patch file in the oldest MPQ in the patch chain
- Write support for MPQs version 4
Version 8.00
- Updated support for protected maps from Warcraft III
Version 7.11
- Support for MPQs v 3.0 (WOW-Cataclysm BETA)
- StormLib now deals properly with files that have MPQ_SECTOR_CHECKSUM missing,
but have sector checksum entry present in the sector offset table
Version 7.10
- Support for partial MPQs ("interface.MPQ.part")
- The only operation that is externally allowed to do with internal files
("(listfile)", "(attributes)" and "(signature)") is reading. Attempt to modify any of the file
fails and GetLastError returns ERROR_INTERNAL_FILE
- Fixed memory leak that has occured when writing more than one sector to the file at once
Version 7.01
- Support for adding files from memory
- Fixed improper validation of handles to MPQ file and MPQ archive
- Fixed bug where StormLib didn't save CRC32 of the file when added to archive
Version 7.00
- Properly deals with MPQs protected by w3xMaster
- Major rewrite
- Fixed support for (attributes)
- Added file verification
- Added MPQ signature verification
Version 6.22
- Properly deals with MPQs protected by w3xMaster
Version 6.21
- SFileRenameFile now properly re-crypts the file if necessary.
- SFileFindFirstFile correctly deals with deleted files
Version 6.20
- Fixed lots of bugs when processing files with same names but different locales
- Fixed bugs when repeately extracts the same file with MPQ_FILE_SINGLE_UNIT flag
- Added SFileFlushArchive
- Fixed issue opening AVI files renamed to MPQ using SFileCreateArchiveEx
================================================
FILE: dep/StormLib/doc/Sector Offset MD5.txt
================================================
After sector offset table
=========================
FileSize CmpSize DWORDs
00007588 000075A4 0x01
0000A9EA 000095EC 0x01
0000E51D 0000E20D 0x02
00015C00 00015C40 0x02
0001C578 000186C4 0x02
0002A9D4 0002A9EA 0x04
00037BAC 00037A42 0x06
0003C3C1 00034084 0x06
0003D224 0003B30F 0x06
00045105 0004195A 0x07
00045D9C 0003D87D 0x07
0004AAB8 0004860A 0x08
0004D18E 00048E0C 0x07
00056B4C 00056BDD 0x09
0005DC08 00059426 0x09
00061EC0 00057711 0x0A
0006CEC4 00062561 0x0B
000778EE 00066736 0x0C
000AD0CB 0007F32E 0x11
00327EAC 00303395 0x53
================================================
FILE: dep/StormLib/doc/The MoPaQ File Format 0.9.txt
================================================
THE MOPAQ ARCHIVE FORMAT
v0.9 (Thursday, June 30, 2005)
by Justin Olbrantz(Quantam)
Distribution and reproduction of this specification are allowed without limitation, as long as it is not altered. Quoting
in other works is freely allowed, as long as the source and author of the quote is stated.
TABLE OF CONTENTS
1. Introduction to the MoPaQ Format
2. The MoPaQ Format
2.1 General Archive Layout
2.2 Archive Header
2.3 Block Table
2.4 Hash Table
2.5 File Data
2.6 Listfile
2.7 Extended Attributes
2.8 Weak (Old) Digital Signature
2.9 Strong (New) Digital Signature
3. Algorithm Source Code
3.1 Encryption/Decryption
3.2 Hashing
3.3 Conversion of FILETIME and time_t
1. INTRODUCTION TO THE MOPAQ FORMAT
The MoPaQ (or MPQ) format is an archive file format designed by Mike O'Brien (hence the name Mike O'brien PaCK) at Blizzard
Entertainment. The format has been used in all Blizzard games since (and including) Diablo. It is heavily optimized to be
a read-only game archive format, and excels at this role.
The Blizzard MoPaQ-reading functions are contained in the Storm module, which my be either statically or dynamically linked.
The Blizzard MoPaQ-writing functions are contained in the MPQAPI module, which is always statically linked.
2. THE MOPAQ FORMAT
All numbers in the MoPaQ format are in little endian. Data types are listed either as int (integer, the number of bits specified),
byte (8 bits), and char (bytes which contain ASCII characters). All sizes and offsets are in bytes, unless specified otherwise.
Structure members are listed in the following general form:
offset from the beginning of the structure: data type(array size) member name : member description
2.1 GENERAL ARCHIVE LAYOUT
- Archive Header
- File Data
- File Data - Special Files
- Hash Table
- Block Table
- Strong Digital signature
This is the usual archive format, and is not absolutely essential. Some archives have been observed placing the hash table
and file table after the archive header, and before the file data.
2.2 ARCHIVE HEADER
00h: char(4) Magic : Indicates that the file is a MoPaQ archive. Must be ASCII "MPQ" 1Ah.
04h: int32 HeaderSize : Size of the archive header. Should be 32.
08h: int32 ArchiveSize : Size of the whole archive, including the header. Does not include the strong digital signature, if present.
This size is used, among other things, for determining the region to hash in computing the digital signature.
0Ch: int16 Unknown : Unknown
0Eh: int8 SectorSizeShift : Power of two exponent specifying the number of 512-byte disk sectors in each logical sector
in the archive. The size of each logical sector the archive is 512 * 2^SectorSizeShift. Bugs in the Storm library dictate
that this should always be 3 (4096 byte sectors).
10h: int32 HashTableOffset : Offset to the beginning of the hash table, relative to the beginning of the archive.
14h: int32 BlockTableOffset : Offset to the beginning of the block table, relative to the beginning of the archive.
18h: int32 HashTableEntries : Number of entries in the hash table. Must be a power of two, and must be less than 2^16.
1Ch: int32 BlockTableEntries : Number of entries in the block table.
The archive header is the first structure in the archive, at archive offset 0, but the archive does not need to be at offset
0 of the containing file. The offset of the archive in the file is referred to here as ArchiveOffset. If the archive is not
at the beginning of the file, it must begin at a disk sector boundary (512 bytes). Early versions of Storm require that the
archive be at the end of the containing file (ArchiveOffset + ArchiveSize = file size), but this is not required in newer
versions (due to the strong digital signature not being considered a part of the archive).
2.3 BLOCK TABLE
The block table contains entries for each region in the archive. Regions may be either files or empty space, which may be
overwritten by new files (typically this space is from deleted file data). The block table is encrypted, using the hash
of "(block table)" as the key. Each entry is structured as follows:
00h: int32 BlockOffset : Offset of the beginning of the block, relative to the beginning of the archive. Meaningless if the block size is 0.
04h: int32 BlockSize : Size of the block in the archive.
08h: int32 FileSize : Size of the file data stored in the block. Only valid if the block is a file, otherwise meaningless, and should be 0. If the file is compressed, this is the size of the uncompressed file data.
0Ch: int32 Flags : Bit mask of the flags for the block. The following values are conclusively identified:
80000000h: Block is a file, and follows the file data format; otherwise, block is free space, and may be overwritten. If the block is not a file, all other flags should be cleared.
01000000h: File is stored as a single unit, rather than split into sectors.
00020000h: The file's encryption key is adjusted by the block offset and file size (explained in detail in the File Data section). File must be encrypted.
00010000h: File is encrypted.
00000200h: File is compressed. Mutually exclusive to file imploded.
00000100h: File is imploded. Mutually exclusive to file compressed.
2.4 HASH TABLE
Instead of storing file names, for quick access MoPaQs use a fixed, power of two-size hash table of files in the archive. A file is uniquely identified by its file path, its language, and its platform. The home entry for a file in the hash table is computed as a hash of the file path. In the event of a collision (the home entry is occupied by another file), progressive overflow is used, and the file is placed in the next available hash table entry. Searches for a desired file in the hash table proceed from the home entry for the file until either the file is found, the entire hash table is searched, or an empty hash table entry (FileBlockIndex of FFFFFFFFh) is encountered. The hash table is encrypted using the hash of "(hash table)" as the key. Each entry is structured as follows:
00h: int32 FilePathHashA : The hash of the file path, using method A.
04h: int32 FilePathHashB : The hash of the file path, using method B.
08h: int16 Language : The language of the file. This is a Windows LANGID data type, and uses the same values. 0 indicates the default language (American English), or that the file is language-neutral.
0Ah: int8 Platform : The platform the file is used for. 0 indicates the default platform. No other values have been observed.
0Ch: int32 FileBlockIndex : If the hash table entry is valid, this is the index into the block table of the file. Otherwise, one of the following two values:
FFFFFFFFh: Hash table entry is empty, and has always been empty. Terminates searches for a given file.
FFFFFFFEh: Hash table entry is empty, but was valid at some point (in other words, the file was deleted). Does not terminate searches for a given file.
2.5 FILE DATA
00h: int32(SectorsInFile + 1) SectorOffsetTable : Offsets to the start of each sector's data, relative to the beginning of the file data. Not present if this information is calculatable (see details below).
immediately following SectorOffsetTable: SectorData : Data of each sector in the file, packed end to end (see details below).
Normally, file data is split up into sectors, for simple streaming. All sectors, save for the last, will contain as many bytes of file data as specified in the archive header's SectorSizeShift; the last sector may be smaller than this, depending on the size of the file data. This sector size is the size of the raw file data; if the file is compressed, the compressed sector will be smaller or the same size as the uncompressed sector size. Individual sectors in a compressed file may be stored uncompressed; this occurs if and only if the sector could not be compressed by the algorithm used (if the compressed sector size was greater than or equal to the size of the raw data), and is indicated by the sector's compressed size in SectorOffsetTable being equal to the uncompressed size of the sector (which may be calculated from the FileSize).
If the sector is compressed (but not imploded), a bit mask byte of the compression algorithm(s) used to compress the sector is appended to the beginning of the compressed sector data. This additional byte counts towards the total size of the sector; if the size of the sector (including this byte) exceeds or matches the uncompressed size of the sector data, the sector will be stored uncompressed, and this byte omitted. Multiple compression algorithms may be used on the same sector; in this case, successive compression occurs in the order the algorithms are listed below, and decompression occurs in the opposite order. For implimentations of all of these algorithms, see StormLib.
40h: IMA ADPCM mono
80h: IMA ADPCM stereo
01h: Huffman encoded
02h: Deflated (see ZLib)
08h: Imploded (see PKWare Data Compression Library)
10h: BZip2 compressed (see BZip2)
If the file is stored as a single unit (indicated in the file's Flags), there is effectively only a single sector, which
contains the entire file.
If the file is encrypted, each sector (after compression and appendage of the compression type byte, if applicable)
is encrypted with the file's key. The base key for a file is determined by a hash of the file name stripped of the
directory (i.e. the key for a file named "directory\file" would be computed as the hash of "file"). If this key is
adjusted, as indicated in the file's Flags, the final key is calculated as ((base key + BlockOffset - ArchiveOffset)
XOR FileSize) (StormLib - an open-source implementation of the MoPaQ reading and writing functions,
by Ladislav Zezula - incorrectly uses an AND in place of the XOR). Each sector is encrypted using the key + the
0-based index of the sector in the file. The SectorOffsetTable, if present, is encrypted using the key - 1.
The SectorOffsetTable is omitted when the sizes and offsets of all sectors in the file are calculatable from the FileSize.
This can happen in several circumstances. If the file is not compressed/imploded, then the size and offset of all sectors
is known, based on the archive's SectorSizeShift. If the file is stored as a single unit compressed/imploded, then the
SectorOffsetTable is omitted, as the single file "sector" corresponds to BlockSize and FileSize, as mentioned previously.
Note that the SectorOffsetTable will always be present if the file is compressed/imploded and the file is not stored as
a single unit, even if there is only a single sector in the file (the size of the file is less than or equal to the
archive's sector size).
2.6 LISTFILE
The listfile is a very simple extension to the MoPaQ format that contains the file paths of (most) files in the archive.
The languages and platforms of the files are not stored in the listfile. The listfile is contained in the file "(listfile)",
and is simply a non-Unix-style text file with one file path on each line, lines terminated with the bytes 0Dh 0Ah. The file
"(listfile)" may not be listed in the listfile.
2.7 EXTENDED ATTRIBUTES
The extended attributes are optional file attributes for files in the block table. These attributes were added at times after
the MoPaQ format was already finalized, and it is not necessary for every archive to have all (or any) of the extended attributes.
If an archive contains a given attribute, there will be an instance of that attribute for every block in the block table, although
the attribute will be meaningless if the block is not a file. The order of the attributes for blocks correspond to the order of the
blocks in the block table, and are of the same number. The attributes are stored in parallel arrays in the "(attributes)" file,
in the archive. The attributes corresponding to this file need not be valid (and logically cannot be). Unlike all the other
structures in the MoPaQ format, entries in the extended attributes are NOT guaranteed to be aligned. Also note that in some
archives, malicious zeroing of the attributes has been observed, perhaps with the intent of breaking archive viewers. This
file is structured as follows:
00h: int32 Version : Specifies the extended attributes format version. For now, must be 100.
04h: int32 AttributesPresent : Bit mask of the extended attributes present in the archive:
00000001h: File CRC32s.
00000002h: File timestamps.
00000004h: File MD5s.
08h: int32(BlockTableEntries) CRC32s : CRC32s of the (uncompressed) file data for each block in the archive. Omitted if the
archive does not have CRC32s. immediately after CRC32s: FILETIME(BlockTableEntries) Timestamps : Timestamps for each block
in the archive. The format is that of the Windows FILETIME structure. Omitted if the archive does not have timestamps.
immediately after Timestamps: MD5(BlockTableEntries) MD5s : MD5s of the (uncompressed) file data for each block in the archive.
Omitted if the archive does not have MD5s.
2.8 WEAK DIGITAL SIGNATURE
The weak digital signature is a digital signature using Microsoft CryptoAPI. It is an implimentation of the RSASSA-PKCS1-v1_5
digital signature protocol, using the MD5 hashing algorithm and a 512-bit (weak) RSA key (for more information about this
protocol, see the RSA Labs PKCS1 specification). The public key and exponent are stored in a resource in Storm. The signature
is stored uncompressed, unencrypted in the file "(signature)" in the archive. The archive is hashed from the beginning of the
archive (ArchiveOffset in the containing file) to the end of the archive (the length indicated by ArchiveSize); the signature
file is added to the archive before signing, and the space occupied by the file is considered to be all binary 0s during
signing/verification. This file is structured as follows:
00h: int32 Unknown : Must be 0.
04h: int32 Unknown : must be 0.
08h: int512 Signature : The digital signature. Like all other numbers in the MoPaQ format, this is stored in little-endian order.
2.9 STRONG DIGITAL SIGNATURE
The strong digital signature uses a simple proprietary implementation of RSA signing, using the SHA-1 hashing algorithm and
a 2048-bit (strong) RSA key. The default public key and exponent are stored in Storm, but other keys may be used as well.
The strong digital signature is stored immediately after the archive, in the containing file; the entire archive (ArchiveSize
bytes, starting at ArchiveOffset in the containing file) is hashed as a single block. The signature has the following format:
00h: char(4) Magic : Indicates the presence of a digital signature. Must be "NGIS" ("SIGN" backwards).
04h: int2048 Signature : The digital signature, stored in little-endian format.
When the Signature field is decrypted with the public key and exponent, and the result stored in little-endian order, it is structured as follows:
00h: byte Padding : Must be 0Bh.
01h: byte(235) Padding : Must be BBh.
ECh: byte(20) SHA-1 : SHA-1 hash of the archive, in standard SHA-1 format.
3. ALGORITHM SOURCE CODE
3.1 ENCRYPTION/DECRYPTION
I believe this was derived at some point from code in StormLib. Assumes the long type to be 32 bits, and the machine to be little endian order.
unsigned long dwCryptTable[0x500];
void InitializeCryptTable()
{
unsigned long seed = 0x00100001;
unsigned long index1 = 0;
unsigned long index2 = 0;
int i;
for (index1 = 0; index1 < 0x100; index1++)
{
for (index2 = index1, i = 0; i < 5; i++, index2 += 0x100)
{
unsigned long temp1, temp2;
seed = (seed * 125 + 3) % 0x2AAAAB;
temp1 = (seed & 0xFFFF) << 0x10;
seed = (seed * 125 + 3) % 0x2AAAAB;
temp2 = (seed & 0xFFFF);
dwCryptTable[index2] = (temp1 | temp2);
}
}
}
void EncryptData(void *lpbyBuffer, unsigned long dwLength, unsigned long dwKey)
{
unsigned long *lpdwBuffer = (unsigned long *)lpbyBuffer;
unsigned long seed = 0xEEEEEEEE;
unsigned long ch;
assert(lpbyBuffer);
dwLength /= sizeof(unsigned long);
while(dwLength-- > 0)
{
seed += dwCryptTable[0x400 + (dwKey & 0xFF)];
ch = *lpdwBuffer ^ (dwKey + seed);
dwKey = ((~dwKey << 0x15) + 0x11111111) | (dwKey >> 0x0B);
seed = *lpdwBuffer + seed + (seed << 5) + 3;
*lpdwBuffer++ = ch;
}
}
void DecryptData(void *lpbyBuffer, unsigned long dwLength, unsigned long dwKey)
{
unsigned long *lpdwBuffer = (unsigned long *)lpbyBuffer;
unsigned long seed = 0xEEEEEEEE;
unsigned long ch;
assert(lpbyBuffer);
dwLength /= sizeof(unsigned long);
while(dwLength-- > 0)
{
seed += dwCryptTable[0x400 + (dwKey & 0xFF)];
ch = *lpdwBuffer ^ (dwKey + seed);
dwKey = ((~dwKey << 0x15) + 0x11111111) | (dwKey >> 0x0B);
seed = ch + seed + (seed << 5) + 3;
*lpdwBuffer++ = ch;
}
}
3.2 HASHING
Based on code from StormLib.
// Different types of hashes to make with HashString
#define MPQ_HASH_TABLE_OFFSET 0
#define MPQ_HASH_NAME_A 1
#define MPQ_HASH_NAME_B 2
#define MPQ_HASH_FILE_KEY 3
unsigned long HashString(const char *lpszString, unsigned long dwHashType)
{
unsigned long seed1 = 0x7FED7FED;
unsigned long seed2 = 0xEEEEEEEE;
int ch;
while (*lpszString != 0)
{
ch = toupper(*lpszString++);
seed1 = dwCryptTable[(dwHashType * 0xFF) + ch] ^ (seed1 + seed2);
seed2 = ch + seed1 + seed2 + (seed2 << 5) + 3;
}
return seed1;
}
3.3 CONVERSION OF FILETIME AND time_t
#define EPOCH_OFFSET 116444736000000000ULL // Number of 100 ns units between 01/01/1601 and 01/01/1970
bool GetTimeFromFileTime(FILETIME &fileTime, time_t &time)
{
// The FILETIME represents a 64-bit integer: the number of 100 ns units since January 1, 1601
unsigned long long nTime = ((unsigned long long)fileTime.dwHighDateTime << 32) + fileTime.dwLowDateTime;
if (nTime < EPOCH_OFFSET)
return false;
nTime -= EPOCH_OFFSET; // Convert the time base from 01/01/1601 to 01/01/1970
nTime /= 10000000ULL; // Convert 100 ns to sec
time = (time_t)nTime;
// Test for overflow (FILETIME is 64 bits, time_t is 32 bits)
if ((nTime - (unsigned long long)time) > 0)
return false;
return true;
}
void GetFileTimeFromTime(time_t &time, FILETIME &fileTime)
{
unsigned long long nTime = (unsigned long long)time;
nTime *= 10000000ULL;
nTime += EPOCH_OFFSET;
fileTime.dwLowDateTime = (DWORD)nTime;
fileTime.dwHighDateTime = (DWORD)(nTime >> 32);
}
================================================
FILE: dep/StormLib/doc/The MoPaQ File Format 1.0.txt
================================================
THE MOPAQ ARCHIVE FORMAT
v1.0 (Friday, September 1, 2006)
by Justin Olbrantz(Quantam)
Distribution and reproduction of this specification are allowed without limitation, as long as it is not altered. Quotation in other works is freely allowed, as long as the source and author of the quote are stated.
TABLE OF CONTENTS
1. Introduction to the MoPaQ Format
2. The MoPaQ Format
2.1 General Archive Layout
2.2 Archive Header
2.3 Block Table
2.4 Extended Block Table
2.5 Hash Table
2.6 File Data
2.7 Listfile
2.8 Extended Attributes
2.9 Weak (Old) Digital Signature
2.10 Strong (New) Digital Signature
3. Algorithm Source Code
3.1 Encryption/Decryption
3.2 Hashing and File Key Computation
3.3 Finding Files
3.4 Deleting Files
3.5 Conversion of FILETIME and time_t
3.6 Forming a 64-bit Large Archive Offset from 32-bit and 16-bit Components
4. Revision History
1. INTRODUCTION TO THE MOPAQ FORMAT
The MoPaQ (or MPQ) format is an archive file format designed by Mike O'Brien (hence the name Mike O'brien PaCK) at Blizzard Entertainment. The format has been used in all Blizzard games since (and including) Diablo. It is heavily optimized to be a read-only game archive format, and excels at this role.
The Blizzard MoPaQ-reading functions are contained in the Storm module, which my be either statically or dynamically linked. The Blizzard MoPaQ-writing functions are contained in the MPQAPI module, which is always statically linked.
StormLib - mentioned several times in this specification - is an open-source MoPaQ reading and writing library written by Ladislav Zezula (no affiliation with Blizzard Entertainment). While it's a bit dated, and does not support all of the newer MoPaQ features, it contains source code to the more exotic compression methods used by MoPaQ, such as the PKWare implode algorithm, MoPaQ's huffman compression algorithm, and the IMA ADPCM compression used by MoPaQ.
2. THE MOPAQ FORMAT
All numbers in the MoPaQ format are in little endian byte order; signed numbers use the two's complement system. Data types are listed either as int (integer, the number of bits specified), byte (8 bits), or char (bytes which contain ASCII characters). All sizes and offsets are in bytes, unless specified otherwise. Structure members are listed in the following general form:
offset from the beginning of the structure: data type(array size) member name : member description
2.1 GENERAL ARCHIVE LAYOUT
- Archive Header
- File Data
- File Data - Special Files
- Hash Table
- Block Table
- Extended Block Table
- Strong Digital signature
This is the usual archive format, but it is not mandatory. Some archives have been observed placing the hash table and file table after the archive header, and before the file data.
2.2 ARCHIVE HEADER
00h: char(4) Magic : Indicates that the file is a MoPaQ archive. Must be ASCII "MPQ" 1Ah.
04h: int32 HeaderSize : Size of the archive header.
08h: int32 ArchiveSize : Size of the whole archive, including the header. Does not include the strong digital signature, if present. This size is used, among other things, for determining the region to hash in computing the digital signature. This field is deprecated in the Burning Crusade MoPaQ format, and the size of the archive is calculated as the size from the beginning of the archive to the end of the hash table, block table, or extended block table (whichever is largest).
0Ch: int16 FormatVersion : MoPaQ format version. MPQAPI will not open archives where this is negative. Known versions:
0000h: Original format. HeaderSize should be 20h, and large archives are not supported.
0001h: Burning Crusade format. Header size should be 2Ch, and large archives are supported.
0Eh: int8 SectorSizeShift : Power of two exponent specifying the number of 512-byte disk sectors in each logical sector in the archive. The size of each logical sector in the archive is 512 * 2^SectorSizeShift. Bugs in the Storm library dictate that this should always be 3 (4096 byte sectors).
10h: int32 HashTableOffset : Offset to the beginning of the hash table, relative to the beginning of the archive.
14h: int32 BlockTableOffset : Offset to the beginning of the block table, relative to the beginning of the archive.
18h: int32 HashTableEntries : Number of entries in the hash table. Must be a power of two, and must be less than 2^16 for the original MoPaQ format, or less than 2^20 for the Burning Crusade format.
1Ch: int32 BlockTableEntries : Number of entries in the block table.
Fields only present in the Burning Crusade format and later:
20h: int64 ExtendedBlockTableOffset : Offset to the beginning of the extended block table, relative to the beginning of the archive.
28h: int16 HashTableOffsetHigh : High 16 bits of the hash table offset for large archives.
2Ah: int16 BlockTableOffsetHigh : High 16 bits of the block table offset for large archives.
The archive header is the first structure in the archive, at archive offset 0; however, the archive does not need to be at offset 0 of the containing file. The offset of the archive in the file is referred to here as ArchiveOffset. If the archive is not at the beginning of the file, it must begin at a disk sector boundary (512 bytes). Early versions of Storm require that the archive be at the end of the containing file (ArchiveOffset + ArchiveSize = file size), but this is not required in newer versions (due to the strong digital signature not being considered a part of the archive).
2.3 BLOCK TABLE
The block table contains entries for each region in the archive. Regions may be either files, empty space, which may be overwritten by new files (typically this space is from deleted file data), or unused block table entries. Empty space entries should have BlockOffset and BlockSize nonzero, and FileSize and Flags zero; unused block table entries should have BlockSize, FileSize, and Flags zero. The block table is encrypted, using the hash of "(block table)" as the key. Each entry is structured as follows:
00h: int32 BlockOffset : Offset of the beginning of the block, relative to the beginning of the archive.
04h: int32 BlockSize : Size of the block in the archive.
08h: int32 FileSize : Size of the file data stored in the block. Only valid if the block is a file; otherwise meaningless, and should be 0. If the file is compressed, this is the size of the uncompressed file data.
0Ch: int32 Flags : Bit mask of the flags for the block. The following values are conclusively identified:
80000000h: Block is a file, and follows the file data format; otherwise, block is free space or unused. If the block is not a file, all other flags should be cleared, and FileSize should be 0.
01000000h: File is stored as a single unit, rather than split into sectors.
00020000h: The file's encryption key is adjusted by the block offset and file size (explained in detail in the File Data section). File must be encrypted.
00010000h: File is encrypted.
00000200h: File is compressed. File cannot be imploded.
00000100h: File is imploded. File cannot be compressed.
2.4 EXTENDED BLOCK TABLE
The extended block table was added to support archives larger than 4 gigabytes (2^32 bytes). The table contains the upper bits of the archive offsets for each block in the block table. It is simply an array of int16s, which become bits 32-47 of the archive offsets for each block, with bits 48-63 being zero. Individual blocks in the archive are still limited to 4 gigabytes in size. This table is only present in Burning Crusade format archives that exceed 4 gigabytes size.
As of the Burning Crusade Friends and Family beta, this table is not encrypted.
2.5 HASH TABLE
Instead of storing file names, for quick access MoPaQs use a fixed, power of two-size hash table of files in the archive. A file is uniquely identified by its file path, its language, and its platform. The home entry for a file in the hash table is computed as a hash of the file path. In the event of a collision (the home entry is occupied by another file), progressive overflow is used, and the file is placed in the next available hash table entry. Searches for a desired file in the hash table proceed from the home entry for the file until either the file is found, the entire hash table is searched, or an empty hash table entry (FileBlockIndex of FFFFFFFFh) is encountered. The hash table is encrypted using the hash of "(hash table)" as the key. Each entry is structured as follows:
00h: int32 FilePathHashA : The hash of the file path, using method A.
04h: int32 FilePathHashB : The hash of the file path, using method B.
08h: int16 Language : The language of the file. This is a Windows LANGID data type, and uses the same values. 0 indicates the default language (American English), or that the file is language-neutral.
0Ah: int8 Platform : The platform the file is used for. 0 indicates the default platform. No other values have been observed.
0Ch: int32 FileBlockIndex : If the hash table entry is valid, this is the index into the block table of the file. Otherwise, one of the following two values:
FFFFFFFFh: Hash table entry is empty, and has always been empty. Terminates searches for a given file.
FFFFFFFEh: Hash table entry is empty, but was valid at some point (in other words, the file was deleted). Does not terminate searches for a given file.
2.6 FILE DATA
The data for each file is composed of the following structure:
00h: int32(SectorsInFile + 1) SectorOffsetTable : Offsets to the start of each sector, relative to the beginning of the file data. The last entry contains the file size, making it possible to easily calculate the size of any given sector. This table is not present if this information can be calculated (see details below).
immediately following SectorOffsetTable: SECTOR Sectors(SectorsInFile) : Data of each sector in the file, packed end to end (see details below).
Normally, file data is split up into sectors, for simple streaming. All sectors, save for the last, will contain as many bytes of file data as specified in the archive header's SectorSizeShift; the last sector may contain less than this, depending on the size of the entire file's data. If the file is compressed or imploded, the sector will be smaller or the same size as the file data it contains. Individual sectors in a compressed or imploded file may be stored uncompressed; this occurs if and only if the file data the sector contains could not be compressed by the algorithm(s) used (if the compressed sector size was greater than or equal to the size of the file data), and is indicated by the sector's size in SectorOffsetTable being equal to the size of the file data in the sector (which may be calculated from the FileSize).
The format of each sector depends on the kind of sector it is. Uncompressed sectors are simply the the raw file data contained in the sector. Imploded sectors are the raw compressed data following compression with the implode algorithm (these sectors can only be in imploded files). Compressed sectors (only found in compressed - not imploded - files) are compressed with one or more compression algorithms, and have the following structure:
00h: byte CompressionMask : Mask of the compression types applied to this sector. If multiple compression types are used, they are applied in the order listed below, and decompression is performed in the opposite order. This byte counts towards the total sector size, meaning that the sector will be stored uncompressed if the data cannot be compressed by at least two bytes; as well, this byte is encrypted with the sector data, if applicable. The following compression types are defined (for implementations of these algorithms, see StormLib):
40h: IMA ADPCM mono
80h: IMA ADPCM stereo
01h: Huffman encoded
02h: Deflated (see ZLib)
08h: Imploded (see PKWare Data Compression Library)
10h: BZip2 compressed (see BZip2)
01h: byte(SectorSize - 1) SectorData : The compressed data for the sector.
If the file is stored as a single unit (indicated in the file's Flags), there is effectively only a single sector, which contains the entire file data.
If the file is encrypted, each sector (after compression/implosion, if applicable) is encrypted with the file's key. The base key for a file is determined by a hash of the file name stripped of the directory (i.e. the key for a file named "directory\file" would be computed as the hash of "file"). If this key is adjusted, as indicated in the file's Flags, the final key is calculated as ((base key + BlockOffset - ArchiveOffset) XOR FileSize) (StormLib incorrectly uses an AND in place of the XOR). Each sector is encrypted using the key + the 0-based index of the sector in the file. The SectorOffsetTable, if present, is encrypted using the key - 1.
The SectorOffsetTable is omitted when the sizes and offsets of all sectors in the file are calculatable from the FileSize. This can happen in several circumstances. If the file is not compressed/imploded, then the size and offset of all sectors is known, based on the archive's SectorSizeShift. If the file is stored as a single unit compressed/imploded, then the SectorOffsetTable is omitted, as the single file "sector" corresponds to BlockSize and FileSize, as mentioned previously. However, the SectorOffsetTable will be present if the file is compressed/imploded and the file is not stored as a single unit, even if there is only a single sector in the file (the size of the file is less than or equal to the archive's sector size).
2.7 LISTFILE
The listfile is a very simple extension to the MoPaQ format that contains the file paths of (most) files in the archive. The languages and platforms of the files are not stored in the listfile. The listfile is contained in the file "(listfile)" (default language and platform), and is simply a text file with file paths separated by ';', 0Dh, 0Ah, or some combination of these. The file "(listfile)" may not be listed in the listfile.
2.8 EXTENDED ATTRIBUTES
The extended attributes are optional file attributes for files in the block table. These attributes were added at times after the MoPaQ format was already finalized, and it is not necessary for every archive to have all (or any) of the extended attributes. If an archive contains a given attribute, there will be an instance of that attribute for every block in the block table, although the attribute will be meaningless if the block is not a file. The order of the attributes for blocks correspond to the order of the blocks in the block table, and are of the same number. The attributes are stored in parallel arrays in the "(attributes)" file (default language and platform), in the archive. The attributes corresponding to this file need not be valid (and l
Showing preview only (230K chars total). Download the full file or copy to clipboard to get everything.
gitextract_j0c3xoea/
├── .gitignore
├── .hgeol
├── .hgignore
├── .travis.yml
├── CMakeLists.txt
├── COPYING.md
├── PreLoad.cmake
├── README.md
├── THANKS.md
├── cmake/
│ ├── compiler/
│ │ ├── clang/
│ │ │ └── settings.cmake
│ │ ├── gcc/
│ │ │ └── settings.cmake
│ │ ├── icc/
│ │ │ └── settings.cmake
│ │ ├── mingw/
│ │ │ └── settings.cmake
│ │ └── msvc/
│ │ └── settings.cmake
│ ├── genrev.cmake
│ ├── macros/
│ │ ├── CheckBuildDir.cmake
│ │ ├── CheckPlatform.cmake
│ │ ├── EnsureVersion.cmake
│ │ ├── FindACE.cmake
│ │ ├── FindMySQL.cmake
│ │ ├── FindOpenSSL.cmake
│ │ ├── FindPCHSupport.cmake
│ │ └── FindReadline.cmake
│ ├── options.cmake
│ ├── platform/
│ │ ├── cmake_uninstall.in.cmake
│ │ ├── settings.cmake
│ │ ├── unix/
│ │ │ └── settings.cmake
│ │ └── win/
│ │ └── settings.cmake
│ ├── showoptions.cmake
│ └── stack_direction.c
├── contrib/
│ ├── Coverity/
│ │ ├── CoverityCompile.bat
│ │ └── CoverityPack.bat
│ ├── ScriptsConverter/
│ │ ├── ScriptConverter/
│ │ │ ├── Program.cs
│ │ │ ├── Properties/
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── ScriptConverter.csproj
│ │ │ └── ScriptConverter.csproj.user
│ │ └── ScriptConverter.sln
│ ├── buildscript/
│ │ ├── build.py
│ │ └── config.json.dist
│ ├── cleanup/
│ │ ├── tab2spaces.sh
│ │ └── whitespace.sh
│ ├── conf_merge/
│ │ ├── README
│ │ ├── index.php
│ │ ├── merge.php
│ │ └── tc-conf-merger.pl
│ ├── debugger/
│ │ ├── README
│ │ └── crashreport.gdb
│ └── valgrind/
│ └── helgrind.supp
├── dep/
│ ├── CMakeLists.txt
│ ├── PackageList.txt
│ ├── SFMT/
│ │ ├── SFMT.h
│ │ └── randomc.h
│ ├── StormLib/
│ │ ├── CMakeLists.txt
│ │ ├── doc/
│ │ │ ├── History.txt
│ │ │ ├── Sector Offset MD5.txt
│ │ │ ├── The MoPaQ File Format 0.9.txt
│ │ │ ├── The MoPaQ File Format 1.0.txt
│ │ │ ├── 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
│ │ │ ├── diablo3_ruru_disk_encrypted_win.blob
│ │ │ └── diablo3_urls.txt
│ │ ├── src/
│ │ │ ├── FileStream.cpp
│ │ │ ├── FileStream.h
│ │ │ ├── SBaseCommon.cpp
│ │ │ ├── SBaseDumpData.cpp
│ │ │ ├── SBaseFileTable.cpp
│ │ │ ├── SCompression.cpp
│ │ │ ├── SFileAddFile.cpp
│ │ │ ├── SFileAttributes.cpp
│ │ │ ├── SFileCompactArchive.cpp
│ │ │ ├── SFileCreateArchive.cpp
│ │ │ ├── SFileExtractFile.cpp
│ │ │ ├── SFileFindFile.cpp
│ │ │ ├── SFileListFile.cpp
│ │ │ ├── SFileOpenArchive.cpp
│ │ │ ├── SFileOpenFileEx.cpp
│ │ │ ├── SFilePatchArchives.cpp
│ │ │ ├── SFileReadFile.cpp
│ │ │ ├── SFileVerify.cpp
│ │ │ ├── StormCommon.h
│ │ │ ├── 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
│ │ │ │ ├── huff_patch.cpp
│ │ │ │ └── huff_patch.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_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_v1_5_decode.c
│ │ │ │ └── rsa/
│ │ │ │ ├── rsa_exptmod.c
│ │ │ │ ├── rsa_free.c
│ │ │ │ ├── rsa_import.c
│ │ │ │ ├── rsa_make_key.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
│ │ │ ├── sparse/
│ │ │ │ ├── sparse.cpp
│ │ │ │ └── sparse.h
│ │ │ └── zlib/
│ │ │ ├── adler32.c
│ │ │ ├── compress2.c
│ │ │ ├── crc32.c
│ │ │ ├── crc32.h
│ │ │ ├── deflate.c
│ │ │ ├── deflate.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.cpp
│ │ │ ├── storm_dll.def
│ │ │ └── storm_dll.h
│ │ ├── stormlib_dll/
│ │ │ ├── DllMain.c
│ │ │ ├── StormLib.def
│ │ │ └── StormLib.exp
│ │ └── test/
│ │ ├── Test.cpp
│ │ ├── x86_ripped_code.asm
│ │ └── x86_starcraft_lzma.asm
│ ├── acelite/
│ │ ├── AUTHORS
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── ChangeLog
│ │ ├── NEWS
│ │ ├── README
│ │ ├── THANKS
│ │ ├── VERSION
│ │ ├── ace/
│ │ │ ├── ACE.cpp
│ │ │ ├── ACE.h
│ │ │ ├── ACE.inl
│ │ │ ├── ACE_crc32.cpp
│ │ │ ├── ACE_crc_ccitt.cpp
│ │ │ ├── ACE_export.h
│ │ │ ├── ARGV.cpp
│ │ │ ├── ARGV.h
│ │ │ ├── ARGV.inl
│ │ │ ├── ATM_Acceptor.cpp
│ │ │ ├── ATM_Acceptor.h
│ │ │ ├── ATM_Acceptor.inl
│ │ │ ├── ATM_Addr.cpp
│ │ │ ├── ATM_Addr.h
│ │ │ ├── ATM_Addr.inl
│ │ │ ├── ATM_Connector.cpp
│ │ │ ├── ATM_Connector.h
│ │ │ ├── ATM_Connector.inl
│ │ │ ├── ATM_Params.cpp
│ │ │ ├── ATM_Params.h
│ │ │ ├── ATM_Params.inl
│ │ │ ├── ATM_QoS.cpp
│ │ │ ├── ATM_QoS.h
│ │ │ ├── ATM_QoS.inl
│ │ │ ├── ATM_Stream.cpp
│ │ │ ├── ATM_Stream.h
│ │ │ ├── ATM_Stream.inl
│ │ │ ├── Abstract_Timer_Queue.cpp
│ │ │ ├── Abstract_Timer_Queue.h
│ │ │ ├── Acceptor.cpp
│ │ │ ├── Acceptor.h
│ │ │ ├── Activation_Queue.cpp
│ │ │ ├── Activation_Queue.h
│ │ │ ├── Activation_Queue.inl
│ │ │ ├── Active_Map_Manager.cpp
│ │ │ ├── Active_Map_Manager.h
│ │ │ ├── Active_Map_Manager.inl
│ │ │ ├── Active_Map_Manager_T.cpp
│ │ │ ├── Active_Map_Manager_T.h
│ │ │ ├── Active_Map_Manager_T.inl
│ │ │ ├── Addr.cpp
│ │ │ ├── Addr.h
│ │ │ ├── Addr.inl
│ │ │ ├── Arg_Shifter.cpp
│ │ │ ├── Arg_Shifter.h
│ │ │ ├── Argv_Type_Converter.cpp
│ │ │ ├── Argv_Type_Converter.h
│ │ │ ├── Argv_Type_Converter.inl
│ │ │ ├── Array_Base.cpp
│ │ │ ├── Array_Base.h
│ │ │ ├── Array_Base.inl
│ │ │ ├── Array_Map.cpp
│ │ │ ├── Array_Map.h
│ │ │ ├── Array_Map.inl
│ │ │ ├── Assert.cpp
│ │ │ ├── Assert.h
│ │ │ ├── Asynch_Acceptor.cpp
│ │ │ ├── Asynch_Acceptor.h
│ │ │ ├── Asynch_Connector.cpp
│ │ │ ├── Asynch_Connector.h
│ │ │ ├── Asynch_IO.cpp
│ │ │ ├── Asynch_IO.h
│ │ │ ├── Asynch_IO_Impl.cpp
│ │ │ ├── Asynch_IO_Impl.h
│ │ │ ├── Asynch_IO_Impl.inl
│ │ │ ├── Asynch_Pseudo_Task.cpp
│ │ │ ├── Asynch_Pseudo_Task.h
│ │ │ ├── Atomic_Op.cpp
│ │ │ ├── Atomic_Op.h
│ │ │ ├── Atomic_Op.inl
│ │ │ ├── Atomic_Op_GCC_T.cpp
│ │ │ ├── Atomic_Op_GCC_T.h
│ │ │ ├── Atomic_Op_GCC_T.inl
│ │ │ ├── Atomic_Op_Sparc.c
│ │ │ ├── Atomic_Op_Sparc.h
│ │ │ ├── Atomic_Op_T.cpp
│ │ │ ├── Atomic_Op_T.h
│ │ │ ├── Atomic_Op_T.inl
│ │ │ ├── Auto_Event.cpp
│ │ │ ├── Auto_Event.h
│ │ │ ├── Auto_Event.inl
│ │ │ ├── Auto_Functor.cpp
│ │ │ ├── Auto_Functor.h
│ │ │ ├── Auto_Functor.inl
│ │ │ ├── Auto_IncDec_T.cpp
│ │ │ ├── Auto_IncDec_T.h
│ │ │ ├── Auto_IncDec_T.inl
│ │ │ ├── Auto_Ptr.cpp
│ │ │ ├── Auto_Ptr.h
│ │ │ ├── Auto_Ptr.inl
│ │ │ ├── Barrier.cpp
│ │ │ ├── Barrier.h
│ │ │ ├── Barrier.inl
│ │ │ ├── Base_Thread_Adapter.cpp
│ │ │ ├── Base_Thread_Adapter.h
│ │ │ ├── Base_Thread_Adapter.inl
│ │ │ ├── Based_Pointer_Repository.cpp
│ │ │ ├── Based_Pointer_Repository.h
│ │ │ ├── Based_Pointer_T.cpp
│ │ │ ├── Based_Pointer_T.h
│ │ │ ├── Based_Pointer_T.inl
│ │ │ ├── Basic_Stats.cpp
│ │ │ ├── Basic_Stats.h
│ │ │ ├── Basic_Stats.inl
│ │ │ ├── Basic_Types.cpp
│ │ │ ├── Basic_Types.h
│ │ │ ├── Bound_Ptr.h
│ │ │ ├── Bound_Ptr.inl
│ │ │ ├── CDR_Base.cpp
│ │ │ ├── CDR_Base.h
│ │ │ ├── CDR_Base.inl
│ │ │ ├── CDR_Size.cpp
│ │ │ ├── CDR_Size.h
│ │ │ ├── CDR_Size.inl
│ │ │ ├── CDR_Stream.cpp
│ │ │ ├── CDR_Stream.h
│ │ │ ├── CDR_Stream.inl
│ │ │ ├── CE_Screen_Output.cpp
│ │ │ ├── CE_Screen_Output.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CORBA_macros.h
│ │ │ ├── Cache_Map_Manager_T.cpp
│ │ │ ├── Cache_Map_Manager_T.h
│ │ │ ├── Cache_Map_Manager_T.inl
│ │ │ ├── Cached_Connect_Strategy_T.cpp
│ │ │ ├── Cached_Connect_Strategy_T.h
│ │ │ ├── Caching_Strategies_T.cpp
│ │ │ ├── Caching_Strategies_T.h
│ │ │ ├── Caching_Strategies_T.inl
│ │ │ ├── Caching_Utility_T.cpp
│ │ │ ├── Caching_Utility_T.h
│ │ │ ├── Capabilities.cpp
│ │ │ ├── Capabilities.h
│ │ │ ├── Capabilities.inl
│ │ │ ├── Cleanup.cpp
│ │ │ ├── Cleanup.h
│ │ │ ├── Cleanup.inl
│ │ │ ├── Cleanup_Strategies_T.cpp
│ │ │ ├── Cleanup_Strategies_T.h
│ │ │ ├── Codecs.cpp
│ │ │ ├── Codecs.h
│ │ │ ├── Codeset_IBM1047.cpp
│ │ │ ├── Codeset_IBM1047.h
│ │ │ ├── Codeset_Registry.cpp
│ │ │ ├── Codeset_Registry.h
│ │ │ ├── Codeset_Registry.inl
│ │ │ ├── Codeset_Registry_db.cpp
│ │ │ ├── Codeset_Symbols.h
│ │ │ ├── Compression/
│ │ │ │ ├── ACE_Compression_export.h
│ │ │ │ ├── Compressor.cpp
│ │ │ │ ├── Compressor.h
│ │ │ │ ├── Compressor.inl
│ │ │ │ └── rle/
│ │ │ │ ├── ACE_RLECompression_export.h
│ │ │ │ ├── RLECompressor.cpp
│ │ │ │ └── RLECompressor.h
│ │ │ ├── Condition_Attributes.cpp
│ │ │ ├── Condition_Attributes.h
│ │ │ ├── Condition_Attributes.inl
│ │ │ ├── Condition_Recursive_Thread_Mutex.cpp
│ │ │ ├── Condition_Recursive_Thread_Mutex.h
│ │ │ ├── Condition_T.cpp
│ │ │ ├── Condition_T.h
│ │ │ ├── Condition_T.inl
│ │ │ ├── Condition_Thread_Mutex.cpp
│ │ │ ├── Condition_Thread_Mutex.h
│ │ │ ├── Condition_Thread_Mutex.inl
│ │ │ ├── Configuration.cpp
│ │ │ ├── Configuration.h
│ │ │ ├── Configuration.inl
│ │ │ ├── Configuration_Import_Export.cpp
│ │ │ ├── Configuration_Import_Export.h
│ │ │ ├── Connection_Recycling_Strategy.cpp
│ │ │ ├── Connection_Recycling_Strategy.h
│ │ │ ├── Connector.cpp
│ │ │ ├── Connector.h
│ │ │ ├── Containers.cpp
│ │ │ ├── Containers.h
│ │ │ ├── Containers.inl
│ │ │ ├── Containers_T.cpp
│ │ │ ├── Containers_T.h
│ │ │ ├── Containers_T.inl
│ │ │ ├── Copy_Disabled.cpp
│ │ │ ├── Copy_Disabled.h
│ │ │ ├── Countdown_Time.h
│ │ │ ├── Countdown_Time_T.cpp
│ │ │ ├── Countdown_Time_T.h
│ │ │ ├── Countdown_Time_T.inl
│ │ │ ├── DEV.cpp
│ │ │ ├── DEV.h
│ │ │ ├── DEV.inl
│ │ │ ├── DEV_Addr.cpp
│ │ │ ├── DEV_Addr.h
│ │ │ ├── DEV_Addr.inl
│ │ │ ├── DEV_Connector.cpp
│ │ │ ├── DEV_Connector.h
│ │ │ ├── DEV_Connector.inl
│ │ │ ├── DEV_IO.cpp
│ │ │ ├── DEV_IO.h
│ │ │ ├── DEV_IO.inl
│ │ │ ├── DLL.cpp
│ │ │ ├── DLL.h
│ │ │ ├── DLL_Manager.cpp
│ │ │ ├── DLL_Manager.h
│ │ │ ├── Date_Time.cpp
│ │ │ ├── Date_Time.h
│ │ │ ├── Date_Time.inl
│ │ │ ├── Default_Constants.h
│ │ │ ├── Dev_Poll_Reactor.cpp
│ │ │ ├── Dev_Poll_Reactor.h
│ │ │ ├── Dev_Poll_Reactor.inl
│ │ │ ├── Dirent.cpp
│ │ │ ├── Dirent.h
│ │ │ ├── Dirent.inl
│ │ │ ├── Dirent_Selector.cpp
│ │ │ ├── Dirent_Selector.h
│ │ │ ├── Dirent_Selector.inl
│ │ │ ├── Dump.cpp
│ │ │ ├── Dump.h
│ │ │ ├── Dump_T.cpp
│ │ │ ├── Dump_T.h
│ │ │ ├── Dynamic.cpp
│ │ │ ├── Dynamic.h
│ │ │ ├── Dynamic.inl
│ │ │ ├── Dynamic_Message_Strategy.cpp
│ │ │ ├── Dynamic_Message_Strategy.h
│ │ │ ├── Dynamic_Message_Strategy.inl
│ │ │ ├── Dynamic_Service.cpp
│ │ │ ├── Dynamic_Service.h
│ │ │ ├── Dynamic_Service.inl
│ │ │ ├── Dynamic_Service_Base.cpp
│ │ │ ├── Dynamic_Service_Base.h
│ │ │ ├── Dynamic_Service_Dependency.cpp
│ │ │ ├── Dynamic_Service_Dependency.h
│ │ │ ├── ETCL/
│ │ │ │ ├── ETCL_Constraint.cpp
│ │ │ │ ├── ETCL_Constraint.h
│ │ │ │ ├── ETCL_Constraint.inl
│ │ │ │ ├── ETCL_Constraint_Visitor.cpp
│ │ │ │ ├── ETCL_Constraint_Visitor.h
│ │ │ │ ├── ETCL_Interpreter.cpp
│ │ │ │ ├── ETCL_Interpreter.h
│ │ │ │ ├── ETCL_l.cpp
│ │ │ │ ├── ETCL_y.cpp
│ │ │ │ ├── ETCL_y.h
│ │ │ │ ├── ace_etcl_export.h
│ │ │ │ └── etcl_parser_export.h
│ │ │ ├── Encoding_Converter.cpp
│ │ │ ├── Encoding_Converter.h
│ │ │ ├── Encoding_Converter_Factory.cpp
│ │ │ ├── Encoding_Converter_Factory.h
│ │ │ ├── Env_Value_T.cpp
│ │ │ ├── Env_Value_T.h
│ │ │ ├── Env_Value_T.inl
│ │ │ ├── Event.cpp
│ │ │ ├── Event.h
│ │ │ ├── Event.inl
│ │ │ ├── Event_Handler.cpp
│ │ │ ├── Event_Handler.h
│ │ │ ├── Event_Handler.inl
│ │ │ ├── Event_Handler_Handle_Timeout_Upcall.cpp
│ │ │ ├── Event_Handler_Handle_Timeout_Upcall.h
│ │ │ ├── Event_Handler_Handle_Timeout_Upcall.inl
│ │ │ ├── Event_Handler_T.cpp
│ │ │ ├── Event_Handler_T.h
│ │ │ ├── Event_Handler_T.inl
│ │ │ ├── FIFO.cpp
│ │ │ ├── FIFO.h
│ │ │ ├── FIFO.inl
│ │ │ ├── FIFO_Recv.cpp
│ │ │ ├── FIFO_Recv.h
│ │ │ ├── FIFO_Recv.inl
│ │ │ ├── FIFO_Recv_Msg.cpp
│ │ │ ├── FIFO_Recv_Msg.h
│ │ │ ├── FIFO_Recv_Msg.inl
│ │ │ ├── FIFO_Send.cpp
│ │ │ ├── FIFO_Send.h
│ │ │ ├── FIFO_Send.inl
│ │ │ ├── FIFO_Send_Msg.cpp
│ │ │ ├── FIFO_Send_Msg.h
│ │ │ ├── FIFO_Send_Msg.inl
│ │ │ ├── FILE.cpp
│ │ │ ├── FILE.h
│ │ │ ├── FILE.inl
│ │ │ ├── FILE_Addr.cpp
│ │ │ ├── FILE_Addr.h
│ │ │ ├── FILE_Addr.inl
│ │ │ ├── FILE_Connector.cpp
│ │ │ ├── FILE_Connector.h
│ │ │ ├── FILE_Connector.inl
│ │ │ ├── FILE_IO.cpp
│ │ │ ├── FILE_IO.h
│ │ │ ├── FILE_IO.inl
│ │ │ ├── File_Lock.cpp
│ │ │ ├── File_Lock.h
│ │ │ ├── File_Lock.inl
│ │ │ ├── Filecache.cpp
│ │ │ ├── Filecache.h
│ │ │ ├── FlReactor/
│ │ │ │ ├── ACE_FlReactor_export.h
│ │ │ │ ├── FlReactor.cpp
│ │ │ │ └── FlReactor.h
│ │ │ ├── Flag_Manip.cpp
│ │ │ ├── Flag_Manip.h
│ │ │ ├── Flag_Manip.inl
│ │ │ ├── FoxReactor/
│ │ │ │ ├── ACE_FoxReactor_export.h
│ │ │ │ ├── FoxReactor.cpp
│ │ │ │ └── FoxReactor.h
│ │ │ ├── Framework_Component.cpp
│ │ │ ├── Framework_Component.h
│ │ │ ├── Framework_Component.inl
│ │ │ ├── Framework_Component_T.cpp
│ │ │ ├── Framework_Component_T.h
│ │ │ ├── Free_List.cpp
│ │ │ ├── Free_List.h
│ │ │ ├── Functor.cpp
│ │ │ ├── Functor.h
│ │ │ ├── Functor.inl
│ │ │ ├── Functor_String.cpp
│ │ │ ├── Functor_String.h
│ │ │ ├── Functor_String.inl
│ │ │ ├── Functor_T.cpp
│ │ │ ├── Functor_T.h
│ │ │ ├── Functor_T.inl
│ │ │ ├── Future.cpp
│ │ │ ├── Future.h
│ │ │ ├── Future_Set.cpp
│ │ │ ├── Future_Set.h
│ │ │ ├── Get_Opt.cpp
│ │ │ ├── Get_Opt.h
│ │ │ ├── Get_Opt.inl
│ │ │ ├── Global_Macros.h
│ │ │ ├── Guard_T.cpp
│ │ │ ├── Guard_T.h
│ │ │ ├── Guard_T.inl
│ │ │ ├── Handle_Gobbler.h
│ │ │ ├── Handle_Gobbler.inl
│ │ │ ├── Handle_Ops.cpp
│ │ │ ├── Handle_Ops.h
│ │ │ ├── Handle_Set.cpp
│ │ │ ├── Handle_Set.h
│ │ │ ├── Handle_Set.inl
│ │ │ ├── Hash_Cache_Map_Manager_T.cpp
│ │ │ ├── Hash_Cache_Map_Manager_T.h
│ │ │ ├── Hash_Cache_Map_Manager_T.inl
│ │ │ ├── Hash_Map_Manager.h
│ │ │ ├── Hash_Map_Manager_T.cpp
│ │ │ ├── Hash_Map_Manager_T.h
│ │ │ ├── Hash_Map_Manager_T.inl
│ │ │ ├── Hash_Map_With_Allocator_T.cpp
│ │ │ ├── Hash_Map_With_Allocator_T.h
│ │ │ ├── Hash_Map_With_Allocator_T.inl
│ │ │ ├── Hash_Multi_Map_Manager_T.cpp
│ │ │ ├── Hash_Multi_Map_Manager_T.h
│ │ │ ├── Hash_Multi_Map_Manager_T.inl
│ │ │ ├── Hashable.cpp
│ │ │ ├── Hashable.h
│ │ │ ├── Hashable.inl
│ │ │ ├── High_Res_Timer.cpp
│ │ │ ├── High_Res_Timer.h
│ │ │ ├── High_Res_Timer.inl
│ │ │ ├── ICMP_Socket.cpp
│ │ │ ├── ICMP_Socket.h
│ │ │ ├── INET_Addr.cpp
│ │ │ ├── INET_Addr.h
│ │ │ ├── INET_Addr.inl
│ │ │ ├── IOStream.cpp
│ │ │ ├── IOStream.h
│ │ │ ├── IOStream_T.cpp
│ │ │ ├── IOStream_T.h
│ │ │ ├── IOStream_T.inl
│ │ │ ├── IO_Cntl_Msg.cpp
│ │ │ ├── IO_Cntl_Msg.h
│ │ │ ├── IO_Cntl_Msg.inl
│ │ │ ├── IO_SAP.cpp
│ │ │ ├── IO_SAP.h
│ │ │ ├── IO_SAP.inl
│ │ │ ├── IPC_SAP.cpp
│ │ │ ├── IPC_SAP.h
│ │ │ ├── IPC_SAP.inl
│ │ │ ├── If_Then_Else.h
│ │ │ ├── Init_ACE.cpp
│ │ │ ├── Init_ACE.h
│ │ │ ├── Intrusive_Auto_Ptr.cpp
│ │ │ ├── Intrusive_Auto_Ptr.h
│ │ │ ├── Intrusive_Auto_Ptr.inl
│ │ │ ├── Intrusive_List.cpp
│ │ │ ├── Intrusive_List.h
│ │ │ ├── Intrusive_List.inl
│ │ │ ├── Intrusive_List_Node.cpp
│ │ │ ├── Intrusive_List_Node.h
│ │ │ ├── Intrusive_List_Node.inl
│ │ │ ├── LOCK_SOCK_Acceptor.cpp
│ │ │ ├── LOCK_SOCK_Acceptor.h
│ │ │ ├── LSOCK.cpp
│ │ │ ├── LSOCK.h
│ │ │ ├── LSOCK.inl
│ │ │ ├── LSOCK_Acceptor.cpp
│ │ │ ├── LSOCK_Acceptor.h
│ │ │ ├── LSOCK_CODgram.cpp
│ │ │ ├── LSOCK_CODgram.h
│ │ │ ├── LSOCK_CODgram.inl
│ │ │ ├── LSOCK_Connector.cpp
│ │ │ ├── LSOCK_Connector.h
│ │ │ ├── LSOCK_Connector.inl
│ │ │ ├── LSOCK_Dgram.cpp
│ │ │ ├── LSOCK_Dgram.h
│ │ │ ├── LSOCK_Dgram.inl
│ │ │ ├── LSOCK_Stream.cpp
│ │ │ ├── LSOCK_Stream.h
│ │ │ ├── LSOCK_Stream.inl
│ │ │ ├── Lib_Find.cpp
│ │ │ ├── Lib_Find.h
│ │ │ ├── Local_Memory_Pool.cpp
│ │ │ ├── Local_Memory_Pool.h
│ │ │ ├── Local_Name_Space.cpp
│ │ │ ├── Local_Name_Space.h
│ │ │ ├── Local_Name_Space_T.cpp
│ │ │ ├── Local_Name_Space_T.h
│ │ │ ├── Local_Tokens.cpp
│ │ │ ├── Local_Tokens.h
│ │ │ ├── Local_Tokens.inl
│ │ │ ├── Lock.cpp
│ │ │ ├── Lock.h
│ │ │ ├── Lock.inl
│ │ │ ├── Lock_Adapter_T.cpp
│ │ │ ├── Lock_Adapter_T.h
│ │ │ ├── Lock_Adapter_T.inl
│ │ │ ├── Log_Msg.cpp
│ │ │ ├── Log_Msg.h
│ │ │ ├── Log_Msg.inl
│ │ │ ├── Log_Msg_Backend.cpp
│ │ │ ├── Log_Msg_Backend.h
│ │ │ ├── Log_Msg_Callback.cpp
│ │ │ ├── Log_Msg_Callback.h
│ │ │ ├── Log_Msg_IPC.cpp
│ │ │ ├── Log_Msg_IPC.h
│ │ │ ├── Log_Msg_NT_Event_Log.cpp
│ │ │ ├── Log_Msg_NT_Event_Log.h
│ │ │ ├── Log_Msg_UNIX_Syslog.cpp
│ │ │ ├── Log_Msg_UNIX_Syslog.h
│ │ │ ├── Log_Priority.h
│ │ │ ├── Log_Record.cpp
│ │ │ ├── Log_Record.h
│ │ │ ├── Log_Record.inl
│ │ │ ├── Logging_Strategy.cpp
│ │ │ ├── Logging_Strategy.h
│ │ │ ├── MEM_Acceptor.cpp
│ │ │ ├── MEM_Acceptor.h
│ │ │ ├── MEM_Acceptor.inl
│ │ │ ├── MEM_Addr.cpp
│ │ │ ├── MEM_Addr.h
│ │ │ ├── MEM_Addr.inl
│ │ │ ├── MEM_Connector.cpp
│ │ │ ├── MEM_Connector.h
│ │ │ ├── MEM_Connector.inl
│ │ │ ├── MEM_IO.cpp
│ │ │ ├── MEM_IO.h
│ │ │ ├── MEM_IO.inl
│ │ │ ├── MEM_SAP.cpp
│ │ │ ├── MEM_SAP.h
│ │ │ ├── MEM_SAP.inl
│ │ │ ├── MEM_Stream.cpp
│ │ │ ├── MEM_Stream.h
│ │ │ ├── MEM_Stream.inl
│ │ │ ├── MMAP_Memory_Pool.cpp
│ │ │ ├── MMAP_Memory_Pool.h
│ │ │ ├── MMAP_Memory_Pool.inl
│ │ │ ├── Malloc.cpp
│ │ │ ├── Malloc.h
│ │ │ ├── Malloc.inl
│ │ │ ├── Malloc_Allocator.cpp
│ │ │ ├── Malloc_Allocator.h
│ │ │ ├── Malloc_Allocator.inl
│ │ │ ├── Malloc_Base.h
│ │ │ ├── Malloc_T.cpp
│ │ │ ├── Malloc_T.h
│ │ │ ├── Malloc_T.inl
│ │ │ ├── Managed_Object.cpp
│ │ │ ├── Managed_Object.h
│ │ │ ├── Managed_Object.inl
│ │ │ ├── Manual_Event.cpp
│ │ │ ├── Manual_Event.h
│ │ │ ├── Manual_Event.inl
│ │ │ ├── Map_Manager.cpp
│ │ │ ├── Map_Manager.h
│ │ │ ├── Map_Manager.inl
│ │ │ ├── Map_T.cpp
│ │ │ ├── Map_T.h
│ │ │ ├── Map_T.inl
│ │ │ ├── Mem_Map.cpp
│ │ │ ├── Mem_Map.h
│ │ │ ├── Mem_Map.inl
│ │ │ ├── Memory_Pool.h
│ │ │ ├── Message_Block.cpp
│ │ │ ├── Message_Block.h
│ │ │ ├── Message_Block.inl
│ │ │ ├── Message_Block_T.cpp
│ │ │ ├── Message_Block_T.h
│ │ │ ├── Message_Block_T.inl
│ │ │ ├── Message_Queue.cpp
│ │ │ ├── Message_Queue.h
│ │ │ ├── Message_Queue.inl
│ │ │ ├── Message_Queue_NT.cpp
│ │ │ ├── Message_Queue_NT.h
│ │ │ ├── Message_Queue_NT.inl
│ │ │ ├── Message_Queue_T.cpp
│ │ │ ├── Message_Queue_T.h
│ │ │ ├── Message_Queue_Vx.cpp
│ │ │ ├── Message_Queue_Vx.h
│ │ │ ├── Message_Queue_Vx.inl
│ │ │ ├── Method_Request.cpp
│ │ │ ├── Method_Request.h
│ │ │ ├── Metrics_Cache.h
│ │ │ ├── Metrics_Cache_T.cpp
│ │ │ ├── Metrics_Cache_T.h
│ │ │ ├── Metrics_Cache_T.inl
│ │ │ ├── Min_Max.h
│ │ │ ├── Module.cpp
│ │ │ ├── Module.h
│ │ │ ├── Module.inl
│ │ │ ├── Monitor_Admin.cpp
│ │ │ ├── Monitor_Admin.h
│ │ │ ├── Monitor_Admin_Manager.cpp
│ │ │ ├── Monitor_Admin_Manager.h
│ │ │ ├── Monitor_Base.cpp
│ │ │ ├── Monitor_Base.h
│ │ │ ├── Monitor_Base.inl
│ │ │ ├── Monitor_Control/
│ │ │ │ ├── Auto_Update_Starter.cpp
│ │ │ │ ├── Auto_Update_Starter.h
│ │ │ │ ├── BSD_Network_Interface_Monitor.cpp
│ │ │ │ ├── BSD_Network_Interface_Monitor.h
│ │ │ │ ├── Bytes_Received_Monitor.cpp
│ │ │ │ ├── Bytes_Received_Monitor.h
│ │ │ │ ├── Bytes_Sent_Monitor.cpp
│ │ │ │ ├── Bytes_Sent_Monitor.h
│ │ │ │ ├── CPU_Load_Monitor.cpp
│ │ │ │ ├── CPU_Load_Monitor.h
│ │ │ │ ├── Constraint_Interpreter.cpp
│ │ │ │ ├── Constraint_Interpreter.h
│ │ │ │ ├── Constraint_Visitor.cpp
│ │ │ │ ├── Constraint_Visitor.h
│ │ │ │ ├── FreeBSD_Network_Interface_Monitor.cpp
│ │ │ │ ├── FreeBSD_Network_Interface_Monitor.h
│ │ │ │ ├── Linux_Network_Interface_Monitor.cpp
│ │ │ │ ├── Linux_Network_Interface_Monitor.h
│ │ │ │ ├── Memory_Usage_Monitor.cpp
│ │ │ │ ├── Memory_Usage_Monitor.h
│ │ │ │ ├── Monitor_Control.h
│ │ │ │ ├── Monitor_Control_export.h
│ │ │ │ ├── Monitor_Control_utils.h
│ │ │ │ ├── Monitor_Group.cpp
│ │ │ │ ├── Monitor_Group.h
│ │ │ │ ├── Monitor_Query.cpp
│ │ │ │ ├── Monitor_Query.h
│ │ │ │ ├── Null_Network_Interface_Monitor.cpp
│ │ │ │ ├── Null_Network_Interface_Monitor.h
│ │ │ │ ├── Num_Threads_Monitor.cpp
│ │ │ │ ├── Num_Threads_Monitor.h
│ │ │ │ ├── Packets_Received_Monitor.cpp
│ │ │ │ ├── Packets_Received_Monitor.h
│ │ │ │ ├── Packets_Sent_Monitor.cpp
│ │ │ │ ├── Packets_Sent_Monitor.h
│ │ │ │ ├── Solaris_Network_Interface_Monitor.cpp
│ │ │ │ ├── Solaris_Network_Interface_Monitor.h
│ │ │ │ ├── Windows_Monitor.cpp
│ │ │ │ ├── Windows_Monitor.h
│ │ │ │ ├── Windows_Multi_Instance_Monitor.cpp
│ │ │ │ └── Windows_Multi_Instance_Monitor.h
│ │ │ ├── Monitor_Control_Action.cpp
│ │ │ ├── Monitor_Control_Action.h
│ │ │ ├── Monitor_Control_Types.cpp
│ │ │ ├── Monitor_Control_Types.h
│ │ │ ├── Monitor_Point_Registry.cpp
│ │ │ ├── Monitor_Point_Registry.h
│ │ │ ├── Monitor_Size.cpp
│ │ │ ├── Monitor_Size.h
│ │ │ ├── Monotonic_Time_Policy.cpp
│ │ │ ├── Monotonic_Time_Policy.h
│ │ │ ├── Monotonic_Time_Policy.inl
│ │ │ ├── Msg_WFMO_Reactor.cpp
│ │ │ ├── Msg_WFMO_Reactor.h
│ │ │ ├── Msg_WFMO_Reactor.inl
│ │ │ ├── Multihomed_INET_Addr.cpp
│ │ │ ├── Multihomed_INET_Addr.h
│ │ │ ├── Multihomed_INET_Addr.inl
│ │ │ ├── Mutex.cpp
│ │ │ ├── Mutex.h
│ │ │ ├── Mutex.inl
│ │ │ ├── NT_Service.cpp
│ │ │ ├── NT_Service.h
│ │ │ ├── NT_Service.inl
│ │ │ ├── Name_Proxy.cpp
│ │ │ ├── Name_Proxy.h
│ │ │ ├── Name_Request_Reply.cpp
│ │ │ ├── Name_Request_Reply.h
│ │ │ ├── Name_Space.cpp
│ │ │ ├── Name_Space.h
│ │ │ ├── Naming_Context.cpp
│ │ │ ├── Naming_Context.h
│ │ │ ├── Naming_Context.inl
│ │ │ ├── Netlink_Addr.cpp
│ │ │ ├── Netlink_Addr.h
│ │ │ ├── Netlink_Addr.inl
│ │ │ ├── Node.cpp
│ │ │ ├── Node.h
│ │ │ ├── Notification_Queue.cpp
│ │ │ ├── Notification_Queue.h
│ │ │ ├── Notification_Queue.inl
│ │ │ ├── Notification_Strategy.cpp
│ │ │ ├── Notification_Strategy.h
│ │ │ ├── Notification_Strategy.inl
│ │ │ ├── Null_Barrier.h
│ │ │ ├── Null_Condition.h
│ │ │ ├── Null_Mutex.h
│ │ │ ├── Null_Semaphore.h
│ │ │ ├── Numeric_Limits.h
│ │ │ ├── OS.h
│ │ │ ├── OS_Errno.cpp
│ │ │ ├── OS_Errno.h
│ │ │ ├── OS_Errno.inl
│ │ │ ├── OS_Log_Msg_Attributes.cpp
│ │ │ ├── OS_Log_Msg_Attributes.h
│ │ │ ├── OS_Log_Msg_Attributes.inl
│ │ │ ├── OS_Memory.h
│ │ │ ├── OS_NS_Thread.cpp
│ │ │ ├── OS_NS_Thread.h
│ │ │ ├── OS_NS_Thread.inl
│ │ │ ├── OS_NS_arpa_inet.cpp
│ │ │ ├── OS_NS_arpa_inet.h
│ │ │ ├── OS_NS_arpa_inet.inl
│ │ │ ├── OS_NS_ctype.cpp
│ │ │ ├── OS_NS_ctype.h
│ │ │ ├── OS_NS_ctype.inl
│ │ │ ├── OS_NS_dirent.cpp
│ │ │ ├── OS_NS_dirent.h
│ │ │ ├── OS_NS_dirent.inl
│ │ │ ├── OS_NS_dlfcn.cpp
│ │ │ ├── OS_NS_dlfcn.h
│ │ │ ├── OS_NS_dlfcn.inl
│ │ │ ├── OS_NS_errno.cpp
│ │ │ ├── OS_NS_errno.h
│ │ │ ├── OS_NS_errno.inl
│ │ │ ├── OS_NS_fcntl.cpp
│ │ │ ├── OS_NS_fcntl.h
│ │ │ ├── OS_NS_fcntl.inl
│ │ │ ├── OS_NS_macros.h
│ │ │ ├── OS_NS_math.cpp
│ │ │ ├── OS_NS_math.h
│ │ │ ├── OS_NS_math.inl
│ │ │ ├── OS_NS_netdb.cpp
│ │ │ ├── OS_NS_netdb.h
│ │ │ ├── OS_NS_netdb.inl
│ │ │ ├── OS_NS_poll.cpp
│ │ │ ├── OS_NS_poll.h
│ │ │ ├── OS_NS_poll.inl
│ │ │ ├── OS_NS_pwd.cpp
│ │ │ ├── OS_NS_pwd.h
│ │ │ ├── OS_NS_pwd.inl
│ │ │ ├── OS_NS_regex.cpp
│ │ │ ├── OS_NS_regex.h
│ │ │ ├── OS_NS_regex.inl
│ │ │ ├── OS_NS_signal.cpp
│ │ │ ├── OS_NS_signal.h
│ │ │ ├── OS_NS_signal.inl
│ │ │ ├── OS_NS_stdio.cpp
│ │ │ ├── OS_NS_stdio.h
│ │ │ ├── OS_NS_stdio.inl
│ │ │ ├── OS_NS_stdlib.cpp
│ │ │ ├── OS_NS_stdlib.h
│ │ │ ├── OS_NS_stdlib.inl
│ │ │ ├── OS_NS_string.cpp
│ │ │ ├── OS_NS_string.h
│ │ │ ├── OS_NS_string.inl
│ │ │ ├── OS_NS_strings.cpp
│ │ │ ├── OS_NS_strings.h
│ │ │ ├── OS_NS_strings.inl
│ │ │ ├── OS_NS_stropts.cpp
│ │ │ ├── OS_NS_stropts.h
│ │ │ ├── OS_NS_stropts.inl
│ │ │ ├── OS_NS_sys_mman.cpp
│ │ │ ├── OS_NS_sys_mman.h
│ │ │ ├── OS_NS_sys_mman.inl
│ │ │ ├── OS_NS_sys_msg.cpp
│ │ │ ├── OS_NS_sys_msg.h
│ │ │ ├── OS_NS_sys_msg.inl
│ │ │ ├── OS_NS_sys_resource.cpp
│ │ │ ├── OS_NS_sys_resource.h
│ │ │ ├── OS_NS_sys_resource.inl
│ │ │ ├── OS_NS_sys_select.cpp
│ │ │ ├── OS_NS_sys_select.h
│ │ │ ├── OS_NS_sys_select.inl
│ │ │ ├── OS_NS_sys_sendfile.cpp
│ │ │ ├── OS_NS_sys_sendfile.h
│ │ │ ├── OS_NS_sys_sendfile.inl
│ │ │ ├── OS_NS_sys_shm.cpp
│ │ │ ├── OS_NS_sys_shm.h
│ │ │ ├── OS_NS_sys_shm.inl
│ │ │ ├── OS_NS_sys_socket.cpp
│ │ │ ├── OS_NS_sys_socket.h
│ │ │ ├── OS_NS_sys_socket.inl
│ │ │ ├── OS_NS_sys_stat.cpp
│ │ │ ├── OS_NS_sys_stat.h
│ │ │ ├── OS_NS_sys_stat.inl
│ │ │ ├── OS_NS_sys_time.cpp
│ │ │ ├── OS_NS_sys_time.h
│ │ │ ├── OS_NS_sys_time.inl
│ │ │ ├── OS_NS_sys_uio.cpp
│ │ │ ├── OS_NS_sys_uio.h
│ │ │ ├── OS_NS_sys_uio.inl
│ │ │ ├── OS_NS_sys_utsname.cpp
│ │ │ ├── OS_NS_sys_utsname.h
│ │ │ ├── OS_NS_sys_wait.cpp
│ │ │ ├── OS_NS_sys_wait.h
│ │ │ ├── OS_NS_sys_wait.inl
│ │ │ ├── OS_NS_time.cpp
│ │ │ ├── OS_NS_time.h
│ │ │ ├── OS_NS_time.inl
│ │ │ ├── OS_NS_unistd.cpp
│ │ │ ├── OS_NS_unistd.h
│ │ │ ├── OS_NS_unistd.inl
│ │ │ ├── OS_NS_wchar.cpp
│ │ │ ├── OS_NS_wchar.h
│ │ │ ├── OS_NS_wchar.inl
│ │ │ ├── OS_NS_wctype.cpp
│ │ │ ├── OS_NS_wctype.h
│ │ │ ├── OS_NS_wctype.inl
│ │ │ ├── OS_QoS.cpp
│ │ │ ├── OS_QoS.h
│ │ │ ├── OS_TLI.cpp
│ │ │ ├── OS_TLI.h
│ │ │ ├── OS_TLI.inl
│ │ │ ├── OS_Thread_Adapter.cpp
│ │ │ ├── OS_Thread_Adapter.h
│ │ │ ├── OS_main.cpp
│ │ │ ├── OS_main.h
│ │ │ ├── Obchunk.cpp
│ │ │ ├── Obchunk.h
│ │ │ ├── Obchunk.inl
│ │ │ ├── Object_Manager.cpp
│ │ │ ├── Object_Manager.h
│ │ │ ├── Object_Manager.inl
│ │ │ ├── Object_Manager_Base.cpp
│ │ │ ├── Object_Manager_Base.h
│ │ │ ├── Obstack.h
│ │ │ ├── Obstack_T.cpp
│ │ │ ├── Obstack_T.h
│ │ │ ├── Obstack_T.inl
│ │ │ ├── PI_Malloc.cpp
│ │ │ ├── PI_Malloc.h
│ │ │ ├── PI_Malloc.inl
│ │ │ ├── POSIX_Asynch_IO.cpp
│ │ │ ├── POSIX_Asynch_IO.h
│ │ │ ├── POSIX_CB_Proactor.cpp
│ │ │ ├── POSIX_CB_Proactor.h
│ │ │ ├── POSIX_Proactor.cpp
│ │ │ ├── POSIX_Proactor.h
│ │ │ ├── POSIX_Proactor.inl
│ │ │ ├── Pagefile_Memory_Pool.cpp
│ │ │ ├── Pagefile_Memory_Pool.h
│ │ │ ├── Pagefile_Memory_Pool.inl
│ │ │ ├── Pair_T.cpp
│ │ │ ├── Pair_T.h
│ │ │ ├── Pair_T.inl
│ │ │ ├── Parse_Node.cpp
│ │ │ ├── Parse_Node.h
│ │ │ ├── Ping_Socket.cpp
│ │ │ ├── Ping_Socket.h
│ │ │ ├── Ping_Socket.inl
│ │ │ ├── Pipe.cpp
│ │ │ ├── Pipe.h
│ │ │ ├── Pipe.inl
│ │ │ ├── PrecompiledHeaders/
│ │ │ │ ├── WinAcePCH.cpp
│ │ │ │ └── WinAcePCH.h
│ │ │ ├── Priority_Reactor.cpp
│ │ │ ├── Priority_Reactor.h
│ │ │ ├── Proactor.cpp
│ │ │ ├── Proactor.h
│ │ │ ├── Proactor.inl
│ │ │ ├── Proactor_Impl.cpp
│ │ │ ├── Proactor_Impl.h
│ │ │ ├── Process.cpp
│ │ │ ├── Process.h
│ │ │ ├── Process.inl
│ │ │ ├── Process_Manager.cpp
│ │ │ ├── Process_Manager.h
│ │ │ ├── Process_Manager.inl
│ │ │ ├── Process_Mutex.cpp
│ │ │ ├── Process_Mutex.h
│ │ │ ├── Process_Mutex.inl
│ │ │ ├── Process_Semaphore.cpp
│ │ │ ├── Process_Semaphore.h
│ │ │ ├── Process_Semaphore.inl
│ │ │ ├── Profile_Timer.cpp
│ │ │ ├── Profile_Timer.h
│ │ │ ├── Profile_Timer.inl
│ │ │ ├── QoS/
│ │ │ │ ├── ACE_QoS_Export.h
│ │ │ │ ├── QoS_Decorator.cpp
│ │ │ │ ├── QoS_Decorator.h
│ │ │ │ ├── QoS_Manager.cpp
│ │ │ │ ├── QoS_Manager.h
│ │ │ │ ├── QoS_Session.h
│ │ │ │ ├── QoS_Session_Factory.cpp
│ │ │ │ ├── QoS_Session_Factory.h
│ │ │ │ ├── QoS_Session_Impl.cpp
│ │ │ │ ├── QoS_Session_Impl.h
│ │ │ │ ├── QoS_Session_Impl.inl
│ │ │ │ ├── README
│ │ │ │ ├── SOCK_Dgram_Mcast_QoS.cpp
│ │ │ │ ├── SOCK_Dgram_Mcast_QoS.h
│ │ │ │ └── SOCK_Dgram_Mcast_QoS.inl
│ │ │ ├── QtReactor/
│ │ │ │ ├── ACE_QtReactor_export.h
│ │ │ │ ├── QtReactor.cpp
│ │ │ │ └── QtReactor.h
│ │ │ ├── RB_Tree.cpp
│ │ │ ├── RB_Tree.h
│ │ │ ├── RB_Tree.inl
│ │ │ ├── README
│ │ │ ├── RW_Mutex.cpp
│ │ │ ├── RW_Mutex.h
│ │ │ ├── RW_Mutex.inl
│ │ │ ├── RW_Process_Mutex.cpp
│ │ │ ├── RW_Process_Mutex.h
│ │ │ ├── RW_Process_Mutex.inl
│ │ │ ├── RW_Thread_Mutex.cpp
│ │ │ ├── RW_Thread_Mutex.h
│ │ │ ├── RW_Thread_Mutex.inl
│ │ │ ├── Reactor.cpp
│ │ │ ├── Reactor.h
│ │ │ ├── Reactor.inl
│ │ │ ├── Reactor_Impl.cpp
│ │ │ ├── Reactor_Impl.h
│ │ │ ├── Reactor_Notification_Strategy.cpp
│ │ │ ├── Reactor_Notification_Strategy.h
│ │ │ ├── Reactor_Notification_Strategy.inl
│ │ │ ├── Reactor_Timer_Interface.cpp
│ │ │ ├── Reactor_Timer_Interface.h
│ │ │ ├── Reactor_Token_T.cpp
│ │ │ ├── Reactor_Token_T.h
│ │ │ ├── Read_Buffer.cpp
│ │ │ ├── Read_Buffer.h
│ │ │ ├── Read_Buffer.inl
│ │ │ ├── Recursive_Thread_Mutex.cpp
│ │ │ ├── Recursive_Thread_Mutex.h
│ │ │ ├── Recursive_Thread_Mutex.inl
│ │ │ ├── Recyclable.cpp
│ │ │ ├── Recyclable.h
│ │ │ ├── Recyclable.inl
│ │ │ ├── Refcountable_T.cpp
│ │ │ ├── Refcountable_T.h
│ │ │ ├── Refcountable_T.inl
│ │ │ ├── Refcounted_Auto_Ptr.cpp
│ │ │ ├── Refcounted_Auto_Ptr.h
│ │ │ ├── Refcounted_Auto_Ptr.inl
│ │ │ ├── Registry.cpp
│ │ │ ├── Registry.h
│ │ │ ├── Registry_Name_Space.cpp
│ │ │ ├── Registry_Name_Space.h
│ │ │ ├── Remote_Name_Space.cpp
│ │ │ ├── Remote_Name_Space.h
│ │ │ ├── Remote_Tokens.cpp
│ │ │ ├── Remote_Tokens.h
│ │ │ ├── Remote_Tokens.inl
│ │ │ ├── Reverse_Lock_T.cpp
│ │ │ ├── Reverse_Lock_T.h
│ │ │ ├── Reverse_Lock_T.inl
│ │ │ ├── Rtems_init.c
│ │ │ ├── SOCK.cpp
│ │ │ ├── SOCK.h
│ │ │ ├── SOCK.inl
│ │ │ ├── SOCK_Acceptor.cpp
│ │ │ ├── SOCK_Acceptor.h
│ │ │ ├── SOCK_Acceptor.inl
│ │ │ ├── SOCK_CODgram.cpp
│ │ │ ├── SOCK_CODgram.h
│ │ │ ├── SOCK_CODgram.inl
│ │ │ ├── SOCK_Connector.cpp
│ │ │ ├── SOCK_Connector.h
│ │ │ ├── SOCK_Connector.inl
│ │ │ ├── SOCK_Dgram.cpp
│ │ │ ├── SOCK_Dgram.h
│ │ │ ├── SOCK_Dgram.inl
│ │ │ ├── SOCK_Dgram_Bcast.cpp
│ │ │ ├── SOCK_Dgram_Bcast.h
│ │ │ ├── SOCK_Dgram_Bcast.inl
│ │ │ ├── SOCK_Dgram_Mcast.cpp
│ │ │ ├── SOCK_Dgram_Mcast.h
│ │ │ ├── SOCK_Dgram_Mcast.inl
│ │ │ ├── SOCK_IO.cpp
│ │ │ ├── SOCK_IO.h
│ │ │ ├── SOCK_IO.inl
│ │ │ ├── SOCK_Netlink.cpp
│ │ │ ├── SOCK_Netlink.h
│ │ │ ├── SOCK_Netlink.inl
│ │ │ ├── SOCK_SEQPACK_Acceptor.cpp
│ │ │ ├── SOCK_SEQPACK_Acceptor.h
│ │ │ ├── SOCK_SEQPACK_Acceptor.inl
│ │ │ ├── SOCK_SEQPACK_Association.cpp
│ │ │ ├── SOCK_SEQPACK_Association.h
│ │ │ ├── SOCK_SEQPACK_Association.inl
│ │ │ ├── SOCK_SEQPACK_Connector.cpp
│ │ │ ├── SOCK_SEQPACK_Connector.h
│ │ │ ├── SOCK_SEQPACK_Connector.inl
│ │ │ ├── SOCK_Stream.cpp
│ │ │ ├── SOCK_Stream.h
│ │ │ ├── SOCK_Stream.inl
│ │ │ ├── SPIPE.cpp
│ │ │ ├── SPIPE.h
│ │ │ ├── SPIPE.inl
│ │ │ ├── SPIPE_Acceptor.cpp
│ │ │ ├── SPIPE_Acceptor.h
│ │ │ ├── SPIPE_Addr.cpp
│ │ │ ├── SPIPE_Addr.h
│ │ │ ├── SPIPE_Addr.inl
│ │ │ ├── SPIPE_Connector.cpp
│ │ │ ├── SPIPE_Connector.h
│ │ │ ├── SPIPE_Connector.inl
│ │ │ ├── SPIPE_Stream.cpp
│ │ │ ├── SPIPE_Stream.h
│ │ │ ├── SPIPE_Stream.inl
│ │ │ ├── SSL/
│ │ │ │ ├── SSL_Asynch_BIO.cpp
│ │ │ │ ├── SSL_Asynch_BIO.h
│ │ │ │ ├── SSL_Asynch_Stream.cpp
│ │ │ │ ├── SSL_Asynch_Stream.h
│ │ │ │ ├── SSL_Asynch_Stream.inl
│ │ │ │ ├── SSL_Context.cpp
│ │ │ │ ├── SSL_Context.h
│ │ │ │ ├── SSL_Context.inl
│ │ │ │ ├── SSL_Export.h
│ │ │ │ ├── SSL_Initializer.cpp
│ │ │ │ ├── SSL_Initializer.h
│ │ │ │ ├── SSL_SOCK.cpp
│ │ │ │ ├── SSL_SOCK.h
│ │ │ │ ├── SSL_SOCK.inl
│ │ │ │ ├── SSL_SOCK_Acceptor.cpp
│ │ │ │ ├── SSL_SOCK_Acceptor.h
│ │ │ │ ├── SSL_SOCK_Acceptor.inl
│ │ │ │ ├── SSL_SOCK_Connector.cpp
│ │ │ │ ├── SSL_SOCK_Connector.h
│ │ │ │ ├── SSL_SOCK_Connector.inl
│ │ │ │ ├── SSL_SOCK_Stream.cpp
│ │ │ │ ├── SSL_SOCK_Stream.h
│ │ │ │ ├── SSL_SOCK_Stream.inl
│ │ │ │ └── sslconf.h
│ │ │ ├── SString.cpp
│ │ │ ├── SString.h
│ │ │ ├── SString.inl
│ │ │ ├── SStringfwd.h
│ │ │ ├── SUN_Proactor.cpp
│ │ │ ├── SUN_Proactor.h
│ │ │ ├── SV_Message.cpp
│ │ │ ├── SV_Message.h
│ │ │ ├── SV_Message.inl
│ │ │ ├── SV_Message_Queue.cpp
│ │ │ ├── SV_Message_Queue.h
│ │ │ ├── SV_Message_Queue.inl
│ │ │ ├── SV_Semaphore_Complex.cpp
│ │ │ ├── SV_Semaphore_Complex.h
│ │ │ ├── SV_Semaphore_Complex.inl
│ │ │ ├── SV_Semaphore_Simple.cpp
│ │ │ ├── SV_Semaphore_Simple.h
│ │ │ ├── SV_Semaphore_Simple.inl
│ │ │ ├── SV_Shared_Memory.cpp
│ │ │ ├── SV_Shared_Memory.h
│ │ │ ├── SV_Shared_Memory.inl
│ │ │ ├── Sample_History.cpp
│ │ │ ├── Sample_History.h
│ │ │ ├── Sample_History.inl
│ │ │ ├── Sbrk_Memory_Pool.cpp
│ │ │ ├── Sbrk_Memory_Pool.h
│ │ │ ├── Sched_Params.cpp
│ │ │ ├── Sched_Params.h
│ │ │ ├── Sched_Params.inl
│ │ │ ├── Select_Reactor.h
│ │ │ ├── Select_Reactor_Base.cpp
│ │ │ ├── Select_Reactor_Base.h
│ │ │ ├── Select_Reactor_Base.inl
│ │ │ ├── Select_Reactor_T.cpp
│ │ │ ├── Select_Reactor_T.h
│ │ │ ├── Select_Reactor_T.inl
│ │ │ ├── Semaphore.cpp
│ │ │ ├── Semaphore.h
│ │ │ ├── Semaphore.inl
│ │ │ ├── Service_Config.cpp
│ │ │ ├── Service_Config.h
│ │ │ ├── Service_Config.inl
│ │ │ ├── Service_Gestalt.cpp
│ │ │ ├── Service_Gestalt.h
│ │ │ ├── Service_Gestalt.inl
│ │ │ ├── Service_Manager.cpp
│ │ │ ├── Service_Manager.h
│ │ │ ├── Service_Object.cpp
│ │ │ ├── Service_Object.h
│ │ │ ├── Service_Object.inl
│ │ │ ├── Service_Repository.cpp
│ │ │ ├── Service_Repository.h
│ │ │ ├── Service_Repository.inl
│ │ │ ├── Service_Types.cpp
│ │ │ ├── Service_Types.h
│ │ │ ├── Service_Types.inl
│ │ │ ├── Shared_Memory.cpp
│ │ │ ├── Shared_Memory.h
│ │ │ ├── Shared_Memory_MM.cpp
│ │ │ ├── Shared_Memory_MM.h
│ │ │ ├── Shared_Memory_MM.inl
│ │ │ ├── Shared_Memory_Pool.cpp
│ │ │ ├── Shared_Memory_Pool.h
│ │ │ ├── Shared_Memory_SV.cpp
│ │ │ ├── Shared_Memory_SV.h
│ │ │ ├── Shared_Memory_SV.inl
│ │ │ ├── Shared_Object.cpp
│ │ │ ├── Shared_Object.h
│ │ │ ├── Shared_Object.inl
│ │ │ ├── Sig_Adapter.cpp
│ │ │ ├── Sig_Adapter.h
│ │ │ ├── Sig_Handler.cpp
│ │ │ ├── Sig_Handler.h
│ │ │ ├── Sig_Handler.inl
│ │ │ ├── Signal.cpp
│ │ │ ├── Signal.h
│ │ │ ├── Signal.inl
│ │ │ ├── Singleton.cpp
│ │ │ ├── Singleton.h
│ │ │ ├── Singleton.inl
│ │ │ ├── Sock_Connect.cpp
│ │ │ ├── Sock_Connect.h
│ │ │ ├── Stack_Trace.cpp
│ │ │ ├── Stack_Trace.h
│ │ │ ├── Static_Object_Lock.h
│ │ │ ├── Stats.cpp
│ │ │ ├── Stats.h
│ │ │ ├── Stats.inl
│ │ │ ├── Strategies_T.cpp
│ │ │ ├── Strategies_T.h
│ │ │ ├── Strategies_T.inl
│ │ │ ├── Stream.cpp
│ │ │ ├── Stream.h
│ │ │ ├── Stream.inl
│ │ │ ├── Stream_Modules.cpp
│ │ │ ├── Stream_Modules.h
│ │ │ ├── String_Base.cpp
│ │ │ ├── String_Base.h
│ │ │ ├── String_Base.inl
│ │ │ ├── String_Base_Const.cpp
│ │ │ ├── String_Base_Const.h
│ │ │ ├── Svc_Conf.h
│ │ │ ├── Svc_Conf.y
│ │ │ ├── Svc_Conf_Lexer.cpp
│ │ │ ├── Svc_Conf_Lexer.h
│ │ │ ├── Svc_Conf_Param.h
│ │ │ ├── Svc_Conf_Token_Table.h
│ │ │ ├── Svc_Conf_Tokens.h
│ │ │ ├── Svc_Conf_y.cpp
│ │ │ ├── Svc_Handler.cpp
│ │ │ ├── Svc_Handler.h
│ │ │ ├── Synch.h
│ │ │ ├── Synch_Options.cpp
│ │ │ ├── Synch_Options.h
│ │ │ ├── Synch_Traits.h
│ │ │ ├── System_Time.cpp
│ │ │ ├── System_Time.h
│ │ │ ├── TLI.cpp
│ │ │ ├── TLI.h
│ │ │ ├── TLI.inl
│ │ │ ├── TLI_Acceptor.cpp
│ │ │ ├── TLI_Acceptor.h
│ │ │ ├── TLI_Connector.cpp
│ │ │ ├── TLI_Connector.h
│ │ │ ├── TLI_Connector.inl
│ │ │ ├── TLI_Stream.cpp
│ │ │ ├── TLI_Stream.h
│ │ │ ├── TLI_Stream.inl
│ │ │ ├── TP_Reactor.cpp
│ │ │ ├── TP_Reactor.h
│ │ │ ├── TP_Reactor.inl
│ │ │ ├── TSS_Adapter.cpp
│ │ │ ├── TSS_Adapter.h
│ │ │ ├── TSS_T.cpp
│ │ │ ├── TSS_T.h
│ │ │ ├── TSS_T.inl
│ │ │ ├── TTY_IO.cpp
│ │ │ ├── TTY_IO.h
│ │ │ ├── Task.cpp
│ │ │ ├── Task.h
│ │ │ ├── Task.inl
│ │ │ ├── Task_Ex_T.cpp
│ │ │ ├── Task_Ex_T.h
│ │ │ ├── Task_Ex_T.inl
│ │ │ ├── Task_T.cpp
│ │ │ ├── Task_T.h
│ │ │ ├── Task_T.inl
│ │ │ ├── Test_and_Set.cpp
│ │ │ ├── Test_and_Set.h
│ │ │ ├── Thread.cpp
│ │ │ ├── Thread.h
│ │ │ ├── Thread.inl
│ │ │ ├── Thread_Adapter.cpp
│ │ │ ├── Thread_Adapter.h
│ │ │ ├── Thread_Adapter.inl
│ │ │ ├── Thread_Control.cpp
│ │ │ ├── Thread_Control.h
│ │ │ ├── Thread_Control.inl
│ │ │ ├── Thread_Exit.cpp
│ │ │ ├── Thread_Exit.h
│ │ │ ├── Thread_Hook.cpp
│ │ │ ├── Thread_Hook.h
│ │ │ ├── Thread_Manager.cpp
│ │ │ ├── Thread_Manager.h
│ │ │ ├── Thread_Manager.inl
│ │ │ ├── Thread_Mutex.cpp
│ │ │ ├── Thread_Mutex.h
│ │ │ ├── Thread_Mutex.inl
│ │ │ ├── Thread_Semaphore.cpp
│ │ │ ├── Thread_Semaphore.h
│ │ │ ├── Thread_Semaphore.inl
│ │ │ ├── Throughput_Stats.cpp
│ │ │ ├── Throughput_Stats.h
│ │ │ ├── Time_Policy.cpp
│ │ │ ├── Time_Policy.h
│ │ │ ├── Time_Policy.inl
│ │ │ ├── Time_Policy_T.cpp
│ │ │ ├── Time_Policy_T.h
│ │ │ ├── Time_Policy_T.inl
│ │ │ ├── Time_Value.cpp
│ │ │ ├── Time_Value.h
│ │ │ ├── Time_Value.inl
│ │ │ ├── Time_Value_T.cpp
│ │ │ ├── Time_Value_T.h
│ │ │ ├── Time_Value_T.inl
│ │ │ ├── Timeprobe.cpp
│ │ │ ├── Timeprobe.h
│ │ │ ├── Timeprobe.inl
│ │ │ ├── Timeprobe_T.cpp
│ │ │ ├── Timeprobe_T.h
│ │ │ ├── Timer_Hash.h
│ │ │ ├── Timer_Hash_T.cpp
│ │ │ ├── Timer_Hash_T.h
│ │ │ ├── Timer_Heap.h
│ │ │ ├── Timer_Heap_T.cpp
│ │ │ ├── Timer_Heap_T.h
│ │ │ ├── Timer_List.h
│ │ │ ├── Timer_List_T.cpp
│ │ │ ├── Timer_List_T.h
│ │ │ ├── Timer_Queue.h
│ │ │ ├── Timer_Queue_Adapters.cpp
│ │ │ ├── Timer_Queue_Adapters.h
│ │ │ ├── Timer_Queue_Adapters.inl
│ │ │ ├── Timer_Queue_Iterator.cpp
│ │ │ ├── Timer_Queue_Iterator.h
│ │ │ ├── Timer_Queue_Iterator.inl
│ │ │ ├── Timer_Queue_T.cpp
│ │ │ ├── Timer_Queue_T.h
│ │ │ ├── Timer_Queue_T.inl
│ │ │ ├── Timer_Queuefwd.h
│ │ │ ├── Timer_Wheel.h
│ │ │ ├── Timer_Wheel_T.cpp
│ │ │ ├── Timer_Wheel_T.h
│ │ │ ├── TkReactor/
│ │ │ │ ├── ACE_TkReactor_export.h
│ │ │ │ ├── TkReactor.cpp
│ │ │ │ └── TkReactor.h
│ │ │ ├── Token.cpp
│ │ │ ├── Token.h
│ │ │ ├── Token.inl
│ │ │ ├── Token_Collection.cpp
│ │ │ ├── Token_Collection.h
│ │ │ ├── Token_Collection.inl
│ │ │ ├── Token_Invariants.cpp
│ │ │ ├── Token_Invariants.h
│ │ │ ├── Token_Manager.cpp
│ │ │ ├── Token_Manager.h
│ │ │ ├── Token_Manager.inl
│ │ │ ├── Token_Request_Reply.cpp
│ │ │ ├── Token_Request_Reply.h
│ │ │ ├── Token_Request_Reply.inl
│ │ │ ├── Tokenizer_T.cpp
│ │ │ ├── Tokenizer_T.h
│ │ │ ├── Trace.cpp
│ │ │ ├── Trace.h
│ │ │ ├── Truncate.h
│ │ │ ├── Typed_SV_Message.cpp
│ │ │ ├── Typed_SV_Message.h
│ │ │ ├── Typed_SV_Message.inl
│ │ │ ├── Typed_SV_Message_Queue.cpp
│ │ │ ├── Typed_SV_Message_Queue.h
│ │ │ ├── Typed_SV_Message_Queue.inl
│ │ │ ├── UNIX_Addr.cpp
│ │ │ ├── UNIX_Addr.h
│ │ │ ├── UNIX_Addr.inl
│ │ │ ├── UPIPE_Acceptor.cpp
│ │ │ ├── UPIPE_Acceptor.h
│ │ │ ├── UPIPE_Acceptor.inl
│ │ │ ├── UPIPE_Addr.h
│ │ │ ├── UPIPE_Connector.cpp
│ │ │ ├── UPIPE_Connector.h
│ │ │ ├── UPIPE_Connector.inl
│ │ │ ├── UPIPE_Stream.cpp
│ │ │ ├── UPIPE_Stream.h
│ │ │ ├── UPIPE_Stream.inl
│ │ │ ├── UTF16_Encoding_Converter.cpp
│ │ │ ├── UTF16_Encoding_Converter.h
│ │ │ ├── UTF16_Encoding_Converter.inl
│ │ │ ├── UTF32_Encoding_Converter.cpp
│ │ │ ├── UTF32_Encoding_Converter.h
│ │ │ ├── UTF8_Encoding_Converter.cpp
│ │ │ ├── UTF8_Encoding_Converter.h
│ │ │ ├── UUID.cpp
│ │ │ ├── UUID.h
│ │ │ ├── UUID.inl
│ │ │ ├── Unbounded_Queue.cpp
│ │ │ ├── Unbounded_Queue.h
│ │ │ ├── Unbounded_Queue.inl
│ │ │ ├── Unbounded_Set.cpp
│ │ │ ├── Unbounded_Set.h
│ │ │ ├── Unbounded_Set.inl
│ │ │ ├── Unbounded_Set_Ex.cpp
│ │ │ ├── Unbounded_Set_Ex.h
│ │ │ ├── Unbounded_Set_Ex.inl
│ │ │ ├── Value_Ptr.h
│ │ │ ├── Vector_T.cpp
│ │ │ ├── Vector_T.h
│ │ │ ├── Vector_T.inl
│ │ │ ├── Version.h
│ │ │ ├── Versioned_Namespace.h
│ │ │ ├── WFMO_Reactor.cpp
│ │ │ ├── WFMO_Reactor.h
│ │ │ ├── WFMO_Reactor.inl
│ │ │ ├── WIN32_Asynch_IO.cpp
│ │ │ ├── WIN32_Asynch_IO.h
│ │ │ ├── WIN32_Proactor.cpp
│ │ │ ├── WIN32_Proactor.h
│ │ │ ├── XML_Svc_Conf.cpp
│ │ │ ├── XML_Svc_Conf.h
│ │ │ ├── XML_Utils/
│ │ │ │ ├── XMLSchema/
│ │ │ │ │ ├── Traversal.hpp
│ │ │ │ │ ├── Traversal.ipp
│ │ │ │ │ ├── TypeInfo.hpp
│ │ │ │ │ ├── TypeInfo.ipp
│ │ │ │ │ ├── TypeInfo.tpp
│ │ │ │ │ ├── Types.hpp
│ │ │ │ │ ├── Types.ipp
│ │ │ │ │ ├── Writer.hpp
│ │ │ │ │ ├── Writer.ipp
│ │ │ │ │ └── id_map.hpp
│ │ │ │ ├── XML_Error_Handler.cpp
│ │ │ │ ├── XML_Error_Handler.h
│ │ │ │ ├── XML_Helper.h
│ │ │ │ ├── XML_Schema_Resolver.cpp
│ │ │ │ ├── XML_Schema_Resolver.h
│ │ │ │ ├── XML_Typedefs.cpp
│ │ │ │ ├── XML_Typedefs.h
│ │ │ │ ├── XML_Utils_Export.h
│ │ │ │ ├── XSCRT/
│ │ │ │ │ ├── Elements.hpp
│ │ │ │ │ ├── ExtendedTypeInfo.hpp
│ │ │ │ │ ├── ExtendedTypeInfo.ipp
│ │ │ │ │ ├── Parser.hpp
│ │ │ │ │ ├── Traversal.hpp
│ │ │ │ │ ├── Traversal.tpp
│ │ │ │ │ ├── Writer.hpp
│ │ │ │ │ ├── XML.hpp
│ │ │ │ │ └── XMLSchema.hpp
│ │ │ │ ├── XercesString.cpp
│ │ │ │ └── XercesString.h
│ │ │ ├── XTI_ATM_Mcast.cpp
│ │ │ ├── XTI_ATM_Mcast.h
│ │ │ ├── XTI_ATM_Mcast.inl
│ │ │ ├── XtReactor/
│ │ │ │ ├── ACE_XtReactor_export.h
│ │ │ │ ├── XtReactor.cpp
│ │ │ │ └── XtReactor.h
│ │ │ ├── ace.rc
│ │ │ ├── ace_wchar.cpp
│ │ │ ├── ace_wchar.h
│ │ │ ├── ace_wchar.inl
│ │ │ ├── checked_iterator.h
│ │ │ ├── config-WinCE.h
│ │ │ ├── config-aix-5.x.h
│ │ │ ├── config-aix-7.h
│ │ │ ├── config-all.h
│ │ │ ├── config-android.h
│ │ │ ├── config-cygwin32.h
│ │ │ ├── config-freebsd.h
│ │ │ ├── config-g++-common.h
│ │ │ ├── config-hpux-11.00.h
│ │ │ ├── config-icc-common.h
│ │ │ ├── config-integritySCA.h
│ │ │ ├── config-kfreebsd.h
│ │ │ ├── config-linux.h
│ │ │ ├── config-lite.h
│ │ │ ├── config-lynxos.h
│ │ │ ├── config-macosx-iOS-hardware.h
│ │ │ ├── config-macosx-iOS-simulator.h
│ │ │ ├── config-macosx-leopard.h
│ │ │ ├── config-macosx-lion.h
│ │ │ ├── config-macosx-panther.h
│ │ │ ├── config-macosx-snowleopard.h
│ │ │ ├── config-macosx-tiger.h
│ │ │ ├── config-macosx.h
│ │ │ ├── config-macros.h
│ │ │ ├── config-netbsd.h
│ │ │ ├── config-openbsd.h
│ │ │ ├── config-openvms.h
│ │ │ ├── config-pharlap.h
│ │ │ ├── config-posix-nonetworking.h
│ │ │ ├── config-posix.h
│ │ │ ├── config-qnx.h
│ │ │ ├── config-rtems.h
│ │ │ ├── config-suncc-common.h
│ │ │ ├── config-sunos5.10.h
│ │ │ ├── config-sunos5.11.h
│ │ │ ├── config-sunos5.4-g++.h
│ │ │ ├── config-sunos5.4-sunc++-4.x.h
│ │ │ ├── config-sunos5.5.h
│ │ │ ├── config-sunos5.6.h
│ │ │ ├── config-sunos5.7.h
│ │ │ ├── config-sunos5.8.h
│ │ │ ├── config-sunos5.9.h
│ │ │ ├── config-vxworks.h
│ │ │ ├── config-vxworks6.4.h
│ │ │ ├── config-vxworks6.5.h
│ │ │ ├── config-vxworks6.6.h
│ │ │ ├── config-vxworks6.7.h
│ │ │ ├── config-vxworks6.8.h
│ │ │ ├── config-vxworks6.9.h
│ │ │ ├── config-win32-cegcc.h
│ │ │ ├── config-win32-common.h
│ │ │ ├── config-win32-dmc.h
│ │ │ ├── config-win32-interix.h
│ │ │ ├── config-win32-mingw.h
│ │ │ ├── config-win32-msvc-10.h
│ │ │ ├── config-win32-msvc-11.h
│ │ │ ├── config-win32-msvc-12.h
│ │ │ ├── config-win32-msvc-14.h
│ │ │ ├── config-win32-msvc-7.h
│ │ │ ├── config-win32-msvc-8.h
│ │ │ ├── config-win32-msvc-9.h
│ │ │ ├── config-win32-msvc.h
│ │ │ ├── config-win32.h
│ │ │ ├── config-windows.h
│ │ │ ├── iosfwd.h
│ │ │ ├── os_include/
│ │ │ │ ├── arpa/
│ │ │ │ │ └── os_inet.h
│ │ │ │ ├── net/
│ │ │ │ │ └── os_if.h
│ │ │ │ ├── netinet/
│ │ │ │ │ ├── os_in.h
│ │ │ │ │ └── os_tcp.h
│ │ │ │ ├── os_aio.h
│ │ │ │ ├── os_assert.h
│ │ │ │ ├── os_byteswap.h
│ │ │ │ ├── os_complex.h
│ │ │ │ ├── os_cpio.h
│ │ │ │ ├── os_ctype.h
│ │ │ │ ├── os_dirent.h
│ │ │ │ ├── os_dlfcn.h
│ │ │ │ ├── os_errno.h
│ │ │ │ ├── os_fcntl.h
│ │ │ │ ├── os_fenv.h
│ │ │ │ ├── os_float.h
│ │ │ │ ├── os_fmtmsg.h
│ │ │ │ ├── os_fnmatch.h
│ │ │ │ ├── os_ftw.h
│ │ │ │ ├── os_glob.h
│ │ │ │ ├── os_grp.h
│ │ │ │ ├── os_iconv.h
│ │ │ │ ├── os_ifaddrs.h
│ │ │ │ ├── os_intrin.h
│ │ │ │ ├── os_inttypes.h
│ │ │ │ ├── os_iso646.h
│ │ │ │ ├── os_kstat.h
│ │ │ │ ├── os_langinfo.h
│ │ │ │ ├── os_libgen.h
│ │ │ │ ├── os_limits.h
│ │ │ │ ├── os_local.h
│ │ │ │ ├── os_math.h
│ │ │ │ ├── os_monetary.h
│ │ │ │ ├── os_mqueue.h
│ │ │ │ ├── os_ndbm.h
│ │ │ │ ├── os_netdb.h
│ │ │ │ ├── os_nl_types.h
│ │ │ │ ├── os_pdh.h
│ │ │ │ ├── os_pdhmsg.h
│ │ │ │ ├── os_poll.h
│ │ │ │ ├── os_pthread.h
│ │ │ │ ├── os_pwd.h
│ │ │ │ ├── os_regex.h
│ │ │ │ ├── os_sched.h
│ │ │ │ ├── os_search.h
│ │ │ │ ├── os_semaphore.h
│ │ │ │ ├── os_setjmp.h
│ │ │ │ ├── os_signal.h
│ │ │ │ ├── os_spawn.h
│ │ │ │ ├── os_stdarg.h
│ │ │ │ ├── os_stdbool.h
│ │ │ │ ├── os_stddef.h
│ │ │ │ ├── os_stdint.h
│ │ │ │ ├── os_stdio.h
│ │ │ │ ├── os_stdlib.h
│ │ │ │ ├── os_string.h
│ │ │ │ ├── os_strings.h
│ │ │ │ ├── os_stropts.h
│ │ │ │ ├── os_syslog.h
│ │ │ │ ├── os_tar.h
│ │ │ │ ├── os_termios.h
│ │ │ │ ├── os_tgmath.h
│ │ │ │ ├── os_time.h
│ │ │ │ ├── os_trace.h
│ │ │ │ ├── os_typeinfo.h
│ │ │ │ ├── os_ucontext.h
│ │ │ │ ├── os_ulimit.h
│ │ │ │ ├── os_unistd.h
│ │ │ │ ├── os_utime.h
│ │ │ │ ├── os_utmpx.h
│ │ │ │ ├── os_wchar.h
│ │ │ │ ├── os_wctype.h
│ │ │ │ ├── os_wordexp.h
│ │ │ │ └── sys/
│ │ │ │ ├── os_ipc.h
│ │ │ │ ├── os_loadavg.h
│ │ │ │ ├── os_mman.h
│ │ │ │ ├── os_msg.h
│ │ │ │ ├── os_pstat.h
│ │ │ │ ├── os_resource.h
│ │ │ │ ├── os_select.h
│ │ │ │ ├── os_sem.h
│ │ │ │ ├── os_shm.h
│ │ │ │ ├── os_socket.h
│ │ │ │ ├── os_stat.h
│ │ │ │ ├── os_statvfs.h
│ │ │ │ ├── os_sysctl.h
│ │ │ │ ├── os_sysinfo.h
│ │ │ │ ├── os_time.h
│ │ │ │ ├── os_timeb.h
│ │ │ │ ├── os_times.h
│ │ │ │ ├── os_types.h
│ │ │ │ ├── os_uio.h
│ │ │ │ ├── os_un.h
│ │ │ │ ├── os_utsname.h
│ │ │ │ └── os_wait.h
│ │ │ ├── post.h
│ │ │ ├── pre.h
│ │ │ ├── streams.h
│ │ │ └── svc_export.h
│ │ ├── ace-v6.1.4_hotfix1.diff
│ │ ├── ace-v6.1.4_hotfix2.diff
│ │ └── ace-v6.1.4_hotfix3.diff
│ ├── bzip2/
│ │ ├── CMakeLists.txt
│ │ ├── LICENSE
│ │ ├── README
│ │ ├── blocksort.c
│ │ ├── bzlib.c
│ │ ├── bzlib.h
│ │ ├── bzlib_private.h
│ │ ├── compress.c
│ │ ├── crctable.c
│ │ ├── decompress.c
│ │ ├── huffman.c
│ │ └── randtable.c
│ ├── g3dlite/
│ │ ├── CMakeLists.txt
│ │ ├── G3D-v8.0_hotfix1.diff
│ │ ├── G3D-v8.0_hotfix2.diff
│ │ ├── G3D-v8.0_hotfix3.diff
│ │ ├── G3D-v8.0_hotfix4.diff
│ │ ├── G3D-v8.0_hotfix5.diff
│ │ ├── G3D-v8.0_hotfix6.diff
│ │ ├── G3D-v8.0_hotfix7.diff
│ │ ├── G3D-v8.0_hotfix8.diff
│ │ ├── Readme.txt
│ │ ├── include/
│ │ │ └── G3D/
│ │ │ ├── AABox.h
│ │ │ ├── Any.h
│ │ │ ├── AnyVal.h
│ │ │ ├── AreaMemoryManager.h
│ │ │ ├── Array.h
│ │ │ ├── AtomicInt32.h
│ │ │ ├── BinaryFormat.h
│ │ │ ├── BinaryInput.h
│ │ │ ├── BinaryOutput.h
│ │ │ ├── BoundsTrait.h
│ │ │ ├── Box.h
│ │ │ ├── Box2D.h
│ │ │ ├── BumpMapPreprocess.h
│ │ │ ├── Capsule.h
│ │ │ ├── CollisionDetection.h
│ │ │ ├── Color1.h
│ │ │ ├── Color1uint8.h
│ │ │ ├── Color3.h
│ │ │ ├── Color3uint8.h
│ │ │ ├── Color4.h
│ │ │ ├── Color4uint8.h
│ │ │ ├── Cone.h
│ │ │ ├── ConvexPolyhedron.h
│ │ │ ├── CoordinateFrame.h
│ │ │ ├── Crypto.h
│ │ │ ├── Cylinder.h
│ │ │ ├── EqualsTrait.h
│ │ │ ├── FileSystem.h
│ │ │ ├── G3D.h
│ │ │ ├── G3DAll.h
│ │ │ ├── G3DGameUnits.h
│ │ │ ├── GCamera.h
│ │ │ ├── GImage.h
│ │ │ ├── GLight.h
│ │ │ ├── GMutex.h
│ │ │ ├── GThread.h
│ │ │ ├── GUniqueID.h
│ │ │ ├── HashTrait.h
│ │ │ ├── Image1.h
│ │ │ ├── Image1uint8.h
│ │ │ ├── Image3.h
│ │ │ ├── Image3uint8.h
│ │ │ ├── Image4.h
│ │ │ ├── Image4uint8.h
│ │ │ ├── ImageFormat.h
│ │ │ ├── Intersect.h
│ │ │ ├── KDTree.h
│ │ │ ├── Line.h
│ │ │ ├── LineSegment.h
│ │ │ ├── Log.h
│ │ │ ├── Map2D.h
│ │ │ ├── Matrix.h
│ │ │ ├── Matrix2.h
│ │ │ ├── Matrix3.h
│ │ │ ├── Matrix4.h
│ │ │ ├── MemoryManager.h
│ │ │ ├── MeshAlg.h
│ │ │ ├── MeshBuilder.h
│ │ │ ├── NetAddress.h
│ │ │ ├── NetworkDevice.h
│ │ │ ├── ParseError.h
│ │ │ ├── PhysicsFrame.h
│ │ │ ├── PhysicsFrameSpline.h
│ │ │ ├── Plane.h
│ │ │ ├── PointHashGrid.h
│ │ │ ├── PointKDTree.h
│ │ │ ├── Pointer.h
│ │ │ ├── PositionTrait.h
│ │ │ ├── PrecomputedRandom.h
│ │ │ ├── Quat.h
│ │ │ ├── Queue.h
│ │ │ ├── Random.h
│ │ │ ├── Ray.h
│ │ │ ├── Rect2D.h
│ │ │ ├── ReferenceCount.h
│ │ │ ├── RegistryUtil.h
│ │ │ ├── Set.h
│ │ │ ├── SmallArray.h
│ │ │ ├── Sphere.h
│ │ │ ├── Spline.h
│ │ │ ├── Stopwatch.h
│ │ │ ├── System.h
│ │ │ ├── Table.h
│ │ │ ├── TextInput.h
│ │ │ ├── TextOutput.h
│ │ │ ├── ThreadSet.h
│ │ │ ├── Triangle.h
│ │ │ ├── UprightFrame.h
│ │ │ ├── Vector2.h
│ │ │ ├── Vector2int16.h
│ │ │ ├── Vector3.h
│ │ │ ├── Vector3int16.h
│ │ │ ├── Vector3int32.h
│ │ │ ├── Vector4.h
│ │ │ ├── Vector4int8.h
│ │ │ ├── WeakCache.h
│ │ │ ├── Welder.h
│ │ │ ├── WrapMode.h
│ │ │ ├── XML.h
│ │ │ ├── constants.h
│ │ │ ├── debug.h
│ │ │ ├── debugAssert.h
│ │ │ ├── debugPrintf.h
│ │ │ ├── enumclass.h
│ │ │ ├── fileutils.h
│ │ │ ├── filter.h
│ │ │ ├── format.h
│ │ │ ├── g3dfnmatch.h
│ │ │ ├── g3dmath.h
│ │ │ ├── netheaders.h
│ │ │ ├── networkHelpers.h
│ │ │ ├── platform.h
│ │ │ ├── prompt.h
│ │ │ ├── serialize.h
│ │ │ ├── splinefunc.h
│ │ │ ├── stringutils.h
│ │ │ ├── uint128.h
│ │ │ ├── units.h
│ │ │ └── vectorMath.h
│ │ └── source/
│ │ ├── AABox.cpp
│ │ ├── Any.cpp
│ │ ├── AnyVal.cpp
│ │ ├── AreaMemoryManager.cpp
│ │ ├── BinaryFormat.cpp
│ │ ├── BinaryInput.cpp
│ │ ├── BinaryOutput.cpp
│ │ ├── Box.cpp
│ │ ├── Box2D.cpp
│ │ ├── BumpMapPreprocess.cpp
│ │ ├── Capsule.cpp
│ │ ├── CollisionDetection.cpp
│ │ ├── Color1.cpp
│ │ ├── Color1uint8.cpp
│ │ ├── Color3.cpp
│ │ ├── Color3uint8.cpp
│ │ ├── Color4.cpp
│ │ ├── Color4uint8.cpp
│ │ ├── Cone.cpp
│ │ ├── ConvexPolyhedron.cpp
│ │ ├── CoordinateFrame.cpp
│ │ ├── Crypto.cpp
│ │ ├── Crypto_md5.cpp
│ │ ├── Cylinder.cpp
│ │ ├── FileSystem.cpp
│ │ ├── GCamera.cpp
│ │ ├── GImage.cpp
│ │ ├── GImage_bayer.cpp
│ │ ├── GImage_bmp.cpp
│ │ ├── GImage_jpeg.cpp
│ │ ├── GImage_png.cpp
│ │ ├── GImage_ppm.cpp
│ │ ├── GImage_tga.cpp
│ │ ├── GLight.cpp
│ │ ├── GThread.cpp
│ │ ├── GUniqueID.cpp
│ │ ├── Image1.cpp
│ │ ├── Image1uint8.cpp
│ │ ├── Image3.cpp
│ │ ├── Image3uint8.cpp
│ │ ├── Image4.cpp
│ │ ├── Image4uint8.cpp
│ │ ├── ImageFormat.cpp
│ │ ├── ImageFormat_convert.cpp
│ │ ├── Intersect.cpp
│ │ ├── Line.cpp
│ │ ├── LineSegment.cpp
│ │ ├── Log.cpp
│ │ ├── Matrix.cpp
│ │ ├── Matrix3.cpp
│ │ ├── Matrix4.cpp
│ │ ├── MemoryManager.cpp
│ │ ├── MeshAlg.cpp
│ │ ├── MeshAlgAdjacency.cpp
│ │ ├── MeshAlgWeld.cpp
│ │ ├── MeshBuilder.cpp
│ │ ├── NetAddress.cpp
│ │ ├── NetworkDevice.cpp
│ │ ├── PhysicsFrame.cpp
│ │ ├── PhysicsFrameSpline.cpp
│ │ ├── Plane.cpp
│ │ ├── PrecomputedRandom.cpp
│ │ ├── Quat.cpp
│ │ ├── Random.cpp
│ │ ├── Ray.cpp
│ │ ├── Rect2D.cpp
│ │ ├── ReferenceCount.cpp
│ │ ├── RegistryUtil.cpp
│ │ ├── Sphere.cpp
│ │ ├── SplineBase.cpp
│ │ ├── Stopwatch.cpp
│ │ ├── System.cpp
│ │ ├── TextInput.cpp
│ │ ├── TextOutput.cpp
│ │ ├── ThreadSet.cpp
│ │ ├── Triangle.cpp
│ │ ├── UprightFrame.cpp
│ │ ├── Vector2.cpp
│ │ ├── Vector2int16.cpp
│ │ ├── Vector3.cpp
│ │ ├── Vector3int16.cpp
│ │ ├── Vector3int32.cpp
│ │ ├── Vector4.cpp
│ │ ├── Vector4int8.cpp
│ │ ├── Welder.cpp
│ │ ├── WinMain.cpp
│ │ ├── XML.cpp
│ │ ├── constants.cpp
│ │ ├── debugAssert.cpp
│ │ ├── fileutils.cpp
│ │ ├── filter.cpp
│ │ ├── format.cpp
│ │ ├── g3dfnmatch.cpp
│ │ ├── g3dmath.cpp
│ │ ├── license.cpp
│ │ ├── prompt.cpp
│ │ ├── stringutils.cpp
│ │ └── uint128.cpp
│ ├── gsoap/
│ │ ├── CMakeLists.txt
│ │ ├── soapC.cpp
│ │ ├── soapH.h
│ │ ├── soapService.cpp
│ │ ├── soapService.h
│ │ ├── soapStub.h
│ │ ├── stdsoap2.cpp
│ │ └── stdsoap2.h
│ ├── jemalloc/
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── ChangeLog
│ │ ├── README
│ │ ├── TC_NOTE.txt
│ │ ├── VERSION
│ │ ├── include/
│ │ │ ├── jemalloc/
│ │ │ │ ├── internal/
│ │ │ │ │ ├── arena.h
│ │ │ │ │ ├── atomic.h
│ │ │ │ │ ├── base.h
│ │ │ │ │ ├── bitmap.h
│ │ │ │ │ ├── chunk.h
│ │ │ │ │ ├── chunk_dss.h
│ │ │ │ │ ├── chunk_mmap.h
│ │ │ │ │ ├── ckh.h
│ │ │ │ │ ├── ctl.h
│ │ │ │ │ ├── extent.h
│ │ │ │ │ ├── hash.h
│ │ │ │ │ ├── huge.h
│ │ │ │ │ ├── jemalloc_internal.h
│ │ │ │ │ ├── mb.h
│ │ │ │ │ ├── mutex.h
│ │ │ │ │ ├── private_namespace.h
│ │ │ │ │ ├── prng.h
│ │ │ │ │ ├── prof.h
│ │ │ │ │ ├── ql.h
│ │ │ │ │ ├── qr.h
│ │ │ │ │ ├── quarantine.h
│ │ │ │ │ ├── rb.h
│ │ │ │ │ ├── rtree.h
│ │ │ │ │ ├── size_classes.h
│ │ │ │ │ ├── stats.h
│ │ │ │ │ ├── tcache.h
│ │ │ │ │ ├── tsd.h
│ │ │ │ │ └── util.h
│ │ │ │ └── jemalloc.h
│ │ │ └── msvc_compat/
│ │ │ ├── inttypes.h
│ │ │ ├── stdbool.h
│ │ │ ├── stdint.h
│ │ │ └── strings.h
│ │ ├── jemalloc_defs.h.in.cmake
│ │ └── src/
│ │ ├── arena.c
│ │ ├── atomic.c
│ │ ├── base.c
│ │ ├── bitmap.c
│ │ ├── chunk.c
│ │ ├── chunk_dss.c
│ │ ├── chunk_mmap.c
│ │ ├── ckh.c
│ │ ├── ctl.c
│ │ ├── extent.c
│ │ ├── hash.c
│ │ ├── huge.c
│ │ ├── jemalloc.c
│ │ ├── mb.c
│ │ ├── mutex.c
│ │ ├── prof.c
│ │ ├── quarantine.c
│ │ ├── rtree.c
│ │ ├── stats.c
│ │ ├── tcache.c
│ │ ├── tsd.c
│ │ ├── util.c
│ │ └── zone.c
│ ├── mysqllite/
│ │ ├── CMakeLists.txt
│ │ ├── COPYING
│ │ ├── README
│ │ ├── VERSION
│ │ ├── cmake/
│ │ │ ├── character_sets.cmake
│ │ │ ├── mysql_version.cmake
│ │ │ ├── os/
│ │ │ │ ├── Windows.cmake
│ │ │ │ └── WindowsCache.cmake
│ │ │ ├── stack_direction.c
│ │ │ └── versioninfo.rc.in
│ │ ├── config.h.cmake
│ │ ├── configure.cmake
│ │ ├── dbug/
│ │ │ ├── dbug.c
│ │ │ ├── dbug_long.h
│ │ │ ├── monty.doc
│ │ │ └── user.r
│ │ ├── include/
│ │ │ ├── decimal.h
│ │ │ ├── errmsg.h
│ │ │ ├── internal/
│ │ │ │ ├── atomic/
│ │ │ │ │ ├── gcc_builtins.h
│ │ │ │ │ ├── generic-msvc.h
│ │ │ │ │ ├── nolock.h
│ │ │ │ │ ├── rwlock.h
│ │ │ │ │ ├── solaris.h
│ │ │ │ │ └── x86-gcc.h
│ │ │ │ ├── base64.h
│ │ │ │ ├── hash.h
│ │ │ │ ├── lf.h
│ │ │ │ ├── my_aes.h
│ │ │ │ ├── my_alarm.h
│ │ │ │ ├── my_atomic.h
│ │ │ │ ├── my_base.h
│ │ │ │ ├── my_bit.h
│ │ │ │ ├── my_bitmap.h
│ │ │ │ ├── my_handler.h
│ │ │ │ ├── my_libwrap.h
│ │ │ │ ├── my_md5.h
│ │ │ │ ├── my_nosys.h
│ │ │ │ ├── my_rdtsc.h
│ │ │ │ ├── my_stacktrace.h
│ │ │ │ ├── my_time.h
│ │ │ │ ├── my_tree.h
│ │ │ │ ├── my_uctype.h
│ │ │ │ ├── myisampack.h
│ │ │ │ ├── mysql_version.h.in
│ │ │ │ ├── mysys_err.h
│ │ │ │ ├── password.h
│ │ │ │ ├── probes_mysql.h
│ │ │ │ ├── probes_mysql_nodtrace.h
│ │ │ │ ├── queues.h
│ │ │ │ ├── rijndael.h
│ │ │ │ ├── sha1.h
│ │ │ │ ├── t_ctype.h
│ │ │ │ ├── thr_alarm.h
│ │ │ │ ├── thr_lock.h
│ │ │ │ └── violite.h
│ │ │ ├── keycache.h
│ │ │ ├── m_ctype.h
│ │ │ ├── m_string.h
│ │ │ ├── my_alloc.h
│ │ │ ├── my_attribute.h
│ │ │ ├── my_compiler.h
│ │ │ ├── my_dbug.h
│ │ │ ├── my_dir.h
│ │ │ ├── my_getopt.h
│ │ │ ├── my_global.h
│ │ │ ├── my_list.h
│ │ │ ├── my_net.h
│ │ │ ├── my_pthread.h
│ │ │ ├── my_sys.h
│ │ │ ├── my_xml.h
│ │ │ ├── mysql/
│ │ │ │ ├── client_plugin.h
│ │ │ │ ├── innodb_priv.h
│ │ │ │ ├── plugin.h
│ │ │ │ ├── plugin_audit.h
│ │ │ │ ├── plugin_auth.h
│ │ │ │ ├── plugin_auth_common.h
│ │ │ │ ├── plugin_ftparser.h
│ │ │ │ ├── psi/
│ │ │ │ │ ├── mysql_file.h
│ │ │ │ │ ├── mysql_thread.h
│ │ │ │ │ ├── psi.h
│ │ │ │ │ ├── psi_abi_v1.h
│ │ │ │ │ └── psi_abi_v2.h
│ │ │ │ ├── service_my_snprintf.h
│ │ │ │ ├── service_thd_alloc.h
│ │ │ │ ├── service_thd_wait.h
│ │ │ │ ├── service_thread_scheduler.h
│ │ │ │ └── services.h
│ │ │ ├── mysql.h
│ │ │ ├── mysql_com.h
│ │ │ ├── mysql_embed.h
│ │ │ ├── mysql_time.h
│ │ │ ├── mysqld_ername.h
│ │ │ ├── mysqld_error.h
│ │ │ ├── plugin.h
│ │ │ ├── plugin_audit.h
│ │ │ ├── plugin_ftparser.h
│ │ │ ├── sql_common.h
│ │ │ ├── sql_state.h
│ │ │ ├── sslopt-case.h
│ │ │ ├── sslopt-longopts.h
│ │ │ ├── sslopt-vars.h
│ │ │ └── typelib.h
│ │ ├── libmysql/
│ │ │ ├── client_settings.h
│ │ │ ├── errmsg.c
│ │ │ ├── get_password.c
│ │ │ ├── libmysql.c
│ │ │ └── libmysql_exports.def
│ │ ├── mysys/
│ │ │ ├── ChangeLog
│ │ │ ├── array.c
│ │ │ ├── base64.c
│ │ │ ├── charset-def.c
│ │ │ ├── charset.c
│ │ │ ├── checksum.c
│ │ │ ├── default.c
│ │ │ ├── errors.c
│ │ │ ├── hash.c
│ │ │ ├── lf_alloc-pin.c
│ │ │ ├── lf_dynarray.c
│ │ │ ├── lf_hash.c
│ │ │ ├── list.c
│ │ │ ├── md5.c
│ │ │ ├── mf_arr_appstr.c
│ │ │ ├── mf_cache.c
│ │ │ ├── mf_dirname.c
│ │ │ ├── mf_fn_ext.c
│ │ │ ├── mf_format.c
│ │ │ ├── mf_getdate.c
│ │ │ ├── mf_iocache.c
│ │ │ ├── mf_iocache2.c
│ │ │ ├── mf_keycache.c
│ │ │ ├── mf_keycaches.c
│ │ │ ├── mf_loadpath.c
│ │ │ ├── mf_pack.c
│ │ │ ├── mf_path.c
│ │ │ ├── mf_qsort.c
│ │ │ ├── mf_qsort2.c
│ │ │ ├── mf_radix.c
│ │ │ ├── mf_same.c
│ │ │ ├── mf_sort.c
│ │ │ ├── mf_soundex.c
│ │ │ ├── mf_tempdir.c
│ │ │ ├── mf_tempfile.c
│ │ │ ├── mf_unixpath.c
│ │ │ ├── mf_wcomp.c
│ │ │ ├── mulalloc.c
│ │ │ ├── my_access.c
│ │ │ ├── my_aes.c
│ │ │ ├── my_alarm.c
│ │ │ ├── my_alloc.c
│ │ │ ├── my_atomic.c
│ │ │ ├── my_bit.c
│ │ │ ├── my_bitmap.c
│ │ │ ├── my_chsize.c
│ │ │ ├── my_compress.c
│ │ │ ├── my_conio.c
│ │ │ ├── my_copy.c
│ │ │ ├── my_create.c
│ │ │ ├── my_delete.c
│ │ │ ├── my_div.c
│ │ │ ├── my_error.c
│ │ │ ├── my_file.c
│ │ │ ├── my_fopen.c
│ │ │ ├── my_fstream.c
│ │ │ ├── my_gethostbyname.c
│ │ │ ├── my_gethwaddr.c
│ │ │ ├── my_getncpus.c
│ │ │ ├── my_getopt.c
│ │ │ ├── my_getpagesize.c
│ │ │ ├── my_getsystime.c
│ │ │ ├── my_getwd.c
│ │ │ ├── my_handler.c
│ │ │ ├── my_handler_errors.h
│ │ │ ├── my_init.c
│ │ │ ├── my_largepage.c
│ │ │ ├── my_lib.c
│ │ │ ├── my_libwrap.c
│ │ │ ├── my_lock.c
│ │ │ ├── my_lockmem.c
│ │ │ ├── my_malloc.c
│ │ │ ├── my_memmem.c
│ │ │ ├── my_mess.c
│ │ │ ├── my_mkdir.c
│ │ │ ├── my_mmap.c
│ │ │ ├── my_new.cc
│ │ │ ├── my_once.c
│ │ │ ├── my_open.c
│ │ │ ├── my_port.c
│ │ │ ├── my_pread.c
│ │ │ ├── my_pthread.c
│ │ │ ├── my_quick.c
│ │ │ ├── my_rdtsc.c
│ │ │ ├── my_read.c
│ │ │ ├── my_redel.c
│ │ │ ├── my_rename.c
│ │ │ ├── my_seek.c
│ │ │ ├── my_sleep.c
│ │ │ ├── my_static.c
│ │ │ ├── my_static.h
│ │ │ ├── my_symlink.c
│ │ │ ├── my_symlink2.c
│ │ │ ├── my_sync.c
│ │ │ ├── my_thr_init.c
│ │ │ ├── my_wincond.c
│ │ │ ├── my_windac.c
│ │ │ ├── my_winerr.c
│ │ │ ├── my_winfile.c
│ │ │ ├── my_winthread.c
│ │ │ ├── my_write.c
│ │ │ ├── mysys_priv.h
│ │ │ ├── ptr_cmp.c
│ │ │ ├── queues.c
│ │ │ ├── rijndael.c
│ │ │ ├── sha1.c
│ │ │ ├── stacktrace.c
│ │ │ ├── string.c
│ │ │ ├── thr_alarm.c
│ │ │ ├── thr_lock.c
│ │ │ ├── thr_mutex.c
│ │ │ ├── thr_rwlock.c
│ │ │ ├── tree.c
│ │ │ └── typelib.c
│ │ ├── sql/
│ │ │ ├── net_serv.cc
│ │ │ └── password.c
│ │ ├── sql-common/
│ │ │ ├── client.c
│ │ │ ├── client_plugin.c
│ │ │ ├── my_time.c
│ │ │ └── pack.c
│ │ ├── strings/
│ │ │ ├── CHARSET_INFO.txt
│ │ │ ├── README
│ │ │ ├── bchange.c
│ │ │ ├── bmove_upp.c
│ │ │ ├── ctype-big5.c
│ │ │ ├── ctype-bin.c
│ │ │ ├── ctype-cp932.c
│ │ │ ├── ctype-czech.c
│ │ │ ├── ctype-euc_kr.c
│ │ │ ├── ctype-extra.c
│ │ │ ├── ctype-gb2312.c
│ │ │ ├── ctype-gbk.c
│ │ │ ├── ctype-latin1.c
│ │ │ ├── ctype-mb.c
│ │ │ ├── ctype-simple.c
│ │ │ ├── ctype-tis620.c
│ │ │ ├── ctype-uca.c
│ │ │ ├── ctype-ucs2.c
│ │ │ ├── ctype-utf8.c
│ │ │ ├── ctype-win1250ch.c
│ │ │ ├── ctype.c
│ │ │ ├── decimal.c
│ │ │ ├── dtoa.c
│ │ │ ├── int2str.c
│ │ │ ├── is_prefix.c
│ │ │ ├── latin2.def
│ │ │ ├── llstr.c
│ │ │ ├── longlong2str.c
│ │ │ ├── my_strchr.c
│ │ │ ├── my_strtoll10.c
│ │ │ ├── my_vsnprintf.c
│ │ │ ├── str2int.c
│ │ │ ├── str_alloc.c
│ │ │ ├── strappend.c
│ │ │ ├── strcend.c
│ │ │ ├── strcont.c
│ │ │ ├── strend.c
│ │ │ ├── strfill.c
│ │ │ ├── strmake.c
│ │ │ ├── strmov.c
│ │ │ ├── strnlen.c
│ │ │ ├── strnmov.c
│ │ │ ├── strxmov.c
│ │ │ ├── strxnmov.c
│ │ │ ├── t_ctype.h
│ │ │ └── xml.c
│ │ └── vio/
│ │ ├── vio.c
│ │ ├── vio_priv.h
│ │ ├── viosocket.c
│ │ ├── viossl.c
│ │ └── viosslfactories.c
│ ├── recastnavigation/
│ │ ├── CMakeLists.txt
│ │ ├── Detour/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Include/
│ │ │ │ ├── DetourAlloc.h
│ │ │ │ ├── DetourAssert.h
│ │ │ │ ├── DetourCommon.h
│ │ │ │ ├── DetourNavMesh.h
│ │ │ │ ├── DetourNavMeshBuilder.h
│ │ │ │ ├── DetourNavMeshQuery.h
│ │ │ │ ├── DetourNode.h
│ │ │ │ └── DetourStatus.h
│ │ │ └── Source/
│ │ │ ├── DetourAlloc.cpp
│ │ │ ├── DetourCommon.cpp
│ │ │ ├── DetourNavMesh.cpp
│ │ │ ├── DetourNavMeshBuilder.cpp
│ │ │ ├── DetourNavMeshQuery.cpp
│ │ │ └── DetourNode.cpp
│ │ ├── License.txt
│ │ ├── Readme.txt
│ │ ├── Recast/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Include/
│ │ │ │ ├── Recast.h
│ │ │ │ ├── RecastAlloc.h
│ │ │ │ └── RecastAssert.h
│ │ │ └── Source/
│ │ │ ├── Recast.cpp
│ │ │ ├── RecastAlloc.cpp
│ │ │ ├── RecastArea.cpp
│ │ │ ├── RecastContour.cpp
│ │ │ ├── RecastFilter.cpp
│ │ │ ├── RecastLayers.cpp
│ │ │ ├── RecastMesh.cpp
│ │ │ ├── RecastMeshDetail.cpp
│ │ │ ├── RecastRasterization.cpp
│ │ │ └── RecastRegion.cpp
│ │ ├── TODO.txt
│ │ ├── recast_hotfix1.diff
│ │ └── recastnavigation.diff
│ ├── utf8cpp/
│ │ ├── utf8/
│ │ │ ├── checked.h
│ │ │ ├── core.h
│ │ │ └── unchecked.h
│ │ └── utf8.h
│ └── zlib/
│ ├── CMakeLists.txt
│ ├── adler32.c
│ ├── compress.c
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── example.c
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── minigzip.c
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── zconf.h
│ ├── zlib.h
│ ├── zutil.c
│ └── zutil.h
├── doc/
│ ├── COMPILATION_HELP.TXT
│ ├── CharacterDBCleanup.txt
│ ├── GPL-3.0.txt
│ ├── HowToScript.txt
│ ├── LoggingHOWTO.txt
│ ├── Soap_example.php
│ ├── UnixInstall.txt
│ ├── cmake_copyright_header.txt
│ ├── code_standards.md
│ └── cplusplus_copyright_header.txt
├── revision.h.in.cmake
├── sql/
│ ├── base/
│ │ ├── archive.sql
│ │ ├── auth.sql
│ │ └── characters.sql
│ ├── oficiales_base/
│ │ ├── archive.sql
│ │ ├── auth.sql
│ │ └── characters.sql
│ └── updates/
│ ├── auth/
│ │ ├── 2021_03_27_BattlePay_DP.sql
│ │ ├── 2021_03_27_BattlePay_log.sql
│ │ ├── 2021_03_27_WowTokens_log.sql
│ │ ├── 2021_05_15_Reinicio_de_Arenas.sql
│ │ ├── 2021_07_17_00_autobroadcast.sql
│ │ ├── 2021_08_08_Bonus_BG.sql
│ │ ├── 2021_08_08_Config.sql
│ │ └── fusion-cms.sql
│ ├── characters/
│ │ ├── 2021_05_14_Bug_RBG.sql
│ │ ├── 2021_05_14_Services.sql
│ │ ├── 2021_05_15_Reinicio_de_Arenas.sql
│ │ └── 2021_08_31_Reinicio_de_Temporada_PVP.sql
│ └── world/
│ ├── 2021_03_09_PVP.sql
│ ├── 2021_03_12_extendedcost.sql
│ ├── 2021_03_12_npc_vendors.sql
│ ├── 2021_03_27_BattlePay.sql
│ ├── 2021_03_27_WowMoneda.sql
│ ├── 2021_03_27_WowMoneda02.sql
│ ├── 2021_03_29_boost_90.sql
│ ├── 2021_03_30_ErrorCañones.sql
│ ├── 2021_03_30_PlayaDeLosAncestros.sql
│ ├── 2021_03_30_quest_28826-28805.sql
│ ├── 2021_04_01_Disables_logros.sql
│ ├── 2021_04_03_Comandos.sql
│ ├── 2021_04_03_Traducciones.sql
│ ├── 2021_04_07_Exploit_quest_29908.sql
│ ├── 2021_04_09_Instructor_Rogue.sql
│ ├── 2021_04_10_Intendente_de_Honor.sql
│ ├── 2021_04_10_Tienda_en_juego.sql
│ ├── 2021_04_12_Exploit_EXP.sql
│ ├── 2021_04_13_Modificando_Textos_Locales.sql
│ ├── 2021_04_14_Templo_Niuzao.sql
│ ├── 2021_04_15_Boss_Mundial_Galeon.sql
│ ├── 2021_04_15_Cambios.sql
│ ├── 2021_04_15_SealOfTruth.sql
│ ├── 2021_04_15_Tabla_Locales_Creature.sql
│ ├── 2021_04_15_Tabla_Locales_Items.sql
│ ├── 2021_04_16_Cambios_menores.sql
│ ├── 2021_04_16_Eliminando_Recetas.sql
│ ├── 2021_04_17_Borrando_Monturas.sql
│ ├── 2021_04_17_Garra_de_Tichondrius.sql
│ ├── 2021_04_19_Actualizando_estado_shop.sql
│ ├── 2021_04_19_Jefes_de_Mundo.sql
│ ├── 2021_04_19_Shop_Ingame.sql
│ ├── 2021_04_19_Shop_Ingame_Item_Disabled.sql
│ ├── 2021_04_26_Items_PVP_faltantes.sql
│ ├── 2021_04_27_Jefe_Elegon.sql
│ ├── 2021_04_28_Exploit_Oro.sql
│ ├── 2021_04_28_Miscelaneo.sql
│ ├── 2021_04_30_Disables.sql
│ ├── 2021_04_30_Intendente_puntos_Justicia.sql
│ ├── 2021_04_30_Tienda.sql
│ ├── 2021_04_30_Traducciones_Items.sql
│ ├── 2021_05_04_TalismanDeLaBuenaFortuna.sql
│ ├── 2021_05_05_Traducciones_de_Items.sql
│ ├── 2021_05_06_JineteDecapitado.Sql
│ ├── 2021_05_06_NPC_Totem.Sql
│ ├── 2021_05_13_Boost_Profession.sql
│ ├── 2021_05_14_ItemCustom_1000Honor.sql
│ ├── 2021_05_14_TiendaIngame.sql
│ ├── 2021_05_15_Intendente_Conquista.sql
│ ├── 2021_06_07_Sha_Y_Galeon.sql
│ ├── 2021_06_11_ItemCustom_1000Justice_1000valor_1000conquest.sql
│ ├── 2021_06_16_Sha_Y_Galeon.sql
│ ├── 2021_07_08_glyph_of_the_geist.sql
│ ├── 2021_07_12_glyph_of_zen_flight.sql
│ ├── 2021_07_12_lost_soul.sql
│ ├── 2021_07_18_00.sql
│ ├── 2021_08_02_Dragones_nimbo.sql
│ ├── 2021_08_02_Talismanes_fortuna.sql
│ ├── 2021_08_02_Transfiguración_Custom.sql
│ ├── 2021_08_03_stompy.sql
│ ├── 2021_08_21_ElegonPos.sql
│ ├── 2021_08_26_Garajal.sql
│ ├── 2021_09_07_01_Tabla_Quest_template.sql
│ ├── 2021_09_07_02_Títulos_de_Arenas.sql
│ ├── 2021_09_09_Tienda_Temporada02.sql
│ ├── 2021_09_17_Desactivando_Mision_AlaIslaIntemporal.sql
│ ├── 2021_09_28_RemoveItems_Blackmarket.sql
│ ├── 2021_10_05_Misiones_Transfigurador_MOP.sql
│ ├── 2021_10_05_Tienda_en_juego.sql
│ ├── 2021_10_07_AccessRequirements.sql
│ ├── 2021_10_16_NPC_Vendor_MoP.sql
│ ├── 2021_10_22_Tienda_en_juego.sql
│ ├── 2021_11_01_Intendentes-PVE-Raids.sql
│ ├── 2021_11_01_Tienda_en_juego.sql
│ ├── 2021_11_05_Intendentes-PVE.sql
│ └── 2021_11_05_Tienda_en_juego.sql
└── src/
├── CMakeLists.txt
├── genrev/
│ └── CMakeLists.txt
├── server/
│ ├── CMakeLists.txt
│ ├── authserver/
│ │ ├── Authentication/
│ │ │ ├── AuthCodes.cpp
│ │ │ ├── AuthCodes.h
│ │ │ ├── TOTP.cpp
│ │ │ └── TOTP.h
│ │ ├── CMakeLists.txt
│ │ ├── Main.cpp
│ │ ├── PrecompiledHeaders/
│ │ │ ├── authPCH.cpp
│ │ │ └── authPCH.h
│ │ ├── Realms/
│ │ │ ├── RealmList.cpp
│ │ │ └── RealmList.h
│ │ ├── Server/
│ │ │ ├── AuthSocket.cpp
│ │ │ ├── AuthSocket.h
│ │ │ ├── RealmAcceptor.h
│ │ │ ├── RealmSocket.cpp
│ │ │ └── RealmSocket.h
│ │ ├── authserver.conf.dist
│ │ ├── authserver.rc
│ │ └── resource.h
│ ├── collision/
│ │ ├── BoundingIntervalHierarchy.cpp
│ │ ├── BoundingIntervalHierarchy.h
│ │ ├── BoundingIntervalHierarchyWrapper.h
│ │ ├── CMakeLists.txt
│ │ ├── DynamicTree.cpp
│ │ ├── DynamicTree.h
│ │ ├── Management/
│ │ │ ├── IVMapManager.h
│ │ │ ├── MMapFactory.cpp
│ │ │ ├── MMapFactory.h
│ │ │ ├── MMapManager.cpp
│ │ │ ├── MMapManager.h
│ │ │ ├── VMapFactory.cpp
│ │ │ ├── VMapFactory.h
│ │ │ ├── VMapManager2.cpp
│ │ │ └── VMapManager2.h
│ │ ├── Maps/
│ │ │ ├── MapTree.cpp
│ │ │ ├── MapTree.h
│ │ │ ├── TileAssembler.cpp
│ │ │ └── TileAssembler.h
│ │ ├── Models/
│ │ │ ├── GameObjectModel.cpp
│ │ │ ├── GameObjectModel.h
│ │ │ ├── ModelInstance.cpp
│ │ │ ├── ModelInstance.h
│ │ │ ├── WorldModel.cpp
│ │ │ └── WorldModel.h
│ │ ├── PrecompiledHeaders/
│ │ │ ├── collisionPCH.cpp
│ │ │ └── collisionPCH.h
│ │ ├── RegularGrid.h
│ │ ├── VMapDefinitions.h
│ │ └── VMapTools.h
│ ├── game/
│ │ ├── AI/
│ │ │ ├── CoreAI/
│ │ │ │ ├── CombatAI.cpp
│ │ │ │ ├── CombatAI.h
│ │ │ │ ├── GameObjectAI.cpp
│ │ │ │ ├── GameObjectAI.h
│ │ │ │ ├── GuardAI.cpp
│ │ │ │ ├── GuardAI.h
│ │ │ │ ├── PassiveAI.cpp
│ │ │ │ ├── PassiveAI.h
│ │ │ │ ├── PetAI.cpp
│ │ │ │ ├── PetAI.h
│ │ │ │ ├── ReactorAI.cpp
│ │ │ │ ├── ReactorAI.h
│ │ │ │ ├── TotemAI.cpp
│ │ │ │ ├── TotemAI.h
│ │ │ │ ├── UnitAI.cpp
│ │ │ │ └── UnitAI.h
│ │ │ ├── CreatureAI.cpp
│ │ │ ├── CreatureAI.h
│ │ │ ├── CreatureAIFactory.h
│ │ │ ├── CreatureAIImpl.h
│ │ │ ├── CreatureAIRegistry.cpp
│ │ │ ├── CreatureAIRegistry.h
│ │ │ ├── CreatureAISelector.cpp
│ │ │ ├── CreatureAISelector.h
│ │ │ ├── PlayerAI/
│ │ │ │ ├── PlayerAI.cpp
│ │ │ │ └── PlayerAI.h
│ │ │ ├── ScriptedAI/
│ │ │ │ ├── ScriptedCreature.cpp
│ │ │ │ ├── ScriptedCreature.h
│ │ │ │ ├── ScriptedEscortAI.cpp
│ │ │ │ ├── ScriptedEscortAI.h
│ │ │ │ ├── ScriptedFollowerAI.cpp
│ │ │ │ ├── ScriptedFollowerAI.h
│ │ │ │ └── ScriptedGossip.h
│ │ │ └── SmartScripts/
│ │ │ ├── SmartAI.cpp
│ │ │ ├── SmartAI.h
│ │ │ ├── SmartScript.cpp
│ │ │ ├── SmartScript.h
│ │ │ ├── SmartScriptMgr.cpp
│ │ │ └── SmartScriptMgr.h
│ │ ├── Accounts/
│ │ │ ├── AccountMgr.cpp
│ │ │ └── AccountMgr.h
│ │ ├── Achievements/
│ │ │ ├── AchievementMgr.cpp
│ │ │ └── AchievementMgr.h
│ │ ├── Addons/
│ │ │ ├── AddonMgr.cpp
│ │ │ └── AddonMgr.h
│ │ ├── Anticheat/
│ │ │ ├── AnticheatMgr.cpp
│ │ │ └── AnticheatMgr.h
│ │ ├── AuctionHouse/
│ │ │ ├── AuctionHouseMgr.cpp
│ │ │ └── AuctionHouseMgr.h
│ │ ├── BattlePay/
│ │ │ ├── BattlePayMgr.cpp
│ │ │ ├── BattlePayMgr.h
│ │ │ ├── ServiceBoost.cpp
│ │ │ └── ServiceBoost.h
│ │ ├── BattlePet/
│ │ │ ├── BattlePet.cpp
│ │ │ ├── BattlePet.h
│ │ │ ├── BattlePetAbilityEffect.cpp
│ │ │ ├── BattlePetAbilityEffect.h
│ │ │ ├── BattlePetAura.cpp
│ │ │ ├── BattlePetAura.h
│ │ │ ├── BattlePetMgr.cpp
│ │ │ ├── BattlePetMgr.h
│ │ │ ├── BattlePetSpawnMgr.cpp
│ │ │ ├── BattlePetSpawnMgr.h
│ │ │ ├── PetBattle.cpp
│ │ │ └── PetBattle.h
│ │ ├── Battlefield/
│ │ │ ├── Battlefield.cpp
│ │ │ ├── Battlefield.h
│ │ │ ├── BattlefieldMgr.cpp
│ │ │ ├── BattlefieldMgr.h
│ │ │ └── Zones/
│ │ │ ├── BattlefieldWG.cpp
│ │ │ └── BattlefieldWG.h
│ │ ├── Battlegrounds/
│ │ │ ├── ArenaTeam.cpp
│ │ │ ├── ArenaTeam.h
│ │ │ ├── Battleground.cpp
│ │ │ ├── Battleground.h
│ │ │ ├── BattlegroundMgr.cpp
│ │ │ ├── BattlegroundMgr.h
│ │ │ ├── BattlegroundQueue.cpp
│ │ │ ├── BattlegroundQueue.h
│ │ │ ├── RatedPvp.cpp
│ │ │ ├── RatedPvp.h
│ │ │ └── Zones/
│ │ │ ├── BattlegroundAB.cpp
│ │ │ ├── BattlegroundAB.h
│ │ │ ├── BattlegroundAV.cpp
│ │ │ ├── BattlegroundAV.h
│ │ │ ├── BattlegroundBE.cpp
│ │ │ ├── BattlegroundBE.h
│ │ │ ├── BattlegroundBFG.cpp
│ │ │ ├── BattlegroundBFG.h
│ │ │ ├── BattlegroundDG.cpp
│ │ │ ├── BattlegroundDG.h
│ │ │ ├── BattlegroundDS.cpp
│ │ │ ├── BattlegroundDS.h
│ │ │ ├── BattlegroundEY.cpp
│ │ │ ├── BattlegroundEY.h
│ │ │ ├── BattlegroundIC.cpp
│ │ │ ├── BattlegroundIC.h
│ │ │ ├── BattlegroundNA.cpp
│ │ │ ├── BattlegroundNA.h
│ │ │ ├── BattlegroundRL.cpp
│ │ │ ├── BattlegroundRL.h
│ │ │ ├── BattlegroundRV.cpp
│ │ │ ├── BattlegroundRV.h
│ │ │ ├── BattlegroundSA.cpp
│ │ │ ├── BattlegroundSA.h
│ │ │ ├── BattlegroundSM.cpp
│ │ │ ├── BattlegroundSM.h
│ │ │ ├── BattlegroundTOK.cpp
│ │ │ ├── BattlegroundTOK.h
│ │ │ ├── BattlegroundTP.cpp
│ │ │ ├── BattlegroundTP.h
│ │ │ ├── BattlegroundTTP.cpp
│ │ │ ├── BattlegroundTTP.h
│ │ │ ├── BattlegroundTV.cpp
│ │ │ ├── BattlegroundTV.h
│ │ │ ├── BattlegroundWS.cpp
│ │ │ └── BattlegroundWS.h
│ │ ├── BlackMarket/
│ │ │ ├── BlackMarketMgr.cpp
│ │ │ └── BlackMarketMgr.h
│ │ ├── CMakeLists.txt
│ │ ├── Calendar/
│ │ │ ├── CalendarMgr.cpp
│ │ │ └── CalendarMgr.h
│ │ ├── Chat/
│ │ │ ├── Channels/
│ │ │ │ ├── Channel.cpp
│ │ │ │ ├── Channel.h
│ │ │ │ ├── ChannelMgr.cpp
│ │ │ │ └── ChannelMgr.h
│ │ │ ├── Chat.cpp
│ │ │ ├── Chat.h
│ │ │ ├── ChatLink.cpp
│ │ │ └── ChatLink.h
│ │ ├── Combat/
│ │ │ ├── HostileRefManager.cpp
│ │ │ ├── HostileRefManager.h
│ │ │ ├── ThreatManager.cpp
│ │ │ ├── ThreatManager.h
│ │ │ └── UnitEvents.h
│ │ ├── Conditions/
│ │ │ ├── ConditionMgr.cpp
│ │ │ ├── ConditionMgr.h
│ │ │ ├── ConditionMgr.h.orig
│ │ │ ├── DisableMgr.cpp
│ │ │ └── DisableMgr.h
│ │ ├── CustomLogs/
│ │ │ ├── CustomLogs.cpp
│ │ │ └── CustomLogs.h
│ │ ├── CustomTransmogrification/
│ │ │ ├── CustomTransmogrification.cpp
│ │ │ └── CustomTransmogrification.h
│ │ ├── DataStores/
│ │ │ ├── DB2Enums.h
│ │ │ ├── DB2Stores.cpp
│ │ │ ├── DB2Stores.h
│ │ │ ├── DB2Structure.h
│ │ │ ├── DB2Utility.cpp
│ │ │ ├── DB2Utility.h
│ │ │ ├── DB2fmt.h
│ │ │ ├── DBCEnums.h
│ │ │ ├── DBCStores.cpp
│ │ │ ├── DBCStores.h
│ │ │ ├── DBCStructure.h
│ │ │ └── DBCfmt.h
│ │ ├── DungeonFinding/
│ │ │ ├── LFG.cpp
│ │ │ ├── LFG.h
│ │ │ ├── LFGDataOwner.h
│ │ │ ├── LFGGroupData.cpp
│ │ │ ├── LFGGroupData.h
│ │ │ ├── LFGMgr.cpp
│ │ │ ├── LFGMgr.h
│ │ │ ├── LFGPlayerData.cpp
│ │ │ ├── LFGPlayerData.h
│ │ │ ├── LFGQueue.cpp
│ │ │ ├── LFGQueue.h
│ │ │ ├── LFGScripts.cpp
│ │ │ └── LFGScripts.h
│ │ ├── Entities/
│ │ │ ├── AreaTrigger/
│ │ │ │ ├── AreaTrigger.cpp
│ │ │ │ └── AreaTrigger.h
│ │ │ ├── Corpse/
│ │ │ │ ├── Corpse.cpp
│ │ │ │ └── Corpse.h
│ │ │ ├── Creature/
│ │ │ │ ├── Creature.cpp
│ │ │ │ ├── Creature.h
│ │ │ │ ├── CreatureGroups.cpp
│ │ │ │ ├── CreatureGroups.h
│ │ │ │ ├── GossipDef.cpp
│ │ │ │ ├── GossipDef.h
│ │ │ │ ├── TemporarySummon.cpp
│ │ │ │ └── TemporarySummon.h
│ │ │ ├── DynamicObject/
│ │ │ │ ├── DynamicObject.cpp
│ │ │ │ └── DynamicObject.h
│ │ │ ├── GameObject/
│ │ │ │ ├── GameObject.cpp
│ │ │ │ └── GameObject.h
│ │ │ ├── Item/
│ │ │ │ ├── Container/
│ │ │ │ │ ├── Bag.cpp
│ │ │ │ │ └── Bag.h
│ │ │ │ ├── Item.cpp
│ │ │ │ ├── Item.h
│ │ │ │ ├── ItemEnchantmentMgr.cpp
│ │ │ │ ├── ItemEnchantmentMgr.h
│ │ │ │ ├── ItemPrototype.h
│ │ │ │ ├── ItemSpec.cpp
│ │ │ │ └── ItemSpec.h
│ │ │ ├── Object/
│ │ │ │ ├── Object.cpp
│ │ │ │ ├── Object.h
│ │ │ │ ├── ObjectDefines.h
│ │ │ │ ├── ObjectPosSelector.cpp
│ │ │ │ ├── ObjectPosSelector.h
│ │ │ │ └── Updates/
│ │ │ │ ├── UpdateData.cpp
│ │ │ │ ├── UpdateData.h
│ │ │ │ ├── UpdateFieldFlags.cpp
│ │ │ │ ├── UpdateFieldFlags.h
│ │ │ │ ├── UpdateFields.h
│ │ │ │ └── UpdateMask.h
│ │ │ ├── Pet/
│ │ │ │ ├── Pet.cpp
│ │ │ │ ├── Pet.h
│ │ │ │ └── PetDefines.h
│ │ │ ├── Player/
│ │ │ │ ├── Player.cpp
│ │ │ │ ├── Player.h
│ │ │ │ ├── SceneMgr.cpp
│ │ │ │ ├── SceneMgr.h
│ │ │ │ ├── SocialMgr.cpp
│ │ │ │ ├── SocialMgr.h
│ │ │ │ └── WorldStateBuilder.h
│ │ │ ├── Totem/
│ │ │ │ ├── Totem.cpp
│ │ │ │ └── Totem.h
│ │ │ ├── Transport/
│ │ │ │ ├── Transport.cpp
│ │ │ │ └── Transport.h
│ │ │ ├── Unit/
│ │ │ │ ├── StatSystem.cpp
│ │ │ │ ├── Unit.cpp
│ │ │ │ └── Unit.h
│ │ │ └── Vehicle/
│ │ │ ├── Vehicle.cpp
│ │ │ ├── Vehicle.h
│ │ │ └── VehicleDefines.h
│ │ ├── Events/
│ │ │ ├── GameEventMgr.cpp
│ │ │ └── GameEventMgr.h
│ │ ├── Globals/
│ │ │ ├── ObjectAccessor.cpp
│ │ │ ├── ObjectAccessor.h
│ │ │ ├── ObjectMgr.cpp
│ │ │ └── ObjectMgr.h
│ │ ├── Grids/
│ │ │ ├── Cells/
│ │ │ │ ├── Cell.h
│ │ │ │ └── CellImpl.h
│ │ │ ├── Grid.h
│ │ │ ├── GridDefines.h
│ │ │ ├── GridLoader.h
│ │ │ ├── GridRefManager.h
│ │ │ ├── GridReference.h
│ │ │ ├── GridStates.cpp
│ │ │ ├── GridStates.h
│ │ │ ├── NGrid.h
│ │ │ ├── Notifiers/
│ │ │ │ ├── GridNotifiers.cpp
│ │ │ │ ├── GridNotifiers.h
│ │ │ │ └── GridNotifiersImpl.h
│ │ │ ├── ObjectGridLoader.cpp
│ │ │ └── ObjectGridLoader.h
│ │ ├── Groups/
│ │ │ ├── Group.cpp
│ │ │ ├── Group.h
│ │ │ ├── GroupMgr.cpp
│ │ │ ├── GroupMgr.h
│ │ │ ├── GroupRefManager.h
│ │ │ ├── GroupReference.cpp
│ │ │ └── GroupReference.h
│ │ ├── Guilds/
│ │ │ ├── Guild.cpp
│ │ │ ├── Guild.h
│ │ │ ├── GuildFinderMgr.cpp
│ │ │ ├── GuildFinderMgr.h
│ │ │ ├── GuildMgr.cpp
│ │ │ └── GuildMgr.h
│ │ ├── Handlers/
│ │ │ ├── AuctionHouseHandler.cpp
│ │ │ ├── AuthHandler.cpp
│ │ │ ├── BattleGroundHandler.cpp
│ │ │ ├── BattlePayHandler.cpp
│ │ │ ├── BattlePetHandler.cpp
│ │ │ ├── BattlefieldHandler.cpp
│ │ │ ├── BlackMarketHandler.cpp
│ │ │ ├── CalendarHandler.cpp
│ │ │ ├── ChallengeModeHandler.cpp
│ │ │ ├── ChannelHandler.cpp
│ │ │ ├── CharacterHandler.cpp
│ │ │ ├── ChatHandler.cpp
│ │ │ ├── CombatHandler.cpp
│ │ │ ├── DuelHandler.cpp
│ │ │ ├── GroupHandler.cpp
│ │ │ ├── GuildFinderHandler.cpp
│ │ │ ├── GuildHandler.cpp
│ │ │ ├── ItemHandler.cpp
│ │ │ ├── LFGHandler.cpp
│ │ │ ├── LootHandler.cpp
│ │ │ ├── MailHandler.cpp
│ │ │ ├── MiscHandler.cpp
│ │ │ ├── MovementHandler.cpp
│ │ │ ├── NPCHandler.cpp
│ │ │ ├── NPCHandler.h
│ │ │ ├── PetHandler.cpp
│ │ │ ├── PetitionsHandler.cpp
│ │ │ ├── QueryHandler.cpp
│ │ │ ├── QuestHandler.cpp
│ │ │ ├── ReferAFriendHandler.cpp
│ │ │ ├── ScenarioHandler.cpp
│ │ │ ├── SceneHandler.cpp
│ │ │ ├── SkillHandler.cpp
│ │ │ ├── SpellHandler.cpp
│ │ │ ├── TaxiHandler.cpp
│ │ │ ├── TicketHandler.cpp
│ │ │ ├── TradeHandler.cpp
│ │ │ ├── VehicleHandler.cpp
│ │ │ ├── VoiceChatHandler.cpp
│ │ │ └── VoidStorageHandler.cpp
│ │ ├── Instances/
│ │ │ ├── InstanceSaveMgr.cpp
│ │ │ ├── InstanceSaveMgr.h
│ │ │ ├── InstanceScript.cpp
│ │ │ └── InstanceScript.h
│ │ ├── Loot/
│ │ │ ├── LootLockoutMap.h
│ │ │ ├── LootMgr.cpp
│ │ │ └── LootMgr.h
│ │ ├── Mails/
│ │ │ ├── Mail.cpp
│ │ │ └── Mail.h
│ │ ├── Maps/
│ │ │ ├── Map.cpp
│ │ │ ├── Map.h
│ │ │ ├── MapInstanced.cpp
│ │ │ ├── MapInstanced.h
│ │ │ ├── MapManager.cpp
│ │ │ ├── MapManager.h
│ │ │ ├── MapRefManager.h
│ │ │ ├── MapReference.h
│ │ │ ├── MapUpdater.cpp
│ │ │ ├── MapUpdater.h
│ │ │ ├── PhaseMgr.cpp
│ │ │ ├── PhaseMgr.h
│ │ │ ├── TransportMgr.cpp
│ │ │ ├── TransportMgr.h
│ │ │ └── ZoneScript.h
│ │ ├── Miscellaneous/
│ │ │ ├── Formulas.h
│ │ │ ├── Language.h
│ │ │ └── SharedDefines.h
│ │ ├── Movement/
│ │ │ ├── FollowerRefManager.h
│ │ │ ├── FollowerReference.cpp
│ │ │ ├── FollowerReference.h
│ │ │ ├── MotionMaster.cpp
│ │ │ ├── MotionMaster.h
│ │ │ ├── MovementGenerator.cpp
│ │ │ ├── MovementGenerator.h
│ │ │ ├── MovementGeneratorImpl.h
│ │ │ ├── MovementGenerators/
│ │ │ │ ├── ConfusedMovementGenerator.cpp
│ │ │ │ ├── ConfusedMovementGenerator.h
│ │ │ │ ├── FleeingMovementGenerator.cpp
│ │ │ │ ├── FleeingMovementGenerator.h
│ │ │ │ ├── HomeMovementGenerator.cpp
│ │ │ │ ├── HomeMovementGenerator.h
│ │ │ │ ├── IdleMovementGenerator.cpp
│ │ │ │ ├── IdleMovementGenerator.h
│ │ │ │ ├── PointMovementGenerator.cpp
│ │ │ │ ├── PointMovementGenerator.h
│ │ │ │ ├── RandomMovementGenerator.cpp
│ │ │ │ ├── RandomMovementGenerator.h
│ │ │ │ ├── TargetedMovementGenerator.cpp
│ │ │ │ ├── TargetedMovementGenerator.h
│ │ │ │ ├── WaypointMovementGenerator.cpp
│ │ │ │ └── WaypointMovementGenerator.h
│ │ │ ├── MovementStructures.cpp
│ │ │ ├── MovementStructures.h
│ │ │ ├── PathGenerator.cpp
│ │ │ ├── PathGenerator.h
│ │ │ ├── Spline/
│ │ │ │ ├── MoveSpline.cpp
│ │ │ │ ├── MoveSpline.h
│ │ │ │ ├── MoveSplineFlag.h
│ │ │ │ ├── MoveSplineInit.cpp
│ │ │ │ ├── MoveSplineInit.h
│ │ │ │ ├── MoveSplineInitArgs.h
│ │ │ │ ├── MovementPacketBuilder.cpp
│ │ │ │ ├── MovementPacketBuilder.h
│ │ │ │ ├── MovementTypedefs.h
│ │ │ │ ├── MovementUtil.cpp
│ │ │ │ ├── Spline.cpp
│ │ │ │ ├── Spline.h
│ │ │ │ └── SplineImpl.h
│ │ │ └── Waypoints/
│ │ │ ├── Path.h
│ │ │ ├── WaypointManager.cpp
│ │ │ └── WaypointManager.h
│ │ ├── OutdoorPvP/
│ │ │ ├── OutdoorPvP.cpp
│ │ │ ├── OutdoorPvP.h
│ │ │ ├── OutdoorPvPMgr.cpp
│ │ │ └── OutdoorPvPMgr.h
│ │ ├── Pools/
│ │ │ ├── PoolMgr.cpp
│ │ │ └── PoolMgr.h
│ │ ├── PrecompiledHeaders/
│ │ │ ├── gamePCH.cpp
│ │ │ └── gamePCH.h
│ │ ├── Quests/
│ │ │ ├── QuestDef.cpp
│ │ │ └── QuestDef.h
│ │ ├── Reputation/
│ │ │ ├── ReputationMgr.cpp
│ │ │ └── ReputationMgr.h
│ │ ├── Scenarios/
│ │ │ ├── ScenarioMgr.cpp
│ │ │ └── ScenarioMgr.h
│ │ ├── Scripting/
│ │ │ ├── MapScripts.cpp
│ │ │ ├── ScriptMgr.cpp
│ │ │ ├── ScriptMgr.h
│ │ │ ├── ScriptSystem.cpp
│ │ │ └── ScriptSystem.h
│ │ ├── Server/
│ │ │ ├── Protocol/
│ │ │ │ ├── Opcodes.cpp
│ │ │ │ ├── Opcodes.h
│ │ │ │ ├── PacketLog.cpp
│ │ │ │ └── PacketLog.h
│ │ │ ├── WorldPacket.cpp
│ │ │ ├── WorldPacket.h
│ │ │ ├── WorldSession.cpp
│ │ │ ├── WorldSession.h
│ │ │ ├── WorldSocket.cpp
│ │ │ ├── WorldSocket.h
│ │ │ ├── WorldSocketAcceptor.h
│ │ │ ├── WorldSocketMgr.cpp
│ │ │ └── WorldSocketMgr.h
│ │ ├── Services/
│ │ │ ├── ServiceMgr.cpp
│ │ │ └── ServiceMgr.h
│ │ ├── Skills/
│ │ │ ├── SkillDiscovery.cpp
│ │ │ ├── SkillDiscovery.h
│ │ │ ├── SkillExtraItems.cpp
│ │ │ └── SkillExtraItems.h
│ │ ├── Spells/
│ │ │ ├── Auras/
│ │ │ │ ├── SpellAuraDefines.h
│ │ │ │ ├── SpellAuraEffects.cpp
│ │ │ │ ├── SpellAuraEffects.h
│ │ │ │ ├── SpellAuras.cpp
│ │ │ │ └── SpellAuras.h
│ │ │ ├── Spell.cpp
│ │ │ ├── Spell.h
│ │ │ ├── SpellEffects.cpp
│ │ │ ├── SpellHistory.cpp
│ │ │ ├── SpellHistory.h
│ │ │ ├── SpellInfo.cpp
│ │ │ ├── SpellInfo.h
│ │ │ ├── SpellMgr.cpp
│ │ │ ├── SpellMgr.h
│ │ │ ├── SpellScript.cpp
│ │ │ └── SpellScript.h
│ │ ├── Texts/
│ │ │ ├── CreatureTextMgr.cpp
│ │ │ └── CreatureTextMgr.h
│ │ ├── Tickets/
│ │ │ ├── TicketInfo.cpp
│ │ │ ├── TicketInfo.h
│ │ │ ├── TicketMgr.cpp
│ │ │ └── TicketMgr.h
│ │ ├── Tools/
│ │ │ ├── CharacterDatabaseCleaner.cpp
│ │ │ ├── CharacterDatabaseCleaner.h
│ │ │ ├── DevTool.h
│ │ │ ├── PlayerDump.cpp
│ │ │ ├── PlayerDump.h
│ │ │ ├── WordFilterMgr.cpp
│ │ │ └── WordFilterMgr.h
│ │ ├── Vignette/
│ │ │ ├── Vignette.cpp
│ │ │ ├── Vignette.h
│ │ │ ├── VignetteMgr.cpp
│ │ │ └── VignetteMgr.h
│ │ ├── Warden/
│ │ │ ├── Modules/
│ │ │ │ └── WardenModuleWin.h
│ │ │ ├── Warden.cpp
│ │ │ ├── Warden.h
│ │ │ ├── WardenCheckMgr.cpp
│ │ │ ├── WardenCheckMgr.h
│ │ │ ├── WardenWin.cpp
│ │ │ └── WardenWin.h
│ │ ├── Weather/
│ │ │ ├── Weather.cpp
│ │ │ ├── Weather.h
│ │ │ ├── WeatherMgr.cpp
│ │ │ └── WeatherMgr.h
│ │ └── World/
│ │ ├── World.cpp
│ │ └── World.h
│ ├── scripts/
│ │ ├── Battlegrounds/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── alterac_valley.cpp
│ │ │ ├── boss_balinda.cpp
│ │ │ ├── boss_drekthar.cpp
│ │ │ ├── boss_galvangar.cpp
│ │ │ ├── boss_vanndar.cpp
│ │ │ ├── deepwind_gorge.cpp
│ │ │ ├── isle_of_conquest.cpp
│ │ │ ├── silvershard_mines.cpp
│ │ │ └── temple_of_kotmogu.cpp
│ │ ├── CMakeLists.txt
│ │ ├── Commands/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── cs_account.cpp
│ │ │ ├── cs_achievement.cpp
│ │ │ ├── cs_anticheat.cpp
│ │ │ ├── cs_ban.cpp
│ │ │ ├── cs_battlenet_account.cpp
│ │ │ ├── cs_bf.cpp
│ │ │ ├── cs_cast.cpp
│ │ │ ├── cs_character.cpp
│ │ │ ├── cs_cheat.cpp
│ │ │ ├── cs_debug.cpp
│ │ │ ├── cs_deserter.cpp
│ │ │ ├── cs_disable.cpp
│ │ │ ├── cs_event.cpp
│ │ │ ├── cs_gm.cpp
│ │ │ ├── cs_go.cpp
│ │ │ ├── cs_gobject.cpp
│ │ │ ├── cs_group.cpp
│ │ │ ├── cs_guild.cpp
│ │ │ ├── cs_honor.cpp
│ │ │ ├── cs_instance.cpp
│ │ │ ├── cs_learn.cpp
│ │ │ ├── cs_lfg.cpp
│ │ │ ├── cs_list.cpp
│ │ │ ├── cs_lookup.cpp
│ │ │ ├── cs_message.cpp
│ │ │ ├── cs_misc.cpp
│ │ │ ├── cs_mmaps.cpp
│ │ │ ├── cs_modify.cpp
│ │ │ ├── cs_npc.cpp
│ │ │ ├── cs_pet.cpp
│ │ │ ├── cs_premium.cpp
│ │ │ ├── cs_quest.cpp
│ │ │ ├── cs_reload.cpp
│ │ │ ├── cs_reset.cpp
│ │ │ ├── cs_scene.cpp
│ │ │ ├── cs_send.cpp
│ │ │ ├── cs_server.cpp
│ │ │ ├── cs_support.cpp
│ │ │ ├── cs_tele.cpp
│ │ │ ├── cs_ticket.cpp
│ │ │ ├── cs_titles.cpp
│ │ │ ├── cs_warden.cpp
│ │ │ └── cs_wp.cpp
│ │ ├── Custom/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── boost_profession.cpp
│ │ │ ├── custom_items.cpp
│ │ │ ├── custom_reward.cpp
│ │ │ ├── npc_teleport.cpp
│ │ │ ├── protected_zone.cpp
│ │ │ └── wow_token.cpp
│ │ ├── EasternKingdoms/
│ │ │ ├── BaradinHold/
│ │ │ │ ├── baradin_hold.h
│ │ │ │ ├── boss_alizabal.cpp
│ │ │ │ ├── boss_argaloth.cpp
│ │ │ │ ├── boss_occuthar.cpp
│ │ │ │ └── instance_baradin_hold.cpp
│ │ │ ├── BastionOfTwilight/
│ │ │ │ ├── bastion_of_twilight.cpp
│ │ │ │ ├── bastion_of_twilight.h
│ │ │ │ ├── boss_chogall.cpp
│ │ │ │ ├── boss_council_of_ascendents.cpp
│ │ │ │ ├── boss_halfus_wyrmbreaker.cpp
│ │ │ │ ├── boss_sinestra.cpp
│ │ │ │ ├── boss_theralion_and_valiona.cpp
│ │ │ │ └── instance_bastion_of_twilight.cpp
│ │ │ ├── BlackrockMountain/
│ │ │ │ ├── BlackrockCaverns/
│ │ │ │ │ ├── blackrock_caverns.cpp
│ │ │ │ │ ├── blackrock_caverns.h
│ │ │ │ │ ├── boss_ascendant_lord_obsidius.cpp
│ │ │ │ │ ├── boss_beauty.cpp
│ │ │ │ │ ├── boss_corla_hearld_of_twilight.cpp
│ │ │ │ │ ├── boss_karsh_steelbender.cpp
│ │ │ │ │ ├── boss_romogg_bonecrusher.cpp
│ │ │ │ │ └── instance_blackrock_caverns.cpp
│ │ │ │ ├── BlackrockDepths/
│ │ │ │ │ ├── blackrock_depths.cpp
│ │ │ │ │ ├── blackrock_depths.h
│ │ │ │ │ ├── boss_ambassador_flamelash.cpp
│ │ │ │ │ ├── boss_anubshiah.cpp
│ │ │ │ │ ├── boss_coren_direbrew.cpp
│ │ │ │ │ ├── boss_emperor_dagran_thaurissan.cpp
│ │ │ │ │ ├── boss_general_angerforge.cpp
│ │ │ │ │ ├── boss_gorosh_the_dervish.cpp
│ │ │ │ │ ├── boss_grizzle.cpp
│ │ │ │ │ ├── boss_high_interrogator_gerstahn.cpp
│ │ │ │ │ ├── boss_magmus.cpp
│ │ │ │ │ ├── boss_moira_bronzebeard.cpp
│ │ │ │ │ ├── boss_tomb_of_seven.cpp
│ │ │ │ │ └── instance_blackrock_depths.cpp
│ │ │ │ ├── BlackrockSpire/
│ │ │ │ │ ├── blackrock_spire.h
│ │ │ │ │ ├── boss_drakkisath.cpp
│ │ │ │ │ ├── boss_gizrul_the_slavener.cpp
│ │ │ │ │ ├── boss_gyth.cpp
│ │ │ │ │ ├── boss_halycon.cpp
│ │ │ │ │ ├── boss_highlord_omokk.cpp
│ │ │ │ │ ├── boss_lord_valthalak.cpp
│ │ │ │ │ ├── boss_mother_smolderweb.cpp
│ │ │ │ │ ├── boss_overlord_wyrmthalak.cpp
│ │ │ │ │ ├── boss_pyroguard_emberseer.cpp
│ │ │ │ │ ├── boss_quartermaster_zigris.cpp
│ │ │ │ │ ├── boss_rend_blackhand.cpp
│ │ │ │ │ ├── boss_shadow_hunter_voshgajin.cpp
│ │ │ │ │ ├── boss_the_beast.cpp
│ │ │ │ │ ├── boss_urok_doomhowl.cpp
│ │ │ │ │ ├── boss_warmaster_voone.cpp
│ │ │ │ │ └── instance_blackrock_spire.cpp
│ │ │ │ ├── BlackwingDescent/
│ │ │ │ │ ├── blackwing_descent.cpp
│ │ │ │ │ ├── blackwing_descent.h
│ │ │ │ │ ├── boss_atramedes.cpp
│ │ │ │ │ ├── boss_bwd_nefarian.cpp
│ │ │ │ │ ├── boss_chimaeron.cpp
│ │ │ │ │ ├── boss_magmaw.cpp
│ │ │ │ │ ├── boss_maloriak.cpp
│ │ │ │ │ ├── boss_omnotron_defence_system.cpp
│ │ │ │ │ └── instance_blackwing_descent.cpp
│ │ │ │ ├── BlackwingLair/
│ │ │ │ │ ├── blackwing_lair.h
│ │ │ │ │ ├── boss_broodlord_lashlayer.cpp
│ │ │ │ │ ├── boss_chromaggus.cpp
│ │ │ │ │ ├── boss_ebonroc.cpp
│ │ │ │ │ ├── boss_firemaw.cpp
│ │ │ │ │ ├── boss_flamegor.cpp
│ │ │ │ │ ├── boss_nefarian.cpp
│ │ │ │ │ ├── boss_razorgore.cpp
│ │ │ │ │ ├── boss_vaelastrasz.cpp
│ │ │ │ │ └── instance_blackwing_lair.cpp
│ │ │ │ └── MoltenCore/
│ │ │ │ ├── boss_baron_geddon.cpp
│ │ │ │ ├── boss_garr.cpp
│ │ │ │ ├── boss_gehennas.cpp
│ │ │ │ ├── boss_golemagg.cpp
│ │ │ │ ├── boss_lucifron.cpp
│ │ │ │ ├── boss_magmadar.cpp
│ │ │ │ ├── boss_majordomo_executus.cpp
│ │ │ │ ├── boss_ragnaros.cpp
│ │ │ │ ├── boss_shazzrah.cpp
│ │ │ │ ├── boss_sulfuron_harbinger.cpp
│ │ │ │ ├── instance_molten_core.cpp
│ │ │ │ └── molten_core.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Deadmines/
│ │ │ │ ├── boss_admiral_ripsnarl.cpp
│ │ │ │ ├── boss_captain_cookie.cpp
│ │ │ │ ├── boss_foereaper5000.cpp
│ │ │ │ ├── boss_glubtok.cpp
│ │ │ │ ├── boss_helix_gearbreaker.cpp
│ │ │ │ ├── boss_vanessa_vancleef.cpp
│ │ │ │ ├── deadmines.cpp
│ │ │ │ ├── deadmines.h
│ │ │ │ └── instance_deadmines.cpp
│ │ │ ├── Gnomeregan/
│ │ │ │ ├── gnomeregan.cpp
│ │ │ │ ├── gnomeregan.h
│ │ │ │ └── instance_gnomeregan.cpp
│ │ │ ├── GrimBatol/
│ │ │ │ ├── boss_drahga_shadowburner.cpp
│ │ │ │ ├── boss_erudax.cpp
│ │ │ │ ├── boss_forgemaster_throngus.cpp
│ │ │ │ ├── boss_general_umbriss.cpp
│ │ │ │ ├── grim_batol.cpp
│ │ │ │ ├── grim_batol.h
│ │ │ │ └── instance_grim_batol.cpp
│ │ │ ├── Karazhan/
│ │ │ │ ├── boss_curator.cpp
│ │ │ │ ├── boss_maiden_of_virtue.cpp
│ │ │ │ ├── boss_midnight.cpp
│ │ │ │ ├── boss_moroes.cpp
│ │ │ │ ├── boss_netherspite.cpp
│ │ │ │ ├── boss_nightbane.cpp
│ │ │ │ ├── boss_prince_malchezaar.cpp
│ │ │ │ ├── boss_shade_of_aran.cpp
│ │ │ │ ├── boss_terestian_illhoof.cpp
│ │ │ │ ├── bosses_opera.cpp
│ │ │ │ ├── chess_event.cpp
│ │ │ │ ├── instance_karazhan.cpp
│ │ │ │ ├── karazhan.cpp
│ │ │ │ └── karazhan.h
│ │ │ ├── MagistersTerrace/
│ │ │ │ ├── boss_felblood_kaelthas.cpp
│ │ │ │ ├── boss_priestess_delrissa.cpp
│ │ │ │ ├── boss_selin_fireheart.cpp
│ │ │ │ ├── boss_vexallus.cpp
│ │ │ │ ├── instance_magisters_terrace.cpp
│ │ │ │ ├── magisters_terrace.cpp
│ │ │ │ └── magisters_terrace.h
│ │ │ ├── ScarletEnclave/
│ │ │ │ ├── chapter1.cpp
│ │ │ │ ├── chapter2.cpp
│ │ │ │ ├── chapter5.cpp
│ │ │ │ └── zone_the_scarlet_enclave.cpp
│ │ │ ├── ScarletHalls/
│ │ │ │ ├── boss_armsmaster_harlan.cpp
│ │ │ │ ├── boss_flameweaver_koegler.cpp
│ │ │ │ ├── boss_houndmaster_braun.cpp
│ │ │ │ ├── instance_scarlet_halls.cpp
│ │ │ │ ├── scarlet_halls.cpp
│ │ │ │ └── scarlet_halls.h
│ │ │ ├── ScarletMonastery/
│ │ │ │ ├── boss_brother_korloff.cpp
│ │ │ │ ├── boss_headless_horseman.cpp
│ │ │ │ ├── boss_high_inqusitior_whitemane.cpp
│ │ │ │ ├── boss_thalnos_the_soulrender.cpp
│ │ │ │ ├── instance_scarlet_monastery.cpp
│ │ │ │ ├── scarlet_monastery.cpp
│ │ │ │ └── scarlet_monastery.h
│ │ │ ├── Scholomance/
│ │ │ │ ├── boss_grandmaster_gandling.cpp
│ │ │ │ ├── boss_instructor_chillheart.cpp
│ │ │ │ ├── boss_jandice_barov.cpp
│ │ │ │ ├── boss_lilian_voss.cpp
│ │ │ │ ├── boss_rattlegore.cpp
│ │ │ │ ├── instance_scholomance.cpp
│ │ │ │ ├── scholomance.cpp
│ │ │ │ └── scholomance.h
│ │ │ ├── ShadowfangKeep/
│ │ │ │ ├── boss_baron_ashbury.cpp
│ │ │ │ ├── boss_baron_silverlaine.cpp
│ │ │ │ ├── boss_commander_springvale.cpp
│ │ │ │ ├── boss_lord_godfrey.cpp
│ │ │ │ ├── boss_lord_valden.cpp
│ │ │ │ ├── instance_shadowfang_keep.cpp
│ │ │ │ ├── shadowfang_keep.cpp
│ │ │ │ └── shadowfang_keep.h
│ │ │ ├── Stratholme/
│ │ │ │ ├── boss_baron_rivendare.cpp
│ │ │ │ ├── boss_baroness_anastari.cpp
│ │ │ │ ├── boss_cannon_master_willey.cpp
│ │ │ │ ├── boss_dathrohan_balnazzar.cpp
│ │ │ │ ├── boss_magistrate_barthilas.cpp
│ │ │ │ ├── boss_maleki_the_pallid.cpp
│ │ │ │ ├── boss_nerubenkan.cpp
│ │ │ │ ├── boss_order_of_silver_hand.cpp
│ │ │ │ ├── boss_postmaster_malown.cpp
│ │ │ │ ├── boss_ramstein_the_gorger.cpp
│ │ │ │ ├── boss_timmy_the_cruel.cpp
│ │ │ │ ├── instance_stratholme.cpp
│ │ │ │ ├── stratholme.cpp
│ │ │ │ └── stratholme.h
│ │ │ ├── SunkenTemple/
│ │ │ │ ├── boss_avatar_of_hakkar.cpp
│ │ │ │ ├── boss_jammalan_prophet.cpp
│ │ │ │ ├── boss_shade_of_eranikus.cpp
│ │ │ │ ├── boss_wardens_of_the_dream.cpp
│ │ │ │ ├── instance_sunken_temple.cpp
│ │ │ │ └── sunken_temple.h
│ │ │ ├── SunwellPlateau/
│ │ │ │ ├── boss_brutallus.cpp
│ │ │ │ ├── boss_eredar_twins.cpp
│ │ │ │ ├── boss_felmyst.cpp
│ │ │ │ ├── boss_kalecgos.cpp
│ │ │ │ ├── boss_kiljaeden.cpp
│ │ │ │ ├── boss_muru.cpp
│ │ │ │ ├── instance_sunwell_plateau.cpp
│ │ │ │ ├── sunwell_plateau.cpp
│ │ │ │ └── sunwell_plateau.h
│ │ │ ├── TheStockade/
│ │ │ │ └── instance_the_stockade.cpp
│ │ │ ├── ThroneOfTheTides/
│ │ │ │ ├── boss_commander_ulthok.cpp
│ │ │ │ ├── boss_lady_nazjar.cpp
│ │ │ │ ├── boss_mindebender_ghursha.cpp
│ │ │ │ ├── boss_ozumat.cpp
│ │ │ │ ├── instance_throne_of_the_tides.cpp
│ │ │ │ ├── throne_of_the_tides.cpp
│ │ │ │ └── throne_of_the_tides.h
│ │ │ ├── Uldaman/
│ │ │ │ ├── boss_archaedas.cpp
│ │ │ │ ├── boss_ironaya.cpp
│ │ │ │ ├── instance_uldaman.cpp
│ │ │ │ ├── uldaman.cpp
│ │ │ │ └── uldaman.h
│ │ │ ├── ZulAman/
│ │ │ │ ├── boss_akilzon.cpp
│ │ │ │ ├── boss_daakara.cpp
│ │ │ │ ├── boss_halazzi.cpp
│ │ │ │ ├── boss_hexlord.cpp
│ │ │ │ ├── boss_janalai.cpp
│ │ │ │ ├── boss_nalorakk.cpp
│ │ │ │ ├── instance_zulaman.cpp
│ │ │ │ ├── zulaman.cpp
│ │ │ │ └── zulaman.h
│ │ │ ├── ZulGurub/
│ │ │ │ ├── boss_grilek.cpp
│ │ │ │ ├── boss_hazzarah.cpp
│ │ │ │ ├── boss_jindo_the_godbreaker.cpp
│ │ │ │ ├── boss_kilnara.cpp
│ │ │ │ ├── boss_mandokir.cpp
│ │ │ │ ├── boss_renataki.cpp
│ │ │ │ ├── boss_venoxis.cpp
│ │ │ │ ├── boss_wushoolay.cpp
│ │ │ │ ├── boss_zanzil.cpp
│ │ │ │ ├── instance_zulgurub.cpp
│ │ │ │ ├── zulgurub.cpp
│ │ │ │ └── zulgurub.h
│ │ │ ├── zone_arathi_highlands.cpp
│ │ │ ├── zone_blasted_lands.cpp
│ │ │ ├── zone_burning_steppes.cpp
│ │ │ ├── zone_duskwood.cpp
│ │ │ ├── zone_eastern_plaguelands.cpp
│ │ │ ├── zone_elwynn_forest.cpp
│ │ │ ├── zone_eversong_woods.cpp
│ │ │ ├── zone_ghostlands.cpp
│ │ │ ├── zone_gilneas.cpp
│ │ │ ├── zone_hinterlands.cpp
│ │ │ ├── zone_ironforge.cpp
│ │ │ ├── zone_isle_of_queldanas.cpp
│ │ │ ├── zone_loch_modan.cpp
│ │ │ ├── zone_redridge_mountains.cpp
│ │ │ ├── zone_silverpine_forest.cpp
│ │ │ ├── zone_stormwind_city.cpp
│ │ │ ├── zone_stranglethorn_vale.cpp
│ │ │ ├── zone_swamp_of_sorrows.cpp
│ │ │ ├── zone_tirisfal_glades.cpp
│ │ │ ├── zone_tol_barad.cpp
│ │ │ ├── zone_twilight_highlands.cpp
│ │ │ ├── zone_undercity.cpp
│ │ │ ├── zone_vashjir.cpp
│ │ │ ├── zone_western_plaguelands.cpp
│ │ │ ├── zone_westfall.cpp
│ │ │ └── zone_wetlands.cpp
│ │ ├── Events/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── brewfest.cpp
│ │ │ ├── childrens_week.cpp
│ │ │ ├── event_afd_royale.cpp
│ │ │ ├── hallows_end.cpp
│ │ │ ├── midsummer_fire_festival.cpp
│ │ │ ├── pilgrims_bounty.cpp
│ │ │ └── winter_veil.cpp
│ │ ├── Examples/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ExampleItemGossip.cpp
│ │ │ ├── ExamplePlayerGossip.cpp
│ │ │ ├── example_commandscript.cpp
│ │ │ ├── example_creature.cpp
│ │ │ ├── example_escort.cpp
│ │ │ ├── example_gossip_codebox.cpp
│ │ │ ├── example_misc.cpp
│ │ │ └── example_spell.cpp
│ │ ├── Kalimdor/
│ │ │ ├── BlackfathomDeeps/
│ │ │ │ ├── blackfathom_deeps.cpp
│ │ │ │ ├── blackfathom_deeps.h
│ │ │ │ ├── boss_aku_mai.cpp
│ │ │ │ ├── boss_gelihast.cpp
│ │ │ │ ├── boss_kelris.cpp
│ │ │ │ └── instance_blackfathom_deeps.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CavernsOfTime/
│ │ │ │ ├── BattleForMountHyjal/
│ │ │ │ │ ├── boss_anetheron.cpp
│ │ │ │ │ ├── boss_archimonde.cpp
│ │ │ │ │ ├── boss_azgalor.cpp
│ │ │ │ │ ├── boss_kazrogal.cpp
│ │ │ │ │ ├── boss_rage_winterchill.cpp
│ │ │ │ │ ├── hyjal.cpp
│ │ │ │ │ ├── hyjal.h
│ │ │ │ │ ├── hyjalAI.cpp
│ │ │ │ │ ├── hyjalAI.h
│ │ │ │ │ ├── hyjal_trash.cpp
│ │ │ │ │ ├── hyjal_trash.h
│ │ │ │ │ └── instance_hyjal.cpp
│ │ │ │ ├── CullingOfStratholme/
│ │ │ │ │ ├── boss_chrono_lord_epoch.cpp
│ │ │ │ │ ├── boss_infinite_corruptor.cpp
│ │ │ │ │ ├── boss_mal_ganis.cpp
│ │ │ │ │ ├── boss_meathook.cpp
│ │ │ │ │ ├── boss_salramm_the_fleshcrafter.cpp
│ │ │ │ │ ├── culling_of_stratholme.cpp
│ │ │ │ │ ├── culling_of_stratholme.h
│ │ │ │ │ └── instance_culling_of_stratholme.cpp
│ │ │ │ ├── DragonSoul/
│ │ │ │ │ ├── boss_hagara.cpp
│ │ │ │ │ ├── boss_madness_of_deathwing.cpp
│ │ │ │ │ ├── boss_morchok.cpp
│ │ │ │ │ ├── boss_spine_of_deathwing.cpp
│ │ │ │ │ ├── boss_ultraxion.cpp
│ │ │ │ │ ├── boss_warlord_zonozz.cpp
│ │ │ │ │ ├── boss_warmaster_blackhorn.cpp
│ │ │ │ │ ├── boss_warmaster_blackhorn.h
│ │ │ │ │ ├── boss_yorsahj_the_unsleeping.cpp
│ │ │ │ │ ├── dragon_soul.cpp
│ │ │ │ │ ├── dragon_soul.h
│ │ │ │ │ └── instance_dragon_soul.cpp
│ │ │ │ ├── EndTime/
│ │ │ │ │ ├── boss_echo_of_baine.cpp
│ │ │ │ │ ├── boss_echo_of_jaina.cpp
│ │ │ │ │ ├── boss_echo_of_sylvanas.cpp
│ │ │ │ │ ├── boss_echo_of_tyrande.cpp
│ │ │ │ │ ├── boss_murozond.cpp
│ │ │ │ │ ├── end_time.cpp
│ │ │ │ │ ├── end_time.h
│ │ │ │ │ ├── end_time_teleport.cpp
│ │ │ │ │ └── instance_end_time.cpp
│ │ │ │ ├── EscapeFromDurnholdeKeep/
│ │ │ │ │ ├── boss_captain_skarloc.cpp
│ │ │ │ │ ├── boss_epoch_hunter.cpp
│ │ │ │ │ ├── boss_leutenant_drake.cpp
│ │ │ │ │ ├── instance_old_hillsbrad.cpp
│ │ │ │ │ ├── old_hillsbrad.cpp
│ │ │ │ │ └── old_hillsbrad.h
│ │ │ │ ├── HourofTwilight/
│ │ │ │ │ ├── boss_archbishop_benedictus.cpp
│ │ │ │ │ ├── boss_arcurion.cpp
│ │ │ │ │ ├── boss_asira_dawnslayer.cpp
│ │ │ │ │ ├── hour_of_twilight.cpp
│ │ │ │ │ ├── hour_of_twilight.h
│ │ │ │ │ └── instance_hour_of_twilight.cpp
│ │ │ │ ├── TheBlackMorass/
│ │ │ │ │ ├── boss_aeonus.cpp
│ │ │ │ │ ├── boss_chrono_lord_deja.cpp
│ │ │ │ │ ├── boss_temporus.cpp
│ │ │ │ │ ├── instance_the_black_morass.cpp
│ │ │ │ │ ├── the_black_morass.cpp
│ │ │ │ │ └── the_black_morass.h
│ │ │ │ └── WellofEternity/
│ │ │ │ ├── boss_mannoroth.cpp
│ │ │ │ ├── boss_perotharn.cpp
│ │ │ │ ├── boss_queen_azshara.cpp
│ │ │ │ ├── instance_well_of_eternity.cpp
│ │ │ │ ├── well_of_eternity.cpp
│ │ │ │ ├── well_of_eternity.h
│ │ │ │ └── well_of_eternity_teleport.cpp
│ │ │ ├── DireMaul/
│ │ │ │ ├── dire_maul.cpp
│ │ │ │ ├── dire_maul.h
│ │ │ │ └── instance_dire_maul.cpp
│ │ │ ├── Firelands/
│ │ │ │ ├── boss_alysrazor.cpp
│ │ │ │ ├── boss_baleroc.cpp
│ │ │ │ ├── boss_bethtilac.cpp
│ │ │ │ ├── boss_lord_rhyolith.cpp
│ │ │ │ ├── boss_lord_rhyolith.h
│ │ │ │ ├── boss_majordomo_staghelm.cpp
│ │ │ │ ├── boss_ragnaros_firelands.cpp
│ │ │ │ ├── boss_ragnaros_firelands.h
│ │ │ │ ├── boss_shannox.cpp
│ │ │ │ ├── firelands.cpp
│ │ │ │ ├── firelands.h
│ │ │ │ └── instance_firelands.cpp
│ │ │ ├── HallsOfOrigination/
│ │ │ │ ├── boss_ammunae.cpp
│ │ │ │ ├── boss_anraphet.cpp
│ │ │ │ ├── boss_earthrager_ptah.cpp
│ │ │ │ ├── boss_isiset.cpp
│ │ │ │ ├── boss_rajh.cpp
│ │ │ │ ├── boss_setesh.cpp
│ │ │ │ ├── boss_temple_guardian_anhuur.cpp
│ │ │ │ ├── halls_of_origination.cpp
│ │ │ │ ├── halls_of_origination.h
│ │ │ │ └── instance_halls_of_origination.cpp
│ │ │ ├── LostCityOfTheTolvir/
│ │ │ │ ├── boss_general_husam.cpp
│ │ │ │ ├── boss_high_prophet_barim.cpp
│ │ │ │ ├── boss_lockmaw_augh.cpp
│ │ │ │ ├── boss_siamat.cpp
│ │ │ │ ├── instance_lost_city_of_the_tolvir.cpp
│ │ │ │ ├── lost_city_of_the_tolvir.cpp
│ │ │ │ └── lost_city_of_the_tolvir.h
│ │ │ ├── Maraudon/
│ │ │ │ ├── boss_celebras_the_cursed.cpp
│ │ │ │ ├── boss_landslide.cpp
│ │ │ │ ├── boss_noxxion.cpp
│ │ │ │ ├── boss_princess_theradras.cpp
│ │ │ │ └── instance_maraudon.cpp
│ │ │ ├── OnyxiasLair/
│ │ │ │ ├── boss_onyxia.cpp
│ │ │ │ ├── instance_onyxias_lair.cpp
│ │ │ │ └── onyxias_lair.h
│ │ │ ├── RagefireChasm/
│ │ │ │ ├── boss_adarogg.cpp
│ │ │ │ ├── boss_dark_shaman_koranthal.cpp
│ │ │ │ ├── boss_lava_guard_gordoth.cpp
│ │ │ │ ├── boss_slagmaw.cpp
│ │ │ │ ├── instance_ragefire_chasm.cpp
│ │ │ │ └── ragefire_chasm.h
│ │ │ ├── RazorfenDowns/
│ │ │ │ ├── boss_amnennar_the_coldbringer.cpp
│ │ │ │ ├── instance_razorfen_downs.cpp
│ │ │ │ ├── razorfen_downs.cpp
│ │ │ │ └── razorfen_downs.h
│ │ │ ├── RazorfenKraul/
│ │ │ │ ├── instance_razorfen_kraul.cpp
│ │ │ │ ├── razorfen_kraul.cpp
│ │ │ │ └── razorfen_kraul.h
│ │ │ ├── RuinsOfAhnQiraj/
│ │ │ │ ├── boss_ayamiss.cpp
│ │ │ │ ├── boss_buru.cpp
│ │ │ │ ├── boss_kurinnaxx.cpp
│ │ │ │ ├── boss_moam.cpp
│ │ │ │ ├── boss_ossirian.cpp
│ │ │ │ ├── boss_rajaxx.cpp
│ │ │ │ ├── instance_ruins_of_ahnqiraj.cpp
│ │ │ │ └── ruins_of_ahnqiraj.h
│ │ │ ├── TempleOfAhnQiraj/
│ │ │ │ ├── boss_bug_trio.cpp
│ │ │ │ ├── boss_cthun.cpp
│ │ │ │ ├── boss_fankriss.cpp
│ │ │ │ ├── boss_huhuran.cpp
│ │ │ │ ├── boss_ouro.cpp
│ │ │ │ ├── boss_sartura.cpp
│ │ │ │ ├── boss_skeram.cpp
│ │ │ │ ├── boss_twinemperors.cpp
│ │ │ │ ├── boss_viscidus.cpp
│ │ │ │ ├── instance_temple_of_ahnqiraj.cpp
│ │ │ │ ├── mob_anubisath_sentinel.cpp
│ │ │ │ └── temple_of_ahnqiraj.h
│ │ │ ├── TheVortexPinnacle/
│ │ │ │ ├── boss_altairus.cpp
│ │ │ │ ├── boss_asaad.cpp
│ │ │ │ ├── boss_grand_vizier_ertan.cpp
│ │ │ │ ├── instance_the_vortex_pinnacle.cpp
│ │ │ │ ├── the_vortex_pinnacle.cpp
│ │ │ │ └── the_vortex_pinnacle.h
│ │ │ ├── ThroneoftheFourWinds/
│ │ │ │ ├── boss_alakir.cpp
│ │ │ │ ├── boss_conclave_of_wind.cpp
│ │ │ │ ├── instance_throne_of_the_four_winds.cpp
│ │ │ │ ├── throne_of_the_four_winds.cpp
│ │ │ │ └── throne_of_the_four_winds.h
│ │ │ ├── WailingCaverns/
│ │ │ │ ├── instance_wailing_caverns.cpp
│ │ │ │ ├── wailing_caverns.cpp
│ │ │ │ └── wailing_caverns.h
│ │ │ ├── ZulFarrak/
│ │ │ │ ├── boss_zum_rah.cpp
│ │ │ │ ├── instance_zulfarrak.cpp
│ │ │ │ ├── zulfarrak.cpp
│ │ │ │ └── zulfarrak.h
│ │ │ ├── boss_azuregos.cpp
│ │ │ ├── zone_ashenvale.cpp
│ │ │ ├── zone_azshara.cpp
│ │ │ ├── zone_azuremyst_isle.cpp
│ │ │ ├── zone_bloodmyst_isle.cpp
│ │ │ ├── zone_darkshore.cpp
│ │ │ ├── zone_desolace.cpp
│ │ │ ├── zone_durotar.cpp
│ │ │ ├── zone_dustwallow_marsh.cpp
│ │ │ ├── zone_felwood.cpp
│ │ │ ├── zone_feralas.cpp
│ │ │ ├── zone_moonglade.cpp
│ │ │ ├── zone_mount_hyjal.cpp
│ │ │ ├── zone_mulgore.cpp
│ │ │ ├── zone_orgrimmar.cpp
│ │ │ ├── zone_silithus.cpp
│ │ │ ├── zone_stonetalon_mountains.cpp
│ │ │ ├── zone_tanaris.cpp
│ │ │ ├── zone_teldrassil.cpp
│ │ │ ├── zone_the_barrens.cpp
│ │ │ ├── zone_thousand_needles.cpp
│ │ │ ├── zone_thunder_bluff.cpp
│ │ │ ├── zone_uldum.cpp
│ │ │ ├── zone_ungoro_crater.cpp
│ │ │ └── zone_winterspring.cpp
│ │ ├── Maelstrom/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── TheStonecore/
│ │ │ │ ├── boss_corborus.cpp
│ │ │ │ ├── boss_high_priestess_azil.cpp
│ │ │ │ ├── boss_ozruk.cpp
│ │ │ │ ├── boss_slabhide.cpp
│ │ │ │ ├── instance_the_stonecore.cpp
│ │ │ │ ├── the_stonecore.cpp
│ │ │ │ └── the_stonecore.h
│ │ │ ├── zone_deepholm.cpp
│ │ │ └── zone_kezan.cpp
│ │ ├── Northrend/
│ │ │ ├── AzjolNerub/
│ │ │ │ ├── Ahnkahet/
│ │ │ │ │ ├── ahnkahet.h
│ │ │ │ │ ├── boss_amanitar.cpp
│ │ │ │ │ ├── boss_elder_nadox.cpp
│ │ │ │ │ ├── boss_herald_volazj.cpp
│ │ │ │ │ ├── boss_jedoga_shadowseeker.cpp
│ │ │ │ │ ├── boss_prince_taldaram.cpp
│ │ │ │ │ └── instance_ahnkahet.cpp
│ │ │ │ └── AzjolNerub/
│ │ │ │ ├── azjol_nerub.h
│ │ │ │ ├── boss_anubarak.cpp
│ │ │ │ ├── boss_hadronox.cpp
│ │ │ │ ├── boss_krikthir_the_gatewatcher.cpp
│ │ │ │ └── instance_azjol_nerub.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ChamberOfAspects/
│ │ │ │ ├── ObsidianSanctum/
│ │ │ │ │ ├── boss_sartharion.cpp
│ │ │ │ │ ├── instance_obsidian_sanctum.cpp
│ │ │ │ │ └── obsidian_sanctum.h
│ │ │ │ └── RubySanctum/
│ │ │ │ ├── boss_baltharus_the_warborn.cpp
│ │ │ │ ├── boss_general_zarithrian.cpp
│ │ │ │ ├── boss_halion.cpp
│ │ │ │ ├── boss_saviana_ragefire.cpp
│ │ │ │ ├── instance_ruby_sanctum.cpp
│ │ │ │ ├── ruby_sanctum.cpp
│ │ │ │ └── ruby_sanctum.h
│ │ │ ├── CrusadersColiseum/
│ │ │ │ ├── TrialOfTheChampion/
│ │ │ │ │ ├── boss_argent_challenge.cpp
│ │ │ │ │ ├── boss_black_knight.cpp
│ │ │ │ │ ├── boss_grand_champions.cpp
│ │ │ │ │ ├── instance_trial_of_the_champion.cpp
│ │ │ │ │ ├── trial_of_the_champion.cpp
│ │ │ │ │ └── trial_of_the_champion.h
│ │ │ │ └── TrialOfTheCrusader/
│ │ │ │ ├── boss_anubarak_trial.cpp
│ │ │ │ ├── boss_faction_champions.cpp
│ │ │ │ ├── boss_lord_jaraxxus.cpp
│ │ │ │ ├── boss_northrend_beasts.cpp
│ │ │ │ ├── boss_twin_valkyr.cpp
│ │ │ │ ├── instance_trial_of_the_crusader.cpp
│ │ │ │ ├── trial_of_the_crusader.cpp
│ │ │ │ └── trial_of_the_crusader.h
│ │ │ ├── DraktharonKeep/
│ │ │ │ ├── boss_king_dred.cpp
│ │ │ │ ├── boss_novos.cpp
│ │ │ │ ├── boss_tharon_ja.cpp
│ │ │ │ ├── boss_trollgore.cpp
│ │ │ │ ├── drak_tharon_keep.h
│ │ │ │ └── instance_drak_tharon_keep.cpp
│ │ │ ├── FrozenHalls/
│ │ │ │ ├── ForgeOfSouls/
│ │ │ │ │ ├── boss_bronjahm.cpp
│ │ │ │ │ ├── boss_devourer_of_souls.cpp
│ │ │ │ │ ├── forge_of_souls.cpp
│ │ │ │ │ ├── forge_of_souls.h
│ │ │ │ │ └── instance_forge_of_souls.cpp
│ │ │ │ ├── HallsOfReflection/
│ │ │ │ │ ├── boss_falric.cpp
│ │ │ │ │ ├── boss_marwyn.cpp
│ │ │ │ │ ├── boss_the_lich_king_hor.cpp
│ │ │ │ │ ├── halls_of_reflection.cpp
│ │ │ │ │ ├── halls_of_reflection.h
│ │ │ │ │ └── instance_halls_of_reflection.cpp
│ │ │ │ └── PitOfSaron/
│ │ │ │ ├── boss_forgemaster_garfrost.cpp
│ │ │ │ ├── boss_krickandick.cpp
│ │ │ │ ├── boss_scourgelord_tyrannus.cpp
│ │ │ │ ├── instance_pit_of_saron.cpp
│ │ │ │ ├── pit_of_saron.cpp
│ │ │ │ └── pit_of_saron.h
│ │ │ ├── Gundrak/
│ │ │ │ ├── boss_drakkari_colossus.cpp
│ │ │ │ ├── boss_eck.cpp
│ │ │ │ ├── boss_gal_darah.cpp
│ │ │ │ ├── boss_moorabi.cpp
│ │ │ │ ├── boss_slad_ran.cpp
│ │ │ │ ├── gundrak.h
│ │ │ │ └── instance_gundrak.cpp
│ │ │ ├── IcecrownCitadel/
│ │ │ │ ├── boss_blood_prince_council.cpp
│ │ │ │ ├── boss_blood_queen_lana_thel.cpp
│ │ │ │ ├── boss_deathbringer_saurfang.cpp
│ │ │ │ ├── boss_festergut.cpp
│ │ │ │ ├── boss_gunship_battle.cpp
│ │ │ │ ├── boss_lady_deathwhisper.cpp
│ │ │ │ ├── boss_lord_marrowgar.cpp
│ │ │ │ ├── boss_professor_putricide.cpp
│ │ │ │ ├── boss_rotface.cpp
│ │ │ │ ├── boss_sindragosa.cpp
│ │ │ │ ├── boss_the_lich_king.cpp
│ │ │ │ ├── boss_valithria_dreamwalker.cpp
│ │ │ │ ├── icecrown_citadel.cpp
│ │ │ │ ├── icecrown_citadel.h
│ │ │ │ ├── icecrown_citadel_teleport.cpp
│ │ │ │ ├── instance_icecrown_citadel.cpp
│ │ │ │ └── npc_icecrown_citadel.cpp
│ │ │ ├── Naxxramas/
│ │ │ │ ├── boss_anubrekhan.cpp
│ │ │ │ ├── boss_faerlina.cpp
│ │ │ │ ├── boss_four_horsemen.cpp
│ │ │ │ ├── boss_gluth.cpp
│ │ │ │ ├── boss_gothik.cpp
│ │ │ │ ├── boss_grobbulus.cpp
│ │ │ │ ├── boss_heigan.cpp
│ │ │ │ ├── boss_kelthuzad.cpp
│ │ │ │ ├── boss_loatheb.cpp
│ │ │ │ ├── boss_maexxna.cpp
│ │ │ │ ├── boss_noth.cpp
│ │ │ │ ├── boss_patchwerk.cpp
│ │ │ │ ├── boss_razuvious.cpp
│ │ │ │ ├── boss_sapphiron.cpp
│ │ │ │ ├── boss_thaddius.cpp
│ │ │ │ ├── instance_naxxramas.cpp
│ │ │ │ └── naxxramas.h
│ │ │ ├── Nexus/
│ │ │ │ ├── EyeOfEternity/
│ │ │ │ │ ├── boss_malygos.cpp
│ │ │ │ │ ├── eye_of_eternity.h
│ │ │ │ │ └── instance_eye_of_eternity.cpp
│ │ │ │ ├── Nexus/
│ │ │ │ │ ├── boss_anomalus.cpp
│ │ │ │ │ ├── boss_commander_kolurg.cpp
│ │ │ │ │ ├── boss_commander_stoutbeard.cpp
│ │ │ │ │ ├── boss_keristrasza.cpp
│ │ │ │ │ ├── boss_magus_telestra.cpp
│ │ │ │ │ ├── boss_ormorok.cpp
│ │ │ │ │ ├── instance_nexus.cpp
│ │ │ │ │ └── nexus.h
│ │ │ │ └── Oculus/
│ │ │ │ ├── boss_drakos.cpp
│ │ │ │ ├── boss_eregos.cpp
│ │ │ │ ├── boss_urom.cpp
│ │ │ │ ├── boss_varos.cpp
│ │ │ │ ├── instance_oculus.cpp
│ │ │ │ ├── oculus.cpp
│ │ │ │ └── oculus.h
│ │ │ ├── Ulduar/
│ │ │ │ ├── HallsOfLightning/
│ │ │ │ │ ├── boss_bjarngrim.cpp
│ │ │ │ │ ├── boss_ionar.cpp
│ │ │ │ │ ├── boss_loken.cpp
│ │ │ │ │ ├── boss_volkhan.cpp
│ │ │ │ │ ├── halls_of_lightning.cpp
│ │ │ │ │ ├── halls_of_lightning.h
│ │ │ │ │ └── instance_halls_of_lightning.cpp
│ │ │ │ ├── HallsOfStone/
│ │ │ │ │ ├── boss_krystallus.cpp
│ │ │ │ │ ├── boss_maiden_of_grief.cpp
│ │ │ │ │ ├── boss_sjonnir.cpp
│ │ │ │ │ ├── halls_of_stone.cpp
│ │ │ │ │ ├── halls_of_stone.h
│ │ │ │ │ └── instance_halls_of_stone.cpp
│ │ │ │ └── Ulduar/
│ │ │ │ ├── boss_algalon_the_observer.cpp
│ │ │ │ ├── boss_assembly_of_iron.cpp
│ │ │ │ ├── boss_auriaya.cpp
│ │ │ │ ├── boss_flame_leviathan.cpp
│ │ │ │ ├── boss_freya.cpp
│ │ │ │ ├── boss_general_vezax.cpp
│ │ │ │ ├── boss_hodir.cpp
│ │ │ │ ├── boss_ignis.cpp
│ │ │ │ ├── boss_kologarn.cpp
│ │ │ │ ├── boss_mimiron.cpp
│ │ │ │ ├── boss_razorscale.cpp
│ │ │ │ ├── boss_thorim.cpp
│ │ │ │ ├── boss_xt002.cpp
│ │ │ │ ├── boss_yogg_saron.cpp
│ │ │ │ ├── instance_ulduar.cpp
│ │ │ │ ├── ulduar.h
│ │ │ │ ├── ulduar_scripts.cpp
│ │ │ │ └── ulduar_teleporter.cpp
│ │ │ ├── UtgardeKeep/
│ │ │ │ ├── UtgardeKeep/
│ │ │ │ │ ├── boss_ingvar_the_plunderer.cpp
│ │ │ │ │ ├── boss_keleseth.cpp
│ │ │ │ │ ├── boss_skarvald_dalronn.cpp
│ │ │ │ │ ├── instance_utgarde_keep.cpp
│ │ │ │ │ ├── utgarde_keep.cpp
│ │ │ │ │ └── utgarde_keep.h
│ │ │ │ └── UtgardePinnacle/
│ │ │ │ ├── boss_palehoof.cpp
│ │ │ │ ├── boss_skadi.cpp
│ │ │ │ ├── boss_svala.cpp
│ │ │ │ ├── boss_ymiron.cpp
│ │ │ │ ├── instance_utgarde_pinnacle.cpp
│ │ │ │ └── utgarde_pinnacle.h
│ │ │ ├── VaultOfArchavon/
│ │ │ │ ├── boss_archavon.cpp
│ │ │ │ ├── boss_emalon.cpp
│ │ │ │ ├── boss_koralon.cpp
│ │ │ │ ├── boss_toravon.cpp
│ │ │ │ ├── instance_vault_of_archavon.cpp
│ │ │ │ └── vault_of_archavon.h
│ │ │ ├── VioletHold/
│ │ │ │ ├── boss_cyanigosa.cpp
│ │ │ │ ├── boss_erekem.cpp
│ │ │ │ ├── boss_ichoron.cpp
│ │ │ │ ├── boss_lavanthor.cpp
│ │ │ │ ├── boss_moragg.cpp
│ │ │ │ ├── boss_xevozz.cpp
│ │ │ │ ├── boss_zuramat.cpp
│ │ │ │ ├── instance_violet_hold.cpp
│ │ │ │ ├── violet_hold.cpp
│ │ │ │ └── violet_hold.h
│ │ │ ├── zone_borean_tundra.cpp
│ │ │ ├── zone_crystalsong_forest.cpp
│ │ │ ├── zone_dalaran.cpp
│ │ │ ├── zone_dragonblight.cpp
│ │ │ ├── zone_grizzly_hills.cpp
│ │ │ ├── zone_howling_fjord.cpp
│ │ │ ├── zone_icecrown.cpp
│ │ │ ├── zone_sholazar_basin.cpp
│ │ │ ├── zone_storm_peaks.cpp
│ │ │ ├── zone_wintergrasp.cpp
│ │ │ └── zone_zuldrak.cpp
│ │ ├── OutdoorPvP/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── OutdoorPvPHP.cpp
│ │ │ ├── OutdoorPvPHP.h
│ │ │ ├── OutdoorPvPNA.cpp
│ │ │ ├── OutdoorPvPNA.h
│ │ │ ├── OutdoorPvPSI.cpp
│ │ │ ├── OutdoorPvPSI.h
│ │ │ ├── OutdoorPvPTF.cpp
│ │ │ ├── OutdoorPvPTF.h
│ │ │ ├── OutdoorPvPZM.cpp
│ │ │ └── OutdoorPvPZM.h
│ │ ├── Outland/
│ │ │ ├── Auchindoun/
│ │ │ │ ├── AuchenaiCrypts/
│ │ │ │ │ ├── auchenai_crypts.h
│ │ │ │ │ ├── boss_exarch_maladaar.cpp
│ │ │ │ │ ├── boss_shirrak_the_dead_watcher.cpp
│ │ │ │ │ └── instance_auchenai_crypts.cpp
│ │ │ │ ├── ManaTombs/
│ │ │ │ │ ├── boss_nexusprince_shaffar.cpp
│ │ │ │ │ ├── boss_pandemonius.cpp
│ │ │ │ │ ├── instance_mana_tombs.cpp
│ │ │ │ │ └── mana_tombs.h
│ │ │ │ ├── SethekkHalls/
│ │ │ │ │ ├── boss_anzu.cpp
│ │ │ │ │ ├── boss_darkweaver_syth.cpp
│ │ │ │ │ ├── boss_tailonking_ikiss.cpp
│ │ │ │ │ ├── instance_sethekk_halls.cpp
│ │ │ │ │ └── sethekk_halls.h
│ │ │ │ └── ShadowLabyrinth/
│ │ │ │ ├── boss_ambassador_hellmaw.cpp
│ │ │ │ ├── boss_blackheart_the_inciter.cpp
│ │ │ │ ├── boss_grandmaster_vorpil.cpp
│ │ │ │ ├── boss_murmur.cpp
│ │ │ │ ├── instance_shadow_labyrinth.cpp
│ │ │ │ └── shadow_labyrinth.h
│ │ │ ├── BlackTemple/
│ │ │ │ ├── black_temple.cpp
│ │ │ │ ├── black_temple.h
│ │ │ │ ├── boss_bloodboil.cpp
│ │ │ │ ├── boss_illidan.cpp
│ │ │ │ ├── boss_mother_shahraz.cpp
│ │ │ │ ├── boss_reliquary_of_souls.cpp
│ │ │ │ ├── boss_shade_of_akama.cpp
│ │ │ │ ├── boss_supremus.cpp
│ │ │ │ ├── boss_teron_gorefiend.cpp
│ │ │ │ ├── boss_warlord_najentus.cpp
│ │ │ │ ├── illidari_council.cpp
│ │ │ │ └── instance_black_temple.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CoilfangReservoir/
│ │ │ │ ├── SerpentShrine/
│ │ │ │ │ ├── boss_fathomlord_karathress.cpp
│ │ │ │ │ ├── boss_hydross_the_unstable.cpp
│ │ │ │ │ ├── boss_lady_vashj.cpp
│ │ │ │ │ ├── boss_leotheras_the_blind.cpp
│ │ │ │ │ ├── boss_lurker_below.cpp
│ │ │ │ │ ├── boss_morogrim_tidewalker.cpp
│ │ │ │ │ ├── instance_serpent_shrine.cpp
│ │ │ │ │ └── serpent_shrine.h
│ │ │ │ ├── SteamVault/
│ │ │ │ │ ├── boss_hydromancer_thespia.cpp
│ │ │ │ │ ├── boss_mekgineer_steamrigger.cpp
│ │ │ │ │ ├── boss_warlord_kalithresh.cpp
│ │ │ │ │ ├── instance_steam_vault.cpp
│ │ │ │ │ └── steam_vault.h
│ │ │ │ ├── TheSlavePens/
│ │ │ │ │ ├── boss_frostlord_ahune.cpp
│ │ │ │ │ ├── boss_mennu_the_betrayer.cpp
│ │ │ │ │ ├── boss_quagmirran.cpp
│ │ │ │ │ ├── boss_rokmar_the_crackler.cpp
│ │ │ │ │ ├── instance_the_slave_pens.cpp
│ │ │ │ │ └── the_slave_pens.h
│ │ │ │ └── TheUnderbog/
│ │ │ │ ├── boss_hungarfen.cpp
│ │ │ │ ├── boss_the_black_stalker.cpp
│ │ │ │ └── instance_the_underbog.cpp
│ │ │ ├── GruulsLair/
│ │ │ │ ├── boss_gruul.cpp
│ │ │ │ ├── boss_high_king_maulgar.cpp
│ │ │ │ ├── gruuls_lair.h
│ │ │ │ └── instance_gruuls_lair.cpp
│ │ │ ├── HellfireCitadel/
│ │ │ │ ├── BloodFurnace/
│ │ │ │ │ ├── blood_furnace.h
│ │ │ │ │ ├── boss_broggok.cpp
│ │ │ │ │ ├── boss_kelidan_the_breaker.cpp
│ │ │ │ │ ├── boss_the_maker.cpp
│ │ │ │ │ └── instance_blood_furnace.cpp
│ │ │ │ ├── HellfireRamparts/
│ │ │ │ │ ├── boss_omor_the_unscarred.cpp
│ │ │ │ │ ├── boss_vazruden_the_herald.cpp
│ │ │ │ │ ├── boss_watchkeeper_gargolmar.cpp
│ │ │ │ │ ├── hellfire_ramparts.h
│ │ │ │ │ └── instance_hellfire_ramparts.cpp
│ │ │ │ ├── MagtheridonsLair/
│ │ │ │ │ ├── boss_magtheridon.cpp
│ │ │ │ │ ├── instance_magtheridons_lair.cpp
│ │ │ │ │ └── magtheridons_lair.h
│ │ │ │ └── ShatteredHalls/
│ │ │ │ ├── boss_nethekurse.cpp
│ │ │ │ ├── boss_warbringer_omrogg.cpp
│ │ │ │ ├── boss_warchief_kargath_bladefist.cpp
│ │ │ │ ├── instance_shattered_halls.cpp
│ │ │ │ └── shattered_halls.h
│ │ │ ├── TempestKeep/
│ │ │ │ ├── Eye/
│ │ │ │ │ ├── boss_alar.cpp
│ │ │ │ │ ├── boss_astromancer.cpp
│ │ │ │ │ ├── boss_kaelthas.cpp
│ │ │ │ │ ├── boss_void_reaver.cpp
│ │ │ │ │ ├── instance_the_eye.cpp
│ │ │ │ │ ├── the_eye.cpp
│ │ │ │ │ └── the_eye.h
│ │ │ │ ├── Mechanar/
│ │ │ │ │ ├── boss_gatewatcher_gyrokill.cpp
│ │ │ │ │ ├── boss_gatewatcher_ironhand.cpp
│ │ │ │ │ ├── boss_mechano_lord_capacitus.cpp
│ │ │ │ │ ├── boss_nethermancer_sepethrea.cpp
│ │ │ │ │ ├── boss_pathaleon_the_calculator.cpp
│ │ │ │ │ ├── instance_mechanar.cpp
│ │ │ │ │ └── mechanar.h
│ │ │ │ ├── arcatraz/
│ │ │ │ │ ├── arcatraz.cpp
│ │ │ │ │ ├── arcatraz.h
│ │ │ │ │ ├── boss_dalliah_the_doomsayer.cpp
│ │ │ │ │ ├── boss_harbinger_skyriss.cpp
│ │ │ │ │ ├── boss_wrath_scryer_soccothrates.cpp
│ │ │ │ │ ├── boss_zereketh_the_unbound.cpp
│ │ │ │ │ └── instance_arcatraz.cpp
│ │ │ │ └── botanica/
│ │ │ │ ├── boss_commander_sarannis.cpp
│ │ │ │ ├── boss_high_botanist_freywinn.cpp
│ │ │ │ ├── boss_laj.cpp
│ │ │ │ ├── boss_thorngrin_the_tender.cpp
│ │ │ │ ├── boss_warp_splinter.cpp
│ │ │ │ ├── instance_the_botanica.cpp
│ │ │ │ └── the_botanica.h
│ │ │ ├── boss_doomlord_kazzak.cpp
│ │ │ ├── boss_doomwalker.cpp
│ │ │ ├── zone_blades_edge_mountains.cpp
│ │ │ ├── zone_hellfire_peninsula.cpp
│ │ │ ├── zone_nagrand.cpp
│ │ │ ├── zone_netherstorm.cpp
│ │ │ ├── zone_shadowmoon_valley.cpp
│ │ │ ├── zone_shattrath_city.cpp
│ │ │ ├── zone_terokkar_forest.cpp
│ │ │ └── zone_zangarmarsh.cpp
│ │ ├── Pandaria/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── GateOfTheSettingSun/
│ │ │ │ ├── boss_commander_rimok.cpp
│ │ │ │ ├── boss_raigonn.cpp
│ │ │ │ ├── boss_saboteur_kiptilak.cpp
│ │ │ │ ├── boss_striker_gadok.cpp
│ │ │ │ ├── gate_of_the_setting_sun.cpp
│ │ │ │ ├── gate_of_the_setting_sun.h
│ │ │ │ └── instance_gate_of_the_setting_sun.cpp
│ │ │ ├── HeartOfFear/
│ │ │ │ ├── boss_garalon.cpp
│ │ │ │ ├── boss_meljarak.cpp
│ │ │ │ ├── boss_shekzeer.cpp
│ │ │ │ ├── boss_tayak.cpp
│ │ │ │ ├── boss_unsok.cpp
│ │ │ │ ├── boss_zorlok.cpp
│ │ │ │ ├── heart_of_fear.cpp
│ │ │ │ ├── heart_of_fear.h
│ │ │ │ └── instance_heart_of_fear.cpp
│ │ │ ├── MogushanPalace/
│ │ │ │ ├── boss_gekkan.cpp
│ │ │ │ ├── boss_trial_of_the_king.cpp
│ │ │ │ ├── boss_xin_the_weaponmaster.cpp
│ │ │ │ ├── instance_mogu_shan_palace.cpp
│ │ │ │ └── mogu_shan_palace.h
│ │ │ ├── MogushanVault/
│ │ │ │ ├── boss_elegon.cpp
│ │ │ │ ├── boss_feng.cpp
│ │ │ │ ├── boss_garajal.cpp
│ │ │ │ ├── boss_spirit_kings.cpp
│ │ │ │ ├── boss_stone_guard.cpp
│ │ │ │ ├── boss_will_of_emperor.cpp
│ │ │ │ ├── instance_mogu_shan_vault.cpp
│ │ │ │ ├── mogu_shan_vault.cpp
│ │ │ │ └── mogu_shan_vault.h
│ │ │ ├── Scenarios/
│ │ │ │ ├── ArenaOfAnnihiliation/
│ │ │ │ │ ├── arena_of_annihiliation.cpp
│ │ │ │ │ ├── arena_of_annihiliation.h
│ │ │ │ │ └── instance_arena_of_annihiliation.cpp
│ │ │ │ ├── AssaultOnZanvess/
│ │ │ │ │ ├── assault_on_zanvess.cpp
│ │ │ │ │ ├── assault_on_zanvess.h
│ │ │ │ │ └── instance_assault_on_zanvess.cpp
│ │ │ │ ├── BattleOnTheHighSeas/
│ │ │ │ │ ├── battle_on_the_high_seas.cpp
│ │ │ │ │ ├── battle_on_the_high_seas.h
│ │ │ │ │ └── instance_battle_on_the_high_seas.cpp
│ │ │ │ ├── BloodInTheSnow/
│ │ │ │ │ ├── blood_in_the_snow.cpp
│ │ │ │ │ ├── blood_in_the_snow.h
│ │ │ │ │ └── instance_blood_in_the_snow.cpp
│ │ │ │ ├── BrewingStorm/
│ │ │ │ │ ├── brewing_storm.cpp
│ │ │ │ │ ├── brewing_storm.h
│ │ │ │ │ └── instance_brewing_storm.cpp
│ │ │ │ ├── BrewmoonFestival/
│ │ │ │ │ ├── brewmoon_festival.cpp
│ │ │ │ │ ├── brewmoon_festival.h
│ │ │ │ │ └── instance_brewmoon_festival.cpp
│ │ │ │ ├── CryptOfForgottenKings/
│ │ │ │ │ ├── crypt_of_forgotten_kings.cpp
│ │ │ │ │ ├── crypt_of_forgotten_kings.h
│ │ │ │ │ └── instance_crypt_of_forgotten_kings.cpp
│ │ │ │ ├── DaggerInTheDark/
│ │ │ │ │ ├── dagger_in_the_dark.cpp
│ │ │ │ │ ├── dagger_in_the_dark.h
│ │ │ │ │ └── instance_dagger_in_the_dark.cpp
│ │ │ │ ├── DarkHeartOfPandaria/
│ │ │ │ │ ├── dark_heart_of_pandaria.cpp
│ │ │ │ │ ├── dark_heart_of_pandaria.h
│ │ │ │ │ └── instance_dark_heart_of_pandaria.cpp
│ │ │ │ ├── FallOfTheramoreAlliance/
│ │ │ │ │ ├── fall_of_theramore_alliance.cpp
│ │ │ │ │ ├── fall_of_theramore_alliance.h
│ │ │ │ │ └── instance_fall_of_theramore_alliance.cpp
│ │ │ │ ├── FallOfTheramoreHorde/
│ │ │ │ │ ├── fall_of_theramore_horde.cpp
│ │ │ │ │ ├── fall_of_theramore_horde.h
│ │ │ │ │ └── instance_fall_of_theramore_horde.cpp
│ │ │ │ ├── GreenstoneVillage/
│ │ │ │ │ ├── greenstone_village.cpp
│ │ │ │ │ ├── greenstone_village.h
│ │ │ │ │ └── instance_greenstone_village.cpp
│ │ │ │ ├── IsleOfThunder/
│ │ │ │ │ ├── instance_isle_of_thunder.cpp
│ │ │ │ │ ├── instance_pursuing_the_black_harvest.cpp
│ │ │ │ │ ├── instance_thunder_king_citadel.cpp
│ │ │ │ │ ├── isle_of_thunder.cpp
│ │ │ │ │ ├── isle_of_thunder.h
│ │ │ │ │ ├── pursuing_the_black_harvest.cpp
│ │ │ │ │ ├── pursuing_the_black_harvest.h
│ │ │ │ │ ├── thunder_king_citadel.cpp
│ │ │ │ │ └── thunder_king_citadel.h
│ │ │ │ ├── LittlePatience/
│ │ │ │ │ ├── instance_little_patience.cpp
│ │ │ │ │ ├── little_patience.cpp
│ │ │ │ │ └── little_patience.h
│ │ │ │ ├── ProvingGrounds/
│ │ │ │ │ ├── instance_proving_grounds.cpp
│ │ │ │ │ ├── proving_grounds.cpp
│ │ │ │ │ └── proving_grounds.h
│ │ │ │ ├── SecretIngridient/
│ │ │ │ │ ├── instance_secret_ingridient.cpp
│ │ │ │ │ ├── secret_ingridient.cpp
│ │ │ │ │ └── secret_ingridient.h
│ │ │ │ ├── SecretsOfRagefire/
│ │ │ │ │ ├── instance_secrets_of_ragefire.cpp
│ │ │ │ │ ├── secrets_of_ragefire.cpp
│ │ │ │ │ └── secrets_of_ragefire.h
│ │ │ │ └── UngaIngoo/
│ │ │ │ ├── instance_unga_ingoo.cpp
│ │ │ │ ├── unga_ingoo.cpp
│ │ │ │ └── unga_ingoo.h
│ │ │ ├── ShadopanMonastery/
│ │ │ │ ├── boss_gu_cloudstrike.cpp
│ │ │ │ ├── boss_master_snowdrift.cpp
│ │ │ │ ├── boss_sha_of_violence.cpp
│ │ │ │ ├── boss_taran_zhu.cpp
│ │ │ │ ├── instance_shadopan_monastery.cpp
│ │ │ │ ├── shadopan_monastery.cpp
│ │ │ │ └── shadopan_monastery.h
│ │ │ ├── SiegeOfNiuzaoTemple/
│ │ │ │ ├── boss_commander_vojak.cpp
│ │ │ │ ├── boss_general_pavalak.cpp
│ │ │ │ ├── boss_vizier_jinbak.cpp
│ │ │ │ ├── boss_wing_leader_neronok.cpp
│ │ │ │ ├── instance_siege_of_niuzao_temple.cpp
│ │ │ │ ├── siege_of_niuzao_temple.cpp
│ │ │ │ └── siege_of_niuzao_temple.h
│ │ │ ├── SiegeOfOrgrimmar/
│ │ │ │ ├── boss_fallen_protectors.cpp
│ │ │ │ ├── boss_galakras.cpp
│ │ │ │ ├── boss_garrosh_hellscream.cpp
│ │ │ │ ├── boss_general_nazgrim.cpp
│ │ │ │ ├── boss_immerseus.cpp
│ │ │ │ ├── boss_iron_juggernaut.cpp
│ │ │ │ ├── boss_korkron_dark_shamans.cpp
│ │ │ │ ├── boss_malkorok.cpp
│ │ │ │ ├── boss_norushen.cpp
│ │ │ │ ├── boss_paragons_of_the_klaxxi.cpp
│ │ │ │ ├── boss_sha_of_pride.cpp
│ │ │ │ ├── boss_siegecrafter_blackfuse.cpp
│ │ │ │ ├── boss_spoils_of_pandaria.cpp
│ │ │ │ ├── boss_thok_the_bloodthirsty.cpp
│ │ │ │ ├── instance_siege_of_orgrimmar.cpp
│ │ │ │ ├── siege_of_orgrimmar.cpp
│ │ │ │ └── siege_of_orgrimmar.h
│ │ │ ├── StormstoutBrewery/
│ │ │ │ ├── boss_hoptallus.cpp
│ │ │ │ ├── boss_ook_ook.cpp
│ │ │ │ ├── boss_yanzhu_the_uncasked.cpp
│ │ │ │ ├── instance_stormstout_brewery.cpp
│ │ │ │ ├── stormstout_brewery.cpp
│ │ │ │ └── stormstout_brewery.h
│ │ │ ├── TempleOfTheJadeSerpent/
│ │ │ │ ├── boss_liu_flameheart.cpp
│ │ │ │ ├── boss_lorewalker_stonestep.cpp
│ │ │ │ ├── boss_sha_of_doubt.cpp
│ │ │ │ ├── boss_wise_mari.cpp
│ │ │ │ ├── instance_temple_of_the_jade_serpent.cpp
│ │ │ │ └── temple_of_the_jade_serpent.h
│ │ │ ├── TerraceOfEndlessSpring/
│ │ │ │ ├── boss_lei_shi.cpp
│ │ │ │ ├── boss_protectors_of_the_endless.cpp
│ │ │ │ ├── boss_sha_of_fear.cpp
│ │ │ │ ├── boss_tsulong.cpp
│ │ │ │ ├── instance_terrace_of_endless_spring.cpp
│ │ │ │ ├── terrace_of_endless_spring.cpp
│ │ │ │ └── terrace_of_endless_spring.h
│ │ │ ├── ThroneOfThunder/
│ │ │ │ ├── boss_council_of_elders.cpp
│ │ │ │ ├── boss_dark_animus.cpp
│ │ │ │ ├── boss_durumu.cpp
│ │ │ │ ├── boss_horridon.cpp
│ │ │ │ ├── boss_iron_qon.cpp
│ │ │ │ ├── boss_jikun.cpp
│ │ │ │ ├── boss_jinrokh.cpp
│ │ │ │ ├── boss_lei_shen.cpp
│ │ │ │ ├── boss_megaera.cpp
│ │ │ │ ├── boss_primordius.cpp
│ │ │ │ ├── boss_ra_den.cpp
│ │ │ │ ├── boss_tortos.cpp
│ │ │ │ ├── boss_twin_consorts.cpp
│ │ │ │ ├── instance_throne_of_thunder.cpp
│ │ │ │ ├── throne_of_thunder.cpp
│ │ │ │ └── throne_of_thunder.h
│ │ │ ├── TimelessIsle/
│ │ │ │ ├── boss_chi_ji.cpp
│ │ │ │ ├── boss_niuzao.cpp
│ │ │ │ ├── boss_ordos.cpp
│ │ │ │ ├── boss_xuen.cpp
│ │ │ │ ├── boss_yu_lon.cpp
│ │ │ │ ├── timeless_isle.h
│ │ │ │ └── zone_timeless_isle.cpp
│ │ │ ├── WanderingIsland/
│ │ │ │ ├── zone_wandering_island_east.cpp
│ │ │ │ ├── zone_wandering_island_north.cpp
│ │ │ │ ├── zone_wandering_island_south.cpp
│ │ │ │ └── zone_wandering_island_west.cpp
│ │ │ ├── boss_galion.cpp
│ │ │ ├── boss_nalak.cpp
│ │ │ ├── boss_oondasta.cpp
│ │ │ ├── boss_sha_of_anger.cpp
│ │ │ ├── zone_dread_wastes.cpp
│ │ │ ├── zone_isle_of_giants.cpp
│ │ │ ├── zone_isle_of_thunder.cpp
│ │ │ ├── zone_krasarang_wilds.cpp
│ │ │ ├── zone_kun_lai_summit.cpp
│ │ │ ├── zone_the_jade_forest.cpp
│ │ │ ├── zone_the_veiled_stair.cpp
│ │ │ ├── zone_townlong_steppes.cpp
│ │ │ ├── zone_vale_of_eternal_blossoms.cpp
│ │ │ └── zone_valley_of_the_four_winds.cpp
│ │ ├── Pet/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── pet_generic.cpp
│ │ │ ├── pet_monk.cpp
│ │ │ ├── pet_priest.cpp
│ │ │ └── pet_warlock.cpp
│ │ ├── PrecompiledHeaders/
│ │ │ ├── ScriptPCH.cpp
│ │ │ └── ScriptPCH.h
│ │ ├── ScriptLoader/
│ │ │ ├── ScriptLoader.cpp
│ │ │ └── ScriptLoader.h
│ │ ├── Spells/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── spell_common.cpp
│ │ │ ├── spell_common.h
│ │ │ ├── spell_dk.cpp
│ │ │ ├── spell_druid.cpp
│ │ │ ├── spell_enchantment.cpp
│ │ │ ├── spell_generic.cpp
│ │ │ ├── spell_holiday.cpp
│ │ │ ├── spell_hunter.cpp
│ │ │ ├── spell_item.cpp
│ │ │ ├── spell_mage.cpp
│ │ │ ├── spell_monk.cpp
│ │ │ ├── spell_paladin.cpp
│ │ │ ├── spell_pet.cpp
│ │ │ ├── spell_priest.cpp
│ │ │ ├── spell_quest.cpp
│ │ │ ├── spell_rogue.cpp
│ │ │ ├── spell_shaman.cpp
│ │ │ ├── spell_warlock.cpp
│ │ │ └── spell_warrior.cpp
│ │ └── World/
│ │ ├── BrawlersGuild/
│ │ │ ├── brawlers_guild.cpp
│ │ │ └── brawlers_guild.h
│ │ ├── CMakeLists.txt
│ │ ├── achievement_scripts.cpp
│ │ ├── areatrigger_scripts.cpp
│ │ ├── argent_tournament.cpp
│ │ ├── boss_emerald_dragons.cpp
│ │ ├── chat_log.cpp
│ │ ├── darkmoon_island.cpp
│ │ ├── duel_scripts.cpp
│ │ ├── fangs_of_father_scripts.cpp
│ │ ├── go_scripts.cpp
│ │ ├── guards.cpp
│ │ ├── item_scripts.cpp
│ │ ├── mob_generic_creature.cpp
│ │ ├── npc_innkeeper.cpp
│ │ ├── npc_professions.cpp
│ │ ├── npc_taxi.cpp
│ │ ├── npcs_special.cpp
│ │ ├── project_scripts.cpp
│ │ ├── tarecgosa_scripts.cpp
│ │ └── transmog_scripts.cpp
│ ├── shared/
│ │ ├── CMakeLists.txt
│ │ ├── Common.cpp
│ │ ├── Common.h
│ │ ├── CompilerDefs.h
│ │ ├── Configuration/
│ │ │ ├── Config.cpp
│ │ │ └── Config.h
│ │ ├── Containers.h
│ │ ├── Cryptography/
│ │ │ ├── ARC4.cpp
│ │ │ ├── ARC4.h
│ │ │ ├── Authentication/
│ │ │ │ ├── AuthCrypt.cpp
│ │ │ │ └── AuthCrypt.h
│ │ │ ├── BigNumber.cpp
│ │ │ ├── BigNumber.h
│ │ │ ├── HMACSHA1.cpp
│ │ │ ├── HMACSHA1.h
│ │ │ ├── OpenSSLCrypto.cpp
│ │ │ ├── OpenSSLCrypto.h
│ │ │ ├── SHA1.cpp
│ │ │ ├── SHA1.h
│ │ │ ├── SHA256.cpp
│ │ │ ├── SHA256.h
│ │ │ └── WardenKeyGeneration.h
│ │ ├── DataStores/
│ │ │ ├── DB2FileLoader.cpp
│ │ │ ├── DB2FileLoader.h
│ │ │ ├── DB2Store.h
│ │ │ ├── DBCFileLoader.cpp
│ │ │ ├── DBCFileLoader.h
│ │ │ └── DBCStore.h
│ │ ├── Database/
│ │ │ ├── AdhocStatement.cpp
│ │ │ ├── AdhocStatement.h
│ │ │ ├── DatabaseEnv.h
│ │ │ ├── DatabaseWorker.cpp
│ │ │ ├── DatabaseWorker.h
│ │ │ ├── DatabaseWorkerPool.h
│ │ │ ├── Field.cpp
│ │ │ ├── Field.h
│ │ │ ├── Implementation/
│ │ │ │ ├── ArchiveDatabase.h
│ │ │ │ ├── CharacterDatabase.cpp
│ │ │ │ ├── CharacterDatabase.h
│ │ │ │ ├── FusionCMSDatabase.cpp
│ │ │ │ ├── FusionCMSDatabase.h
│ │ │ │ ├── LoginDatabase.cpp
│ │ │ │ ├── LoginDatabase.h
│ │ │ │ ├── WorldDatabase.cpp
│ │ │ │ └── WorldDatabase.h
│ │ │ ├── MySQLConnection.cpp
│ │ │ ├── MySQLConnection.h
│ │ │ ├── MySQLThreading.h
│ │ │ ├── PreparedStatement.cpp
│ │ │ ├── PreparedStatement.h
│ │ │ ├── QueryHolder.cpp
│ │ │ ├── QueryHolder.h
│ │ │ ├── QueryResult.cpp
│ │ │ ├── QueryResult.h
│ │ │ ├── SQLOperation.h
│ │ │ ├── Transaction.cpp
│ │ │ └── Transaction.h
│ │ ├── Debugging/
│ │ │ ├── Errors.cpp
│ │ │ ├── Errors.h
│ │ │ ├── WheatyExceptionReport.cpp
│ │ │ └── WheatyExceptionReport.h
│ │ ├── Define.h
│ │ ├── Dynamic/
│ │ │ ├── FactoryHolder.h
│ │ │ ├── LinkedList.h
│ │ │ ├── LinkedReference/
│ │ │ │ ├── RefManager.h
│ │ │ │ └── Reference.h
│ │ │ ├── ObjectRegistry.h
│ │ │ ├── TypeContainer.h
│ │ │ ├── TypeContainerFunctions.h
│ │ │ ├── TypeContainerVisitor.h
│ │ │ └── TypeList.h
│ │ ├── Logging/
│ │ │ ├── Appender.cpp
│ │ │ ├── Appender.h
│ │ │ ├── AppenderConsole.cpp
│ │ │ ├── AppenderConsole.h
│ │ │ ├── AppenderDB.cpp
│ │ │ ├── AppenderDB.h
│ │ │ ├── AppenderFile.cpp
│ │ │ ├── AppenderFile.h
│ │ │ ├── Log.cpp
│ │ │ ├── Log.h
│ │ │ ├── LogOperation.cpp
│ │ │ ├── LogOperation.h
│ │ │ ├── LogWorker.cpp
│ │ │ ├── LogWorker.h
│ │ │ ├── Logger.cpp
│ │ │ └── Logger.h
│ │ ├── Memory.h
│ │ ├── Packets/
│ │ │ ├── ByteBuffer.cpp
│ │ │ └── ByteBuffer.h
│ │ ├── PrecompiledHeaders/
│ │ │ ├── sharedPCH.cpp
│ │ │ └── sharedPCH.h
│ │ ├── SystemConfig.h
│ │ ├── Threading/
│ │ │ ├── Callback.h
│ │ │ ├── DelayExecutor.cpp
│ │ │ ├── DelayExecutor.h
│ │ │ ├── LockedQueue.h
│ │ │ ├── Task.h
│ │ │ ├── TaskMgr.cpp
│ │ │ ├── TaskMgr.h
│ │ │ ├── Threading.cpp
│ │ │ └── Threading.h
│ │ └── Utilities/
│ │ ├── ByteConverter.h
│ │ ├── Duration.h
│ │ ├── EventProcessor.cpp
│ │ ├── EventProcessor.h
│ │ ├── ServiceWin32.cpp
│ │ ├── ServiceWin32.h
│ │ ├── SignalHandler.h
│ │ ├── TaskScheduler.cpp
│ │ ├── TaskScheduler.h
│ │ ├── TimeValue.h
│ │ ├── Timer.h
│ │ ├── Util.cpp
│ │ └── Util.h
│ └── worldserver/
│ ├── CMakeLists.txt
│ ├── CommandLine/
│ │ ├── CliRunnable.cpp
│ │ └── CliRunnable.h
│ ├── Main.cpp
│ ├── Master.cpp
│ ├── Master.h
│ ├── PrecompiledHeaders/
│ │ ├── worldPCH.cpp
│ │ └── worldPCH.h
│ ├── RemoteAccess/
│ │ ├── RARunnable.cpp
│ │ ├── RARunnable.h
│ │ ├── RASocket.cpp
│ │ └── RASocket.h
│ ├── TCSoap/
│ │ ├── TCSoap.cpp
│ │ └── TCSoap.h
│ ├── WorldThread/
│ │ ├── WorldRunnable.cpp
│ │ └── WorldRunnable.h
│ ├── resource.h
│ ├── worldserver.conf.dist
│ └── worldserver.rc
├── tools/
│ ├── CMakeLists.txt
│ ├── map_extractor/
│ │ ├── CMakeLists.txt
│ │ ├── System.cpp
│ │ ├── adt.cpp
│ │ ├── adt.h
│ │ ├── dbcfile.cpp
│ │ ├── dbcfile.h
│ │ ├── loadlib/
│ │ │ └── loadlib.h
│ │ ├── loadlib.cpp
│ │ ├── wdt.cpp
│ │ └── wdt.h
│ ├── mmaps_generator/
│ │ ├── CMakeLists.txt
│ │ ├── Info/
│ │ │ └── readme.txt
│ │ ├── IntermediateValues.cpp
│ │ ├── IntermediateValues.h
│ │ ├── MapBuilder.cpp
│ │ ├── MapBuilder.h
│ │ ├── PathCommon.h
│ │ ├── PathGenerator.cpp
│ │ ├── TerrainBuilder.cpp
│ │ ├── TerrainBuilder.h
│ │ └── VMapExtensions.cpp
│ ├── vmap4_assembler/
│ │ ├── CMakeLists.txt
│ │ └── VMapAssembler.cpp
│ └── vmap4_extractor/
│ ├── CMakeLists.txt
│ ├── adtfile.cpp
│ ├── adtfile.h
│ ├── dbcfile.cpp
│ ├── dbcfile.h
│ ├── gameobject_extract.cpp
│ ├── model.cpp
│ ├── model.h
│ ├── modelheaders.h
│ ├── mpqfile.cpp
│ ├── mpqfile.h
│ ├── vec3d.h
│ ├── vmapexport.cpp
│ ├── vmapexport.h
│ ├── wdtfile.cpp
│ ├── wdtfile.h
│ ├── wmo.cpp
│ └── wmo.h
└── updater/
├── App.cpp
├── CMakeLists.txt
├── README.txt
├── sql_update.sql
└── updater.conf.dist
Copy disabled (too large)
Download .json
Condensed preview — 4313 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (72,663K chars).
[
{
"path": ".gitignore",
"chars": 16,
"preview": "*.ini\n.vscode*/\n"
},
{
"path": ".hgeol",
"chars": 45,
"preview": "[patterns]\n**.cpp = LF\n**.h = LF\n**.sql = LF\n"
},
{
"path": ".hgignore",
"chars": 38,
"preview": "build.*/.*\n\nsyntax: glob\n*.orig\n*.rej\n"
},
{
"path": ".travis.yml",
"chars": 1625,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "CMakeLists.txt",
"chars": 2970,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/>\n# Copyright (C) 2008-2016 TrinityCore <http:/"
},
{
"path": "COPYING.md",
"chars": 18092,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 2, June 1991\n\n Copyright (C) 1989, 1991 Fr"
},
{
"path": "PreLoad.cmake",
"chars": 1033,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "README.md",
"chars": 1583,
"preview": "\n**MoP 5.4.8 Build 18414**\n\n## Client Patch\n[SkyFire-Community-Tools](https://github.com/ProjectSkyfire/SkyFire-Communit"
},
{
"path": "THANKS.md",
"chars": 7505,
"preview": "= TrinityCore -- Thanks/credits file =\n\nTrinityCore is a derivation/rewrite of MaNGOS, which was originally written\nby T"
},
{
"path": "cmake/compiler/clang/settings.cmake",
"chars": 1134,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/compiler/gcc/settings.cmake",
"chars": 1992,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/compiler/icc/settings.cmake",
"chars": 973,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/compiler/mingw/settings.cmake",
"chars": 1653,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/compiler/msvc/settings.cmake",
"chars": 4259,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/genrev.cmake",
"chars": 2506,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/macros/CheckBuildDir.cmake",
"chars": 961,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/macros/CheckPlatform.cmake",
"chars": 1074,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/macros/EnsureVersion.cmake",
"chars": 5533,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/macros/FindACE.cmake",
"chars": 2963,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/macros/FindMySQL.cmake",
"chars": 10777,
"preview": "#\n# Find the MySQL client includes and library\n#\n\n# This module defines\n# MYSQL_INCLUDE_DIR, where to find mysql.h\n# MYS"
},
{
"path": "cmake/macros/FindOpenSSL.cmake",
"chars": 6050,
"preview": "# - Try to find the OpenSSL encryption library\n# Once done this will define\n#\n# OPENSSL_ROOT_DIR - Set this variable to"
},
{
"path": "cmake/macros/FindPCHSupport.cmake",
"chars": 4439,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/macros/FindReadline.cmake",
"chars": 1467,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/options.cmake",
"chars": 1643,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/platform/cmake_uninstall.in.cmake",
"chars": 1453,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/platform/settings.cmake",
"chars": 646,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/platform/unix/settings.cmake",
"chars": 1988,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/platform/win/settings.cmake",
"chars": 1622,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/showoptions.cmake",
"chars": 2742,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "cmake/stack_direction.c",
"chars": 940,
"preview": "/* Copyright (C) 2009 Sun Microsystems, Inc\n \n This program is free software; you can redistribute it and/or modify\n it "
},
{
"path": "contrib/Coverity/CoverityCompile.bat",
"chars": 354,
"preview": "@ECHO OFF\nREM\nREM\n\nSETLOCAL\n\nPUSHD %~dp0\n\nSET COVDIR=C:\\cov-analysis-win32-7.6.0\n\nCALL \"%VS120COMNTOOLS%..\\..\\VC\\vcvarsa"
},
{
"path": "contrib/Coverity/CoverityPack.bat",
"chars": 826,
"preview": "@ECHO OFF\nREM\nREM\n\nSETLOCAL\n\nPUSHD %~dp0\n\n:tar\nIF EXIST \"Project_SkyFire.tgz\" DEL \"Project_SkyFire.tgz\"\ntar --version 1>"
},
{
"path": "contrib/ScriptsConverter/ScriptConverter/Program.cs",
"chars": 9994,
"preview": "using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing S"
},
{
"path": "contrib/ScriptsConverter/ScriptConverter/Properties/AssemblyInfo.cs",
"chars": 1403,
"preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
},
{
"path": "contrib/ScriptsConverter/ScriptConverter/ScriptConverter.csproj",
"chars": 2443,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"3.5\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
},
{
"path": "contrib/ScriptsConverter/ScriptConverter/ScriptConverter.csproj.user",
"chars": 224,
"preview": "<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n <PropertyGroup Condition=\" '$(Configuration)|$("
},
{
"path": "contrib/ScriptsConverter/ScriptConverter.sln",
"chars": 913,
"preview": "\nMicrosoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C"
},
{
"path": "contrib/buildscript/build.py",
"chars": 5224,
"preview": "#!/usr/bin/python\n\nimport subprocess\nimport os\nimport sys\nimport json\nimport datetime\nimport getopt\nimport signal\n\nBLACK"
},
{
"path": "contrib/buildscript/config.json.dist",
"chars": 199,
"preview": "{\n \"install_dir\" : \"\",\n \"source_dir\" : \"\",\n \"build_dir\" : \"\",\n \"updater_path\" : \"\",\n \"u"
},
{
"path": "contrib/cleanup/tab2spaces.sh",
"chars": 42,
"preview": "#!/bin/bash\nperl -wpi -e \"s/\\t/ /g\" $1\n"
},
{
"path": "contrib/cleanup/whitespace.sh",
"chars": 39,
"preview": "#!/bin/bash\nperl -wpi -e \"s/ +$//g\" $1\n"
},
{
"path": "contrib/conf_merge/README",
"chars": 718,
"preview": "==== PHP merger (index.php + merge.php) ====\n\nThis is a PHP script for merging a new .dist file with your existing .conf"
},
{
"path": "contrib/conf_merge/index.php",
"chars": 1066,
"preview": "<?php\n/*\n * Project Name: Config File Merge For Mangos/Trinity Server\n * Date: 01.01.2010 inital version (0.0.1a)\n * Aut"
},
{
"path": "contrib/conf_merge/merge.php",
"chars": 4982,
"preview": "<?php\n/*\n * Project Name: Config File Merge For Mangos/Trinity Server\n * Date: 01.01.2010 inital version (0.0.1a)\n * Aut"
},
{
"path": "contrib/conf_merge/tc-conf-merger.pl",
"chars": 1026,
"preview": "#!/usr/bin/perl -w\n\n# Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>\n# Author: leak\n# Date: 2010-12-0"
},
{
"path": "contrib/debugger/README",
"chars": 547,
"preview": "The included crashreport.gdb allows for semiautomated hunting of \ncrashes. The crashlog-file will be named backtrace.log"
},
{
"path": "contrib/debugger/crashreport.gdb",
"chars": 437,
"preview": "set logging overwrite on\nset logging file backtrace.log\nhandle SIG33 pass nostop noprint\nset pagination 0\nset logging on"
},
{
"path": "contrib/valgrind/helgrind.supp",
"chars": 4475,
"preview": "{\n [1] ACE_Future::ready() race in WorldSession::ProcessQueryCallbacks(), a lock is used anyway in ACE_Future::get()/s"
},
{
"path": "dep/CMakeLists.txt",
"chars": 1163,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/\n# Copyright (C) 2008-2016 TrinityCore <http://"
},
{
"path": "dep/PackageList.txt",
"chars": 1446,
"preview": "SkyFire uses (parts of or in whole) the following opensource software :\n\nACE (ADAPTIVE Communication Environment)\n http"
},
{
"path": "dep/SFMT/SFMT.h",
"chars": 14315,
"preview": "/*\n * Copyright notice\n * ================\n * GNU General Public License http://www.gnu.org/licenses/gpl.html\n * This C+"
},
{
"path": "dep/SFMT/randomc.h",
"chars": 3259,
"preview": "/*\n * Copyright notice\n * ================\n * GNU General Public License http://www.gnu.org/licenses/gpl.html\n * This C+"
},
{
"path": "dep/StormLib/CMakeLists.txt",
"chars": 11728,
"preview": "# Copyright (C) 2011-2016 Project SkyFire <http://www.projectskyfire.org/>\n# Copyright (C) 2008-2016 TrinityCore <http:/"
},
{
"path": "dep/StormLib/doc/History.txt",
"chars": 1857,
"preview": "\n StormLib history\n ================\n\n Version 8.02\n\n - Support for UNICODE encoding for on-disk files\n - Optimized fi"
},
{
"path": "dep/StormLib/doc/Sector Offset MD5.txt",
"chars": 636,
"preview": "\n After sector offset table\n =========================\n\nFileSize CmpSize DWORDs\n00007588 000075A4 0x01\n00"
},
{
"path": "dep/StormLib/doc/The MoPaQ File Format 0.9.txt",
"chars": 18465,
"preview": "THE MOPAQ ARCHIVE FORMAT\nv0.9 (Thursday, June 30, 2005)\nby Justin Olbrantz(Quantam)\n\nDistribution and reproduction of th"
},
{
"path": "dep/StormLib/doc/The MoPaQ File Format 1.0.txt",
"chars": 27263,
"preview": "THE MOPAQ ARCHIVE FORMAT\nv1.0 (Friday, September 1, 2006)\nby Justin Olbrantz(Quantam)\n\nDistribution and reproduction of "
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-deDE.txt",
"chars": 32,
"preview": "UCMXF6EJY352EFH4XFRXCFH2XC9MQRZK"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-enGB.txt",
"chars": 32,
"preview": "MMKVHY48RP7WXP4GHYBQ7SL9J9UNPHBP"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-enSG.txt",
"chars": 32,
"preview": "8MXLWHQ7VGGLTZ9MQZQSFDCLJYET3CPP"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-enUS.txt",
"chars": 32,
"preview": "EJ2R5TM6XFE2GUNG5QDGHKQ9UAKPWZSZ"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-esES.txt",
"chars": 32,
"preview": "PBGFBE42Z6LNK65UGJQ3WZVMCLP4HQQT"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-esMX.txt",
"chars": 32,
"preview": "X7SEJJS9TSGCW5P28EBSC47AJPEY8VU2"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-frFR.txt",
"chars": 32,
"preview": "5KVBQA8VYE6XRY3DLGC5ZDE4XS4P7YA2"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-itIT.txt",
"chars": 32,
"preview": "478JD2K56EVNVVY4XX8TDWYT5B8KB254"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-koKR.txt",
"chars": 32,
"preview": "8TS4VNFQRZTN6YWHE9CHVDH9NVWD474A"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-plPL.txt",
"chars": 32,
"preview": "LJ52Z32DF4LZ4ZJJXVKK3AZQA6GABLJB"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-ptBR.txt",
"chars": 32,
"preview": "K6BDHY2ECUE2545YKNLBJPVYWHE7XYAG"
},
{
"path": "dep/StormLib/doc/d3-authenticationcode-zhTW.txt",
"chars": 32,
"preview": "6VWCQTN8V3ZZMRUCZXV8A8CGUX2TAA8H"
},
{
"path": "dep/StormLib/doc/diablo3_ruru_disk_encrypted_win.blob",
"chars": 1551,
"preview": "{\n\"config\":{\n\t\"product\": \"D3\",\n\t\t\"install_progress_percent\": 70.0,\n\t\t\"install_progress_info\": [8000000000.0, 0.0, 0.0],\n"
},
{
"path": "dep/StormLib/doc/diablo3_urls.txt",
"chars": 925,
"preview": "http://dist.blizzard.com/mediakey/d3-authenticationcode-deDE.txt\nhttp://dist.blizzard.com/mediakey/d3-authenticationcode"
},
{
"path": "dep/StormLib/src/FileStream.cpp",
"chars": 81997,
"preview": "/*****************************************************************************/\n/* FileStream.cpp "
},
{
"path": "dep/StormLib/src/FileStream.h",
"chars": 8033,
"preview": "/*****************************************************************************/\n/* FileStream.h "
},
{
"path": "dep/StormLib/src/SBaseCommon.cpp",
"chars": 56305,
"preview": "/*****************************************************************************/\n/* SBaseCommon.cpp "
},
{
"path": "dep/StormLib/src/SBaseDumpData.cpp",
"chars": 8376,
"preview": "/*****************************************************************************/\n/* SBaseDumpData.cpp "
},
{
"path": "dep/StormLib/src/SBaseFileTable.cpp",
"chars": 88455,
"preview": "/*****************************************************************************/\n/* SBaseFileTable.cpp "
},
{
"path": "dep/StormLib/src/SCompression.cpp",
"chars": 39646,
"preview": "/*****************************************************************************/\n/* SCompression.cpp "
},
{
"path": "dep/StormLib/src/SFileAddFile.cpp",
"chars": 44124,
"preview": "/*****************************************************************************/\n/* SFileAddFile.cpp "
},
{
"path": "dep/StormLib/src/SFileAttributes.cpp",
"chars": 16287,
"preview": "/*****************************************************************************/\n/* SAttrFile.cpp "
},
{
"path": "dep/StormLib/src/SFileCompactArchive.cpp",
"chars": 27204,
"preview": "/*****************************************************************************/\n/* SFileCompactArchive.cpp "
},
{
"path": "dep/StormLib/src/SFileCreateArchive.cpp",
"chars": 9459,
"preview": "/*****************************************************************************/\n/* SFileCreateArchive.cpp "
},
{
"path": "dep/StormLib/src/SFileExtractFile.cpp",
"chars": 2455,
"preview": "/*****************************************************************************/\n/* SFileExtractFile.cpp "
},
{
"path": "dep/StormLib/src/SFileFindFile.cpp",
"chars": 14848,
"preview": "/*****************************************************************************/\n/* SFileFindFile.cpp "
},
{
"path": "dep/StormLib/src/SFileListFile.cpp",
"chars": 17295,
"preview": "/*****************************************************************************/\n/* SListFile.cpp "
},
{
"path": "dep/StormLib/src/SFileOpenArchive.cpp",
"chars": 16294,
"preview": "/*****************************************************************************/\n/* SFileOpenArchive.cpp "
},
{
"path": "dep/StormLib/src/SFileOpenFileEx.cpp",
"chars": 15036,
"preview": "/*****************************************************************************/\n/* SFileOpenFileEx.cpp "
},
{
"path": "dep/StormLib/src/SFilePatchArchives.cpp",
"chars": 18386,
"preview": "/*****************************************************************************/\n/* SFilePatchArchives.cpp "
},
{
"path": "dep/StormLib/src/SFileReadFile.cpp",
"chars": 42701,
"preview": "/*****************************************************************************/\n/* SFileReadFile.cpp "
},
{
"path": "dep/StormLib/src/SFileVerify.cpp",
"chars": 31330,
"preview": "/*****************************************************************************/\n/* SFileVerify.cpp "
},
{
"path": "dep/StormLib/src/StormCommon.h",
"chars": 10179,
"preview": "/*****************************************************************************/\n/* SCommon.h "
},
{
"path": "dep/StormLib/src/StormLib.h",
"chars": 53359,
"preview": "/*****************************************************************************/\n/* StormLib.h Cop"
},
{
"path": "dep/StormLib/src/StormPort.h",
"chars": 8295,
"preview": "/*****************************************************************************/\n/* StormPort.h "
},
{
"path": "dep/StormLib/src/adpcm/adpcm.cpp",
"chars": 12270,
"preview": "/*****************************************************************************/\n/* adpcm.cpp "
},
{
"path": "dep/StormLib/src/adpcm/adpcm.h",
"chars": 1166,
"preview": "/*****************************************************************************/\n/* adpcm.h "
},
{
"path": "dep/StormLib/src/bzip2/blocksort.c",
"chars": 30694,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Block sorting machinery "
},
{
"path": "dep/StormLib/src/bzip2/bzlib.c",
"chars": 46030,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Library top-level functions. "
},
{
"path": "dep/StormLib/src/bzip2/bzlib.h",
"chars": 6245,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Public header file for the library. "
},
{
"path": "dep/StormLib/src/bzip2/bzlib_private.h",
"chars": 13244,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Private header file for the library. "
},
{
"path": "dep/StormLib/src/bzip2/compress.c",
"chars": 20561,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Compression machinery (not incl block sorting) "
},
{
"path": "dep/StormLib/src/bzip2/crctable.c",
"chars": 4818,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Table for doing CRCs "
},
{
"path": "dep/StormLib/src/bzip2/decompress.c",
"chars": 20030,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Decompression machinery "
},
{
"path": "dep/StormLib/src/bzip2/huffman.c",
"chars": 6991,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Huffman coding low-level stuff "
},
{
"path": "dep/StormLib/src/bzip2/randtable.c",
"chars": 3860,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Table for randomising repetitive blocks "
},
{
"path": "dep/StormLib/src/huffman/huff.cpp",
"chars": 48851,
"preview": "/*****************************************************************************/\n/* huffman.cpp Cop"
},
{
"path": "dep/StormLib/src/huffman/huff.h",
"chars": 6240,
"preview": "/*****************************************************************************/\n/* huffman.h "
},
{
"path": "dep/StormLib/src/huffman/huff_patch.cpp",
"chars": 43580,
"preview": "/*****************************************************************************/\n/* huffman.cpp Cop"
},
{
"path": "dep/StormLib/src/huffman/huff_patch.h",
"chars": 6248,
"preview": "/*****************************************************************************/\n/* huffman.h "
},
{
"path": "dep/StormLib/src/jenkins/lookup.h",
"chars": 465,
"preview": "#ifndef __LOOKUP3_H__\n#define __LOOKUP3_H__\n\n#ifdef WIN32\ntypedef unsigned char uint8_t;\ntypedef unsigned short uint16_"
},
{
"path": "dep/StormLib/src/jenkins/lookup3.c",
"chars": 35317,
"preview": "/*\n-------------------------------------------------------------------------------\nlookup3.c, by Bob Jenkins, May 2006, "
},
{
"path": "dep/StormLib/src/libtomcrypt/src/hashes/hash_memory.c",
"chars": 1879,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/hashes/md5.c",
"chars": 10578,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/hashes/sha1.c",
"chars": 6874,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt.h",
"chars": 2543,
"preview": "#ifndef TOMCRYPT_H_\n#define TOMCRYPT_H_\n#include <assert.h>\n#include <stdio.h>\n#include <string.h>\n#include <stdlib.h>\n#"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_argchk.h",
"chars": 977,
"preview": "/* Defines the LTC_ARGCHK macro used within the library */\n/* ARGTYPE is defined in mycrypt_cfg.h */\n#if ARGTYPE == 0\n\n#"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_cfg.h",
"chars": 3869,
"preview": "/* This is the build config file.\n *\n * With this you can setup what to inlcude/exclude automatically during any build. "
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_cipher.h",
"chars": 31702,
"preview": "/* ---- SYMMETRIC KEY STUFF -----\n *\n * We put each of the ciphers scheduled keys in their own structs then we put all o"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_custom.h",
"chars": 8707,
"preview": "#ifndef TOMCRYPT_CUSTOM_H_\n#define TOMCRYPT_CUSTOM_H_\n\n#define LTC_NO_CIPHERS\n#define LTC_NO_HASHES\n#define LTC_NO_MACS\n"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_hash.h",
"chars": 12438,
"preview": "/* ---- HASH FUNCTIONS ---- */\n#ifdef LTC_SHA512\nstruct sha512_state {\n ulong64 length, state[8];\n unsigned long "
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_mac.h",
"chars": 14482,
"preview": "#ifdef LTC_HMAC\ntypedef struct Hmac_state {\n hash_state md;\n int hash;\n hash_state hashst"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_macros.h",
"chars": 14365,
"preview": "/* fix for MSVC ...evil! */\n#ifdef _MSC_VER\n #define CONST64(n) n ## ui64\n typedef unsigned __int64 ulong64;\n#else\n "
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_math.h",
"chars": 17093,
"preview": "/** math functions **/\n\n#define LTC_MP_LT -1\n#define LTC_MP_EQ 0\n#define LTC_MP_GT 1\n\n#define LTC_MP_NO 0\n#de"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_misc.h",
"chars": 691,
"preview": "/* ---- LTC_BASE64 Routines ---- */\n#ifdef LTC_BASE64\nint base64_encode(const unsigned char *in, unsigned long len, \n "
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_pk.h",
"chars": 21306,
"preview": "/* ---- NUMBER THEORY ---- */\n\nenum {\n PK_PUBLIC=0,\n PK_PRIVATE=1\n};\n\nint rand_prime(void *N, long len, prng_state *"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_pkcs.h",
"chars": 3989,
"preview": "/* LTC_PKCS Header Info */\n\n/* ===> LTC_PKCS #1 -- RSA Cryptography <=== */\n#ifdef LTC_PKCS_1\n\nenum ltc_pkcs_1_v1_5_bloc"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/headers/tomcrypt_prng.h",
"chars": 7224,
"preview": "/* ---- PRNG Stuff ---- */\n#ifdef LTC_YARROW\nstruct yarrow_prng {\n int cipher, hash;\n unsigned c"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/math/ltm_desc.c",
"chars": 9338,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/math/multi.c",
"chars": 1307,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/math/rand_prime.c",
"chars": 1911,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/base64_decode.c",
"chars": 3524,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_argchk.c",
"chars": 778,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_find_hash.c",
"chars": 1071,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_find_prng.c",
"chars": 1074,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_hash_descriptor.c",
"chars": 754,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_hash_is_valid.c",
"chars": 988,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_libc.c",
"chars": 1230,
"preview": "/*****************************************************************************/\n/* crypt_libc.c "
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c",
"chars": 396,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_prng_descriptor.c",
"chars": 749,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_prng_is_valid.c",
"chars": 986,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_register_hash.c",
"chars": 1481,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/crypt_register_prng.c",
"chars": 1483,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/misc/zeromem.c",
"chars": 850,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_bit_string.c",
"chars": 2415,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_boolean.c",
"chars": 1204,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_choice.c",
"chars": 5836,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_ia5_string.c",
"chars": 2197,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_integer.c",
"chars": 2582,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_object_identifier.c",
"chars": 2436,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_octet_string.c",
"chars": 2091,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_printable_string.c",
"chars": 2258,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_ex.c",
"chars": 8735,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_flexi.c",
"chars": 10627,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_sequence_multi.c",
"chars": 3548,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_short_integer.c",
"chars": 1451,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_utctime.c",
"chars": 3118,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_decode_utf8_string.c",
"chars": 2637,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_bit_string.c",
"chars": 1425,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_boolean.c",
"chars": 883,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_ia5_string.c",
"chars": 3690,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_integer.c",
"chars": 2077,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_object_identifier.c",
"chars": 2141,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_octet_string.c",
"chars": 1433,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_printable_string.c",
"chars": 3408,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_sequence.c",
"chars": 4415,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_short_integer.c",
"chars": 1467,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_utctime.c",
"chars": 1192,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_length_utf8_string.c",
"chars": 2048,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/asn1/der_sequence_free.c",
"chars": 1682,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_map.c",
"chars": 2514,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c",
"chars": 6474,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c",
"chars": 7018,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_points.c",
"chars": 1415,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c",
"chars": 8910,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c",
"chars": 6420,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c",
"chars": 2681,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c",
"chars": 5160,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c",
"chars": 4968,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c",
"chars": 3137,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/rsa/rsa_exptmod.c",
"chars": 3825,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/rsa/rsa_free.c",
"chars": 808,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/rsa/rsa_import.c",
"chars": 5215,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/rsa/rsa_make_key.c",
"chars": 4629,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/rsa/rsa_verify_hash.c",
"chars": 5238,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c",
"chars": 2436,
"preview": "/* LibTomCrypt, modular cryptographic library -- Tom St Denis\n *\n * LibTomCrypt is a library that provides various crypt"
},
{
"path": "dep/StormLib/src/libtommath/bn_fast_mp_invmod.c",
"chars": 3419,
"preview": "#include \"tommath.h\"\n#ifdef BN_FAST_MP_INVMOD_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * "
},
{
"path": "dep/StormLib/src/libtommath/bn_fast_mp_montgomery_reduce.c",
"chars": 4660,
"preview": "#include \"tommath.h\"\n#ifdef BN_FAST_MP_MONTGOMERY_REDUCE_C\n/* LibTomMath, multiple-precision integer library -- Tom St D"
},
{
"path": "dep/StormLib/src/libtommath/bn_fast_s_mp_mul_digs.c",
"chars": 2823,
"preview": "#include \"tommath.h\"\n#ifdef BN_FAST_S_MP_MUL_DIGS_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *"
},
{
"path": "dep/StormLib/src/libtommath/bn_fast_s_mp_mul_high_digs.c",
"chars": 2586,
"preview": "#include \"tommath.h\"\n#ifdef BN_FAST_S_MP_MUL_HIGH_DIGS_C\n/* LibTomMath, multiple-precision integer library -- Tom St Den"
},
{
"path": "dep/StormLib/src/libtommath/bn_fast_s_mp_sqr.c",
"chars": 2949,
"preview": "#include \"tommath.h\"\n#ifdef BN_FAST_S_MP_SQR_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * L"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_2expt.c",
"chars": 1217,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_2EXPT_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTom"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_abs.c",
"chars": 1004,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_ABS_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTomMa"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_add.c",
"chars": 1451,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_ADD_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTomMa"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_add_d.c",
"chars": 2457,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_ADD_D_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTom"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_addmod.c",
"chars": 1000,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_ADDMOD_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTo"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_and.c",
"chars": 1289,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_AND_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTomMa"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_clamp.c",
"chars": 1164,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_CLAMP_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTom"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_clear.c",
"chars": 1082,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_CLEAR_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTom"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_clear_multi.c",
"chars": 937,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_CLEAR_MULTI_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * "
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_cmp.c",
"chars": 1075,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_CMP_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTomMa"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_cmp_d.c",
"chars": 1056,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_CMP_D_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibTom"
},
{
"path": "dep/StormLib/src/libtommath/bn_mp_cmp_mag.c",
"chars": 1268,
"preview": "#include \"tommath.h\"\n#ifdef BN_MP_CMP_MAG_C\n/* LibTomMath, multiple-precision integer library -- Tom St Denis\n *\n * LibT"
}
]
// ... and 4113 more files (download for full content)
About this extraction
This page contains the full source code of the mikefernandz/torghast-project-5.4.8 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4313 files (88.9 MB), approximately 17.8M tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.