From 6a1172491e8aa7d51bf959f592d6b0b2ed44d414 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 28 Aug 2021 18:06:11 +0200 Subject: [PATCH] Verdant Citadel compatibility fixes. --- gldefs.keys | 17 +++ language.version | 4 +- modeldef.keygesture | 121 ++++++++++++++++++ modeldef.keys | 61 +++++++++ models/DoomPurpleSkull.png | Bin 0 -> 5371 bytes zscript/handler/swwm_handler_replacements.zsc | 5 + zscript/items/swwm_keys.zsc | 85 ++++++++++++ zscript/items/swwm_keys_gesture.zsc | 1 + 8 files changed, 292 insertions(+), 2 deletions(-) create mode 100644 models/DoomPurpleSkull.png diff --git a/gldefs.keys b/gldefs.keys index 75f8762ed..90b44a8ac 100644 --- a/gldefs.keys +++ b/gldefs.keys @@ -117,6 +117,12 @@ HardwareShader Texture "models/DoomYellowSkull.png" Texture "masktex" "models/DoomSkull_mask.png" Texture "envtex" "models/matcap/goldmap.png" } +HardwareShader Texture "models/DoomPurpleSkull.png" +{ + Shader "shaders/glsl/Shinemask.fp" + Texture "masktex" "models/DoomSkull_mask.png" + Texture "envtex" "models/matcap/purpmap.png" +} pointlight SWWMREDKEY { @@ -160,6 +166,13 @@ pointlight SWWMORANGEKEY attenuate 1 offset 0 16 0 } +pointlight SWWMPURPLEKEY +{ + color 1.0 0.0 1.0 + size 40 + attenuate 1 + offset 0 16 0 +} pointlight SWWMCARDLITE { color 0.5 0.5 0.0 @@ -216,6 +229,10 @@ object SWWMYellowSkull { frame XZW1 { light SWWMYELLOWKEY } } +object SWWMPurpleSkull +{ + frame XZW1 { light SWWMPURPLEKEY } +} object SWWMKeyGreen { diff --git a/language.version b/language.version index 4aadae833..c6eb16db8 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.8 \cu(Sun 22 Aug 10:46:17 CEST 2021)\c-"; -SWWM_SHORTVER="\cw1.0.8 \cu(2021-08-22 10:46:17)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw1.0.8 \cu(Sat 28 Aug 18:06:11 CEST 2021)\c-"; +SWWM_SHORTVER="\cw1.0.8 \cu(2021-08-28 18:06:11)\c-"; diff --git a/modeldef.keygesture b/modeldef.keygesture index db2ecb628..64547ad90 100644 --- a/modeldef.keygesture +++ b/modeldef.keygesture @@ -1093,6 +1093,127 @@ Model "SWWMBlueSkullGesture" FrameIndex XZW0 M 1 12 FrameIndex XZW0 N 1 13 } +Model "SWWMPurpleSkullGesture" +{ + Path "models" + Model 0 "DoomSkull1st_d.3d" + SurfaceSkin 0 0 "DemoTags.png" + SurfaceSkin 0 1 "DemoArms.png" + SurfaceSkin 0 2 "DemoSoft.png" + SurfaceSkin 0 3 "DoomPurpleSkull.png" + + AngleOffset -90 + Scale -0.005 0.0025 0.005 + + // Base + FrameIndex XZW1 A 0 0 + // Pickup + FrameIndex XZW1 B 0 1 + FrameIndex XZW1 C 0 2 + FrameIndex XZW1 D 0 3 + FrameIndex XZW1 E 0 4 + FrameIndex XZW1 F 0 5 + FrameIndex XZW1 G 0 6 + FrameIndex XZW1 H 0 7 + FrameIndex XZW1 I 0 8 + FrameIndex XZW1 J 0 9 + FrameIndex XZW1 K 0 10 + FrameIndex XZW1 L 0 11 + FrameIndex XZW1 M 0 12 + FrameIndex XZW1 N 0 13 + FrameIndex XZW1 O 0 14 + FrameIndex XZW1 P 0 15 + FrameIndex XZW1 Q 0 16 + FrameIndex XZW1 R 0 17 + FrameIndex XZW1 S 0 18 + FrameIndex XZW1 T 0 19 + // Use 1 + FrameIndex XZW1 U 0 21 + FrameIndex XZW1 V 0 22 + FrameIndex XZW1 W 0 23 + FrameIndex XZW1 X 0 24 + FrameIndex XZW1 Y 0 25 + FrameIndex XZW1 Z 0 26 + FrameIndex XZW2 A 0 27 + FrameIndex XZW2 B 0 28 + FrameIndex XZW2 C 0 29 + FrameIndex XZW2 D 0 30 + FrameIndex XZW2 E 0 31 + FrameIndex XZW2 F 0 32 + FrameIndex XZW2 G 0 33 + FrameIndex XZW2 H 0 34 + FrameIndex XZW2 I 0 35 + FrameIndex XZW2 J 0 36 + FrameIndex XZW2 K 0 37 + FrameIndex XZW2 L 0 38 + FrameIndex XZW2 M 0 39 + FrameIndex XZW2 N 0 40 + FrameIndex XZW2 O 0 41 + FrameIndex XZW2 P 0 42 + FrameIndex XZW2 Q 0 43 + FrameIndex XZW2 R 0 44 + // Use 2 + FrameIndex XZW2 S 0 46 + FrameIndex XZW2 T 0 47 + FrameIndex XZW2 U 0 48 + FrameIndex XZW2 V 0 49 + FrameIndex XZW2 W 0 51 + FrameIndex XZW2 X 0 52 + FrameIndex XZW2 Y 0 53 + FrameIndex XZW2 Z 0 54 + FrameIndex XZW3 A 0 55 + FrameIndex XZW3 B 0 56 + FrameIndex XZW3 C 0 57 + FrameIndex XZW3 D 0 58 + FrameIndex XZW3 E 0 59 + FrameIndex XZW3 F 0 60 + FrameIndex XZW3 G 0 61 + FrameIndex XZW3 H 0 62 + FrameIndex XZW3 I 0 63 + FrameIndex XZW3 J 0 64 + FrameIndex XZW3 K 0 65 + FrameIndex XZW3 L 0 66 + FrameIndex XZW3 M 0 67 + FrameIndex XZW3 N 0 68 + FrameIndex XZW3 O 0 69 + FrameIndex XZW3 P 0 70 + FrameIndex XZW3 Q 0 71 + FrameIndex XZW3 R 0 72 + FrameIndex XZW3 S 0 73 + FrameIndex XZW3 T 0 74 + FrameIndex XZW3 U 0 75 + FrameIndex XZW3 V 0 76 + FrameIndex XZW3 W 0 77 + FrameIndex XZW3 X 0 78 + FrameIndex XZW3 Y 0 79 +} +Model "SWWMPurpleSkullGesture" +{ + Path "models" + Model 1 "QuickPunch1st_d.3d" + SurfaceSkin 1 0 "DemoTags.png" + SurfaceSkin 1 1 "DemoArms.png" + SurfaceSkin 1 2 "DemoSoft.png" + + AngleOffset -90 + Scale -0.005 0.0025 0.005 + + // Punch + FrameIndex XZW0 A 1 0 + FrameIndex XZW0 B 1 1 + FrameIndex XZW0 C 1 2 + FrameIndex XZW0 D 1 3 + FrameIndex XZW0 E 1 4 + FrameIndex XZW0 F 1 5 + FrameIndex XZW0 G 1 6 + FrameIndex XZW0 H 1 7 + FrameIndex XZW0 I 1 8 + FrameIndex XZW0 J 1 9 + FrameIndex XZW0 K 1 10 + FrameIndex XZW0 L 1 11 + FrameIndex XZW0 M 1 12 + FrameIndex XZW0 N 1 13 +} Model "SWWMGreenKeyGesture" { Path "models" diff --git a/modeldef.keys b/modeldef.keys index bf0d0f099..65de32746 100644 --- a/modeldef.keys +++ b/modeldef.keys @@ -147,6 +147,67 @@ Model "SWWMYellowSkull" FrameIndex XZW1 A 0 0 } +Model "SWWMPurpleSkull" +{ + Path "models" + Model 0 "DoomSkullKey_d.3d" + Skin 0 "DoomPurpleSkull.png" + Scale 0.035 0.035 0.035 + RollOffset 15 + ZOffset 16 + ROTATING + + FrameIndex XZW1 A 0 0 +} + +Model "SWWMFakeRedSkull" +{ + Path "models" + Model 0 "DoomSkullKey_d.3d" + Skin 0 "DoomRedSkull.png" + Scale 0.035 0.035 0.035 + RollOffset 35 + AngleOffset 244 + ZOffset 5 + + FrameIndex XZW1 A 0 0 +} +Model "SWWMFakeBlueSkull" +{ + Path "models" + Model 0 "DoomSkullKey_d.3d" + Skin 0 "DoomBlueSkull.png" + Scale 0.035 0.035 0.035 + RollOffset 35 + AngleOffset 225 + ZOffset 5 + + FrameIndex XZW1 A 0 0 +} +Model "SWWMFakeYellowSkull" +{ + Path "models" + Model 0 "DoomSkullKey_d.3d" + Skin 0 "DoomYellowSkull.png" + Scale 0.035 0.035 0.035 + RollOffset 35 + AngleOffset 135 + ZOffset 5 + + FrameIndex XZW1 A 0 0 +} +Model "SWWMFakePurpleSkull" +{ + Path "models" + Model 0 "DoomSkullKey_d.3d" + Skin 0 "DoomPurpleSkull.png" + Scale 0.035 0.035 0.035 + RollOffset 35 + AngleOffset 116 + ZOffset 5 + + FrameIndex XZW1 A 0 0 +} Model "SWWMKeyGreen" { diff --git a/models/DoomPurpleSkull.png b/models/DoomPurpleSkull.png new file mode 100644 index 0000000000000000000000000000000000000000..2c10724c872d6ea2cafde443562f1f7d2f264832 GIT binary patch literal 5371 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 literal 0 HcmV?d00001 diff --git a/zscript/handler/swwm_handler_replacements.zsc b/zscript/handler/swwm_handler_replacements.zsc index 1d6f4780d..f58c227d8 100644 --- a/zscript/handler/swwm_handler_replacements.zsc +++ b/zscript/handler/swwm_handler_replacements.zsc @@ -617,9 +617,14 @@ extend Class SWWMHandler else if ( (e.Replacee is 'BlueCard') && !(e.Replacee is 'ChexBlueCard') ) e.Replacement = 'SWWMBlueCard'; else if ( (e.Replacee is 'YellowCard') && !(e.Replacee is 'ChexYellowCard') ) e.Replacement = 'SWWMYellowCard'; else if ( e.Replacee.GetClassName() == 'GreenCard' ) e.Replacement = 'SWWMGreenCard'; + else if ( e.Replacee.GetClassName() == 'RedSkullFake' ) e.Replacement = 'SWWMFakeRedSkull'; + else if ( e.Replacee.GetClassName() == 'BlueSkullFake' ) e.Replacement = 'SWWMFakeBlueSkull'; + else if ( e.Replacee.GetClassName() == 'YellowSkullFake' ) e.Replacement = 'SWWMFakeYellowSkull'; + else if ( e.Replacee.GetClassName() == 'PurpleSkullFake' ) e.Replacement = 'SWWMFakePurpleSkull'; else if ( e.Replacee is 'RedSkull' ) e.Replacement = iskdizd?'SWWMSilverCardKDiZD':'SWWMRedSkull'; else if ( e.Replacee is 'BlueSkull' ) e.Replacement = iskdizd?'SWWMGreenCardKDiZD':'SWWMBlueSkull'; else if ( e.Replacee is 'YellowSkull' ) e.Replacement = iskdizd?'SWWMOrangeCardKDiZD':'SWWMYellowSkull'; + else if ( e.Replacee.GetClassName() == 'PurpleSkull' ) e.Replacement = 'SWWMPurpleSkull'; else if ( e.Replacee is 'KeyGreen' ) e.Replacement = 'SWWMKeyGreen'; else if ( e.Replacee is 'KeyBlue' ) e.Replacement = 'SWWMKeyBlue'; else if ( e.Replacee is 'KeyYellow' ) e.Replacement = 'SWWMKeyYellow'; diff --git a/zscript/items/swwm_keys.zsc b/zscript/items/swwm_keys.zsc index 2462e6eb5..651a10f79 100644 --- a/zscript/items/swwm_keys.zsc +++ b/zscript/items/swwm_keys.zsc @@ -249,6 +249,91 @@ Class SWWMYellowSkull : SWWMKey Stop; } } +Class SWWMPurpleSkull : SWWMKey +{ + Default + { + Tag "$T_PURPLESKULL"; + Species "PurpleSkull"; + Inventory.PickupMessage "$T_PURPLESKULL"; + Inventory.PickupFlash "SWWMPurplePickupFlash"; + SWWMKey.GestureWeapon "SWWMPurpleSkullGesture"; + Radius 10; + Height 25; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} + +// Verdant Citadel fake keys +Class SWWMFakeRedSkull : Actor +{ + Default + { + Radius .1; + Height 0.; + +NOBLOCKMAP; + +MOVEWITHSECTOR; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} +Class SWWMFakeBlueSkull : Actor +{ + Default + { + Radius .1; + Height 0.; + +NOBLOCKMAP; + +MOVEWITHSECTOR; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} +Class SWWMFakeYellowSkull : Actor +{ + Default + { + Radius .1; + Height 0.; + +NOBLOCKMAP; + +MOVEWITHSECTOR; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} +Class SWWMFakePurpleSkull : Actor +{ + Default + { + Radius .1; + Height 0.; + +NOBLOCKMAP; + +MOVEWITHSECTOR; + } + States + { + Spawn: + XZW1 A -1; + Stop; + } +} Class SWWMKeyGreen : SWWMKey { diff --git a/zscript/items/swwm_keys_gesture.zsc b/zscript/items/swwm_keys_gesture.zsc index 76124e060..670df8d5a 100644 --- a/zscript/items/swwm_keys_gesture.zsc +++ b/zscript/items/swwm_keys_gesture.zsc @@ -133,6 +133,7 @@ Class SWWMGreenCardGesture : SWWMKeyGesture {} Class SWWMOrangeCardGesture : SWWMKeyGesture {} Class SWWMRedSkullGesture : SWWMKeyGesture {} Class SWWMYellowSkullGesture : SWWMKeyGesture {} +Class SWWMPurpleSkullGesture : SWWMKeyGesture {} Class SWWMBlueSkullGesture : SWWMKeyGesture {} Class SWWMGreenKeyGesture : SWWMKeyGesture {} Class SWWMBlueKeyGesture : SWWMKeyGesture {}