Commit graph

6194 commits

Author SHA1 Message Date
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
hendricks266
6fbf4e6f1c Makefile: Remove "dxtools" and "sdltools" as separate categories, and instead build them along with the normal tools when conditions of their target environment are met.
git-svn-id: https://svn.eduke32.com/eduke32@6092 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:29 +00:00
hendricks266
30ef04893b compat.h: Re-taxonomize one item.
git-svn-id: https://svn.eduke32.com/eduke32@6091 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:26 +00:00
hendricks266
28ad096e38 Revert r6089. We can't live without strdup, strtoll, snprintf, strcasecmp, etc.
This is only an issue on some platforms.

git-svn-id: https://svn.eduke32.com/eduke32@6090 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-23 03:03:21 +00:00
hendricks266
b015f1044b Makefile: Use -std=c99 and -std=c++03 instead of -std=gnu99 and -std=gnu++03.
git-svn-id: https://svn.eduke32.com/eduke32@6089 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-22 15:46:06 +00:00
hendricks266
ed75d4086c Makefile: Use "clang++" for building C++ with clang.
git-svn-id: https://svn.eduke32.com/eduke32@6088 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-22 15:46:04 +00:00
hendricks266
029facac6f Makefile: Add CROSS_SUFFIX option, as requested by rhoenie.
git-svn-id: https://svn.eduke32.com/eduke32@6087 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-22 15:46:01 +00:00
hendricks266
9d8b5d1ce0 Makefile: Move CUSTOMOPT to follow COMPILERFLAGS and LINKERFLAGS, so that it can overwrite more.
git-svn-id: https://svn.eduke32.com/eduke32@6086 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-22 15:45:59 +00:00
hendricks266
ebf78c721d Makefile: Move "-Wimplicit -Werror-implicit-function-declaration" from CONLYFLAGS to a new CONLYWARNS.
git-svn-id: https://svn.eduke32.com/eduke32@6085 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-22 15:45:56 +00:00
hendricks266
7fbee490e5 Makefile: Unfactor CWARNS from COMPILER_*.
git-svn-id: https://svn.eduke32.com/eduke32@6084 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-22 15:45:54 +00:00
hendricks266
d15251b96f Makefile: Factor out common uses of COMMONFLAGS, COMPILERFLAGS, and LINKERFLAGS into COMPILER_* and LINKER.
Collateral changes: Engine objects now use COMPILER_CXX instead of CXX, BUILD_SETTINGS_LINKER now includes GUI_LIBS, and the Build tools now use LINK_STATUS and result instead of ONESTEP.

git-svn-id: https://svn.eduke32.com/eduke32@6083 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-22 15:45:49 +00:00
hendricks266
3e64f08cd1 Fix r5498 so that projectiles actually do not hit their owner during their first tic of movement.
Clear the hitscan bit instead of blocking bit because Proj_MoveCustom uses CLIPMASK1.

git-svn-id: https://svn.eduke32.com/eduke32@6082 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-20 20:30:04 +00:00
hendricks266
af66b8a99f Factor out code for launching EVENT_GAME and EVENT_PREGAME.
git-svn-id: https://svn.eduke32.com/eduke32@6081 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-20 20:29:57 +00:00
hendricks266
06a38e3873 Audiolib: Re-add a fixed version of old code for the SDL driver to initialize SDL as a whole or its audio subsystem if it has not yet been initialized.
Patch from NY00123.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@6080 1a8010ca-5511-0410-912e-c29ae57300e0
2017-03-01 09:35:58 +00:00
hendricks266
d5bd7681a0 Remove XYZ.voc --> XYZ.flac format upgrades completely for sound effects, and leave them only for music.
XYZ.voc --> XYZ_voc.flac is still available.

git-svn-id: https://svn.eduke32.com/eduke32@6079 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:16:04 +00:00
hendricks266
e9c8f44a47 compat.h: Upgrade ARRAY_SIZE.
git-svn-id: https://svn.eduke32.com/eduke32@6078 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:16:01 +00:00
hendricks266
d6e820645b compat.h: Upgrade EDUKE32_FUNCTION and add EDUKE32_PRETTY_FUNCTION.
git-svn-id: https://svn.eduke32.com/eduke32@6077 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:58 +00:00
hendricks266
62a921c409 Remove the implicit "static" from our FORCE_INLINE macro.
This will be important for C++ member functions.

git-svn-id: https://svn.eduke32.com/eduke32@6076 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:53 +00:00
hendricks266
77875948ba Eliminate more cases of duplication of compat.h's functionality.
git-svn-id: https://svn.eduke32.com/eduke32@6075 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:45 +00:00
hendricks266
aa04307ad1 Route all inclusion of libc headers and most of POSIX headers through compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6074 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:36 +00:00
hendricks266
22fbca52ca Remove HAVE_INTTYPES define.
No #else was ever provided for any build system that lacks inttypes besides MSVC.

