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
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
8e87674d4c
- backend code matching with GZDoom
2020-04-12 08:30:40 +02:00
Christoph Oelckers
6ef93ba514
- match cmdlib.cpp/.h with GZDoom.
2020-04-12 08:30:36 +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
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
f59bfa1224
- consolidation of screentext code
2020-03-05 00:58:38 +01:00
Christoph Oelckers
348325c879
- removed some editor-only code from engine.cpp
2020-03-01 19:12:18 +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
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
eac1007c56
- automap color fix.
2020-01-30 22:05:18 +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
Christoph Oelckers
1f5f7c63fe
- rewrite of tileCopySection
2020-01-28 12:42:17 +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
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
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
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
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
nukeykt
a3b48c44d6
Blood: fix multiskies with 16 tiles in polymer
...
# Conflicts:
# source/build/src/polymer.cpp
2020-01-02 20:19:08 +01:00
Christoph Oelckers
964e303dd7
- draw the textures on the automap with the 2D drawer.
2019-12-31 15:05:08 +01:00
hendricks266
456d975392
Make the Polymode cstat bits Duke-only by translating them to tspr->clipdist
...
git-svn-id: https://svn.eduke32.com/eduke32@8523 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/duke3d/src/astub.cpp
# source/duke3d/src/common_game.h
# Conflicts:
# source/duke3d/src/common_game.h
2019-12-29 22:23:18 +01:00
hendricks266
6a5906833b
Move TSPR_EXTRA_MDHACK from extra to clipdist
...
git-svn-id: https://svn.eduke32.com/eduke32@8522 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/mdsprite.cpp
# source/build/src/polymer.cpp
2019-12-29 22:22:20 +01:00
hendricks266
6465feb438
Refactor tsprite creation into renderAddTSpriteFromSprite
...
git-svn-id: https://svn.eduke32.com/eduke32@8521 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/duke3d/src/m32exec.cpp
2019-12-29 22:22:19 +01:00
hendricks266
422601bc82
Make tspritetype its own distinct struct
...
git-svn-id: https://svn.eduke32.com/eduke32@8520 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-29 22:22:19 +01:00
Christoph Oelckers
6dc064a178
- another unused one.
2019-12-29 17:13:12 +01:00
Christoph Oelckers
cc332486b4
- cleaned out the 2D drawing code.
...
With the new backend there will always be just one page, never more, so the RS_PERMS case will never be entered.
In addition, since the software renderer has already been nonfunctional due to lacking support from the 2D drawer, its 2D components have also been removed. Its main remaining purpose, drawing camera textures, remains unaffected by this.
2019-12-29 15:46:48 +01:00
hendricks266
8e6a54a1e4
Mostly clean up the codebase in preparation for tspritetype != uspritetype
...
Remaining exceptions:
SW - ConnectCopySprite
CON and M32Script - pSprite/pUSprite
git-svn-id: https://svn.eduke32.com/eduke32@8519 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymer.h
# source/build/src/engine.cpp
# source/build/src/engine_priv.h
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
# source/duke3d/src/astub.cpp
# source/duke3d/src/game.h
# source/duke3d/src/m32common.cpp
# source/duke3d/src/m32exec.cpp
# source/duke3d/src/m32structures.cpp
# source/kenbuild/src/bstub.cpp
# source/kenbuild/src/game.cpp
# source/sw/src/jnstub.cpp
# source/sw/src/jsector.cpp
2019-12-26 08:58:25 +01:00
Christoph Oelckers
745d78d8d7
- fixed voxels leaking memory.
2019-12-25 08:57:58 +01:00
Christoph Oelckers
5bd32cf769
- fixed: Voxel setup code wasn't called anymore.
2019-12-25 00:30:13 +01:00
Christoph Oelckers
2820dc85a8
- plugged more memory leaks.
...
I can now start the first Duke Nukem level, exit with Alt-F4 and no leaked memory blocks get reported.
2019-12-24 18:53:29 +01:00
Christoph Oelckers
0d908960ed
- started fixing memory leaks: Console and clip shapes done.
2019-12-24 16:09:43 +01:00
Christoph Oelckers
141887263d
- header cleanup
2019-12-23 21:19:42 +01:00
Christoph Oelckers
9ab8a8c737
- refactored the coordinate printout to a stat and removed printext256 and the associated font.
2019-12-23 20:55:12 +01:00
Christoph Oelckers
62ecedf1f8
- got it to the point where it can render to the GL surface from the native backend.
2019-12-23 19:37:40 +01:00
hendricks266
34ef03185d
Generate editorcolors[] from vgapal16[] at a better point in the startup process
...
git-svn-id: https://svn.eduke32.com/eduke32@8490 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/palette.cpp
2019-12-23 11:36:24 +01:00
hendricks266
deec38c827
Expose nextvoxid variable
...
This allows game and defs to not overwrite each other's voxels.
git-svn-id: https://svn.eduke32.com/eduke32@8471 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/kenbuild/src/bstub.cpp
# source/kenbuild/src/game.cpp
# source/sw/src/bldscript.cpp
# source/sw/src/jnstub.cpp
2019-12-22 15:12:49 +01:00
Christoph Oelckers
43c66d07ae
Merge branch 'master' into sound
2019-12-18 11:23:20 +01:00
hendricks266
5f748fc17e
Expose hitscangoal variable
...
Backported from NBlood.
git-svn-id: https://svn.eduke32.com/eduke32@8439 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-18 11:15:22 +01:00
hendricks266
6eec629cfd
Expose blackcol variable, containing the palette index closest to #000000
...
Backported from PCExhumed.
git-svn-id: https://svn.eduke32.com/eduke32@8433 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-18 11:13:00 +01:00
Christoph Oelckers
a7075bc1b0
- SW sound WIP
...
* removed old sound loading code, which was the last bit to use cacheAllocateBlock which is also gone now.
* cleanup of player sound code. All game side tracking of the sound resources has been removed.
does not compile yet.
2019-12-17 23:25:07 +01:00
terminx
cbfb675577
Shitcan the few uses of the bool type in the VM after reading some things and dicking around on godbolt.org
...
git-svn-id: https://svn.eduke32.com/eduke32@8366 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/duke3d/src/gameexec.cpp
# source/duke3d/src/gameexec.h
2019-12-08 07:56:50 +01:00
Christoph Oelckers
299f596afc
- Changed EDuke menu to receive all settings storage locations as CVARs.
...
With this out of the way the only part that needs a real replacement immediately is the keybinds menu.
2019-11-09 19:15:03 +01:00
Christoph Oelckers
9aa275f996
- got rid of some editor-only code and the entire buildvfs header
...
Nearly all file write access now uses the FileWriter class, which is UTF-8-safe on all platforms - unlike stdio.
2019-11-08 02:02:54 +01:00
Christoph Oelckers
e4735fdff1
- dead code removal.
2019-11-07 00:49:19 +01:00
Christoph Oelckers
29b7e1cf79
- moved all mouse button handling to the input state
...
Yet again an unbelievable piece of code working around how input works on modern systems to keep the old 90's code alive.
2019-11-04 01:01:54 +01:00
Christoph Oelckers
250fa0b847
- consolidation of exit and quit CCMDs.
2019-11-03 13:31:03 +01:00
Christoph Oelckers
8fb54b51c3
- rewrote the screenshot code to use m_png as its backend.
...
Mainly to finally get rid of kplib. There's really no use to keep such code around if alternatives are already present.
2019-11-02 12:59:59 +01:00
Christoph Oelckers
2d7c0e26d2
- cleanup of the old file system initialization.
...
The real fun part is yet to come, i.e. removing the remaining dependencies on the old file system code.
2019-11-01 19:25:42 +01:00
Christoph Oelckers
c0d5ca8ab8
- Config work almost done.
...
The only thing still referencing the old config file is Shadow Warrior's config read function.
2019-10-27 13:40:24 +01:00
Christoph Oelckers
20df360778
- converted the Polymost CVARs.
2019-10-23 21:11:37 +02:00
Szilárd Biró
c419fae31b
Fix compiling without OpenGL
2019-10-23 18:37:56 +02:00
Christoph Oelckers
63f020996e
- a few more CVARs
2019-10-23 01:30:43 +02:00
Christoph Oelckers
cd7bbe35a8
- removed all legacy fog code.
2019-10-19 15:52:46 +02:00
Christoph Oelckers
1426ebec20
Moved hightile replacement data into the textures
...
Not tested yet!
2019-10-17 12:45:25 +02:00
Christoph Oelckers
4f8e0dd936
- cleaned up a few copyright notices and unified licenses
2019-10-17 09:42:11 +02:00
Christoph Oelckers
0aa5db7969
- project rework to shorten compile times.
...
* subprojects fpr game frontends added and unsigned char option put into global flags.
2019-10-16 23:09:02 +02:00
Christoph Oelckers
64e116a4b1
- use special classes with [] operators to redirect the frequently used global arrays to the newly implemented texture manager.
...
This allows to use the contained storage without changing all the code.
2019-10-16 20:39:59 +02:00
Christoph Oelckers
4dc69620b7
- cleanup
2019-10-15 23:56:29 +02:00
Christoph Oelckers
57c221644a
- transitioned all texture options of the def file
2019-10-15 23:38:01 +02:00
Christoph Oelckers
bb78db71bc
- tileDelete / tileSetDummy
2019-10-15 23:29:47 +02:00
Christoph Oelckers
9a52e8039c
- rerouted tileCreate and tileSetExternal calls.
2019-10-15 23:18:52 +02:00
Christoph Oelckers
c3bc690e98
- more updating and bug in UpdatePicSize fixed.
2019-10-15 20:02:37 +02:00
Christoph Oelckers
0e165e40a3
- first batch of adjustments to the new tile management.
...
- consolidated Polymost precaching and removed precaching for static tiles because they now are always loaded.
- removed cache configurability. On modern systems this is relatively pointless - allocating 50 or 100 MB is a non-issue - and the cache is due for replacement anyway.
2019-10-15 00:54:14 +02:00
Christoph Oelckers
039d948991
- update of new texture classes.
2019-10-14 23:11:01 +02:00
Christoph Oelckers
a6ba81939a
- reworked texture management, not yet active.
2019-10-12 22:49:46 +02:00
Christoph Oelckers
fbc22e0125
- sanitized walock.
...
Sorry, but having a globally writable pointer to every texture is just insane and makes any functional management impossible.
This is merely a preparation for adding a real texture manager. That cannot be done if any code can write over the data at will. For that, it now has to make the texture writable first or create a writable empty texture.
2019-10-11 23:31:59 +02:00
Christoph Oelckers
3621aae3f0
- rerouted all write accesses to tilesiz and picsiz through a function interface.
...
These will have to do some texture management bookkeeping so directly changing the values is problematic.
This required changing the parameter interface in polymost.cpp because a few places hacked around with the global state to pass parameters to subfunctions.
2019-10-11 21:04:31 +02:00
Christoph Oelckers
14b21bab7a
- merged playing_blood and bloodhack variables because they did the same thing.
...
The only difference was that bloodhack came from NBlood and playing_blood was added for unhandled differences between the backends of EDuke32 and NBlood.
2019-10-11 00:34:27 +02:00
Christoph Oelckers
fbc7e626e9
- removed the fullbright render pass, because this is better set up as a shader option.
...
- also removed the legacy fog modes because their implementation did not mix well with the texture system - they are also not really useful to begin with.
The last fog mode will most likely also be removed once true color shading is working but that one is less of an issue.
2019-10-10 21:05:10 +02:00
Christoph Oelckers
93f9303c62
- minor reorganization of tiles.
2019-10-08 19:46:39 +02:00
Christoph Oelckers
d1a7c4225d
- added a texture class for ART-format hightiles.
...
This allows to treat them like all other image formats.
2019-10-05 23:44:28 +02:00
Christoph Oelckers
f99492d6d5
- removed OpenGL headers from non-backend files.
2019-10-05 13:57:26 +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
96c0c3197c
- abstracted away more OpenGL calls, in particular all matrix access.
2019-10-04 18:12:03 +02:00
Christoph Oelckers
0261fef4a8
- removed some unused files.
2019-09-25 23:00:10 +02:00
nukeykt
895fb719d9
blooddemohack -> enginecompatibility_mode
2019-09-23 01:30:07 +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
55a879fcc0
- put EDuke frontend source into a namespace.
...
This commit does not work yet!
2019-09-21 22:53:00 +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
68c7b8c402
Compile fix
...
# Conflicts:
# source/build/include/build.h
2019-09-21 10:38:26 +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
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
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
terminx
3e4f2de79a
Add yax_getzsofslope(), based on getzsofslope_player()
...
git-svn-id: https://svn.eduke32.com/eduke32@8109 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:17 +02:00
terminx
aa8ce8d42a
Fix USE_OPENGL=0 builds
...
git-svn-id: https://svn.eduke32.com/eduke32@8082 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:57 +02:00