Commit graph

55 commits

Author SHA1 Message Date
pogokeen
1df7127609 Support software renderer upscaling engine-side in sdlayer and sdlayer12 with various scaling factors (beyond just pixel doubling).
When glsurface is available, use GL to upscale the render buffer.
Additionally, fix build issues with sdlayer12 introduced by GLAD changes (r6656).

git-svn-id: https://svn.eduke32.com/eduke32@6939 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:44 +00:00
terminx
652c0044a1 Fix building the Build tools
git-svn-id: https://svn.eduke32.com/eduke32@6924 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-14 17:49:53 +00:00
pogokeen
9d243606d0 When OpenGL is available, prefer using the new glsurface to blit the classic renderer's 8-bit buffer to the screen.
git-svn-id: https://svn.eduke32.com/eduke32@6919 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:16 +00:00
pogokeen
dcdffb73d0 Dynamic tilepacking for indexed colour textures
git-svn-id: https://svn.eduke32.com/eduke32@6883 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:16 +00:00
terminx
4cd19d5435 Update Miniz
git-svn-id: https://svn.eduke32.com/eduke32@6849 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:34 +00:00
hendricks266
bb84fa725e Makefile: Allow component cflags to override global CWARNS for clang-tools rule.
git-svn-id: https://svn.eduke32.com/eduke32@6781 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 04:48:50 +00:00
terminx
4d8bb170a3 Use Q16.16 fixed point for player horiz
git-svn-id: https://svn.eduke32.com/eduke32@6724 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:05 +00:00
hendricks266
af69391c24 Silence -Wcast-qual in glad.c.
git-svn-id: https://svn.eduke32.com/eduke32@6667 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 08:33:39 +00:00
pogokeen
3ca5f33c73 Moved to GLAD for dynamic GL/WGL and extension loading.
Refactored extension usage that became core in GL2, and adjusted some types for GL2 compatibility.

git-svn-id: https://svn.eduke32.com/eduke32@6656 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:21 +00:00
terminx
b65458ebfe Rename CLANG_DEBUG_FLAGS -> ASAN_FLAGS in makefile and enable them for GCC, because GCC supports ASan these days
git-svn-id: https://svn.eduke32.com/eduke32@6549 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-10 03:24:39 +00:00
hendricks266
64d76db260 Add support for MTM modules.
git-svn-id: https://svn.eduke32.com/eduke32@6475 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-15 23:09:59 +00:00
hendricks266
f5d0acfee8 Makefile: Fix building the tools on Mac.
git-svn-id: https://svn.eduke32.com/eduke32@6425 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:57 +00:00
hendricks266
eb332f21a4 Makefile: More no-shell stuff that I didn't want to rebase past the lowercase stuff.
git-svn-id: https://svn.eduke32.com/eduke32@6424 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:54 +00:00
hendricks266
ccf09530e6 Makefile: Make the dynamic rule creation a little bit simpler, thanks to the previous commit.
git-svn-id: https://svn.eduke32.com/eduke32@6423 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:52 +00:00
hendricks266
0ebfd394d2 Makefile: Make most variables in the component construction lowercase.
git-svn-id: https://svn.eduke32.com/eduke32@6422 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:49 +00:00
hendricks266
04bc041c2e Makefile: Eliminate all mandatory use of *nix userland tools.
Windows should no longer need an msys install to build with MinGW-w64.

Working Title: MSYS Gets Shell-Shocked

git-svn-id: https://svn.eduke32.com/eduke32@6419 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:41 +00:00
hendricks266
b56255e774 Makefile: Assignment operator cleanup.
git-svn-id: https://svn.eduke32.com/eduke32@6418 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-06 13:44:39 +00:00
terminx
fd19569099 Drop libpng and zlib in favor of a custom < 100 line .png writer and a drop-in zlib replacement called miniz.
git-svn-id: https://svn.eduke32.com/eduke32@6365 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:00 +00:00
hendricks266
d57234e668 Replace sound_func function pointer parameter and associate functions for hardcoded ANMs with equivalent animsounds arrays.
git-svn-id: https://svn.eduke32.com/eduke32@6285 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:24:34 +00:00
hendricks266
22a7b3c6f3 Makefile: Move rules around to unbreak Linux builds. This may be a GNU Make bug. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6173 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-10 06:21:29 +00:00
hendricks266
05cd4aa231 Makefile: Distinguish between .c files in rsrc and ones generated at build time in obj.
git-svn-id: https://svn.eduke32.com/eduke32@6172 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-10 06:21:24 +00:00
hendricks266
483488643f Amend r6150.
git-svn-id: https://svn.eduke32.com/eduke32@6171 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 07:00:07 +00:00
hendricks266
44536c51d0 Makefile: Add libxmp-lite, replacing static linking to a library that was uncommon in Linux and Mac package managers.
git-svn-id: https://svn.eduke32.com/eduke32@6159 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:42 +00:00
hendricks266
000050c7b9 Makefile: Add LPeg sources, replacing the haphazard static linking that required a custom-built library in a hardcoded location.
git-svn-id: https://svn.eduke32.com/eduke32@6157 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:21 +00:00
hendricks266
e00c3a92bd Makefile: Move the ENet group up into a new section for libraries that are not ours but included in our repository.
git-svn-id: https://svn.eduke32.com/eduke32@6154 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:04 +00:00
hendricks266
f0be1fb1e2 Makefile: Remove manual assembly of object file lists and replace it with a system for tracking dependencies between groups.
git-svn-id: https://svn.eduke32.com/eduke32@6153 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:39:01 +00:00
hendricks266
6d990b592e Makefile: Rename some groups so that the part before the first _ corresponds to the parent group that has _SRC and _OBJ defines.
git-svn-id: https://svn.eduke32.com/eduke32@6152 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:58 +00:00
hendricks266
f81f6b76e6 Makefile: Remove $(LUNATIC_LUA_PREFIX).
git-svn-id: https://svn.eduke32.com/eduke32@6151 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:55 +00:00
hendricks266
3306b8d5a3 Makefile: Move duke3d and engine directory definitions to their proper spots, as they no longer need early definition after the great repository rearrangement.
git-svn-id: https://svn.eduke32.com/eduke32@6150 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:52 +00:00
hendricks266
3627c7710e Makefile: Update heading comments.
git-svn-id: https://svn.eduke32.com/eduke32@6149 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:49 +00:00
hendricks266
91c8ca11bd Makefile: Remove printing of compiler/assembler/linker options at build start. Use PRETTY_OUTPUT=0 if you need that information.
git-svn-id: https://svn.eduke32.com/eduke32@6148 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:46 +00:00
hendricks266
b3d597200b Common.mak: Massive reorganization/cleanup.
Any functional changes are incidental and minor, other than the outright removals.

