Commit graph

1441 commits

Author SHA1 Message Date
Christoph Oelckers
72889540a5 - use GZDoom's gl_samplers.cpp 2020-05-28 23:48:50 +02:00
Christoph Oelckers
362be65060 - removed FHardwareTexture's mSampler member.
This was a mostly unused relic of early development, the few places using it were static sampler settings.
2020-05-28 21:45:33 +02:00
Christoph Oelckers
5e93b8f3e7 - fixed transparent color. 2020-05-28 08:31:08 +02:00
Christoph Oelckers
a3e6829817 - fixed Exhumed menu by adding a proper layout mode to the drawer instead of hacking the broken tile offsets. 2020-05-27 23:30:36 +02:00
Christoph Oelckers
193b940eef - palette code cleanup. 2020-05-27 22:19:02 +02:00
Christoph Oelckers
7109ce4e30 - made some changes to the font and texture system to allow late loading of the palette.
The base palette can be set via .def files so that the engine has no access to it until the entire game state is set up.
This means that font translations and PNG palette remap tables cannot be built when the owning objects are created.
For PNGs this has the added advantage that they only get done when really required and not unconditionally - most of the time the remap table isn't even needed here.

Thid fixes the slider graphics in the option menus.

# Conflicts:
#	source/core/gamecontrol.cpp

# Conflicts:
#	source/core/gamecontrol.cpp
2020-05-26 21:43:32 +02:00
Christoph Oelckers
29db3febb8 - updated the platform code to be mostly identical with GZDoom 2020-05-26 00:08:26 +02:00
Christoph Oelckers
c4017de12f - updated to GZDoom's new texture management system. 2020-05-25 23:59:07 +02:00
Christoph Oelckers
55a3c62b59 - use GZDoom's 2D drawer.
Console and menu font colors are not ok yet, aside from that it works.
2020-05-25 17:11:32 +02:00
Christoph Oelckers
1d065085d4 - fixed some palette issues 2020-05-25 00:46:46 +02:00
Christoph Oelckers
94cb36ae53 - removed helper #ifdefs. 2020-05-25 00:33:25 +02:00
Christoph Oelckers
758e4ad7cb - stripped down the palette manager in the GL backend and let it use the data that's managed elsewhere.
This class is only needed to manage the palette textures used by the indexed render mode, all the rest is available globally.
2020-05-25 00:31:55 +02:00
Christoph Oelckers
6bd4f77c5b - fix compilation. 2020-05-25 00:31:55 +02:00
Christoph Oelckers
531c68edfe - use GZDoom's font code to fix the crash issues and moved around some files in the PK3.
This pulls in a lot of Doom specific font setup, this can be sorted out later as it won't get into the way.

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/hw_draw2d.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/glbackend/gl_texture.cpp

# Conflicts:
#	source/CMakeLists.txt

# Conflicts:
#	source/build/src/palette.cpp
#	source/core/gamecontrol.cpp
2020-05-24 23:28:44 +02:00
Christoph Oelckers
a70b7fa698 - use the texture manager to handle texture data. 2020-05-24 23:26:47 +02:00
Christoph Oelckers
6bffdf80a1 - finally managed to merge in the original texture system commit.
Game compiles and runs but transparency doesn't work yet.

