From 81ee5b4942ee465fb457f42843fa26dfc8c9872d Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 28 Jun 2006 11:14:20 +0000 Subject: [PATCH] - Fixed: Bouncing projectiles should not bounce off horizon lines. Now they vanish instead. - Changed masses of ice chunks and glass shards to make small splashes SVN r231 (trunk) --- docs/rh-log.txt | 5 ++++- src/g_shared/a_action.cpp | 2 ++ src/p_lnspec.h | 5 +++++ src/p_map.cpp | 7 +++++++ wadsrc/decorate/shared/debris.txt | 10 ++++++++++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index dc1a79636a..df1e54a38c 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,7 @@ -June 27, 2006 (Changes by Graf Zahl) +June 28, 2006 (Changes by Graf Zahl) +- Fixed: Bouncing projectiles should not bounce off horizon lines. Now they + vanish instead. +- Changed masses of ice chunks and glass shards to make small splashes - Fixed: P_UndoPlayerMorph didn't properly transfer the inventory. It just copied the pointer instead of using ObtainInventory. diff --git a/src/g_shared/a_action.cpp b/src/g_shared/a_action.cpp index dc55c85789..2926d02016 100644 --- a/src/g_shared/a_action.cpp +++ b/src/g_shared/a_action.cpp @@ -33,6 +33,7 @@ FState AIceChunk::States[] = IMPLEMENT_ACTOR (AIceChunk, Any, -1, 0) PROP_RadiusFixed (3) PROP_HeightFixed (4) + PROP_Mass(5) PROP_Flags (MF_DROPOFF) PROP_Flags2 (MF2_LOGRAV|MF2_CANNOTPUSH|MF2_FLOORCLIP|MF2_NOTELEPORT) @@ -57,6 +58,7 @@ FState AIceChunkHead::States[] = IMPLEMENT_ACTOR (AIceChunkHead, Any, -1, 0) PROP_RadiusFixed (3) PROP_HeightFixed (4) + PROP_Mass(5) PROP_DamageType (MOD_ICE) PROP_Flags (MF_DROPOFF) PROP_Flags2 (MF2_LOGRAV|MF2_CANNOTPUSH) diff --git a/src/p_lnspec.h b/src/p_lnspec.h index 656dcc79b8..2b1ea13f59 100644 --- a/src/p_lnspec.h +++ b/src/p_lnspec.h @@ -190,6 +190,11 @@ typedef enum { Sector_ChangeSound = 140, + // GZDoom/Vavoom specials (put here so that they don't accidentally redefined) + Sector_SetPlaneReflection = 159, + Sector_Set3DFloor = 160, + Sector_SetContents = 161, + // [RH] Begin new specials for ZDoom Plat_UpNearestWaitDownStay = 172, NoiseAlert = 173, diff --git a/src/p_map.cpp b/src/p_map.cpp index 36ce3a3cd8..bfb2e451ab 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -2441,6 +2441,13 @@ bool P_BounceWall (AActor *mo) line = bestslideline; } + if (line->special == Line_Horizon) + { + mo->SeeSound = 0; // it might make a sound otherwise + mo->Destroy(); + return true; + } + side = P_PointOnLineSide (mo->x, mo->y, line); lineangle = R_PointToAngle2 (0, 0, line->dx, line->dy); if (side == 1) diff --git a/wadsrc/decorate/shared/debris.txt b/wadsrc/decorate/shared/debris.txt index 7e788dd6e5..b696a03a81 100644 --- a/wadsrc/decorate/shared/debris.txt +++ b/wadsrc/decorate/shared/debris.txt @@ -174,6 +174,7 @@ ACTOR SGShard1 : GlassShard { SpawnID 54 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -193,6 +194,7 @@ ACTOR SGShard2 : GlassShard { SpawnID 55 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -212,6 +214,7 @@ ACTOR SGShard3 : GlassShard { SpawnID 56 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -231,6 +234,7 @@ ACTOR SGShard4 : GlassShard { SpawnID 57 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -250,6 +254,7 @@ ACTOR SGShard5 : GlassShard { SpawnID 58 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -269,6 +274,7 @@ ACTOR SGShard6 : GlassShard { SpawnID 59 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -288,6 +294,7 @@ ACTOR SGShard7 : GlassShard { SpawnID 60 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -307,6 +314,7 @@ ACTOR SGShard8 : GlassShard { SpawnID 61 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -326,6 +334,7 @@ ACTOR SGShard9 : GlassShard { SpawnID 62 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT @@ -345,6 +354,7 @@ ACTOR SGShard0 : GlassShard { SpawnID 63 Radius 5 + Mass 5 Projectile -ACTIVATEMCROSS -ACTIVATEIMPACT