diff --git a/Readme.md b/Readme.md index 2e69b0e..153f73e 100644 --- a/Readme.md +++ b/Readme.md @@ -44,6 +44,7 @@ This mod requires GZDoom 3.5.0 or later. - Rocket Launcher (slot 9) - "Instant Rocket" mode toggleable with reload - Scaling/Customization options for the HUD + - UT-like player movement physics ## In progress @@ -62,10 +63,15 @@ This mod requires GZDoom 3.5.0 or later. ## Future plans - Add ammo counters to Pulsegun, Minigun, Flak Cannon and Rocket Launcher once - scripted textures are implemented. - - Add player models + weapon attachment support when that is also added in. - - Add option to have UT-like player movement physics. - - Migrate RandomSpawners to CheckReplacement. + scripted textures are implemented + - Add player models once GZDoom gets a well deserved model animation system + overhaul (at the moment this would require a monumental amount of work in + the current state-tied system) + - Add weapon attachment support to player models when that is also added in + - Migrate RandomSpawners to CheckReplacement + - Perhaps come up with an add-on that imitates UT's blood/gore system + - Unreal 1 weapons mod and maybe also a monsters mod + - Port some of my UT weapon mods ## Known bugs @@ -79,6 +85,6 @@ This mod requires GZDoom 3.5.0 or later. ## Known bugs that are not this mod's fault - - Pulse gun beams behave oddly when the player is moving or looking up and - down. This is a rendering interpolation bug in GZDoom that has been fixed - already in recent devbuilds + - Pulse gun beams behave oddly when the player is standing on a moving floor. + This is an interpolation quirk in GZDoom and I can probably find some hacky + way to fix it eventually diff --git a/gldefs.txt b/gldefs.txt index 2658c6f..60bf262 100644 --- a/gldefs.txt +++ b/gldefs.txt @@ -580,3 +580,12 @@ HardwareShader PostProcess scene Texture StaticTexture "textures/static1.png" Uniform float Timer } +SkyBox "BlueSky" fliptop +{ + "graphics/SkySetB_front.png" + "graphics/SkySetB_right.png" + "graphics/SkySetB_back.png" + "graphics/SkySetB_left.png" + "graphics/SkySetB_up.png" + "graphics/SkySetB_down.png" +} \ No newline at end of file diff --git a/graphics/SkySetB_back.png b/graphics/SkySetB_back.png new file mode 100644 index 0000000..1b02d21 Binary files /dev/null and b/graphics/SkySetB_back.png differ diff --git a/graphics/SkySetB_down.png b/graphics/SkySetB_down.png new file mode 100644 index 0000000..2461645 Binary files /dev/null and b/graphics/SkySetB_down.png differ diff --git a/graphics/SkySetB_front.png b/graphics/SkySetB_front.png new file mode 100644 index 0000000..691b8a7 Binary files /dev/null and b/graphics/SkySetB_front.png differ diff --git a/graphics/SkySetB_left.png b/graphics/SkySetB_left.png new file mode 100644 index 0000000..9b14403 Binary files /dev/null and b/graphics/SkySetB_left.png differ diff --git a/graphics/SkySetB_right.png b/graphics/SkySetB_right.png new file mode 100644 index 0000000..fa78d20 Binary files /dev/null and b/graphics/SkySetB_right.png differ diff --git a/graphics/SkySetB_up.png b/graphics/SkySetB_up.png new file mode 100644 index 0000000..33b178b Binary files /dev/null and b/graphics/SkySetB_up.png differ diff --git a/sndinfo.txt b/sndinfo.txt index 457ed91..638223c 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -240,3 +240,9 @@ warhead/explode warexplo warhead/fly warfly warhead/select warhpick warhead/fire warhshot + +testamb/slime aslime2 +testamb/lava lava31 +testamb/water trickle1 +testamb/wind1 wind21 +testamb/wind2 wind23 diff --git a/sounds/doomtest/aslime2.ogg b/sounds/doomtest/aslime2.ogg new file mode 100644 index 0000000..6da48e4 Binary files /dev/null and b/sounds/doomtest/aslime2.ogg differ diff --git a/sounds/doomtest/lava31.ogg b/sounds/doomtest/lava31.ogg new file mode 100644 index 0000000..9b8ecf7 Binary files /dev/null and b/sounds/doomtest/lava31.ogg differ diff --git a/sounds/doomtest/trickle1.ogg b/sounds/doomtest/trickle1.ogg new file mode 100644 index 0000000..1709085 Binary files /dev/null and b/sounds/doomtest/trickle1.ogg differ diff --git a/sounds/doomtest/wind21.ogg b/sounds/doomtest/wind21.ogg new file mode 100644 index 0000000..5b82433 Binary files /dev/null and b/sounds/doomtest/wind21.ogg differ diff --git a/sounds/doomtest/wind23.ogg b/sounds/doomtest/wind23.ogg new file mode 100644 index 0000000..4a2b60d Binary files /dev/null and b/sounds/doomtest/wind23.ogg differ diff --git a/textures.misc b/textures.misc index 9549f79..6aa62ec 100644 --- a/textures.misc +++ b/textures.misc @@ -1,11 +1,3 @@ -// shrunk version of -noflat- for Kinsie's test map, looks better -Texture "-kinsie-",128,128 -{ - XScale 8 - YScale 8 - WorldPanning - Patch "-noflat-",0,0{} -} Texture "FIZZHP00",256,256 { Patch "LAVA1",0,0{Translation "0:255=#[0,0,255]"} diff --git a/textures/doomtest/Glassg.png b/textures/doomtest/Glassg.png new file mode 100644 index 0000000..436962b Binary files /dev/null and b/textures/doomtest/Glassg.png differ diff --git a/textures/doomtest/rClfBas0.png b/textures/doomtest/rClfBas0.png new file mode 100644 index 0000000..1efcc62 Binary files /dev/null and b/textures/doomtest/rClfBas0.png differ diff --git a/textures/doomtest/rClfFlr0.png b/textures/doomtest/rClfFlr0.png new file mode 100644 index 0000000..5b4e58e Binary files /dev/null and b/textures/doomtest/rClfFlr0.png differ diff --git a/textures/doomtest/uAlnWl2b.png b/textures/doomtest/uAlnWl2b.png new file mode 100644 index 0000000..9e7549d Binary files /dev/null and b/textures/doomtest/uAlnWl2b.png differ diff --git a/textures/doomtest/xAlnWl2b.png b/textures/doomtest/xAlnWl2b.png new file mode 100644 index 0000000..42a528b Binary files /dev/null and b/textures/doomtest/xAlnWl2b.png differ diff --git a/zscript/powerups.zsc b/zscript/powerups.zsc index f22ee84..ffad00c 100644 --- a/zscript/powerups.zsc +++ b/zscript/powerups.zsc @@ -49,7 +49,7 @@ Class DamageAmplifier : Powerup Default { Powerup.Duration -60; - Powerup.Color "EE00FF", 0.15; + Powerup.Color "EE00FF", 0.05; } override void BeginPlay() @@ -244,7 +244,7 @@ Class UTInvisibility : PowerupGiver replaces BlurSphere States { Spawn: - INVS A -1 Bright; + INVS A -1; Stop; } } diff --git a/zscript/sniperrifle.zsc b/zscript/sniperrifle.zsc index bf529c9..cc4beeb 100644 --- a/zscript/sniperrifle.zsc +++ b/zscript/sniperrifle.zsc @@ -149,10 +149,15 @@ Class SniperRifle : UTWeapon c.scale *= 1.25; c.vel = x*FRandom[Junk](-2,2)+y*FRandom[Junk](3,6)+z*FRandom[Junk](3,5); } + override String GetObituary( Actor victim, Actor inflictor, Name mod, bool playerattack ) + { + if ( mod == 'Decapitated' ) return "%k put a bullet through %o's head."; + return Obituary; + } Default { Tag "Sniper Rifle"; - Obituary "%k put a bullet through %o's head."; + Obituary "%k put a bullet through %o."; Inventory.PickupMessage "You got the Sniper Rifle."; Weapon.UpSound "sniper/select"; Weapon.SlotNumber 0; diff --git a/zscript/utcommon.zsc b/zscript/utcommon.zsc index ab3b73d..d7e7ffd 100644 --- a/zscript/utcommon.zsc +++ b/zscript/utcommon.zsc @@ -272,9 +272,9 @@ Class UTPlayer : DoomPlayer } } last_sm = sm; - if ( player.onground ) + if ( !bNoGravity && player.onground ) { - if ( !bNoGravity && !waterlevel && (dodge.length() > 0) ) + if ( !waterlevel && (dodge.length() > 0) ) { if ( doomspeed.GetBool() ) vel += dodge.unit()*(groundspeed_doomish*1.5)/TICRATE; else vel += dodge.unit()*(groundspeed*1.5)/TICRATE; @@ -1137,16 +1137,125 @@ Class UTMainHandler : StaticEventHandler Array flashes; transient CVar nobosstelefrag; + private Actor AddLight( Vector3 pos, Color col, int radius ) + { + Actor l = Actor.Spawn("PointLightAttenuated",pos); + if ( !l ) return null; + l.args[0] = col.r; + l.args[1] = col.g; + l.args[2] = col.b; + l.args[3] = radius; + return l; + } + + private Actor AddAmbient( Vector3 pos, String snd, double volume = 1., double attenuation = ATTN_NORM ) + { + Actor a = Actor.Spawn("MapSpot",pos); + if ( !a ) return null; + a.A_PlaySound(snd,CHAN_BODY,volume,true,attenuation); + return a; + } + override void WorldLoaded( WorldEvent e ) { if ( gamestate != GS_LEVEL || e.IsSaveGame ) return; // prettify Kinsie's test map for a more Unreal feel - if ( level.levelname ~== "Modder Test Map" ) + if ( level.GetChecksum() ~== "FBC3B6622A8B74AE06DE01E70007AC33" ) { - TexMan.ReplaceTextures("-noflat-","-kinsie-",0); + TextureID deftex = TexMan.CheckForTexture("-noflat-",TexMan.Type_Any); TextureID skytx = TexMan.CheckForTexture("BlueSky",TexMan.Type_Any); + TextureID baseflor = TexMan.CheckForTexture("rClfFlr0",TexMan.Type_Any); + TextureID baseceil = TexMan.CheckForTexture("rClfBas0",TexMan.Type_Any); + TextureID basewall = TexMan.CheckForTexture("uAlnWl2b",TexMan.Type_Any); + TextureID xbasewall = TexMan.CheckForTexture("xAlnWl2b",TexMan.Type_Any); + TextureID glasstex = TexMan.CheckForTexture("Glassg",TexMan.Type_Any); level.ChangeSky(skytx,skytx); - // TODO handplace some dynamic lights and add Unreal/UT ambient sounds + for ( int i=0; i