MajorCooke
465d9ab89a
- Added flags for A_CheckLOF:
...
- CLOFF_SETTARGET | CLOFF_SETMASTER | CLOFF_SETTRACER
- An actor that causes A_CheckLOF (and only an actor) to succeed will set the intercepting actor as its target, master, and/or tracer, respectively.
2014-12-15 14:50:35 -06:00
Christoph Oelckers
020b02e073
- changed deprecated texture sampler access function names.
2014-11-28 12:28:45 +01:00
MajorCooke
94f08aa593
- Added: Boolean to specify if A_Raise functions should perform CopyFriendliness based upon who raised it. By default, this is false.
2014-11-27 15:12:33 -06:00
MajorCooke
08570ec48e
- Added flags for A_Fade functions:
...
- FTF_REMOVE: Removes the actor when the alpha hits a certain level.
- - A_FadeIn - 1.0
- - A_FadeOut - 0.0
- - A_FadeTo - Alpha target level reached
- FTF_CLAMP: Automatically fixes the alpha so it won't leave the range [0.0, 1.0].
2014-11-25 13:24:35 -06:00
Christoph Oelckers
6665ac5837
- fixed: With P_ExplodeMissile now working properly it is no longer valid to terminate a looping sound in a missile's death state because it now gets called after the death sound has been started.
2014-11-25 16:49:27 +01:00
Christoph Oelckers
a7a2d55695
Merge branch 'master' of https://github.com/rheit/zdoom
...
Conflicts:
src/sdl/iwadpicker_cocoa.mm
2014-11-25 16:39:56 +01:00
khokh2001
e9075334a3
new opl3 emulator
2014-11-23 00:36:22 +09:00
Christoph Oelckers
c25325efa4
Merge branch 'master' of https://github.com/rheit/zdoom
...
Conflicts:
wadsrc/static/compatibility.txt
2014-11-16 09:02:17 +01:00
Edoardo Prezioso
fd354dbe9a
- Added CPF_NOTURN flag for A_CustomPunch.
2014-11-14 12:18:46 +01:00
Edward Richardson
b08fcbf6b3
Added compat profile for TNT MAP31
2014-11-10 18:37:14 +13:00
Christoph Oelckers
62d72fb751
Merge branch 'master' of https://github.com/rheit/zdoom
2014-11-09 12:22:49 +01:00
Edoardo Prezioso
8b85e6d00b
- Port an empty version of 'A_FaceConsolePlayer'.
...
Hissies will be happy now.
2014-11-08 18:49:16 +01:00
Christoph Oelckers
48fbab819b
Merge branch 'master' of https://github.com/rheit/zdoom
2014-11-08 09:40:17 +01:00
Christoph Oelckers
c28c0b8f0b
Revert "Backport 'A_FaceConsolePlayer' from zandronum."
...
This reverts commit eab971500b
.
As Edward850 pointed out, this feature is broken by design and therefore completely useless.
2014-11-08 08:53:32 +01:00
Christoph Oelckers
3976de1404
Merge branch 'faceconsoleplayer' of https://github.com/edward-san/zdoom
2014-11-08 00:48:07 +01:00
Edoardo Prezioso
eab971500b
Backport 'A_FaceConsolePlayer' from zandronum.
...
By Dusk, who authorized me to do this.
2014-11-08 00:31:16 +01:00
MajorCooke
364d9069bd
In fact, let's go ahead and ensure compatibility doesn't break since it's already in there.
2014-11-07 17:20:12 -06:00
MajorCooke
848225e9ee
- Fixed typo on WARPF_ABSOLUTEPOSITION
2014-11-07 17:12:03 -06:00
MajorCooke
938b54ccb5
- Added TF_FORCED for A_Teleport. Forces the actor to move to the spot.
2014-10-31 15:51:15 -05:00
Edward Richardson
c85105f552
Added cl_showsecretmessage
...
Controls if secret notifications are displayed (def. true)
2014-10-31 22:50:23 +13:00
Christoph Oelckers
1a8da51857
Merge branch 'master' of https://github.com/rheit/zdoom
2014-10-29 22:53:58 +01:00
MajorCooke
165d2887fd
- Added: A_GiveToChildren
...
- Added: A_TakeFromChildren
- Added: A_GiveToSiblings
- Added: A_TakeFromSiblings
- Added the following flags for A_RadiusGive:
- RGF_NOSIGHT: Exclude sight check from distance.
- RGF_MISSILES: Missiles can take inventory items.
2014-10-29 14:01:31 -05:00
MajorCooke
c01d1a8003
- Added DMSS_NOPROTECT.
...
Bypasses PowerProtection inventory items.
2014-10-27 22:29:10 -05:00
Christoph Oelckers
5638aab63c
- fixed: Even though the name REDISALPHA implies otherwise, this render mode still needs to respect a texture's alpha channel to ensure that things get rendered properly. Otherwise the SmoothEdges function cannot be used which is necessary to ensure that filtered textures look correct.
2014-10-26 21:17:29 +01:00
Christoph Oelckers
bd811bea87
Merge branch 'master' of https://github.com/rheit/zdoom
2014-10-25 18:26:42 +02:00
Christoph Oelckers
be4b253215
- use a separate sound for the net notches on the startup screen.
2014-10-25 18:18:35 +02:00
Christoph Oelckers
fc0025963b
Merge branch 'master' of https://github.com/rheit/zdoom
2014-10-25 15:11:29 +02:00
Christoph Oelckers
ef5707d73b
- added a compatibility option for stopping sounds when the owning actor is destroyed.
2014-10-25 12:12:06 +02:00
Christoph Oelckers
8edace83c5
- made CheatKey and EasyKey vector graphics configurable through MAPINFO.
2014-10-25 10:19:14 +02:00
Christoph Oelckers
313245dd77
- added a Buddha powerup
2014-10-25 09:53:23 +02:00
MajorCooke
a19620968d
- Follow-up of the previous commit.
...
- Cleaned up the DoDamage and DoKill functionality.
- Added DMSS_FOILBUDDHA and KILS_FOILBUDDHA.
2014-10-25 09:39:10 +02:00
MajorCooke
b980069367
- Added GOD2 and BUDDHA2 cheats.
...
- Ensures that not even telefrag damage can kill the player.
- Fixed: Players with NODAMAGE could still hurt and kill themselves via
voodoo dolls.
2014-10-25 09:38:40 +02:00
Christoph Oelckers
5513966165
- fixed: Strife's peasants couldn't harm the player because they were defined as friendly.
2014-10-25 01:15:39 +02:00
Christoph Oelckers
e28234a8b8
- replaced pistol pickup sprite.
2014-10-24 23:19:57 +02:00
Christoph Oelckers
6824605154
- added pickup sprite and editor number for Heretic's gold wand.
2014-10-24 00:06:18 +02:00
Christoph Oelckers
57895d69f9
Merge branch 'master' of https://github.com/rheit/zdoom
2014-10-14 08:54:41 +02:00
Christoph Oelckers
952d03da7c
Merge branch 'multi' of https://github.com/Edward850/zdoom
2014-10-13 10:37:51 +02:00
Edward Richardson
98904039b7
Final work on prediction lerping
...
Added cl_predict_lerpscale and cl_predict_lerpthreshold
Added options in menudef
Made sure that lerping cannot extrapolate or run on small scales
Lerping gets reset when rendering interpolation does or respawn
2014-10-13 16:32:49 +13:00
Edward Richardson
3e6ad8c1a8
Further work on prediction lerping
2014-10-13 00:29:15 +13:00
Christoph Oelckers
0f19356e24
Merge branch 'master' of https://github.com/MajorCooke/zdoom
...
Conflicts:
wadsrc/static/actors/constants.txt
2014-10-12 08:43:46 +02:00
Christoph Oelckers
2228dcb32f
Merge branch 'experimental' of https://github.com/MajorCooke/zdoom
2014-10-12 08:30:13 +02:00
MajorCooke
f766a1ab38
- Added SXF_ORIGINATOR.
...
- Only useful for missiles.
By default, missiles cannot set themselves as the master when spawning
actors.
2014-10-11 16:15:42 -05:00
Christoph Oelckers
9fe2857dc1
Merge branch 'master' of https://github.com/rheit/zdoom
2014-10-05 18:49:48 +02:00
Christoph Oelckers
fd3128a164
- fixed: When changing enhanced nightvision mode the shaders need to have their fixed colormap state reset to ensure that the new settings get used.
...
- fixed: The shader code for handling special fixed colormaps did not use the color vertex attribute which was most evident with the 'shadow' render style on the spectre.
2014-10-05 09:40:36 +02:00
MajorCooke
f54a59fdf8
- Added JLOSF_CHECKTRACER for A_JumpIfTargetInLOS.
...
- CHECKTRACER doesn't need to be a missile or have the SEEKERMISSILE
flag.
2014-10-02 17:00:17 -05:00
ChillyDoom
20dea78ce9
Merge branch 'master' of https://github.com/ChillyDoom/zdoom into scoreboardtoggle
2014-10-02 21:13:54 +01:00
ChillyDoom
c6e1ea864f
- Added scoreboard toggling.
2014-10-02 21:03:15 +01:00
MajorCooke
5030832df0
- Added DMSS_NOFACTOR for all A_Damage functions.
2014-10-02 11:48:07 -05:00
Christoph Oelckers
cfb623d517
Merge branch 'master' of https://github.com/MajorCooke/zdoom
2014-09-29 00:42:59 +02:00
MajorCooke
43b86288c7
- Added A_Remove(int pointer, int flags).
...
- RMVF_MISSILES removes missiles.
- RMVF_NOMONSTERS ignores monsters.
- RMVF_MISC includes non-monsters and missiles.
- RMVF_EVERYTHING disregards all checks and remove it.
These flags now apply to the following in addition to the new function:
-A_RemoveTarget
-A_RemoveMaster
-A_RemoveTracer
-A_RemoveChildren
-A_RemoveSiblings
2014-09-28 08:15:00 -05:00
fdari
c4f0f95ec8
Get linetarget (aim target) from any actor (not just player): AAPTR_LINETARGET
2014-09-28 15:06:52 +02:00
Christoph Oelckers
ee09f8c72d
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-28 01:06:04 +02:00
MajorCooke
68a5db3c8c
- Added SXF_NOPOINTERS for A_SpawnItemEx.
...
- Added WARPF_ABSOLUTEPOSITION for A_Warp.
2014-09-27 13:22:14 -05:00
Christoph Oelckers
68c481945a
- extended parameter list of A_BFGSpray.
2014-09-27 09:36:38 +02:00
MajorCooke
0735cb9550
- Updated many functions.
...
- Added A_KillTarget(damagetype, int flags).
- Added A_KillTracer(damagetype, int flags).
- Added A_RemoveTarget.
- Added A_RemoveTracer.
A_Kill (Master/Target/Tracer/Children/Siblings):
- KILS_FOILINVUL: foils invulnerability.
- KILS_KILLMISSILES: destroys projectiles. Does not work on invulnerable
projectiles without KILS_FOILINVUL, and doesn't work at all on missiles
with NODAMAGE flag.
- KILS_NOMONSTERS: actors that are monsters will not be killed.
A_Damage (Self/Target/Master/Tracer/Children/Siblings):
- DMSS_FOILINVUL: foils invulnerability.
- DMSS_AFFECTARMOR: damages the actor's armor instead of bypassing it
entirely.
- DMSS_KILL: damages the actor by its remaining health (useful for
modular DECORATE programming).
- Added A_SpawnItemEx flags:
- SXF_SETTARGET: sets the calling actor as the target.
- SXF_SETTRACER: sets the calling actor as the tracer.
Both of these functions take priority similar to SXF_SETMASTER over
SXF_TRANSFERPOINTERS.
2014-09-27 00:10:31 -05:00
MajorCooke
5b71ce6dcb
- Added FDARI's A_JumpIfHealthLower patch.
...
Now with pointer accessibility.
2014-09-26 11:48:20 -05:00
Christoph Oelckers
0f62983aee
Merge branch 'master' of https://github.com/Edward850/zdoom
2014-09-26 08:31:20 +02:00
MajorCooke
422e83a1b9
- Added more A_Damage functions:
...
- A_DamageTarget
- A_DamageTracer
-Both take a number for how much damage to deal and the damagetype to
inflict. Negative numbers means healing.
2014-09-25 23:12:25 -05:00
Edward Richardson
9e68983b44
Added standard teleports to line prediction
...
- Added standard teleports to line prediction
- Menudef for line special prediction
2014-09-26 15:48:45 +12:00
Edward Richardson
6cd4fd8151
Added menu options for network settings
2014-09-26 15:48:44 +12:00
Edward Richardson
97586c317e
Further refinements to network balancing
...
- Added delay times of all players to the scoreboard
- Removed balancing from packet-server (tried it, didn't work)
- Calculations remove an extra tic to account for possible bias
2014-09-26 15:48:42 +12:00
Edward Richardson
542b8a7171
Added network load balancing
...
- Guests can now attempt to match latency with the arbitrator.
(net_loadbalance)
- Added althud feature to show arbitrator and local latency.
(hud_showlag 1 is on for netgames, 2 is always on)
2014-09-26 15:48:42 +12:00
MajorCooke
b1f87295b8
- Added A_DamageSelf.
...
- A_DamageSelf(int amount, name damagetype)
2014-09-25 16:47:41 -05:00
Christoph Oelckers
4682736585
- fixed: non-tiled mid textures on a fog boundary require some special clamping to be performed in the shader.
2014-09-21 11:08:17 +02:00
Christoph Oelckers
cbf353ca52
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-21 08:12:32 +02:00
MajorCooke
44683657f2
- Added jpalomo's A_SetSpeed patch.
2014-09-20 17:34:57 -05:00
Christoph Oelckers
835dbe5bd0
- removed the 'layout' qualifier from the uniform buffer declaration. It's not really needed because the layout of a single vec4 array cannot possibly change, and Intel drivers are complaining for unknown reasons.
2014-09-20 09:10:01 +02:00
MajorCooke
33f83cc7f9
Added Blue Shadow's A_SpawnItemEx changes: (2/2)
...
SXF_TRANSFERALPHA and SXF_TRANSFERRENDERSTYLE
2014-09-19 14:17:24 -05:00
Christoph Oelckers
07ef7d3d59
Merge branch 'master' into v2.x
2014-09-14 23:07:30 +02:00
Christoph Oelckers
60ff6c5f07
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-14 23:06:57 +02:00
Christoph Oelckers
f9741f1047
- added a compatibility option for Hexen's MAP04 to change the z-position of 4 quartz flasks that get lowered into a pool of lava but were incorrectly positioned 48 map units above the floor.
2014-09-13 12:20:06 +02:00
Christoph Oelckers
acf6c259d8
- changed the handling of alpha textures. The only special case they need is with palette-less textures and this can be handled far more easily and robustly with a predefined translation instead of passing another parameter through all the layers of the texture management code. This also fixes problems with paletted PNGs that get used as an alpha texture because the old method clobbered the image's palette.
2014-09-09 13:21:36 +02:00
Christoph Oelckers
d5633701b4
- swapped order of textures in burn shader to avoid some problems with the texture samplers.
...
- fixed: texture sampler state for the burn texture was never set.
2014-09-09 10:17:44 +02:00
Christoph Oelckers
9b8869e78d
Merge branch 'master' into v2.x
...
Conflicts:
src/gl/textures/gl_material.cpp
2014-09-09 01:30:11 +02:00
Christoph Oelckers
86d9c7ec8e
- add some compatibility settings to fix rendering glitches in BTSX_E1 MAP12.
2014-09-09 01:27:41 +02:00
Christoph Oelckers
0ff061b928
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-08 22:55:37 +02:00
Christoph Oelckers
3d2646cbae
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-08 13:02:39 +02:00
Christoph Oelckers
cfd24f438f
- jpalomo's A_Saw flags submission.
2014-09-08 13:02:05 +02:00
Braden Obrzut
49382a2a14
- Added detection for The Adventures of Sqaure (based off MTrop's submission).
...
- IWADINFO no longer requires a mapinfo to be specified.
2014-09-04 19:36:08 -04:00
Christoph Oelckers
b96dd6c421
- fixed: The missing fourth component of the texture coordinate must be filled with 1.0, not 0.0 before applying the texture matrix. Not doing so will cancel out the translation part of the matrix.
2014-09-02 10:31:48 +02:00
Christoph Oelckers
12160bd29c
- remove some obsolete code from decal rendering.
...
- avoid rebinding the same texture multiple times, as there's considerable overhead in the texture manager.
- check gl_sort_textures only once per scene, not per draw list.
2014-08-30 15:34:14 +02:00
Christoph Oelckers
8f238f8d32
- fixed: the Revenant's frame duration in its missile state were wrong.
2014-08-27 11:06:12 +02:00
Christoph Oelckers
7a727b6807
Merge branch 'master' into v2.x
2014-08-21 13:44:41 +02:00
Christoph Oelckers
816999109e
Merge branch 'master' of https://github.com/rheit/zdoom
2014-08-21 13:42:43 +02:00
Christoph Oelckers
eebd5c9d4d
- fixed bad edit in linedef translation.
2014-08-21 13:38:47 +02:00
Christoph Oelckers
df0d3543a8
- fixed: *ALL* original ceiling crushers, not just type 49, require a distance of 8 to the floor for the destination height. For the silent types this required a new action special, Ceiling_CrushAndRaiseSilentDist. This change only affects the XLAT mapping, the Hexen format types behave as before.
...
- removed the redundant internal ceilCrushAndRaiseDist ceiling movement type. It was precisely the same as ceilCrushAndRaise in all details.
2014-08-21 13:01:12 +02:00
Christoph Oelckers
c98e3ca99d
Merge branch 'master' into v2.x
2014-08-03 10:58:41 +02:00
Christoph Oelckers
1b55c17379
Merge branch 'master' of https://github.com/rheit/zdoom
2014-08-03 10:08:05 +02:00
Christoph Oelckers
a1b579e5fc
- added menu entry for newly added hud_showweapons CVAR.
2014-08-03 01:20:12 +02:00
Christoph Oelckers
a8e9c1832f
- decided to restrict the 2.0 beta to OpenGL 4.x with GL_ARB_buffer_storage extension and removed all code for supporting older versions.
...
Sadly, anything else makes no sense.
All the recently made changes live or die, depending on this extension's presence.
Without it, there are major performance issues with the buffer uploads. All of the traditional buffer upload methods are without exception horrendously slow, especially in the context of a Doom engine where frequent small updates are required.
It could be solved with a complete restructuring of the engine, of course, but that's hardly worth the effort, considering it's only for legacy hardware whose market share will inevitably shrink considerably over the next years.
And even then, under the best circumstances I'd still get the same performance as the old immediate mode renderer in GZDoom 1.x and still couldn't implement the additions I'd like to make.
So, since I need to keep GZDoom 1.x around anyway for older GL 2.x hardware, it may as well serve for 3.x hardware, too. It's certainly less work than constantly trying to find workarounds for the older hardware's limitations that cost more time than working on future-proofing the engine.
This new, trimmed down 4.x renderer runs on a core profile configuration and uses persistently mapped buffers for nearly everything that is getting transferred to the GPU. (The global uniforms are still being used as such but they'll be phased out after the first beta release.
2014-08-01 22:42:39 +02:00
Christoph Oelckers
7967082e60
- use the light buffer to handle dynamic lighting.
2014-08-01 20:59:39 +02:00
Christoph Oelckers
01a1e10084
Merge branch 'master' into Glew_Version_For_Real
2014-07-31 00:59:56 +02:00
Christoph Oelckers
09ae52e26b
Merge branch 'master' of https://github.com/rheit/zdoom
2014-07-31 00:44:59 +02:00
Christoph Oelckers
ef8f66c9a1
- removed the code for hardware alpha testing again because it didn't work anymore with how things are set up now.
...
- we need to check all GL versions when trying to get a context because some drivers only give us the version we request, leaving out newer features that are not exposed via extension.
- added some status info about uniform blocks.
2014-07-30 23:13:16 +02:00
Randy Heit
ea7ba9dba3
Add per-actor friction
...
- This is multiplied by the sector's friction.
- This is intentionally not serialized yet, while awaiting feedback.
2014-07-28 23:15:50 -05:00
Christoph Oelckers
754c96a540
- added default precision settings to shader include because some old ATI drivers complain if they aren't there - even though the spec doesn't require them...
2014-07-27 16:09:47 +02:00
Christoph Oelckers
6d4eb7f62d
- changed handling of DF_NO_COOP_WEAPON_SPAWN dmflag so that weapons are not determined by class type but by a newly added flag WEAPONSPAWN, to allow CustomInventory replacements to act like weapons when being spawned.
2014-07-27 10:07:37 +02:00
Christoph Oelckers
637aa9d77e
- some adjustments to allow testing the different rendering methods.
2014-07-26 18:43:54 +02:00
Christoph Oelckers
0e647e0f2b
Merge branch 'master' into Glew_Version_For_Real
2014-07-26 10:37:00 +02:00
Christoph Oelckers
8465a5f5d7
Merge branch 'master' of https://github.com/rheit/zdoom
2014-07-26 10:23:41 +02:00
Christoph Oelckers
a21f01bc5f
- added jpalomo's submission to make freelook a 3-state setting, like crouch and jump. This required moving around the flags a bit so demo compatibility had to be bumped. It may also require adjustment for launchers that can set the dmflags.
2014-07-26 10:15:07 +02:00
Christoph Oelckers
f64428dd2a
Merge branch 'master' into Glew_Version_For_Real
2014-07-17 09:31:18 +02:00
Christoph Oelckers
b78b566b0a
Merge branch 'master' of https://github.com/rheit/zdoom
2014-07-17 09:30:50 +02:00
Christoph Oelckers
eb9d2d9917
- reactivate compatibility profile so that immediate mode drawing can be used on older hardware not supporting persistently mapped buffers.
...
- reactivate alpha testing per fixed function pipeline
- use the 'modern' way to define clip planes (GL_CLIP_DISTANCE). This is far more portable than the old glClipPlane method and a lot more robust than checking this in the fragment shader.
2014-07-17 02:37:18 +02:00
Braden Obrzut
bd5bf2a40a
- Expand environment variables for autoload paths.
...
- Forgot to save the French translation file for the last commit, so a few more corrections there.
2014-07-15 21:26:26 -04:00
Braden Obrzut
bfbea40415
- Fixed some typos with chex quest obituaries and French translation error.
2014-07-15 21:20:05 -04:00
Christoph Oelckers
b8bcbe819b
- removed texture based dynamic lighting. For GL 3.x the shader approach is always better.
...
- fixed: sky fog was not unset.
2014-07-15 20:49:21 +02:00
Christoph Oelckers
fc0cf4f998
- GZDoom now runs on an OpenGL core profile. :)
...
It's probably still necessary to replace GLEW with another loader library. GLEW is pretty much broken on core OpenGL without some hacky workarounds...
2014-07-15 02:26:23 +02:00
Christoph Oelckers
6046b11b4f
- all shaders now compile in core profile.
2014-07-15 01:05:53 +02:00
Christoph Oelckers
eedc5a69be
- replaced builtin position vertex attribute.
2014-07-15 01:02:48 +02:00
Christoph Oelckers
1b7f5a2e6a
- replaced builtin texture coordinate vertex attribute.
2014-07-15 00:59:01 +02:00
Christoph Oelckers
5a322742c3
- remove use of builtin and deprecated color vertex attribute.
2014-07-15 00:37:13 +02:00
Christoph Oelckers
5193f6cfef
- remove use of builtin deprecated varyings in shaders.
2014-07-15 00:19:41 +02:00
Christoph Oelckers
ed8a21fd86
- replaced deprecated alpha testing with shader code.
2014-07-14 21:14:43 +02:00
Christoph Oelckers
84a49e37ee
- handle normals for spheremapped mirror surfaces using non-deprecated features.
...
- move all WGL references out of global header files so that global wgl header include is no longer necessary
2014-07-14 19:54:07 +02:00
Christoph Oelckers
ce3653f6e1
- remove all uses of builtin matrices.
2014-07-13 23:13:40 +02:00
Christoph Oelckers
dbb05c5f33
- remove use of builtin texture matrices.
...
- make matrix class single precision.
2014-07-13 20:41:20 +02:00
Christoph Oelckers
00fcf4bc06
- for some reason using world coordinates for clipping in the shader is somewhat imprecise so the clip plane heights have to be adjusted a bit for it.
2014-07-13 13:25:42 +02:00
Christoph Oelckers
60dc2e1122
- some shader fixes.
2014-07-13 13:01:35 +02:00
Christoph Oelckers
d868f60f6c
- since the clip planes for plane mirrors did not work anymore I reimplemented them using shader based logic. It still needs to be seen if this affects performance on older hardware.
2014-07-13 12:14:12 +02:00
Christoph Oelckers
a936629cec
- use default fragment shader for burn and stencil shader, with the time consuming parts disabled by a #define, to avoid code duplication.
2014-07-10 10:33:07 +02:00
Christoph Oelckers
f710518903
- use a uniform array to store vertex data to render dynamic stuff on GL 3.x hardware without the ARB_buffer_storage extension.
...
Due to the way the engine works it needs to render a lot of small primitives with frequent state changes.
But due to the performance of buffer uploads it is impossible to upload each primitive's vertices to a buffer separately because buffer uploads nearly always stall the GPU.
On the other hand, in order to reduce the amount of buffer uploads all the necessary state changes would have to be saved in an array until they can finally be used. This method also imposed an unacceptable overhead.
Fortunately, uploading uniform arrays is very fast and doesn't cause GPU stalls, so now the engine puts the vertex data per primitive into a uniform array and uses a static vertex buffer to index the array in the vertex shader.
This method offers the same performance as immediate mode but only uses core profile features.
2014-06-30 18:10:55 +02:00
Christoph Oelckers
1efc2938b7
- implement model vertex buffer and draw MD2 models using it instead of using the GLCommands from the model.
2014-06-29 23:24:16 +02:00
Christoph Oelckers
9d1dbf4eab
- fixed: FBufferedUniform1f didn'T work because it used an int as its buffered value.
2014-06-29 14:08:44 +02:00
Christoph Oelckers
ffcb6cb70a
- added second vertex coordinate attribute for model interpolation.
2014-06-29 11:00:21 +02:00
Christoph Oelckers
08054ddc34
Merge branch 'master' into Glew_Version_For_Real
2014-06-29 08:53:43 +02:00
Christoph Oelckers
e15f80f640
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-23 09:27:30 +02:00
Christoph Oelckers
e56e525d0f
- A_FireCustomMissile transfer tranlsation flag, code submission by jpalomo
2014-06-22 08:55:21 +02:00
Christoph Oelckers
6457ced53f
Merge branch 'master' into Glew_Version_For_Real
2014-06-19 11:57:36 +02:00
Christoph Oelckers
d30bf6768e
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-19 11:20:38 +02:00
Edward Richardson
a3a7ee569f
Multi-intermission waits for all players + changes
...
- Added a segment of code that now makes the intermission wait for all
players before advancing, instead of continuing on any player. A "ready
icon" shows to reflect this.
- The Deathmatch intermisson couldn't show the ready icon (because it
just used the ingame scoreboard), so a proper intermission was added,
which reflects the same design as the coop scoreboard.
- The colour column wasted more space then it should have needed, so it
was replaced with player colour backgrounds.
- Slight y offset adjustments to make everything fit in 320x200
properly.
2014-06-17 19:46:10 +12:00
Christoph Oelckers
2ad47935ef
Merge branch 'master' into Glew_Version_For_Real
2014-06-01 12:43:17 +02:00
Christoph Oelckers
7fedaf9221
Merge branch 'master' of https://github.com/rheit/zdoom
2014-06-01 12:39:13 +02:00
Edward Richardson
e8513a64ed
Rebuild nodes for hellfact map04
2014-06-01 15:32:43 +12:00
Christoph Oelckers
3c5d07e9c6
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-31 11:05:44 +02:00
Christoph Oelckers
8f5683e23d
- moved secret found message to string table and removed the CVAR crutch that dates from a time when modifying string table content wasn't as easy as it is now.
...
- added 'showsecretsector' CVAR to show the sector number with the secret found message.
2014-05-29 17:50:14 +02:00
Christoph Oelckers
39775cc904
- mystery of desaturation shader solved: The old code passed '1-desaturation' to the shader, the new code 'desaturation', so for the 'mix' function to work its arguments must be swapped.
2014-05-21 15:25:25 +02:00
Christoph Oelckers
54425ee2ef
- fixed: Desaturation factor was applied incorrectly.
...
- Also fixed some very strange thing in the shader's desaturate function. For unknown reasons using the 'mix' function there did not work.
- fixed: The fog boundary special shader could not be used.
2014-05-21 13:40:46 +02:00
Christoph Oelckers
6e6be8ed5b
Merge branch 'master' into Glew_Version_For_Real
2014-05-18 12:47:48 +02:00
Christoph Oelckers
4e64ad847b
Merge branch 'master' of https://github.com/rheit/zdoom
2014-05-15 09:46:47 +02:00
Christoph Oelckers
802a478766
- Heretic doesn't really need dontcrunchcorpses because there was already some alternative handling for that situation.
2014-05-14 14:03:15 +02:00
Christoph Oelckers
51ed68dc72
- forgot to save this...
2014-05-14 13:02:04 +02:00
Christoph Oelckers
388f09f786
- fixed: In Heretic corpses do not get crunched to gibs, they just get their size reduced to 0. Handled by a new gameinfo flag. This also gets set for Chex quest which has the gib sprite replaced by something different. Using a Crush state will override this global flag.
2014-05-14 12:54:03 +02:00
Christoph Oelckers
cf45f2d718
- added missing shader files.
2014-05-12 22:24:26 +02:00
Christoph Oelckers
4d005bdfa0
shader rework
...
All those special shaders have been merged together.
Mostly working but the non-shader lighting seems a bit broken.
2014-05-12 14:45:41 +02:00
Christoph Oelckers
b9a6fe80a4
Do not use the shader to handle STYLEF_RedIsAlpha.
...
Turns out that the name doesn't accurately describe what it does.
It is correct for images that come with their own palette or are true color.
But for images using the game palette it doesn't use the red channel to determine translucency but the palette index! Ugh...
This means it cannot be done with a simple operation in the shader because it won't get a proper source image. The only solution is to create a separate texture.
2014-05-11 23:56:53 +02:00
Christoph Oelckers
7793bbbcc9
Further cleanup of lighting code.
...
- remove thing color from lighting calculations.
- implement alpha textures and inverse sprites for infrared as texture modes. This still requires some handling for the alpha texture mode for non-shader rendering because there is no way in the fixed pipeline to do it. The inverted texture effect can be done with a texture combiner.
- fixed: ThingColor for sprites was set in the wrong place. It must be in the Process function, not in the lighting calculation.
- added functions for isolated calculation of sprites' dynlight color.
2014-05-11 17:56:38 +02:00
Christoph Oelckers
52056a05bd
- changed handling of DynLight in shader to serve as a global dynamic light color for all lighting modes.
2014-05-11 16:49:17 +02:00
Christoph Oelckers
53f4cd0108
- added objectcolor uniform. This will be used to hold the thingcolor for shader based rendering.
2014-05-11 16:06:25 +02:00
Christoph Oelckers
09f4071436
Ok, it had to be done: Removed shader support for pre GLSL 1.3/GL 3.0 hardware. The compromises needed to accomodate these are just too bad and would block any attempt at streamlining the code.
2014-05-11 13:27:51 +02:00