diff --git a/cvarinfo.txt b/cvarinfo.txt index ca07c6abf..0ce6b0e62 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -88,8 +88,9 @@ user bool swwm_ldspoil = false; // [LD] always shows "Legendary" prefix on Leg user bool swwm_camhud = false; // keep full hud visible when operating cameras, otherwise only shows messages user bool swwm_rageshader = false; // alternate ragekit shader for people with photosensitivity server bool swwm_uncapalert = false; // all noise alerts have infinite range -user int swwm_damagetarget = 0; // conditional healthbar hiding (1 - hide until damage is first taken, 2 - hide if at full health) +user int swwm_damagetarget = 1; // conditional healthbar hiding (1 - hide until damage is first taken, 2 - hide if at full health) server int swwm_strictuntouchable = 0; // untouchable bonus ends... (1 - even if your armor absorbed all the damage, 2 - if you get hit by anything PERIOD) +server int swwm_silencemap = 0; // silences the map when all kills/items/secrets are achieved (2 - play calm music) server noarchive bool swwm_iseriouslywanttoplaythiswithbd = false; // self-explanatory diff --git a/language.def_menu b/language.def_menu index c379e2736..840c351c0 100644 --- a/language.def_menu +++ b/language.def_menu @@ -169,6 +169,10 @@ SWWM_STRICTUNTOUCHABLE = "Untouchable Bonus Strictness"; SWWM_UNTOUCHABLE_HEALTH = "Health Decrease"; SWWM_UNTOUCHABLE_ARMOR = "Armor Decrease"; SWWM_UNTOUCHABLE_ANYHIT = "Any Hit"; +SWWM_SILENCEMAP = "Cleared Map Music"; +SWWM_SILENCE_KEEP = "Don't Change"; +SWWM_SILENCE_SILENT = "Silence"; +SWWM_SILENCE_CALM = "Calm Track"; TOOLTIP_SWWM_VOICETYPE = "Sets the voice pack for the player."; TOOLTIP_SWWM_MUTEVOICE = "Control what gets muted, if you'd rather have a more silent protagonist."; TOOLTIP_SWWM_FLASHSTRENGTH = "Screen flashes usually happen when firing some weapons, you can lower this if these effects are harmful for you."; @@ -247,6 +251,7 @@ TOOLTIP_SWWM_UNCAPALERT = "If enabled, all weapons and projectiles will have inf TOOLTIP_SWWM_COLLECTANIMKEY = "Play special first person animations when picking up keys."; TOOLTIP_SWWM_DAMAGETARGET = "Select when targetter healthbars should be shown."; TOOLTIP_SWWM_STRICTUNTOUCHABLE = "By default, the \"Untouchable\" bonus is active until you take direct damage. If you feel this isn't strict enough, you can also make it end if armor absorbs the damage, or, for extra strictness, on ANY hit, even while invulnerable."; +TOOLTIP_SWWM_SILENCEMAP = "Chooses whether you want music to stop when you 100% a map. A third option is available which switches to a soothing calm track from a game you may recognize if you know me well."; // knowledge base SWWM_COMINGSOON = "(coming soon)"; SWWM_MISSTAB = "Mission"; diff --git a/language.es_menu b/language.es_menu index 1d6014434..50b1b9a9a 100644 --- a/language.es_menu +++ b/language.es_menu @@ -167,6 +167,10 @@ SWWM_STRICTUNTOUCHABLE = "Rigurosidad de Bonus Intocable"; SWWM_UNTOUCHABLE_HEALTH = "Baja de Salud"; SWWM_UNTOUCHABLE_ARMOR = "Baja de Armadura"; SWWM_UNTOUCHABLE_ANYHIT = "Cualquier Golpe"; +SWWM_SILENCEMAP = "Música de Mapa Despejado"; +SWWM_SILENCE_KEEP = "No Cambiar"; +SWWM_SILENCE_SILENT = "Silencio"; +SWWM_SILENCE_CALM = "Tema Tranquilo"; TOOLTIP_SWWM_VOICETYPE = "Selecciona el pack de voz para el jugador."; TOOLTIP_SWWM_MUTEVOICE = "Controla lo que se mutea, si prefieres tener un protagonista más silencioso."; TOOLTIP_SWWM_FLASHSTRENGTH = "Los destellos en pantalla suelen ocurrir al disparar algunas armas, puedes reducirlo si este tipo de efectos te causan malestar."; @@ -245,6 +249,7 @@ TOOLTIP_SWWM_UNCAPALERT = "Si se activa, todas las armas y proyectiles tendrán TOOLTIP_SWWM_COLLECTANIMKEY = "Muestra animaciones especiales en primera persona al recoger llaves."; TOOLTIP_SWWM_DAMAGETARGET = "Selecciona cuando deben mostrarse las barras de vida."; TOOLTIP_SWWM_STRICTUNTOUCHABLE = "Por defecto, el bonus \"Intocable\" permanece activo hasta que recibas daño directo. Si sientes que esto no es suficientemente estricto, también puedes hacer que termine si la armadura absorbe el daño, o, para mayor severidad, con CUALQUIER golpe, incluso siendo invulnerable."; +TOOLTIP_SWWM_SILENCEMAP = "Elige si quieres que la música se detenga cuando completas un mapa al 100%. Hay una tercera opción disponible que cambiará a un relajante tema tranquilo de un juego que podrás reconocer si me conoces bien."; // knowledge base SWWM_COMINGSOON = "(próximamente)"; SWWM_MISSTAB = "Misión"; diff --git a/language.version b/language.version index d5f4a8a84..e3e7ed099 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r661 \cu(Sat 5 Dec 18:05:13 CET 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r662 \cu(Sat 5 Dec 21:57:50 CET 2020)"; diff --git a/menudef.txt b/menudef.txt index d6c3cb1de..002683521 100644 --- a/menudef.txt +++ b/menudef.txt @@ -36,6 +36,12 @@ OptionValue "SWWMUntouchableStrictness" 1, "$SWWM_UNTOUCHABLE_ARMOR" 2, "$SWWM_UNTOUCHABLE_ANYHIT" } +OptionValue "SWWMSilenceMap" +{ + 0, "$SWWM_SILENCE_KEEP" + 1, "$SWWM_SILENCE_SILENT" + 2, "$SWWM_SILENCE_CALM" +} OptionMenu "SWWMOptionMenu" { Class "SWWMOptionMenu" @@ -85,6 +91,7 @@ OptionMenu "SWWMOptionMenu" Option "$SWWM_INTERART", "swwm_interart", "YesNo" Option "$SWWM_INTERMUSIC", "swwm_intermusic", "YesNo" Option "$SWWM_FUZZ", "swwm_fuzz", "YesNo" + Option "$SWWM_SILENCEMAP", "swwm_silencemap", "SWWMSilenceMap" StaticText " " StaticText "$SWWM_ETITLE", "Blue" Option "$SWWM_SHADOWS", "swwm_shadows", "SWWMShadows" diff --git a/music/CARDISH1.XM b/music/CARDISH1.XM new file mode 100644 index 000000000..ba1415a76 Binary files /dev/null and b/music/CARDISH1.XM differ diff --git a/music/olg.ogg b/music/olg.ogg new file mode 100644 index 000000000..4768d37d2 Binary files /dev/null and b/music/olg.ogg differ diff --git a/zscript/swwm_credits.zsc b/zscript/swwm_credits.zsc index 28980fab6..b388bf858 100644 --- a/zscript/swwm_credits.zsc +++ b/zscript/swwm_credits.zsc @@ -168,7 +168,8 @@ Class SWWMCreditsMenu : GenericMenu cassets.Push(new("SWWMCreditsEntry").Init(sfnt,"Amuscaria","$SWWM_ASSBARONS")); cassets.Push(new("SWWMCreditsEntry").Init(sfnt,"Ryan Cordell","$SWWM_ASSOTHERS")); cassets.Push(new("SWWMCreditsEntry").Init(sfnt,"SiFi270","$SWWM_ASSKEEN")); - cmusic.Push(new("SWWMCreditsEntry").Init(sfnt,"Teque","Traumatic State\nDragony\nHidden Tune #242")); + cmusic.Push(new("SWWMCreditsEntry").Init(sfnt,"Teque","Traumatic State\nDragony\nHidden Tune #242\nHypercardish 1.1")); + cmusic.Push(new("SWWMCreditsEntry").Init(sfnt,"lol","olg.mp3")); cfanart.Push(new("SWWMCreditsEntry").Init(sfnt,"Substance20 (@S20TBL)")); cfanart.Push(new("SWWMCreditsEntry").Init(sfnt,"Captain J (@Jho7835)")); cfanart.Push(new("SWWMCreditsEntry").Init(sfnt,"Redead-ITA")); diff --git a/zscript/swwm_handler.zsc b/zscript/swwm_handler.zsc index 4921bfd5f..88762244f 100644 --- a/zscript/swwm_handler.zsc +++ b/zscript/swwm_handler.zsc @@ -753,7 +753,11 @@ Class SWWMHandler : EventHandler override void WorldLoaded( WorldEvent e ) { - if ( level.levelname ~== "Modder Test Map" ) level.ReplaceTextures("-noflat-","kinstile",0); + if ( level.levelname ~== "Modder Test Map" ) + { + level.ReplaceTextures("-noflat-","kinstile",0); + S_ChangeMusic("music/CARDISH1.XM"); + } if ( !mutevoice ) mutevoice = CVar.GetCVar('swwm_mutevoice',players[consoleplayer]); if ( !e.IsSaveGame && !e.IsReopen && (gamestate != GS_TITLELEVEL) ) AddOneliner("mapstart",3); @@ -1169,6 +1173,8 @@ Class SWWMHandler : EventHandler mapclear = true; Console.Printf(StringTable.Localize("$SWWM_ALLCLEAR"),5000); S_StartSound("misc/wow",CHAN_VOICE,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE); + if ( swwm_silencemap == 1 ) S_ChangeMusic("",force:true); + else if ( swwm_silencemap > 1 ) S_ChangeMusic("music/olg.ogg",force:true); for ( int i=0; i