Commit graph

521 commits

Author SHA1 Message Date
Christoph Oelckers
9e2ef91806 Update to ZDoom r1947:
- Added Gez's patch for IWAD detection of Blasphemer and Action Doom 2.
- Fixed: 0 damage projectiles did not call P_DamageMobj.
- Fixed: Do not exit P_DamageMobj early if damage is 0, so we can still get
  the side effects from it. PainThreshold also needs to be inclusive, as
  the docs already state.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@583 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-29 06:43:20 +00:00
Christoph Oelckers
83bc5817e1 - fixed: Calculating sector heights with transparent door hacks was wrong.
- fixed: Sector height was wrong for sectors that have a slope transfer for
  a horizontal plane.
- better error reporting for shader compile errors.


Update to ZDoom r1942:

- Changes to both A_MonsterRail() and A_CustomRailgun(): Save actor's pitch,
  use a larger aiming range, ignore non-targets in P_AimLineAttack(), and
  aim at the target anyway even if P_AimLineAttack() decides it has no
  chance of hitting.
- Added another parameter to P_AimLineAttack(): A target to be aimed at. If
  this is non-NULL, then all actors between the shooter and the target will
  be ignored.
- Added new sound sequence ACS functions:
    SoundSequenceOnActor(int tid, string seqname);
    SoundSequenceOnSector(int tag, string seqname, int location);
    SoundSequenceOnPolyobj(int polynum, string seqname);
  SoundSequenceOnSector takes an extra parameter that specifies where in the
  sector the sound comes from (floor, ceiling, interior, or all of it). See
  the SECSEQ defines in zdefs.acs.
