- implemented per-sidedef texture scaling for GL renderer.

Update to ZDoom r1648:

- added Gez's infinite ammo powerup and random spawner fix patches.
- reduced size of Hexen's flames to fix bug in Deathkings MAP01.
- added checks for sidedef scaling values 
- Added Karate Chris's poison cloud fix.
- Added per-tier texture scaling with these new UDMF sidedef properties:
  * scalex_top
  * scaley_top
  * scalex_mid
  * scaley_mid
  * scalex_bottom
  * scalex_bottom
- Added sidedef versions of the linedef flags wrapmidtex and clipmidtex (via
  UDMF; names are the same). If the flag is set on the line, it applies to
  both sides. Otherwise, each side can control them individually.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@340 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
Christoph Oelckers 2009-06-07 16:43:13 +00:00
parent c2d1121663
commit be68474922
25 changed files with 388 additions and 151 deletions

View file

@ -29,7 +29,6 @@ class ARandomSpawner : public AActor
int n=0;
Super::PostBeginPlay();
drop = di = GetDropItems();
if (di != NULL)
{
@ -52,7 +51,7 @@ class ARandomSpawner : public AActor
if (di->Name != NAME_None)
{
n -= di->amount;
if (di->Next != NULL) di = di->Next; else n=0;
if ((di->Next != NULL) && (n > -1)) di = di->Next; else n = -1;
}
}
// So now we can spawn the dropped item.
@ -81,6 +80,22 @@ class ARandomSpawner : public AActor
newmobj->tracer = tracer;
newmobj->CopyFriendliness(this, false);
if (!(flags & MF_DROPPED)) newmobj->flags &= ~MF_DROPPED;
// Handle special altitude flags
if (newmobj->flags & MF_SPAWNCEILING)
{
newmobj->z = newmobj->ceilingz - newmobj->height;
}
else if (newmobj->flags2 & MF2_SPAWNFLOAT)
{
fixed_t space = newmobj->ceilingz - newmobj->height - newmobj->floorz;
if (space > 48*FRACUNIT)
{
space -= 40*FRACUNIT;
newmobj->z = MulScale8 (space, pr_randomspawn()) + newmobj->floorz + 40*FRACUNIT;
}
}
// Special1 is used to count how many recursions we're in.
if (newmobj->IsKindOf(PClass::FindClass("RandomSpawner")))
newmobj->special1 = ++special1;