diff options
author | megamage <none@none> | 2009-01-17 13:42:41 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-01-17 13:42:41 -0600 |
commit | 2cf1a3be1b310feafc43781ab9178f0c1f35d352 (patch) | |
tree | 8c028b01c102bba566ebb32c8014ab19eba8f46a /src | |
parent | 8739ded05dbf68486551531024f1ad8ad7b389cf (diff) | |
parent | c5dfe7dac27a0441192af758dc55e6c71c83ccb4 (diff) |
*Update to Trinity 878.
--HG--
branch : trunk
Diffstat (limited to 'src')
30 files changed, 1239 insertions, 120 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 00000000000..8c8b9e0126f --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,6 @@ +add_subdirectory(framework) +add_subdirectory(shared) +add_subdirectory(trinityrealm) +add_subdirectory(game) +add_subdirectory(bindings) +add_subdirectory(trinitycore) diff --git a/src/bindings/CMakeLists.txt b/src/bindings/CMakeLists.txt new file mode 100644 index 00000000000..6933b29fe2d --- /dev/null +++ b/src/bindings/CMakeLists.txt @@ -0,0 +1,5 @@ +if(DO_SCRIPTS) +add_subdirectory(scripts) +else (DO_SCRIPTS) +add_subdirectory(interface) +endif(DO_SCRIPTS) diff --git a/src/bindings/interface/CMakeLists.txt b/src/bindings/interface/CMakeLists.txt new file mode 100644 index 00000000000..4a8f0872422 --- /dev/null +++ b/src/bindings/interface/CMakeLists.txt @@ -0,0 +1,19 @@ + +########### next target ############### + +SET(trinityinterface_LIB_SRCS + ScriptMgr.cpp + ScriptMgr.h + config.h + system.cpp + Scripts/sc_default.cpp + Scripts/sc_defines.cpp + Scripts/sc_defines.h +) + +add_library(trinityinterface STATIC ${trinityinterface_LIB_SRCS}) + +target_link_libraries(trinityinterface) + +set_target_properties(trinityinterface PROPERTIES VERSION 4.2.0 SOVERSION 4) +install(TARGETS trinityinterface DESTINATION lib) diff --git a/src/bindings/interface/ScriptMgr.cpp b/src/bindings/interface/ScriptMgr.cpp index 027b5b1fe57..8e6f2e421b6 100644 --- a/src/bindings/interface/ScriptMgr.cpp +++ b/src/bindings/interface/ScriptMgr.cpp @@ -276,7 +276,7 @@ InstanceData* CreateInstanceData(Map *map) return tmpscript->GetInstanceData(map); } -*/ + void ScriptedAI::UpdateAI(const uint32) { //Check if we have a current target @@ -319,3 +319,4 @@ void ScriptedAI::DoGoHome() if( !m_creature->getVictim() && m_creature->isAlive() ) m_creature->GetMotionMaster()->MoveTargetedHome(); } +*/ diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt new file mode 100644 index 00000000000..636530b9527 --- /dev/null +++ b/src/bindings/scripts/CMakeLists.txt @@ -0,0 +1,389 @@ + +########### next target ############### + +SET(trinityscript_LIB_SRCS + ScriptMgr.cpp + ScriptMgr.h + include/precompiled.cpp + include/precompiled.h + include/sc_creature.cpp + include/sc_creature.h + include/sc_gossip.h + include/sc_instance.h + scripts/areatrigger/areatrigger_scripts.cpp + scripts/boss/boss_emeriss.cpp + scripts/boss/boss_lethon.cpp + scripts/boss/boss_taerar.cpp + scripts/boss/boss_ysondre.cpp + scripts/creature/mob_event_ai.cpp + scripts/creature/mob_event_ai.h + scripts/creature/mob_generic_creature.cpp + scripts/creature/simple_ai.cpp + scripts/creature/simple_ai.h + scripts/custom/custom_example.cpp + scripts/custom/custom_gossip_codebox.cpp + scripts/custom/test.cpp + scripts/go/go_scripts.cpp + scripts/guard/guard_ai.cpp + scripts/guard/guard_ai.h + scripts/guard/guards.cpp + scripts/item/item_scripts.cpp + scripts/item/item_test.cpp + scripts/npc/npc_escortAI.cpp + scripts/npc/npc_escortAI.h + scripts/npc/npc_innkeeper.cpp + scripts/npc/npc_professions.cpp + scripts/npc/npcs_special.cpp + scripts/zone/arathi_highlands/arathi_highlands.cpp + scripts/zone/alterac_mountains/alterac_mountains.cpp + scripts/zone/ashenvale_forest/ashenvale.cpp + scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp + scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp + scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp + scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp + scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp + scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp + scripts/zone/aunchindoun/sethekk_halls/def_sethekk_halls.h + scripts/zone/aunchindoun/sethekk_halls/instance_sethekk_halls.cpp + scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp + scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp + scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp + scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp + scripts/zone/aunchindoun/shadow_labyrinth/def_shadow_labyrinth.h + scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp + scripts/zone/azshara/azshara.cpp + scripts/zone/azshara/boss_azuregos.cpp + scripts/zone/azuremyst_isle/azuremyst_isle.cpp + scripts/zone/barrens/the_barrens.cpp + scripts/zone/black_temple/black_temple.cpp + scripts/zone/black_temple/boss_bloodboil.cpp + scripts/zone/black_temple/boss_illidan.cpp + scripts/zone/black_temple/boss_mother_shahraz.cpp + scripts/zone/black_temple/boss_reliquary_of_souls.cpp + scripts/zone/black_temple/boss_shade_of_akama.cpp + scripts/zone/black_temple/boss_supremus.cpp + scripts/zone/black_temple/boss_teron_gorefiend.cpp + scripts/zone/black_temple/boss_warlord_najentus.cpp + scripts/zone/black_temple/def_black_temple.h + scripts/zone/black_temple/illidari_council.cpp + scripts/zone/black_temple/instance_black_temple.cpp + scripts/zone/blackrock_depths/blackrock_depths.cpp + scripts/zone/blackrock_depths/instance_blackrock_depths.cpp + scripts/zone/blackrock_depths/def_blackrock_depths.h + scripts/zone/blackrock_depths/boss_ambassador_flamelash.cpp + scripts/zone/blackrock_depths/boss_angerrel.cpp + scripts/zone/blackrock_depths/boss_anubshiah.cpp + scripts/zone/blackrock_depths/boss_doomrel.cpp + scripts/zone/blackrock_depths/boss_doperel.cpp + scripts/zone/blackrock_depths/boss_emperor_dagran_thaurissan.cpp + scripts/zone/blackrock_depths/boss_general_angerforge.cpp + scripts/zone/blackrock_depths/boss_gloomrel.cpp + scripts/zone/blackrock_depths/boss_gorosh_the_dervish.cpp + scripts/zone/blackrock_depths/boss_grizzle.cpp + scripts/zone/blackrock_depths/boss_haterel.cpp + scripts/zone/blackrock_depths/boss_high_interrogator_gerstahn.cpp + scripts/zone/blackrock_depths/boss_magmus.cpp + scripts/zone/blackrock_depths/boss_moira_bronzebeard.cpp + scripts/zone/blackrock_depths/boss_seethrel.cpp + scripts/zone/blackrock_depths/boss_vilerel.cpp + scripts/zone/blackrock_spire/boss_drakkisath.cpp + scripts/zone/blackrock_spire/boss_gyth.cpp + scripts/zone/blackrock_spire/boss_halycon.cpp + scripts/zone/blackrock_spire/boss_highlord_omokk.cpp + scripts/zone/blackrock_spire/boss_mother_smolderweb.cpp + scripts/zone/blackrock_spire/boss_overlord_wyrmthalak.cpp + scripts/zone/blackrock_spire/boss_pyroguard_emberseer.cpp + scripts/zone/blackrock_spire/boss_quartermaster_zigris.cpp + scripts/zone/blackrock_spire/boss_rend_blackhand.cpp + scripts/zone/blackrock_spire/boss_shadow_hunter_voshgajin.cpp + scripts/zone/blackrock_spire/boss_the_beast.cpp + scripts/zone/blackrock_spire/boss_warmaster_voone.cpp + scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp + scripts/zone/blackwing_lair/boss_chromaggus.cpp + scripts/zone/blackwing_lair/boss_ebonroc.cpp + scripts/zone/blackwing_lair/boss_firemaw.cpp + scripts/zone/blackwing_lair/boss_flamegor.cpp + scripts/zone/blackwing_lair/boss_nefarian.cpp + scripts/zone/blackwing_lair/boss_razorgore.cpp + scripts/zone/blackwing_lair/boss_vaelastrasz.cpp + scripts/zone/blackwing_lair/boss_victor_nefarius.cpp + scripts/zone/blackwing_lair/instance_blackwing_lair.cpp + scripts/zone/blades_edge_mountains/blades_edge_mountains.cpp + scripts/zone/blasted_lands/blasted_lands.cpp + scripts/zone/blasted_lands/boss_kruul.cpp + scripts/zone/bloodmyst_isle/bloodmyst_isle.cpp + scripts/zone/burning_steppes/burning_steppes.cpp + scripts/zone/caverns_of_time/dark_portal/def_dark_portal.h + scripts/zone/caverns_of_time/dark_portal/instance_dark_portal.cpp + scripts/zone/caverns_of_time/dark_portal/dark_portal.cpp + scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp + scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp + scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp + scripts/zone/caverns_of_time/hyjal/boss_archimonde.cpp + scripts/zone/caverns_of_time/hyjal/def_hyjal.h + scripts/zone/caverns_of_time/hyjal/hyjal.cpp + scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp + scripts/zone/caverns_of_time/hyjal/hyjalAI.h + scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp + scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp + scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp + scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp + scripts/zone/caverns_of_time/old_hillsbrad/def_old_hillsbrad.h + scripts/zone/caverns_of_time/old_hillsbrad/instance_old_hillsbrad.cpp + scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp + scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp + scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp + scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp + scripts/zone/coilfang_resevoir/serpent_shrine/boss_lady_vashj.cpp + scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp + scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp + scripts/zone/coilfang_resevoir/serpent_shrine/def_serpent_shrine.h + scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp + scripts/zone/coilfang_resevoir/steam_vault/boss_hydromancer_thespia.cpp + scripts/zone/coilfang_resevoir/steam_vault/boss_mekgineer_steamrigger.cpp + scripts/zone/coilfang_resevoir/steam_vault/boss_warlord_kalithresh.cpp + scripts/zone/coilfang_resevoir/steam_vault/def_steam_vault.h + scripts/zone/coilfang_resevoir/steam_vault/instance_steam_vault.cpp + scripts/zone/coilfang_resevoir/underbog/boss_hungarfen.cpp + scripts/zone/darkshore/darkshore.cpp + scripts/zone/deadmines/def_deadmines.h + scripts/zone/deadmines/deadmines.cpp + scripts/zone/dun_morogh/dun_morogh.cpp + scripts/zone/dustwallow_marsh/dustwallow_marsh.cpp + scripts/zone/eastern_plaguelands/eastern_plaguelands.cpp + scripts/zone/elwynn_forest/elwynn_forest.cpp + scripts/zone/eversong_woods/eversong_woods.cpp + scripts/zone/felwood/felwood.cpp + scripts/zone/feralas/feralas.cpp + scripts/zone/ghostlands/ghostlands.cpp + scripts/zone/gruuls_lair/boss_gruul.cpp + scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp + scripts/zone/gruuls_lair/def_gruuls_lair.h + scripts/zone/gruuls_lair/instance_gruuls_lair.cpp + scripts/zone/hellfire_citadel/blood_furnace/boss_broggok.cpp + scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp + scripts/zone/hellfire_citadel/blood_furnace/boss_the_maker.cpp + scripts/zone/hellfire_citadel/hellfire_ramparts/boss_omor_the_unscarred.cpp + scripts/zone/hellfire_citadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp + scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp + scripts/zone/hellfire_citadel/magtheridons_lair/def_magtheridons_lair.h + scripts/zone/hellfire_citadel/magtheridons_lair/instance_magtheridons_lair.cpp + scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp + scripts/zone/hellfire_citadel/shattered_halls/boss_warbringer_omrogg.cpp + scripts/zone/hellfire_citadel/shattered_halls/def_shattered_halls.h + scripts/zone/hellfire_citadel/shattered_halls/instance_shattered_halls.cpp + scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp + scripts/zone/hellfire_peninsula/boss_doomlord_kazzak.cpp + scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp + scripts/zone/ironforge/ironforge.cpp + scripts/zone/isle_of_queldanas/isle_of_queldanas.cpp + scripts/zone/karazhan/boss_curator.cpp + scripts/zone/karazhan/boss_maiden_of_virtue.cpp + scripts/zone/karazhan/boss_midnight.cpp + scripts/zone/karazhan/boss_moroes.cpp + scripts/zone/karazhan/boss_netherspite.cpp + scripts/zone/karazhan/boss_nightbane.cpp + scripts/zone/karazhan/boss_prince_malchezaar.cpp + scripts/zone/karazhan/boss_shade_of_aran.cpp + scripts/zone/karazhan/boss_terestian_illhoof.cpp + scripts/zone/karazhan/bosses_opera.cpp + scripts/zone/karazhan/def_karazhan.h + scripts/zone/karazhan/instance_karazhan.cpp + scripts/zone/karazhan/karazhan.cpp + scripts/zone/loch_modan/loch_modan.cpp + scripts/zone/magisters_terrace/boss_felblood_kaelthas.cpp + scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp + scripts/zone/magisters_terrace/boss_selin_fireheart.cpp + scripts/zone/magisters_terrace/boss_vexallus.cpp + scripts/zone/magisters_terrace/def_magisters_terrace.h + scripts/zone/magisters_terrace/instance_magisters_terrace.cpp + scripts/zone/maraudon/boss_celebras_the_cursed.cpp + scripts/zone/maraudon/boss_landslide.cpp + scripts/zone/maraudon/boss_noxxion.cpp + scripts/zone/maraudon/boss_princess_theradras.cpp + scripts/zone/molten_core/boss_baron_geddon.cpp + scripts/zone/molten_core/boss_garr.cpp + scripts/zone/molten_core/boss_gehennas.cpp + scripts/zone/molten_core/boss_golemagg.cpp + scripts/zone/molten_core/boss_lucifron.cpp + scripts/zone/molten_core/boss_magmadar.cpp + scripts/zone/molten_core/boss_majordomo_executus.cpp + scripts/zone/molten_core/boss_ragnaros.cpp + scripts/zone/molten_core/boss_shazzrah.cpp + scripts/zone/molten_core/boss_sulfuron_harbinger.cpp + scripts/zone/molten_core/def_molten_core.h + scripts/zone/molten_core/instance_molten_core.cpp + scripts/zone/molten_core/molten_core.cpp + scripts/zone/moonglade/moonglade.cpp + scripts/zone/mulgore/mulgore.cpp + scripts/zone/nagrand/nagrand.cpp + scripts/zone/naxxramas/boss_anubrekhan.cpp + scripts/zone/naxxramas/boss_faerlina.cpp + scripts/zone/naxxramas/boss_gluth.cpp + scripts/zone/naxxramas/boss_gothik.cpp + scripts/zone/naxxramas/boss_grobbulus.cpp + scripts/zone/naxxramas/boss_heigan.cpp + scripts/zone/naxxramas/boss_highlord_mograine.cpp + scripts/zone/naxxramas/boss_kelthuzad.cpp + scripts/zone/naxxramas/boss_four_horsemen.cpp + scripts/zone/naxxramas/boss_loatheb.cpp + scripts/zone/naxxramas/boss_maexxna.cpp + scripts/zone/naxxramas/boss_noth.cpp + scripts/zone/naxxramas/boss_patchwerk.cpp + scripts/zone/naxxramas/boss_razuvious.cpp + scripts/zone/naxxramas/boss_sapphiron.cpp + scripts/zone/naxxramas/boss_thaddius.cpp + scripts/zone/naxxramas/instance_naxxramas.cpp + scripts/zone/netherstorm/netherstorm.cpp + scripts/zone/onyxias_lair/boss_onyxia.cpp + scripts/zone/orgrimmar/orgrimmar.cpp + scripts/zone/razorfen_downs/boss_amnennar_the_coldbringer.cpp + scripts/zone/razorfen_kraul/razorfen_kraul.cpp + scripts/zone/ruins_of_ahnqiraj/boss_ayamiss.cpp + scripts/zone/ruins_of_ahnqiraj/boss_buru.cpp + scripts/zone/ruins_of_ahnqiraj/boss_kurinnaxx.cpp + scripts/zone/ruins_of_ahnqiraj/boss_moam.cpp + scripts/zone/ruins_of_ahnqiraj/boss_ossirian.cpp + scripts/zone/ruins_of_ahnqiraj/boss_rajaxx.cpp + scripts/zone/ruins_of_ahnqiraj/instance_ruins_of_ahnqiraj.cpp + scripts/zone/scarlet_monastery/boss_arcanist_doan.cpp + scripts/zone/scarlet_monastery/boss_azshir_the_sleepless.cpp + scripts/zone/scarlet_monastery/boss_bloodmage_thalnos.cpp + scripts/zone/scarlet_monastery/boss_herod.cpp + scripts/zone/scarlet_monastery/boss_high_inquisitor_fairbanks.cpp + scripts/zone/scarlet_monastery/boss_houndmaster_loksey.cpp + scripts/zone/scarlet_monastery/boss_interrogator_vishas.cpp + scripts/zone/scarlet_monastery/boss_scorn.cpp + scripts/zone/scarlet_monastery/boss_headless_horseman.cpp + scripts/zone/scarlet_monastery/boss_mograine_and_whitemane.cpp + scripts/zone/scarlet_monastery/instance_scarlet_monastery.cpp + scripts/zone/scarlet_monastery/def_scarlet_monastery.h + scripts/zone/scholomance/boss_darkmaster_gandling.cpp + scripts/zone/scholomance/boss_death_knight_darkreaver.cpp + scripts/zone/scholomance/boss_doctor_theolen_krastinov.cpp + scripts/zone/scholomance/boss_illucia_barov.cpp + scripts/zone/scholomance/boss_instructor_malicia.cpp + scripts/zone/scholomance/boss_jandice_barov.cpp + scripts/zone/scholomance/boss_kormok.cpp + scripts/zone/scholomance/boss_lord_alexei_barov.cpp + scripts/zone/scholomance/boss_lorekeeper_polkelt.cpp + scripts/zone/scholomance/boss_ras_frostwhisper.cpp + scripts/zone/scholomance/boss_the_ravenian.cpp + scripts/zone/scholomance/boss_vectus.cpp + scripts/zone/scholomance/def_scholomance.h + scripts/zone/scholomance/instance_scholomance.cpp + scripts/zone/searing_gorge/searing_gorge.cpp + scripts/zone/shadowfang_keep/def_shadowfang_keep.h + scripts/zone/shadowfang_keep/instance_shadowfang_keep.cpp + scripts/zone/shadowfang_keep/shadowfang_keep.cpp + scripts/zone/shadowmoon_valley/boss_doomwalker.cpp + scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp + scripts/zone/shattrath/shattrath_city.cpp + scripts/zone/silithus/silithus.cpp + scripts/zone/silvermoon/silvermoon_city.cpp + scripts/zone/silverpine_forest/silverpine_forest.cpp + scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp + scripts/zone/stormwind/stormwind_city.cpp + scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp + scripts/zone/stratholme/boss_baron_rivendare.cpp + scripts/zone/stratholme/boss_baroness_anastari.cpp + scripts/zone/stratholme/boss_cannon_master_willey.cpp + scripts/zone/stratholme/boss_dathrohan_balnazzar.cpp + scripts/zone/stratholme/boss_magistrate_barthilas.cpp + scripts/zone/stratholme/boss_maleki_the_pallid.cpp + scripts/zone/stratholme/boss_nerubenkan.cpp + scripts/zone/stratholme/boss_order_of_silver_hand.cpp + scripts/zone/stratholme/boss_postmaster_malown.cpp + scripts/zone/stratholme/boss_ramstein_the_gorger.cpp + scripts/zone/stratholme/boss_timmy_the_cruel.cpp + scripts/zone/stratholme/def_stratholme.h + scripts/zone/stratholme/instance_stratholme.cpp + scripts/zone/stratholme/stratholme.cpp + scripts/zone/sunwell_plateau/boss_eredar_twins.cpp + scripts/zone/sunwell_plateau/boss_felmyst.cpp + scripts/zone/sunwell_plateau/boss_brutallus.cpp + scripts/zone/sunwell_plateau/boss_kalecgos.cpp + scripts/zone/sunwell_plateau/def_sunwell_plateau.h + scripts/zone/sunwell_plateau/instance_sunwell_plateau.cpp + scripts/zone/tanaris/tanaris.cpp + scripts/zone/tempest_keep/arcatraz/arcatraz.cpp + scripts/zone/tempest_keep/arcatraz/boss_harbinger_skyriss.cpp + scripts/zone/tempest_keep/arcatraz/def_arcatraz.h + scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp + scripts/zone/tempest_keep/botanica/boss_high_botanist_freywinn.cpp + scripts/zone/tempest_keep/botanica/boss_laj.cpp + scripts/zone/tempest_keep/botanica/boss_warp_splinter.cpp + scripts/zone/tempest_keep/the_eye/boss_alar.cpp + scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp + scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp + scripts/zone/tempest_keep/the_eye/boss_void_reaver.cpp + scripts/zone/tempest_keep/the_eye/def_the_eye.h + scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp + scripts/zone/tempest_keep/the_eye/the_eye.cpp + scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_gyrokill.cpp + scripts/zone/tempest_keep/the_mechanar/boss_gatewatcher_ironhand.cpp + scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp + scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp + scripts/zone/tempest_keep/the_mechanar/def_mechanar.h + scripts/zone/tempest_keep/the_mechanar/instance_mechanar.cpp + scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp + scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp + scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp + scripts/zone/temple_of_ahnqiraj/boss_huhuran.cpp + scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp + scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp + scripts/zone/temple_of_ahnqiraj/boss_skeram.cpp + scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp + scripts/zone/temple_of_ahnqiraj/boss_viscidus.cpp + scripts/zone/temple_of_ahnqiraj/def_temple_of_ahnqiraj.h + scripts/zone/temple_of_ahnqiraj/instance_temple_of_ahnqiraj.cpp + scripts/zone/temple_of_ahnqiraj/mob_anubisath_sentinel.cpp + scripts/zone/terokkar_forest/terokkar_forest.cpp + scripts/zone/thunder_bluff/thunder_bluff.cpp + scripts/zone/tirisfal_glades/tirisfal_glades.cpp + scripts/zone/thousand_needles/thousand_needles.cpp + scripts/zone/uldaman/boss_archaedas.cpp + scripts/zone/uldaman/instance_uldaman.cpp + scripts/zone/uldaman/boss_ironaya.cpp + scripts/zone/uldaman/uldaman.cpp + scripts/zone/undercity/undercity.cpp + scripts/zone/wailing_caverns/instance_wailing_caverns.cpp + scripts/zone/western_plaguelands/western_plaguelands.cpp + scripts/zone/westfall/westfall.cpp + scripts/zone/winterspring/winterspring.cpp + scripts/zone/zangarmarsh/zangarmarsh.cpp + scripts/zone/zulaman/boss_akilzon.cpp + scripts/zone/zulaman/boss_halazzi.cpp + scripts/zone/zulaman/boss_hexlord.cpp + scripts/zone/zulaman/boss_janalai.cpp + scripts/zone/zulaman/boss_nalorakk.cpp + scripts/zone/zulaman/boss_zuljin.cpp + scripts/zone/zulaman/def_zulaman.h + scripts/zone/zulaman/instance_zulaman.cpp + scripts/zone/zulaman/zulaman.cpp + scripts/zone/zulfarrak/zulfarrak.cpp + scripts/zone/zulgurub/boss_arlokk.cpp + scripts/zone/zulgurub/boss_gahzranka.cpp + scripts/zone/zulgurub/boss_grilek.cpp + scripts/zone/zulgurub/boss_hakkar.cpp + scripts/zone/zulgurub/boss_hazzarah.cpp + scripts/zone/zulgurub/boss_jeklik.cpp + scripts/zone/zulgurub/boss_jindo.cpp + scripts/zone/zulgurub/boss_mandokir.cpp + scripts/zone/zulgurub/boss_marli.cpp + scripts/zone/zulgurub/boss_renataki.cpp + scripts/zone/zulgurub/boss_thekal.cpp + scripts/zone/zulgurub/boss_venoxis.cpp + scripts/zone/zulgurub/boss_wushoolay.cpp + scripts/zone/zulgurub/def_zulgurub.h + scripts/zone/zulgurub/instance_zulgurub.cpp + system.cpp +) + +add_library(trinityscript STATIC ${trinityscript_LIB_SRCS}) + +target_link_libraries(trinityscript) + +set_target_properties(trinityscript PROPERTIES VERSION 4.2.0 SOVERSION 4) +install(TARGETS trinityscript DESTINATION lib) + diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp index c438ef2d8af..e67fa031d42 100644 --- a/src/bindings/scripts/scripts/npc/npcs_special.cpp +++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp @@ -131,12 +131,79 @@ bool QuestComplete_npc_chicken_cluck(Player *player, Creature *_Creature, const ## npc_dancing_flames ######*/ -bool ReceiveEmote_npc_dancing_flames( Player *player, Creature *_Creature, uint32 emote ) +#define SPELL_BRAZIER 45423 +#define SPELL_SEDUCTION 47057 +#define SPELL_FIERY_AURA 45427 + +struct TRINITY_DLL_DECL npc_dancing_flamesAI : public ScriptedAI { - if( emote == TEXTEMOTE_DANCE ) - _Creature->CastSpell(player,47057,false); + npc_dancing_flamesAI(Creature *c) : ScriptedAI(c) {Reset();} + + bool active; + uint32 can_iteract; - return true; + void Reset() + { + active = true; + can_iteract = 3500; + DoCast(m_creature,SPELL_BRAZIER,true); + DoCast(m_creature,SPELL_FIERY_AURA,false); + float x, y, z; + m_creature->GetPosition(x,y,z); + m_creature->Relocate(x,y,z + 0.94f); + m_creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_LEVITATING); + m_creature->HandleEmoteCommand(EMOTE_ONESHOT_DANCE); + WorldPacket data; //send update position to client + m_creature->BuildHeartBeatMsg(&data); + m_creature->SendMessageToSet(&data,true); + } + + void UpdateAI(const uint32 diff) + { + if (!active) + { + if(can_iteract <= diff){ + active = true; + can_iteract = 3500; + m_creature->HandleEmoteCommand(EMOTE_ONESHOT_DANCE); + }else can_iteract -= diff; + } + } + + void Aggro(Unit* who){} +}; + +CreatureAI* GetAI_npc_dancing_flames(Creature *_Creature) +{ + return new npc_dancing_flamesAI(_Creature); +} + +bool ReceiveEmote_npc_dancing_flames( Player *player, Creature *flame, uint32 emote ) +{ + if ( ((npc_dancing_flamesAI*)flame->AI())->active && + flame->IsWithinLOS(player->GetPositionX(),player->GetPositionY(),player->GetPositionZ()) && flame->IsWithinDistInMap(player,30.0f)) + { + flame->SetInFront(player); + ((npc_dancing_flamesAI*)flame->AI())->active = false; + + WorldPacket data; + flame->BuildHeartBeatMsg(&data); + flame->SendMessageToSet(&data,true); + switch(emote) + { + case TEXTEMOTE_KISS: flame->HandleEmoteCommand(EMOTE_ONESHOT_SHY); break; + case TEXTEMOTE_WAVE: flame->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); break; + case TEXTEMOTE_BOW: flame->HandleEmoteCommand(EMOTE_ONESHOT_BOW); break; + case TEXTEMOTE_JOKE: flame->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH); break; + case TEXTEMOTE_DANCE: + { + if (!player->HasAura(SPELL_SEDUCTION,0)) + flame->CastSpell(player,SPELL_SEDUCTION,true); + } + break; + } + } + return true; } /*###### @@ -940,6 +1007,7 @@ void AddSC_npcs_special() newscript = new Script; newscript->Name="npc_dancing_flames"; + newscript->GetAI = &GetAI_npc_dancing_flames; newscript->pReceiveEmote = &ReceiveEmote_npc_dancing_flames; newscript->RegisterSelf(); diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp index afc161afed4..d0273e22d34 100644 --- a/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp +++ b/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp @@ -23,7 +23,7 @@ EndScriptData */ #include "precompiled.h" -#define SPELL_INHABITMAGIC 32264 +#define SPELL_INHIBITMAGIC 32264 #define SPELL_ATTRACTMAGIC 32265 #define N_SPELL_CARNIVOROUSBITE 36383 #define H_SPELL_CARNIVOROUSBITE 39382 @@ -44,7 +44,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI Reset(); } - uint32 Inhabitmagic_Timer; + uint32 Inhibitmagic_Timer; uint32 Attractmagic_Timer; uint32 Carnivorousbite_Timer; uint32 FocusFire_Timer; @@ -53,7 +53,7 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI void Reset() { - Inhabitmagic_Timer = 3000; + Inhibitmagic_Timer = 0; Attractmagic_Timer = 28000; Carnivorousbite_Timer = 10000; FocusFire_Timer = 17000; @@ -79,22 +79,38 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI void UpdateAI(const uint32 diff) { + //Inhibitmagic_Timer + if (Inhibitmagic_Timer < diff) + { + float dist; + Map *map = m_creature->GetMap(); + Map::PlayerList const &PlayerList = map->GetPlayers(); + for(Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i) + if (Player* i_pl = i->getSource()) + if (i_pl->isAlive() && (dist = i_pl->GetDistance(m_creature)) < 45) + { + i_pl->RemoveAurasDueToSpell(SPELL_INHIBITMAGIC); + m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl); + if(dist < 35) + m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl); + if(dist < 25) + m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl); + if(dist < 15) + m_creature->AddAura(SPELL_INHIBITMAGIC, i_pl); + } + Inhibitmagic_Timer = 3000+(rand()%1000); + }else Inhibitmagic_Timer -= diff; + //Return since we have no target if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) return; - //Inhabitmagic_Timer - if (Inhabitmagic_Timer < diff) - { - DoCast(m_creature,SPELL_INHABITMAGIC); - Inhabitmagic_Timer = 2000+(rand()%2000); - }else Inhabitmagic_Timer -= diff; - //Attractmagic_Timer if (Attractmagic_Timer < diff) { DoCast(m_creature,SPELL_ATTRACTMAGIC); Attractmagic_Timer = 30000; + Carnivorousbite_Timer = 1500; }else Attractmagic_Timer -= diff; //Carnivorousbite_Timer @@ -108,20 +124,20 @@ struct TRINITY_DLL_DECL boss_shirrak_the_dead_watcherAI : public ScriptedAI if (FocusFire_Timer < diff) { // Summon Focus Fire & Emote - Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target && target->GetTypeId() == TYPEID_PLAYER) + Unit *target = SelectUnit(SELECT_TARGET_RANDOM,1); + if (target && target->GetTypeId() == TYPEID_PLAYER && target->isAlive()) { focusedTarget = target; m_creature->SummonCreature(ENTRY_FOCUS_FIRE,target->GetPositionX(),target->GetPositionY(),target->GetPositionZ(),0,TEMPSUMMON_TIMED_DESPAWN,5500); // Emote - std::string *emote = new std::string("focuses his energy on "); + std::string *emote = new std::string("focuses on "); emote->append(target->GetName()); + emote->append("!"); DoTextEmote(emote->c_str(),NULL,true); delete emote; - - FocusFire_Timer = 15000+(rand()%5000); } + FocusFire_Timer = 15000+(rand()%5000); }else FocusFire_Timer -= diff; DoMeleeAttackIfReady(); @@ -143,7 +159,7 @@ struct TRINITY_DLL_DECL mob_focus_fireAI : public ScriptedAI bool HeroicMode; uint32 FieryBlast_Timer; - bool fiery1, fiery2, fiery3; + bool fiery1, fiery2; void Reset() { diff --git a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp index a5d66b02ddc..2631b9ac3ae 100644 --- a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp +++ b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp @@ -72,13 +72,28 @@ struct TRINITY_DLL_DECL mob_yennikuAI : public ScriptedAI void UpdateAI(const uint32 diff) { if (bReset) - if(Reset_Timer < diff) - { - EnterEvadeMode(); - bReset = false; - m_creature->setFaction(28); //troll, bloodscalp - } - else Reset_Timer -= diff; + { + if(Reset_Timer < diff) + { + EnterEvadeMode(); + bReset = false; + m_creature->setFaction(28); //troll, bloodscalp + } + else Reset_Timer -= diff; + + if(m_creature->isInCombat() && m_creature->getVictim()) + { + if(m_creature->getVictim()->GetTypeId() == TYPEID_PLAYER) + { + Unit *victim = m_creature->getVictim(); + if(((Player*)victim)->GetTeam() == HORDE) + { + m_creature->CombatStop(); + m_creature->DeleteThreatList(); + } + } + } + } //Return since we have no target if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) diff --git a/src/framework/CMakeLists.txt b/src/framework/CMakeLists.txt new file mode 100644 index 00000000000..41ca661de98 --- /dev/null +++ b/src/framework/CMakeLists.txt @@ -0,0 +1,8 @@ +SET(trinityframework_STAT_SRCS + Policies/ObjectLifeTime.cpp + Utilities/EventProcessor.cpp +) +include_directories( +${CMAKE_CURRENT_SRC_DIR} +) +add_library(trinityframework STATIC ${trinityframework_STAT_SRCS}) diff --git a/src/game/CMakeLists.txt b/src/game/CMakeLists.txt new file mode 100644 index 00000000000..db1e31f2414 --- /dev/null +++ b/src/game/CMakeLists.txt @@ -0,0 +1,266 @@ + +########### next target ############### + +SET(game_STAT_SRCS + AccountMgr.cpp + AccountMgr.h + AddonHandler.cpp + AddonHandler.h + AggressorAI.cpp + AggressorAI.h + AnimalRandomMovementGenerator.h + ArenaTeam.cpp + ArenaTeam.h + ArenaTeamHandler.cpp + AuctionHouse.cpp + AuctionHouseObject.h + Bag.cpp + Bag.h + BattleGround.cpp + BattleGroundAA.cpp + BattleGroundAB.cpp + BattleGroundAV.cpp + BattleGroundBE.cpp + BattleGroundEY.cpp + BattleGroundNA.cpp + BattleGroundRL.cpp + BattleGroundWS.cpp + BattleGround.h + BattleGroundAA.h + BattleGroundAB.h + BattleGroundAV.h + BattleGroundBE.h + BattleGroundEY.h + BattleGroundNA.h + BattleGroundRL.h + BattleGroundWS.h + BattleGroundHandler.cpp + BattleGroundMgr.cpp + BattleGroundMgr.h + Cell.h + CellImpl.h + Channel.cpp + Channel.h + ChannelHandler.cpp + ChannelMgr.h + CharacterHandler.cpp + Chat.cpp + Chat.h + ChatHandler.cpp + CombatHandler.cpp + ConfusedMovementGenerator.cpp + ConfusedMovementGenerator.h + Corpse.cpp + Corpse.h + CreatureAI.cpp + CreatureAI.h + CreatureAIImpl.h + CreatureAIRegistry.cpp + CreatureAIRegistry.h + CreatureAISelector.cpp + CreatureAISelector.h + Creature.cpp + Creature.h + CreatureGroups.cpp + CreatureGroups.h + debugcmds.cpp + DestinationHolder.cpp + DestinationHolder.h + DestinationHolderImp.h + DuelHandler.cpp + DynamicObject.cpp + DynamicObject.h + FleeingMovementGenerator.cpp + FleeingMovementGenerator.h + Formulas.h + GameEvent.cpp + GameEvent.h + GameObject.cpp + GameObject.h + GlobalEvents.cpp + GlobalEvents.h + GossipDef.cpp + GossipDef.h + GridDefines.h + GridNotifiers.cpp + GridNotifiers.h + GridNotifiersImpl.h + GridStates.cpp + GridStates.h + Group.cpp + Group.h + GroupHandler.cpp + GuardAI.cpp + GuardAI.h + Guild.cpp + Guild.h + GuildHandler.cpp + HomeMovementGenerator.cpp + HomeMovementGenerator.h + HostilRefManager.cpp + HostilRefManager.h + IdleMovementGenerator.cpp + IdleMovementGenerator.h + InstanceData.cpp + InstanceData.h + InstanceSaveMgr.cpp + InstanceSaveMgr.h + Item.cpp + Item.h + ItemEnchantmentMgr.cpp + ItemEnchantmentMgr.h + ItemHandler.cpp + ItemPrototype.h + Language.h + Level0.cpp + Level1.cpp + Level2.cpp + Level3.cpp + LFGHandler.cpp + LootHandler.cpp + LootMgr.cpp + LootMgr.h + Mail.cpp + Mail.h + Map.cpp + Map.h + MapInstanced.cpp + MapInstanced.h + MapManager.cpp + MapManager.h + MiscHandler.cpp + MotionMaster.cpp + MotionMaster.h + MovementGenerator.cpp + MovementGenerator.h + MovementGeneratorImpl.h + MovementHandler.cpp + NPCHandler.cpp + NPCHandler.h + NullCreatureAI.cpp + NullCreatureAI.h + ObjectAccessor.cpp + ObjectAccessor.h + Object.cpp + ObjectDefines.h + ObjectGridLoader.cpp + ObjectGridLoader.h + Object.h + ObjectMgr.cpp + ObjectMgr.h + Opcodes.cpp + Opcodes.h + OutdoorPvP.cpp + OutdoorPvP.h + OutdoorPvPEP.cpp + OutdoorPvPEP.h + OutdoorPvPHP.cpp + OutdoorPvPHP.h + OutdoorPvPMgr.cpp + OutdoorPvPMgr.h + OutdoorPvPNA.cpp + OutdoorPvPNA.h + OutdoorPvPObjectiveAI.cpp + OutdoorPvPObjectiveAI.h + OutdoorPvPSI.cpp + OutdoorPvPSI.h + OutdoorPvPTF.cpp + OutdoorPvPTF.h + OutdoorPvPZM.cpp + OutdoorPvPZM.h + Path.h + PetAI.cpp + PetAI.h + Pet.cpp + Pet.h + PetHandler.cpp + PetitionsHandler.cpp + Player.cpp + Player.h + PlayerDump.cpp + PlayerDump.h + PointMovementGenerator.cpp + PointMovementGenerator.h + PossessedAI.cpp + PossessedAI.h + QueryHandler.cpp + QuestDef.cpp + QuestDef.h + QuestHandler.cpp + RandomMovementGenerator.cpp + RandomMovementGenerator.h + ReactorAI.cpp + ReactorAI.h + ScriptCalls.cpp + ScriptCalls.h + SharedDefines.h + SkillHandler.cpp + SpellAuraDefines.h + SpellAuras.cpp + SpellAuras.h + Spell.cpp + SpellEffects.cpp + Spell.h + SkillDiscovery.cpp + SkillDiscovery.h + SkillExtraItems.cpp + SkillExtraItems.h + SpellHandler.cpp + SocialMgr.cpp + SocialMgr.h + SpellMgr.cpp + SpellMgr.h + StatSystem.cpp + TargetedMovementGenerator.cpp + TargetedMovementGenerator.h + TaxiHandler.cpp + TemporarySummon.cpp + TemporarySummon.h + TicketHandler.cpp + TicketMgr.cpp + TicketMgr.h + tools.cpp + Tools.h + TotemAI.cpp + TotemAI.h + Totem.cpp + Totem.h + TradeHandler.cpp + Transports.cpp + Transports.h + ThreatManager.cpp + ThreatManager.h + Traveller.h + Unit.cpp + Unit.h + UnitEvents.h + UpdateData.cpp + UpdateData.h + UpdateFields.h + UpdateMask.h + VoiceChatHandler.cpp + WaypointManager.cpp + WaypointManager.h + WaypointMovementGenerator.cpp + WaypointMovementGenerator.h + Weather.cpp + Weather.h + World.cpp + World.h + WorldLog.cpp + WorldLog.h + WorldSession.cpp + WorldSession.h + WorldSocket.cpp + WorldSocket.h + WorldSocketMgr.cpp + WorldSocketMgr.h + FollowerReference.cpp + FollowerReference.h + FollowerRefManager.h + GroupReference.cpp + GroupReference.h + GroupRefManager.h +) + +add_library(game STATIC ${game_STAT_SRCS}) diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp index 300bb3cf3e8..ce089511586 100644 --- a/src/game/Chat.cpp +++ b/src/game/Chat.cpp @@ -516,6 +516,7 @@ ChatCommand * ChatHandler::getCommandTable() { "viewname", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByNameCommand, "", NULL }, { "viewid", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByIdCommand, "", NULL }, { "close", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketCloseByIdCommand, "", NULL }, + { "closedlist", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketListClosedCommand, "", NULL }, { "delete", SEC_ADMINISTRATOR, false, &ChatHandler::HandleGMTicketDeleteByIdCommand, "", NULL }, { "assign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketAssignToCommand, "", NULL }, { "unassign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketUnAssignCommand, "", NULL }, @@ -527,7 +528,7 @@ ChatCommand * ChatHandler::getCommandTable() { { "account", SEC_PLAYER, true, NULL, "", accountCommandTable }, { "gm", SEC_MODERATOR, true, NULL, "", gmCommandTable }, - { "ticket", SEC_MODERATOR, true, NULL, "", ticketCommandTable }, + { "ticket", SEC_MODERATOR, false, NULL, "", ticketCommandTable }, { "npc", SEC_MODERATOR, false, NULL, "", npcCommandTable }, { "go", SEC_MODERATOR, false, NULL, "", goCommandTable }, { "learn", SEC_MODERATOR, false, NULL, "", learnCommandTable }, diff --git a/src/game/Chat.h b/src/game/Chat.h index e83aef41c5b..337d34e3b0c 100644 --- a/src/game/Chat.h +++ b/src/game/Chat.h @@ -68,6 +68,7 @@ class ChatHandler void SendSysMessage( int32 entry); void PSendSysMessage( const char *format, ...) ATTR_PRINTF(2,3); void PSendSysMessage( int32 entry, ... ); + std::string PGetParseString(int32 entry, ...); int ParseCommands(const char* text); @@ -415,6 +416,7 @@ class ChatHandler // GM ticket command handlers bool HandleGMTicketListCommand(const char* args); bool HandleGMTicketListOnlineCommand(const char* args); + bool HandleGMTicketListClosedCommand(const char* args); bool HandleGMTicketGetByIdCommand(const char* args); bool HandleGMTicketGetByNameCommand(const char* args); bool HandleGMTicketCloseByIdCommand(const char* args); diff --git a/src/game/Language.h b/src/game/Language.h index aa2ea06d109..8a356bbc06e 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -786,23 +786,32 @@ enum TrinityStrings LANG_YOU_CHANGE_GENDER = 1120, LANG_YOUR_GENDER_CHANGED = 1121, - // Ticket Strings 2000-2020 + // Ticket Strings 2000-2029 LANG_COMMAND_TICKETNEW = 2000, - LANG_COMMAND_TICKETUPDATED = 2001, + LANG_COMMAND_TICKETUPDATED = 2001, LANG_COMMAND_TICKETPLAYERABANDON = 2002, LANG_COMMAND_TICKETCLOSED = 2003, LANG_COMMAND_TICKETDELETED = 2004, LANG_COMMAND_TICKETNOTEXIST = 2005, - LANG_COMMAND_TICKETCLOSEFIRST = 2007, - LANG_COMMAND_TICKETALREADYASSIGNED = 2008, - LANG_COMMAND_TICKETRELOAD = 2009, - LANG_COMMAND_TICKETSHOWLIST = 2010, - LANG_COMMAND_TICKETSHOWONLINELIST = 2011, + LANG_COMMAND_TICKETCLOSEFIRST = 2006, + LANG_COMMAND_TICKETALREADYASSIGNED = 2007, + LANG_COMMAND_TICKETRELOAD = 2008, + LANG_COMMAND_TICKETSHOWLIST = 2009, + LANG_COMMAND_TICKETSHOWONLINELIST = 2010, + LANG_COMMAND_TICKETSHOWCLOSEDLIST = 2011, LANG_COMMAND_TICKETASSIGNERROR_A = 2012, LANG_COMMAND_TICKETASSIGNERROR_B = 2013, LANG_COMMAND_TICKETNOTASSIGNED = 2014, LANG_COMMAND_TICKETUNASSIGNSECURITY = 2015, LANG_COMMAND_TICKETCANNOTCLOSE = 2016, + LANG_COMMAND_TICKETLISTGUID = 2017, + LANG_COMMAND_TICKETLISTNAME = 2018, + LANG_COMMAND_TICKETLISTAGE = 2019, + LANG_COMMAND_TICKETLISTASSIGNEDTO = 2020, + LANG_COMMAND_TICKETLISTUNASSIGNED = 2021, + LANG_COMMAND_TICKETLISTMESSAGE = 2022, + LANG_COMMAND_TICKETLISTCOMMENT = 2023, + LANG_COMMAND_TICKETLISTADDCOMMENT = 2024, // Trinity strings 5000-9999 diff --git a/src/game/Level0.cpp b/src/game/Level0.cpp index 63a015f9802..ff7d58f8da1 100644 --- a/src/game/Level0.cpp +++ b/src/game/Level0.cpp @@ -31,6 +31,7 @@ #include "Language.h" #include "AccountMgr.h" #include "SystemConfig.h" +#include "revision.h" #include "Util.h" bool ChatHandler::HandleHelpCommand(const char* args) @@ -95,7 +96,7 @@ bool ChatHandler::HandleServerInfoCommand(const char* /*args*/) std::string str = secsToTimeString(sWorld.GetUptime()); uint32 updateTime = sWorld.GetUpdateTime(); - PSendSysMessage(_FULLVERSION); //char const* full; + PSendSysMessage(_FULLVERSION); //if(m_session) // full = _FULLVERSION(REVISION_DATE,REVISION_TIME,"|cffffffff|Hurl:" REVISION_ID "|h" REVISION_ID "|h|r"); //else diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index 5f657344864..06032053490 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -270,6 +270,16 @@ bool ChatHandler::HandleGMChatCommand(const char* args) return false; } +std::string ChatHandler::PGetParseString(int32 entry, ...) +{ + const char *format = GetTrinityString(entry); + va_list ap; + char str [1024]; + va_start(ap, entry); + vsnprintf(str,1024,format, ap ); + va_end(ap); + return (std::string)str; +} bool ChatHandler::HandleGMTicketListCommand(const char* args) { SendSysMessage(LANG_COMMAND_TICKETSHOWLIST); @@ -277,18 +287,16 @@ bool ChatHandler::HandleGMTicketListCommand(const char* args) { if((*itr)->closed != 0) continue; - - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString(time(NULL) - (*itr)->timestamp, true, false) << " ago."; - if((*itr)->assignedToGM != 0) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - SendSysMessage(message.str().c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + SendSysMessage(ss.str().c_str()); } return true; } @@ -302,17 +310,38 @@ bool ChatHandler::HandleGMTicketListOnlineCommand(const char* args) if((*itr)->closed != 0 || !objmgr.GetPlayer((*itr)->playerGuid)) continue; - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL) - (*itr)->timestamp), true, false) << " ago."; - if((*itr)->assignedToGM != 0 && objmgr.GetPlayer((*itr)->assignedToGM)) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) + { + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + SendSysMessage(ss.str().c_str()); + } + return true; +} + +bool ChatHandler::HandleGMTicketListClosedCommand(const char* args) +{ + SendSysMessage(LANG_COMMAND_TICKETSHOWCLOSEDLIST); + for(GmTicketList::iterator itr = ticketmgr.GM_TicketList.begin(); itr != ticketmgr.GM_TicketList.end(); ++itr) + { + if((*itr)->closed == 0) + continue; + + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - SendSysMessage(message.str().c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + SendSysMessage(ss.str().c_str()); } return true; } @@ -330,22 +359,21 @@ bool ChatHandler::HandleGMTicketGetByIdCommand(const char* args) return true; } - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago."; - if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM)) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - message << "|r\n|cff00ff00Message:|r " << ticket->message; + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str()); if(ticket->comment != "") { - message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment; + ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str()); } - SendSysMessage(message.str().c_str()); + SendSysMessage(ss.str().c_str()); return true; } @@ -361,22 +389,21 @@ bool ChatHandler::HandleGMTicketGetByNameCommand(const char* args) return true; } - std::stringstream message; - message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid; - message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name; - message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago."; - if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM)) + std::string gmname; + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str()); + if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) { - std::string gmname; - objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname); - message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname; - } - message << "|r\n|cff00ff00Message:|r " << ticket->message; + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str()); if(ticket->comment != "") { - message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment; + ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str()); } - SendSysMessage(message.str().c_str()); + SendSysMessage(ss.str().c_str()); return true; } @@ -397,7 +424,11 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args) PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->guid); return true; } - sWorld.SendGMText(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName(), ticket->guid); + std::stringstream ss; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName()); + SendGlobalGMSysMessage(ss.str().c_str()); ticketmgr.RemoveGMTicket(ticket->guid, m_session->GetPlayer()->GetGUID()); Player *plr = objmgr.GetPlayer(ticket->playerGuid); @@ -460,10 +491,9 @@ bool ChatHandler::HandleGMTicketAssignToCommand(const char* args) ticket->assignedToGM = tarGUID; ticketmgr.UpdateGMTicket(ticket); std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r"; - ss << "|cff00ff00 assigned to:|r "; - ss << "|cffff00ff\"" << gmname << "\"."; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); SendGlobalGMSysMessage(ss.str().c_str()); return true; } @@ -484,7 +514,7 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args) } if(ticket->assignedToGM == 0) { - SendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED); + PSendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED, ticket->guid); return true; } @@ -498,9 +528,10 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args) } std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r"; - ss << "|cff00ff00 unassigned.|r"; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTUNASSIGNED, cplr->GetName()); SendGlobalGMSysMessage(ss.str().c_str()); ticket->assignedToGM = 0; ticketmgr.UpdateGMTicket(ticket); @@ -533,13 +564,18 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args) return true; } + std::string gmname; + objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname); ticket->comment = comment; ticketmgr.UpdateGMTicket(ticket); std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r"; - ss << "|cff00ff00 added comment:|r "; - ss << "|cffff00ff\"" << ticket->comment << "\"."; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) + { + ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str()); + } + ss << PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, cplr->GetName(), ticket->comment.c_str()); SendGlobalGMSysMessage(ss.str().c_str()); return true; } @@ -563,9 +599,9 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args) } std::stringstream ss; - ss << "|cff00ff00Ticket:|r "; - ss << "|cffff00ff" << m_session->GetPlayer()->GetName() << "|r"; - ss << "|cff00ff00 deleted.|r"; + ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); + ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETDELETED, m_session->GetPlayer()->GetName()); SendGlobalGMSysMessage(ss.str().c_str()); Player *plr = objmgr.GetPlayer(ticket->playerGuid); ticketmgr.DeleteGMTicketPermanently(ticket->guid); diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp index 1e28c2a2ec1..111e1ed27ad 100644 --- a/src/game/TicketMgr.cpp +++ b/src/game/TicketMgr.cpp @@ -111,7 +111,7 @@ void TicketMgr::LoadGMTickets() InitTicketID(); // Delete all out of object holder GM_TicketList.clear(); - QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets` WHERE `closed` = '0'" ); + QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" ); GM_Ticket *ticket; if(!result) @@ -197,7 +197,7 @@ void TicketMgr::InitTicketID() QueryResult *result = CharacterDatabase.Query("SELECT MAX(guid) FROM gm_tickets"); if(result) { - m_ticketid = result->Fetch()[0].GetUInt64() + 1; + m_ticketid = result->Fetch()[0].GetUInt64(); delete result; } } diff --git a/src/shared/Auth/CMakeLists.txt b/src/shared/Auth/CMakeLists.txt new file mode 100644 index 00000000000..f0714509e1d --- /dev/null +++ b/src/shared/Auth/CMakeLists.txt @@ -0,0 +1,17 @@ + +########### next target ############### + +SET(trinityauth_STAT_SRCS + AuthCrypt.cpp + AuthCrypt.h + BigNumber.cpp + BigNumber.h + Hmac.cpp + Hmac.h + Sha1.cpp + Sha1.h + md5.c + md5.h +) + +add_library(trinityauth STATIC ${trinityauth_STAT_SRCS}) diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt new file mode 100644 index 00000000000..006fa284c5d --- /dev/null +++ b/src/shared/CMakeLists.txt @@ -0,0 +1,29 @@ + +add_subdirectory(vmap) +add_subdirectory(Auth) +add_subdirectory(Config) +add_subdirectory(Database) + +########### next target ############### + +SET(shared_STAT_SRCS + Base.cpp + Base.h + ByteBuffer.h + Common.cpp + Common.h + Errors.h + Log.cpp + Log.h + Mthread.cpp + Mthread.h + ProgressBar.cpp + ProgressBar.h + Timer.h + Util.cpp + Util.h + WorldPacket.h + SystemConfig.h +) + +add_library(shared STATIC ${shared_STAT_SRCS}) diff --git a/src/shared/Config/CMakeLists.txt b/src/shared/Config/CMakeLists.txt new file mode 100644 index 00000000000..54c3d80b869 --- /dev/null +++ b/src/shared/Config/CMakeLists.txt @@ -0,0 +1,15 @@ + +########### next target ############### + +SET(trinityconfig_STAT_SRCS + dotconfpp/dotconfpp.cpp + dotconfpp/dotconfpp.h + dotconfpp/mempool.cpp + dotconfpp/mempool.h + Config.cpp + Config.h + ConfigEnv.h +) + +add_library(trinityconfig STATIC ${trinityconfig_STAT_SRCS}) + diff --git a/src/shared/Database/CMakeLists.txt b/src/shared/Database/CMakeLists.txt new file mode 100644 index 00000000000..a819a66dec7 --- /dev/null +++ b/src/shared/Database/CMakeLists.txt @@ -0,0 +1,38 @@ +SET(trinitydatabase_STAT_SRCS + DBCStores.cpp + DBCStores.h + DBCStructure.h + DBCfmt.cpp + Database.cpp + Database.h + DatabaseEnv.h + DatabaseImpl.h + DatabaseMysql.cpp + DatabasePostgre.cpp + DatabaseMysql.h + DatabasePostgre.h + DatabaseSqlite.cpp + DatabaseSqlite.h +#Brian likes men + Field.cpp + Field.h + MySQLDelayThread.h + PGSQLDelayThread.h + QueryResult.h + QueryResultMysql.cpp + QueryResultMysql.h + QueryResultPostgre.cpp + QueryResultPostgre.h + QueryResultSqlite.cpp + QueryResultSqlite.h + SQLStorage.cpp + SQLStorage.h + SqlDelayThread.cpp + SqlDelayThread.h + SqlOperations.cpp + SqlOperations.h + dbcfile.cpp + dbcfile.h +) + +add_library(trinitydatabase STATIC ${trinitydatabase_STAT_SRCS}) diff --git a/src/shared/Makefile.am b/src/shared/Makefile.am index 4862253a8e1..dcb13ab78c0 100644 --- a/src/shared/Makefile.am +++ b/src/shared/Makefile.am @@ -50,8 +50,10 @@ libmangosshared_a_SOURCES = \ WorldPacket.h \ revision_nr.h \ revision.h +$(srcdir)/revision.h # Get revision (git or svn) +# Get HG revision REVISION_FILE = revision.h BUILT_SOURCES = $(REVISION_FILE) @@ -61,6 +63,7 @@ FORCE: $(REVISION_FILE) : $(top_builddir)/src/tools/genrevision/genrevision FORCE $(top_builddir)/src/tools/genrevision/genrevision $(top_srcdir) + cp $(top_builddir)/src/shared/revision.h $(top_srcdir)/src/shared ## Additional files to include when running 'make dist' # Disabled packet logger diff --git a/src/shared/SystemConfig.h b/src/shared/SystemConfig.h index 262aa9e6355..aeb38891c11 100644 --- a/src/shared/SystemConfig.h +++ b/src/shared/SystemConfig.h @@ -25,9 +25,27 @@ #define TRINITY_SYSTEMCONFIG_H #include "Platform/Define.h" +#include "revision.h" //-----here u are ------ _REVISION is the magic key -// THIS IS TEMP :) -#define _FULLVERSION "Trinity" + +#define _PACKAGENAME "TrinityCore " +#define _CODENAME "YUME" + +#if TRINITY_ENDIAN == TRINITY_BIGENDIAN +# define _ENDIAN_STRING "big-endian" +#else +# define _ENDIAN_STRING "little-endian" +#endif + +#if PLATFORM == PLATFORM_WINDOWS +# ifdef _WIN64 +# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Win64," _ENDIAN_STRING ")" +# else +# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Win32," _ENDIAN_STRING ")" +# endif +#else +# define _FULLVERSION _PACKAGENAME "Rev: " _REVISION " (Unix," _ENDIAN_STRING ")" +#endif #define DEFAULT_PLAYER_LIMIT 100 #define DEFAULT_WORLDSERVER_PORT 8085 //8129 diff --git a/src/shared/SystemConfig.h.in b/src/shared/SystemConfig.h.in index c8349805401..189a7270e1c 100644 --- a/src/shared/SystemConfig.h.in +++ b/src/shared/SystemConfig.h.in @@ -27,6 +27,7 @@ #endif #include "Platform/Define.h" +#include "revision.h" //-----here u are ------ _REVISION is the magic key #ifndef _VERSION #if PLATFORM == PLATFORM_WINDOWS @@ -70,7 +71,6 @@ # define _REALMD_CONFIG SYSCONFDIR"realmd.conf" #endif -#define _FULLVERSION "Trinity" #define DEFAULT_PLAYER_LIMIT 100 #define DEFAULT_WORLDSERVER_PORT 8085 //8129 diff --git a/src/shared/WheatyExceptionReport.cpp b/src/shared/WheatyExceptionReport.cpp index 6a4276cca0f..5aa4a19d583 100644 --- a/src/shared/WheatyExceptionReport.cpp +++ b/src/shared/WheatyExceptionReport.cpp @@ -14,6 +14,8 @@ #define _NO_CVCONST_H #include <dbghelp.h> #include "WheatyExceptionReport.h" +#include "SystemConfig.h" +#include "revision.h" #define CrashFolder _T("Crashes") //#pragma comment(linker, "/defaultlib:dbghelp.lib") @@ -329,22 +331,22 @@ void WheatyExceptionReport::PrintSystemInfo() //=========================================================================== void WheatyExceptionReport::printTracesForAllThreads() { - HANDLE hThreadSnap = INVALID_HANDLE_VALUE; - THREADENTRY32 te32; - + HANDLE hThreadSnap = INVALID_HANDLE_VALUE; + THREADENTRY32 te32; + DWORD dwOwnerPID = GetCurrentProcessId(); m_hProcess = GetCurrentProcess(); - // Take a snapshot of all running threads - hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 ); - if( hThreadSnap == INVALID_HANDLE_VALUE ) - return; - - // Fill in the size of the structure before using it. - te32.dwSize = sizeof(THREADENTRY32 ); - + // Take a snapshot of all running threads + hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 ); + if( hThreadSnap == INVALID_HANDLE_VALUE ) + return; + + // Fill in the size of the structure before using it. + te32.dwSize = sizeof(THREADENTRY32 ); + // Retrieve information about the first thread, // and exit if unsuccessful - if( !Thread32First( hThreadSnap, &te32 ) ) + if( !Thread32First( hThreadSnap, &te32 ) ) { CloseHandle( hThreadSnap ); // Must clean up the // snapshot object! @@ -354,8 +356,8 @@ void WheatyExceptionReport::printTracesForAllThreads() // Now walk the thread list of the system, // and display information about each thread // associated with the specified process - do - { + do + { if( te32.th32OwnerProcessID == dwOwnerPID ) { CONTEXT context; @@ -367,7 +369,7 @@ void WheatyExceptionReport::printTracesForAllThreads() } CloseHandle(threadHandle); } - } while( Thread32Next(hThreadSnap, &te32 ) ); + } while( Thread32Next(hThreadSnap, &te32 ) ); // Don't forget to clean up the snapshot object. CloseHandle( hThreadSnap ); @@ -385,6 +387,7 @@ PEXCEPTION_POINTERS pExceptionInfo ) GetLocalTime(&systime); // Start out with a banner + _tprintf(_T("Revision: %s\r\n"), _FULLVERSION); _tprintf(_T("Date %u:%u:%u. Time %u:%u \r\n"), systime.wDay, systime.wMonth, systime.wYear, systime.wHour, systime.wMinute); PEXCEPTION_RECORD pExceptionRecord = pExceptionInfo->ExceptionRecord; diff --git a/src/shared/revision.h.in b/src/shared/revision.h.in new file mode 100644 index 00000000000..a84170529eb --- /dev/null +++ b/src/shared/revision.h.in @@ -0,0 +1,4 @@ +#ifndef __SVN_REVISION_H__ +#define __SVN_REVISION_H__ + #define _REVISION "794" //change this to your current revision +#endif // __SVN_REVISION_H__ diff --git a/src/shared/vmap/CMakeLists.txt b/src/shared/vmap/CMakeLists.txt new file mode 100644 index 00000000000..9ed30c0b44f --- /dev/null +++ b/src/shared/vmap/CMakeLists.txt @@ -0,0 +1,35 @@ + +########### next target ############### + +SET(vmaps_STAT_SRCS + AABSPTree.h + BaseModel.cpp + BaseModel.h + CoordModelMapping.cpp + CoordModelMapping.h + DebugCmdLogger.cpp + DebugCmdLogger.h + IVMapManager.h + ManagedModelContainer.cpp + ManagedModelContainer.h + ModelContainer.cpp + ModelContainer.h + NodeValueAccess.h + ShortBox.h + ShortVector.h + SubModel.cpp + SubModel.h + TileAssembler.cpp + TileAssembler.h + TreeNode.cpp + TreeNode.h + VMapDefinitions.h + VMapFactory.cpp + VMapFactory.h + VMapManager.cpp + VMapManager.h + VMapTools.h +) + +add_library(vmaps STATIC ${vmaps_STAT_SRCS}) + diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt new file mode 100644 index 00000000000..72ceca8dd33 --- /dev/null +++ b/src/trinitycore/CMakeLists.txt @@ -0,0 +1,53 @@ + +########### next target ############### + +SET(trinity-core_SRCS +CliRunnable.cpp +CliRunnable.h +Main.cpp +Master.cpp +Master.h +RASocket.cpp +RASocket.h +WorldRunnable.cpp +WorldRunnable.h +) + +add_executable(trinity-core ${trinity-core_SRCS}) +add_definitions( +-D_TRINITY_CORE_CONFIG='"${CONF_DIR}/trinitycore.conf"' +) +IF (DO_MYSQL) + SET_TARGET_PROPERTIES(trinity-core PROPERTIES LINK_FLAGS "-pthread") +ENDIF(DO_MYSQL) + + + +target_link_libraries( +trinity-core +game +shared +zlib +trinityframework +trinitysockets +trinitydatabase +trinityauth +trinityconfig +vmaps +ZThread +g3dlite +${SCRIPT_LIB} +${MYSQL_LIBRARIES} +${POSTGRE_LIBS} +${SSLLIB} +${ACE_LIBRARY} +${ZLIB} +) + +install(TARGETS trinity-core DESTINATION bin) + + +########### install files ############### + +install(FILES trinitycore.conf.dist DESTINATION etc) + diff --git a/src/trinitycore/Main.cpp b/src/trinitycore/Main.cpp index a4bcf717d62..4c85ecd6d68 100644 --- a/src/trinitycore/Main.cpp +++ b/src/trinitycore/Main.cpp @@ -1,4 +1,4 @@ -/* +/* * Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/> * * Copyright (C) 2008 Trinity <http://www.trinitycore.org/> @@ -21,6 +21,8 @@ /// \addtogroup Trinityd Trinity Daemon /// @{ /// \file +#include "SystemConfig.h" +#include "revision.h" #include "Common.h" #include "Database/DatabaseEnv.h" @@ -62,6 +64,7 @@ uint32 realmID; ///< Id of the realm void usage(const char *prog) { sLog.outString("Usage: \n %s [<options>]\n" + " --version print version and exist\n\r" " -c config_file use config_file as configuration file\n\r" #ifdef WIN32 " Running as service functions:\n\r" @@ -92,6 +95,12 @@ extern int main(int argc, char **argv) cfg_file = argv[c]; } + if( strcmp(argv[c],"--version") == 0) + { + printf("%s\n", _FULLVERSION); + return 0; + } + #ifdef WIN32 //////////// //Services// @@ -138,7 +147,7 @@ extern int main(int argc, char **argv) return 1; } sLog.outString("Using configuration file %s.", cfg_file); - + uint32 confVersion = sConfig.GetIntDefault("ConfVersion", 0); if (confVersion < _TRINITY_CORE_CONFVER) { diff --git a/src/trinityrealm/CMakeLists.txt b/src/trinityrealm/CMakeLists.txt new file mode 100644 index 00000000000..cddea04ea47 --- /dev/null +++ b/src/trinityrealm/CMakeLists.txt @@ -0,0 +1,45 @@ +########### next target ############### + +SET(trinity-realm_SRCS +AuthCodes.h +AuthSocket.cpp +AuthSocket.h +Main.cpp +RealmList.cpp +RealmList.h +) + +add_executable(trinity-realm ${trinity-realm_SRCS}) +add_definitions( +-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/trinityrealm.conf"' +) +IF (DO_MYSQL) + #SET_TARGET_PROPERTIES(mangos-realmd PROPERTIES LINK_FLAGS ${MYSQL_LIBS}) + SET_TARGET_PROPERTIES(trinity-realm PROPERTIES LINK_FLAGS "-pthread") +ENDIF(DO_MYSQL) +IF (DO_POSTGRE) + SET_TARGET_PROPERTIES(trinity-realmd PROPERTIES LINK_FLAGS ${POSTGRE_LIBS}) +ENDIF(DO_POSTGRE) + + +target_link_libraries( +trinity-realm +shared +trinityframework +trinitysockets +trinitydatabase +trinityauth +trinityconfig +ZThread +zlib +${SSLLIB} +${MYSQL_LIBRARIES} +) + +install(TARGETS trinity-realm DESTINATION bin) + + +########### install files ############### + +install(FILES trinityrealm.conf.dist DESTINATION etc) + diff --git a/src/trinityrealm/Main.cpp b/src/trinityrealm/Main.cpp index e74cd5144d3..3e2739ec6b5 100644 --- a/src/trinityrealm/Main.cpp +++ b/src/trinityrealm/Main.cpp @@ -31,6 +31,7 @@ #include "sockets/ListenSocket.h" #include "AuthSocket.h" #include "SystemConfig.h" +#include "revision.h" #include "Util.h" // Format is YYYYMMDDRR where RR is the change in the conf file @@ -70,6 +71,7 @@ DatabaseType LoginDatabase; ///< Accessor to the void usage(const char *prog) { sLog.outString("Usage: \n %s [<options>]\n" + " --version print version and exist\n\r" " -c config_file use config_file as configuration file\n\r" #ifdef WIN32 " Running as service functions:\n\r" @@ -100,6 +102,12 @@ extern int main(int argc, char **argv) cfg_file = argv[c]; } + if( strcmp(argv[c],"--version") == 0) + { + printf("%s\n", _FULLVERSION); + return 0; + } + #ifdef WIN32 //////////// //Services// |