diff --git a/cvarinfo.base b/cvarinfo.base index 8f0629135..110af8acb 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -121,6 +121,7 @@ nosave string swwm_titlesubhistory = ""; // stores currently seen subtitles for nosave noarchive int swwm_profstart = 0; // starts profiling as soon as handler is registered for specified >0 tics server bool swwm_nodeathexit = false; // completely sidesteps the inventory resetting of death exits, if you hate those server bool swwm_extendedpickup = false; // items will have an additional "virtual hitbox" that's the same size as vanilla +nosave bool swwm_voicelog = false; // adds player voicelines to the message log // 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 16d6371b9..09114df65 100644 --- a/language.def_menu +++ b/language.def_menu @@ -208,6 +208,7 @@ SWWM_CLEARFX = "Clear All Effects"; SWWM_OLDLOGO = "Old Branding"; SWWM_NODEATHEXIT = "Disable Death Exits"; SWWM_EXTENDEDPICKUP = "Extend Item Size"; +SWWM_VOICELOG = "Log Player Comments"; SWWM_MMTITLE = "Minimap Settings"; SWWM_MM_ENABLE = "Show Minimap"; SWWM_MM_ROTATE = "Rotate Minimap"; @@ -368,6 +369,7 @@ TOOLTIP_NETEVENT_SWWMCLEAREFFECTS = "Fades out any active blood, gore, debris an TOOLTIP_SWWM_OLDLOGO = "For those who miss the days of SWWM GZ, you can restore the old title screen and main menu with this."; TOOLTIP_SWWM_NODEATHEXIT = "This option completely negates the effects of death exits, if you don't like losing all your stuff."; TOOLTIP_SWWM_EXTENDEDPICKUP = "Gives all items a vanilla-sized \"virtual hitbox\" that allows picking them up from farther away. Requires a map restart if changed."; +TOOLTIP_SWWM_VOICELOG = "Subtitled player comments will be saved to the Messages tab of the Demolitionist Menu."; TOOLTIP_SWWMMINIMAPMENU = "Configure the minimap."; TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements."; TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap under the score counter."; diff --git a/language.es_menu b/language.es_menu index 0632145f2..804e3d47a 100644 --- a/language.es_menu +++ b/language.es_menu @@ -207,6 +207,7 @@ SWWM_CLEARFX = "Limpiar todos los Efectos"; SWWM_OLDLOGO = "Marca Antigua"; SWWM_NODEATHEXIT = "Desactivar Salidas de Muerte"; SWWM_EXTENDEDPICKUP = "Extender Tamaño de Ítem"; +SWWM_VOICELOG = "Registrar Comentarios de Jugador"; SWWM_MMTITLE = "Opciones de Minimapa"; SWWM_MM_ENABLE = "Mostrar Minimapa"; SWWM_MM_ROTATE = "Rotar Minimapa"; @@ -372,6 +373,7 @@ TOOLTIP_NETEVENT_SWWMCLEAREFFECTS = "Desvanece cualquier sangre, vísceras, esco TOOLTIP_SWWM_OLDLOGO = "Para quienes echan de menos los viejos tiempos de SWWM GZ, podeis restaurar la antigua pantalla de inicio y menú principal con esto."; TOOLTIP_SWWM_NODEATHEXIT = "Esta opción invalida completamente los efectos de las salidas de muerte, si no te gusta perder todas tus cosas."; TOOLTIP_SWWM_EXTENDEDPICKUP = "Da a todos los ítems una \"hitbox virtual\" de tamaño vanilla que permite recogerlos a mayor distancia. Requiere reinicio de mapa si se cambia."; +TOOLTIP_SWWM_VOICELOG = "Los comentarios de jugador subtitulados se guardarán en la pestaña de Mensajes del Menú de Demolicionista."; TOOLTIP_SWWMMINIMAPMENU = "Configura el minimapa."; TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros."; TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa bajo el contador de puntuación."; diff --git a/language.version b/language.version index 9e3792115..7b91d4b97 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.2.9 r3 \cu(Thu 14 Apr 11:03:17 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.2.9 r3 \cu(2022-04-14 11:03:17)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.2.10 \cu(Thu 14 Apr 11:06:27 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.2.10 \cu(2022-04-14 11:06:27)\c-"; diff --git a/menudef.txt b/menudef.txt index 67442fabf..c4f5eee97 100644 --- a/menudef.txt +++ b/menudef.txt @@ -100,6 +100,7 @@ OptionMenu "SWWMOptionMenu" SWWMVoiceOption "$SWWM_VOICETYPE", "swwm_voicetype" Option "$SWWM_MUTELEVEL", "swwm_mutevoice", "SWWMVoice" Slider "$SWWM_VOICEAMP", "swwm_voiceamp", 1, 4, 1, 0 + Option "$SWWM_VOICELOG", "swwm_voicelog", "YesNo" Option "$SWWM_BEEPBOOP", "swwm_beepboop", "YesNo" IfGame(Heretic, Hexen) { diff --git a/zscript/handler/swwm_handler_oneliners.zsc b/zscript/handler/swwm_handler_oneliners.zsc index 76e50f36c..5f6b650f7 100644 --- a/zscript/handler/swwm_handler_oneliners.zsc +++ b/zscript/handler/swwm_handler_oneliners.zsc @@ -121,6 +121,7 @@ extend Class SWWMHandler { let l = SWWMOneLiner.Make(oneliner,onelinerspan); StatusBar.AttachMessage(l,-3473); + SendNetworkEvent("swwmstoremessage.\cd"..(multiplayer?players[consoleplayer].GetUserName():"Demo").."\c-: "..StringTable.Localize(oneliner),level.totaltime,PRINT_CHAT,consoleplayer); } SendNetworkEvent("swwmremotelinertxt."..oneliner,consoleplayer,onelinerlevel); } diff --git a/zscript/handler/swwm_handler_process.zsc b/zscript/handler/swwm_handler_process.zsc index f2d7a0dd9..f903081a6 100644 --- a/zscript/handler/swwm_handler_process.zsc +++ b/zscript/handler/swwm_handler_process.zsc @@ -546,7 +546,10 @@ extend Class SWWMHandler if ( swwm_mutevoice >= e.Args[1] ) return; double dist = players[consoleplayer].Camera.Distance3D(players[e.Args[0]].mo); if ( dist < 2000 ) + { Console.Printf("\cx%s\cx: %s\c-",players[e.Args[0]].GetUserName(),StringTable.Localize(e.Name.Mid(19))); + if ( swwm_voicelog ) SWWMFullHistory.PushMessage("\cd"..players[e.Args[0]].GetUserName().."\c-: "..StringTable.Localize(e.Name.Mid(19)),level.totaltime,PRINT_CHAT); + } } else if ( e.Name.Left(8) ~== "swwmcbt." ) {