Completely rewrite dialogue message system.

This commit is contained in:
Mari the Deer 2023-08-27 13:52:44 +02:00
commit 4ba1d51bcf
17 changed files with 1046 additions and 1108 deletions

View file

@ -1,3 +1,3 @@
[default] [default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r944 \cu(Sat 26 Aug 18:41:52 CEST 2023)\c-"; SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r945 \cu(Sun 27 Aug 13:52:44 CEST 2023)\c-";
SWWM_SHORTVER="\cw1.3pre r944 \cu(2023-08-26 18:41:52)\c-"; SWWM_SHORTVER="\cw1.3pre r945 \cu(2023-08-27 13:52:44)\c-";

818
swwmdialogue.txt Normal file
View file

@ -0,0 +1,818 @@
# Doom 1
DLG PHOBOS
SEQ SAYA
NAME SAYAPHOBOS
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG DEIMOS
SEQ SAYA
NAME SAYADEIMOS
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG DIS
SEQ SAYA
NAME SAYADIS
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG THY
SEQ SAYA
NAME SAYATHY
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG SIGIL
SEQ CYTHO
NAME CYTHOSIGIL
CNT 4
DELAY 40
ENDSEQ
ENDDLG
# Doom 2
DLG DIMPLE
SEQ SAYA
NAME SAYADIMPLE
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG CIRCLE
SEQ SAYA
NAME SAYACIRCLE
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG GOTCHA
SEQ SAYA
NAME SAYAGOTCHA
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG GOTCHAEND
SEQ SAYA
NAME SAYAGOTCHAEND
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG IOS
SEQ SAYA
NAME SAYAIOS
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG RAMPANCY
SEQ SAYA
NAME SAYARAMPANCY
CNT 4
DELAY 250
ENDSEQ
ENDDLG
DLG NERVE
SEQ CYTHO
NAME CYTHONERVE
CNT 5
DELAY 40
ENDSEQ
ENDDLG
# Eviternity
DLG DMN
SEQ SAYA
NAME SAYADMN
CNT 8
DELAY 40
ENDSEQ
ENDDLG
DLG CRE
SEQ SAYA
NAME SAYACRE
CNT 4
DELAY 50
ENDSEQ
ENDDLG
DLG CRY
SEQ SAYA
NAME SAYACRY
CNT 5
DELAY 30
ENDSEQ
ENDDLG
DLG CON
SEQ SAYA
NAME SAYACON
CNT 5
DELAY 50
ENDSEQ
ENDDLG
DLG SLA
SEQ SAYA
NAME SAYASLA
CNT 1
DELAY 120
ENDSEQ
ENDDLG
DLG EVIA
SEQ SAYA
NAME SAYAEVIA
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG EVIB
SEQ SAYA
NAME SAYAEVIB
CNT 2
DELAY 20
ENDSEQ
ENDDLG
# Heretic
DLG MAW
SEQ SAYA
NAME SAYAMAW
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG PORTALS
SEQ SAYA
NAME SAYAPORTALS
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG DSPARIL
SEQ SAYA
NAME SAYADSPARIL
CNT 5
DELAY 40
ENDSEQ
ENDDLG
DLG HEADS
SEQ SAYA
NAME SAYAHEADS
CNT 6
DELAY 40
ENDSEQ
ENDDLG
DLG BULLS
SEQ SAYA
NAME SAYABULLS
CNT 5
DELAY 40
ENDSEQ
ENDDLG
# Hexen
DLG GREET
SEQ SAYA
NAME SAYAGREETA
CNT 3
DELAY 150
ENDSEQ
SEQ KIRIN
NAME SAYAGREETB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYAGREETC
CNT 3
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAGREETD
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYAGREETE
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAGREETF
CNT 1
DELAY 30
ENDSEQ
ENDDLG
DLG BLOOD
SEQ SAYA
NAME SAYABLOODA
CNT 2
DELAY 220
ENDSEQ
SEQ IBUKI
NAME SAYABLOODB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYABLOODC
CNT 1
DELAY 30
ENDSEQ
ENDDLG
DLG HYPO
SEQ SAYA
NAME SAYAHYPO
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG WORSHIP
SEQ KIRIN
NAME KIRINWORSHIPA
CNT 1
DELAY 150
ENDSEQ
SEQ SAYA
NAME KIRINWORSHIPB
CNT 1
DELAY 40
ENDDELAY 50
ENDSEQ
SEQ KIRIN
NAME KIRINWORSHIPC
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME KIRINWORSHIPD
CNT 1
DELAY 40
ENDSEQ
SEQ KIRIN
NAME KIRINWORSHIPE
CNT 1
DELAY 20
ENDDELAY 30
ENDSEQ
SEQ SAYA
NAME KIRINWORSHIPF
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINWORSHIPG
CNT 1
DELAY 40
ENDSEQ
ENDDLG
DLG GAME
SEQ SAYA
NAME SAYAGAMEA
CNT 2
DELAY 200
ENDSEQ
SEQ IBUKI
NAME SAYAGAMEB
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYAGAMEC
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG MASTERS
SEQ SAYA
NAME SAYAMASTERSA
CNT 2
DELAY 150
ENDDELAY 60
ENDSEQ
SEQ IBUKI
NAME SAYAMASTERSB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYAMASTERSC
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYAMASTERSD
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAMASTERSE
CNT 1
DELAY 40
ENDSEQ
SEQ SAYA
NAME SAYAMASTERSF
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG FIGHTER
SEQ SAYA
NAME SAYAFIGHTER
CNT 2
DELAY 40
ENDSEQ
ENDDLG
DLG CLERIC
SEQ SAYA
NAME SAYACLERICA
CNT 2
DELAY 40
ENDSEQ
SEQ KIRIN
NAME SAYACLERICB
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYACLERICC
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG MAGE
SEQ SAYA
NAME SAYAMAGE
CNT 4
DELAY 40
ENDSEQ
ENDDLG
DLG KORAX
SEQ SAYA
NAME SAYAKORAXA
CNT 1
DELAY 40
ENDSEQ
SEQ KIRIN
NAME SAYAKORAXB
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYAKORAXC
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME SAYAKORAXD
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYAKORAXE
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG BLIGHT
SEQ SAYA
NAME SAYABLIGHTA
CNT 1
DELAY 40
ENDSEQ
SEQ Kirin
NAME SAYABLIGHTB
CNT 1
DELAY 5
ENDDELAY 15
ENDSEQ
SEQ SAYA
NAME SAYABLIGHTC
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG CONSTABLE
SEQ SAYA
NAME SAYACONSTABLEA
CNT 2
DELAY 40
ENDSEQ
SEQ IBUKI
NAME SAYACONSTABLEB
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYACONSTABLEC
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYACONSTABLED
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG NAVE
SEQ SAYA
NAME SAYANAVEA
CNT 2
DELAY 40
ENDSEQ
SEQ IBUKI
NAME SAYANAVEB
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME SAYANAVEC
CNT 1
DELAY 5
ENDDELAY 30
ENDSEQ
SEQ SAYA
NAME SAYANAVED
CNT 1
DELAY 20
ENDSEQ
SEQ IBUKI
NAME SAYANAVEE
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYANAVEF
CNT 1
DELAY 40
ENDSEQ
ENDDLG
DLG DEATHKINGS
SEQ SAYA
NAME SAYADEATHKINGS
CNT 1
DELAY 40
ENDSEQ
ENDDLG
# Hexen puzzles
DLG PUZZLE1
SEQ KIRIN
NAME KIRINPUZZLEA
CNT 2
DELAY 90
ENDSEQ
ENDDLG
DLG PUZZLE2
SEQ KIRIN
NAME KIRINPUZZLEB
CNT 1
DELAY 80
ENDSEQ
ENDDLG
DLG PUZZLE3
SEQ KIRIN
NAME KIRINPUZZLEC
CNT 2
DELAY 70
ENDSEQ
ENDDLG
DLG PUZZLE4
SEQ KIRIN
NAME KIRINPUZZLED
CNT 2
DELAY 70
ENDSEQ
ENDDLG
DLG PUZZLE5
SEQ KIRIN
NAME KIRINPUZZLEE
CNT 2
DELAY 60
ENDSEQ
ENDDLG
DLG PUZZLE6
SEQ KIRIN
NAME KIRINPUZZLEF
CNT 3
DELAY 60
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEG
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINPUZZLEH
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEI
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG PUZZLE7
SEQ KIRIN
NAME KIRINPUZZLEJ
CNT 2
DELAY 80
ENDSEQ
ENDDLG
DLG PUZZLE8
SEQ KIRIN
NAME KIRINPUZZLEK
CNT 1
DELAY 60
ENDSEQ
SEQ IBUKI
NAME KIRINPUZZLEL
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINPUZZLEM
CNT 1
DELAY 60
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEN
CNT 1
DELAY 30
ENDSEQ
SEQ IBUKI
NAME KIRINPUZZLEO
CNT 1
DELAY 20
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEP
CNT 1
DELAY 30
ENDSEQ
SEQ IBUKI
NAME KIRINPUZZLEQ
CNT 1
DELAY 20
ENDSEQ
ENDDLG
DLG PUZZLE9
SEQ KIRIN
NAME KIRINPUZZLER
CNT 3
DELAY 60
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLES
CNT 1
DELAY 20
ENDSEQ
SEQ KIRIN
NAME KIRINPUZZLET
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME KIRINPUZZLEU
CNT 1
DELAY 20
ENDSEQ
ENDDLG
# miscellaneous
DLG CHEATS
SEQ ZNV
NAME ZNVTXT
CNT 5
DELAY 80
ENDDELAY 90
PAUSEDELAY 40
ZNVSPECIAL
ENDSEQ
ENDDLG
DLG WASTE1
SEQ SAYA
NAME SAYAWASTEA
CNT 1
DELAY 5
STARTDELAY 10
ENDDELAY 25
ENDSEQ
ENDDLG
DLG WASTE2
SEQ SAYA
NAME SAYAWASTEB
CNT 1
DELAY 10
STARTDELAY 20
ENDDELAY 30
ENDSEQ
ENDDLG
DLG WASTE3
SEQ SAYA
NAME SAYAWASTEC
CNT 1
DELAY 30
STARTDELAY 15
ENDDELAY 25
ENDSEQ
ENDDLG
DLG WASTE4
SEQ SAYA
NAME SAYAWASTED
CNT 2
DELAY 40
STARTDELAY 10
ENDDELAY 20
ENDSEQ
ENDDLG
DLG WASTE5
SEQ SAYA
NAME SAYAWASTEE
CNT 1
DELAY 20
STARTDELAY 10
ENDDELAY 30
ENDSEQ
ENDDLG
DLG WASTE6
SEQ SAYA
NAME SAYAWASTEF
CNT 1
DELAY 50
STARTDELAY 20
ENDDELAY 30
ENDSEQ
ENDDLG
DLG LEVER1
SEQ SAYA
NAME SAYALEVERA
CNT 1
DELAY 5
STARTDELAY 20
ENDDELAY 50
ENDSEQ
ENDDLG
DLG LEVER2
SEQ SAYA
NAME SAYALEVERB
CNT 1
DELAY 10
STARTDELAY 30
ENDDELAY 40
ENDSEQ
ENDDLG
DLG LEVER3
SEQ SAYA
NAME SAYALEVERC
CNT 1
DELAY 30
STARTDELAY 10
ENDDELAY 25
ENDSEQ
ENDDLG
DLG LEVER4
SEQ SAYA
NAME SAYALEVERD
CNT 1
DELAY 40
STARTDELAY 10
ENDDELAY 20
ENDSEQ
ENDDLG
DLG LEVER5
SEQ SAYA
NAME SAYALEVERE
CNT 1
DELAY 20
STARTDELAY 10
ENDDELAY 30
ENDSEQ
ENDDLG
DLG LEVER6
SEQ SAYA
NAME SAYALEVERF
CNT 1
DELAY 50
STARTDELAY 20
ENDDELAY 30
ENDSEQ
ENDDLG
DLG LEVER7
SEQ SAYA
NAME SAYALEVERG
CNT 2
DELAY 50
STARTDELAY 30
ENDDELAY 50
ENDSEQ
ENDDLG
DLG FOOL
SEQ SAYA
NAME SAYAFOOL
CNT 5
DELAY 120
ENDSEQ
ENDDLG
DLG CC
SEQ CYTHO
NAME CYTHOCCA
CNT 4
DELAY 120
ENDSEQ
SEQ SAYA
NAME CYTHOCCB
CNT 1
DELAY 30
ENDSEQ
SEQ CYTHO
NAME CYTHOCCC
CNT 1
DELAY 45
ENDSEQ
ENDDLG
DLG LILITH
SEQ SAYA
NAME SAYALILITHA
CNT 2
DELAY 1050 # give it about 15 seconds for it to happen
ENDSEQ
SEQ CYTHO
NAME SAYALILITHB
CNT 1
DELAY 30
ENDSEQ
SEQ SAYA
NAME SAYALILITHC
CNT 1
DELAY 20
ENDSEQ
SEQ CYTHO
NAME SAYALILITHD
CNT 1
DELAY 40
ENDSEQ
SEQ SAYA
NAME SAYALILITHE
CNT 1
DELAY 50
ENDSEQ
ENDDLG
DLG ROMERO
SEQ SAYA
NAME SAYAROMEROA
CNT 1
DELAY 50
ENDSEQ
SEQ CYTHO
NAME SAYAROMEROB
CNT 1
DELAY 40
ENDSEQ
SEQ SAYA
NAME SAYAROMEROC
CNT 1
DELAY 30
ENDSEQ
SEQ CYTHO
NAME SAYAROMEROD
CNT 2
DELAY 50
ENDSEQ
SEQ SAYA
NAME SAYAROMEROE
CNT 1
DELAY 70
ENDSEQ
ENDDLG
DLG CRANK1
SEQ SAYA
NAME SAYACRANKA
CNT 1
DELAY 30
ENDSEQ
ENDDLG
DLG CRANK2
SEQ SAYA
NAME SAYACRANKB
CNT 2
DELAY 20
ENDSEQ
ENDDLG
DLG CRANK3
SEQ SAYA
NAME SAYACRANKC
CNT 1
DELAY 80
STARTDELAY 50
ENDSEQ
ENDDLG
DLG CRANK4
SEQ SAYA
NAME SAYACRANKD
CNT 1
DELAY 40
STARTDELAY 40
ENDDELAY 80
CHARDELAY 5
ENDSEQ
ENDDLG

View file

@ -226,7 +226,7 @@ DoomEdNums
// ... and the chancebox // ... and the chancebox
4206920 = Chancebox 4206920 = Chancebox
// these are also pp stuff // these are also pp stuff
4206930 = SWWMDialogueTrigger 4206930 = SWWMDialogueTriggerGOTCHAEND
4206990 = SWWMGuard 4206990 = SWWMGuard
4206991 = SWWMHans 4206991 = SWWMHans
4206992 = SWWMSS 4206992 = SWWMSS

View file

@ -161,7 +161,6 @@ Class SWWMLevelCompatibility : LevelPostProcessor
SetThingArgument(nt,0,tiddy); SetThingArgument(nt,0,tiddy);
nt = AddThing(4206930,(0,0,0)); nt = AddThing(4206930,(0,0,0));
SetThingID(nt,tiddy); SetThingID(nt,tiddy);
SetThingArgument(nt,0,SWWMDLG_GOTCHAEND);
break; break;
// EQUINOX: various boss brain setups that could be cheesed with the Ynykron or silver bullet // EQUINOX: various boss brain setups that could be cheesed with the Ynykron or silver bullet
// Equinox MAP04 // Equinox MAP04

View file

@ -269,7 +269,7 @@ Class Quadravol : SWWMWeapon
else return; else return;
invoker.wastecycle = 0; invoker.wastecycle = 0;
if (( s.quadegg > 0) && (player == players[consoleplayer]) ) if (( s.quadegg > 0) && (player == players[consoleplayer]) )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_LEVER1+(s.quadegg-1)); EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.LEVER"..1+(s.quadegg-1));
} }
action void A_LoadOverlay() action void A_LoadOverlay()

