Commit graph

2241 commits

Author SHA1 Message Date
Christoph Oelckers
0dfe99356d - stripped most of the image processing code from kplib, because it's not needed anymore - and also not salvageable for any refactoring. 2019-10-05 22:32:32 +02:00
Christoph Oelckers
93ad83b380 - use GZDoom's texture backend to read hightile textures. (Hightile tinting code moved to the shader but isn't active yet.
- remove all code for faking gamma correction through palette manipulated images.
2019-10-05 21:59:03 +02:00
Christoph Oelckers
cd0dabf2ae - this was missing 2019-10-05 19:39:41 +02:00
Christoph Oelckers
1a5e64329f - added stripped down versions of GZDoom's texture classes
We need something more manageable to deal with the textures - and the hightile code in particular needs a better backend to read the images.
2019-10-05 19:38:25 +02:00
Christoph Oelckers
bedfc262c4 - added a FileReader wrapper for kopen4load.
Needed when transitioning the hightile loader to GZDoom's texture loader.
2019-10-05 17:30:23 +02:00
Christoph Oelckers
3fb5154dc9 - make it work again. 2019-10-05 14:17:59 +02:00
Christoph Oelckers
f99492d6d5 - removed OpenGL headers from non-backend files. 2019-10-05 13:57:26 +02:00
Christoph Oelckers
3c193bb243 - moved the animvpx shader to the backend code.
This removes the final access to OpenGL from the rest of the source, with the exception of the glFinish call in the swap code.
2019-10-05 13:38:02 +02:00
Christoph Oelckers
0ee80628a2 - moved documentation out of the Source folder and added surface shader sources. 2019-10-05 13:17:26 +02:00
Christoph Oelckers
b83349fe6b - moved the surface shader to the backend and the shader source to the resource file. 2019-10-05 13:09:15 +02:00
Christoph Oelckers
644b07b718 - minor fixes. 2019-10-05 12:39:50 +02:00
Christoph Oelckers
bd4e4834e3 - moved the main shader and its entire uniform maintenance into the backend. 2019-10-05 12:28:08 +02:00
Christoph Oelckers
50c2065425 - removed miniz which is no longer in use. 2019-10-05 08:47:12 +02:00
Christoph Oelckers
d058084c10 - added an engine resource file.
Currently this only contains the main Polymost shaders and the resources from nblood.pk3.
The latter cannot be used yet because the Build resource management system is too stubborn to add the newly added file without some changes.
It's better to refactor the entire system instead.
2019-10-04 23:29:00 +02:00
Christoph Oelckers
ae1e090716 - all non-shader related GL calls are gone from the main code base. 2019-10-04 21:13:04 +02:00
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
a86f1ffd4f - make it compile again. 2019-10-04 17:36:37 +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
63a733b934 - Project file for last commit. 2019-10-04 00:52:48 +02:00
Christoph Oelckers
c5c92c1410 - removed the ZDoom CVAR code because it won't be needed and added its Zip file reader to maintain an engine file with needed assets.
The Build code for this is far too messy for this task, so an external solution is needed.
2019-10-04 00:52:19 +02:00
Christoph Oelckers
ebbe1803bb - made the game selector configurable (It's still Windows only...) 2019-10-04 00:26:13 +02:00
nukeykt
61f8b8c2d6 Hopefully fix map reloading 2019-09-30 20:31:12 +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
nukeykt
c00ff59579 Fix enemy respawning. Verified in disassembly 2019-09-30 20:30:57 +02:00
nukeykt
0d2567a808 Backport "bind showkeys" osdcmd crash fix from eduke32 2019-09-30 20:30:56 +02:00
CommonLoon102
ce61c38660 Fixing annoying item use after save game (#192) 2019-09-30 20:30:54 +02:00
Christoph Oelckers
5687b4c02e - added ZDoom's CVAR class.
No CVar transition has been done yet.
2019-09-26 00:20:16 +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
nukeykt
402d9b8f02 long -> int 2019-09-25 23:15:43 +02:00
CommonLoon102
216ce4da9b Reverb effect deactivate bugfix (#190) 2019-09-25 23:15:41 +02:00
nukeykt
b1713d7e67 Add quickload/save osdcmd 2019-09-25 23:15:40 +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
568f01792f - added ZDoom's configfile class. 2019-09-23 21:06:52 +02:00
Christoph Oelckers
86534c8a43 - more utilities, most importantly ZString without which it would be hard to use any ZDoom-based code at all. 2019-09-23 20:56:05 +02:00
Christoph Oelckers
034ce097c5 - added more utilities from GZDoom - TArray/TMap and FileReader. 2019-09-23 19:52:25 +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
Christoph Oelckers
07e38f3d12 - made enet a separate library. 2019-09-23 08:40:02 +02:00
nukeykt
895fb719d9 blooddemohack -> enginecompatibility_mode 2019-09-23 01:30:07 +02:00
CommonLoon102
c2e8cc6607 Do not target teammates (#187) 2019-09-23 01:30:06 +02:00
nukeykt
a9fcee742d RFS parser wip 2019-09-23 01:30:05 +02:00
CommonLoon102
3aa0ce5c3a Maphack support (#186)
# Conflicts:
#	.gitignore
2019-09-23 01:30:04 +02:00
CommonLoon102
67472623fe Friendly fire related fixes (#184) 2019-09-23 01:29:43 +02:00
CommonLoon102
d19e74b31a Added V1.0x WEAPONS BALANCE multiplayer setting (#185) 2019-09-23 01:29:42 +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
f49284d47c - made Blood start again by commenting out the fade functions which somehow broke during the CMake transition. 2019-09-22 23:55:45 +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
92fa2cc030 - removed Mapster launcher images. 2019-09-21 20:28:55 +02:00
Christoph Oelckers
7721ed31c0 - removed Lunatic remains.
This looks as dead as it could be, so away it goes.
2019-09-21 20:27:29 +02:00
Christoph Oelckers
639d1fb4d3 - we do not want to build an editor here. 2019-09-21 20:24:11 +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
5855886a5f - removed extern "C" from rr and blood folders. 2019-09-21 19:57:41 +02:00
Christoph Oelckers
15f5a35fd8 - removed all extern "C" from EDuke32 folder, plus some other dead code I noticed. 2019-09-21 19:38:38 +02:00
Christoph Oelckers
71b332459b - removed Android and Mapster headers plus raw EDuke assets in Blood folder. 2019-09-21 19:30:20 +02:00
Alexey Khokholov
ac8d31e39f Oof, really silly typo 2019-09-21 13:17:01 +02:00
CommonLoon102
93fde9ba43 Fix coop frag count (#183) 2019-09-21 13:17:01 +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
CommonLoon102
bc3d2e9aec Fix MSVC compilation (#181) 2019-09-21 11:48:35 +02:00
CommonLoon102
247655a3d7 Don't send or display chat messages which are whitespace only (#180) 2019-09-21 11:48:14 +02:00
CommonLoon102
c0b3e6f99f Don't allow the mouse to steal the focus when typing a save game name (#178) 2019-09-21 11:47:54 +02:00
CommonLoon102
edc6e2c0f7 Friendly fire and keep keys settings for multiplayer (#177)
# Conflicts:
#	source/blood/src/levels.h
#	source/blood/src/network.h
2019-09-21 11:47:54 +02:00
CommonLoon102
56365d65ce Don't show team flags and scores when no HUD is displayed (#176)
# Conflicts:
#	.gitignore
2019-09-21 11:47:40 +02:00
Jan200101
a28119ae30 Fix Linux compilation
- replaced stricmp with strcasecmp and strncasecmp
https://linux.die.net/man/3/strcasecmp

- replaced all Microsoft specific types with standard ones

- replaced all instances of MAX_PATH with BMAX_PATH
2019-09-21 11:47:14 +02:00
CommonLoon102
13a1861c8d Show messages by priority (#175)
# Conflicts:
#	source/blood/src/triggers.cpp
2019-09-21 11:46:54 +02:00
nukeykt
b13bdf50be RFS parser wip
# Conflicts:
#	.gitignore
#	platform/Windows/nblood.vcxproj.filters
2019-09-21 11:46:37 +02:00
CommonLoon102
9be59caef8 Colorful view messages (#173) 2019-09-21 11:45:13 +02:00
CommonLoon102
16e1b39fb3 CTF HUD fixes (#172) 2019-09-21 11:45:12 +02:00
CommonLoon102
61e40bad66 Fix the goonies cheat code and the kGDXItemMapLevel powerup (#171) 2019-09-21 11:44:59 +02:00
CommonLoon102
160c93f0ab Multiplayer suicide message was empty string (#170)
# Conflicts:
#	.gitignore
2019-09-21 11:44:59 +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
433fd62de5 Purge resource manager cache on level load 2019-09-21 11:41:26 +02:00
nukeykt
3f42df45fd Fix memory issues in resource manager 2019-09-21 11:41:26 +02:00
nukeykt
c91a85a353 Use C++ heap for resource manager
# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/mapedit.cpp
2019-09-21 11:41:25 +02:00
CommonLoon102
55de5230ca New HUD for CTF (#167)
# Conflicts:
#	source/blood/src/blood.cpp
2019-09-21 11:40:59 +02:00
nukeykt
4527da61a2 Ignore dosbox specific command line options 2019-09-21 11:40:44 +02:00
nukeykt
5a93d301b6 minor changes 2019-09-21 11:40:44 +02:00
nukeykt
90b005a44a Fix mouse centering in menu 2019-09-21 11:40:44 +02:00
CommonLoon102
3fbb171990 Powerup counter color (#166) 2019-09-21 11:40:43 +02:00
CommonLoon102
4423164ca5 More smooth fadeout for the map title. (#165) 2019-09-21 11:40:43 +02:00
nukeykt
996dfde6d0 Fix compile errors, backport input code for RR
# Conflicts:
#	platform/Windows/voidsw.vcxproj
#	source/blood/src/controls.cpp
#	source/blood/src/m32common.cpp
#	source/rr/src/actors.cpp
#	source/rr/src/anim.cpp
#	source/rr/src/demo.cpp
#	source/rr/src/game.cpp
#	source/rr/src/gameexec.cpp
#	source/rr/src/global.h
#	source/rr/src/menus.cpp
#	source/rr/src/menus.h
#	source/rr/src/net.cpp
#	source/rr/src/player.cpp
#	source/rr/src/premap.cpp
#	source/rr/src/savegame.cpp
#	source/rr/src/sbar.cpp
#	source/rr/src/screens.cpp
#	source/rr/src/sector.cpp
2019-09-21 11:39:19 +02:00
nukeykt
f6cd86d77e Simplify map title rendering code and enable alpha for classic renderer 2019-09-21 10:54:54 +02:00
Alexey Khokholov
2b443c2eac Account for 16384 sprites for sprite owner value 2019-09-21 10:54:13 +02:00
nukeykt
8b0fb8dfe2 Fix invisible player on mirror 2019-09-21 10:53:27 +02:00
CommonLoon102
e8337c783e Don't change item selection with mouse while scanning for new key bind (#159)
# Conflicts:
#	.gitignore
2019-09-21 10:53:17 +02:00
nukeykt
d6d8762400 Seamless ROR transition 2019-09-21 10:51:48 +02:00
nukeykt
ddf02bda17 Fix GetZRange regression 2019-09-21 10:51:47 +02:00
nukeykt
78a3240c3e Fix flat sky y offset 2019-09-21 10:51:47 +02:00
nukeykt
7a9209d857 Fix compile error
# Conflicts:
#	source/blood/src/ai.cpp
#	source/blood/src/aiunicult.cpp
#	source/blood/src/blood.cpp
#	source/blood/src/choke.cpp
#	source/blood/src/credits.cpp
#	source/blood/src/gamemenu.cpp
#	source/blood/src/gamemenu.h
#	source/blood/src/gui.cpp
#	source/blood/src/mapedit.cpp
#	source/blood/src/replace.cpp
2019-09-21 10:51:29 +02:00
CommonLoon102
9715b2281a extra can be -1 then pointer will point to random (#145) 2019-09-21 10:46:24 +02:00
CommonLoon102
44bcd26fab fix endgame credits listing (#140)
# Conflicts:
#	.gitignore
2019-09-21 10:46:12 +02:00
nukeykt
38f2fd209f Use fixed point number for XSPRITE scaling 2019-09-21 10:44:14 +02:00
nukeykt
0dcca3583f Backport frame limiter (again)
# Conflicts:
#	source/rr/src/game.cpp
2019-09-21 10:43:45 +02:00
nukeykt
99775a8fe0 Add surface type enum 2019-09-21 10:43:26 +02:00
nukeykt
316ddb1fb5 Mouse quick fix
# Conflicts:
#	source/blood/src/controls.cpp
2019-09-21 10:43:26 +02:00
nukeykt
fbd3bdb665 Backport new FPS limiter
# Conflicts:
#	source/rr/src/game.cpp
2019-09-21 10:40:54 +02:00
nukeykt
f87f38b8f0 Always load widescreen def file 2019-09-21 10:40:19 +02:00
nukeykt
0a74187512 Add blood specific parameters to tilefromtexture 2019-09-21 10:40:18 +02:00
nukeykt
f6ce571075 Fix improper callback id in FlareBurst.
Thanks to NoOne for report
2019-09-21 10:38: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
e999e2058c Do not mess up random seed in seq/qav 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
3458a88f8e Backport framelimitter fix
# Conflicts:
#	source/rr/src/demo.cpp
#	source/rr/src/game.cpp
#	source/rr/src/net.cpp
#	source/rr/src/screens.cpp
2019-09-21 10:26:47 +02:00
nukeykt
6fea4bf527 Fix compilation on linux 2019-09-21 10:24:13 +02:00
nukeykt
e6ffc816c9 Fix blood crash
# Conflicts:
#	source/build/src/engine.cpp
2019-09-21 10:24:13 +02:00
nukeykt
6c08ae1966 Fix 16-bit audio mixing 2019-09-21 10:21:27 +02:00
nukeykt
2762044313 Fix interpolation bitmap OOB issue 2019-09-21 10:21:26 +02:00
nukeykt
065cf13945 Fix in CanMove 2019-09-21 10:20:54 +02:00
nukeykt
a90711f328 Add extra field to tilefromtexture
# Conflicts:
#	source/build/src/defs.cpp
2019-09-21 10:20:43 +02:00
nukeykt
ce43103ae9 Use engine's cstat defines
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-09-21 10:18:24 +02:00
nukeykt
9c5cbd6308 Delete pqueue.cpp 2019-09-21 10:18:20 +02:00
nukeykt
1561ffae9e make PriorityQueue template class, and extend index field in EVENT struct 2019-09-21 10:17:04 +02:00
nukeykt
e4174d4f2d Extend xobject reference field size to fit 16384 sprites/walls 2019-09-21 10:16:53 +02:00
Grind Core
dd79c66f20 Changes in adjustSprites
# Conflicts:
#	source/blood/src/mapedit.cpp
#	source/build/src/2d.cpp
2019-09-21 10:15:58 +02:00
nukeykt
599f086fd9 Xobjects editor wip
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-09-21 10:13:02 +02:00
nukeykt
14401ca694 Fix TROR NULL texture 2019-09-21 10:11:03 +02:00
nukeykt
2f49b549df Oops 2019-09-21 10:11:02 +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
db5c628b34 Fix silly error with yax stuff 2019-09-21 10:07:11 +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
57e9ff2fbc Move stuff around
# Conflicts:
#	platform/Windows/nmapedit.vcxproj
#	platform/Windows/nmapedit.vcxproj.filters
#	source/blood/src/config.cpp
#	source/blood/src/config.h
#	source/blood/src/mapedit.cpp
#	source/blood/src/screen.cpp
#	source/blood/src/screen.h
2019-09-21 10:05:26 +02:00
nukeykt
381f5dcac2 Increase build objects count max size
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-09-21 10:04:03 +02:00
nukeykt
4e0a563cfe Add macros.h 2019-09-21 10:03:34 +02:00
nukeykt
afff9ce61f wip
# Conflicts:
#	platform/Windows/nmapedit.vcxproj
#	platform/Windows/nmapedit.vcxproj.filters
#	source/blood/src/blood.cpp
#	source/blood/src/blood.h
#	source/blood/src/gui.cpp
#	source/blood/src/m32def.cpp
#	source/blood/src/m32def.h
#	source/blood/src/m32exec.cpp
#	source/blood/src/mapedit.cpp
2019-09-21 10:02:46 +02:00
nukeykt
8fd6e0e183 TROR related tweaks
# Conflicts:
#	source/blood/src/mirrors.cpp
2019-09-21 09:59:58 +02:00