Merge pull request #9942 from RavingManiac/dev

Sound environment revamp
This commit is contained in:
Chinsky
2015-08-20 19:47:09 +03:00
5 changed files with 125 additions and 8 deletions

View File

@@ -52,7 +52,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
var/air_doors_activated = 0
var/list/ambience = list('sound/ambience/ambigen1.ogg','sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg','sound/ambience/ambigen14.ogg')
var/list/forced_ambience = null
var/sound_env = 2 //reverb preset for sounds played in this area, see sound datum reference for more
var/sound_env = STANDARD_STATION
/*Adding a wizard area teleport list because motherfucking lag -- Urist*/
/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/
var/list/teleportlocs = list()
@@ -142,6 +142,7 @@ area/space/atmosalert()
/area/shuttle
requires_power = 0
sound_env = SMALL_ENCLOSED
/area/shuttle/arrival
name = "\improper Arrival Shuttle"
@@ -397,15 +398,18 @@ area/space/atmosalert()
name = "\improper Moon"
icon_state = "asteroid"
requires_power = 0
sound_env = ASTEROID
/area/asteroid/cave // -- TLE
name = "\improper Moon - Underground"
icon_state = "cave"
requires_power = 0
sound_env = ASTEROID
/area/asteroid/artifactroom
name = "\improper Moon - Artifact"
icon_state = "cave"
sound_env = SMALL_ENCLOSED
@@ -431,6 +435,7 @@ area/space/atmosalert()
icon_state = "thunder"
requires_power = 0
lighting_use_dynamic = 0
sound_env = ARENA
/area/tdome/tdome1
name = "\improper Thunderdome (Team 1)"
@@ -635,6 +640,7 @@ area/space/atmosalert()
/area/maintenance
flags = RAD_SHIELDED
sound_env = TUNNEL_ENCLOSED
/area/maintenance/aft
name = "Aft Maintenance"
@@ -769,6 +775,7 @@ area/space/atmosalert()
/area/maintenance/substation
name = "Substation"
icon_state = "substation"
sound_env = SMALL_ENCLOSED
/area/maintenance/substation/engineering // Probably will be connected to engineering SMES room, as wires cannot be crossed properly without them sharing powernets.
name = "Engineering Substation"
@@ -801,7 +808,7 @@ area/space/atmosalert()
//Hallway
/area/hallway/primary/
sound_env = 12 //hallway
sound_env = LARGE_ENCLOSED
/area/hallway/primary/fore
name = "\improper Fore Primary Hallway"
@@ -866,10 +873,12 @@ area/space/atmosalert()
name = "\improper Heads of Staff Meeting Room"
icon_state = "bridge"
music = null
sound_env = MEDIUM_SOFTFLOOR
/area/crew_quarters/captain
name = "\improper Command - Captain's Office"
icon_state = "captain"
sound_env = MEDIUM_SOFTFLOOR
/area/crew_quarters/heads/hop
name = "\improper Command - HoP's Office"
@@ -917,6 +926,7 @@ area/space/atmosalert()
/area/crew_quarters/toilet
name = "\improper Dormitory Toilets"
icon_state = "toilet"
sound_env = SMALL_ENCLOSED
/area/crew_quarters/sleep
name = "\improper Dormitories"
@@ -925,10 +935,12 @@ area/space/atmosalert()
/area/crew_quarters/sleep/engi_wash
name = "\improper Engineering Washroom"
icon_state = "toilet"
sound_env = SMALL_ENCLOSED
/area/crew_quarters/sleep/bedrooms
name = "\improper Dormitory Bedroom One"
icon_state = "Sleep"
sound_env = SMALL_SOFTFLOOR
/area/crew_quarters/sleep/cryo
name = "\improper Cryogenic Storage"
@@ -941,6 +953,7 @@ area/space/atmosalert()
/area/crew_quarters/sleep_male/toilet_male
name = "\improper Male Toilets"
icon_state = "toilet"
sound_env = SMALL_ENCLOSED
/area/crew_quarters/sleep_female
name = "\improper Female Dorm"
@@ -949,6 +962,7 @@ area/space/atmosalert()
/area/crew_quarters/sleep_female/toilet_female
name = "\improper Female Toilets"
icon_state = "toilet"
sound_env = SMALL_ENCLOSED
/area/crew_quarters/locker
name = "\improper Locker Room"
@@ -957,6 +971,7 @@ area/space/atmosalert()
/area/crew_quarters/locker/locker_toilet
name = "\improper Locker Toilets"
icon_state = "toilet"
sound_env = SMALL_ENCLOSED
/area/crew_quarters/fitness
name = "\improper Fitness Room"
@@ -973,19 +988,23 @@ area/space/atmosalert()
/area/crew_quarters/bar
name = "\improper Bar"
icon_state = "bar"
sound_env = LARGE_SOFTFLOOR
/area/crew_quarters/theatre
name = "\improper Theatre"
icon_state = "Theatre"
sound_env = LARGE_SOFTFLOOR
/area/library
name = "\improper Library"
icon_state = "library"
sound_env = LARGE_SOFTFLOOR
/area/chapel/main
name = "\improper Chapel"
icon_state = "chapel"
ambience = list('sound/ambience/ambicha1.ogg','sound/ambience/ambicha2.ogg','sound/ambience/ambicha3.ogg','sound/ambience/ambicha4.ogg','sound/music/traitor.ogg')
sound_env = LARGE_ENCLOSED
/area/chapel/office
name = "\improper Chapel Office"
@@ -1002,6 +1021,7 @@ area/space/atmosalert()
name = "\improper Holodeck"
icon_state = "Holodeck"
lighting_use_dynamic = 0
sound_env = LARGE_ENCLOSED
/area/holodeck/alphadeck
name = "\improper Holodeck Alpha"
@@ -1011,21 +1031,27 @@ area/space/atmosalert()
/area/holodeck/source_emptycourt
name = "\improper Holodeck - Empty Court"
sound_env = ARENA
/area/holodeck/source_boxingcourt
name = "\improper Holodeck - Boxing Court"
sound_env = ARENA
/area/holodeck/source_basketball
name = "\improper Holodeck - Basketball Court"
sound_env = ARENA
/area/holodeck/source_thunderdomecourt
name = "\improper Holodeck - Thunderdome Court"
sound_env = ARENA
/area/holodeck/source_courtroom
name = "\improper Holodeck - Courtroom"
sound_env = AUDITORIUM
/area/holodeck/source_beach
name = "\improper Holodeck - Beach"
sound_env = PLAIN
/area/holodeck/source_burntest
name = "\improper Holodeck - Atmospheric Burn Test"
@@ -1035,22 +1061,28 @@ area/space/atmosalert()
/area/holodeck/source_meetinghall
name = "\improper Holodeck - Meeting Hall"
sound_env = AUDITORIUM
/area/holodeck/source_theatre
name = "\improper Holodeck - Theatre"
sound_env = CONCERT_HALL
/area/holodeck/source_picnicarea
name = "\improper Holodeck - Picnic Area"
sound_env = PLAIN
/area/holodeck/source_snowfield
name = "\improper Holodeck - Snow Field"
sound_env = FOREST
/area/holodeck/source_desert
name = "\improper Holodeck - Desert"
sound_env = PLAIN
/area/holodeck/source_space
name = "\improper Holodeck - Space"
has_gravity = 0
sound_env = SPACE
//Engineering
@@ -1062,26 +1094,32 @@ area/space/atmosalert()
/area/engineering/atmos
name = "\improper Atmospherics"
icon_state = "atmos"
sound_env = LARGE_ENCLOSED
/area/engineering/atmos/monitoring
name = "\improper Atmospherics Monitoring Room"
icon_state = "atmos_monitoring"
sound_env = STANDARD_STATION
/area/engineering/atmos/storage
name = "\improper Atmospherics Storage"
icon_state = "atmos_storage"
sound_env = SMALL_ENCLOSED
/area/engineering/drone_fabrication
name = "\improper Engineering Drone Fabrication"
icon_state = "drone_fab"
sound_env = SMALL_ENCLOSED
/area/engineering/engine_smes
name = "\improper Engineering SMES"
icon_state = "engine_smes"
sound_env = SMALL_ENCLOSED
/area/engineering/engine_room
name = "\improper Engine Room"
icon_state = "engine"
sound_env = LARGE_ENCLOSED
/area/engineering/engine_airlock
name = "\improper Engine Room Airlock"
@@ -1110,6 +1148,7 @@ area/space/atmosalert()
/area/engineering/break_room
name = "\improper Engineering Break Room"
icon_state = "engineering_break"
sound_env = MEDIUM_SOFTFLOOR
/area/engineering/engine_eva
name = "\improper Engine EVA"
@@ -1159,22 +1198,27 @@ area/space/atmosalert()
/area/maintenance/auxsolarport
name = "Solar Maintenance - Fore Port"
icon_state = "SolarcontrolP"
sound_env = SMALL_ENCLOSED
/area/maintenance/starboardsolar
name = "Solar Maintenance - Aft Starboard"
icon_state = "SolarcontrolS"
sound_env = SMALL_ENCLOSED
/area/maintenance/portsolar
name = "Solar Maintenance - Aft Port"
icon_state = "SolarcontrolP"
sound_env = SMALL_ENCLOSED
/area/maintenance/auxsolarstarboard
name = "Solar Maintenance - Fore Starboard"
icon_state = "SolarcontrolS"
sound_env = SMALL_ENCLOSED
/area/maintenance/foresolar
name = "Solar Maintenance - Fore"
icon_state = "SolarcontrolA"
sound_env = SMALL_ENCLOSED
/area/assembly/chargebay
name = "\improper Mech Bay"
@@ -1386,6 +1430,7 @@ area/space/atmosalert()
/area/security/detectives_office
name = "\improper Security - Forensic Office"
icon_state = "detective"
sound_env = MEDIUM_SOFTFLOOR
/area/security/range
name = "\improper Security - Firing Range"
@@ -1460,6 +1505,7 @@ area/space/atmosalert()
/area/quartermaster/storage
name = "\improper Cargo Bay"
icon_state = "quartstorage"
sound_env = LARGE_ENCLOSED
/area/quartermaster/qm
name = "\improper Cargo - Quartermaster's Office"
@@ -1810,10 +1856,12 @@ area/space/atmosalert()
name = "AI Upload Access"
icon_state = "ai_foyer"
ambience = list('sound/ambience/ambimalf.ogg')
sound_env = SMALL_ENCLOSED
/area/turret_protected/ai_server_room
name = "Messaging Server Room"
icon_state = "ai_server"
sound_env = SMALL_ENCLOSED
/area/turret_protected/ai
name = "\improper AI Chamber"
@@ -1823,6 +1871,7 @@ area/space/atmosalert()
/area/turret_protected/ai_cyborg_station
name = "\improper Cyborg Station"
icon_state = "ai_cyborg"
sound_env = SMALL_ENCLOSED
/area/turret_protected/aisat
name = "\improper AI Satellite"