View file

@ -267,7 +267,7 @@ Class SWWMHandler : EventHandler
if ( m && (m.GetClassName() == 'CorruptionCardsSelector') ) incardmenu = true; if ( m && (m.GetClassName() == 'CorruptionCardsSelector') ) incardmenu = true;
else if ( incardmenu ) else if ( incardmenu )
{ {
if ( !swwm_ccmessage ) SWWMDialogues.StartSeq(SWWMDLG_CC); if ( !swwm_ccmessage ) SWWMDialogues.StartSeq("CC");
CVar.GetCVar('swwm_ccmessage').SetBool(true); CVar.GetCVar('swwm_ccmessage').SetBool(true);
cardmessaged = true; cardmessaged = true;
SendNetworkEvent("swwmccstart"); SendNetworkEvent("swwmccstart");

View file

@ -409,7 +409,7 @@ extend Class SWWMHandler
let s = SWWMStats.Find(players[consoleplayer]); let s = SWWMStats.Find(players[consoleplayer]);
if ( (i > 5) && !swwm_nomapmsg && (!s || !s.oldcheat) ) if ( (i > 5) && !swwm_nomapmsg && (!s || !s.oldcheat) )
{ {
if ( !swwm_oldcheats ) SWWMDialogues.StartSeq(SWWMDLG_CHEATS); if ( !swwm_oldcheats ) SWWMDialogues.StartSeq("CHEATS");
CVar.GetCVar('swwm_oldcheats').SetBool(true); CVar.GetCVar('swwm_oldcheats').SetBool(true);
SendNetworkEvent("swwmsetoldcheat",consoleplayer); SendNetworkEvent("swwmsetoldcheat",consoleplayer);
} }

View file

@ -42,8 +42,8 @@ extend Class SWWMHandler
override void InterfaceProcess( ConsoleEvent e ) override void InterfaceProcess( ConsoleEvent e )
{ {
if ( e.IsManual ) return; if ( e.IsManual ) return;
if ( e.Name ~== "swwmsetdialogue" ) if ( e.Name.Left(16) ~== "swwmsetdialogue." )
SWWMDialogues.StartSeq(e.Args[0]); SWWMDialogues.StartSeq(e.Name.Mid(16));
else if ( e.Name.Left(11) ~== "swwmkeyget." ) else if ( e.Name.Left(11) ~== "swwmkeyget." )
{ {
let bar = SWWMStatusBar(StatusBar); let bar = SWWMStatusBar(StatusBar);

View file

@ -49,7 +49,7 @@ Class ROM3R0Message : Inventory
if ( Owner.InStateSequence(Owner.CurState,Owner.SeeState) ) if ( Owner.InStateSequence(Owner.CurState,Owner.SeeState) )
{ {
Console.PrintfEx(PRINT_CHAT,StringTable.Localize("$BOSSLINE_ROM3R0")); Console.PrintfEx(PRINT_CHAT,StringTable.Localize("$BOSSLINE_ROM3R0"));
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_ROMERO); EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.ROMERO");
DepleteOrDestroy(); DepleteOrDestroy();
return; return;
} }
@ -459,7 +459,7 @@ extend Class SWWMHandler
bosstag = "$BT_ARCHANGELUS"; bosstag = "$BT_ARCHANGELUS";
e.Thing.GiveInventory('BossMarker',1); e.Thing.GiveInventory('BossMarker',1);
e.Thing.GiveInventory('EndgameBossMarker',1); e.Thing.GiveInventory('EndgameBossMarker',1);
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_EVIB); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EVIB");
} }
} }
if ( ccloaded && (e.Thing.GetClassName() == "CCards_Boss_Romero") ) if ( ccloaded && (e.Thing.GetClassName() == "CCards_Boss_Romero") )

