Christoph Oelckers
f92cdb0ce7
- fixed: When the SectorAction's TriggerAction method was renamed, the inherited one in the MusicChanger was overlooked. (Bit thanks to the C++ specs for allowing to override a non-virtual method with a virtual one without even showing a warning...)
2014-09-21 09:11:33 +02:00
Christoph Oelckers
cbf72fe992
- fixed: Since the serializing code cannot distinguish between user variables of the same name coming from different actors in an inheritance chain, this kind of name duplication must be prohibited.
2014-09-21 08:32:39 +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
43e2d704a3
- always use glPolygonOffset to render translucent geometry.
2014-09-20 09:04:36 +02:00
MajorCooke
16a380f82a
- Added Blue Shadow's DropInventory ACS function.
2014-09-19 17:27:18 -05:00
MajorCooke
5c4ad9be68
Added Blue Shadow's A_SpawnItemEx changes: (1/2)
...
SXF_TRANSFERALPHA and SXF_TRANSFERRENDERSTYLE
2014-09-19 14:15:31 -05:00
Christoph Oelckers
c2377ff8e1
Merge branch 'setmasterfix' of https://github.com/MajorCooke/zdoom
2014-09-19 09:15:33 +02:00
Christoph Oelckers
0787f73cd4
Merge branch 'clang_3_5_crash' of https://github.com/edward-san/zdoom
2014-09-19 09:14:44 +02:00
MajorCooke
7a62459c00
Allow SXF_SETMASTER to work on non-monsters.
2014-09-18 17:58:06 -05:00
Christoph Oelckers
92dcf2e5ef
- fixed some of those supremely annoying and supremely pointless GCC/Clang compiler warnings.
2014-09-17 11:03:05 +02:00
Christoph Oelckers
c5e00dbc53
fixed: The sampler object for camera textures was never initialized.
2014-09-17 10:52:34 +02:00
Christoph Oelckers
c773a500f2
- only activate shader storage buffers on modern drivers also supporting GL_ARB_buffer storage. Early adopters of this extension (i.e. older AMD drivers mainly) tend to implement this badly.
2014-09-17 09:01:16 +02:00
Christoph Oelckers
df1364e2d7
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-16 08:46:12 +02:00
Christoph Oelckers
134c9ade21
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-16 08:44:37 +02:00
Christoph Oelckers
8ef16b72ee
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-16 08:43:03 +02:00
Christoph Oelckers
864adde92e
- typo for savegame versioning of AActor::weaponspecial: it was introduced in savegame version 4512, not 4511.
2014-09-16 08:42:27 +02:00
Edoardo Prezioso
1c96039d7a
- Fixed miscompilation with Clang 3.5.0.
...
The optimizer miscompiles the function FBehavior::LoadScriptsDirectory and causes random crashes when zdoom is run with wads containing scripts.
As said in the comment, I just hope that the Clang devs fix it for the next patching release, ie 3.5.1.
2014-09-15 19:46:43 +02:00
Braden Obrzut
94123d5ef4
- Applied anonymous patch to fix uncapped stuttering in SDL backend.
2014-09-15 12:59:07 -04:00
Christoph Oelckers
a25ed3c807
- fixed: inverted rendering for fuzzy things with light powerup was switched off due to change of render style.
2014-09-15 12:15:19 +02:00
Christoph Oelckers
77c4533e4b
Merge branch 'v2.x'
2014-09-15 11:51:59 +02:00
Christoph Oelckers
2ed287428c
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-15 11:36:51 +02:00
Christoph Oelckers
4be9a71636
- fixed: The VOC reader didn't advance the read index correctly.
2014-09-15 11:32:40 +02:00
Christoph Oelckers
1b13e6be98
-. fixed:S_LoadSound passed the wrong value for the lump size parameter to LoadSoundVoc.
2014-09-15 11:24:48 +02:00
Christoph Oelckers
8e7e16f73a
- fixed: The light uniform buffer may not be mapped with GL_MAP_INVALIDATE_BUFFER_BIT, because it needs to be mapped for each portal in a scene but it must preserve the existing data for the remaining translucent objects.
2014-09-15 10:27:09 +02: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
32f08adaf3
- moved some code to better places.
...
- allow GL version 3.0 in Windows, too.
2014-09-14 23:01:57 +02:00
Ralgor
5cc43137a1
Only require OpenGL 3.0 compatibility profile.
2014-09-14 14:43:42 -05:00
Ralgor
cfc8f3dbbf
Global GL render context shouldn't be initialized inside of gl_PrintStartupLog, since it's not compiled in non MSC builds.
2014-09-14 14:42:14 -05:00
Ralgor
1a70a6aabc
The light buffer should check for shader_storage_buffer_object rather than buffer_storage.
2014-09-14 14:29:13 -05:00
Ralgor
ddf58b43c9
Fix compile errors on linux.
2014-09-14 14:28:05 -05:00
Christoph Oelckers
ee6e87d94b
- use a separate counter from AActor::special1 to count weapon use with some Hexen weapons. special1 is used for some other purposes as well, and when using a separate counter it can be reset to 0 when changing weapons, preventing counting errors.
2014-09-13 12:38:16 +02:00
Christoph Oelckers
de68361f27
- fixed: When a sprite is being renamed by Dehacked it also needs to be changed in the list of original sprite names, otherwise any subsequent attempt to use the altered sprite in a frame definition will fail.
2014-09-13 11:54:19 +02:00
Christoph Oelckers
2ada3fe00e
- remove debug stuff.
2014-09-13 11:40:06 +02:00
Christoph Oelckers
50a8297201
- fixed: G_ChangeLevel must resolve warptrans map links before getting the next level's levelinfo.
2014-09-13 11:00:25 +02:00
Christoph Oelckers
f0e9fde336
- fixed: In Raven games, don't chase after monsters in the titlemap or when actor has a goal.
2014-09-13 10:40:56 +02:00
Christoph Oelckers
2be3b776d8
- fixed: A_CustomMissile should not jump to the See state for dead monsters when using CMF_CHECKTARGETDEAD.
2014-09-13 10:15:09 +02:00
Christoph Oelckers
46ec364443
- fixed: When validating the crouch sprite it was assumed that both the regular and the crouch sprite were having full rotations.
2014-09-13 10:08:22 +02:00
Christoph Oelckers
1e82d72349
- fixed: G_FinishTravel must clear the MF2_BLASTED flag off the player pawn because this flag will result in damage from contact with other objects in the map.
2014-09-13 09:56:21 +02:00
Christoph Oelckers
a0f507d18f
- fixed: The crosshair setting code checked for existence of lumps, not textures and missed anything defined in a TEXTURES lump.
2014-09-13 09:51:49 +02:00
Christoph Oelckers
3c2f1952fd
Merge branch 'master' into v2.x
2014-09-12 21:01:55 +02:00
Christoph Oelckers
5a1ad75402
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-12 21:01:27 +02:00
Christoph Oelckers
109da206a6
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-12 20:59:41 +02:00
Christoph Oelckers
a2c81f1ca9
-fixed the file validity checks in MapData::GetChecksum.
...
They need to be done per lump, because MapData::Seek can alter the FileReader being used for a specific lump. Even worse, the FileReader will be NULL when the function as it was is called for a map inside a Zip-file.
2014-09-12 20:59:23 +02:00
Braden Obrzut
27ebfa783e
- Added IfHealth based on Blue Shadow's patch.
2014-09-12 00:49:09 -04:00
Braden Obrzut
0223b7f460
- Fixed: InInventory didn't work quite right with multiple items.
2014-09-12 00:39:36 -04:00
Christoph Oelckers
25951362fc
- fixed: When applying Boom's Transfer_Heights effect to a sector, gl_FakeFlat needs to remove all portals from the original sector planes that are being replaced in the sector copy.
2014-09-11 13:02:39 +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
4bb320a27c
- route texture binding through the renderstate class for better control. Currently it's just a direct passthrough but this will change.
2014-09-09 12:00:42 +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
c6f4c0b6f0
- fixed: FMaterial's tex pointer could be accessed before it was set.
...
- allow more than two texture units in shaders.
2014-09-09 10:03:34 +02:00
Christoph Oelckers
62880f113b
- fix a render glitch with Back to Saturn X MAP06: Do not flood missing upper and lower textures with the backsector's flat if that backsector is malformed (i.e. has no area.)
2014-09-09 08:47:39 +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
e2c2f635ac
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-08 23:26:17 +02:00
Christoph Oelckers
5e34b78451
- missed a line.
2014-09-08 23:25:27 +02:00
Christoph Oelckers
0ff061b928
Merge branch 'master' of https://github.com/rheit/zdoom
2014-09-08 22:55:37 +02:00
Christoph Oelckers
580e580c42
- added option to set a sector's tag via compatibility.txt (needed by GZDoom)
2014-09-08 22:54:56 +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
alexey.lysiuk
e29fce6951
Fixed missing transparency on upscaled textures
...
Textures with diagonal patterns were treated as opaque after resizing
Images upscaled by hqNx were affected mostly by this issue
http://forum.drdteam.org/viewtopic.php?f=24&t=5370
http://zandronum.com/tracker/view.php?id=269
http://zandronum.com/tracker/view.php?id=315
2014-09-07 11:52:51 +03: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
fa3a62e954
- fix a render glitch with Back to Saturn X MAP06: Do not flood missing upper and lower textures with the backsector's flat if that backsector is malformed (i.e. has no area.)
2014-08-31 23:01:53 +02:00
Christoph Oelckers
a280c20b4e
- fixed: If we want to cache texture binding state we have to reset it in all places where a texture becomes unbound.
2014-08-31 19:00:17 +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
6a3cd6378a
- found out that reading the CPU's real time clock costs a not insignificant amount of time so this is now only done when either the benchmark command is running or the rendertimes are shown.
2014-08-30 14:33:06 +02:00
Christoph Oelckers
49ec7beb8f
- separate draw lists for walls and flats. This makes the sorting much more efficient because draw types no longer need to be checked in the compare function. This is a lot more important than having perfect texture order.
2014-08-30 13:04:41 +02:00
Christoph Oelckers
1d2aa3df0c
fixed: The wait console command waited one tic too many because it got 1 added to it twice instead of only once.
2014-08-25 10:51:50 +02:00
Christoph Oelckers
a903cbe12e
- sorting draw items by light level no longer makes sense so remove all corresponding code from dicmp.
2014-08-24 13:10:45 +02:00
Christoph Oelckers
bf03d02228
- print OpenGL profile type in startup log.
2014-08-24 01:09:44 +02:00
Christoph Oelckers
904cc2e158
- some code cleanup.
2014-08-23 18:54:24 +02:00
alexey.lysiuk
51d7340288
Fixed crash on music volume change when no track is played using FluidSynth device
2014-08-23 16:35:05 +03:00
Christoph Oelckers
5364116354
- fixed: APROP_Friendly did not manage monster counting correctly.
2014-08-23 13:24:15 +02:00
Christoph Oelckers
bf6079af46
- fixed incorrect check for overrideshader.
2014-08-23 00:47:05 +02:00
Christoph Oelckers
1050013017
major cleanup of the texture manager:
...
- use sampler objects to avoid creating up to 4 different system textures for one game texture just because of different clamping settings.
- avoids flushing all textures for change of texture filter mode.
- separate sprite and regular dimensions on the material level to have better control over which one gets used. It's now an explicit parameter of ValidateTexture. The main reason for this change is better handling of wall sprites which may not be subjected to such handling.
- create mipmaps based on use case, not texture type.
- allows removal of FCloneTexture hack for proper sharing of the same sprite for decals and other purposes.
- better precaching of skyboxes.
2014-08-22 23:50:38 +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
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
274a4216ea
- disabling inlining in the GL loader produces an executable that's 8kb smaller.
2014-08-21 11:47:53 +02:00
Christoph Oelckers
78815a9601
-we need this, too.
2014-08-21 11:29:43 +02:00
Christoph Oelckers
e132fc5eed
- replaced GLEW with GLLoadGen for GL access. This allows to have a header that only contains what's actually required, namely OpenGL 3.3 plus glBegin and glEnd which are the only compatibility functions needed for the fallback render path.
...
GLEW has two major problems:
- it always includes everything, there is no way to restrict the header to a specific GL version
- it is mostly broken with a core profile and only works if all sanity checks get switched off.
2014-08-21 11:02:46 +02:00
Edward Richardson
07d7f690e8
Non-wall sprites need their original depth checks
2014-08-21 20:03:17 +12:00
Christoph Oelckers
6f65bccf1c
- reinstated the far superior assembly HQnX version for Visual C++.
2014-08-20 12:45:33 +02:00
Christoph Oelckers
86d37e06f9
- lowered requirements of GL 2.x to OpenGL 3.3.
...
There was one issue preventing the previous 2.0 betas from running under GL 3.x: The lack of persistently mapped buffers.
For the dynamic light buffer today's changes take care of that problem.
For the vertex buffer there is no good workaround but we can use immediate mode render calls instead which have been reinstated.
To handle the current setup, the engine first tries to get a core profile context and checks for presence of GL 4.4 or the GL_ARB_buffer_storage extension.
If this fails the context is deleted again and a compatibility context retrieved which is then used for 'old style' rendering which does work on older GL versions.
This new version does not support GL 3.2 or lower, meaning that Intel GMA 3000 or lower is not supported. The reason for this is that the engine uses a few GL 3.3 features which are not present in the latest Intel driver.
In general the Intel GMA 3000 is far too weak, though, to run the demanding shader of GZDoom 2.x, so this is no real loss. Performance would be far from satisfying.
A command line option '-gl3' exists to force the fallback render path. On my Geforce 550Ti there's approx. 10% performance loss on this path.
2014-08-19 15:56:33 +02:00
Christoph Oelckers
a2dc4afe3f
- screwed by the editor's autocompletion... (wrong GL flag was used...)
2014-08-19 14:25:47 +02:00
Christoph Oelckers
00d7707aef
- allow reallocation of light buffer if more lights are needed.
...
- added a light preprocessing pass to the renderer so that a non-persistent buffer can be used with minimal mapping/unmapping. This only gets used if necessary because it adds some overhead to the renderer.
2014-08-19 14:18:21 +02:00
Christoph Oelckers
38796e7714
- removed some obsolete and useless GL calls.
2014-08-17 11:41:03 +02:00
Christoph Oelckers
5d6ef5cb16
Merge branch 'master' into v2.x
2014-08-11 13:19:42 +02:00
Christoph Oelckers
c30cfb3190
Merge branch 'master' of https://github.com/rheit/zdoom
2014-08-11 13:18:21 +02:00
Christoph Oelckers
f482dc094d
fixed: R_PointOnSideSlow had precision issues with very short lines.
...
When this function was originally written there was no possibility of fractional vertex coordinates so it threw away the fractional parts of the node's directional vector (which in the original nodes was always 0.)
Now, with UDMF and high precision vertices this no longer works and the loss of significant parts of their value caused this code to produce erroneous results if the linedefs were only a few map units long and using fractional positions.
2014-08-11 12:27:04 +02:00
Christoph Oelckers
48163de8e2
must include doomdef.h in cmdlib.h to get TICRATE.
2014-08-11 11:47:14 +02:00
Christoph Oelckers
f0eccb9d15
- BlueShadow's submission for keeping the max save amount of BasicArmorPickups around when picking up armor bonuses.
2014-08-11 10:08:49 +02:00
Christoph Oelckers
259466c3d4
fixed time printing.
...
- In ZDoom the timer runs a bit too fast because roundoff errors make 35 tics only last 0.98 seconds. None of the internal timing has been changed, only the places where a time value is printed it will get adjusted for this discrepancy.
2014-08-11 09:39:38 +02:00
Christoph Oelckers
1fcde91298
- BlueShadow's GetArmorInfo submission.
2014-08-08 09:25:35 +02:00
Randy Heit
fefe6aa2c1
Specie -> Species
...
- specie: money in the form of coins rather than notes
- species: a group of living organisms consisting of similar individuals
capable of exchanging genes or interbreeding
2014-08-07 22:40:12 -05:00
Randy Heit
75dc7de632
Merge branch 'master' of github.com:rheit/zdoom
2014-08-07 22:28:35 -05:00
Randy Heit
46592f5f6d
Don't clamp SHADE2LIGHT
...
- Light levels aren't stored in bytes anymore, so there's no reason to
clamp it anymore when loading Build maps.
2014-08-07 22:27:48 -05:00
Randy Heit
fbb5689f29
Eliminate extra vars from FWallCoords
...
- cx1, cx2, cy1, and cy2 are not used anywhere, so get rid of them.
- Also annotated the comments to indicate the corresponding arrays in the Build engine.
2014-08-07 22:26:24 -05:00
Randy Heit
e6a1d6b516
Parse more info from Blood's map header
2014-08-07 22:00:02 -05:00
Randy Heit
9659b894a3
Skip neardepth/fardepth checking in R_DrawSprite
...
- Wall sprites now clip much, much better than before.
2014-08-07 20:43:09 -05:00
Randy Heit
7b02027ba7
Fixed: Wall sprites cut off one pixel short of the window's right border
2014-08-07 20:00:49 -05:00
Randy Heit
6303935ad6
Use wall sprite Y scale
2014-08-07 19:57:55 -05:00
Randy Heit
0aa67c68ab
Redo lighting for each wall sprite
...
- Because previously it just reused whatever the most recently drawn wall
used.
2014-08-07 17:23:06 -05:00
Randy Heit
e1ee80661e
Make FWallCoords' members lowercase
...
because they're kind of a pain to type when all uppercase.
- Also, make its sx1 and sx2 members shorts, so it takes less space, since
it's getting crammed into a vissprite now.
2014-08-07 17:12:04 -05:00
Leonard2
8c4c011ca2
MTHRUSPECIES on puffs
...
You were right it's cleaner that way
2014-08-07 18:05:39 +02:00
Leonard2
5400ce1a21
+MTHRUSPECIES on puffs
2014-08-07 15:50:21 +02:00
Christoph Oelckers
b9ffb51d0c
- small but important optimization: Two-sided lines with both sides in the same sector don't really require vertex splitting for precise rendering.
2014-08-04 23:00:40 +02:00
Christoph Oelckers
09a68e8c93
- fixed incorrect function call in shader compiler.
2014-08-03 18:14:19 +02:00
Christoph Oelckers
370582d2fa
- corrected versioning info for development branch.
2014-08-03 12:25:59 +02:00
Christoph Oelckers
19cfffebb3
- fixed: the WallTypes enum contained a value that no longer was valid. This was fixed orignally last week but it seems to have gotten lost.
2014-08-03 12:21:05 +02:00
Christoph Oelckers
c98e3ca99d
Merge branch 'master' into v2.x
2014-08-03 10:58:41 +02:00
Christoph Oelckers
b3e0d93385
- implemented rendering of wall sprites.
2014-08-03 10:57:58 +02:00
Christoph Oelckers
398d902e7e
- split off sprite clipping adjustment code into its own function.
2014-08-03 10:22:12 +02:00
Christoph Oelckers
1b55c17379
Merge branch 'master' of https://github.com/rheit/zdoom
2014-08-03 10:08:05 +02:00
Randy Heit
1d02ad3aa2
Merge branch 'master' of github.com:rheit/zdoom
2014-08-02 22:40:02 -05:00
Randy Heit
d0043bed78
Q&D port of decal code to draw generic wall sprites
...
- This still doesn't use all the sprite properties correctly. It also
looks like they're going to need different code to build the clipping
arrays. But at least wall sprites are drawn at the proper angle now!
2014-08-02 22:35:57 -05:00
Christoph Oelckers
eef4d1fac1
Merge branch 'fix_build_nonmsvc' of https://github.com/alexey-lysiuk/gzdoom
2014-08-03 01:17:15 +02:00
Christoph Oelckers
cd5e429d3b
- adjust version number.
2014-08-02 23:12:08 +02:00
Christoph Oelckers
a63871d170
- at least for Intel GMA we need shaders without 'discard' to render non-transparent stuff. The performance penalty is rather hefty here.
2014-08-02 21:06:34 +02:00
Christoph Oelckers
a97b58fa27
- added check for light uniform buffer overflows, because uniform buffers on Intel are rather small.
2014-08-02 20:41:13 +02:00
alexey.lysiuk
6ef67e1d3e
Fixed build on compilers other than MSVC
...
No more "Call to 'LittleShort' is ambiguous" error
2014-08-02 13:14:25 +03:00
Christoph Oelckers
e35fefdc06
- better rebind the active shader after updating the matrices.
2014-08-02 11:59:04 +02:00
Christoph Oelckers
b2860a1d63
- it looks like glProgramUniform is not working correctly with Intel drivers, so better forget about it for setting the view and projection matrices. Even on NVidia the time difference can only be measured in microseconds per frame so it's not a big loss.
2014-08-02 11:57:42 +02:00
Edward Richardson
9716a61219
Add CVar for drawing weapons in the althud
2014-08-02 19:34:16 +12: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
Randy Heit
15251e7a21
Set face/wall/floor flags from Build sprites
2014-07-31 22:18:08 -05:00
Randy Heit
a600a816c3
Consolidate some common code for texture mapping setup
...
- R_AddLine() and R_RenderDecal() had nearly identical code for setting up
texture mapping. These have now been spun off into methods of
FWallCoords and FWallTmapVals.
2014-07-31 21:02:22 -05:00
Randy Heit
b0b9c57e85
Pass x1 and x2 to Prep(L)Wall as params
2014-07-31 20:32:21 -05:00
Randy Heit
fc63e9db3c
Pass WallC as a parameter to (O)WallMost instead of referencing it globally
2014-07-31 20:23:04 -05:00
Randy Heit
bc450808b2
Consolidate wall texturing vars into two structs
...
- All transformation and clipping values go into FWallCoords.
- All texture mapping values go into FWallTMapVals.
2014-07-31 20:17:23 -05:00
Randy Heit
bbc3b69a7c
Remove polymost stuff
...
- Maybe it will be back someday, but it's been essentially dead for nearly
10 years, so don't hold your breath.
2014-07-31 19:44:41 -05:00
Randy Heit
4cf468452c
Remove slopetype from line_t.
...
- Recomputing it in the only two places where it's used is trivial, so
it's basically a waste of space to precompute it.
2014-07-31 19:15:08 -05:00
Randy Heit
e55e7b9a38
Don't weed out wall and floor sprites when spawning Build sprites
2014-07-31 18:22:33 -05: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
1ec58011d2
- start of light buffer implementation so that we don't have to use uniform arrays which appear to be broken on AMD.
2014-07-31 00:44:22 +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
a922ae04cc
Use Blood player starts
...
- Blood's maps use thing types, much like Doom's, so getting its player
starts is easy. There's no need to synthesize a start from the editor
position like with other Build maps.
2014-07-29 21:39:05 -05:00
Randy Heit
449a17c2f4
Correctly assign the sample rate for all Blood SFX formats
...
- Blood can do 44100 Hz sounds!
2014-07-29 21:09:29 -05:00
Randy Heit
e0e00c4f8c
Fixed: None of the Blood ambient sounds were registered correctly
2014-07-29 20:56:20 -05:00
Randy Heit
4296e9caa2
Fix typo in comment
2014-07-29 20:51:23 -05:00
Randy Heit
d602b272b5
Never cache nodes for Build maps
2014-07-29 20:46:20 -05:00
Randy Heit
00854dd09e
Don't reopen the reader for encrypted maps
...
- Fixed: Memory leak when loading Blood maps.
2014-07-29 20:42:17 -05:00
Randy Heit
02e7c56c82
Move SpriteFrames.Clear() from R_InitSprites to FTextureManager::Init
...
- Fixed: Blood sprite rotations were overwritten by the Doom sprite
rotations.
2014-07-29 20:31:53 -05:00
Randy Heit
f3d8edb4d8
Fixed: No sprites were loaded for Build maps
2014-07-29 20:30:50 -05:00
Christoph Oelckers
a1dfdf0fc7
Merge branch 'master' of https://github.com/rheit/zdoom
2014-07-29 15:51:14 +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