git-svn-id: https://svn.eduke32.com/eduke32@6147 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-09 06:38:42 +00:00
hendricks266
0a74a878e1 Rename savegame.lua to lunasave.lua to avoid a collision with savegame.cpp. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6145 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-07 05:56:35 +00:00
hendricks266
934849a965 Amend r6126, which doesn't leave "eduke32" defined anywhere for binary names when APPBASENAME is not specified.
git-svn-id: https://svn.eduke32.com/eduke32@6129 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 05:11:11 +00:00
terminx
645f88dba9 Base output binary name on APPBASENAME. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6126 1a8010ca-5511-0410-912e-c29ae57300e0
2017-04-24 04:35:27 +00:00
hendricks266
cf3a4550b0 Makefile: Add phony target "clang-tools" for use with clang-tools.
ex: clang-query `make clang-tools`

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@6108 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:11 +00:00
hendricks266
886924126a Makefile: Add *_ORDERONLYDEPS, which saves us an error message when building Lunatic on Mac.
git-svn-id: https://svn.eduke32.com/eduke32@6107 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:08 +00:00
hendricks266
7aeaace450 Makefile: Add *_SRCS variables, which reassemble the full paths of all source files.
git-svn-id: https://svn.eduke32.com/eduke32@6106 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:05 +00:00
hendricks266
5de3318812 Makefile: Separate combinations of component objects for the six build targets into a variable specifically representing the combination.
The original variable name now contains the sub-group only.

git-svn-id: https://svn.eduke32.com/eduke32@6105 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:03 +00:00
hendricks266
f0b73188ed Makefile: Clean up more Lunatic setup.
git-svn-id: https://svn.eduke32.com/eduke32@6104 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:47:00 +00:00
hendricks266
df6871854a Makefile: LUNATIC_SRC
git-svn-id: https://svn.eduke32.com/eduke32@6103 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:57 +00:00
hendricks266
c12c5e0363 Makefile: Slightly modify the way ENet objects are ignored for NETCODE=0 builds.
git-svn-id: https://svn.eduke32.com/eduke32@6102 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:55 +00:00
hendricks266
aaf44c0ec8 Makefile: Split any source file from an rsrc folder into a separate list of objects, recombined at expansion time.
git-svn-id: https://svn.eduke32.com/eduke32@6101 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:52 +00:00
hendricks266
c371bfe763 Makefile: Factor out the expansion of source file names to object paths.
git-svn-id: https://svn.eduke32.com/eduke32@6100 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:50 +00:00
hendricks266
15713808e8 Makefile: Add source code file extensions to all objects, and strip them back off with $(basename ).
git-svn-id: https://svn.eduke32.com/eduke32@6099 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:47 +00:00
hendricks266
bc5fa3975a Makefile: Clean up Lunatic objects.
git-svn-id: https://svn.eduke32.com/eduke32@6098 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:44 +00:00
hendricks266
f0869a6d0e Makefile: Change the phonies list so that it is newline-separated.
git-svn-id: https://svn.eduke32.com/eduke32@6097 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 20:46:41 +00:00
hendricks266
f1d99d70e8 Makefile: Refactor, part 3: objects.
git-svn-id: https://svn.eduke32.com/eduke32@6095 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:37 +00:00
hendricks266
23155443d9 Makefile: Refactor, part 2: phonies.
This commit uses GNU Make's Secondary Expansion feature.

These rules could be slightly simplified if all the variables defining each component were renamed to use lowercase.

git-svn-id: https://svn.eduke32.com/eduke32@6094 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:34 +00:00
hendricks266
63eadeb0e1 Makefile: Refactor using advanced GNU Make tricks and $(eval), part 1: targets
git-svn-id: https://svn.eduke32.com/eduke32@6093 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:32 +00:00