Commit Graph

845 Commits

Author SHA1 Message Date
Christoph Oelckers f992aebf33 - two more 2019-10-04 19:17:55 +02:00
Christoph Oelckers cb80e877ff - refactored fog and depth func setting into GLInterface. 2019-10-04 18:44:16 +02:00
Christoph Oelckers 204abab724 glColor calls refactored. 2019-10-04 18:25:18 +02:00
Christoph Oelckers 96c0c3197c - abstracted away more OpenGL calls, in particular all matrix access. 2019-10-04 18:12:03 +02:00
Christoph Oelckers 1ff8ea6a19 - added matrix class for moving the GL matrix manipulation out of the engine code. 2019-10-04 01:41:57 +02:00
Christoph Oelckers 471f720d95 - consolidated console clear functions. 2019-10-04 01:25:10 +02:00
Christoph Oelckers ebbe1803bb - made the game selector configurable (It's still Windows only...) 2019-10-04 00:26:13 +02:00
nukeykt 528e7f8320 More meaningful names for build object struct members 2019-09-30 20:31:11 +02:00
nukeykt 61b4fae6e0 Simplify voxel rotation handling
# Conflicts:
#	source/build/include/mdsprite.h
2019-09-30 20:31:09 +02:00
Christoph Oelckers 7fd395b5d7 - removed some legacy demo stuff from RedNukem backend. 2019-09-26 00:19:49 +02:00
nukeykt c815e1c246 Minor sorting fix 2019-09-25 23:15:45 +02:00
nukeykt 9deb486626 Second attempt to fix polymost sprite sorting issue 2019-09-25 23:15:44 +02:00
Christoph Oelckers d12563f644 - got rid of klzw and the legacy demo code along with it. 2019-09-25 23:12:29 +02:00
Christoph Oelckers 0261fef4a8 - removed some unused files. 2019-09-25 23:00:10 +02:00
Christoph Oelckers 18b1ca287e - moved the platform specific files out of the Build folder, mainly to get them out of the way. 2019-09-25 22:43:06 +02:00
Christoph Oelckers cd920299d0 - moved winbits.cpp to the platform folder and cleaned out unused parts. 2019-09-25 22:38:47 +02:00
Christoph Oelckers ad4527c8be - initialize the GL backend in the proper place.
As long as there are still video mode switches this needs to be in the video mode switching function.
2019-09-23 23:33:59 +02:00
Christoph Oelckers a5441061e9 - always save the entire config.
It is a major hassle if values cannot be looked up and then change when switching between branches etc.
2019-09-23 21:27:23 +02:00
Christoph Oelckers 330c80246e - added ZDoom's FArgs class for easier command line checking. 2019-09-23 19:29:25 +02:00
Christoph Oelckers 37907ddd06 - startup hacks.
Unfortunately nothing of this can be fixed before the resource management has been refactored from the ground up. Sp for now this ugliness needs to suffice.
2019-09-23 18:17:36 +02:00
nukeykt 895fb719d9 blooddemohack -> enginecompatibility_mode 2019-09-23 01:30:07 +02:00
Christoph Oelckers 527d99008b - fixed the setup.
Renamed all elements still referring to zdoom.
removed the frontend specific resource data.
fixed startup dialog to accept ANSI date despite building as Unicode. This needed a bit of hackery because the macros in windowsx.h are not character set sensitive.
2019-09-23 01:28:18 +02:00
Christoph Oelckers 2cbe211e7c - transitioned project to CMake and deleted most of the old build system.
The EDuke32 and RedNukem frontends are working, Blood isn't yet.

Notes:

many of the CMake variables and its output still refer to zdoom. Before changing that I wanted to make sure to be able to commit something that works.
support code for Windows XP has been entirely removed. On Windows this will only target Vista and up.
the crc32.h header had to be renamed to deconflict from zlib.
several Windows API calls were changed to call the A-versions directly. Weirdly enough there were places that defined their parameters as T types but in a non-working way.
removed some remaining editor files and support for the native software rendering only Windows backend.
in a few simple cases, replaced 'char' with 'uint8_t'. The code as-is depends on chars being unsigned which is non-portable. This needs to be carefully reviewed.
2019-09-22 23:15:46 +02:00
Christoph Oelckers 0d98e7f256 - put all Blood game code into a namespace. 2019-09-22 08:39:22 +02:00
Christoph Oelckers 2dc051f7cf - put RedNukem game frontend into a namespace. 2019-09-22 00:10:48 +02:00
Christoph Oelckers 401a645ea1 - added a temorary requester to allow choosing the game until the code has been sufficiently refactored to do this in the startup dialog. 2019-09-21 23:45:57 +02:00
Christoph Oelckers 55a879fcc0 - put EDuke frontend source into a namespace.
This commit does not work yet!
2019-09-21 22:53:00 +02:00
Christoph Oelckers 30c47a8511 - include namespace file in all sources as the very first include. 2019-09-21 20:59:54 +02:00
Christoph Oelckers 5050716bc0 - removed most extern "C" from the rest of the code base. 2019-09-21 20:14:34 +02:00
Christoph Oelckers a2b429ffe0 - removed unused declaration. 2019-09-21 13:16:02 +02:00
Christoph Oelckers 998ac01157 - manual merge of all NBlood changes that couldn't get cherry picked. 2019-09-21 13:02:17 +02:00
nukeykt 81f78c24b7 Implement rotate parameter for voxel definitions
# Conflicts:
#	source/build/include/build.h
#	source/build/include/mdsprite.h
#	source/build/src/defs.cpp
2019-09-21 11:43:50 +02:00
nukeykt 90b005a44a Fix mouse centering in menu 2019-09-21 11:40:44 +02:00
nukeykt 78a3240c3e Fix flat sky y offset 2019-09-21 10:51:47 +02:00
nukeykt 68c7b8c402 Compile fix
# Conflicts:
#	source/build/include/build.h
2019-09-21 10:38:26 +02:00
nukeykt d3994b0801 Revise polymost HOM issue workaround in Duke's E1L1. Add code to remove very thin spans.
This commit does not gain noticeable rendering performance, but at least should prevent weird polygon leakages
2019-09-21 10:31:34 +02:00
nukeykt 935084ae52 More hacks to emulate old clipping
# Conflicts:
#	source/build/src/clip.cpp
2019-09-21 10:28:10 +02:00
nukeykt af2106c9d0 Finally Duke's DEMO1 is sync 2019-09-21 10:27:59 +02:00
nukeykt 05749679a8 I think this is enough 2019-09-21 10:27:59 +02:00
nukeykt 1aab7601df Add old lintersect implementation 2019-09-21 10:27:58 +02:00
nukeykt 5c099bea05 Start adding old collision code for demo compatibility.
DEMO2 and DEMO3 of Duke3D are sync again

# Conflicts:
#	source/build/src/clip.cpp
2019-09-21 10:27:58 +02:00
nukeykt e6ffc816c9 Fix blood crash
# Conflicts:
#	source/build/src/engine.cpp
2019-09-21 10:24:13 +02:00
nukeykt a90711f328 Add extra field to tilefromtexture
# Conflicts:
#	source/build/src/defs.cpp
2019-09-21 10:20:43 +02:00
nukeykt 14401ca694 Fix TROR NULL texture 2019-09-21 10:11:03 +02:00
nukeykt 107a630883 Add TROR rendering
# Conflicts:
#	source/blood/src/mapedit.cpp
#	source/build/include/editor.h
#	source/build/include/polymer.h
#	source/build/src/build.cpp
#	source/build/src/polymer.cpp
2019-09-21 10:11:02 +02:00
nukeykt 1fe344d273 Free cstat bit 14
# Conflicts:
#	source/blood/src/mapedit.cpp
#	source/build/src/build.cpp
#	source/build/src/engine.cpp
#	source/duke3d/src/astub.cpp
2019-09-21 10:10:15 +02:00
nukeykt 858da4351c Semi-working map save 2019-09-21 10:08:04 +02:00
nukeykt 140174d1ee Minor tweaks
# Conflicts:
#	source/blood/src/m32common.cpp
#	source/blood/src/mapedit.cpp
2019-09-21 10:08:04 +02:00
nukeykt 2867131c86 Add ability to load blood maps
# Conflicts:
#	platform/Windows/nmapedit.vcxproj
#	platform/Windows/nmapedit.vcxproj.filters
#	source/blood/src/mapedit.cpp
#	source/build/src/build.cpp
#	source/build/src/engine.cpp
2019-09-21 10:06:57 +02:00
nukeykt 8fd6e0e183 TROR related tweaks
# Conflicts:
#	source/blood/src/mirrors.cpp
2019-09-21 09:59:58 +02:00