Los sonidos ambientales en Hexen y su expansión están basados no en Cosas como lo hacen sus equivalentes de Heretic, sino que utilizan Action code script (ACS) para gestionarlos, usando el script 254.
Script de ejemplo
Estos scripts son generalmente de esta forma:
script 254 OPEN { int whichsound; delay(random(x, y) * 100); whichsound = random(1, z); switch (whichsound) { case 1: { ambientsound("Ambient1(t, u)); break; } ... case z: { ambientsound("Ambientz(v, w)); break; } } restart; }
Donde los valores de t, u, v, w, x, y y z dependen de la secuencia de comandos.
Sonidos ambientales
Los nombres de sonido lógicos suelen ser bastante explícitos, sin embargo algunos de ellos son identificados sólo por un número. Esta tabla ayuda a identificarlos.
Nombre lógico | Nombre de lump | Nombre lógico | Nombre de lump | Nombre lógico | Nombre de lump | ||
---|---|---|---|---|---|---|---|
Ambient1 | insects1 | Ambient6 | owl | Ambient11 | rocks | ||
Ambient2 | crkets | Ambient7 | bird | Ambient12 | chains | ||
Ambient3 | crkets1 | Ambient8 | shlurp | Ambient13 | gong | ||
Ambient4 | katydid | Ambient9 | bubble | Ambient14 | steel1 | ||
Ambient5 | frogs | Ambient10 | drop2 | Ambient15 | steel2 |
Hexen
Las secuencias de sonido ambiental en Hexen utilizan un retardo expresado en tics. Hay 35 tics por segundo, por lo que un retraso máximo de 700 tics corresponde a un retardo máximo de 20 segundos.
El volumen en el que está cada sonido ambiente en una escala de 0 a 127, de modo que por ejemplo (50, 80) corresponde aproximadamente a entre 40% y 63% del volumen completo (redondeo). Para abreviar, la palabra clave aleatoria no está escrita explícitamente, por lo que cualquier par de valores entre corchetes en esta tabla debe entenderse como un valor integral aleatorio entre los dos límites dados, inclusive.
Cada sonido sólo aparece como su nombre lógico seguido de su volumen. Tenga en cuenta que algunos sonidos se pueden enumerar varias veces en un solo guión; así es como fue codificado por los diseñadores de nivel de Raven Software.
Mapa | Retardo | Sonidos ambientales | ||
---|---|---|---|---|
01 | Hub 1: Winnowing Hall | (3, 7)*100 | 5 | Ambient1(50, 80), Ambient10(50, 80), Ambient1(50, 80), Ambient10(50, 80), Ambient12(50, 80) |
02 | Hub 1: Seven Portals | (2, 7)*100 | 4 | Ambient7(50, 80), Ambient10(50, 90), Ambient10(70, 110), Ambient11(30, 70) |
03 | Hub 1: Guardian of Ice | (4, 7)*100 | 5 | IceStartMove(20, 90), EarthStartMove(50, 80), IceStartMove(50, 90), EarthStartMove(50, 80), IceStartMove(20, 60) |
04 | Hub 1: Guardian of Fire | (2, 5)*100 | 4 | Ambient9(50, 90), Ambient9(50, 100), LavaMove(50, 80), Ambient10(50, 90) |
05 | Hub 1: Guardian of Steel | (2, 4)*100 | 5 | Ambient15(50, 80), Ambient14(50, 80), Ambient15(50, 80), Ambient14(50, 60), Ambient12(50, 127) |
06 | Hub 1: Bright Crucible | (4, 7)*100 | 6 | Ambient8(30, 90), Ambient8(80, 100), Ambient9(50, 90), Ambient7(50, 80), WaterMove(50, 70), Ambient1(50, 100) |
08 | Hub 2: Darkmere | (100, 200) | 8 | Ambient1(50, 110), Ambient5(50, 100), Ambient8(50, 100), Ambient8(50, 70), Ambient9(50, 90), Ambient4(50, 100), Ambient1(30, 90), Ambient5(50, 80) |
09 | Hub 2: Caves of Circe | (3, 7)*100 | 5 | Ambient10(50, 100), Ambient10(50, 70), Ambient11(90, 120), Ambient11(50, 90), Ambient2(50, 80) |
10 | Hub 2: Wastelands | (5, 7)*100 | 5 | Ambient1(50, 80), Ambient1(50, 100), Ambient11(50, 100), Ambient11(30, 70), Ambient10(50, 80) |
11 | Hub 2: Sacred Grove | (3, 4)*100 | 5 | Ambient1(50, 80), Ambient2(90, 100), Ambient3(50, 90), Ambient4(50, 90), Ambient7(80, 110) |
12 | Hub 2: Hypostyle | (3, 6)*100 | 5 | Ambient9(50, 80), Ambient9(70, 110), Ambient10(50, 100), Ambient10(50, 70), Ambient12(50, 70) |
13 | Hub 2: Shadow Wood | (2, 4)*100 | 8 | Ambient1(50, 100), Ambient2(50, 90), Ambient3(50, 80), Ambient4(50, 90), Ambient6(50, 90), Ambient6(30, 80), Ambient7(50, 100), Ambient7(30, 90) |
21 | Hub 4: Forsaken Outpost | (5, 7)*100 | 5 | EarthStartMove(50, 80), Ambient1(50, 90), Ambient10(50, 70), Ambient10(50, 90), Ambient12(50, 100) |
22 | Hub 4: Castle of Grief | (3, 7)*100 | 5 | Ambient11(50, 100), Ambient12(50, 90), Ambient12(80, 110), Ambient1(50, 90), Ambient7(50, 90) |
23 | Hub 4: Gibbet | (2, 7)*100 | 5 | Ambient10(50, 80), Ambient10(50, 110), Ambient12(50, 127), Ambient12(40, 90), EarthStartMove(50, 90) |
24 | Hub 4: Effluvium | (2, 4)*100 | 7 | Ambient5(70, 100), Ambient8(50, 120), Ambient8(80, 110), Ambient9(50, 80), Ambient9(50, 90), Ambient12(50, 80), WaterMove(50, 90) |
25 | Hub 4: Dungeons | (2, 4)*100 | 5 | Ambient12(50, 100), Ambient12(50, 80), Ambient8(50, 70), Ambient8(80, 110), Ambient10(50, 90) |
26 | Hub 4: Desolate Garden | (5, 7)*100 | 4 | Ambient1(50, 80), Ambient2(50, 90), Ambient3(70, 120), Ambient8(50, 70) |
27 | Hub 3: Heresiarch's Seminary | (4, 8)*100 | 7 | EarthStartMove(50, 80), EarthStartMove(50, 90), Ambient13(50, 90), Ambient10(30, 70), Ambient11(50, 80), Ambient13(50, 110), Ambient13(30, 120) |
28 | Hub 3: Dragon Chapel | (2, 7)*100 | 5 | Ambient12(50, 127), Ambient12(50, 90), Ambient13(30, 80), Ambient13(50, 70), Ambient13(60, 90) |
30 | Hub 3: Griffin Chapel | (3, 7)*100 | 5 | Ambient10(50, 110), Ambient12(50, 80), Ambient13(50, 80), Ambient13(60, 90), Ambient13(30, 70) |
31 | Hub 3: Deathwind Chapel | (2, 4)*100 | 5 | Ambient10(50, 80), Ambient12(50, 90), Ambient13(50, 60), Ambient10(50, 80), Ambient13(50, 80) |
32 | Hub 3: Orchard of Lamentations | (2, 4)*100 | 5 | Ambient1(50, 100), Ambient2(50, 120), Ambient7(50, 80), Ambient13(60, 70), Ambient6(80, 127) |
33 | Hub 3: Silent Refectory | (5, 7)*100 | 5 | Ambient12(50, 80), Ambient12(50, 100), Ambient13(50, 80), Ambient12(30, 50), Ambient11(50, 70) |
34 | Hub 3: Wolf Chapel | (5, 7)*100 | 5 | Ambient13(50, 80), Ambient13(50, 90), Ambient10(50, 90), Ambient13(50, 60), Ambient13(30, 50) |
35 | Hub 5: Necropolis | (3, 4)*100 | 6 | Ambient1(50, 80), Ambient2(50, 90), Ambient3(50, 90), Ambient6(50, 80), Ambient6(70, 110), Ambient12(50, 70) |
36 | Hub 5: Zedek's Tomb | (500, 700) | 5 | Ambient12(50, 80), Ambient14(50, 90), Ambient12(50, 90), Ambient12(50, 70), Ambient15(50, 80) |
37 | Hub 5: Menelkir's Tomb | (2, 5)*100 | 5 | Ambient8(50, 90), Ambient8(50, 70), Ambient12(50, 90), Ambient10(50, 60), WaterMove(50, 70) |
38 | Hub 5: Traductus' Tomb | (4, 7)*100 | 5 | Ambient13(50, 60), Ambient12(50, 80), Ambient13(50, 60), Ambient10(50, 60), Ambient10(50, 127) |
39 | Hub 5: Vivarium | (4, 7)*100 | 5 | Ambient10(50, 80), Ambient12(50, 90), Ambient12(50, 70), Ambient14(50, 90), Ambient15(50, 70) |
40 | Hub 5: Dark Crucible | N/A | Korax fight scripts instead |
Deathkings of the Dark Citadel
Los mapas deathmatch en Deathkings no presentan sonidos ambientales.
Mapa | Retardo | Sonidos ambientales | ||
---|---|---|---|---|
33 | Hub 4: Transit | N/A | Mapa deathmatch | |
34 | Hub 4: Over N Under | N/A | Mapa deathmatch | |
35 | Hub 4: Deathfog | N/A | Mapa deathmatch | |
36 | Hub 4: Castle of Pain | N/A | Mapa deathmatch | |
37 | Hub 4: Sewer Pit | N/A | Mapa deathmatch | |
38 | Hub 4: The Rose | N/A | Mapa deathmatch | |
41 | Hub 1: Ruined Village | (4, 7)*100 | 6 | Ambient1(30, 90), Ambient2(80, 100), Ambient3(50, 90), Ambient4(50, 80), Ambient7(50, 70), Ambient10(50, 100) |
42 | Hub 1: Blight | (4, 7)*100 | 6 | Ambient10(30, 90), Ambient10(80, 100), Ambient11(50, 90), Ambient12(50, 80), Ambient12(50, 70), Ambient14(50, 100) |
43 | Hub 1: Sump | (4, 7)*100 | 6 | Ambient1(30, 90), Ambient8(80, 100), Ambient9(50, 90), Ambient10(50, 80), WaterMove(50, 70), WaterMove(50, 100) |
44 | Hub 1: Catacomb | (4, 7)*100 | 6 | Ambient1(30, 90), Ambient2(80, 100), Ambient11(50, 90), Ambient11(50, 80), Ambient10(50, 70), Ambient10(50, 100) |
45 | Hub 1: Badlands | (4, 7)*100 | 6 | Ambient1(30, 90), Ambient7(80, 100), Ambient11(50, 90), Ambient11(50, 80), Ambient10(50, 70), Ambient10(50, 100) |
46 | Hub 1: Brackenwood | (4, 7) * 100 | 6 | Ambient1(30, 90), Ambient2(80, 100), Ambient3(50, 90), Ambient7(50, 80), Ambient4(50, 70), Ambient1(50, 100) |
47 | Hub 1: Pyre | (4, 7)*100 | 6 | Ambient8(30, 90), Ambient9(80, 100), Ambient9(50, 90), Ambient12(50, 80), Ambient12(50, 70), Ambient10(50, 100) |
48 | Hub 2: Constable's Gate | (4, 7)*100 | 6 | Ambient9(30, 90), Ambient8(80, 100), Ambient8(50, 90), Ambient12(50, 80), Ambient12(50, 70), Ambient12(50, 100) |
49 | Hub 2: Treasury | (4, 7)*100 | 6 | Ambient5(30, 90), Ambient8(80, 100), Ambient9(50, 90), Ambient10(50, 80), Ambient8(50, 70), WaterMove(50, 100) |
50 | Hub 2: Market Place | (4, 7)*100 | 6 | Ambient10(30, 90), Ambient11(80, 100), Ambient11(50, 90), Ambient12(50, 80), Ambient12(50, 70), Ambient12(50, 100) |
51 | Hub 2: Locus Requiescat | (4, 7)*100 | 6 | Ambient1(30, 90), Ambient7(80, 100), Ambient2(50, 90), Ambient3(50, 80), Ambient4(50, 70), Ambient13(50, 100) |
52 | Hub 2: Ordeal | (4, 7)*100 | 6 | Ambient12(30, 90), Ambient12(80, 100), Ambient13(50, 90), Ambient14(50, 80), Ambient15(50, 70), Ambient12(50, 100) |
53 | Hub 2: Armory | (4, 7)*100 | 6 | Ambient14(30, 90), Ambient14(80, 100), Ambient15(50, 90), Ambient15(50, 80), Ambient12(50, 70), Ambient12(50, 100) |
54 | Hub 3: Nave | (7, 9)*100 | 4 | Ambient10(30, 90), Ambient12(80, 100), Ambient12(50, 90), Ambient13(40, 60) |
55 | Hub 3: Chantry | (4, 7)*100 | 6 | Ambient12(30, 90), Ambient12(80, 100), Ambient13(50, 90), Ambient10(50, 80), Ambient11(50, 70), Ambient10(50, 100) |
56 | Hub 3: Abattoir | (4, 7)*100 | 6 | Ambient12(30, 90), Ambient12(80, 100), Ambient14(50, 90), Ambient15(50, 80), Ambient11(50, 70), Ambient10(50, 100) |
57 | Hub 3: Dark Watch | (4, 7)*100 | 6 | Ambient1(30, 90), Ambient2(80, 100), Ambient12(50, 90), Ambient10(50, 80), Ambient11(50, 70), Ambient10(50, 100) |
58 | Hub 3: Cloaca | (4, 7)*100 | 6 | Ambient1(30, 90), Ambient5(80, 100), Ambient12(50, 90), Ambient12(50, 80), Ambient8(50, 70), Ambient9(50, 100) |
59 | Hub 3: Ice Hold | (3, 6)*100 | 6 | Ambient10(30, 90), Ambient10(80, 100), IceStartMove(50, 90), IceStartMove(40, 60), IceStartMove(50, 90), EarthStartMove(40, 60) |
60 | Hub 3: Dark Citadel (1) | (4, 7)*100 | 6 | Ambient13(30, 90), Ambient15(80, 100), Ambient12(50, 90), Ambient12(50, 80), Ambient10(50, 70) Ambient14(50, 70) |
(1) Los sonidos ambientales están desactivados en el modo deathmatch en este mapa.
Fuentes
La información anterior se obtuvo utilizando el descompilador Descript en cada mapa de ambos IWADs, hexen.wad y hexdd.wad, los dos en sus versiones 1.1.