View file

@ -152,19 +152,19 @@ extend Class SWWMHandler
switch ( whichboss ) switch ( whichboss )
{ {
case MAP_DE1M8: case MAP_DE1M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_PHOBOS); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.PHOBOS");
break; break;
case MAP_DE2M8: case MAP_DE2M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DEIMOS); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DEIMOS");
break; break;
case MAP_DE3M8: case MAP_DE3M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DIS); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DIS");
break; break;
case MAP_DE4M8: case MAP_DE4M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_THY); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.THY");
break; break;
case MAP_DMAP07: case MAP_DMAP07:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DIMPLE); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DIMPLE");
break; break;
case MAP_DMAP30: case MAP_DMAP30:
bool rampancy = false; bool rampancy = false;
@ -174,46 +174,46 @@ extend Class SWWMHandler
rampancy = true; rampancy = true;
break; break;
} }
if ( rampancy ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_RAMPANCY); if ( rampancy ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.RAMPANCY");
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_IOS); else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.IOS");
break; break;
case MAP_DLVL08: case MAP_DLVL08:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_NERVE); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.NERVE");
break; break;
case MAP_EVMAP30: case MAP_EVMAP30:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_EVIA); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.EVIA");
break; break;
case MAP_HE1M8_HE4M8: case MAP_HE1M8_HE4M8:
if ( level.mapname ~== "E1M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_MAW); if ( level.mapname ~== "E1M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.MAW");
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_HEADS); else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.HEADS");
break; break;
case MAP_HE2M8_HE5M8: case MAP_HE2M8_HE5M8:
if ( level.mapname ~== "E2M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_PORTALS); if ( level.mapname ~== "E2M8" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.PORTALS");
else SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_BULLS); else SendInterfaceEvent(consoleplayer,"swwmsetdialogue.BULLS");
break; break;
case MAP_HE3M8: case MAP_HE3M8:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DSPARIL); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DSPARIL");
break; break;
case MAP_HMAP38: case MAP_HMAP38:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CLERIC); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CLERIC");
break; break;
case MAP_HMAP36: case MAP_HMAP36:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_FIGHTER); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.FIGHTER");
break; break;
case MAP_HMAP37: case MAP_HMAP37:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_MAGE); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.MAGE");
break; break;
case MAP_HMAP12: case MAP_HMAP12:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_HYPO); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.HYPO");
break; break;
case MAP_HMAP40: case MAP_HMAP40:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_KORAX); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.KORAX");
break; break;
case MAP_HMAP23_HMAP27_HMAP48_HMAP55: case MAP_HMAP23_HMAP27_HMAP48_HMAP55:
if ( level.mapname ~== "MAP48" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CONSTABLE); if ( level.mapname ~== "MAP48" ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CONSTABLE");
break; break;
case MAP_HMAP60: case MAP_HMAP60:
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DEATHKINGS); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DEATHKINGS");
break; break;
case MAP_NONE: case MAP_NONE:
String csum = level.GetChecksum(); String csum = level.GetChecksum();
@ -221,39 +221,39 @@ extend Class SWWMHandler
if ( (csum ~== "3D72FD17F36D2D43FD9A21E6E57EE357") if ( (csum ~== "3D72FD17F36D2D43FD9A21E6E57EE357")
|| (csum ~== "09B30C9DA9D73D3D5A709502FBB947AA") || (csum ~== "09B30C9DA9D73D3D5A709502FBB947AA")
|| (csum ~== "6EAD80DA1F30B4B3546FA294EEF9F87C") ) || (csum ~== "6EAD80DA1F30B4B3546FA294EEF9F87C") )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_SIGIL); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.SIGIL");
// Doom 2 MAP11 // Doom 2 MAP11
else if ( (csum ~== "73D9E03CEE7BF1A97EFD2EAD86688EF8") else if ( (csum ~== "73D9E03CEE7BF1A97EFD2EAD86688EF8")
|| (csum ~== "F4F2A769609988837458772AAE99008C") || (csum ~== "F4F2A769609988837458772AAE99008C")
|| (csum ~== "DF6A001A6C42DB5CCA599EE5883B294A") ) || (csum ~== "DF6A001A6C42DB5CCA599EE5883B294A") )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CIRCLE); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CIRCLE");
// Doom 2 MAP20 // Doom 2 MAP20
else if ( (csum ~== "8898F5EC9CBDCD98019A1BC1BF892A8A") else if ( (csum ~== "8898F5EC9CBDCD98019A1BC1BF892A8A")
|| (csum ~== "CC53CFFCB30E873669AA2F09DA0D3566") ) || (csum ~== "CC53CFFCB30E873669AA2F09DA0D3566") )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_GOTCHA); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.GOTCHA");
// Eviternity // Eviternity
// MAP05 // MAP05
else if ( csum ~== "33B8501B10CE5E2555C03725F765A914" ) else if ( csum ~== "33B8501B10CE5E2555C03725F765A914" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_DMN); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.DMN");
// MAP10 // MAP10
else if ( csum ~== "9E83602D325677B8D7C3BC44BEF9B03F" ) else if ( csum ~== "9E83602D325677B8D7C3BC44BEF9B03F" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CRE); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CRE");
// MAP15 // MAP15
else if ( csum ~== "CA40E6DDAB6B5C924CDC36B1F851421E" ) else if ( csum ~== "CA40E6DDAB6B5C924CDC36B1F851421E" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CRY); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CRY");
// MAP20 // MAP20
else if ( csum ~== "F34B3FD4D13AC763469A8E0D7379B9D0" ) else if ( csum ~== "F34B3FD4D13AC763469A8E0D7379B9D0" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CON); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CON");
// MAP25 // MAP25
else if ( csum ~== "196BC735473C593F924A59B238574C35" ) else if ( csum ~== "196BC735473C593F924A59B238574C35" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_SLA); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.SLA");
// Deathkings // Deathkings
// Blight // Blight
else if ( csum ~== "E3EFB0156A20ADF2DF00915A0EA85DF5" ) else if ( csum ~== "E3EFB0156A20ADF2DF00915A0EA85DF5" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_BLIGHT); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.BLIGHT");
// Nave // Nave
else if ( csum ~== "E2B5D1400279335811C1C1C0B437D9C8" ) else if ( csum ~== "E2B5D1400279335811C1C1C0B437D9C8" )
SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_NAVE); SendInterfaceEvent(consoleplayer,"swwmsetdialogue.NAVE");
break; break;
} }
} }