- Fixed: R_RenderDecal() must save various Wall globals, because the originals
  may still be needed. In particular, when drawing a seg with a midtexture is
  split by foreground geometry, the first drawseg generated from it will have
  the correct WallSZ1,2 values, but subsequent ones will have whatever
  R_RenderDecal() left behind. These values are used to calculate the upper
  and lower bounds of the midtexture. (Ironically, my work to Build-ify things
  had done away with these globals, but that's gone now.)


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@581 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-28 20:14:24 +00:00
Christoph Oelckers
4799da28a3 - fixed damage calculation for OLDRADIUSDMG case of P_RadiusAttack.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@580 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-25 23:12:49 +00:00
Christoph Oelckers
fd52457d5a - fixed: sector_t::GetHeightSec checked the wrong MoreFlags.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@579 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-25 19:40:34 +00:00
Christoph Oelckers
79810590cd - version bump to 1.3.05
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@578 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-25 15:36:52 +00:00
Christoph Oelckers
0a8ac6a153 - added: DECORATE now allows definitions of dynamic light attachments per state.
These are fully inheritable by subclasses unlike lights defined in GLDEFS.
  The light itself still needs to defined the old way in GLDEFS though. It's only the 
  attachment that can now be done in DECORATE.

Update to ZDoom r1935:

- Removed the Actor uservar array and replaced it with user-defined variables.
  A_SetUserVar/SetUserVariable/GetUserVariable now take a variable name
  instead of an array index. A_SetUserArray/SetUserArray/GetUserArray
  have been added to access elements in user-defined arrays.
- Rewrote wide sky texture scaling again. This time, it should work for any
  size textures at any scale. I also tried doing sky scrolling on the sky
  cylinder, but that didn't look so good, so I left it in screen space.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@577 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-25 15:31:09 +00:00
Christoph Oelckers
ead4444982 - made some changes to the lighting calculations for weapons so that the chaingun's fullbright flash state looks better.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@576 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-24 07:57:30 +00:00
Christoph Oelckers
ec655ffa2b - forgot one file.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@575 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-24 07:45:12 +00:00
Christoph Oelckers
50362a399f - fixed: Translucent planes need to keep their z-position for sorting translucent geometry.
- fixed: The z-offset for floors of transparent door hacks was not used.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@574 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-24 07:37:26 +00:00
Christoph Oelckers
43d72064a7 Update to ZDoom r1931:
- Fixed: When giving completely new ammo, the backpack did not clamp the
  amount given to the ammo's max amount.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@573 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-24 06:56:15 +00:00
Christoph Oelckers
a24b6a2fdd - Seems I missed one...
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@572 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-23 16:31:22 +00:00
Christoph Oelckers
79dacdc213 - fixed a few incorrect Heretic light definitions.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@571 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-23 16:16:10 +00:00
Christoph Oelckers
f613e3c9ac - found one major opportunity for optimization: Changing clamping settings for textures is extremely expensive.
As a consequence there will now be multiple hardware textures for the same game texture in different clamping modes.
  Depending on the current view this can boost performance by more than 10%.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@569 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-21 22:17:36 +00:00
Christoph Oelckers
0b27afb4c9 - fixed: FGLRenderer::FlatFill didn't set the light color to white.
- fixed: Texture composition was not functionally identical between FBitmap and FGLBitmap classes.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@568 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-20 21:35:53 +00:00
Christoph Oelckers
d3c7cd952c - fixed: The light amp effect did not blink when the powerup expired.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@567 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-20 16:53:38 +00:00
Christoph Oelckers
66118119ec - version bump
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@566 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-19 20:20:45 +00:00
Christoph Oelckers
5225cd0660 - fixed: When merging planes for sector stacks the code must check for Transfer_Heights.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@565 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-19 20:15:13 +00:00
Christoph Oelckers
2c5d33aa6d - Improvements to sky positioning.
- added a few NULL pointer checks to level deinit code.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@564 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-19 08:34:21 +00:00
Christoph Oelckers
61172c803e - Fixed weapon sprite positioning with unscaled status bars.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@563 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-18 20:41:55 +00:00
Christoph Oelckers
e00cd11f51 - fixed: The alpha channel of translucent textures must be disabled on one-sided walls.
- fixed: Camera textures never initialized their translucency status.
- fixed: The GL texture classes set up incorrect references to the owning texture.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@561 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-18 17:44:53 +00:00
Christoph Oelckers
38ded01705 - Update to ZDoom r1928:
- fixed: FMultiPatchTexture::MakeTexture was missing a range check for the
  special colormap index.



git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@560 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-18 14:09:37 +00:00
Christoph Oelckers
cfcf13df06 - fixed: Portals that get rendered without depth buffer need to set the portal's depth
information in the stencil pass because it's the only pass that's done for them.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@559 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-18 11:01:08 +00:00
Christoph Oelckers
15c29500eb - fixed fog application for particles.
- added gl_sort_textures CVAR for performance testing.
- fixed: Weapon sprites with translucent parts need to disable alpha testing.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@558 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-18 09:11:32 +00:00
Christoph Oelckers
b3d2a08ed1 - Converted most of the texture coordinate calculations to floating point to avoid overflows
with scrolling textures on walls.
- fixed: Decals with additive translucency need to be drawn without fog color.
- Added texture coordinate clamping to wall code so that all coordinates are always greater than 0.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@557 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-17 21:58:32 +00:00
Christoph Oelckers
0a818f014a - fixed: Automatic brightmap textures should not have names.
- fixed: Setting a glow color switched the green and blue component of the color.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@555 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-17 17:16:34 +00:00
Christoph Oelckers
e530a50a29 Update to ZDoom r1927:
- Fixed: 3DMidtex checks were treating the Null texture as a valid texture.
- Fixed: The rail sound's position was not clamped to the actual range between
  the trail's start and end point.
- Fixed: Explosions no longer caused splashes.
- Fixed: Copying translations to lower decals had the shade color check wrong.
- Fixed: Waggling floors did not moved attached geometry.
- Cleaned up p_floor.cpp so that related parts of the code are grouped together.
- fixed: The translation addition broke parsing of palette index based translations.



git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@554 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-17 16:33:44 +00:00
Christoph Oelckers
a38fdfb569 - improved underwater lighting for sprites.
- fixed: The translation addition broke parsing of palette index based translations.
- fixed: Fullbright application for weapons did not clear the light color.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@553 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-17 07:44:31 +00:00
Christoph Oelckers
07cdcec5d8 - version bump.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@551 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-16 21:59:10 +00:00
Christoph Oelckers
ab6ca43548 - fixed: Additive translucency was not disabled for sloped 3D floors.
- fixed: Texture scaling must be tracked by the material class, not the texture container as it was before.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@550 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-16 21:49:06 +00:00
Christoph Oelckers
daf0e06890 Update to ZDoom r1921:
- added 'defaultterrain' option to terrain parser for mods that want to have
  a different default terrain than a generic solid surface.
- added format char processing to A_Print(Bold) and all printable messages
  that can be defined in DECORATE.
- Fixed: The railgun code ignored MF3_ALWAYSPUFF.
- added desaturated translations.
- added optional state parameters to A_ReFire and A_GunFlash and A_CountdownArg.
- added ACS CheckActorClass function
- fixed: When a blasted actor collided with another one this other actor's
  DONTBLAST flag was not checked.
- added a global DamageFactor actor property. All damage this actor takes is multiplied
  by this factor in addition to damage type specific damage factors.
- added better earthquake functions for ACS and DECORATE.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@549 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-16 16:17:24 +00:00
Christoph Oelckers
8bc4df43d0 - fixed some uninitialized variables in the texture data.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@548 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-15 22:58:36 +00:00
Christoph Oelckers
c18adf80b9 - removed some non-functional test code.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@547 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-14 19:59:37 +00:00
Christoph Oelckers
9d986b42d3 - debug stuff
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@546 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-14 16:45:34 +00:00
Christoph Oelckers
450387e45e - CMakeLists update.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@545 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-13 20:48:26 +00:00
Christoph Oelckers
8667d52161 - added GLDEFS support for additional hardware shaders. They have to follow the same design as the warping functions.
I added an additional shader function, called func_wavex.fp for demonstration purposes.
  Hardware shaders have to be desjgned as follows:

hardwareshader floor4_8 
{
	shader "shaders/glsl/func_wavex.fp"
	speed 1.4
}



git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@544 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-13 20:47:08 +00:00
Christoph Oelckers
84fbeb60ea - merged vertex shader sources into one file.
- Started work on supporting ZDoomGL's texture shaders.
- fixed support check for shader based dynamic lights.
- brightmaps are now managed by the texture manager to avoid creating redundant textures for ones that are used multiple times.
- The GL texture manager now can resolve texture redirects.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@543 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-12 21:17:34 +00:00
Christoph Oelckers
39e57a292a - disabled forced additive dynamic lights when shader light is on.
The shader can easily handle proper light and fog simultaneously and 
  it looks much better like this,

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@542 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-11 21:00:50 +00:00
Christoph Oelckers
8268f773b1 Update to ZDoom r1909:
- Added MF6_NOTRIGGER flag that disables all line actions for an actor.

Also added the missing wadsrc files for last update.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@541 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-11 20:05:18 +00:00
Christoph Oelckers
979e4bd083 - Added MF6_NOTRIGGER flag that disables all line actions for an actor.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@540 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-10 13:11:13 +00:00
Christoph Oelckers
33a4058533 Update to ZDoom r1905:
- Added Gez's seeker missile submission.
- Added Gez's thing activation submission.
- added a NULL pointer check to fog spawning in unmorphing code.
- fixed: frozen corpses need to be treated as solid by z-movement code.
- fixed: AAmbientSound::Serialize was adjusting its timer value for savegames
  even when it was set to a 'don't check' value.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@539 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-10 11:37:36 +00:00
Christoph Oelckers
a3df4aba14 - changed the screen wipe code to use the global render state instead of disabling it and doing its own thing.
- fixed: When a hardware texture gets deleted it must unbind itself from all texture units. Otherwise the
  code may assume that a deleted texture is still bound. This was most obvious with the burn wiper if
  it was called twice in a row with no textures being created in between.
- fixed: The render state must be applied for a sky dome's cap and the actual walls separately.
- fixed: Light on side calculation for shader based dynamic lights on 3D floors was wrong.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@538 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-10 11:20:50 +00:00
Christoph Oelckers
cbeab447fd - Added a PainThreshold actor property.
- fixed: Teleport_EndGame did not set the end sequence name properly.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@537 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-08 20:27:18 +00:00
Christoph Oelckers
92aed2f0ff - fixed: sorting for translucent models did not work because they never set their screen depth.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@536 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-08 20:22:20 +00:00
Christoph Oelckers
a3f81b42d1 - fixed: Teleport_EndGame did not set the end sequence name properly.
- fixed: The light amplification colormap value must not be passed to the texture manager.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@535 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-08 07:31:40 +00:00
Christoph Oelckers
f1808a1a54 - added new menu option for shader lights and cleaned up the OpenGL menu a bit.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@534 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-07 21:55:04 +00:00
Christoph Oelckers
c14c89bd82 - there were still references to an undefined variable.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@533 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-07 21:43:31 +00:00
Christoph Oelckers
c444ff296f - fixed: fixed colormaps did not work anymore. Apparently OpenGL cannot load a 3 element value into a 4 element vector.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@532 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-07 21:29:19 +00:00
Christoph Oelckers
fde7e5d497 - first version of dynamic light shader working.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@531 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-07 18:01:45 +00:00
Christoph Oelckers
007b6bade4 - Cleanup of shader maintenance code.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@530 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-07 12:45:34 +00:00
Christoph Oelckers
c99241c60e - added a shader for the sphere map effect on mirrors.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@529 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-06 21:14:59 +00:00