diff --git a/cvarinfo.base b/cvarinfo.base index 8d6905518..cce4f3147 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -83,6 +83,7 @@ nosave int swwm_hudscale = 0; // force the primary scale of the HUD (used by t nosave int swwm_hudscale0 = 0; // force the "zero minus" scale of the HUD (used by damage numbers) nosave int swwm_hudscale1 = 0; // force the "one minus" scale of the HUD (used by healthbars, score numbers) nosave int swwm_hudscale2 = 0; // force the "two minus" scale of the HUD (used by interest points) +server bool swwm_altclear = false; // use an alternate, less graphically demanding "All Clear" effect // minimap settings nosave bool swwm_mm_enable = true; // show a minimap below the score counter diff --git a/language.def_menu b/language.def_menu index 75fa23247..e3bd9e052 100644 --- a/language.def_menu +++ b/language.def_menu @@ -193,6 +193,7 @@ SWWM_HUDSCALE2 = "Quaternary HUD Scale"; SWWM_HS_AUTO = "Auto"; SWWM_HS_AUTOL = "Auto Loose"; SWWM_HS_AUTOT = "Auto Tight"; +SWWM_ALTCLEAR = "Alternate 100% FX"; SWWM_MM_ENABLE = "Show Minimap"; SWWM_MM_MISSILES = "Projectiles In Minimap"; SWWM_MM_USECANVAS = "Fixed Scale Minimap"; @@ -282,6 +283,7 @@ TOOLTIP_SWWM_HUDSCALE = "If higher than zero, manually set the scale of the HUD. TOOLTIP_SWWM_HUDSCALE0 = "If non-zero, manually set the scale of Damage Numbers. Usually, this is equal to the primary HUD scale."; TOOLTIP_SWWM_HUDSCALE1 = "If non-zero, manually set the scale of Healthbars, Score Numbers and Item Sense. Usually, this is one less than the primary HUD scale."; TOOLTIP_SWWM_HUDSCALE2 = "If non-zero, manually set the scale of Interest Points. Usually, this is two less than the primary HUD scale."; +TOOLTIP_SWWM_ALTCLEAR = "Use an alternate, less visually intense effect for getting 100% completion on a level."; TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements."; TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap on the top right corner of the screen."; TOOLTIP_SWWM_MM_MISSILES = "Displays projectiles in the minimap. Can be toggled if this clutters too much."; diff --git a/language.es_menu b/language.es_menu index fa686bfc5..f8cd4e250 100644 --- a/language.es_menu +++ b/language.es_menu @@ -187,6 +187,7 @@ SWWM_HUDSCALE1 = "Escala Terciaria de HUD"; SWWM_HUDSCALE2 = "Escala Cuaternaria de HUD"; SWWM_HS_AUTOL = "Auto. Holgado"; SWWM_HS_AUTOT = "Auto. Ceñido"; +SWWM_ALTCLEAR = "Efecto Alternativo de 100%"; SWWM_MM_ENABLE = "Mostrar Minimapa"; SWWM_MM_MISSILES = "Proyectiles en Minimapa"; SWWM_MM_USECANVAS = "Minimapa a Escala Fija"; @@ -277,6 +278,7 @@ TOOLTIP_SWWM_HUDSCALE = "Si es mayor que cero, especifica manualmente la escala TOOLTIP_SWWM_HUDSCALE0 = "Si no es cero, especifica manualmente la escala de los Números de Daño. Normalmente, es igual a la escala primaria del HUD."; TOOLTIP_SWWM_HUDSCALE1 = "Si no es cero, especifica manualmente la escala de las Barras de Salud, Números de Puntuación y Sensor de Ítems. Normalmente, es igual a dos menos que la escala primaria del HUD."; TOOLTIP_SWWM_HUDSCALE2 = "Si no es cero, especifica manualmente la escala de los Puntos de Interés. Normalmente, es igual a tres menos que la escala primaria del HUD."; +TOOLTIP_SWWM_ALTCLEAR = "Usa un efecto alternativo de menor intensidad visual al completar un nivel al 100%."; TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros."; TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa en la esquina superior derecha de la pantalla."; TOOLTIP_SWWM_MM_MISSILES = "Muestra proyectiles en el minimapa. Puede ser desactivado si causa problemas de visibilidad."; diff --git a/language.version b/language.version index 681d0f4c2..f14b0f114 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1037 \cu(Sat 2 Dec 13:03:51 CET 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r1037 \cu(2023-12-02 13:03:51)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1038 \cu(Sat 2 Dec 13:47:00 CET 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r1038 \cu(2023-12-02 13:47:00)\c-"; diff --git a/menudef.txt b/menudef.txt index e4bd826f7..608c3d5dc 100644 --- a/menudef.txt +++ b/menudef.txt @@ -178,6 +178,7 @@ OptionMenu "SWWMOptionMenu" Option "$SWWM_OMNIBUST", "swwm_omnibust", "YesNo" Option "$SWWM_SUPERFUEL", "swwm_superfuel", "YesNo" Option "$SWWM_PARTYTIME", "swwm_partytime", "YesNo" + Option "$SWWM_ALTCLEAR", "swwm_altclear", "YesNo" Option "$SWWM_FUNTRAILS", "swwm_funtrails", "SWWMFunTrails" Option "$SWWM_BONKHAMMER", "swwm_bonkhammer", "YesNo" TrapOption "$SWWM_ENGINE", "swwm_engine" diff --git a/sndinfo.base b/sndinfo.base index 7f8f88c32..5074df0b4 100644 --- a/sndinfo.base +++ b/sndinfo.base @@ -56,6 +56,7 @@ misc/tada = "sounds/TADA.ogg" misc/heart = "sounds/KOKORO.ogg" misc/achievement = "sounds/CTF6.ogg" misc/wow = "sounds/WOW.ogg" +misc/yippeee = "Sounds/YIPPEEE.ogg" misc/achievement2 = "sounds/YAY.ogg" misc/orbexplode = "sounds/ORBEXPLODE.ogg" misc/omgfart = "sounds/omgfart.ogg" diff --git a/sounds/YIPPEEE.ogg b/sounds/YIPPEEE.ogg new file mode 100644 index 000000000..8c0419541 Binary files /dev/null and b/sounds/YIPPEEE.ogg differ diff --git a/zscript/handler/swwm_handler_worldtick.zsc b/zscript/handler/swwm_handler_worldtick.zsc index c0f258533..dcec0adfc 100644 --- a/zscript/handler/swwm_handler_worldtick.zsc +++ b/zscript/handler/swwm_handler_worldtick.zsc @@ -180,7 +180,8 @@ extend Class SWWMHandler mapclear = true; if ( mapclearagain ) Console.Printf(StringTable.Localize("$SWWM_ALLCLEARAGAIN"),500); else Console.Printf(StringTable.Localize("$SWWM_ALLCLEAR"),5000); - S_StartSound("misc/wow",CHAN_VOICE,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE); + bool altclear = swwm_altclear; + S_StartSound(altclear?"misc/yippeee":"misc/wow",CHAN_VOICE,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE); lastmus = musplaying.name; lastorder = musplaying.baseorder; lastloop = musplaying.loop; @@ -190,7 +191,8 @@ extend Class SWWMHandler { if ( !playeringame[i] || !players[i].mo ) continue; let f = Actor.Spawn("PartyTime",players[i].mo.pos); - f.bAMBUSH = true; + if ( altclear ) f.bSTANDSTILL = true; + else f.bAMBUSH = true; if ( mapclearagain ) { SWWMCredits.Give(players[i],500);