Commit graph

576 commits

Author SHA1 Message Date
Christoph Oelckers
cfed7afd02 - all source compile now on macOS 2020-01-08 01:00:57 +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
Evan Ramos
1caabf2e7b Add Blood-specific synonyms for tspritetype members 2020-01-03 08:05:43 +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
e01c161258 - removed some dead variables. 2020-01-01 13:11:44 +01:00
Christoph Oelckers
18099e9179 - removed the pure software render surface and deleted a few unused variables.
With all the 2D refactorings thhe softsurface won't work anymore.
This also revealed a bug with the fullscreen variable, a few places were still using the old one from the SDL backend.
2020-01-01 12:36:48 +01:00
Christoph Oelckers
bcb48d8441 - added handling for changing the screen size (dragging the window borders / change scale factor) 2020-01-01 09:49:06 +01:00
Christoph Oelckers
1890df98f9 - process lines through the 2D drawer. 2019-12-31 19:02:55 +01:00
Christoph Oelckers
964e303dd7 - draw the textures on the automap with the 2D drawer. 2019-12-31 15:05:08 +01:00
Christoph Oelckers
7ea053bd90 - reconnected the HUD model drawer.
This will have to be done differently later when the postprocessor is fully working, but for now it's sufficient to just render the model right away.
2019-12-30 20:16:51 +01:00
Christoph Oelckers
6459f4e532 - refactored rotatesprite to really use the 2D drawer.
Mostly working, except clipping and weapon sprites.
2019-12-30 19:37:23 +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
3a6d0b8f84 - more cleanup. 2019-12-29 17:04:38 +01:00
Christoph Oelckers
2e261a7468 - cleanup and removal of unused code.
compat.h probably needs a bit more attention, it's a horrendous mess of the wrong type of "compatibility" concerns.
2019-12-29 16:35:51 +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
Christoph Oelckers
6373b75d22 Merge branch 'master' into powerslave
# Conflicts:
#	source/common/gamecontrol.cpp
#	source/common/version.h
#	wadsrc/static/engine/grpinfo.txt
2019-12-26 14:46:14 +01:00
Christoph Oelckers
d473f9c590 - replaced all uses of Bfree with Xfree so they are subjected to debug instrumentation, uses FStrings in a few cases where it made sense.
- fixed: Sound channels weren't freed.
2019-12-26 14:43:44 +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
hendricks266
91cbaa1491 Add information to cstat enums
git-svn-id: https://svn.eduke32.com/eduke32@8518 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-26 08:49:42 +01:00
Christoph Oelckers
1a8f11e01d Merge branch 'master' into powerslave
# Conflicts:
#	source/build/src/sdlayer.cpp
#	source/common/menu/menu.cpp
#	source/sw/src/config.cpp
#	source/sw/src/game.cpp
2019-12-26 00:21:04 +01:00
Christoph Oelckers
e180d9afd3 Merge commit '40a533402e443a0de1673543642c892ab9c731fd' into powerslave
# Conflicts:
#	source/audiolib/include/fx_man.h
#	source/audiolib/include/multivoc.h
#	source/audiolib/src/_multivc.h
#	source/audiolib/src/fx_man.cpp
#	source/audiolib/src/multivoc.cpp
2019-12-25 19:24:55 +01:00
Christoph Oelckers
b0cefdedce - plugged all memory leaks that were reported with Shadow Warrior when starting the first level. 2019-12-25 11:26:19 +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
055b310d60 - rewrote all remaining places that used wm_msgbox to throw a fatal error instead so that the global error handler can deal with the messages.
This eliminates another piece of hideous code.
This commit also moves the memory error handler to the common code, so that all games can call it if triggered.
2019-12-24 19:59:14 +01:00
Christoph Oelckers
43033e830a - Blood now also starts the first level without leaks.
I had to refactor the LoadSave data to allow automatic takedown, the linked list was not the most convenient thing - an array is better.
2019-12-24 19:47:34 +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
e8d7777f4a - mouse input works again after cleaning out the remaining cruft of the old input code. 2019-12-24 13:54:50 +01:00
Christoph Oelckers
a870df840e - hooked up the input system and did a major cleanup.
Much of the old system is no longer needed with all buttons being handled as keys.
Mouse axis movement is not working yet.
2019-12-24 12:59:26 +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
3b98635170 - removed all remaining references to SDL. The Windows version is now fully native. 2019-12-23 20:03:03 +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
Christoph Oelckers
6b475417dc Merge branch 'master' into gzbackend 2019-12-23 14:31:31 +01:00
hendricks266
56e88b33a8 Replace color matching up to index 239 with the engine's fullbright mask
Should improve the color range available to non-Duke editors.

git-svn-id: https://svn.eduke32.com/eduke32@8491 1a8010ca-5511-0410-912e-c29ae57300e0
2019-12-23 11:37:00 +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
0a7f5f558a Rename colmatch functions
git-svn-id: https://svn.eduke32.com/eduke32@8488 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/colmatch.h
#	source/build/src/build.cpp
#	source/build/src/defs.cpp
#	source/build/src/palette.cpp
#	source/duke3d/src/lunatic/dynsymlist_editor.lds
#	source/duke3d/src/lunatic/dynsymlist_game.lds
#	source/duke3d/src/lunatic/engine.lua
#	source/tools/src/transpal.cpp
2019-12-23 10:59:14 +01:00
hendricks266
7db49ea20a Change PaletteIndexFullbrights from uint32_t[8] to uint8_t[32]
git-svn-id: https://svn.eduke32.com/eduke32@8487 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/palette.h
2019-12-23 10:57:11 +01:00
Christoph Oelckers
6e9631f2d8 - fixed all undefined symbols except OpenGLFrameBuffer. 2019-12-23 10:53:58 +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
hendricks266
777b895748 Defs: Minor ifcrc cleanup
git-svn-id: https://svn.eduke32.com/eduke32@8464 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/build.h
#	source/build/src/defs.cpp
#	source/build/src/tiles.cpp
2019-12-22 15:07:26 +01:00
Christoph Oelckers
fffe1753ec - removed a few unused bits of code. 2019-12-19 20:04:17 +01:00
Christoph Oelckers
3cb68b2bf0 - replaced the semi-broken screenshot name generator.
Also took this file out of the 'build' folder, now that all code in here comes from elsewhere.
This also removes a few dead declarations.
2019-12-19 19:47:51 +01:00
Christoph Oelckers
43c66d07ae Merge branch 'master' into sound 2019-12-18 11:23:20 +01:00
hendricks266
90412527e0 Improve accuracy of sepldist when one dimension is zero
Backported from Rednukem.

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

# Conflicts:
#	source/build/include/common.h
2019-12-18 11:17:37 +01:00