diff options
author | Xanadu <none@none> | 2010-07-17 03:28:20 +0200 |
---|---|---|
committer | Xanadu <none@none> | 2010-07-17 03:28:20 +0200 |
commit | d8e1ba0c8263e5d818d40dc8bc1bfcbcb07a7c7b (patch) | |
tree | 23385c6cbda537f9aacb433eaaa7f00c82194dbb /src/server/game/CollisionDetection/BoundingIntervalHierarchy.cpp | |
parent | b5f8bfd66561e4a63fa8c28961b829a35ceb2fb0 (diff) |
Correctly redo file moves/renames from revs 8469, 8470, 8471, 8472, 8473.
--HG--
branch : trunk
rename : sql/realmd.sql => sql/auth_database.sql
rename : sql/characters.sql => sql/character_database.sql
rename : sql/CMakeLists.txt => sql/tools/CMakeLists.txt
rename : sql/create_mysql.sql => sql/tools/create_mysql.sql
rename : sql/drop_mysql.sql => sql/tools/drop_mysql.sql
rename : sql/world.sql => sql/world_database.sql
rename : src/server/game/CollisionDetection/BIH.cpp => src/server/game/CollisionDetection/BoundingIntervalHierarchy.cpp
rename : src/server/game/CollisionDetection/BIH.h => src/server/game/CollisionDetection/BoundingIntervalHierarchy.h
rename : src/server/game/Entities/Transport/Transports.cpp => src/server/game/Entities/Transport/Transport.cpp
rename : src/server/game/Entities/Transport/Transports.h => src/server/game/Entities/Transport/Transport.h
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_anetheron.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_archimonde.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_azgalor.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_kazrogal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/boss_rage_winterchill.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal.h => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.h
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjalAI.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjalAI.h => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.h
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal_trash.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/hyjal_trash.h => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.h
rename : src/server/scripts/Kalimdor/CavernsOfTime/hyjal/instance_hyjal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_epoch.cpp => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_epoch.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_infinite.cpp => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_mal_ganis.cpp => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_meathook.cpp => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/boss_salramm.cpp => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/culling_of_stratholme.cpp => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/culling_of_stratholme.h => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.h
rename : src/server/scripts/Kalimdor/CavernsOfTime/culling_of_stratholme/instance_culling_of_stratholme.cpp => src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/boss_aeonus.cpp => src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_aeonus.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/boss_chrono_lord_deja.cpp => src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_chrono_lord_deja.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/boss_temporus.cpp => src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/boss_temporus.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/dark_portal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/dark_portal.h => src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/dark_portal.h
rename : src/server/scripts/Kalimdor/CavernsOfTime/dark_portal/instance_dark_portal.cpp => src/server/scripts/Kalimdor/CavernsOfTime/DarkPortal/instance_dark_portal.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/boss_captain_skarloc.cpp => src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/boss_epoch_hunter.cpp => src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/boss_leutenant_drake.cpp => src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_leutenant_drake.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/instance_old_hillsbrad.cpp => src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/old_hillsbrad.cpp => src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
rename : src/server/scripts/Kalimdor/CavernsOfTime/old_hillsbrad/old_hillsbrad.h => src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.h
rename : src/server/scripts/Northrend/AzjolNerub/azjol_nerub/azjol_nerub.h => src/server/scripts/Northrend/AzjolNerub/AzjolNerub/azjol_nerub.h
rename : src/server/scripts/Northrend/AzjolNerub/azjol_nerub/boss_anubarak.cpp => src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
rename : src/server/scripts/Northrend/AzjolNerub/azjol_nerub/boss_hadronox.cpp => src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
rename : src/server/scripts/Northrend/AzjolNerub/azjol_nerub/boss_krikthir_the_gatewatcher.cpp => src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
rename : src/server/scripts/Northrend/AzjolNerub/azjol_nerub/instance_azjol_nerub.cpp => src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp
rename : src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/boss_argent_challenge.cpp => src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
rename : src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/boss_black_knight.cpp => src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
rename : src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/boss_grand_champions.cpp => src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
rename : src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/instance_trial_of_the_champion.cpp => src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp
rename : src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/trial_of_the_champion.cpp => src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.cpp
rename : src/server/scripts/Northrend/CrusadersColiseum/trial_of_the_champion/trial_of_the_champion.h => src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/trial_of_the_champion.h
rename : src/server/scripts/Northrend/FrozenHalls/forge_of_souls/boss_bronjahm.cpp => src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp
rename : src/server/scripts/Northrend/FrozenHalls/forge_of_souls/boss_devourer_of_souls.cpp => src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_devourer_of_souls.cpp
rename : src/server/scripts/Northrend/FrozenHalls/forge_of_souls/forge_of_souls.cpp => src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.cpp
rename : src/server/scripts/Northrend/FrozenHalls/forge_of_souls/forge_of_souls.h => src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/forge_of_souls.h
rename : src/server/scripts/Northrend/FrozenHalls/forge_of_souls/instance_forge_of_souls.cpp => src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp
rename : src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/boss_falric.cpp => src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_falric.cpp
rename : src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/boss_marwyn.cpp => src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/boss_marwyn.cpp
rename : src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/halls_of_reflection.cpp => src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.cpp
rename : src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/halls_of_reflection.h => src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
rename : src/server/scripts/Northrend/FrozenHalls/halls_of_reflection/instance_halls_of_reflection.cpp => src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp
rename : src/server/scripts/Northrend/FrozenHalls/pit_of_saron/boss_forgemaster_garfrost.cpp => src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
rename : src/server/scripts/Northrend/FrozenHalls/pit_of_saron/boss_krickandick.cpp => src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp
rename : src/server/scripts/Northrend/FrozenHalls/pit_of_saron/boss_scourgelord_tyrannus.cpp => src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp
rename : src/server/scripts/Northrend/FrozenHalls/pit_of_saron/instance_pit_of_saron.cpp => src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp
rename : src/server/scripts/Northrend/FrozenHalls/pit_of_saron/pit_of_saron.cpp => src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
rename : src/server/scripts/Northrend/FrozenHalls/pit_of_saron/pit_of_saron.h => src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.h
rename : src/server/scripts/Northrend/TheNexus/eye_of_eternity/boss_malygos.cpp => src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
rename : src/server/scripts/Northrend/TheNexus/eye_of_eternity/eye_of_eternity.h => src/server/scripts/Northrend/Nexus/EyeOfEternity/eye_of_eternity.h
rename : src/server/scripts/Northrend/TheNexus/eye_of_eternity/instance_eye_of_eternity.cpp => src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/boss_anomalus.cpp => src/server/scripts/Northrend/Nexus/Nexus/boss_anomalus.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/boss_keristrasza.cpp => src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/boss_magus_telestra.cpp => src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/boss_ormorok.cpp => src/server/scripts/Northrend/Nexus/Nexus/boss_ormorok.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/commander_kolurg.cpp => src/server/scripts/Northrend/Nexus/Nexus/commander_kolurg.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/commander_stoutbeard.cpp => src/server/scripts/Northrend/Nexus/Nexus/commander_stoutbeard.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/instance_nexus.cpp => src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp
rename : src/server/scripts/Northrend/TheNexus/nexus/nexus.h => src/server/scripts/Northrend/Nexus/Nexus/nexus.h
rename : src/server/scripts/Northrend/TheNexus/oculus/boss_drakos.cpp => src/server/scripts/Northrend/Nexus/Oculus/boss_drakos.cpp
rename : src/server/scripts/Northrend/TheNexus/oculus/boss_eregos.cpp => src/server/scripts/Northrend/Nexus/Oculus/boss_eregos.cpp
rename : src/server/scripts/Northrend/TheNexus/oculus/boss_urom.cpp => src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
rename : src/server/scripts/Northrend/TheNexus/oculus/boss_varos.cpp => src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
rename : src/server/scripts/Northrend/TheNexus/oculus/instance_oculus.cpp => src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
rename : src/server/scripts/Northrend/TheNexus/oculus/oculus.cpp => src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
rename : src/server/scripts/Northrend/TheNexus/oculus/oculus.h => src/server/scripts/Northrend/Nexus/Oculus/oculus.h
rename : src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_bjarngrim.cpp => src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_bjarngrim.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_ionar.cpp => src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_ionar.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_loken.cpp => src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_loken.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_lightning/boss_volkhan.cpp => src/server/scripts/Northrend/Ulduar/HallsOfLightning/boss_volkhan.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_lightning/halls_of_lightning.h => src/server/scripts/Northrend/Ulduar/HallsOfLightning/halls_of_lightning.h
rename : src/server/scripts/Northrend/Ulduar/halls_of_lightning/instance_halls_of_lightning.cpp => src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_stone/boss_krystallus.cpp => src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_krystallus.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_stone/boss_maiden_of_grief.cpp => src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_maiden_of_grief.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_stone/boss_sjonnir.cpp => src/server/scripts/Northrend/Ulduar/HallsOfStone/boss_sjonnir.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_stone/halls_of_stone.cpp => src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.cpp
rename : src/server/scripts/Northrend/Ulduar/halls_of_stone/halls_of_stone.h => src/server/scripts/Northrend/Ulduar/HallsOfStone/halls_of_stone.h
rename : src/server/scripts/Northrend/Ulduar/halls_of_stone/instance_halls_of_stone.cpp => src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/boss_ingvar_the_plunderer.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_ingvar_the_plunderer.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/boss_keleseth.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_keleseth.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/boss_skarvald_dalronn.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/instance_utgarde_keep.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/utgarde_keep.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_keep/utgarde_keep.h => src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/utgarde_keep.h
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_palehoof.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_palehoof.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_skadi.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_svala.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/boss_ymiron.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/instance_pinnacle.cpp => src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_pinnacle.cpp
rename : src/server/scripts/Northrend/UtgardeKeep/utgarde_pinnacle/utgarde_pinnacle.h => src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/utgarde_pinnacle.h
rename : src/server/scripts/Outland/Auchindoun/auchenai_crypts/boss_exarch_maladaar.cpp => src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_exarch_maladaar.cpp
rename : src/server/scripts/Outland/Auchindoun/auchenai_crypts/boss_shirrak_the_dead_watcher.cpp => src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/boss_shirrak_the_dead_watcher.cpp
rename : src/server/scripts/Outland/Auchindoun/mana_tombs/boss_nexusprince_shaffar.cpp => src/server/scripts/Outland/Auchindoun/ManaTombs/boss_nexusprince_shaffar.cpp
rename : src/server/scripts/Outland/Auchindoun/mana_tombs/boss_pandemonius.cpp => src/server/scripts/Outland/Auchindoun/ManaTombs/boss_pandemonius.cpp
rename : src/server/scripts/Outland/Auchindoun/sethekk_halls/boss_darkweaver_syth.cpp => src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_darkweaver_syth.cpp
rename : src/server/scripts/Outland/Auchindoun/sethekk_halls/boss_tailonking_ikiss.cpp => src/server/scripts/Outland/Auchindoun/SethekkHalls/boss_tailonking_ikiss.cpp
rename : src/server/scripts/Outland/Auchindoun/sethekk_halls/instance_sethekk_halls.cpp => src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp
rename : src/server/scripts/Outland/Auchindoun/sethekk_halls/sethekk_halls.h => src/server/scripts/Outland/Auchindoun/SethekkHalls/sethekk_halls.h
rename : src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp => src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_ambassador_hellmaw.cpp
rename : src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp => src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_blackheart_the_inciter.cpp
rename : src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp => src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_grandmaster_vorpil.cpp
rename : src/server/scripts/Outland/Auchindoun/shadow_labyrinth/boss_murmur.cpp => src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/boss_murmur.cpp
rename : src/server/scripts/Outland/Auchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp => src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp
rename : src/server/scripts/Outland/Auchindoun/shadow_labyrinth/shadow_labyrinth.h => src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/shadow_labyrinth.h
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_fathomlord_karathress.cpp => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_fathomlord_karathress.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_hydross_the_unstable.cpp => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_hydross_the_unstable.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_lady_vashj.cpp => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_leotheras_the_blind.cpp => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_leotheras_the_blind.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_lurker_below.cpp => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lurker_below.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/boss_morogrim_tidewalker.cpp => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_morogrim_tidewalker.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/instance_serpent_shrine.cpp => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/serpent_shrine/serpent_shrine.h => src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/serpent_shrine.h
rename : src/server/scripts/Outland/CoilfangReservoir/steam_vault/boss_hydromancer_thespia.cpp => src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_hydromancer_thespia.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/steam_vault/boss_mekgineer_steamrigger.cpp => src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_mekgineer_steamrigger.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/steam_vault/boss_warlord_kalithresh.cpp => src/server/scripts/Outland/CoilfangReservoir/SteamVault/boss_warlord_kalithresh.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/steam_vault/instance_steam_vault.cpp => src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp
rename : src/server/scripts/Outland/CoilfangReservoir/steam_vault/steam_vault.h => src/server/scripts/Outland/CoilfangReservoir/SteamVault/steam_vault.h
rename : src/server/scripts/Outland/HellfireCitadel/blood_furnace/blood_furnace.h => src/server/scripts/Outland/HellfireCitadel/BloodFurnace/blood_furnace.h
rename : src/server/scripts/Outland/HellfireCitadel/blood_furnace/boss_broggok.cpp => src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_broggok.cpp
rename : src/server/scripts/Outland/HellfireCitadel/blood_furnace/boss_kelidan_the_breaker.cpp => src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_kelidan_the_breaker.cpp
rename : src/server/scripts/Outland/HellfireCitadel/blood_furnace/boss_the_maker.cpp => src/server/scripts/Outland/HellfireCitadel/BloodFurnace/boss_the_maker.cpp
rename : src/server/scripts/Outland/HellfireCitadel/blood_furnace/instance_blood_furnace.cpp => src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
rename : src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/boss_omor_the_unscarred.cpp => src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_omor_the_unscarred.cpp
rename : src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/boss_vazruden_the_herald.cpp => src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
rename : src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/boss_watchkeeper_gargolmar.cpp => src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_watchkeeper_gargolmar.cpp
rename : src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/hellfire_ramparts.h => src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/hellfire_ramparts.h
rename : src/server/scripts/Outland/HellfireCitadel/hellfire_ramparts/instance_hellfire_ramparts.cpp => src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
rename : src/server/scripts/Outland/HellfireCitadel/magtheridons_lair/boss_magtheridon.cpp => src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/boss_magtheridon.cpp
rename : src/server/scripts/Outland/HellfireCitadel/magtheridons_lair/instance_magtheridons_lair.cpp => src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp
rename : src/server/scripts/Outland/HellfireCitadel/magtheridons_lair/magtheridons_lair.h => src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/magtheridons_lair.h
rename : src/server/scripts/Outland/HellfireCitadel/shattered_halls/boss_nethekurse.cpp => src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_nethekurse.cpp
rename : src/server/scripts/Outland/HellfireCitadel/shattered_halls/boss_warbringer_omrogg.cpp => src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp
rename : src/server/scripts/Outland/HellfireCitadel/shattered_halls/boss_warchief_kargath_bladefist.cpp => src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
rename : src/server/scripts/Outland/HellfireCitadel/shattered_halls/instance_shattered_halls.cpp => src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
rename : src/server/scripts/Outland/HellfireCitadel/shattered_halls/shattered_halls.h => src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h
rename : src/server/scripts/Outland/TempestKeep/the_eye/boss_alar.cpp => src/server/scripts/Outland/TempestKeep/Eye/boss_alar.cpp
rename : src/server/scripts/Outland/TempestKeep/the_eye/boss_astromancer.cpp => src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp
rename : src/server/scripts/Outland/TempestKeep/the_eye/boss_kaelthas.cpp => src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp
rename : src/server/scripts/Outland/TempestKeep/the_eye/boss_void_reaver.cpp => src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp
rename : src/server/scripts/Outland/TempestKeep/the_eye/instance_the_eye.cpp => src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp
rename : src/server/scripts/Outland/TempestKeep/the_eye/the_eye.cpp => src/server/scripts/Outland/TempestKeep/Eye/the_eye.cpp
rename : src/server/scripts/Outland/TempestKeep/the_eye/the_eye.h => src/server/scripts/Outland/TempestKeep/Eye/the_eye.h
rename : src/server/scripts/Outland/TempestKeep/the_mechanar/boss_gatewatcher_gyrokill.cpp => src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_gyrokill.cpp
rename : src/server/scripts/Outland/TempestKeep/the_mechanar/boss_gatewatcher_ironhand.cpp => src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp
rename : src/server/scripts/Outland/TempestKeep/the_mechanar/boss_nethermancer_sepethrea.cpp => src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp
rename : src/server/scripts/Outland/TempestKeep/the_mechanar/boss_pathaleon_the_calculator.cpp => src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp
rename : src/server/scripts/Outland/TempestKeep/the_mechanar/instance_mechanar.cpp => src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp
rename : src/server/scripts/Outland/TempestKeep/the_mechanar/mechanar.h => src/server/scripts/Outland/TempestKeep/Mechanar/mechanar.h
rename : src/tools/vmap3_assembler/vmap_assembler.cpp => src/tools/vmap3_assembler/VMapAssembler.cpp
Diffstat (limited to 'src/server/game/CollisionDetection/BoundingIntervalHierarchy.cpp')
-rw-r--r-- | src/server/game/CollisionDetection/BoundingIntervalHierarchy.cpp | 304 |
1 files changed, 304 insertions, 0 deletions
diff --git a/src/server/game/CollisionDetection/BoundingIntervalHierarchy.cpp b/src/server/game/CollisionDetection/BoundingIntervalHierarchy.cpp new file mode 100644 index 00000000000..4bd6b3c701e --- /dev/null +++ b/src/server/game/CollisionDetection/BoundingIntervalHierarchy.cpp @@ -0,0 +1,304 @@ +/* + * Copyright (C) 2005-2010 MaNGOS <http://getmangos.com/> + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "BIH.h" + +void BIH::buildHierarchy(std::vector<uint32> &tempTree, buildData &dat, BuildStats &stats) +{ + // create space for the first node + tempTree.push_back(3 << 30); // dummy leaf + tempTree.insert(tempTree.end(), 2, 0); + //tempTree.add(0); + + // seed bbox + AABound gridBox = { bounds.low(), bounds.high() }; + AABound nodeBox = gridBox; + // seed subdivide function + subdivide(0, dat.numPrims - 1, tempTree, dat, gridBox, nodeBox, 0, 1, stats); +} + +void BIH::subdivide(int left, int right, std::vector<uint32> &tempTree, buildData &dat, AABound &gridBox, AABound &nodeBox, int nodeIndex, int depth, BuildStats &stats) +{ + if ((right - left + 1) <= dat.maxPrims || depth >= MAX_STACK_SIZE) + { + // write leaf node + stats.updateLeaf(depth, right - left + 1); + createNode(tempTree, nodeIndex, left, right); + return; + } + // calculate extents + int axis = -1, prevAxis, rightOrig; + float clipL = G3D::fnan(), clipR = G3D::fnan(), prevClip = G3D::fnan(); + float split = G3D::fnan(), prevSplit; + bool wasLeft = true; + while (true) + { + prevAxis = axis; + prevSplit = split; + // perform quick consistency checks + Vector3 d( gridBox.hi - gridBox.lo ); + if (d.x < 0 || d.y < 0 || d.z < 0) + throw std::logic_error("negative node extents"); + for (int i = 0; i < 3; i++) + { + if (nodeBox.hi[i] < gridBox.lo[i] || nodeBox.lo[i] > gridBox.hi[i]) + { + //UI.printError(Module.ACCEL, "Reached tree area in error - discarding node with: %d objects", right - left + 1); + throw std::logic_error("invalid node overlap"); + } + } + // find longest axis + axis = d.primaryAxis(); + split = 0.5f * (gridBox.lo[axis] + gridBox.hi[axis]); + // partition L/R subsets + clipL = -G3D::inf(); + clipR = G3D::inf(); + rightOrig = right; // save this for later + float nodeL = G3D::inf(); + float nodeR = -G3D::inf(); + for (int i = left; i <= right;) + { + int obj = dat.indices[i]; + float minb = dat.primBound[obj].low()[axis]; + float maxb = dat.primBound[obj].high()[axis]; + float center = (minb + maxb) * 0.5f; + if (center <= split) + { + // stay left + i++; + if (clipL < maxb) + clipL = maxb; + } + else + { + // move to the right most + int t = dat.indices[i]; + dat.indices[i] = dat.indices[right]; + dat.indices[right] = t; + right--; + if (clipR > minb) + clipR = minb; + } + nodeL = std::min(nodeL, minb); + nodeR = std::max(nodeR, maxb); + } + // check for empty space + if (nodeL > nodeBox.lo[axis] && nodeR < nodeBox.hi[axis]) + { + float nodeBoxW = nodeBox.hi[axis] - nodeBox.lo[axis]; + float nodeNewW = nodeR - nodeL; + // node box is too big compare to space occupied by primitives? + if (1.3f * nodeNewW < nodeBoxW) + { + stats.updateBVH2(); + int nextIndex = tempTree.size(); + // allocate child + tempTree.push_back(0); + tempTree.push_back(0); + tempTree.push_back(0); + // write bvh2 clip node + stats.updateInner(); + tempTree[nodeIndex + 0] = (axis << 30) | (1 << 29) | nextIndex; + tempTree[nodeIndex + 1] = floatToRawIntBits(nodeL); + tempTree[nodeIndex + 2] = floatToRawIntBits(nodeR); + // update nodebox and recurse + nodeBox.lo[axis] = nodeL; + nodeBox.hi[axis] = nodeR; + subdivide(left, rightOrig, tempTree, dat, gridBox, nodeBox, nextIndex, depth + 1, stats); + return; + } + } + // ensure we are making progress in the subdivision + if (right == rightOrig) + { + // all left + if (prevAxis == axis && prevSplit == split) { + // we are stuck here - create a leaf + stats.updateLeaf(depth, right - left + 1); + createNode(tempTree, nodeIndex, left, right); + return; + } + if (clipL <= split) { + // keep looping on left half + gridBox.hi[axis] = split; + prevClip = clipL; + wasLeft = true; + continue; + } + gridBox.hi[axis] = split; + prevClip = G3D::fnan(); + } + else if (left > right) + { + // all right + if (prevAxis == axis && prevSplit == split) { + // we are stuck here - create a leaf + stats.updateLeaf(depth, right - left + 1); + createNode(tempTree, nodeIndex, left, right); + return; + } + right = rightOrig; + if (clipR >= split) { + // keep looping on right half + gridBox.lo[axis] = split; + prevClip = clipR; + wasLeft = false; + continue; + } + gridBox.lo[axis] = split; + prevClip = G3D::fnan(); + } + else + { + // we are actually splitting stuff + if (prevAxis != -1 && !isnan(prevClip)) + { + // second time through - lets create the previous split + // since it produced empty space + int nextIndex = tempTree.size(); + // allocate child node + tempTree.push_back(0); + tempTree.push_back(0); + tempTree.push_back(0); + if (wasLeft) { + // create a node with a left child + // write leaf node + stats.updateInner(); + tempTree[nodeIndex + 0] = (prevAxis << 30) | nextIndex; + tempTree[nodeIndex + 1] = floatToRawIntBits(prevClip); + tempTree[nodeIndex + 2] = floatToRawIntBits(G3D::inf()); + } else { + // create a node with a right child + // write leaf node + stats.updateInner(); + tempTree[nodeIndex + 0] = (prevAxis << 30) | (nextIndex - 3); + tempTree[nodeIndex + 1] = floatToRawIntBits(-G3D::inf()); + tempTree[nodeIndex + 2] = floatToRawIntBits(prevClip); + } + // count stats for the unused leaf + depth++; + stats.updateLeaf(depth, 0); + // now we keep going as we are, with a new nodeIndex: + nodeIndex = nextIndex; + } + break; + } + } + // compute index of child nodes + int nextIndex = tempTree.size(); + // allocate left node + int nl = right - left + 1; + int nr = rightOrig - (right + 1) + 1; + if (nl > 0) { + tempTree.push_back(0); + tempTree.push_back(0); + tempTree.push_back(0); + } else + nextIndex -= 3; + // allocate right node + if (nr > 0) { + tempTree.push_back(0); + tempTree.push_back(0); + tempTree.push_back(0); + } + // write leaf node + stats.updateInner(); + tempTree[nodeIndex + 0] = (axis << 30) | nextIndex; + tempTree[nodeIndex + 1] = floatToRawIntBits(clipL); + tempTree[nodeIndex + 2] = floatToRawIntBits(clipR); + // prepare L/R child boxes + AABound gridBoxL(gridBox), gridBoxR(gridBox); + AABound nodeBoxL(nodeBox), nodeBoxR(nodeBox); + gridBoxL.hi[axis] = gridBoxR.lo[axis] = split; + nodeBoxL.hi[axis] = clipL; + nodeBoxR.lo[axis] = clipR; + // recurse + if (nl > 0) + subdivide(left, right, tempTree, dat, gridBoxL, nodeBoxL, nextIndex, depth + 1, stats); + else + stats.updateLeaf(depth + 1, 0); + if (nr > 0) + subdivide(right + 1, rightOrig, tempTree, dat, gridBoxR, nodeBoxR, nextIndex + 3, depth + 1, stats); + else + stats.updateLeaf(depth + 1, 0); +} + +bool BIH::writeToFile(FILE *wf) const +{ + uint32 treeSize = tree.size(); + uint32 check=0, count=0; + check += fwrite(&bounds.low(), sizeof(float), 3, wf); + check += fwrite(&bounds.high(), sizeof(float), 3, wf); + check += fwrite(&treeSize, sizeof(uint32), 1, wf); + check += fwrite(&tree[0], sizeof(uint32), treeSize, wf); + count = objects.size(); + check += fwrite(&count, sizeof(uint32), 1, wf); + check += fwrite(&objects[0], sizeof(uint32), count, wf); + return check == (3 + 3 + 2 + treeSize + count); +} + +bool BIH::readFromFile(FILE *rf) +{ + uint32 treeSize; + Vector3 lo, hi; + uint32 check=0, count=0; + check += fread(&lo, sizeof(float), 3, rf); + check += fread(&hi, sizeof(float), 3, rf); + bounds = AABox(lo, hi); + check += fread(&treeSize, sizeof(uint32), 1, rf); + tree.resize(treeSize); + check += fread(&tree[0], sizeof(uint32), treeSize, rf); + check += fread(&count, sizeof(uint32), 1, rf); + objects.resize(count); // = new uint32[nObjects]; + check += fread(&objects[0], sizeof(uint32), count, rf); + return check == (3 + 3 + 2 + treeSize + count); +} + +void BIH::BuildStats::updateLeaf(int depth, int n) +{ + numLeaves++; + minDepth = std::min(depth, minDepth); + maxDepth = std::max(depth, maxDepth); + sumDepth += depth; + minObjects = std::min(n, minObjects); + maxObjects = std::max(n, maxObjects); + sumObjects += n; + int nl = std::min(n, 5); + ++numLeavesN[nl]; +} + +void BIH::BuildStats::printStats() +{ + printf("Tree stats:\n"); + printf(" * Nodes: %d\n", numNodes); + printf(" * Leaves: %d\n", numLeaves); + printf(" * Objects: min %d\n", minObjects); + printf(" avg %.2f\n", (float) sumObjects / numLeaves); + printf(" avg(n>0) %.2f\n", (float) sumObjects / (numLeaves - numLeavesN[0])); + printf(" max %d\n", maxObjects); + printf(" * Depth: min %d\n", minDepth); + printf(" avg %.2f\n", (float) sumDepth / numLeaves); + printf(" max %d\n", maxDepth); + printf(" * Leaves w/: N=0 %3d%%\n", 100 * numLeavesN[0] / numLeaves); + printf(" N=1 %3d%%\n", 100 * numLeavesN[1] / numLeaves); + printf(" N=2 %3d%%\n", 100 * numLeavesN[2] / numLeaves); + printf(" N=3 %3d%%\n", 100 * numLeavesN[3] / numLeaves); + printf(" N=4 %3d%%\n", 100 * numLeavesN[4] / numLeaves); + printf(" N>4 %3d%%\n", 100 * numLeavesN[5] / numLeaves); + printf(" * BVH2 nodes: %d (%3d%%)\n", numBVH2, 100 * numBVH2 / (numNodes + numLeaves - 2 * numBVH2)); +} |