git-svn-id: https://svn.eduke32.com/eduke32@6073 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:20 +00:00
hendricks266
2b8fb9bfc1 Completely reorganize compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6072 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:16 +00:00
hendricks266
3f5dbe17f2 Eliminate the windows_inc.h include from compat.h by special-casing UNREFERENCED_PARAMETER in a different way.
git-svn-id: https://svn.eduke32.com/eduke32@6071 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:13 +00:00
hendricks266
ee4d69093c Remove #define compat_h_macrodef__ and its absent case, which was only ever used for an old JFDuke3D port to PalmOS.
If for some reason you need to target a platform that lacks a libc, you're better off finding a libc, or putting together your own shim layer. It's a weekend project at most.

git-svn-id: https://svn.eduke32.com/eduke32@6070 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:10 +00:00
hendricks266
6d7191b848 windows_inc.h in two more places
git-svn-id: https://svn.eduke32.com/eduke32@6069 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:01 +00:00
hendricks266
05c4fa61f6 Explicitly specify the version of the C++ standard as which we are compiling.
git-svn-id: https://svn.eduke32.com/eduke32@6068 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:16:00 +00:00
hendricks266
26e740c0b7 Eliminate many cases of duplication of compat.h's functionality.
git-svn-id: https://svn.eduke32.com/eduke32@6067 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:56 +00:00
hendricks266
225be10f61 Define NOMINMAX in windows_inc.h.
git-svn-id: https://svn.eduke32.com/eduke32@6066 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:50 +00:00
hendricks266
d4ee6d00c8 Route inclusion of all Windows headers through a new header, windows_inc.h.
This allows us to make certain guarantees about limits on the extent of namespace pollution these headers introduce.

git-svn-id: https://svn.eduke32.com/eduke32@6065 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:44 +00:00
hendricks266
79279780a5 More of the previous commit, because VS can be frustrating.
git-svn-id: https://svn.eduke32.com/eduke32@6064 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:32 +00:00
hendricks266
1aaf246527 Limit what startwin.game.cpp needs to include.
git-svn-id: https://svn.eduke32.com/eduke32@6063 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:29 +00:00
hendricks266
3faa84f6d4 Remove dead code for selecting sound settings from the Windows startup window.
git-svn-id: https://svn.eduke32.com/eduke32@6062 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:23 +00:00
hendricks266
d43fb548cf Abolish all " ={ " when assigning a struct. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6061 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-05 20:58:33 +00:00
terminx
5d77a4ac06 Fix compiler specified for synthesis. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6060 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-03 23:03:06 +00:00
hendricks266
3811f7f0e6 Try fixing synthesis.sh.
git-svn-id: https://svn.eduke32.com/eduke32@6059 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-03 22:18:45 +00:00
hendricks266
12ef7e9f8d Some tweaks to the cleanup.
git-svn-id: https://svn.eduke32.com/eduke32@6058 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-03 21:59:45 +00:00
hendricks266
57aeeaceec I hoped ./ prefixes would work in a ignore on Windows.
git-svn-id: https://svn.eduke32.com/eduke32@6057 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:34:01 +00:00
hendricks266
417b047cf3 Bring the previous commit into effect.
git-svn-id: https://svn.eduke32.com/eduke32@6056 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:20:54 +00:00
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00
hendricks266
05985da5a3 Delete more empty folders. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6054 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-24 02:53:05 +00:00
hendricks266
30af5d2247 Remove empty folders. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6053 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 22:56:46 +00:00
hendricks266
7694c641e9 Makefile: Delete the default suffixes, to possible help avoid internal Make race conditions.
git-svn-id: https://svn.eduke32.com/eduke32@6052 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:24:21 +00:00
hendricks266
05a3b230aa Makefile: Only pass APPNAME and APPBASENAME to the preprocessor if a value for them was passed in.
Keeping compiler invocation clutter to a minimum is good.

git-svn-id: https://svn.eduke32.com/eduke32@6051 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:21:42 +00:00
hendricks266
382404f813 SW: Fix audiolib bindings, again.
git-svn-id: https://svn.eduke32.com/eduke32@6050 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:21:40 +00:00
hendricks266
4faab2beb8 SW: Fix some vec2_t stuff I missed.
git-svn-id: https://svn.eduke32.com/eduke32@6049 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:21:36 +00:00
hendricks266
3adfd6a4bd SW: "new" --> "New"
git-svn-id: https://svn.eduke32.com/eduke32@6048 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:21:32 +00:00
hendricks266
4fe09ad530 Restore tmulscale* to pragmas.h. SW needs it.
git-svn-id: https://svn.eduke32.com/eduke32@6047 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:21:26 +00:00
hendricks266
c166424a86 Restructure pragmas*.h to eliminate duplicates of the generalized C code in the architecture-specific files.
git-svn-id: https://svn.eduke32.com/eduke32@6046 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:21:22 +00:00
hendricks266
13024a8d79 Normalize the general versions of the pragmas in pragmas.h with any improvements found in duplicates spread throughout the architecture specific files.
Note: One change made here is the elimination of unnecessary verbose upcasts.

git-svn-id: https://svn.eduke32.com/eduke32@6045 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:21:18 +00:00