View File

@@ -3,7 +3,7 @@
/area/mine
icon_state = "mining"
music = 'sound/ambience/song_game.ogg'
sound_env = 5 //stoneroom
sound_env = ASTEROID
/area/mine/explored
name = "Mine"

View File

@@ -1,3 +1,41 @@
//Sound environment defines. Reverb preset for sounds played in an area, see sound datum reference for more.
#define GENERIC 0
#define PADDED_CELL 1
#define ROOM 2
#define BATHROOM 3
#define LIVINGROOM 4
#define STONEROOM 5
#define AUDITORIUM 6
#define CONCERT_HALL 7
#define CAVE 8
#define ARENA 9
#define HANGAR 10
#define CARPETED_HALLWAY 11
#define HALLWAY 12
#define STONE_CORRIDOR 13
#define ALLEY 14
#define FOREST 15
#define CITY 16
#define MOUNTAINS 17
#define QUARRY 18
#define PLAIN 19
#define PARKING_LOT 20
#define SEWER_PIPE 21
#define UNDERWATER 22
#define DRUGGED 23
#define DIZZY 24
#define PSYCHOTIC 25
#define STANDARD_STATION STONEROOM
#define LARGE_ENCLOSED HANGAR
#define SMALL_ENCLOSED BATHROOM
#define TUNNEL_ENCLOSED CAVE
#define LARGE_SOFTFLOOR CARPETED_HALLWAY
#define MEDIUM_SOFTFLOOR LIVINGROOM
#define SMALL_SOFTFLOOR ROOM
#define ASTEROID CAVE
#define SPACE UNDERWATER
var/list/shatter_sound = list('sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg')
var/list/explosion_sound = list('sound/effects/Explosion1.ogg','sound/effects/Explosion2.ogg')
var/list/spark_sound = list('sound/effects/sparks1.ogg','sound/effects/sparks2.ogg','sound/effects/sparks3.ogg','sound/effects/sparks4.ogg')
@@ -50,6 +88,9 @@ var/const/FALLOFF_SOUNDS = 0.5
else
S.frequency = get_rand_frequency()
//sound volume falloff with pressure
var/pressure_factor = 1.0
if(isturf(turf_source))
// 3D sounds, the technology is here!
var/turf/T = get_turf(src)
@@ -59,9 +100,6 @@ var/const/FALLOFF_SOUNDS = 0.5
S.volume -= max(distance - world.view, 0) * 2 //multiplicative falloff to add on top of natural audio falloff.
//sound volume falloff with pressure
var/pressure_factor = 1.0
var/datum/gas_mixture/hearer_env = T.return_air()
var/datum/gas_mixture/source_env = turf_source.return_air()
@@ -90,8 +128,30 @@ var/const/FALLOFF_SOUNDS = 0.5
S.falloff = (falloff ? falloff : FALLOFF_SOUNDS)
if(!is_global)
var/area/A = get_area(src)
S.environment = A.sound_env
if(istype(src,/mob/living/))
var/mob/living/M = src
if (M.hallucination)
S.environment = PSYCHOTIC
else if (M.druggy)
S.environment = DRUGGED
else if (M.drowsyness)
S.environment = DIZZY
else if (M.confused)
S.environment = DIZZY
else if (M.sleeping)
S.environment = UNDERWATER
else if (pressure_factor < 0.5)
S.environment = SPACE
else
var/area/A = get_area(src)
S.environment = A.sound_env
else if (pressure_factor < 0.5)
S.environment = SPACE
else
var/area/A = get_area(src)
S.environment = A.sound_env
src << S

View File

@@ -288,6 +288,8 @@
if(M.mind)
linkedholodeck.play_ambience(M)
linkedholodeck.sound_env = A.sound_env
spawn(30)
for(var/obj/effect/landmark/L in linkedholodeck)
if(L.name=="Atmospheric Test Start")

View File

@@ -0,0 +1,6 @@
author: RavingManiac
delete-after: True
changes:
- tweak: "Sound environments tweaked to feel more claustrophobic"
- rscadd: "Being drugged, hallucinating, dizzy, or in low-pressure or vacuum will alter sounds you hear"
- rscadd: "Sound environment in holodeck will change to reflect the loaded program"