# Conflicts:
#	source/CMakeLists.txt
#	source/core/menu/menu.cpp
#	source/core/textures/buildtiles.cpp
2020-05-24 22:53:14 +02:00
Christoph Oelckers
53891004a0 - fixed compilation 2020-05-24 22:37:50 +02:00
Christoph Oelckers
7a84887fc4 - transitioned FTexture.
Mostly working. Note: Brightmaps must be per-translation!
2020-05-24 19:12:22 +02:00
Christoph Oelckers
e6b94d35ff - reorganized how BuildTiles stores its data.
Arrays of struct are better than struct of arrays.
2020-05-24 15:02:20 +02:00
Christoph Oelckers
266364fc2e - properly implement texture offsets 2020-05-24 13:26:45 +02:00
Christoph Oelckers
db4850a028 - added a reverse tile map so that the tile manager can retrieve special info even when a tile texture is passed by object to the render code and not by index. 2020-05-24 10:30:09 +02:00
Christoph Oelckers
0c029750b6 - moved hightile replacements out of the texture class. 2020-05-24 08:47:45 +02:00
Christoph Oelckers
498b19873d - split up textures.h. 2020-05-24 07:58:56 +02:00
Christoph Oelckers
da26d1cec4 - more trivial adjustments. 2020-05-24 00:38:10 +02:00
Christoph Oelckers
00e7b2fa25 - simple stuff from the texture manager inclusion commit.
To get this out of the way first...
2020-05-24 00:27:24 +02:00
Christoph Oelckers
ab6e87b5f8 - workaround for Ion Fury display glitches on the first map.
I have no idea why this needs to be different than in EDuke32, but without always clearing the depth buffer before rendering a scene viewpoint the game will glitch like crazy.
2020-05-23 22:43:06 +02:00
Christoph Oelckers
2703823ac4 - fixed palette setup. 2020-05-23 22:43:05 +02:00
Christoph Oelckers
2d29d130c0 - fixed Blood startup. 2020-05-23 22:43:05 +02:00
Christoph Oelckers
b8a289bf61 - move brightmap handling to the common code.
# Conflicts:
#	source/common/utility/basics.h

# Conflicts:
#	source/build/src/palette.cpp
2020-05-23 22:43:05 +02:00
Christoph Oelckers
ae6403a205 - added a level of abstraction to the lookup table code to ease later refactoring. 2020-05-23 22:43:05 +02:00
Christoph Oelckers
f929419a0a - refactoring of the lookup tables. 2020-05-23 22:43:04 +02:00
Christoph Oelckers
daf77e55f7 - fixed compilation.
Much of this commit will have to be undone later, once the texture manager becomes available.
2020-05-23 22:43:04 +02:00
Christoph Oelckers
b971bc2717 - avoid using global palette settings when drawing 2D content with a custom palette.
Instead pass the palette info with the render call to avoid stale global state.
2020-05-23 22:43:01 +02:00
Christoph Oelckers
8d3199514d - removed some 'pragma' cruft. 2020-05-23 13:08:10 +02:00
Christoph Oelckers
d0406e27b6 - all base palette data has been transitioned to GPalette. 2020-05-23 12:31:05 +02:00
Christoph Oelckers
6f9ee4b60f - store palettes in the palette container. 2020-05-23 12:31:05 +02:00
Evan Ramos
8b0da35cb8 Avoid warnings when defining only extra in tilefromtexture
# Conflicts:
#	source/build/src/defs.cpp
2020-05-22 17:30:52 +02:00
nukeykt
1ef8df0a4c Blood: Fix model yoffset 2020-05-22 17:29:50 +02:00
sirlemonhead
19ab05655b Prevent invalid array index in polymost_spriteIsModelOrVoxel()
# Conflicts:
#	source/build/src/polymost.cpp
2020-05-22 17:22:18 +02:00
Richard C. Gobeille
e2d79b4682 engine: add yax_getflorzofslope() and yax_getceilzofslope() 2020-05-22 17:01:36 +02:00
Richard C. Gobeille
3ab314e95a engine: make cliptestsector() (used by clipmove(), etc) TROR aware
This is intended to help with issues where enemies get stuck in thin TROR layers.

