diff --git a/Readme.md b/Readme.md index bd58bd7..3dbbde5 100644 --- a/Readme.md +++ b/Readme.md @@ -3,7 +3,7 @@ What began as a test for importing UT vertex meshes has turned into an actual full UT weapon and item mod. -This mod requires GZDoom 4.2.3 or later. +This mod requires GZDoom 4.2.4 or later. ## Currently implemented @@ -61,7 +61,9 @@ This mod requires GZDoom 4.2.3 or later. ## In progress - - N/A, this is the 1.0.4 release + - Implementing Ice death support. + - Small bugfixes here and there. + - Adjustments to firing speeds for more vanilla consistency. ## Planned @@ -81,4 +83,5 @@ This mod requires GZDoom 4.2.3 or later. ## Known bugs - Biorifle sludge doesn't attach properly when it lands on the edge between - sectors. This is most noticeable with moving sectors and 3d floors. + sectors. This is most noticeable with moving sectors and 3d floors. This + might be fixed once there's virtuals for world collision. diff --git a/credits.txt b/credits.txt index 56453af..5cb08ed 100644 --- a/credits.txt +++ b/credits.txt @@ -3,3 +3,4 @@ Models, textures and audio (C)1999 Epic Games. Porting and adjustments by Marisa Kirisame. Special thanks to KeksDose for libeye. +Special thanks also to Skerion for the video used by the anti-bd switch. diff --git a/gldefs.txt b/gldefs.txt index 75973c5..3930326 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -71,6 +71,10 @@ Object "UTHereticBlueKey" { Frame "UKEY" { light "UTBlueKeyLight" } } +Object "UTHereticRedKey" +{ + Frame "UKEY" { light "UTRedKeyLight" } +} PointLight SHOCKAMMOLIGHT { diff --git a/graphics/grunt/B_001.jpg b/graphics/grunt/B_001.jpg new file mode 100644 index 0000000..4eea690 Binary files /dev/null and b/graphics/grunt/B_001.jpg differ diff --git a/graphics/grunt/B_002.jpg b/graphics/grunt/B_002.jpg new file mode 100644 index 0000000..415dcda Binary files /dev/null and b/graphics/grunt/B_002.jpg differ diff --git a/graphics/grunt/B_003.jpg b/graphics/grunt/B_003.jpg new file mode 100644 index 0000000..d9182c8 Binary files /dev/null and b/graphics/grunt/B_003.jpg differ diff --git a/graphics/grunt/B_004.jpg b/graphics/grunt/B_004.jpg new file mode 100644 index 0000000..59b8a54 Binary files /dev/null and b/graphics/grunt/B_004.jpg differ diff --git a/graphics/grunt/B_005.jpg b/graphics/grunt/B_005.jpg new file mode 100644 index 0000000..8d4b6e7 Binary files /dev/null and b/graphics/grunt/B_005.jpg differ diff --git a/graphics/grunt/B_006.jpg b/graphics/grunt/B_006.jpg new file mode 100644 index 0000000..82f3d11 Binary files /dev/null and b/graphics/grunt/B_006.jpg differ diff --git a/graphics/grunt/B_007.jpg b/graphics/grunt/B_007.jpg new file mode 100644 index 0000000..d067668 Binary files /dev/null and b/graphics/grunt/B_007.jpg differ diff --git a/graphics/grunt/B_008.jpg b/graphics/grunt/B_008.jpg new file mode 100644 index 0000000..24e3374 Binary files /dev/null and b/graphics/grunt/B_008.jpg differ diff --git a/graphics/grunt/B_009.jpg b/graphics/grunt/B_009.jpg new file mode 100644 index 0000000..3a70823 Binary files /dev/null and b/graphics/grunt/B_009.jpg differ diff --git a/graphics/grunt/B_010.jpg b/graphics/grunt/B_010.jpg new file mode 100644 index 0000000..8da391f Binary files /dev/null and b/graphics/grunt/B_010.jpg differ diff --git a/graphics/grunt/B_011.jpg b/graphics/grunt/B_011.jpg new file mode 100644 index 0000000..ad1eb0a Binary files /dev/null and b/graphics/grunt/B_011.jpg differ diff --git a/graphics/grunt/B_012.jpg b/graphics/grunt/B_012.jpg new file mode 100644 index 0000000..edc28a7 Binary files /dev/null and b/graphics/grunt/B_012.jpg differ diff --git a/graphics/grunt/B_013.jpg b/graphics/grunt/B_013.jpg new file mode 100644 index 0000000..59ac1e0 Binary files /dev/null and b/graphics/grunt/B_013.jpg differ diff --git a/graphics/grunt/B_014.jpg b/graphics/grunt/B_014.jpg new file mode 100644 index 0000000..cc62ca9 Binary files /dev/null and b/graphics/grunt/B_014.jpg differ diff --git a/graphics/grunt/B_015.jpg b/graphics/grunt/B_015.jpg new file mode 100644 index 0000000..2c6860f Binary files /dev/null and b/graphics/grunt/B_015.jpg differ diff --git a/graphics/grunt/B_016.jpg b/graphics/grunt/B_016.jpg new file mode 100644 index 0000000..e544b4f Binary files /dev/null and b/graphics/grunt/B_016.jpg differ diff --git a/graphics/grunt/B_017.jpg b/graphics/grunt/B_017.jpg new file mode 100644 index 0000000..3c5cda1 Binary files /dev/null and b/graphics/grunt/B_017.jpg differ diff --git a/graphics/grunt/B_018.jpg b/graphics/grunt/B_018.jpg new file mode 100644 index 0000000..3c8dca4 Binary files /dev/null and b/graphics/grunt/B_018.jpg differ diff --git a/graphics/grunt/B_019.jpg b/graphics/grunt/B_019.jpg new file mode 100644 index 0000000..923c34d Binary files /dev/null and b/graphics/grunt/B_019.jpg differ diff --git a/graphics/grunt/B_020.jpg b/graphics/grunt/B_020.jpg new file mode 100644 index 0000000..81e2c9b Binary files /dev/null and b/graphics/grunt/B_020.jpg differ diff --git a/graphics/grunt/B_021.jpg b/graphics/grunt/B_021.jpg new file mode 100644 index 0000000..b583640 Binary files /dev/null and b/graphics/grunt/B_021.jpg differ diff --git a/graphics/grunt/B_022.jpg b/graphics/grunt/B_022.jpg new file mode 100644 index 0000000..a109d2b Binary files /dev/null and b/graphics/grunt/B_022.jpg differ diff --git a/graphics/grunt/B_023.jpg b/graphics/grunt/B_023.jpg new file mode 100644 index 0000000..1a83ac0 Binary files /dev/null and b/graphics/grunt/B_023.jpg differ diff --git a/graphics/grunt/B_024.jpg b/graphics/grunt/B_024.jpg new file mode 100644 index 0000000..8b6b1fe Binary files /dev/null and b/graphics/grunt/B_024.jpg differ diff --git a/graphics/grunt/B_025.jpg b/graphics/grunt/B_025.jpg new file mode 100644 index 0000000..a0ea160 Binary files /dev/null and b/graphics/grunt/B_025.jpg differ diff --git a/graphics/grunt/B_026.jpg b/graphics/grunt/B_026.jpg new file mode 100644 index 0000000..5247cad Binary files /dev/null and b/graphics/grunt/B_026.jpg differ diff --git a/graphics/grunt/B_027.jpg b/graphics/grunt/B_027.jpg new file mode 100644 index 0000000..1ec9fa1 Binary files /dev/null and b/graphics/grunt/B_027.jpg differ diff --git a/graphics/grunt/B_028.jpg b/graphics/grunt/B_028.jpg new file mode 100644 index 0000000..f0994f9 Binary files /dev/null and b/graphics/grunt/B_028.jpg differ diff --git a/graphics/grunt/B_029.jpg b/graphics/grunt/B_029.jpg new file mode 100644 index 0000000..45458e0 Binary files /dev/null and b/graphics/grunt/B_029.jpg differ diff --git a/graphics/grunt/B_030.jpg b/graphics/grunt/B_030.jpg new file mode 100644 index 0000000..171aafb Binary files /dev/null and b/graphics/grunt/B_030.jpg differ diff --git a/graphics/grunt/B_031.jpg b/graphics/grunt/B_031.jpg new file mode 100644 index 0000000..f6ac183 Binary files /dev/null and b/graphics/grunt/B_031.jpg differ diff --git a/graphics/grunt/B_032.jpg b/graphics/grunt/B_032.jpg new file mode 100644 index 0000000..2eb85af Binary files /dev/null and b/graphics/grunt/B_032.jpg differ diff --git a/graphics/grunt/B_033.jpg b/graphics/grunt/B_033.jpg new file mode 100644 index 0000000..b9eb64b Binary files /dev/null and b/graphics/grunt/B_033.jpg differ diff --git a/graphics/grunt/B_034.jpg b/graphics/grunt/B_034.jpg new file mode 100644 index 0000000..386b1bc Binary files /dev/null and b/graphics/grunt/B_034.jpg differ diff --git a/graphics/grunt/B_035.jpg b/graphics/grunt/B_035.jpg new file mode 100644 index 0000000..6356b73 Binary files /dev/null and b/graphics/grunt/B_035.jpg differ diff --git a/graphics/grunt/B_036.jpg b/graphics/grunt/B_036.jpg new file mode 100644 index 0000000..2c9dc46 Binary files /dev/null and b/graphics/grunt/B_036.jpg differ diff --git a/graphics/grunt/B_037.jpg b/graphics/grunt/B_037.jpg new file mode 100644 index 0000000..868f13b Binary files /dev/null and b/graphics/grunt/B_037.jpg differ diff --git a/graphics/grunt/B_038.jpg b/graphics/grunt/B_038.jpg new file mode 100644 index 0000000..8f17d5a Binary files /dev/null and b/graphics/grunt/B_038.jpg differ diff --git a/graphics/grunt/B_039.jpg b/graphics/grunt/B_039.jpg new file mode 100644 index 0000000..0e03c0b Binary files /dev/null and b/graphics/grunt/B_039.jpg differ diff --git a/graphics/grunt/B_040.jpg b/graphics/grunt/B_040.jpg new file mode 100644 index 0000000..9167387 Binary files /dev/null and b/graphics/grunt/B_040.jpg differ diff --git a/graphics/grunt/B_041.jpg b/graphics/grunt/B_041.jpg new file mode 100644 index 0000000..31d16d9 Binary files /dev/null and b/graphics/grunt/B_041.jpg differ diff --git a/graphics/grunt/B_042.jpg b/graphics/grunt/B_042.jpg new file mode 100644 index 0000000..5a53edc Binary files /dev/null and b/graphics/grunt/B_042.jpg differ diff --git a/graphics/grunt/B_043.jpg b/graphics/grunt/B_043.jpg new file mode 100644 index 0000000..d807216 Binary files /dev/null and b/graphics/grunt/B_043.jpg differ diff --git a/graphics/grunt/B_044.jpg b/graphics/grunt/B_044.jpg new file mode 100644 index 0000000..82429d8 Binary files /dev/null and b/graphics/grunt/B_044.jpg differ diff --git a/graphics/grunt/B_045.jpg b/graphics/grunt/B_045.jpg new file mode 100644 index 0000000..54aa791 Binary files /dev/null and b/graphics/grunt/B_045.jpg differ diff --git a/graphics/grunt/B_046.jpg b/graphics/grunt/B_046.jpg new file mode 100644 index 0000000..e0643f3 Binary files /dev/null and b/graphics/grunt/B_046.jpg differ diff --git a/graphics/grunt/B_047.jpg b/graphics/grunt/B_047.jpg new file mode 100644 index 0000000..ad6c710 Binary files /dev/null and b/graphics/grunt/B_047.jpg differ diff --git a/graphics/grunt/B_048.jpg b/graphics/grunt/B_048.jpg new file mode 100644 index 0000000..d686043 Binary files /dev/null and b/graphics/grunt/B_048.jpg differ diff --git a/graphics/grunt/B_049.jpg b/graphics/grunt/B_049.jpg new file mode 100644 index 0000000..2730795 Binary files /dev/null and b/graphics/grunt/B_049.jpg differ diff --git a/graphics/grunt/B_050.jpg b/graphics/grunt/B_050.jpg new file mode 100644 index 0000000..2861477 Binary files /dev/null and b/graphics/grunt/B_050.jpg differ diff --git a/graphics/grunt/B_051.jpg b/graphics/grunt/B_051.jpg new file mode 100644 index 0000000..cb74ca3 Binary files /dev/null and b/graphics/grunt/B_051.jpg differ diff --git a/graphics/grunt/B_052.jpg b/graphics/grunt/B_052.jpg new file mode 100644 index 0000000..419786c Binary files /dev/null and b/graphics/grunt/B_052.jpg differ diff --git a/graphics/grunt/B_053.jpg b/graphics/grunt/B_053.jpg new file mode 100644 index 0000000..0ddc9ef Binary files /dev/null and b/graphics/grunt/B_053.jpg differ diff --git a/graphics/grunt/B_054.jpg b/graphics/grunt/B_054.jpg new file mode 100644 index 0000000..7329d0e Binary files /dev/null and b/graphics/grunt/B_054.jpg differ diff --git a/graphics/grunt/B_055.jpg b/graphics/grunt/B_055.jpg new file mode 100644 index 0000000..d2aa00b Binary files /dev/null and b/graphics/grunt/B_055.jpg differ diff --git a/graphics/grunt/B_056.jpg b/graphics/grunt/B_056.jpg new file mode 100644 index 0000000..92054b9 Binary files /dev/null and b/graphics/grunt/B_056.jpg differ diff --git a/graphics/grunt/B_057.jpg b/graphics/grunt/B_057.jpg new file mode 100644 index 0000000..b4417aa Binary files /dev/null and b/graphics/grunt/B_057.jpg differ diff --git a/graphics/grunt/B_058.jpg b/graphics/grunt/B_058.jpg new file mode 100644 index 0000000..c9a2591 Binary files /dev/null and b/graphics/grunt/B_058.jpg differ diff --git a/graphics/grunt/B_059.jpg b/graphics/grunt/B_059.jpg new file mode 100644 index 0000000..af5ec99 Binary files /dev/null and b/graphics/grunt/B_059.jpg differ diff --git a/graphics/grunt/B_060.jpg b/graphics/grunt/B_060.jpg new file mode 100644 index 0000000..842e710 Binary files /dev/null and b/graphics/grunt/B_060.jpg differ diff --git a/graphics/grunt/B_061.jpg b/graphics/grunt/B_061.jpg new file mode 100644 index 0000000..330646a Binary files /dev/null and b/graphics/grunt/B_061.jpg differ diff --git a/graphics/grunt/B_062.jpg b/graphics/grunt/B_062.jpg new file mode 100644 index 0000000..5d81273 Binary files /dev/null and b/graphics/grunt/B_062.jpg differ diff --git a/graphics/grunt/B_063.jpg b/graphics/grunt/B_063.jpg new file mode 100644 index 0000000..cb3c81d Binary files /dev/null and b/graphics/grunt/B_063.jpg differ diff --git a/graphics/grunt/B_064.jpg b/graphics/grunt/B_064.jpg new file mode 100644 index 0000000..fe910a6 Binary files /dev/null and b/graphics/grunt/B_064.jpg differ diff --git a/graphics/grunt/B_065.jpg b/graphics/grunt/B_065.jpg new file mode 100644 index 0000000..eecdec7 Binary files /dev/null and b/graphics/grunt/B_065.jpg differ diff --git a/graphics/grunt/B_066.jpg b/graphics/grunt/B_066.jpg new file mode 100644 index 0000000..aab2d04 Binary files /dev/null and b/graphics/grunt/B_066.jpg differ diff --git a/graphics/grunt/B_067.jpg b/graphics/grunt/B_067.jpg new file mode 100644 index 0000000..69bc347 Binary files /dev/null and b/graphics/grunt/B_067.jpg differ diff --git a/graphics/grunt/B_068.jpg b/graphics/grunt/B_068.jpg new file mode 100644 index 0000000..507122e Binary files /dev/null and b/graphics/grunt/B_068.jpg differ diff --git a/graphics/grunt/B_069.jpg b/graphics/grunt/B_069.jpg new file mode 100644 index 0000000..8989cb0 Binary files /dev/null and b/graphics/grunt/B_069.jpg differ diff --git a/graphics/grunt/B_070.jpg b/graphics/grunt/B_070.jpg new file mode 100644 index 0000000..9d140d8 Binary files /dev/null and b/graphics/grunt/B_070.jpg differ diff --git a/graphics/grunt/B_071.jpg b/graphics/grunt/B_071.jpg new file mode 100644 index 0000000..24eaa9a Binary files /dev/null and b/graphics/grunt/B_071.jpg differ diff --git a/graphics/grunt/B_072.jpg b/graphics/grunt/B_072.jpg new file mode 100644 index 0000000..36deb8b Binary files /dev/null and b/graphics/grunt/B_072.jpg differ diff --git a/graphics/grunt/B_073.jpg b/graphics/grunt/B_073.jpg new file mode 100644 index 0000000..f915b8d Binary files /dev/null and b/graphics/grunt/B_073.jpg differ diff --git a/graphics/grunt/B_074.jpg b/graphics/grunt/B_074.jpg new file mode 100644 index 0000000..b61d75a Binary files /dev/null and b/graphics/grunt/B_074.jpg differ diff --git a/graphics/grunt/B_075.jpg b/graphics/grunt/B_075.jpg new file mode 100644 index 0000000..2a0d43f Binary files /dev/null and b/graphics/grunt/B_075.jpg differ diff --git a/graphics/grunt/B_076.jpg b/graphics/grunt/B_076.jpg new file mode 100644 index 0000000..9d9c96d Binary files /dev/null and b/graphics/grunt/B_076.jpg differ diff --git a/graphics/grunt/B_077.jpg b/graphics/grunt/B_077.jpg new file mode 100644 index 0000000..c77b731 Binary files /dev/null and b/graphics/grunt/B_077.jpg differ diff --git a/graphics/grunt/B_078.jpg b/graphics/grunt/B_078.jpg new file mode 100644 index 0000000..43dc7de Binary files /dev/null and b/graphics/grunt/B_078.jpg differ diff --git a/graphics/grunt/B_079.jpg b/graphics/grunt/B_079.jpg new file mode 100644 index 0000000..9994c28 Binary files /dev/null and b/graphics/grunt/B_079.jpg differ diff --git a/graphics/grunt/B_080.jpg b/graphics/grunt/B_080.jpg new file mode 100644 index 0000000..6e21e03 Binary files /dev/null and b/graphics/grunt/B_080.jpg differ diff --git a/graphics/grunt/B_081.jpg b/graphics/grunt/B_081.jpg new file mode 100644 index 0000000..52a9326 Binary files /dev/null and b/graphics/grunt/B_081.jpg differ diff --git a/graphics/grunt/B_082.jpg b/graphics/grunt/B_082.jpg new file mode 100644 index 0000000..fbb99e4 Binary files /dev/null and b/graphics/grunt/B_082.jpg differ diff --git a/graphics/grunt/B_083.jpg b/graphics/grunt/B_083.jpg new file mode 100644 index 0000000..cd9d986 Binary files /dev/null and b/graphics/grunt/B_083.jpg differ diff --git a/graphics/grunt/B_084.jpg b/graphics/grunt/B_084.jpg new file mode 100644 index 0000000..21541c7 Binary files /dev/null and b/graphics/grunt/B_084.jpg differ diff --git a/graphics/grunt/B_085.jpg b/graphics/grunt/B_085.jpg new file mode 100644 index 0000000..46457c0 Binary files /dev/null and b/graphics/grunt/B_085.jpg differ diff --git a/graphics/grunt/B_086.jpg b/graphics/grunt/B_086.jpg new file mode 100644 index 0000000..a7387f5 Binary files /dev/null and b/graphics/grunt/B_086.jpg differ diff --git a/graphics/grunt/B_087.jpg b/graphics/grunt/B_087.jpg new file mode 100644 index 0000000..b17c56f Binary files /dev/null and b/graphics/grunt/B_087.jpg differ diff --git a/graphics/grunt/B_088.jpg b/graphics/grunt/B_088.jpg new file mode 100644 index 0000000..0024ea1 Binary files /dev/null and b/graphics/grunt/B_088.jpg differ diff --git a/graphics/grunt/B_089.jpg b/graphics/grunt/B_089.jpg new file mode 100644 index 0000000..b4dab2f Binary files /dev/null and b/graphics/grunt/B_089.jpg differ diff --git a/graphics/grunt/B_090.jpg b/graphics/grunt/B_090.jpg new file mode 100644 index 0000000..58042b7 Binary files /dev/null and b/graphics/grunt/B_090.jpg differ diff --git a/graphics/grunt/B_091.jpg b/graphics/grunt/B_091.jpg new file mode 100644 index 0000000..e03e120 Binary files /dev/null and b/graphics/grunt/B_091.jpg differ diff --git a/graphics/grunt/B_092.jpg b/graphics/grunt/B_092.jpg new file mode 100644 index 0000000..763fbd7 Binary files /dev/null and b/graphics/grunt/B_092.jpg differ diff --git a/graphics/grunt/B_093.jpg b/graphics/grunt/B_093.jpg new file mode 100644 index 0000000..f1a8cbb Binary files /dev/null and b/graphics/grunt/B_093.jpg differ diff --git a/graphics/grunt/B_094.jpg b/graphics/grunt/B_094.jpg new file mode 100644 index 0000000..79ac523 Binary files /dev/null and b/graphics/grunt/B_094.jpg differ diff --git a/graphics/grunt/B_095.jpg b/graphics/grunt/B_095.jpg new file mode 100644 index 0000000..04308ca Binary files /dev/null and b/graphics/grunt/B_095.jpg differ diff --git a/graphics/grunt/B_096.jpg b/graphics/grunt/B_096.jpg new file mode 100644 index 0000000..062828c Binary files /dev/null and b/graphics/grunt/B_096.jpg differ diff --git a/graphics/grunt/B_097.jpg b/graphics/grunt/B_097.jpg new file mode 100644 index 0000000..8ca33b5 Binary files /dev/null and b/graphics/grunt/B_097.jpg differ diff --git a/graphics/grunt/B_098.jpg b/graphics/grunt/B_098.jpg new file mode 100644 index 0000000..1cabb29 Binary files /dev/null and b/graphics/grunt/B_098.jpg differ diff --git a/graphics/grunt/B_099.jpg b/graphics/grunt/B_099.jpg new file mode 100644 index 0000000..d17ab4c Binary files /dev/null and b/graphics/grunt/B_099.jpg differ diff --git a/graphics/grunt/B_100.jpg b/graphics/grunt/B_100.jpg new file mode 100644 index 0000000..305564e Binary files /dev/null and b/graphics/grunt/B_100.jpg differ diff --git a/graphics/grunt/B_101.jpg b/graphics/grunt/B_101.jpg new file mode 100644 index 0000000..d244d07 Binary files /dev/null and b/graphics/grunt/B_101.jpg differ diff --git a/graphics/grunt/B_102.jpg b/graphics/grunt/B_102.jpg new file mode 100644 index 0000000..67af262 Binary files /dev/null and b/graphics/grunt/B_102.jpg differ diff --git a/graphics/grunt/B_103.jpg b/graphics/grunt/B_103.jpg new file mode 100644 index 0000000..3a3ca49 Binary files /dev/null and b/graphics/grunt/B_103.jpg differ diff --git a/graphics/grunt/B_104.jpg b/graphics/grunt/B_104.jpg new file mode 100644 index 0000000..c481618 Binary files /dev/null and b/graphics/grunt/B_104.jpg differ diff --git a/graphics/grunt/B_105.jpg b/graphics/grunt/B_105.jpg new file mode 100644 index 0000000..575fff0 Binary files /dev/null and b/graphics/grunt/B_105.jpg differ diff --git a/graphics/grunt/B_106.jpg b/graphics/grunt/B_106.jpg new file mode 100644 index 0000000..86ae1ed Binary files /dev/null and b/graphics/grunt/B_106.jpg differ diff --git a/graphics/grunt/B_107.jpg b/graphics/grunt/B_107.jpg new file mode 100644 index 0000000..c916a0e Binary files /dev/null and b/graphics/grunt/B_107.jpg differ diff --git a/graphics/grunt/B_108.jpg b/graphics/grunt/B_108.jpg new file mode 100644 index 0000000..2fa042e Binary files /dev/null and b/graphics/grunt/B_108.jpg differ diff --git a/graphics/grunt/B_109.jpg b/graphics/grunt/B_109.jpg new file mode 100644 index 0000000..16fab7a Binary files /dev/null and b/graphics/grunt/B_109.jpg differ diff --git a/graphics/grunt/B_110.jpg b/graphics/grunt/B_110.jpg new file mode 100644 index 0000000..25c26b6 Binary files /dev/null and b/graphics/grunt/B_110.jpg differ diff --git a/graphics/grunt/B_111.jpg b/graphics/grunt/B_111.jpg new file mode 100644 index 0000000..113beca Binary files /dev/null and b/graphics/grunt/B_111.jpg differ diff --git a/graphics/grunt/B_112.jpg b/graphics/grunt/B_112.jpg new file mode 100644 index 0000000..79c5e25 Binary files /dev/null and b/graphics/grunt/B_112.jpg differ diff --git a/graphics/grunt/B_113.jpg b/graphics/grunt/B_113.jpg new file mode 100644 index 0000000..1e0ccb4 Binary files /dev/null and b/graphics/grunt/B_113.jpg differ diff --git a/graphics/grunt/B_114.jpg b/graphics/grunt/B_114.jpg new file mode 100644 index 0000000..97a3683 Binary files /dev/null and b/graphics/grunt/B_114.jpg differ diff --git a/graphics/grunt/B_115.jpg b/graphics/grunt/B_115.jpg new file mode 100644 index 0000000..0bb3563 Binary files /dev/null and b/graphics/grunt/B_115.jpg differ diff --git a/graphics/grunt/B_116.jpg b/graphics/grunt/B_116.jpg new file mode 100644 index 0000000..14e1e54 Binary files /dev/null and b/graphics/grunt/B_116.jpg differ diff --git a/graphics/grunt/B_117.jpg b/graphics/grunt/B_117.jpg new file mode 100644 index 0000000..8a613f0 Binary files /dev/null and b/graphics/grunt/B_117.jpg differ diff --git a/graphics/grunt/B_118.jpg b/graphics/grunt/B_118.jpg new file mode 100644 index 0000000..3398293 Binary files /dev/null and b/graphics/grunt/B_118.jpg differ diff --git a/graphics/grunt/B_119.jpg b/graphics/grunt/B_119.jpg new file mode 100644 index 0000000..a548b31 Binary files /dev/null and b/graphics/grunt/B_119.jpg differ diff --git a/graphics/grunt/B_120.jpg b/graphics/grunt/B_120.jpg new file mode 100644 index 0000000..c38eee7 Binary files /dev/null and b/graphics/grunt/B_120.jpg differ diff --git a/graphics/grunt/B_121.jpg b/graphics/grunt/B_121.jpg new file mode 100644 index 0000000..8567d40 Binary files /dev/null and b/graphics/grunt/B_121.jpg differ diff --git a/graphics/grunt/B_122.jpg b/graphics/grunt/B_122.jpg new file mode 100644 index 0000000..42e6982 Binary files /dev/null and b/graphics/grunt/B_122.jpg differ diff --git a/graphics/grunt/B_123.jpg b/graphics/grunt/B_123.jpg new file mode 100644 index 0000000..8092114 Binary files /dev/null and b/graphics/grunt/B_123.jpg differ diff --git a/graphics/grunt/B_124.jpg b/graphics/grunt/B_124.jpg new file mode 100644 index 0000000..ab68ff2 Binary files /dev/null and b/graphics/grunt/B_124.jpg differ diff --git a/graphics/grunt/B_125.jpg b/graphics/grunt/B_125.jpg new file mode 100644 index 0000000..85e14c8 Binary files /dev/null and b/graphics/grunt/B_125.jpg differ diff --git a/graphics/grunt/B_126.jpg b/graphics/grunt/B_126.jpg new file mode 100644 index 0000000..97731c3 Binary files /dev/null and b/graphics/grunt/B_126.jpg differ diff --git a/graphics/grunt/B_127.jpg b/graphics/grunt/B_127.jpg new file mode 100644 index 0000000..cc1526e Binary files /dev/null and b/graphics/grunt/B_127.jpg differ diff --git a/graphics/grunt/B_128.jpg b/graphics/grunt/B_128.jpg new file mode 100644 index 0000000..f1ae322 Binary files /dev/null and b/graphics/grunt/B_128.jpg differ diff --git a/graphics/grunt/B_129.jpg b/graphics/grunt/B_129.jpg new file mode 100644 index 0000000..adb2eee Binary files /dev/null and b/graphics/grunt/B_129.jpg differ diff --git a/graphics/grunt/B_130.jpg b/graphics/grunt/B_130.jpg new file mode 100644 index 0000000..1059bc9 Binary files /dev/null and b/graphics/grunt/B_130.jpg differ diff --git a/graphics/grunt/B_131.jpg b/graphics/grunt/B_131.jpg new file mode 100644 index 0000000..68f3131 Binary files /dev/null and b/graphics/grunt/B_131.jpg differ diff --git a/graphics/grunt/B_132.jpg b/graphics/grunt/B_132.jpg new file mode 100644 index 0000000..6a1c8b1 Binary files /dev/null and b/graphics/grunt/B_132.jpg differ diff --git a/graphics/grunt/B_133.jpg b/graphics/grunt/B_133.jpg new file mode 100644 index 0000000..4428676 Binary files /dev/null and b/graphics/grunt/B_133.jpg differ diff --git a/graphics/grunt/B_134.jpg b/graphics/grunt/B_134.jpg new file mode 100644 index 0000000..05b2504 Binary files /dev/null and b/graphics/grunt/B_134.jpg differ diff --git a/graphics/grunt/B_135.jpg b/graphics/grunt/B_135.jpg new file mode 100644 index 0000000..442ab13 Binary files /dev/null and b/graphics/grunt/B_135.jpg differ diff --git a/graphics/grunt/B_136.jpg b/graphics/grunt/B_136.jpg new file mode 100644 index 0000000..d2f58a0 Binary files /dev/null and b/graphics/grunt/B_136.jpg differ diff --git a/graphics/grunt/B_137.jpg b/graphics/grunt/B_137.jpg new file mode 100644 index 0000000..b37eece Binary files /dev/null and b/graphics/grunt/B_137.jpg differ diff --git a/graphics/grunt/B_138.jpg b/graphics/grunt/B_138.jpg new file mode 100644 index 0000000..6b22345 Binary files /dev/null and b/graphics/grunt/B_138.jpg differ diff --git a/graphics/grunt/B_139.jpg b/graphics/grunt/B_139.jpg new file mode 100644 index 0000000..fc3f445 Binary files /dev/null and b/graphics/grunt/B_139.jpg differ diff --git a/graphics/grunt/B_140.jpg b/graphics/grunt/B_140.jpg new file mode 100644 index 0000000..76bcd5e Binary files /dev/null and b/graphics/grunt/B_140.jpg differ diff --git a/graphics/grunt/B_141.jpg b/graphics/grunt/B_141.jpg new file mode 100644 index 0000000..8e43b5a Binary files /dev/null and b/graphics/grunt/B_141.jpg differ diff --git a/graphics/grunt/B_142.jpg b/graphics/grunt/B_142.jpg new file mode 100644 index 0000000..70da715 Binary files /dev/null and b/graphics/grunt/B_142.jpg differ diff --git a/graphics/grunt/B_143.jpg b/graphics/grunt/B_143.jpg new file mode 100644 index 0000000..4584e2b Binary files /dev/null and b/graphics/grunt/B_143.jpg differ diff --git a/graphics/grunt/B_144.jpg b/graphics/grunt/B_144.jpg new file mode 100644 index 0000000..9012c37 Binary files /dev/null and b/graphics/grunt/B_144.jpg differ diff --git a/graphics/grunt/B_145.jpg b/graphics/grunt/B_145.jpg new file mode 100644 index 0000000..1cff363 Binary files /dev/null and b/graphics/grunt/B_145.jpg differ diff --git a/graphics/grunt/B_146.jpg b/graphics/grunt/B_146.jpg new file mode 100644 index 0000000..6900437 Binary files /dev/null and b/graphics/grunt/B_146.jpg differ diff --git a/graphics/grunt/B_147.jpg b/graphics/grunt/B_147.jpg new file mode 100644 index 0000000..d9573af Binary files /dev/null and b/graphics/grunt/B_147.jpg differ diff --git a/graphics/grunt/B_148.jpg b/graphics/grunt/B_148.jpg new file mode 100644 index 0000000..96149ff Binary files /dev/null and b/graphics/grunt/B_148.jpg differ diff --git a/graphics/grunt/B_149.jpg b/graphics/grunt/B_149.jpg new file mode 100644 index 0000000..da4e09c Binary files /dev/null and b/graphics/grunt/B_149.jpg differ diff --git a/graphics/grunt/B_150.jpg b/graphics/grunt/B_150.jpg new file mode 100644 index 0000000..f2aa00e Binary files /dev/null and b/graphics/grunt/B_150.jpg differ diff --git a/graphics/grunt/B_151.jpg b/graphics/grunt/B_151.jpg new file mode 100644 index 0000000..0402127 Binary files /dev/null and b/graphics/grunt/B_151.jpg differ diff --git a/graphics/grunt/B_152.jpg b/graphics/grunt/B_152.jpg new file mode 100644 index 0000000..5e98b8a Binary files /dev/null and b/graphics/grunt/B_152.jpg differ diff --git a/graphics/grunt/B_153.jpg b/graphics/grunt/B_153.jpg new file mode 100644 index 0000000..bffd8d1 Binary files /dev/null and b/graphics/grunt/B_153.jpg differ diff --git a/graphics/grunt/B_154.jpg b/graphics/grunt/B_154.jpg new file mode 100644 index 0000000..2f2914b Binary files /dev/null and b/graphics/grunt/B_154.jpg differ diff --git a/graphics/grunt/B_155.jpg b/graphics/grunt/B_155.jpg new file mode 100644 index 0000000..80b2ceb Binary files /dev/null and b/graphics/grunt/B_155.jpg differ diff --git a/graphics/grunt/B_156.jpg b/graphics/grunt/B_156.jpg new file mode 100644 index 0000000..b8e3186 Binary files /dev/null and b/graphics/grunt/B_156.jpg differ diff --git a/graphics/grunt/B_157.jpg b/graphics/grunt/B_157.jpg new file mode 100644 index 0000000..7a27d47 Binary files /dev/null and b/graphics/grunt/B_157.jpg differ diff --git a/graphics/grunt/B_158.jpg b/graphics/grunt/B_158.jpg new file mode 100644 index 0000000..8ed5adf Binary files /dev/null and b/graphics/grunt/B_158.jpg differ diff --git a/graphics/grunt/B_159.jpg b/graphics/grunt/B_159.jpg new file mode 100644 index 0000000..1f809bc Binary files /dev/null and b/graphics/grunt/B_159.jpg differ diff --git a/graphics/grunt/B_160.jpg b/graphics/grunt/B_160.jpg new file mode 100644 index 0000000..eebfc1a Binary files /dev/null and b/graphics/grunt/B_160.jpg differ diff --git a/graphics/grunt/B_161.jpg b/graphics/grunt/B_161.jpg new file mode 100644 index 0000000..09e6033 Binary files /dev/null and b/graphics/grunt/B_161.jpg differ diff --git a/graphics/grunt/B_162.jpg b/graphics/grunt/B_162.jpg new file mode 100644 index 0000000..d3286dc Binary files /dev/null and b/graphics/grunt/B_162.jpg differ diff --git a/graphics/grunt/B_163.jpg b/graphics/grunt/B_163.jpg new file mode 100644 index 0000000..55b6d60 Binary files /dev/null and b/graphics/grunt/B_163.jpg differ diff --git a/graphics/grunt/B_164.jpg b/graphics/grunt/B_164.jpg new file mode 100644 index 0000000..e057059 Binary files /dev/null and b/graphics/grunt/B_164.jpg differ diff --git a/graphics/grunt/B_165.jpg b/graphics/grunt/B_165.jpg new file mode 100644 index 0000000..96446a5 Binary files /dev/null and b/graphics/grunt/B_165.jpg differ diff --git a/graphics/grunt/B_166.jpg b/graphics/grunt/B_166.jpg new file mode 100644 index 0000000..c507dc8 Binary files /dev/null and b/graphics/grunt/B_166.jpg differ diff --git a/menudef.txt b/menudef.txt index 3d986dc..672f92b 100644 --- a/menudef.txt +++ b/menudef.txt @@ -101,7 +101,7 @@ OptionMenu "UTCreditsMenu" StaticText "Zard1084, Jonathan Nemo, NekoMithos, 3d0xp0xy", "White" StaticText " " StaticText "$FLAK_CTHANK", "Gold" - StaticText "KynikossDragonn, Raffine52, KeksDose", "White" + StaticText "KynikossDragonn, Raffine52, KeksDose, Skerion", "White" StaticText " " StaticText "$FLAK_CUT", "Red" StaticText " " diff --git a/modeldef.boss b/modeldef.boss index 554701a..d16ba98 100644 --- a/modeldef.boss +++ b/modeldef.boss @@ -305,4 +305,11 @@ Model "UTPlayerTBoss" FrameIndex PLT4 M 0 498 FrameIndex PLT4 N 0 499 FrameIndex PLT4 O 0 500 + // Ice Death (start of zap death) + SurfaceSkin 0 0 "boss1ice.png" + SurfaceSkin 0 1 "boss2ice.png" + SurfaceSkin 0 2 "boss3ice.png" + SurfaceSkin 0 3 "boss4ice.png" + SurfaceSkin 0 5 "GunPick1ice.png" + FrameIndex PICE A 0 622 } diff --git a/modeldef.commando b/modeldef.commando index f326cfe..13f5f29 100644 --- a/modeldef.commando +++ b/modeldef.commando @@ -305,4 +305,11 @@ Model "UTPlayerTMale1" FrameIndex PLT4 M 0 498 FrameIndex PLT4 N 0 499 FrameIndex PLT4 O 0 500 + // Ice Death (start of zap death) + SurfaceSkin 0 0 "cmdo1ice.png" + SurfaceSkin 0 1 "cmdo2ice.png" + SurfaceSkin 0 2 "cmdo3ice.png" + SurfaceSkin 0 3 "cmdo4ice.png" + SurfaceSkin 0 5 "GunPick1ice.png" + FrameIndex PICE A 0 622 } diff --git a/modeldef.fcommando b/modeldef.fcommando index 069c8b8..e49f599 100644 --- a/modeldef.fcommando +++ b/modeldef.fcommando @@ -280,4 +280,10 @@ Model "UTPlayerTFemale1" FrameIndex PLT4 M 0 477 FrameIndex PLT4 N 0 478 FrameIndex PLT4 O 0 479 + // Ice Death (start of zap death) + SurfaceSkin 0 0 "fcmd1ice.png" + SurfaceSkin 0 1 "fcmd2ice.png" + SurfaceSkin 0 2 "fcmd4ice.png" + SurfaceSkin 0 4 "GunPick1ice.png" + FrameIndex PICE A 0 609 } diff --git a/modeldef.misc b/modeldef.misc index 53ad758..34d16e2 100644 --- a/modeldef.misc +++ b/modeldef.misc @@ -312,6 +312,17 @@ Model "UTHereticBlueKey" FrameIndex UKEY C 0 0 } +Model "UTHereticRedKey" +{ + Path "models" + Model 0 "DomR_d.3d" + Skin 0 "RedSkin2.png" + Scale 0.04 0.04 0.048 + ZOffset 16 + ROTATING + + FrameIndex UKEY A 0 0 +} Model "UTBackpack" { diff --git a/modeldef.sgirl b/modeldef.sgirl index e07f12e..fbbeb11 100644 --- a/modeldef.sgirl +++ b/modeldef.sgirl @@ -281,4 +281,11 @@ Model "UTPlayerTFemale2" FrameIndex PLT4 M 0 477 FrameIndex PLT4 N 0 478 FrameIndex PLT4 O 0 479 + // Ice Death (start of zap death) + SurfaceSkin 0 0 "army1ice.png" + SurfaceSkin 0 1 "army2ice.png" + SurfaceSkin 0 2 "army3ice.png" + SurfaceSkin 0 3 "army4ice.png" + SurfaceSkin 0 5 "GunPick1ice.png" + FrameIndex PICE A 0 609 } diff --git a/modeldef.soldier b/modeldef.soldier index 25c8cac..3db89dc 100644 --- a/modeldef.soldier +++ b/modeldef.soldier @@ -305,6 +305,13 @@ Model "UTPlayerTMale2" FrameIndex PLT4 M 0 498 FrameIndex PLT4 N 0 499 FrameIndex PLT4 O 0 500 + // Ice Death (start of zap death) + SurfaceSkin 0 0 "sldr1ice.png" + SurfaceSkin 0 1 "sldr2ice.png" + SurfaceSkin 0 2 "sldr3ice.png" + SurfaceSkin 0 3 "sldr4ice.png" + SurfaceSkin 0 5 "GunPick1ice.png" + FrameIndex PICE A 0 622 } // Will use Soldier model diff --git a/models/GunPick1ice.png b/models/GunPick1ice.png new file mode 100644 index 0000000..78c1b72 Binary files /dev/null and b/models/GunPick1ice.png differ diff --git a/models/army1ice.png b/models/army1ice.png new file mode 100644 index 0000000..61be4ac Binary files /dev/null and b/models/army1ice.png differ diff --git a/models/army2ice.png b/models/army2ice.png new file mode 100644 index 0000000..6031522 Binary files /dev/null and b/models/army2ice.png differ diff --git a/models/army3ice.png b/models/army3ice.png new file mode 100644 index 0000000..12c6293 Binary files /dev/null and b/models/army3ice.png differ diff --git a/models/army4ice.png b/models/army4ice.png new file mode 100644 index 0000000..a20dad8 Binary files /dev/null and b/models/army4ice.png differ diff --git a/models/boss1ice.png b/models/boss1ice.png new file mode 100644 index 0000000..a422136 Binary files /dev/null and b/models/boss1ice.png differ diff --git a/models/boss2ice.png b/models/boss2ice.png new file mode 100644 index 0000000..6838e10 Binary files /dev/null and b/models/boss2ice.png differ diff --git a/models/boss3ice.png b/models/boss3ice.png new file mode 100644 index 0000000..148a8f6 Binary files /dev/null and b/models/boss3ice.png differ diff --git a/models/boss4ice.png b/models/boss4ice.png new file mode 100644 index 0000000..7e477e1 Binary files /dev/null and b/models/boss4ice.png differ diff --git a/models/cmdo1ice.png b/models/cmdo1ice.png new file mode 100644 index 0000000..66fc7a3 Binary files /dev/null and b/models/cmdo1ice.png differ diff --git a/models/cmdo2ice.png b/models/cmdo2ice.png new file mode 100644 index 0000000..c6197ac Binary files /dev/null and b/models/cmdo2ice.png differ diff --git a/models/cmdo3ice.png b/models/cmdo3ice.png new file mode 100644 index 0000000..9a6e06d Binary files /dev/null and b/models/cmdo3ice.png differ diff --git a/models/cmdo4ice.png b/models/cmdo4ice.png new file mode 100644 index 0000000..00598fd Binary files /dev/null and b/models/cmdo4ice.png differ diff --git a/models/fcmd1ice.png b/models/fcmd1ice.png new file mode 100644 index 0000000..43a123a Binary files /dev/null and b/models/fcmd1ice.png differ diff --git a/models/fcmd2ice.png b/models/fcmd2ice.png new file mode 100644 index 0000000..93d353b Binary files /dev/null and b/models/fcmd2ice.png differ diff --git a/models/fcmd4ice.png b/models/fcmd4ice.png new file mode 100644 index 0000000..3acfdf2 Binary files /dev/null and b/models/fcmd4ice.png differ diff --git a/models/sldr1ice.png b/models/sldr1ice.png new file mode 100644 index 0000000..479b748 Binary files /dev/null and b/models/sldr1ice.png differ diff --git a/models/sldr2ice.png b/models/sldr2ice.png new file mode 100644 index 0000000..f6b5cb2 Binary files /dev/null and b/models/sldr2ice.png differ diff --git a/models/sldr3ice.png b/models/sldr3ice.png new file mode 100644 index 0000000..1a68b9a Binary files /dev/null and b/models/sldr3ice.png differ diff --git a/models/sldr4ice.png b/models/sldr4ice.png new file mode 100644 index 0000000..967b925 Binary files /dev/null and b/models/sldr4ice.png differ diff --git a/sndinfo.txt b/sndinfo.txt index 8421447..7f307e3 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -95,7 +95,7 @@ ut/femalejump fjump1 ut/femalesurf lgasp1 ut/femalegasp hgasp3 ut/femaledrowned1 uwhit01 -$random ut/femaledrowned { ut/femaledroenwd1 ut/drowned } +$random ut/femaledrowned { ut/femaledrowned1 ut/drowned } ut/femaledrowning mdrown2f $playeralias tfemale neutral *death ut/femaledie @@ -335,6 +335,7 @@ warhead/explode warexplo warhead/fly warfly warhead/select warhpick warhead/fire warhshot +warhead/altfire warhalt testamb/slime aslime2 testamb/lava lava31 diff --git a/sounds/WarhAlt.ogg b/sounds/WarhAlt.ogg new file mode 100644 index 0000000..2d0cd64 Binary files /dev/null and b/sounds/WarhAlt.ogg differ diff --git a/sounds/intro/bane.ogg b/sounds/intro/bane.ogg new file mode 100644 index 0000000..a9ce3d2 Binary files /dev/null and b/sounds/intro/bane.ogg differ diff --git a/sounds/intro/betaintro0.ogg b/sounds/intro/betaintro0.ogg new file mode 100644 index 0000000..b09f2c8 Binary files /dev/null and b/sounds/intro/betaintro0.ogg differ diff --git a/sounds/intro/betaintro1.ogg b/sounds/intro/betaintro1.ogg new file mode 100644 index 0000000..7edd715 Binary files /dev/null and b/sounds/intro/betaintro1.ogg differ diff --git a/sounds/intro/betaintro2.ogg b/sounds/intro/betaintro2.ogg new file mode 100644 index 0000000..50dd4ec Binary files /dev/null and b/sounds/intro/betaintro2.ogg differ diff --git a/sounds/intro/betaintro3.ogg b/sounds/intro/betaintro3.ogg new file mode 100644 index 0000000..6e9b635 Binary files /dev/null and b/sounds/intro/betaintro3.ogg differ diff --git a/sounds/intro/betaintro4.ogg b/sounds/intro/betaintro4.ogg new file mode 100644 index 0000000..e639e2d Binary files /dev/null and b/sounds/intro/betaintro4.ogg differ diff --git a/sounds/intro/betaintro5.ogg b/sounds/intro/betaintro5.ogg new file mode 100644 index 0000000..6c9e92d Binary files /dev/null and b/sounds/intro/betaintro5.ogg differ diff --git a/sounds/intro/betaintro6.ogg b/sounds/intro/betaintro6.ogg new file mode 100644 index 0000000..112e7b0 Binary files /dev/null and b/sounds/intro/betaintro6.ogg differ diff --git a/sounds/intro/betaintro7.ogg b/sounds/intro/betaintro7.ogg new file mode 100644 index 0000000..02eb988 Binary files /dev/null and b/sounds/intro/betaintro7.ogg differ diff --git a/sounds/intro/betaintro8.ogg b/sounds/intro/betaintro8.ogg new file mode 100644 index 0000000..dead9e6 Binary files /dev/null and b/sounds/intro/betaintro8.ogg differ diff --git a/sounds/intro/miner.ogg b/sounds/intro/miner.ogg new file mode 100644 index 0000000..955b68d Binary files /dev/null and b/sounds/intro/miner.ogg differ diff --git a/sounds/intro/openingv.ogg b/sounds/intro/openingv.ogg new file mode 100644 index 0000000..8041b28 Binary files /dev/null and b/sounds/intro/openingv.ogg differ diff --git a/sprites/player/TBOSA0.png b/sprites/player/TBOSA0.png new file mode 100644 index 0000000..5697fec Binary files /dev/null and b/sprites/player/TBOSA0.png differ diff --git a/sprites/player/TFEMA0.png b/sprites/player/TFEMA0.png new file mode 100644 index 0000000..147c1c4 Binary files /dev/null and b/sprites/player/TFEMA0.png differ diff --git a/sprites/player/TFEMB0.png b/sprites/player/TFEMB0.png new file mode 100644 index 0000000..78abe52 Binary files /dev/null and b/sprites/player/TFEMB0.png differ diff --git a/sprites/player/TMALA0.png b/sprites/player/TMALA0.png new file mode 100644 index 0000000..4360236 Binary files /dev/null and b/sprites/player/TMALA0.png differ diff --git a/sprites/player/TMALB0.png b/sprites/player/TMALB0.png new file mode 100644 index 0000000..769482f Binary files /dev/null and b/sprites/player/TMALB0.png differ diff --git a/zscript.txt b/zscript.txt index d176334..8bc5fa1 100644 --- a/zscript.txt +++ b/zscript.txt @@ -1,4 +1,4 @@ -version "4.2.2" +version "4.2.4" #include "zscript/dt_libeye/projector.txt" #include "zscript/dt_libeye/projector gl.txt" diff --git a/zscript/biorifle.zsc b/zscript/biorifle.zsc index 6ed115a..4e0c73c 100644 --- a/zscript/biorifle.zsc +++ b/zscript/biorifle.zsc @@ -537,7 +537,7 @@ Class BioGel : Actor invoker.deadtimer = -2; if ( invoker.atline ) invoker.atline.RemoteActivate(target,invoker.atside,SPAC_Impact,pos); UTMainHandler.DoBlast(self,Min(175,int(Scale.x*50)),20000*Scale.x); - A_Explode(int(20*Scale.x),Min(175,int(Scale.x*50))); + A_Explode(int(Args[0]*Scale.x),Min(175,int(Scale.x*50))); A_PlaySound("ges/explode",CHAN_VOICE); int numpt = Min(300,int(Scale.x*30))+Random[GES](-10,10); for ( int i=0; i 1 ) return ClipOut?-1:ClipCount, SlaveClipOut?-1:SlaveClipCount, (ClipCount<5), (SlaveClipCount<5); + return ClipOut?-1:ClipCount, -1, (ClipCount<5), false; + } + override bool HandlePickup( Inventory item ) { if ( item.GetClass() == GetClass() ) @@ -493,6 +501,7 @@ Class Enforcer : UTWeapon Ready: ENFS A 0 { + invoker.slaveclipout = invoker.clipout = false; invoker.slavedown = false; if ( !invoker.slaveactive && (CountInv("Enforcer") > 1) ) { @@ -607,6 +616,7 @@ Class Enforcer : UTWeapon } ENFR A 0 { + invoker.clipout = true; invoker.clipcount = 0; A_Overlay(-9999,null); A_PlaySound("enforcer/click",CHAN_WEAPON); @@ -615,6 +625,7 @@ Class Enforcer : UTWeapon ENR2 AB 1; ENR2 B 30 { + invoker.clipout = false; invoker.clipcount = min(invoker.default.clipcount,invoker.Ammo1.Amount); A_PlaySound("enforcer/reload",CHAN_WEAPON); if ( self is 'UTPlayer' ) @@ -638,6 +649,7 @@ Class Enforcer : UTWeapon invoker.slavereload = 0; return ResolveState("LeftIdle"); } + invoker.slaveclipout = true; invoker.slaveclipcount = 0; A_Overlay(-9998,null); A_PlaySound("enforcer/click",CHAN_6); @@ -647,6 +659,7 @@ Class Enforcer : UTWeapon 2NR2 AB 1; 2NR2 B 30 { + invoker.slaveclipout = false; invoker.slaveclipcount = min(invoker.default.slaveclipcount,invoker.Ammo1.Amount); A_PlaySound("enforcer/reload",CHAN_6); if ( self is 'UTPlayer' ) diff --git a/zscript/flakcannon.zsc b/zscript/flakcannon.zsc index 6f059dc..b285089 100644 --- a/zscript/flakcannon.zsc +++ b/zscript/flakcannon.zsc @@ -12,6 +12,7 @@ Class FlakAmmo : Ammo } override String PickupMessage() { + if ( PickupMsg.Length() > 0 ) return Super.PickupMessage(); return String.Format("%s%d%s",StringTable.Localize("$I_FLAKAMMOL"),Amount,StringTable.Localize("$I_FLAKAMMOR")); } States @@ -782,6 +783,15 @@ Class FlakCannon : UTWeapon if ( invoker.Ammo1.Amount > 0 ) A_Loading(); } FLKL BCEFGIJKMNO 1; + Goto Idle; + AltLoading: + FLKL A 2 + { + A_CheckReload(); + if ( invoker.Ammo1.Amount > 0 ) A_Loading(); + } + FLKL BCEFGIJKMNO 2; + Goto Idle; Idle: FLKI A 1 A_WeaponReady(); Wait; @@ -801,9 +811,9 @@ Class FlakCannon : UTWeapon Goto Loading; AltFire: FLKA A 1 A_FireSlug(); - FLKA BCDEFGHIJK 2; + FLKA BCDEFGHIJK 1; FLKA K 4; - Goto Loading; + Goto AltLoading; Select: FLKS A 1 A_Raise(int.max); Wait; diff --git a/zscript/impacthammer.zsc b/zscript/impacthammer.zsc index 1329ed1..480d336 100644 --- a/zscript/impacthammer.zsc +++ b/zscript/impacthammer.zsc @@ -44,6 +44,10 @@ Class ImpactHammer : UTWeapon { double chargesize, count; + override int, int, bool, bool GetClipAmount() + { + return (chargesize>0)?min(10,int(chargesize/.15)):-1, -1, false, false; + } action void A_ResetCharge() { invoker.chargesize = 0; diff --git a/zscript/minigun.zsc b/zscript/minigun.zsc index 7cc435c..67dea94 100644 --- a/zscript/minigun.zsc +++ b/zscript/minigun.zsc @@ -12,6 +12,7 @@ Class MiniAmmo : Ammo } override String PickupMessage() { + if ( PickupMsg.Length() > 0 ) return Super.PickupMessage(); return String.Format("%s%d%s",StringTable.Localize("$I_MINIAMMOL"),Amount,StringTable.Localize("$I_MINIAMMOR")); } States diff --git a/zscript/pulsegun.zsc b/zscript/pulsegun.zsc index 8e023b3..190db1e 100644 --- a/zscript/pulsegun.zsc +++ b/zscript/pulsegun.zsc @@ -559,12 +559,19 @@ Class PulseMag : UTCasing Class PulseGun : UTWeapon { int clipcount; + bool ClipOut; double sangle; Actor beam; transient ui Font usmf; Property ClipCount : clipcount; + override int, int, bool, bool GetClipAmount() + { + if ( !flak_pulsereload ) return Super.GetClipAmount(); + return ClipOut?-1:ClipCount, -1, (ClipCount<10), false; + } + action void A_DrainAmmo() { Weapon weap = Weapon(invoker); @@ -737,6 +744,10 @@ Class PulseGun : UTWeapon PGNP B -1; Stop; Ready: + PGNS A 0 + { + invoker.clipout = false; + } PGNS ABCDEFGHIJKLMNOPQRSTUVW 1 A_WeaponReady(WRF_NOFIRE); Idle: PGNI A 1 @@ -800,6 +811,7 @@ Class PulseGun : UTWeapon PGNR BCDEFGHIJKLMNO 1; PGNR P 1 { + invoker.clipout = true; invoker.clipcount = 0; } PGNR QRSTUVWXYZ 1; @@ -816,6 +828,7 @@ Class PulseGun : UTWeapon PGR2 BCD 1; PGR2 E 1 { + invoker.clipout = false; invoker.clipcount = Min(invoker.default.clipcount,invoker.Ammo1.Amount); } PGR2 FGHIJKLMNOPQRSTUVWX 1; diff --git a/zscript/translocator.zsc b/zscript/translocator.zsc index 9fc1330..b36e932 100644 --- a/zscript/translocator.zsc +++ b/zscript/translocator.zsc @@ -360,6 +360,12 @@ Class Translocator : UTWeapon Actor module; double ammocharge; + override int, int, bool, bool GetClipAmount() + { + if ( !flak_transloc2k4 ) return Super.GetClipAmount(); + return (ammocharge>0)?int(ammocharge*9.9):-1, -1, false, false; + } + override void Tick() { Super.Tick(); diff --git a/zscript/utcommon.zsc b/zscript/utcommon.zsc index 91028d6..cb6d034 100644 --- a/zscript/utcommon.zsc +++ b/zscript/utcommon.zsc @@ -240,16 +240,28 @@ Class UTPlayer : DoomPlayer Super.Tick(); if ( InStateSequence(CurState,FindState("See",true)) ) SetStateLabel("See2"); - if ( !player || (player.mo != self) ) return; - if ( flak_utmovement ) + if ( (waterlevel >= 2) && (lastwaterlevel < 2) ) + PlaySplash(1.); + else if ( (waterlevel < 2) && (lastwaterlevel >= 2) ) + PlaySurface(); + if ( (waterlevel >= 3) && !underwatersnd ) { - bNOFRICTION = true; - bNOFRICTIONBOUNCE = true; + underwatersnd = Spawn("UTUnderSound",pos); + underwatersnd.target = self; } - else + else if ( (waterlevel < 3) && underwatersnd ) + underwatersnd.Destroy(); + lastwaterlevel = waterlevel; + if ( !flak_utmovement || !player || (player.mo != self) || (player.cheats&(CF_FROZEN|CF_TOTALLYFROZEN)) ) { bNOFRICTION = false; bNOFRICTIONBOUNCE = false; + return; + } + else + { + bNOFRICTION = true; + bNOFRICTIONBOUNCE = true; } if ( !footsteps ) footsteps = CVar.GetCVar('flak_footsteps',players[consoleplayer]); if ( !footsteps.GetBool() || (Health <= 0) ) return; @@ -279,21 +291,9 @@ Class UTPlayer : DoomPlayer if ( (waterlevel > 0) || GetFloorTerrain().IsLiquid && !bOnMobj ) PlayWetFootstep(vol); else PlayFootstep(vol); } - if ( (waterlevel >= 2) && (lastwaterlevel < 2) ) - PlaySplash(1.); - else if ( (waterlevel < 2) && (lastwaterlevel >= 2) ) - PlaySurface(); - if ( (waterlevel >= 3) && !underwatersnd ) - { - underwatersnd = Spawn("UTUnderSound",pos); - underwatersnd.target = self; - } - else if ( (waterlevel < 3) && underwatersnd ) - underwatersnd.Destroy(); lastground = player.onground; lastvelz = prevvelz; prevvelz = vel.z; - lastwaterlevel = waterlevel; } double FrictionToUnreal() @@ -698,7 +698,8 @@ Class UTPlayer : DoomPlayer override void DeathThink() { Super.DeathThink(); - if ( !flak_utmovement || !player || (player.mo != self) || (player.cheats&(CF_FROZEN|CF_TOTALLYFROZEN)) ) return; + if ( !flak_utmovement || !player || (player.mo != self) || (player.cheats&(CF_FROZEN|CF_TOTALLYFROZEN)) ) + return; // unreal physics while dead double friction = FrictionToUnreal(); if ( !bNoGravity && player.onground && (waterlevel < 3) ) @@ -1027,6 +1028,60 @@ Class UTPlayer : DoomPlayer return Super.GetDeathHeight(); } + // mostly a copy of A_FreezeDeathChunks but with some DT specific gib + // behaviour + void A_FreezeDeathChunksDT() + { + if ( (vel != (0,0,0)) && !bShattering ) + { + tics = 3*TICRATE; + return; + } + vel = (0,0,0); + A_PlaySound ("misc/icebreak",CHAN_BODY); + // [RH] In Hexen, this creates a random number of shards (range [24,56]) + // with no relation to the size of the self shattering. I think it should + // base the number of shards on the size of the dead thing, so bigger + // things break up into more shards than smaller things. + // An actor with radius 20 and height 64 creates ~40 chunks. + int numChunks = max(4,int(radius*Height)/32); + int i = Random[FreezeDeathChunks](0,numChunks/4-1); + for ( i=max(24,numChunks+i); i>=0; i-- ) + { + double xo = (random[FreezeDeathChunks]()-128)*radius/128; + double yo = (random[FreezeDeathChunks]()-128)*radius/128; + double zo = (random[FreezeDeathChunks]()*Height/255); + Actor mo = Spawn("IceChunk",Vec3Offset(xo,yo,zo),ALLOW_REPLACE); + if ( !mo ) continue; + mo.SetState(mo.SpawnState+random[FreezeDeathChunks](0,2)); + mo.Vel.X = random2[FreezeDeathChunks]()/128.; + mo.Vel.Y = random2[FreezeDeathChunks]()/128.; + mo.Vel.Z = (mo.pos.Z-pos.Z)/Height*4; + } + // Gib the player, the camera will attach to the head at this point + A_GibMe(); + A_NoBlocking(); + SetStateLabel('null'); + } + + void A_PainDT() + { + if ( waterlevel > 2 ) A_PlaySound("*death-drowning",CHAN_VOICE); + else A_Pain(); + } + + void A_PlayerScreamDT() + { + if ( waterlevel > 2 ) A_PlaySound("*death-drowning",CHAN_VOICE); + else A_PlayerScream(); + } + + void A_XScreamDT() + { + if ( waterlevel > 2 ) A_PlaySound("*death-drowning",CHAN_VOICE); + else A_XScream(); + } + States { Spawn: @@ -1108,21 +1163,21 @@ Class UTPlayer : DoomPlayer Pain: #### # 0 A_Jump(256,1,3,5,7); #### # 2; - PLAY W 3 A_Pain(); + PLAY W 3 A_PainDT(); Goto Spawn; #### # 2; - PLAY Y 3 A_Pain(); + PLAY Y 3 A_PainDT(); Goto Spawn; #### # 2; - PLAY Z 3 A_Pain(); + PLAY Z 3 A_PainDT(); Goto Spawn; Pain.Decapitated: #### # 2; - PLAY X 3 A_Pain(); + PLAY X 3 A_PainDT(); Goto Spawn; Death.Decapitated: #### # 0 A_HeadPop(); - PLD4 A 3 A_PlayerScream(); + PLD4 A 3 A_PlayerScreamDT(); PLD4 B 3 A_NoBlocking(); PLD4 CDEFGHIJKLMNO 3; PLD4 P 1 A_DMFade(); @@ -1133,14 +1188,14 @@ Class UTPlayer : DoomPlayer #### # 0 A_Jump(256,"Death2","Death3","Death7","Death8"); Death11: #### # 3; - PD11 A 3 A_PlayerScream(); + PD11 A 3 A_PlayerScreamDT(); PD11 B 3 A_NoBlocking(); PD11 CDEFGHIJKLMNOPQ 3; PD11 R 1 A_DMFade(); Wait; Death.Zapped: #### # 3; - PLD9 A 3 A_PlayerScream(); + PLD9 A 3 A_PlayerScreamDT(); PLD9 B 3 A_NoBlocking(); PLD9 CDEFGHIJKLMNOPQRST 2; PD9B A 2 A_SetSize(-1,height*0.25); // reduce now @@ -1149,35 +1204,35 @@ Class UTPlayer : DoomPlayer Wait; Death8: #### # 3; - PLD8 A 3 A_PlayerScream(); + PLD8 A 3 A_PlayerScreamDT(); PLD8 B 3 A_NoBlocking(); PLD8 CDEFGHIJKLMNOPQ 3; PLD8 R 1 A_DMFade(); Wait; Death7: #### # 3; - PLD7 A 3 A_PlayerScream(); + PLD7 A 3 A_PlayerScreamDT(); PLD7 B 3 A_NoBlocking(); PLD7 CDEFGHIJKLMNOPQRST 3; PLD7 U 1 A_DMFade(); Wait; Death3: #### # 3; - PLD3 A 3 A_PlayerScream(); + PLD3 A 3 A_PlayerScreamDT(); PLD3 B 3 A_NoBlocking(); PLD3 CDEFGHIJKL 3; PLD3 M 1 A_DMFade(); Wait; Death2: #### # 3; - PLD2 A 3 A_PlayerScream(); + PLD2 A 3 A_PlayerScreamDT(); PLD2 B 3 A_NoBlocking(); PLD2 CDEFGHIJKLMNO 3; PLD2 P 1 A_DMFade(); Wait; Death1: #### # 3; - PLD1 A 3 A_PlayerScream(); + PLD1 A 3 A_PlayerScreamDT(); PLD1 B 3 A_NoBlocking(); PLD1 CDEFGHIJKL 3; PLD1 M 1 A_DMFade(); @@ -1185,7 +1240,7 @@ Class UTPlayer : DoomPlayer XDeath: TNT1 A 350 { - A_XScream(); + A_XScreamDT(); A_NoBlocking(); A_GibMe(); } @@ -1209,6 +1264,10 @@ Class UTPlayer : DoomPlayer #### # 5; PLT4 ABCDEFGHIJKLMNO 3; Goto Spawn; + Ice: + PICE A 5 A_FreezeDeath(); + PICE A 1 A_FreezeDeathChunksDT(); + Wait; } } @@ -1255,13 +1314,13 @@ Class UTUnderSound : Actor override void PostBeginPlay() { Super.PostBeginPlay(); - SetOrigin(target.Vec2OffsetZ(0,0,target.player.viewz),true); + SetOrigin(target.pos,true); curfluid = lastfluid = GetFluid(); fluidsounds[0] = 'ut/underwater'; fluidsounds[1] = 'ut/underslime'; fluidsounds[2] = 'ut/underlava'; fluidsounds[3] = 'ut/undernitro'; - A_PlaySound(fluidsounds[curfluid],CHAN_VOICE|CHAN_LISTENERZ,1.,true,100.); + A_PlaySound(fluidsounds[curfluid],CHAN_VOICE|CHAN_LISTENERZ,1.,true,0.); A_SoundVolume(CHAN_VOICE,(players[consoleplayer].camera==target)?1.:0.); } override void OnDestroy() @@ -1272,15 +1331,15 @@ Class UTUnderSound : Actor override void Tick() { Super.Tick(); - if ( !target || !target.player || (target.waterlevel < 3) ) + if ( !target || (target.waterlevel < 3) ) { Destroy(); return; } - SetOrigin(target.Vec2OffsetZ(0,0,target.player.viewz),true); + SetOrigin(target.pos,true); curfluid = GetFluid(); if ( curfluid != lastfluid ) - A_PlaySound(fluidsounds[curfluid],CHAN_VOICE|CHAN_LISTENERZ,1.,true,100.); + A_PlaySound(fluidsounds[curfluid],CHAN_VOICE|CHAN_LISTENERZ,1.,true,0.); lastfluid = curfluid; A_SoundVolume(CHAN_VOICE,(players[consoleplayer].camera==target)?1.:0.); } @@ -1499,6 +1558,12 @@ Class UTPlayerTMale1 : UTPlayer UTPlayer.VoiceType VOICE_MaleOne; -NOMENU; } + States + { + See: + TMAL A -1; + Stop; + } } Class UTPlayerTMale2 : UTPlayer { @@ -1510,6 +1575,12 @@ Class UTPlayerTMale2 : UTPlayer UTPlayer.VoiceType VOICE_MaleTwo; -NOMENU; } + States + { + See: + TMAL B -1; + Stop; + } } Class UTPlayerTFemale : UTPlayer { @@ -1545,14 +1616,14 @@ Class UTPlayerTFemale : UTPlayer Goto Spawn; Death.Decapitated: #### # 0 A_HeadPop(); - PLD6 A 3 A_PlayerScream(); + PLD6 A 3 A_PlayerScreamDT(); PLD6 B 3 A_NoBlocking(); PLD6 CDEFGHIJ 3; PLD6 K 1 A_DMFade(); Wait; Death.Zapped: #### # 3; - PLD9 A 3 A_PlayerScream(); + PLD9 A 3 A_PlayerScreamDT(); PLD9 B 3 A_NoBlocking(); PLD9 CDEFGHIJKLMNOPQRST 2; PD9B A 2 A_SetSize(-1,height*0.25); // reduce now @@ -1565,42 +1636,42 @@ Class UTPlayerTFemale : UTPlayer #### # 0 A_Jump(256,"Death1","Death3","Death4","Death7"); Death7: #### # 3; - PLD7 A 3 A_PlayerScream(); + PLD7 A 3 A_PlayerScreamDT(); PLD7 B 3 A_NoBlocking(); PLD7 CDEFGHIJ 3; PLD7 K 1 A_DMFade(); Wait; Death5: #### # 0 A_LegPop(); - PLD5 A 3 A_PlayerScream(); + PLD5 A 3 A_PlayerScreamDT(); PLD5 B 3 A_NoBlocking(); PLD5 CDEFGHIJKL 3; PLD5 M 1 A_DMFade(); Wait; Death4: #### # 3; - PLD4 A 3 A_PlayerScream(); + PLD4 A 3 A_PlayerScreamDT(); PLD4 B 3 A_NoBlocking(); PLD4 CDEFGHIJKL 3; PLD4 M 1 A_DMFade(); Wait; Death3: #### # 3; - PLD3 A 3 A_PlayerScream(); + PLD3 A 3 A_PlayerScreamDT(); PLD3 B 3 A_NoBlocking(); PLD3 CDEFGHIJKLMNO 3; PLD3 P 1 A_DMFade(); Wait; Death2: #### # 3; - PLD2 A 3 A_PlayerScream(); + PLD2 A 3 A_PlayerScreamDT(); PLD2 B 3 A_NoBlocking(); PLD2 CDEFGHIJKLMNOPQ 3; PLD2 R 1 A_DMFade(); Wait; Death1: #### # 3; - PLD1 A 3 A_PlayerScream(); + PLD1 A 3 A_PlayerScreamDT(); PLD1 B 3 A_NoBlocking(); PLD1 CDEFGHIJKLMNOPQRSTUV 3; PLD1 W 1 A_DMFade(); @@ -1617,6 +1688,12 @@ Class UTPlayerTFemale1 : UTPlayerTFemale UTPlayer.VoiceType VOICE_FemaleOne; -NOMENU; } + States + { + See: + TFEM A -1; + Stop; + } } Class UTPlayerTFemale2 : UTPlayerTFemale { @@ -1628,6 +1705,12 @@ Class UTPlayerTFemale2 : UTPlayerTFemale UTPlayer.VoiceType VOICE_FemaleTwo; -NOMENU; } + States + { + See: + TFEM B -1; + Stop; + } } Class UTPlayerTBoss : UTPlayer { @@ -1649,6 +1732,12 @@ Class UTPlayerTBoss : UTPlayer if ( bossfootsteps.GetBool() ) A_PlaySound("ut/bossfootstep",CHAN_5,vol); else Super.PlayFootstep(vol); } + States + { + See: + TBOS A -1; + Stop; + } } Class UTWeapon : Weapon @@ -1814,6 +1903,12 @@ Class UTWeapon : Weapon return rslt; } + // For clips + virtual clearscope int, int, bool, bool GetClipAmount() const + { + return -1, -1, false, false; + } + Default { Weapon.BobStyle "Smooth"; @@ -2367,6 +2462,7 @@ Class ShredCorpseHitbox : Actor } accdamage = target.Health; A_SetSize(target.radius,target.height); + if ( target.bIceCorpse ) bNOBLOOD = true; // ice statue } override void Tick() { @@ -2408,6 +2504,15 @@ Class ShredCorpseHitbox : Actor int gibhealth = (target.GibHealth==int.min)?-target.SpawnHealth():target.GibHealth; if ( accdamage < gibhealth ) { + // force chunks if frozen + if ( target.bIceCorpse ) + { + target.bSHATTERING = true; + if ( target is 'UTPlayer' ) UTPlayer(target).A_FreezeDeathChunksDT(); + else target.A_FreezeDeathChunks(); + Destroy(); + return 0; + } // force gib (cheap ATM) State gib = target.FindState("XDeath",true); if ( !gib ) gib = target.FindState("Death.Extreme",true); @@ -2839,6 +2944,10 @@ Class UTStaticHandler : StaticEventHandler Class UTMainHandler : EventHandler { Array flashes; + TextureID gframes[166]; + transient ui int gframe; + transient ui Font rfont; + bool isbd, ispb; override void CheckReplacement( ReplaceEvent e ) { @@ -2980,6 +3089,13 @@ Class UTMainHandler : EventHandler else if ( e.Replacee == 'KeyYellow' ) e.Replacement = 'UTHereticYellowKey'; else if ( e.Replacee == 'KeyGreen' ) e.Replacement = 'UTHereticGreenKey'; else if ( e.Replacee == 'KeyBlue' ) e.Replacement = 'UTHereticBlueKey'; + else if ( e.Replacee.GetClassName() == 'KeyRed' ) + { + // pretty sure that is a standardized name, so it should work for any heretic mod that adds it + e.Replacement = 'UTHereticRedKey'; + } + // TODO Hexen replacements + // TODO Strife replacements } private Actor AddLight( Vector3 pos, Color col, int radius ) @@ -3003,6 +3119,19 @@ Class UTMainHandler : EventHandler override void WorldLoaded( WorldEvent e ) { + isbd = ispb = false; + for ( int i=0; i100)?.5:1.); + S_Sound("ut/malejump",CHAN_WEAPON|CHAN_UI,(gframe>100)?.5:1.); + } + if ( ((gframe >= 37) && (gframe < 49) && !((gframe-37)%3)) + || ((gframe >= 89) && (gframe < 101) && !((gframe-89)%3)) + || ((gframe >= 141) && (gframe < 153) && !((gframe-141)%3)) ) + { + S_Sound("ut/land",CHAN_BODY|CHAN_UI,(gframe>100)?.5:1.); + S_Sound("ut/land",CHAN_ITEM|CHAN_UI,(gframe>100)?.5:1.); + } + gframe++; + } + if ( gframe >= 166 ) gframe = 0; + } + + // almost forgot about this + override void RenderUnderlay( RenderEvent e ) + { + if ( !ispb && !isbd ) return; + double ar = Screen.GetAspectRatio(); + Vector2 tsize = TexMan.GetScaledSize(gframes[gframe]); + double sar = tsize.x/tsize.y; + Vector2 vsize; + if ( sar > ar ) vsize = (tsize.y*ar,tsize.y); + else if ( sar < ar ) vsize = (tsize.x,tsize.x/ar); + else vsize = tsize; + Screen.DrawTexture(gframes[gframe],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add); + String txtme = "STOP LOADING BRUTAL DOOM WITH EVERYTHING"; + if ( !rfont ) rfont = Font.GetFont('USmallFont'); + Vector2 bcoord = ((CleanWidth-rfont.StringWidth(txtme))*.5,CleanHeight*0.8); + for ( int i=0; i