diff --git a/.gitignore b/.gitignore index 70a7fea..496bdc1 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ Script.pvf Yosin_Engine.pdb *.pvf sqr/.vscode/launch.json +Music/ diff --git a/Yosin_Engine.exe b/Yosin_Engine.exe index 9be64d9..f2c1566 100644 Binary files a/Yosin_Engine.exe and b/Yosin_Engine.exe differ diff --git a/sqr/User/Object/Map/MapObject.nut b/sqr/User/Object/Map/MapObject.nut index 7c1c89d..ed39fe6 100644 --- a/sqr/User/Object/Map/MapObject.nut +++ b/sqr/User/Object/Map/MapObject.nut @@ -31,6 +31,9 @@ class Map extends Actor { CameraMovableAreaX = null; CameraMovableAreaY = null; + //背景音乐 + BackGroundMusic = null; + function _typeof() { return "townmap"; } @@ -203,7 +206,7 @@ class Map extends Actor { LayerObject.bottom.Addchild(TileObj); } //默认地板 + 摄像机偏移 + 默认需要有一个40的添加地板 - m_height = 560 + 40; + m_height = 560; } //补充地板 if ("extended_tile" in m_data) { @@ -262,6 +265,8 @@ class Map extends Actor { } } + + //添加对象 function AddObject(obj, IsPlayer = false) { //角色对象 @@ -272,12 +277,21 @@ class Map extends Actor { } LayerObject.normal.Addchild(obj); obj.MySelfMap = this.weakref(); - if (IsPlayer) m_camera.SetFromParent(obj); + //如果是玩家自己 + if (IsPlayer) { + m_camera.SetFromParent(obj); + if (BackGroundMusic == null) BackGroundMusic = {}; + foreach(SoundName in m_data.sound) { + local BgMusic = Audio(getconsttable().MUSIC[SoundName]); + BgMusic.Play(); + BackGroundMusic[SoundName] <- BgMusic; + } + } } } //移动城镇的添加对象 - function AddObjectByChangeTown(obj, FromTown, FromMap) { + function AddObjectByChangeTown(obj, FromMapobj) { //角色对象 if (typeof obj == "character") { //如果已经处于某个地图中 @@ -291,7 +305,7 @@ class Map extends Actor { m_camera.SetFromParent(obj); //获取应该设置的坐标 foreach(index, info in m_data.town_movable_area_info) { - if (info.town == FromTown && info.area == FromMap) { + if (info.town == FromMapobj.m_town && info.area == FromMapobj.m_mapId) { local pos = { x = m_data.town_movable_area[index * 4] + m_data.town_movable_area[index * 4 + 2] / 2, y = m_data.town_movable_area[index * 4 + 1] + m_data.town_movable_area[index * 4 + 3] / 2, @@ -310,6 +324,31 @@ class Map extends Actor { Stage.Addchild(this); //添加全局 GlobalTownManager.CurrentTown = this.weakref(); + + + //背景音乐处理 + BackGroundMusic = {}; + if (FromMapobj.BackGroundMusic != null) { + //把老地图的音频先获取过来 + foreach(SoundName, Music in FromMapobj.BackGroundMusic) { + //如果有背景音乐是新地图存在的 就添加 + if (this.m_data.sound.find(SoundName) != null) { + BackGroundMusic[SoundName] <- Music; + } + } + //销毁老地图的音频列表 + FromMapobj.BackGroundMusic = null; + + //检查当前地图的背景音乐 + foreach(SoundName in this.m_data.sound) { + //如果有一个背景音乐是新地图不存在的 就停止播放 + if (!(BackGroundMusic.rawin(SoundName))) { + local BgMusic = Audio(getconsttable().MUSIC[SoundName]); + BgMusic.Play(); + BackGroundMusic[SoundName] <- BgMusic; + } + } + } } } @@ -337,7 +376,7 @@ class Map extends Actor { //设置摄像机的最大可行区域 m_camera.MovableAreaX = m_length; - m_camera.MovableAreaY = m_height; + m_camera.MovableAreaY = m_height - m_data.wide_mode_camer_vertical_correction; m_camera.BackgroundOffset = m_data.background_pos; @@ -393,7 +432,7 @@ class Map extends Actor { Town(info.town); } local MapObj = GlobalTownManager.TownList[info.town].map[info.area]; - MapObj.AddObjectByChangeTown(obj, m_town, m_mapId); + MapObj.AddObjectByChangeTown(obj, this); obj.TransmitFlag = true; } } else { @@ -401,10 +440,20 @@ class Map extends Actor { } } + //音乐逻辑 + function MusicLogic() { + if (BackGroundMusic == null) return; + foreach(Music in BackGroundMusic) { + if (!Music.IsPlaying()) Music.Play(); + } + } function OnUpdate(Dt) { base.OnUpdate(Dt); //更新摄像机 m_camera.OnUpdate(Dt); + + //更新音乐逻辑 + MusicLogic(); } } \ No newline at end of file diff --git a/sqr/User/Stage/LodingStage.nut b/sqr/User/Stage/LodingStage.nut index c125475..d3d2587 100644 --- a/sqr/User/Stage/LodingStage.nut +++ b/sqr/User/Stage/LodingStage.nut @@ -10,7 +10,7 @@ function InitGame() { // MySocket("127.0.0.1", 19666); //设定全局默认音量 - _Globa_Audio_Volume_ = 0.3; + _Globa_Audio_Volume_ = 0.1; _Globa_Sound_Volume_ = 0.3; Script(); diff --git a/sqr/User/Stage/TestStage.nut b/sqr/User/Stage/TestStage.nut index 3a26436..960865a 100644 --- a/sqr/User/Stage/TestStage.nut +++ b/sqr/User/Stage/TestStage.nut @@ -17,7 +17,7 @@ function TestStage() { // local Fontobj = Font(); - local TownObj = Town(1); + local TownObj = Town(2); // local MapObj = Map("map/cataclysm/town/seria_room/elvengard.map"); diff --git a/sqr/User/_ENUM/enum_music.nut b/sqr/User/_ENUM/enum_music.nut index 25bfdab..2f2869a 100644 --- a/sqr/User/_ENUM/enum_music.nut +++ b/sqr/User/_ENUM/enum_music.nut @@ -7,6 +7,321 @@ enum MUSIC { M_CHARACTER_SELECT = "music/characterSelectStage.ogg" + + //map + M_FOREST_TOWN = "music/forest_town.ogg" + M_FOREST_02 = "music/forest02.ogg" + M_CHARACTER_SELECT = "music/characterSelectStage.ogg" + M_GRAKKARAK_01 = "music/grakkarak.ogg" + M_GRAKKARAK_BOSS = "music/grakkarak_new_boss.ogg" + M_SKYCASTLE_01 = "music/sc_01.ogg" + M_SKYCASTLE_BOSS_03 = "music/sc_b03.ogg" + M_TAVERN_01 = "music/tavern.ogg" + M_HENDONMYRE = "music/hendonmyre_new.ogg" + M_WESTCOAST = "music/westcoast_new.ogg" + SERA_SHOP = "music/sera_shop.ogg" + AVATA_SHOP = "music/avata.ogg" + M_ALFHLYRA = "music/alfhlyra_new.ogg" + M_UNDERFOOT = "music/underfoot.ogg" + M_SHALLOWKEEP = "music/shallow_keep.ogg" + M_SHALLOWKEEP_BOSS = "music/shallow_keep_b01.ogg" + M_OCEAN = "music/mocean.ogg" + FLOAT_CASTLE = "music/float_castle.ogg" + GRENSELOS_BATTLE_01 = "music/grenselos_battle.ogg" + GRENSELOS_READY = "music/grenselos_ready.ogg" + GRENSELOS_TRUCE = "music/grenselos_truce.ogg" + M_KINGS_RUINS = "music/kings_ruins.ogg" + M_MAGMA_CAVE = "music/magma_cave.ogg" + M_VILMARK = "music/vilmark.ogg" + M_VILMARK_BOSS = "music/vilmark_boss.ogg" + M_DARKELF_BOSS = "music/darkelf_boss.ogg" + DARKELF_AMB = "music/darkelf_amb.ogg" + M_CHARNAKRIDGE_BOSS = "music/charnakridge_boss.ogg" + M_CHARNAKRIDGE = "music/charnakridge.ogg" + M_STORMPASS = "music/storm_pass.ogg" + M_COLD_BOY = "music/cold_boy.ogg" + M_BLOODHELL = "music/bloodhell.ogg" + M_BLOODHELL_BOSS = "music/bloodhell_boss.ogg" + M_HELLMONSTER = "music/hellmonster.ogg" + M_THIEF = "music/thief.ogg" + M_THIEF_BOSS = "music/thief_boss.ogg" + M_HAMELN = "music/hameln.ogg" + M_HAMELN_BOSS = "music/hameln_boss.ogg" + M_TUTORIAL = "music/intro.ogg" + M_UNDERFOOT_ENTER = "music/underfoot_enterence.ogg" + M_UNDERFOOT_ENTER_BOSS = "music/underfoot_enterence_boss.ogg" + M_SCREAMING_CAVE = "music/screaming_cave.ogg" + M_SCREAMING_CAVE_BOSS = "music/screaming_cave_boss.ogg" + M_TOWN_GHOST = "music/town_ghost.ogg" + M_TOWN_PVP = "music/town_pvp.ogg" + M_EVILSPIRIT = "music/evilspirit.ogg" + M_EVILTOWER_01 = "music/eviltower_01.ogg" + M_EVILTOWER_02 = "music/eviltower_02.ogg" + M_DRACONIAN_TOWER = "music/draconian_tower.ogg" + M_DRACONIAN_TOWER_BOSS = "music/draconian_tower_boss.ogg" + M_HALL_OF_DOLL = "music/hall_of_doll.ogg" + M_HALL_OF_DOLL_BOSS = "music/hall_of_doll_boss.ogg" + M_GOLEM_TOWER = "music/golem_tower.ogg" + M_GOLEM_TOWER_BOSS = "music/golem_tower_boss.ogg" + M_DARKNESS_ENTER = "music/darkness_enter.ogg" + M_DARKNESS_ENTER_BOSS = "music/darkness_enter_boss.ogg" + M_PALACE_OF_LOAD = "music/palace_of_load.ogg" + M_PALACE_OF_LOAD_BOSS = "music/palace_of_load_boss.ogg" + M_PURGATORY = "music/purgatory.ogg" + M_SHADOW_MAZE = "music/shadow_maze.ogg" + M_SHADOW_MAZE_BOSS = "music/shadow_maze_boss.ogg" + M_CAROL_SHOP = "music/carol_shop.ogg" + M_CAROL_GATE = "music/carol_gate.ogg" + M_BEHEMOTH_BOSS_01_1 = "music/behemoth_b01_1.ogg" + M_ILLUSIONTOWER = "music/illusiontower.ogg" + M_ICEPALACE = "music/icepalace.ogg" + M_ICEPALACE_BOSS = "music/icepalace_boss.ogg" + M_SKASA = "music/skasa.ogg" + M_SKASA_BOSS = "music/skasa_boss.ogg" + M_RIKU_CAVE = "music/riku_cave.ogg" + M_RIKU_BOSS = "music/riku_boss.ogg" + M_GBLARAD = "music/GBLarad.ogg" + M_GBLARAD_BOSS = "music/GBLarad_boss.ogg" + M_GENTGATE = "music/gentgate.ogg" + M_GENTGATE_BOSS = "music/gentgate_boss.ogg" + M_GENTGATE_OUTSIDE = "music/gentgate_outside.ogg" + M_GENTGATE_OUTSIDE_BOSS = "music/gentgate_outside_boss.ogg" + M_SKYSTAIR = "music/gent.ogg" + M_TEMP_MAGEE = "music/temp_mcgee.ogg" + M_TEMP_ODESA = "music/odesa_new.ogg" + M_ODESA_BOSS = "music/odesa_boss_new.ogg" + M_GROZNY_BOSS = "music/grozny_boss_new.ogg" + M_BWANGA = "music/bwanga.ogg" + M_BWANGA_BOSS = "music/bwanga_boss.ogg" + M_AGANZO = "music/aganzo.ogg" + M_AGANZO_BOSS = "music/aganzo_boss.ogg" + M_GSEEKER01 = "music/Gseeker01.ogg" + M_GSEEKER01_BOSS = "music/Gseeker01_boss.ogg" + M_SERASHOP_NEW = "music/sera_shop_new.ogg" + M_CHARACTER_SELECT_NEW = "music/characterSelectStage_new.ogg" + M_GATE_NEW = "music/gate_new.ogg" + M_FOREST_01_NEW = "music/forest01_new.ogg" + M_CAROL_ROCK = "music/carol_rock.ogg" + M_NPERA = "music/Npera.ogg" + M_NPERA_BOSS = "music/Npera_boss.ogg" + M_JOB_GUIDE = "music/job_guide.ogg" + M_BATTLE_FESTA_01 = "music/Battle_Festa_01.ogg" + M_BATTLE_FESTA_02 = "music/Battle_Festa_02.ogg" + M_BATTLE_FESTA_WAITING = "music/Battle_Festa_waiting.ogg" + M_BLOODTOWER_01 = "music/Bloodtower_01.ogg" + M_BLOODTOWER_02 = "music/Bloodtower_02.ogg" + M_BLOODTOWER_03 = "music/Bloodtower_03.ogg" + M_GUILD_AGIT = "music/Guild_agit.ogg" + M_BATTLE_FESTA_LOADING = "music/Battle_Festa_loading.ogg" + M_VDEFENCE = "music/vdefence.ogg" + M_INTERCEPTION = "music/interception.ogg" + M_INTERCEPTION_BOSS = "music/interception_boss.ogg" + M_NIGHTATTACK = "music/nightattack.ogg" + M_NIGHTATTACK_BOSS = "music/nightattack_boss.ogg" + M_PURSUIT = "music/pursuit.ogg" + M_PURSUIT_BOSS = "music/pursuit_boss.ogg" + M_BLOODBUTTERFLY = "music/bloodbutterfly.ogg" + M_BLOODBUTTERFLY_BOSS = "music/bloodbutterfly_boss.ogg" + M_PIRATE = "music/pirate.ogg" + M_PIRATE_BOSS = "music/pirate_boss.ogg" + M_SEATRAIN = "music/seatrain.ogg" + M_SEATRAIN_BOSS = "music/seatrain_boss.ogg" + M_SEATRAIN_KONG = "music/seatrain_kong.ogg" + M_SUSPICION = "music/suspicion.ogg" + M_SUSPICION_BOSS = "music/suspicion_boss.ogg" + M_LUFTHAFEN = "music/lufthafen.ogg" + M_MIRKWOOD = "music/mirkwood.ogg" + M_MIRKWOOD_BOSS = "music/mirkwood_boss.ogg" + M_SUNDERLAND = "music/sunderland.ogg" + M_SUNDERLAND_BOSS = "music/sunderland_boss.ogg" + M_GRAKKARAK = "music/grakkarak_new.ogg" + M_EVENTBGM = "music/eventBGM.ogg" + M_GHOSTTRAIN = "music/ghost_train.ogg" + M_GHOSTTRAIN_BOSS = "music/ghost_train_boss.ogg" + M_LESHPHON = "music/leshphon.ogg" + M_LESHPHON_BOSS = "music/leshphon_boss.ogg" + M_PVP_BWANGA = "music/pvp_bwanga.ogg" + M_PVP_COUNTER = "music/pvp_counter.ogg" + M_PVP_ODESA = "music/pvp_odesa.ogg" + M_PVP_PUB = "music/pvp_pub.ogg" + M_PVP_TOWER = "music/pvp_tower.ogg" + M_PVP_PRACTICE = "music/pvp_practice.ogg" + M_GENTGATE_NORTH = "music/gentgate_north.ogg" + M_GENTGATE_NORTH_BOSS = "music/gentgate_north_boss.ogg" + M_GENTGATE_DEFENCE = "music/gentgate_defence.ogg" + M_GENTGATE_DEFENCE_BOSS = "music/gentgate_defence_boss.ogg" + M_OUTER_TEMPLE = "music/outer_temple.ogg" + M_DENDROID = "music/dendroid.ogg" + M_PURGATORY_BOSS = "music/purgatory_boss.ogg" + M_WHITENIGHT = "music/whitenight.ogg" + M_WHITENIGHT_BOSS = "music/whitenight_boss.ogg" + M_1ST_SPINE = "music/1st_spine.ogg" + M_1ST_SPINE_BOSS = "music/1st_spine_boss.ogg" + M_2ND_SPINE = "music/2nd_spine.ogg" + M_2ND_SPINE_BOSS = "music/2nd_spine_boss.ogg" + M_SPIDER = "music/spider.ogg" + M_SPIDER_BOSS = "music/spider_boss.ogg" + M_WHITELAND = "music/whiteland.ogg" + M_WHITELAND_BOSS = "music/whiteland_boss.ogg" + M_GENTGATE_EAST = "music/gentgate_east.ogg" + M_GENTGATE_EAST_BOSS = "music/gentgate_east_boss.ogg" + M_GBLARAD_LAB = "music/GBLarad_lab.ogg" + M_GBLARAD_LAB_BOSS = "music/GBLarad_lab_boss.ogg" + M_GBLARAD_HATCHERY = "music/GBLarad_hatchery.ogg" + M_GBLARAD_HATCHERY_BOSS = "music/GBLarad_hatchery_boss.ogg" + M_ARDEN = "music/arden.ogg" + M_ARDEN_BOSS = "music/arden_boss.ogg" + M_BREEDING_PLACE = "music/breeding_place.ogg" + M_BREEDING_PLACE_BOSS = "music/breeding_place_boss.ogg" + M_GODDESS_TEMPLE = "music/goddess_temple.ogg" + M_GODDESS_TEMPLE_BOSS = "music/goddess_temple_boss.ogg" + M_HAZE = "music/haze.ogg" + M_HAZE_BOSS = "music/haze_boss.ogg" + M_SHONAN = "music/shonan.ogg" + M_TOURNAMENT_READY = "music/tournament_ready.ogg" + M_TOURNAMENT_STAGE_01 = "music/tournament_stage_01.ogg" + M_TOURNAMENT_STAGE_02 = "music/tournament_stage_02.ogg" + M_GBLKINGDOM = "music/gblkingdom.ogg" + M_GBLKINGDOM_BOSS = "music/gblkingdom_boss.ogg" + M_SKYCASTLE = "music/skycastle.ogg" + M_SKYCASTLE_BOSS = "music/skycastle_boss.ogg" + M_SQUADWAR = "music/squadwar.ogg" + M_SQUADWAR_BOSS = "music/squadwar_boss.ogg" + M_BAKALCASTLE = "music/bakalcastle.ogg" + M_BAKALCASTLE_BOSS_INTRO = "music/bakalcastle_intro.ogg" + M_BAKALCASTLE_BOSS = "music/bakalcastle_boss.ogg" + M_BLACKEARTH = "music/blackearth.ogg" + M_BLACKEARTH_NAMED = "music/blackearth_named.ogg" + M_BLACKEARTH_BOSS = "music/blackearth_boss.ogg" + M_DIMENSIONSPACE = "music/dimensionspace.ogg" + M_DIMENSIONSPACE_BOSS = "music/dimensionspace_boss.ogg" + M_TIMEGATE = "music/timegate.ogg" + M_NOBLE_SKY = "music/noble_sky.ogg" + M_T_CONFLAGRATION = "music/t_chaos_begin(conflagration).ogg" + M_T_CONFLAGRATION_BOSS = "music/t_rage(conflagration_boss).ogg" + M_T_EPIDEMIC = "music/t_land_of_darkness(epidemic).ogg" + M_T_EPIDEMIC_BOSS = "music/t_skull_knight(epidemic_boss).ogg" + M_T_CARTEL = "music/t_we_are_desperado(cartel).ogg" + M_T_CARTEL_BOSS = "music/t_adios_verrickt(cartel_boss).ogg" + M_T_B_CHURCH = "music/t_black_holy_war(b_church).ogg" + M_T_B_CHURCH_BOSS = "music/t_out_of_control(b_church_boss).ogg" + M_T_S_AREA = "music/t_failed_metastasis(s_area).ogg" + M_T_S_AREA_BOSS = "music/t_the_kerberos(s_area_boss).ogg" + M_T_OLD_SCAVE = "music/t_conspiracy(old_scave).ogg" + M_T_OLD_SCAVE_BOSS = "music/t_confrontation(old_scave_boss).ogg" + M_T_BEGINNING = "music/t_three_dragons(beginning).ogg" + M_T_BEGINNING_BOSS = "music/t_young_skasa(beginning_boss).ogg" + M_T_CONSCIOUSNESS = "music/t_iris_song.ogg" + M_T_CONSCIOUSNESS_BOSS = "music/t_consciousness.ogg" + M_T_QUEST_THEME = "music/t_quest_theme.ogg" + M_CARTEL_HEADQUATER = "music/cartel_headquater.ogg" + M_CARTEL_HEADQUATER_BOSS = "music/cartel_headquater_boss.ogg" + M_CARTEL_JUMP_DOWN = "music/cartel_jump_down.ogg" + M_SLOUGH_INDUSTRIAL = "music/slough_industrial.ogg" + M_FRUZ = "music/fruz.ogg" + M_FRUZ_BOSS = "music/fruz_boss.ogg" + M_GRANDINE = "music/grandine.ogg" + M_GRANDINE_BOSS = "music/grandine_boss.ogg" + M_KOHLE = "music/kohle.ogg" + M_KOHLE_BOSS = "music/kohle_boss.ogg" + M_TROMBE = "music/trombe.ogg" + M_TROMBE_BOSS = "music/trombe_boss.ogg" + M_DESPAIR_TOWER_UNDER = "music/despair_tower_under.ogg" + M_DESPAIR_TOWER_TOP = "music/despair_tower_top.ogg" + M_LARGUS_01 = "music/largus_01.ogg" + M_LARGUS_02 = "music/largus_02.ogg" + M_SAINT_HORN = "music/saint_horn.ogg" + M_HENDON_CITYHALL = "music/hendon_cityhall.ogg" + M_ROLLING_STONE = "music/black_stone.ogg" + M_ROLLING_STONE_BOSS = "music/black_stone_boss.ogg" + M_BLACK_STONE = "music/black_stone.ogg" + M_BLACK_STONE_BOSS = "music/black_stone_boss.ogg" + M_RED_STONE = "music/red_stone.ogg" + M_RED_STONE_BOSS = "music/red_stone_boss.ogg" + M_STREET_BATTLE = "music/street_battle.ogg" + M_STREET_BATTLE_BOSS = "music/street_battle_boss.ogg" + M_EMPIRE_REMPART = "music/empire_rempart.ogg" + M_PVP_AREA = "music/pvp_area.ogg" + M_PVP_GATE = "music/pvp_gate.ogg" + M_AD_ALTAR_BOSS = "music/ad_altar_boss.ogg" + M_AD_ALTAR_HUGEWAVE = "music/ad_altar_hugewave.ogg" + M_AD_ALTAR_NORMAL = "music/ad_altar_normal.ogg" + M_SHONAN_OUTSIDE = "music/shonan_outside.ogg" + M_NEN_AREA = "music/nen_area.ogg" + M_NEN_AREA_BOSS = "music/nen_area_boss.ogg" + M_IN_CAVE = "music/in_cave.ogg" + M_IN_CAVE_BOSS = "music/in_cave_boss.ogg" + M_THE_NEST_OF_NEITRAM = "music/the_nest_of_neitram.ogg" + M_HELIX_LAB = "music/helix_lab.ogg" + M_HELIX_LAB_TRAP = "music/helix_lab_trap.ogg" + M_HELIX_LAB_BOSS = "music/helix_lab_boss.ogg" + M_CHURCH = "music/church.ogg" + + + //AMB + AMB_CAVE_01 = "music/amb_cave_01.ogg" + AMB_CAVE_02 = "music/amb_cave_02.ogg" + AMB_MAZE = "music/amb_maze.ogg" + AMB_DARKSTAGE_01 = "music/amb_darkstage_01.ogg" + AMB_DARKSTAGE_02 = "music/amb_darkstage_02.ogg" + AMB_DIMENSION_01 = "music/amb_dimension_01.ogg" + AMB_EVILTOWER_BASIC = "music/amb_eviltower_basic.ogg" + AMB_FOREST_01 = "music/amb_forest_01.ogg" + AMB_FOREST_02 = "music/amb_forest_02.ogg" + AMB_FOREST_03 = "music/amb_forest_03.ogg" + AMB_FOREST_04 = "music/amb_forest_04.ogg" + AMB_INSIDE_01 = "music/amb_inside_01.ogg" + AMB_PUB_01 = "music/amb_pub_01.ogg" + AMB_RAIN_01 = "music/amb_rain_01.ogg" + AMB_RAIN_02 = "music/amb_rain_02.ogg" + AMB_RAIN_03 = "music/amb_rain_03.ogg" + AMB_SNOWCAVE_01 = "music/amb_snowcave_01.ogg" + AMB_SNOWWIND_01 = "music/amb_snowwind_01.ogg" + AMB_SNOWWIND_02 = "music/amb_snowwind_02.ogg" + AMB_THUNDER_01 = "music/amb_thunder_01.ogg" + AMB_THUNDER_02 = "music/amb_thunder_02.ogg" + AMB_TOWN_01 = "music/amb_town_01.ogg" + AMB_TOWN_02 = "music/amb_town_02.ogg" + AMB_TOWN_03 = "music/amb_town_03.ogg" + AMB_TRAIN_01 = "music/amb_train_01.ogg" + AMB_TRAIN_02 = "music/amb_train_02.ogg" + AMB_TOWN_DARK_01 = "music/amb_town_dark_01.ogg" + AMB_TOWN_DARK_02 = "music/amb_town_dark_02.ogg" + AMB_TOWN_DARK_03 = "music/amb_town_dark_03.ogg" + AMB_TOWN_DARK_04 = "music/amb_town_dark_04.ogg" + AMB_VISCERAL_01 = "music/amb_visceral_01.ogg" + AMB_WAR_01 = "music/amb_war_01.ogg" + AMB_WAR_02 = "music/amb_war_02.ogg" + AMB_WATER_01 = "music/amb_water_01.ogg" + AMB_WIND_01 = "music/amb_wind_01.ogg" + AMB_WIND_02 = "music/amb_wind_02.ogg" + AMB_WIND_03 = "music/amb_wind_03.ogg" + AMB_TRAINSTATION_01 = "music/amb_trainstation_01.ogg" + AMB_PORT_01 = "music/amb_port_01.ogg" + AMB_TRAIN_03 = "music/amb_train_03.ogg" + AMB_CHURCH = "music/amb_church.ogg" + AMB_TIME_DARKCASTLE = "music/amb_time_darkcastle.ogg" + AMB_WIND_04 = "music/amb_wind_04.ogg" + AMB_TOPSECRET = "music/amb_topsecret.ogg" + AMB_WARNING = "music/amb_warning.ogg" + AMB_FOREST_05 = "music/amb_forest_05.ogg" + AMB_TIMEGATE = "music/amb_timegate.ogg" + AMB_POWERSTATION_KOHLE = "music/amb_powerstation_kohle.ogg" + AMB_POWERSTATION_FRUZ = "music/amb_powerstation_fruz.ogg" + AMB_POWERSTATION_TROMBE = "music/amb_powerstation_trombe.ogg" + AMB_POWERSTATION_GRANDINE = "music/amb_powerstation_grandine.ogg" + AMB_RIDER = "music/amb_rider.ogg" + AMB_ZOMBIE_VIRUS = "music/amb_zombie_virus.ogg" + AMB_PRISON = "music/amb_prison.ogg" + AMB_FOREST_06 = "music/amb_forest_06.ogg" + AMB_WIND_05 = "music/amb_wind_05.ogg" + AMB_FIRE = "music/amb_fire.ogg" + AMB_CAVE_03 = "music/amb_cave_03.ogg" + AMB_MINE = "music/amb_mine.ogg" + AMB_UNDERGROUND = "music/amb_underground.ogg" + AMB_FOUNTAIN = "music/amb_fountain.ogg" + AMB_PORT_IN_RUINS = "music/amb_port_in_ruins.ogg" + AMB_TREASURE = "music/amb_treasure.ogg" } enum SOUND {