# Conflicts:
#	source/build/src/clip.cpp
2020-05-22 17:00:55 +02:00
Richard C. Gobeille
f5788c331e Clarify clipupdatesector() log message a bit
# Conflicts:
#	source/build/src/clip.cpp
2020-05-22 16:52:08 +02:00
Richard C. Gobeille
94d098f8ef Fix a crash with tabledivide64()
Fixes #1.
2020-05-22 16:50:02 +02:00
Christoph Oelckers
bad17f29e0 - made some tweaks to the anti-z-fighting code in Polymost.
It now picks the minimum of the current formula and the one from before June 2017 - the current one was causing problems with sprites in the distance so now the old one is used as an upper bound.
2020-05-22 16:27:45 +02:00
NY00123
6fcb8f7a6a Add gethiq16angle and the getq16angle wrapper to the engine 2020-05-21 18:47:37 +02:00
Mitchell Richters
3749a89d6a Build: Change renderSetRollAngle() to take a float and not an int32_t. 2020-05-13 15:12:44 +02:00
Mitchell Richters
68a0ead5f0
- fix Linux builds following reset of master branch. (#44)
* - fix Linux builds following reset of master branch.

* - fix Linux Clang CI failure.

* - change '#ifdef __linux__' to '#ifndef _WIN32' as requested/required.

* - initialise batchrun in proper spot.
2020-05-05 10:45:21 +03:00
Christoph Oelckers
e6031654f2 - uncommented the compatibility case in updatesector.
In the RedNukem frontend this was causing view interpolation glitches, this probably should be disabled a bit more targeted but right now I do not know yet which call causes the problem
2020-05-04 00:03:51 +02:00
Mitchell Richters
1ce4081d37 - change 'refreshfreq' from int to double.
A double is already used in CalcSmoothRatio. Further to this, displays that use TV standard frequencies do not use perfect 60Hz frequencies, but frequencies such as 59.94Hz, 23.976Hz (precisely, 24*(1000/1001) = 23.9760239760239760...) etc.

Reference: 'https://www.ghacks.net/2010/04/28/59-hertz-refresh-rate/', 'http://www.paradiso-design.net/videostandards_en.html'.

# Conflicts:
#	source/build/include/baselayer.h
#	source/platform/posix/cocoa/i_main.mm
2020-04-16 00:03:00 +02:00
Mitchell Richters
4654fd648d Renderer: Disable models by default since they're not supported currently.
- Better to see sprites in HRPs than nothing on-screen.
2020-04-14 00:00:23 +02:00
Christoph Oelckers
156a225ff4 - renamed global palookup variable.
Since the same word gets used in text messages and local variables in the game code it is easier this way to search for it and facilitate its transition to the translation table management in PaletteContainer.
2020-04-13 23:58:46 +02:00
Christoph Oelckers
fda4293013 - draw the movie franes outside of the tile system to reduce the palette maintenance.
The movie code has always been the part causing the most issues because it alters the palettes - the rest treats them as static data.
2020-04-13 23:58:45 +02:00
Christoph Oelckers
fac004b4d2 - palette code cleanup 2020-04-13 23:58:44 +02:00
Christoph Oelckers
d46ea7481f - handle RRRA E1L2's fog in the shader instead of hacking the shade tables. 2020-04-12 08:30:43 +02:00
Christoph Oelckers
4d1d90d712 - use a global constant for the transparent palette index instead of hardcoding it to the 255 literal everywhere.
- added the needed glue to allow palettecontainer.cpp to compile.
2020-04-12 08:30:43 +02:00
Christoph Oelckers
8e87674d4c - backend code matching with GZDoom 2020-04-12 08:30:40 +02:00
Christoph Oelckers
5584c726ba - file system update and adjustment. 2020-04-12 08:30:40 +02:00
Christoph Oelckers
f671eb622f - migrated to GZDoom's utility code. 2020-04-12 08:30:39 +02:00
Christoph Oelckers
797640c494 - use ZDoom's memory allocation wrapper instead of EDuke's.
This simply plays nicer with the compiler's diagnostics.
2020-04-12 08:30:38 +02:00
Christoph Oelckers
66ecb05eb8 - use Printf as the only command to print to the console.
All uses of OSD_Printf, initprintf etc. have been renamed.
2020-04-12 08:30:38 +02:00
Christoph Oelckers
6ef93ba514 - match cmdlib.cpp/.h with GZDoom. 2020-04-12 08:30:36 +02:00
NY00123
3610609659 Add a workaround for possible rounding errors in calculations of
sintable and radarang. sintable[512] was different in a 32-bit build.

From-SVN: r8796
2020-04-08 00:38:48 +02:00
Christoph Oelckers
5af0217db7 - got rid of the software rendering blend tables. 2020-03-29 17:23:57 +02:00
Christoph Oelckers
41545b644a - cleaned out most of the software renderer's static global variables. 2020-03-29 16:59:49 +02:00
Christoph Oelckers
7392b699e4 - cleaning out a few more parts of the software renderer. 2020-03-29 15:54:02 +02:00
Christoph Oelckers
3f69044770 - removed all references to sdlayer.cpp as all that was left in there was only needed for software rendering.
- removed now unused a-c.cpp.
2020-03-29 15:22:07 +02:00
Christoph Oelckers
0de4b134da - stripped out most of the software renderer.
Now that the camera textures can be handled through the hardware renderer this isn't needed anymore.
2020-03-29 14:55:09 +02:00
Christoph Oelckers
621a9338e5 - render camera textures with the hardware renderer.
This removes the last active use case for the software renderer and allows rendering the camera views at a higher resolution.
For Shadow Warrior this necessitated a split of JS_DrawMirrors, because it processed cameras and mirrors in the same loop which cannot be done with the hardware renderer.
2020-03-29 14:01:46 +02:00
terminx
4bdffa4f0f Patch from Nuke.YKT to fix a y-flipped voxel rendering issue in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@8727 1a8010ca-5511-0410-912e-c29ae57300e0
2020-03-20 17:34:48 +01:00
terminx
8def930980 Replace MERGE_NODES macro with vsmerge() function
git-svn-id: https://svn.eduke32.com/eduke32@8715 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2020-03-20 17:31:21 +01:00
Christoph Oelckers
73a4e0d1fe - made Blood's FullMap flag global and removed the hacks to show the full automap.
Also refactor show2dsector into a bit array to get rid of the bit shifting code at play here.
2020-03-07 19:30:18 +01:00
Christoph Oelckers
b3c1d5001e - used double frame buffering for VPX playback.
With a single buffer this tends to run into situations where an unrendered texture gets deleted before it is drawn.
2020-03-05 20:56:41 +01:00
Christoph Oelckers
f59bfa1224 - consolidation of screentext code 2020-03-05 00:58:38 +01:00
nukeykt
2bf65c9108 Exhumed: Use old ksqrt implementation 2020-03-04 17:57:15 +01:00
Christoph Oelckers
348325c879 - removed some editor-only code from engine.cpp 2020-03-01 19:12:18 +01:00
hendricks266
da6c7ddab5 Add mhkreset maphack command
Thanks to LeoD.

git-svn-id: https://svn.eduke32.com/eduke32@8644 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-29 10:05:47 +01:00
hendricks266
dc2d6a098e Fix mdpivxoff and mdpivyoff commands
Thanks to LeoD.

git-svn-id: https://svn.eduke32.com/eduke32@8643 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-29 10:05:23 +01:00
Christoph Oelckers
39c96d58c6 - fixed bug with wallsprite calculation trashing angles of voxel sprites.
Fix was missed from upstream due to a merge conflict.
2020-02-22 16:56:20 +01:00
Christoph Oelckers
a873dcf6e0 - fixed the pause key.
Apparently SDL maps this to a different scan code.
Since pause is hard coded in all games the corresponding menu option has been disabled.
2020-02-16 17:22:14 +01:00
Christoph Oelckers
cc872c79fc - removed some vertex fudging code in polymost_domost that was no longer present in upstream code.
This looks like it fixes a few render glitches.
2020-02-15 21:36:29 +01:00
Christoph Oelckers
7909f29691 - allow starting Duke, NAM and WW2GI with the RedNukem-based game code for Redneck Rampage.
This mainly required some rework of the menu setup to be less explicit about the frontend's menu classes.
2020-02-12 20:25:59 +01:00
Christoph Oelckers
4d45117ca5 - removed pointless and non-functional null check
clipmapinfo is a static global variable, its address is never null.
2020-02-12 00:42:34 +01:00
Christoph Oelckers
286d53d3bf - added the missing handling for the basepal tinting. 2020-02-11 20:55:47 +01:00
Christoph Oelckers
744bd67616 - removed redundant check. 2020-02-11 18:26:58 +01:00
terminx
ff3ec2e66b Re-enable ignoring 256 units of curb when clipping against ceilings
This fixes getting stuck on tiny lips created by sloppy slopes in the undersized vents in DUKEDC3.MAP.

git-svn-id: https://svn.eduke32.com/eduke32@8639 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:24:05 +01:00
terminx
5a13be1f7b Avoid overflow in clipmove()
git-svn-id: https://svn.eduke32.com/eduke32@8633 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-11 18:22:41 +01:00
Christoph Oelckers
e2457d104b - fixed: Voxels did not explicitly set their palette and took the last one set. 2020-02-10 22:05:53 +01:00
Christoph Oelckers
4e58265d21 - disabled parts of EDuke commit 7829 because its side effects are worse than what it tries to fix.
In particular this causes backwards sliding against walls.
2020-02-09 22:18:36 +01:00
Christoph Oelckers
c53d9cfc3a - reworked voxel texture generation to use the backend's palette manager.
The original code was not able to handle changing palettes and only worked if each palette change resulted in a full texture flush - which Raze does not perform.
2020-02-09 20:14:26 +01:00
Christoph Oelckers
91b9ce54e4 - use a dedicated flag for defined hightile tints so that the shader can use them. 2020-02-09 15:53:08 +01:00
Christoph Oelckers
a5fc374b59 - always recalculate the projection matrix.
Trying to cache this is not useful, it barely saves time and was causing display errors.

# Conflicts:
#	source/build/src/polymost.cpp
2020-02-09 15:53:07 +01:00
Christoph Oelckers
215cb14401 - use a non-0 depth bias for sprites.
Hopefully this helps fixing the z-fighting issue with wall sprites in some Blood maps.
2020-02-06 18:44:06 +01:00
Christoph Oelckers
dbc958baeb - fixed swapped color channels in the tinting part of the shader. 2020-02-05 20:02:50 +01:00
Christoph Oelckers
5d4514060b - disable palette emulation for Blood's cutscenes.
These use color 255 as a valid index which the palette emulation shader does not handle.
2020-02-04 20:40:10 +01:00
Christoph Oelckers
a90185bea9 - cleaned up the remaining dependencies on windows.h
This file now only gets included by code that really needs it.
2020-02-03 21:30:57 +01:00
CommonLoon102
256bc3ec08 take maphacks into consideration
# Conflicts:
#	source/build/src/polymost.cpp
2020-02-03 19:13:42 +01:00
Christoph Oelckers
78ff1f0536 - removed Bfree.
It was only used in two places in the header, no need to keep it around.
2020-02-03 19:12:36 +01:00
nukeykt
03b1f65a52 Polymost: fix sprite rendering issues
# Conflicts:
#	source/build/src/engine.cpp
#	source/build/src/polymost.cpp
2020-02-03 19:08:51 +01:00
alexey.lysiuk
cdeaa5b3d5 - suppressed omnipresent GCC warning
source/build/include/compat.h:1043:21: warning: self-comparison always evaluates to true [-Wtautological-compare]
2020-02-03 10:48:15 +02:00
hendricks266
9f2cb8ea0d renderMakeTSpriteFromSprite: Copy extra, since SW uses it
SW: This fixes enemies glowing under nightvision.

git-svn-id: https://svn.eduke32.com/eduke32@8587 1a8010ca-5511-0410-912e-c29ae57300e0
2020-02-02 20:36:14 +01:00
Christoph Oelckers
f76d139207 - fixed SW's interpolation math. 2020-02-02 09:51:44 +01:00
Christoph Oelckers
eac1007c56 - automap color fix. 2020-01-30 22:05:18 +01:00
Christoph Oelckers
2334787f1b - reenabled the depth test for Polymost.
This was for debugging but accidentally left in.
2020-01-30 20:13:48 +01:00
Christoph Oelckers
cec7b006ca Merge branch 'master' of https://github.com/coelckers/Raze 2020-01-29 22:06:48 +01:00
terminx
541c71902b ClockTicks maintenance
git-svn-id: https://svn.eduke32.com/eduke32@8562 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:21:39 +01:00
terminx
6836faee07 Disable EDUKE32_PREDICT_TRUE and EDUKE32_PREDICT_FALSE for now
git-svn-id: https://svn.eduke32.com/eduke32@8553 1a8010ca-5511-0410-912e-c29ae57300e0
2020-01-29 19:15:25 +01:00
terminx
d0640618fd Don't push sprites away from other clip objects when their clip areas overlap if the velocity passed to clipmove() is 0
This workaround should fix issues with stationary sprites moving around at map load when their clip area is overlapping solid walls.

git-svn-id: https://svn.eduke32.com/eduke32@8543 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/clip.cpp
2020-01-29 19:10:26 +01:00
alexey.lysiuk
93fb98413e - fixed compilation with GCC and Clang
There were lots of errors ‘...’ was declared ‘extern’ and later ‘static’ [-fpermissive]
2020-01-29 10:20:17 +02:00
Magnus Norddahl
305e6fa617 Move a few more vars to engine.cpp 2020-01-28 22:54:57 +01:00
Magnus Norddahl
113c0d8b34 Move engine variables not managed by polymost.cpp to engine.cpp 2020-01-28 22:41:07 +01:00
Magnus Norddahl
ba23ebdc0f Set functions and variables that can be static to be static 2020-01-28 22:21:53 +01:00
Christoph Oelckers
e119dc841b - fixed setup of hires textures.
File check was accidentally inverted.
2020-01-28 21:36:30 +01:00
Christoph Oelckers
1f5f7c63fe - rewrite of tileCopySection 2020-01-28 12:42:17 +01:00
Christoph Oelckers
8657ecb35d - implemented 'map' CCMD for all games. 2020-01-28 11:20:30 +01:00
Christoph Oelckers
809b687969 - removed the Build color matching code
For the handful of lookups it got used for the needed data is too large and the lookup not precise enough. ZDoom's BestColor yields better results, does not need any tables and for the small amount of lookups being performed is more than adequate.
2020-01-28 10:31:59 +01:00
nukeykt
5db1f95b29 Prevent OOB issues in old pushmove 2020-01-26 18:17:25 +01:00
nukeykt
dc9b37c847 More faithful old pushmove implementation
this fixes Daedalus's e3m1 demo
2020-01-26 18:10:03 +01:00
Christoph Oelckers
43f48a10dd - partial fix for the broken sky in E3M2 of Blood. 2020-01-26 13:45:33 +01:00
Christoph Oelckers
4c6265e246 - fixed movie palette in Blood. 2020-01-26 12:10:23 +01:00
Christoph Oelckers
245aa5d3bc - reworked global palette state for robustness. 2020-01-26 10:58:00 +01:00
Christoph Oelckers
e8231f904f - I have no idea why a fov of exactly 90° does not work.
Changing this by one in either direction makes the problem go away.
2020-01-25 11:56:13 +01:00
Christoph Oelckers
f8a807e3bb - cleaned out a tiny bit of the garbage that has accumulated in compat.h.
This file really needs to go away, we do not need this kind of "compatibility".
2020-01-25 10:56:30 +01:00
Rachael Alexanderson
929fc880ee - make "activatecheat" pass a raw string to shadow warrior's cheat processor
- added a nullptr check
2020-01-23 07:12:12 -05:00
Christoph Oelckers
90ce4a893d - fixed: the current shade was applied twice for voxels - once as a shade and once as a light level. 2020-01-22 21:34:18 +01:00
Christoph Oelckers
09106b3159 - fixed the HUD size slider for Blood. 2020-01-22 13:53:26 +01:00
Christoph Oelckers
9c423ae6a3 - take down the level outside the LoadGame function in ShadowWarrior.
With the new savegame system it was done too late which could cause crashes.
2020-01-21 23:36:54 +01:00
Christoph Oelckers
e555d15cc7 renamed the swap function in pragmas.h
This conflicts with std::swap on some setups.
2020-01-20 01:32:39 +01:00
Christoph Oelckers
aa1361acbb - make palfadedelta explicitly unsigned 2020-01-19 23:18:38 +01:00
Christoph Oelckers
c8fa2443d3 - completely separated view and model matrix.
This way the view matrix will remain constant per scene and an update of the model matrix is only needed for rendering a model or voxel, reducing the total amount of generated matrices to the point where they can be written to a buffer instead of constantly uploading them as uniforms.
2020-01-19 16:07:09 +01:00
Christoph Oelckers
7a5f60e14d - removed gl_projectionhacks and the SOFTROTMAT code path.
Both were hard coded not to be used.
2020-01-19 13:57:24 +01:00
Christoph Oelckers
c4429cf15d - fixed voxel rendering. 2020-01-19 13:50:31 +01:00
Christoph Oelckers
454f796b69 - collect all 3D geometry in a list so that it can be rendered later.
With this out of the way the renderer can now be switched to the core profile.
2020-01-18 22:41:08 +01:00
Christoph Oelckers
2bc1708870 - removed the complete crosshair color hackery.
The code needs to be refactored anyway to allow better crosshair control but this also seemed to affect global render state, considering how poorly it was all implemented.
2020-01-18 16:14:31 +01:00
Christoph Oelckers
8cd9775513 - fixed VP8 video player.
Also do the color space conversion on the CPU to avoid the shader hassle, performance wise it is utterly irrelevant here.
2020-01-18 16:14:30 +01:00
Christoph Oelckers
2e06ccfec6 - draw the screen overlays using the vertex buffer. 2020-01-18 16:14:30 +01:00
Christoph Oelckers
dc5b8d27f8 - infrastructure for savegame pics.
Savepic generation implemented for Duke 3D, but results in a black image.
2020-01-12 23:16:21 +01:00
Christoph Oelckers
661431df87 - moved bits of my own code to properly copyrighted files. 2020-01-12 14:54:43 +01:00
Christoph Oelckers
6e3772d50d - fixed voxel color setting. 2020-01-11 22:39:53 +01:00
CommonLoon102
851a82c01f Blood: prefix the new maphack tokens with md
# Conflicts:
#	source/duke3d/src/lunatic/con_lang.lua
#	source/rr/src/lunatic/con_lang.lua
2020-01-11 22:24:13 +01:00
CommonLoon102
bc4a4bea23 Add possibility to move voxels/models via maphacks
# Conflicts:
#	source/build/src/engine.cpp
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/duke3d/src/lunatic/con_lang.lua
#	source/rr/src/lunatic/con_lang.lua
2020-01-11 22:23:53 +01:00
Christoph Oelckers
55dab6d3d3 - hooked up the high color texture colorization code.
Not tested and probably still not working correctly, the entire feature was a nearly impenetrable mess of convoluted code. This definitely needs verification with multiple mods using it.
2020-01-11 22:18:06 +01:00
Christoph Oelckers
cfed7afd02 - all source compile now on macOS 2020-01-08 01:00:57 +01:00
Christoph Oelckers
df7c5a7067 - use proper math instead of crash-prone libdivide here. 2020-01-08 00:06:24 +01:00
Christoph Oelckers
fb985d2503 - more macOS compilation fixes
Still not complete…
2020-01-07 01:11:19 +01:00
Christoph Oelckers
134122335b - first attempt to compile on a Mac
This could have gone better, there's far too many warnings here
2020-01-06 02:41:47 +01:00
Christoph Oelckers
d4b32c535a - moved matrices to render state. 2020-01-03 23:38:50 +01:00
Christoph Oelckers
f743b22661 - render voxels as triangles instead of quads.
Quads are not available in the core profile which is required to run GL 3.3 on macOS.
2020-01-03 18:09:05 +01:00
Christoph Oelckers
ce75832945 - color and depth func moved to render state. 2020-01-03 11:43:44 +01:00
Christoph Oelckers
cfc0ba48cb - moved render style handling to the render state and simplified its storage to use FRenderStyle instead of its components. 2020-01-03 10:48:22 +01:00
Evan Ramos
1caabf2e7b Add Blood-specific synonyms for tspritetype members 2020-01-03 08:05:43 +01:00