Beginning of "development limbo" phase, I guess.
|
|
@ -51,9 +51,16 @@ More weapons, because we need 'em. In addition, a bunch of cleanup in base weapo
|
||||||
* [ ] **GZDoom 4.12+ Features:**
|
* [ ] **GZDoom 4.12+ Features:**
|
||||||
- [x] Lesser code cleanup/refactor *(new variables, functions, flags, etc.)*
|
- [x] Lesser code cleanup/refactor *(new variables, functions, flags, etc.)*
|
||||||
- [ ] Visual Thinker migration where needed *(more lightweight sprite explosions and the like)*
|
- [ ] Visual Thinker migration where needed *(more lightweight sprite explosions and the like)*
|
||||||
* [ ] **VKDoom Features:**
|
* [ ] **UZDoom Features:**
|
||||||
- [x] Adjust material shaders to handle custom texture filtering
|
- [x] Use uniforms in material shaders whenever possible *(reduces the need to compile multiple versions of the same shader)*
|
||||||
- [ ] Use soft particles where needed
|
- [x] Implement self-obituaries for all weapons as well as other self-damaging player actions
|
||||||
|
- [ ] Use client-side thinkers/actors where needed for even lower overhead
|
||||||
|
- [ ] Better handling of cross-level traveling
|
||||||
|
- [ ] Make use of `unsafe(clearscope)` where needed to intentionally forgo scoping rules, for simplicity's sake
|
||||||
|
- [ ] Use `INTERPOLATESCALE` and `INTERPOLATEALPHA` where needed for certain effects
|
||||||
|
- [ ] Make use of other new virtuals such as `OnSelect`/`OnDeselect` in weapons, for more simplification
|
||||||
|
- [ ] Haptics support
|
||||||
|
- [ ] ... And much, much more
|
||||||
|
|
||||||
## 1.4 update *(Fine Refinements)*:
|
## 1.4 update *(Fine Refinements)*:
|
||||||
|
|
||||||
|
|
|
||||||
21
README.md
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
## The Introduction
|
## The Introduction
|
||||||
|
|
||||||
**Codename: Demolitionist** is an all-original gameplay mod for **VKDoom** with a basis on rapid, fluid movement mechanics as well as very satisfying, punchy, strong weaponry. In it, you play as the titular **Demolitionist**, a robot with quite a personality, who's destined to save the day, as explosively as necessary.
|
**Codename: Demolitionist** is an all-original gameplay mod for **UZDoom** with a basis on rapid, fluid movement mechanics as well as very satisfying, punchy, strong weaponry. In it, you play as the titular **Demolitionist**, a robot with quite a personality, who's destined to save the day, as explosively as necessary.
|
||||||
|
|
||||||
The mod's arsenal could be seen as a *"best of"* collection of custom weapons I've made for **Unreal Tournament**, plus many new things that didn't make the cut there. It is also effectively a reboot of the entire **Some Weird Weapons Mod *(SWWM)*** series, which unfortunately ended with the cancelled **SWWM Z**, this mod's direct predecessor *(hence this project originally starting its days under the name of **SWWM GZ**)*.
|
The mod's arsenal could be seen as a *"best of"* collection of custom weapons I've made for **Unreal Tournament**, plus many new things that didn't make the cut there. It is also effectively a reboot of the entire **Some Weird Weapons Mod *(SWWM)*** series, which unfortunately ended with the cancelled **SWWM Z**, this mod's direct predecessor *(hence this project originally starting its days under the name of **SWWM GZ**)*.
|
||||||
|
|
||||||
|
|
@ -26,7 +26,7 @@ Hope you have fun exploding demon knees.
|
||||||
|
|
||||||
**This mod features loud sounds and flashing lights**, which may be harmful to certain people. There are options to dampen some of these effects, but it may still be unsafe nonetheless.
|
**This mod features loud sounds and flashing lights**, which may be harmful to certain people. There are options to dampen some of these effects, but it may still be unsafe nonetheless.
|
||||||
|
|
||||||
**The UI design and color schemes of the mod may be problematic to people with color blindness**. Certain elements such as healthbars and various numbers could potentially become hard to see under some conditions. VKDoom has sliders for controlling not just brightness, contrast and gamma, but also color saturation, which may be of some help.
|
**The UI design and color schemes of the mod may be problematic to people with color blindness**. Certain elements such as healthbars and various numbers could potentially become hard to see under some conditions. UZDoom has sliders for controlling not just brightness, contrast and gamma, but also color saturation, which may be of some help.
|
||||||
|
|
||||||
**The characters and stories featured in this mod are part of my own personal fiction**. Any similarities to real world individuals or events are entirely coincidental or, in some cases, loosely referential.
|
**The characters and stories featured in this mod are part of my own personal fiction**. Any similarities to real world individuals or events are entirely coincidental or, in some cases, loosely referential.
|
||||||
|
|
||||||
|
|
@ -34,7 +34,7 @@ Hope you have fun exploding demon knees.
|
||||||
|
|
||||||
## Software and Hardware Requirements
|
## Software and Hardware Requirements
|
||||||
|
|
||||||
**Codename: Demolitionist** requires [a recent **VKDoom** build](https://github.com/dpjudas/VkDoom/releases/tag/nightly). As long as it supports the full **GZDoom 4.14** feature set *(or later)* it should be fine.
|
**Codename: Demolitionist** requires **UZDoom 5.0** or later.
|
||||||
|
|
||||||
Recommended desktop hardware specs are as follows:
|
Recommended desktop hardware specs are as follows:
|
||||||
|
|
||||||
|
|
@ -50,28 +50,27 @@ Recommended desktop hardware specs are as follows:
|
||||||
|
|
||||||
Recommended settings are as follows:
|
Recommended settings are as follows:
|
||||||
|
|
||||||
- **Renderer:** Hardware only, this uses 3D models, shaders, all that good stuff.
|
- **Renderer:** Hardware only, Vulkan. This uses 3D models, shaders, all that good stuff.
|
||||||
- **Textures:** Filtering set to either "`None`" or "`None (Trilinear)`". Textures are meant to be chunky.
|
- **Textures:** Filtering set to either "`None`" or "`None (Trilinear)`". Textures are meant to be chunky.
|
||||||
- **Post-processing:**
|
- **Post-processing:**
|
||||||
- Bloom is recommended at minimum, FXAA should be fine as well.
|
- Bloom is recommended at minimum, FXAA should be fine as well.
|
||||||
- Only enable SSAO if you have *REALLY* beefy hardware, it's expensive *(though it doesn't look that great)*.
|
- Only enable SSAO if you have *REALLY* beefy hardware, it's expensive *(though it doesn't look that great)*.
|
||||||
- It is not advised to use VKDoom's tonemap filters, as they can cause glitches with some visual effects.
|
- It is not advised to use the engine built-in tonemap filters, as they can cause glitches with some visual effects.
|
||||||
- For other post-processing, use [MariFX](https://git.marisa.pw/OrdinaryMagician/marifx_m) *(shameless self-plug)*.
|
- For other post-processing, use [MariFX](https://git.marisa.pw/OrdinaryMagician/marifx_m) *(shameless self-plug)*.
|
||||||
- **Lighting:**
|
- **Lighting:**
|
||||||
- Dynamic lights must be enabled, or you'll be missing out on a lot.
|
- Dynamic lights must be enabled, or you'll be missing out on a lot.
|
||||||
|
- Make sure dynamic lights are set to affect just about everything including particles.
|
||||||
|
- Dynamic light shadows are recommended to be enabled, at the highest possible quality and resolution.
|
||||||
- It's advised to use "`Classic`" sector lighting, as other modes may over-brighten weapon models.
|
- It's advised to use "`Classic`" sector lighting, as other modes may over-brighten weapon models.
|
||||||
- If affordable by the hardware, raytraced shadows are recommended *(don't use the "precise" options unless you have a 30xx series card or higher)*.
|
|
||||||
- With RT shadows, keeping the shadow quality at "`Nearest`" is recommended. That setting has a much higher performance hit when not using regular shadow mapping.
|
|
||||||
- "`GPU (Per-pixel)`" sprite lighting is also recommended on high-end hardware *(as otherwise 3D models use per-vertex lighting)*, though do note that this may cause performance issues when there's hundreds of dynamically lit sprites on-screen *(I mean, that's kind of expected)*.
|
|
||||||
- **Audio:**
|
- **Audio:**
|
||||||
- Increasing sound channels to their maximum limit *(or beyond, by changing `snd_channels` in the console)* is advised.
|
- Increasing sound channels to their maximum limit *(or beyond, by changing `snd_channels` in the console)* is advised.
|
||||||
- HRTF is not recommended, it may result in excessive CPU usage and lower quality full-stereo SFX.
|
- HRTF is not recommended, it may result in excessive CPU usage and lower quality full-stereo SFX.
|
||||||
|
|
||||||
For reference, I've been able to play this comfortably on a cheap Acer Aspire 3 laptop *(it has a Ryzen 7 5700U, not top of the line or anything)*. On the desktop I can even play through slaughterwads with it, even though most of my hardware is two or more generations old at the time of writing.
|
For reference, I've been able to play this comfortably on a cheap Acer Aspire 3 laptop *(it has a Ryzen 7 5700U, not top of the line or anything)*. On the desktop I can even play through slaughterwads with it, even though most of my hardware is two or more generations old at the time of writing.
|
||||||
|
|
||||||
Seriously, most of the people out there who complain about bad performance with GZDoom are definitely doing something wrong. This isn't the same Doom from 1993, dude, the ZDoom family has been receiving incremental updates for more than 25 years now, needing newer and better hardware is just a fact of life when software complexity keeps increasing.
|
Seriously, most of the people out there who complain about bad performance with the GZDoom family of ports are definitely doing something wrong. This isn't the same Doom from 1993, dude, the ZDoom family has been receiving incremental updates for more than 25 years now, needing newer and better hardware is just a fact of life when software complexity keeps increasing.
|
||||||
|
|
||||||
In addition, this was verified to run smoothly on the Steam Deck. However, because the mod has been designed with keyboard and mouse in mind, it is not really possible to bind *ALL* controls beyond the bare essentials, *(this might be addressed in the future)*. Note that for the time being, VKDoom has to be installed on the Deck through an [unofficial flatpak repo](https://github.com/fpiesche/flatpak-builds).
|
In addition, this was verified to run smoothly on the Steam Deck. However, because the mod has been designed with keyboard and mouse in mind, it is not really possible to bind *ALL* controls beyond the bare essentials, *(this might be addressed in the future)*.
|
||||||
|
|
||||||
*(Testers are welcome for narrowing down more precise hardware requirements, I can't afford extra testing hardware)*
|
*(Testers are welcome for narrowing down more precise hardware requirements, I can't afford extra testing hardware)*
|
||||||
|
|
||||||
|
|
@ -275,7 +274,7 @@ The pleasure of shrapnel spamming. Make hot steaming pain rain upon your enemies
|
||||||
|
|
||||||
**Tertiary fire:** Toggle between wide spread *(default)* and tight spread for primary. With a tighter spread, chunks will be closer together and reach higher speeds, but bounce more erratically. In addition, lobbed shells will also go much farther.
|
**Tertiary fire:** Toggle between wide spread *(default)* and tight spread for primary. With a tighter spread, chunks will be closer together and reach higher speeds, but bounce more erratically. In addition, lobbed shells will also go much farther.
|
||||||
|
|
||||||
This weapon made the **Unreal Engine** cry, so **VKDoom** may suffer a lot too.
|
This weapon made the **Unreal Engine** cry, so **UZDoom** may suffer a lot too.
|
||||||
|
|
||||||
#### Eviscerator Shells
|
#### Eviscerator Shells
|
||||||

|

|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ Most of the work here is original, but there are some notable exceptions:
|
||||||
- Kinsie's Test Map theme, "Hypercardish 1.1", ALSO TOO by Teque (seems nice for such an use I guess).
|
- Kinsie's Test Map theme, "Hypercardish 1.1", ALSO TOO by Teque (seems nice for such an use I guess).
|
||||||
- Clear theme, "Solitary Apprehension", by BouncyTEM (made specifically for the mod).
|
- Clear theme, "Solitary Apprehension", by BouncyTEM (made specifically for the mod).
|
||||||
- The crash handler uses a short clip of the Curb Your Enthusiasm theme.
|
- The crash handler uses a short clip of the Curb Your Enthusiasm theme.
|
||||||
- The anti-BD script uses art by Mauzy and music by Surasshu.
|
|
||||||
- Tewi font by lucy (https://github.com/lucy/tewi-font). Modified to add gradients and drop shadow.
|
- Tewi font by lucy (https://github.com/lucy/tewi-font). Modified to add gradients and drop shadow.
|
||||||
- Miniwi font by Josuah Demangeon (http://josuah.net). Modified to add gradients and drop shadow.
|
- Miniwi font by Josuah Demangeon (http://josuah.net). Modified to add gradients and drop shadow.
|
||||||
- EB Garamond font by Octavio Pardo et al (https://github.com/octaviopardo/EBGaramond12). Rendered to texture atlas with outline.
|
- EB Garamond font by Octavio Pardo et al (https://github.com/octaviopardo/EBGaramond12). Rendered to texture atlas with outline.
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@
|
||||||
#include "gldefs/pp.txt"
|
#include "gldefs/pp.txt"
|
||||||
#include "gldefs/envmaps.txt"
|
#include "gldefs/envmaps.txt"
|
||||||
#include "gldefs/misc.txt"
|
#include "gldefs/misc.txt"
|
||||||
#include "gldefs/bdscreen.txt"
|
|
||||||
#include "gldefs/demolitionist.txt"
|
#include "gldefs/demolitionist.txt"
|
||||||
// items
|
// items
|
||||||
#include "gldefs/items/ammo.txt"
|
#include "gldefs/items/ammo.txt"
|
||||||
|
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
Material Texture "graphics/BDScreen/BDBorder.png"
|
|
||||||
{
|
|
||||||
nomipmap
|
|
||||||
}
|
|
||||||
Material Texture "graphics/BDScreen/BDSaya.png"
|
|
||||||
{
|
|
||||||
nomipmap
|
|
||||||
}
|
|
||||||
Material Texture "graphics/BDScreen/BDDemo.png"
|
|
||||||
{
|
|
||||||
nomipmap
|
|
||||||
}
|
|
||||||
Material Texture "graphics/BDScreen/BDBubble0.png"
|
|
||||||
{
|
|
||||||
nomipmap
|
|
||||||
}
|
|
||||||
Material Texture "graphics/BDScreen/BDBubble1.png"
|
|
||||||
{
|
|
||||||
nomipmap
|
|
||||||
}
|
|
||||||
Material Texture "graphics/BDScreen/BDBubble2.png"
|
|
||||||
{
|
|
||||||
nomipmap
|
|
||||||
}
|
|
||||||
Material Texture "graphics/BDScreen/BDBubble3.png"
|
|
||||||
{
|
|
||||||
nomipmap
|
|
||||||
}
|
|
||||||
|
|
@ -171,29 +171,17 @@ Material Sprite "MKRVA0"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/Mykradvo.fp"
|
Shader "shaders/glsl/Mykradvo.fp"
|
||||||
Texture "warptex" "textures/warptex.png"
|
Texture "warptex" "textures/warptex.png"
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
Texture "snoisetex" "textures/softnoise.png"
|
Texture "snoisetex" "textures/softnoise.png"
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Material Texture "models/extra/AnomRingies.png"
|
Material Texture "models/extra/AnomRingies.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/Mykradvo2.fp"
|
Shader "shaders/glsl/Mykradvo2.fp"
|
||||||
Texture "warptex" "textures/heattex.png"
|
Texture "warptex" "textures/heattex.png"
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Material Sprite "DVSPA0"
|
Material Sprite "DVSPA0"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/Divine.fp"
|
Shader "shaders/glsl/Divine.fp"
|
||||||
Texture "snoisetex" "textures/softnoise.png"
|
Texture "snoisetex" "textures/softnoise.png"
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Material Texture "models/DivineSprite.png"
|
Material Texture "models/DivineSprite.png"
|
||||||
{
|
{
|
||||||
|
|
|
||||||
464
gldefs/misc.txt
|
|
@ -117,126 +117,6 @@ Material Texture "graphics/HUD/HealthBarD.png"
|
||||||
Uniform vec2 "BaseRes" = "120." "25."
|
Uniform vec2 "BaseRes" = "120." "25."
|
||||||
Texture "noisetex" "textures/graynoise.png"
|
Texture "noisetex" "textures/graynoise.png"
|
||||||
}
|
}
|
||||||
Material Texture "graphics/HUD/Icons/W_DeepImpact.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_DeepImpact.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_ExplodiumGun.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_ExplodiumGun.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_Spreadgun.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_Spreadgun.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_Wallbuster.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_Wallbuster.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_Eviscerator.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_Eviscerator.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_Hellblazer.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_Hellblazer.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_Sparkster.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_Sparkster.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_SilverBullet.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_SilverBullet.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_CandyGun.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_CandyGun.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_Ynykron.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_Ynykron.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_ItamexHammer.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_ItamexHammer.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_PlasmaBlast.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_PlasmaBlast.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_SheenHMG.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_SheenHMG.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_Quadravol.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_Quadravol.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/HUD/Icons/W_MortalRifle.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/HUD/Icons/W_MortalRifle.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/dsmapfont.png"
|
Material Texture "graphics/dsmapfont.png"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/AreaName.fp"
|
Shader "shaders/glsl/AreaName.fp"
|
||||||
|
|
@ -268,351 +148,7 @@ Material Texture "graphics/NewLogo.png"
|
||||||
Texture "gradtex" "graphics/NewLogo_Grad.png"
|
Texture "gradtex" "graphics/NewLogo_Grad.png"
|
||||||
Texture "fadetex" "LOGOFADE"
|
Texture "fadetex" "LOGOFADE"
|
||||||
}
|
}
|
||||||
Material Texture "graphics/M_DEMOLITIONIST.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOLITIONIST.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_DEEPIMPACT.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_DEEPIMPACT.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_EXPLOGUN.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_EXPLOGUN.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_SPREADGUN.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_SPREADGUN.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_WALLBUSTER.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_WALLBUSTER.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_EVISCERATOR.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_EVISCERATOR.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_HELLBLAZER.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_HELLBLAZER.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_BIOSPARK.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_BIOSPARK.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_SILVERBULLET.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_SILVERBULLET.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_CANDYGUN.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_CANDYGUN.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_YNYKRON.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_YNYKRON.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_DAB.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_DAB.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_DOUBLEV.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_DOUBLEV.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_HEALTH.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_HEALTH.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_LOVE.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_LOVE.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_RAGEKIT.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_RAGEKIT.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_SANDWICH.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_SANDWICH.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_SHELLS.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_SHELLS.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_SKULL.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_SKULL.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_THONK.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_THONK.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_THUMBUP.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_THUMBUP.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_HAMMER.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_HAMMER.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_PLASMA.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_PLASMA.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_SHEEN.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_SHEEN.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_QUADRAVOL.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_QUADRAVOL.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/M_DEMOCHAN_MISTER.png"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/M_DEMOCHAN_MISTER.png"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Sprite "MBRNB0"
|
Material Sprite "MBRNB0"
|
||||||
{
|
{
|
||||||
Shader "shaders/glsl/Whew.fp"
|
Shader "shaders/glsl/Whew.fp"
|
||||||
}
|
}
|
||||||
Material Texture "graphics/Renders/ActionShot.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/ActionShot.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/Booty.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/Booty.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/Ynykron.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/Ynykron.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/SayaBean.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/SayaBean.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/SayaGaming.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/SayaGaming.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/CandyGun.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/CandyGun.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/InAHurry.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/InAHurry.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/E2M8.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/E2M8.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/BTSXE1.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/BTSXE1.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/FroggyGang.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/FroggyGang.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/Nutso.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/Nutso.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/BedTime.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/BedTime.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/Costanza.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/Costanza.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/Cube.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/Cube.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/MisaYnykron.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/MisaYnykron.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/Sunder.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/Sunder.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Material Texture "graphics/Renders/Sheen.jpg"
|
|
||||||
{
|
|
||||||
Shader "shaders/glsl/TexFilterHack.fp"
|
|
||||||
Texture "retex" "graphics/Renders/Sheen.jpg"
|
|
||||||
{
|
|
||||||
filter linear
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 716 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 296 KiB |
|
|
@ -1162,7 +1162,7 @@ SWWM_INTERTIP54 = "You can pet the dog.\n\nYou can also pet the Cacodemon (but t
|
||||||
SWWM_INTERTIP55 = "\"Fun things are fun.\"\n — Yui Hirasawa";
|
SWWM_INTERTIP55 = "\"Fun things are fun.\"\n — Yui Hirasawa";
|
||||||
SWWM_INTERTIP56 = "Some of these tips aren't really tips, but you probably already know that.";
|
SWWM_INTERTIP56 = "Some of these tips aren't really tips, but you probably already know that.";
|
||||||
SWWM_INTERTIP57 = "Kinylum salt is not edible. Not only is it radioactive, but it would easily ignite in your stomach. Funny enough, it's popular as a hair dye.";
|
SWWM_INTERTIP57 = "Kinylum salt is not edible. Not only is it radioactive, but it would easily ignite in your stomach. Funny enough, it's popular as a hair dye.";
|
||||||
SWWM_INTERTIP58 = "Always keep VKDoom up to date. Especially for mods like this one.";
|
SWWM_INTERTIP58 = "A large chunk of the Doom community is not to be trusted. Be careful out there.";
|
||||||
SWWM_INTERTIP59 = "The Reinforced Combat Hammer is pretty strong on its own, but with a Ragekit active, it will be boosted into a beastly headsmasher.";
|
SWWM_INTERTIP59 = "The Reinforced Combat Hammer is pretty strong on its own, but with a Ragekit active, it will be boosted into a beastly headsmasher.";
|
||||||
SWWM_INTERTIP60 = "Despite its seemingly puny size, the Plasma Blaster has a lot of destructive potential, especially through its charged alt fire.";
|
SWWM_INTERTIP60 = "Despite its seemingly puny size, the Plasma Blaster has a lot of destructive potential, especially through its charged alt fire.";
|
||||||
SWWM_INTERTIP61 = "The Puntzer guns can easily pierce through solid objects or even thin walls. No enemy will ever be safe behind cover.";
|
SWWM_INTERTIP61 = "The Puntzer guns can easily pierce through solid objects or even thin walls. No enemy will ever be safe behind cover.";
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ SWWM_DEMOSNAME = "\cdDemo\c-";
|
||||||
SWWM_MEIDONAME = "\cvMeido Miyamoto\c-";
|
SWWM_MEIDONAME = "\cvMeido Miyamoto\c-";
|
||||||
SWWM_MEIDOSNAME = "\cvMeido\c-";
|
SWWM_MEIDOSNAME = "\cvMeido\c-";
|
||||||
SWWM_RIKANAME = "\chRika\c-";
|
SWWM_RIKANAME = "\chRika\c-";
|
||||||
SWWM_RIKASNAME = "$$SWWM_RIKANAME";
|
SWWM_RIKASNAME = "\chRika Isuzu\c-";
|
||||||
// E1M8
|
// E1M8
|
||||||
SWWM_SAYAPHOBOS1 = "I kinda forgot to mention this in the briefing but... There's a bit of an issue here, \cdDemo-chan\c-.";
|
SWWM_SAYAPHOBOS1 = "I kinda forgot to mention this in the briefing but... There's a bit of an issue here, \cdDemo-chan\c-.";
|
||||||
SWWM_SAYAPHOBOS2 = "The gate to Deimos is guarded by two nasty pieces of work, and you're gonna have to get rid of them.";
|
SWWM_SAYAPHOBOS2 = "The gate to Deimos is guarded by two nasty pieces of work, and you're gonna have to get rid of them.";
|
||||||
|
|
@ -396,3 +396,13 @@ SWWM_SAYACRANKB1 = "You're doing this stuff on purpose just to get a reaction ou
|
||||||
SWWM_SAYACRANKB2 = "Well, congratulations, I am reacting and I think you should stop.";
|
SWWM_SAYACRANKB2 = "Well, congratulations, I am reacting and I think you should stop.";
|
||||||
SWWM_SAYACRANKC1 = "... Damn it, \cdDemo\c-, that's enough.";
|
SWWM_SAYACRANKC1 = "... Damn it, \cdDemo\c-, that's enough.";
|
||||||
SWWM_SAYACRANKD1 = "*sigh*";
|
SWWM_SAYACRANKD1 = "*sigh*";
|
||||||
|
// Legacy of Rust E1E8
|
||||||
|
SWWM_SAYALOR11 = "OK, by process of elimination, there HAS to be something in here, \cdDemo\c-.";
|
||||||
|
SWWM_SAYALOR12 = "Last chance to find those nukes, before those pieces of shit can use them.";
|
||||||
|
SWWM_SAYALOR13 = "Still fucked up that demons have literal WMDs... What was the UAC even thinking?";
|
||||||
|
// Legacy of Rust E2E8
|
||||||
|
SWWM_SAYALOR21 = "This is it... Ardent energy readings going nuts, it's the launch site for sure.";
|
||||||
|
SWWM_SAYALOR22 = "Goes without saying to expect resistance. These bastards won't give it up.";
|
||||||
|
SWWM_SAYALOR23 = "You know what would be funny, though? Heheheh...";
|
||||||
|
SWWM_SAYALOR24 = "What if you were to, say, set up the nukes to detonate where they stand?";
|
||||||
|
SWWM_SAYALOR25 = "OBVIOUSLY, from a safe distance, that is. Oh man... Let's do this, \cdDemo\c-.";
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ SWWM_MISSION_DOOM28 =
|
||||||
"\n"
|
"\n"
|
||||||
"You're getting deployed to \cf\"New Eden\"\c-, an outpost around the northern coast of Hell's mainland. Thought to be abandoned, sure, but turns out a certain group of people, certain fucking desperate sore loser generals I will not name, have seized it due to one very critical mistake: The goddamn UAC put a shitload of nukes in there.\n"
|
"You're getting deployed to \cf\"New Eden\"\c-, an outpost around the northern coast of Hell's mainland. Thought to be abandoned, sure, but turns out a certain group of people, certain fucking desperate sore loser generals I will not name, have seized it due to one very critical mistake: The goddamn UAC put a shitload of nukes in there.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Now, these idiots truly did sink to a new low. They had that shit in there, at the ready for launch, \"just in case\" something happened. Well, something sure did happen, because now the \cfArchlord Generals\c- have access to weapons of mass destruction, and as soon as they figure out how to use them, we're screwed.\n"
|
"Now, these idiots truly did sink to a new low. They had that shit in there, at the ready for launch, \"just in case\" something happened. Well, something sure did happen, because now the \cfArchdemon Generals\c-, no joke, have access to weapons of mass destruction, and as soon as they figure out how to use them, we're screwed.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"So, what's the plan? First, you need to hitch a ride through a portal, and then you'll be back in the ol' land of fire and brimstone. From there, you need to blast your way through the UAC facilities, watching out for any resistance in your path. There's not really any info on the layout of this place, so we either find those nukes by chance, by process of elimination, or you happen to locate an access point where you can fetch a detailed map of the whole installation.\n"
|
"So, what's the plan? First, you need to hitch a ride through a portal, and then you'll be back in the ol' land of fire and brimstone. From there, you need to blast your way through the UAC facilities, watching out for any resistance in your path. There's not really any info on the layout of this place, so we either find those nukes by chance, by process of elimination, or you happen to locate an access point where you can fetch a detailed map of the whole installation.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
@ -187,7 +187,7 @@ SWWM_MISSION_DOOM28 =
|
||||||
SWWM_MISSION_DOOM29 =
|
SWWM_MISSION_DOOM29 =
|
||||||
"OK, so that was embarrassing. Yeah, the access point was obviously rigged, you walked right into a trap, and GUESS WHO also decided that, right after that happened, he had to dispose of your entire inventory. Yup.\n"
|
"OK, so that was embarrassing. Yeah, the access point was obviously rigged, you walked right into a trap, and GUESS WHO also decided that, right after that happened, he had to dispose of your entire inventory. Yup.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Now, the info we got in the last second was very useful, with one caveat: The missiles are not on \cfNew Eden\c-, but somewhere else entirely. But guess what? I've tracked where those wacky winged weirdos took you, and they actually dropped you off not far from the missile silo.\n"
|
"Now, the info we got just in the nick of time was very useful, with one caveat: The missiles are not on \cfNew Eden\c-, but somewhere else entirely. But guess what? I've tracked where those wacky winged weirdos took you, and they actually dropped you off not far from the missile silo.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Of course, once you get there, expect the place to be very, very heavily guarded. But for now, you do need to get out of that cage and... Find more guns, again. *sigh*\n"
|
"Of course, once you get there, expect the place to be very, very heavily guarded. But for now, you do need to get out of that cage and... Find more guns, again. *sigh*\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
|
||||||
|
|
@ -995,7 +995,7 @@ SWWM_INTERTIP54 = "Puedes acariciar al perro.\n\nTambién puedes acariciar al Ca
|
||||||
SWWM_INTERTIP55 = "\"Las cosas divertidas son divertidas.\"\n — Yui Hirasawa";
|
SWWM_INTERTIP55 = "\"Las cosas divertidas son divertidas.\"\n — Yui Hirasawa";
|
||||||
SWWM_INTERTIP56 = "Algunos de estos consejos no son realmente consejos, pero seguro que eso ya lo sabes.";
|
SWWM_INTERTIP56 = "Algunos de estos consejos no son realmente consejos, pero seguro que eso ya lo sabes.";
|
||||||
SWWM_INTERTIP57 = "La sal de Kinylum no es comestible. No solo es radioactiva, si no que también explotará en tu estómago. Curiosamente, se usa popularmente como tinte de pelo.";
|
SWWM_INTERTIP57 = "La sal de Kinylum no es comestible. No solo es radioactiva, si no que también explotará en tu estómago. Curiosamente, se usa popularmente como tinte de pelo.";
|
||||||
SWWM_INTERTIP58 = "Mantén siempre VKDoom actualizado. Especialmente para mods como este.";
|
SWWM_INTERTIP58 = "Una parte considerable de la comunidad de Doom no es de fiar. Ten cuidado ahí afuera.";
|
||||||
SWWM_INTERTIP59 = "El Mazo de Combate Reforzado es bastante fuerte de por sí, pero con un Ragekit activo, se transformará en todo un revientacráneos.";
|
SWWM_INTERTIP59 = "El Mazo de Combate Reforzado es bastante fuerte de por sí, pero con un Ragekit activo, se transformará en todo un revientacráneos.";
|
||||||
SWWM_INTERTIP60 = "A pesar de su aparentemente penoso tamaño, el Blaster de Plasma tiene mucho potencial destructivo, sobre todo a través de su fuego alternativo cargado.";
|
SWWM_INTERTIP60 = "A pesar de su aparentemente penoso tamaño, el Blaster de Plasma tiene mucho potencial destructivo, sobre todo a través de su fuego alternativo cargado.";
|
||||||
SWWM_INTERTIP61 = "Las armas Puntzer pueden penetrar fácilmente objetos sólidos e incluso paredes de poco grosor. Ningún enemigo estará seguro detrás de su cobertura.";
|
SWWM_INTERTIP61 = "Las armas Puntzer pueden penetrar fácilmente objetos sólidos e incluso paredes de poco grosor. Ningún enemigo estará seguro detrás de su cobertura.";
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
[default]
|
[default]
|
||||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1241 \cu(mié 29 oct 2025 14:41:00 CET)\c-";
|
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1243 \cu(mié 03 dic 2025 20:47:54 CET)\c-";
|
||||||
SWWM_SHORTVER="\cw1.3pre r1241 \cu(2025-10-29 14:41:00)\c-";
|
SWWM_SHORTVER="\cw1.3pre r1243 \cu(2025-12-03 20:47:54)\c-";
|
||||||
|
|
|
||||||
|
|
@ -67,8 +67,9 @@ Index of contents:
|
||||||
|
|
||||||
Surprise surprise, after a decade of delving into other works, I have made my
|
Surprise surprise, after a decade of delving into other works, I have made my
|
||||||
epic return! The SWWM series has been, in a way, "rebooted" through this here
|
epic return! The SWWM series has been, in a way, "rebooted" through this here
|
||||||
project, and so it goes. The UT side of things is pretty much dead for me, I've
|
project, and so it goes. The UT side of things is pretty much dead for me, and
|
||||||
jumped ship to VKDoom and boy is it one heckin' powerhouse for modding.
|
the long-since open sourced Doom engine has proven to be one hell of a
|
||||||
|
powerhouse for modding, especially the ZDoom family of source ports.
|
||||||
|
|
||||||
1.2. The Story So Far
|
1.2. The Story So Far
|
||||||
- - - - - - - - - - -
|
- - - - - - - - - - -
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
// keeping this as a define while using vec3 uniforms for the parameters
|
// keeping this as a define while using vec3 uniforms for the parameters
|
||||||
// ensures that we only need to compile three versions of this material shader
|
// ensures that we only need to compile three versions of this material shader
|
||||||
// (at least, because I don't know for sure how VKDoom handles this stuff)
|
// (at least, because I don't know for sure how shader caching handles that)
|
||||||
#ifndef ENV_LAYERS
|
#ifndef ENV_LAYERS
|
||||||
#define ENV_LAYERS 1
|
#define ENV_LAYERS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
// VKDoom's quirked up when it comes to texture filtering in custom materials
|
|
||||||
// so this shader is needed as a compromise
|
|
||||||
// (the negative LOD bias is needed for sharpness when used in 2D drawing)
|
|
||||||
|
|
||||||
void SetupMaterial( inout Material mat )
|
|
||||||
{
|
|
||||||
#ifdef OVERSAMPLE
|
|
||||||
// This should act as a virtual NormalNx upscaler, useful for
|
|
||||||
// preserving pixel art
|
|
||||||
vec2 size = vec2(textureSize(retex,0));
|
|
||||||
vec2 pxsize = vec2(1./size.x,1./size.y);
|
|
||||||
vec2 pos = vTexCoord.st-vec2(.5)*pxsize;
|
|
||||||
vec2 fcoord = fract(pos*size-vec2(.5));
|
|
||||||
vec2 coeff = fcoord*6.; // virtual upscale factor I guess?
|
|
||||||
float threshold = 0.; // this controls sharpness, kinda
|
|
||||||
coeff = (coeff-threshold)*1./(1.-2.*threshold);
|
|
||||||
coeff = clamp(coeff,0.,1.);
|
|
||||||
mat.Base = texture(retex,pos+pxsize*(coeff-fcoord),-.5);
|
|
||||||
#else
|
|
||||||
mat.Base = texture(retex,vTexCoord.st,-.5);
|
|
||||||
#endif
|
|
||||||
mat.Normal = ApplyNormalMap(vTexCoord.st);
|
|
||||||
}
|
|
||||||
|
|
@ -78,17 +78,17 @@ Class SWWMBrutalHandler : StaticEventHandler
|
||||||
eztex[5] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble2.png");
|
eztex[5] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble2.png");
|
||||||
eztex[6] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble3.png");
|
eztex[6] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble3.png");
|
||||||
for ( int i=0; i<6; i++ ) ezstate[i] = false;
|
for ( int i=0; i<6; i++ ) ezstate[i] = false;
|
||||||
for ( int i=0; i<4; i++ ) ezslide[i] = 2800.;
|
for ( int i=0; i<4; i++ ) ezslide[i] = 1400.;
|
||||||
eztext[0] = "Eeeeeh?\nReally\nnow\n!?";
|
eztext[0] = "Eeeeeh?\nReally\nnow\n!?";
|
||||||
eztext[1] = "\c[BDRed]Brutal\nDoom\c-?\n\nThat's\ncringe";
|
eztext[1] = "\c[BDRed]Brutal\nDoom\c-?\n\nThat's\ncringe";
|
||||||
eztext[2] = "Only a\ncomplete\nfool\nwould try\nto load\n\c[BDRed]Brutal Doom\c-\nwith\nother game-\nplay mods,\nright?";
|
eztext[2] = "Only a\ncomplete\nfool\nwould try\nto load\n\c[BDRed]Brutal Doom\c-\nwith\nother game-\nplay mods,\nright?";
|
||||||
eztext[3] = "Ha\nha\nha\nha";
|
eztext[3] = "Ha\nha\nha\nha";
|
||||||
eztext[4] = "Ki\nhi\nhi\nhi";
|
eztext[4] = "Ki\nhi\nhi\nhi";
|
||||||
eztextpos[0] = (2500.,100.);
|
eztextpos[0] = (1250.,50.);
|
||||||
eztextpos[1] = (1620.,1580.);
|
eztextpos[1] = (810.,790.);
|
||||||
eztextpos[2] = (80.,140.);
|
eztextpos[2] = (40.,70.);
|
||||||
eztextpos[3] = (100.,1660.);
|
eztextpos[3] = (50.,830.);
|
||||||
eztextpos[4] = (300.,1660.);
|
eztextpos[4] = (150.,830.);
|
||||||
ezcolor[0] = Font.FindFontColor('BDSayaRed');
|
ezcolor[0] = Font.FindFontColor('BDSayaRed');
|
||||||
ezcolor[1] = Font.FindFontColor('BDSayaRed');
|
ezcolor[1] = Font.FindFontColor('BDSayaRed');
|
||||||
ezcolor[2] = Font.FindFontColor('BDDemoGreen');
|
ezcolor[2] = Font.FindFontColor('BDDemoGreen');
|
||||||
|
|
@ -97,7 +97,7 @@ Class SWWMBrutalHandler : StaticEventHandler
|
||||||
fnt = Font.GetFont('TewiFontOutline');
|
fnt = Font.GetFont('TewiFontOutline');
|
||||||
for ( int i=0; i<5; i++ )
|
for ( int i=0; i<5; i++ )
|
||||||
{
|
{
|
||||||
ezlines[i] = fnt.BreakLines(eztext[i],1000);
|
ezlines[i] = fnt.BreakLines(eztext[i],500);
|
||||||
ezlinesw[i] = 0.;
|
ezlinesw[i] = 0.;
|
||||||
for ( int j=0; j<ezlines[i].Count(); j++ )
|
for ( int j=0; j<ezlines[i].Count(); j++ )
|
||||||
ezlinesw[i] = max(ezlinesw[i],ezlines[i].StringWidth(j));
|
ezlinesw[i] = max(ezlinesw[i],ezlines[i].StringWidth(j));
|
||||||
|
|
@ -154,28 +154,28 @@ Class SWWMBrutalHandler : StaticEventHandler
|
||||||
if ( !detected ) return;
|
if ( !detected ) return;
|
||||||
Screen.Dim(0xFF000000,clamp((timer+e.fractic)/50.,0.,.5),0,0,Screen.GetWidth(),Screen.GetHeight());
|
Screen.Dim(0xFF000000,clamp((timer+e.fractic)/50.,0.,.5),0,0,Screen.GetWidth(),Screen.GetHeight());
|
||||||
if ( timer < 50 ) return;
|
if ( timer < 50 ) return;
|
||||||
double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.)/6.;
|
double hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/360.)),1.)/3.;
|
||||||
Vector2 pos = ((Screen.GetWidth()-(2800.*hs))/2.,(Screen.GetHeight()-(2100.*hs))/2.);
|
Vector2 pos = ((Screen.GetWidth()-(1400.*hs))/2.,(Screen.GetHeight()-(1050.*hs))/2.);
|
||||||
if ( timer > 300 )
|
if ( timer > 300 )
|
||||||
{
|
{
|
||||||
double fact = clamp(((timer+e.fractic)-300.)/100.,0.,1.);
|
double fact = clamp(((timer+e.fractic)-300.)/100.,0.,1.);
|
||||||
Screen.Dim(0xFFFF0000,fact,0,0,Screen.GetWidth(),Screen.GetHeight(),STYLE_Add);
|
Screen.Dim(0xFFFF0000,fact,0,0,Screen.GetWidth(),Screen.GetHeight(),STYLE_Add);
|
||||||
SetUIRandom(MSTime()/10);
|
SetUIRandom(MSTime()/10);
|
||||||
pos.x += RandomShiver()*128.*hs*fact*fact;
|
pos.x += RandomShiver()*64.*hs*fact*fact;
|
||||||
pos.y += RandomShiver()*128.*hs*fact*fact;
|
pos.y += RandomShiver()*64.*hs*fact*fact;
|
||||||
}
|
}
|
||||||
Screen.SetClipRect(int(pos.x),int(pos.y),int(2800.*hs),int(2100.*hs));
|
Screen.SetClipRect(int(pos.x),int(pos.y),int(1400.*hs),int(1050.*hs));
|
||||||
Screen.Dim(0xFFFFFFFF,1.,int(pos.x),int(pos.y),int(2800.*hs),int(2100.*hs));
|
Screen.Dim(0xFFFFFFFF,1.,int(pos.x),int(pos.y),int(1400.*hs),int(1050.*hs));
|
||||||
SetUIRandom(MSTime()/40);
|
SetUIRandom(MSTime()/40);
|
||||||
for ( int i=0; i<6; i++ )
|
for ( int i=0; i<6; i++ )
|
||||||
{
|
{
|
||||||
double ypos = RandomOffset()*2100.*hs;
|
double ypos = RandomOffset()*1050.*hs;
|
||||||
Screen.DrawThickLine(pos.x,pos.y+ypos,pos.x+2800.*hs,pos.y+ypos,8.*hs,0xFF000000);
|
Screen.DrawThickLine(pos.x,pos.y+ypos,pos.x+1400.*hs,pos.y+ypos,4.*hs,0xFF000000);
|
||||||
}
|
}
|
||||||
for ( int i=0; i<12; i++ )
|
for ( int i=0; i<12; i++ )
|
||||||
{
|
{
|
||||||
double ypos = RandomOffset()*2100.*hs;
|
double ypos = RandomOffset()*1050.*hs;
|
||||||
Screen.DrawThickLine(pos.x,pos.y+ypos,pos.x+2800.*hs,pos.y+ypos,2.*hs,0xFF000000);
|
Screen.DrawThickLine(pos.x,pos.y+ypos,pos.x+1400.*hs,pos.y+ypos,hs,0xFF000000);
|
||||||
}
|
}
|
||||||
if ( ezstate[1] )
|
if ( ezstate[1] )
|
||||||
Screen.DrawTexture(eztex[2],false,pos.x+SWWMUtility.Lerp(ezslide[3],ezslide[2],e.fractic),pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs);
|
Screen.DrawTexture(eztex[2],false,pos.x+SWWMUtility.Lerp(ezslide[3],ezslide[2],e.fractic),pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs);
|
||||||
|
|
@ -187,9 +187,9 @@ Class SWWMBrutalHandler : StaticEventHandler
|
||||||
if ( i<4 ) Screen.DrawTexture(eztex[3+i],false,pos.x,pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs);
|
if ( i<4 ) Screen.DrawTexture(eztex[3+i],false,pos.x,pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs);
|
||||||
for ( int j=0; j<ezlines[i].Count(); j++ )
|
for ( int j=0; j<ezlines[i].Count(); j++ )
|
||||||
{
|
{
|
||||||
double xofs = (ezlinesw[i]-ezlines[i].StringWidth(j))*3.*hs;
|
double xofs = (ezlinesw[i]-ezlines[i].StringWidth(j))*1.5*hs;
|
||||||
double yofs = (fnt.GetHeight()+2)*j*6.*hs;
|
double yofs = (fnt.GetHeight()+2)*j*3.*hs;
|
||||||
Screen.DrawText(fnt,ezcolor[i],pos.x+eztextpos[i].x*hs+xofs,pos.y+eztextpos[i].y*hs+yofs,ezlines[i].StringAt(j),DTA_ScaleX,hs*6.,DTA_ScaleY,hs*6.);
|
Screen.DrawText(fnt,ezcolor[i],pos.x+eztextpos[i].x*hs+xofs,pos.y+eztextpos[i].y*hs+yofs,ezlines[i].StringAt(j),DTA_ScaleX,hs*3.,DTA_ScaleY,hs*3.);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Screen.ClearClipRect();
|
Screen.ClearClipRect();
|
||||||
|
|
|
||||||