View file

@ -359,7 +359,7 @@ extend Class SWWMHandler
} }
else if ( ccloaded && (e.Thing.GetClassName() == "CCards_Token_Glitched") ) else if ( ccloaded && (e.Thing.GetClassName() == "CCards_Token_Glitched") )
{ {
if ( !gdat.cclilithonce ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_LILITH); if ( !gdat.cclilithonce ) SendInterfaceEvent(consoleplayer,"swwmsetdialogue.LILITH");
gdat.cclilithonce = true; gdat.cclilithonce = true;
} }
if ( SWWMUtility.IdentifyingDog(e.Thing) || SWWMUtility.IdentifyingCaco(e.Thing) if ( SWWMUtility.IdentifyingDog(e.Thing) || SWWMUtility.IdentifyingCaco(e.Thing)

View file

@ -223,7 +223,7 @@ Class SWWMStaticHandler : StaticEventHandler
if ( gamestate != GS_LEVEL ) return; if ( gamestate != GS_LEVEL ) return;
if ( SystemTime.Format("%d%m",SystemTime.Now()) == "0104" ) if ( SystemTime.Format("%d%m",SystemTime.Now()) == "0104" )
{ {
if ( !aprilfools ) SWWMDialogues.StartSeq(SWWMDLG_FOOL); if ( !aprilfools ) SWWMDialogues.StartSeq("FOOL");
aprilfools = true; aprilfools = true;
} }
else aprilfools = false; else aprilfools = false;

File diff suppressed because it is too large Load diff

View file

@ -35,13 +35,13 @@ extend Class SWWMStatusBar
{ {
EventHandler.SendNetworkEvent("swwmkoraxline",0,consoleplayer); EventHandler.SendNetworkEvent("swwmkoraxline",0,consoleplayer);
koraxline = true; koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_GREET); SWWMDialogues.StartSeq("GREET");
} }
else if ( msg == StringTable.Localize("$TXT_ACS_MAP13_11_MYSER") ) else if ( msg == StringTable.Localize("$TXT_ACS_MAP13_11_MYSER") )
{ {
EventHandler.SendNetworkEvent("swwmkoraxline",1,consoleplayer); EventHandler.SendNetworkEvent("swwmkoraxline",1,consoleplayer);
koraxline = true; koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_BLOOD); SWWMDialogues.StartSeq("BLOOD");
} }
else if ( msg == StringTable.Localize("$TXT_ACS_MAP22_27_YOUHA") ) else if ( msg == StringTable.Localize("$TXT_ACS_MAP22_27_YOUHA") )
koraxline = true; koraxline = true;
@ -49,7 +49,7 @@ extend Class SWWMStatusBar
{ {
EventHandler.SendNetworkEvent("swwmkoraxline",2,consoleplayer); EventHandler.SendNetworkEvent("swwmkoraxline",2,consoleplayer);
koraxline = true; koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_GAME); SWWMDialogues.StartSeq("GAME");
} }
else if ( msg == StringTable.Localize("$TXT_ACS_MAP27_8_WORSH") ) else if ( msg == StringTable.Localize("$TXT_ACS_MAP27_8_WORSH") )
koraxline = true; koraxline = true;
@ -57,7 +57,7 @@ extend Class SWWMStatusBar
{ {
EventHandler.SendNetworkEvent("swwmkoraxline",3,consoleplayer); EventHandler.SendNetworkEvent("swwmkoraxline",3,consoleplayer);
koraxline = true; koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_WORSHIP); SWWMDialogues.StartSeq("WORSHIP");
} }
else if ( msg == StringTable.Localize("$TXT_ACS_MAP35_12_AREYO") ) else if ( msg == StringTable.Localize("$TXT_ACS_MAP35_12_AREYO") )
koraxline = true; koraxline = true;
@ -65,7 +65,7 @@ extend Class SWWMStatusBar
{ {
EventHandler.SendNetworkEvent("swwmkoraxline",4,consoleplayer); EventHandler.SendNetworkEvent("swwmkoraxline",4,consoleplayer);
koraxline = true; koraxline = true;
SWWMDialogues.StartSeq(SWWMDLG_MASTERS); SWWMDialogues.StartSeq("MASTERS");
} }
if ( koraxline ) if ( koraxline )
{ {
@ -145,31 +145,31 @@ extend Class SWWMStatusBar
switch ( puzzlecnt ) switch ( puzzlecnt )
{ {
case 1: case 1:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE1); SWWMDialogues.StartSeq("PUZZLE1");
break; break;
case 2: case 2:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE2); SWWMDialogues.StartSeq("PUZZLE2");
break; break;
case 3: case 3:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE3); SWWMDialogues.StartSeq("PUZZLE3");
break; break;
case 5: case 5:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE4); SWWMDialogues.StartSeq("PUZZLE4");
break; break;
case 8: case 8:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE5); SWWMDialogues.StartSeq("PUZZLE5");
break; break;
case 11: case 11:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE6); SWWMDialogues.StartSeq("PUZZLE6");
break; break;
case 20: case 20:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE7); SWWMDialogues.StartSeq("PUZZLE7");
break; break;
case 30: case 30:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE8); SWWMDialogues.StartSeq("PUZZLE8");
break; break;
case 31: case 31:
SWWMDialogues.StartSeq(SWWMDLG_PUZZLE9); SWWMDialogues.StartSeq("PUZZLE9");
break; break;
} }
} }

View file

@ -575,17 +575,23 @@ Class SWWMDirectMessage : HUDMessageBase
// used to manually trigger dialogues // used to manually trigger dialogues
// the AMBUSH flag means the dialogue only shows for the activator // the AMBUSH flag means the dialogue only shows for the activator
Class SWWMDialogueTrigger : SWWMNonInteractiveActor Class SWWMDialogueTrigger : SWWMNonInteractiveActor abstract
{ {
override void Activate( Actor activator ) override void Activate( Actor activator )
{ {
// this is a huge gross hack that only exists because you can't get arg0str out of actors
// (primarily, because you can convert names to ints, but not viceversa)
String dlg = GetClassName();
dlg.StripLeft("SWWMDialogueTrigger");
if ( !bAMBUSH || (activator && (activator.player == players[consoleplayer])) ) if ( !bAMBUSH || (activator && (activator.player == players[consoleplayer])) )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",args[0]); EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue."..dlg);
Destroy(); Destroy();
} }
override void Tick() {} override void Tick() {}
} }
Class SWWMDialogueTriggerGOTCHAEND : SWWMDialogueTrigger {}
// I'm just doing this as an experiment, don't mind me // I'm just doing this as an experiment, don't mind me
Class DSMapTitle : HUDMessageBase Class DSMapTitle : HUDMessageBase

View file

@ -316,7 +316,7 @@ Class DeepImpact : SWWMWeapon
else return; else return;
invoker.wastecycle = 0; invoker.wastecycle = 0;
if ( player == players[consoleplayer] ) if ( player == players[consoleplayer] )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_CRANK1+(s.deepegg-1)); EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.CRANK"..1+(s.deepegg-1));
} }
override void MarkPrecacheSounds() override void MarkPrecacheSounds()

View file

@ -572,7 +572,7 @@ Class SilverBullet : SWWMWeapon
else return; else return;
invoker.wastecycle = 0; invoker.wastecycle = 0;
if ( (s.silveregg > 2) && (s.silveregg%2) && (player == players[consoleplayer]) ) if ( (s.silveregg > 2) && (s.silveregg%2) && (player == players[consoleplayer]) )
EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue",SWWMDLG_WASTE1+(((s.silveregg-1)/2)-1)); EventHandler.SendInterfaceEvent(consoleplayer,"swwmsetdialogue.WASTE"..1+(((s.silveregg-1)/2)-1));
} }
action void A_DropMag() action void A_DropMag()
{ {