Commit graph

5890 commits

Author SHA1 Message Date
terminx
3eb979f8da Split 2d mode editor stuff that remained in engine.c into 2d.c.
git-svn-id: https://svn.eduke32.com/eduke32@5790 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:14 +00:00
terminx
205a757109 Move palette related functionality from engine.c to palette.c/h.
git-svn-id: https://svn.eduke32.com/eduke32@5789 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:06 +00:00
terminx
cdcc983a22 Move hash table stuff out of engine.c and into hash.c/h.
git-svn-id: https://svn.eduke32.com/eduke32@5788 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:53 +00:00
terminx
aca0807a81 Performance fix for Polymost wall sprite z-fighting avoidance
git-svn-id: https://svn.eduke32.com/eduke32@5787 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:47 +00:00
terminx
212e84ce21 Minor CON optimization bs.
git-svn-id: https://svn.eduke32.com/eduke32@5786 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:44 +00:00
terminx
85d0543763 This is stupid as fuck, but I swear I profiled it and it was faster this way. Looked like a cache miss on the first access of the pointers.
git-svn-id: https://svn.eduke32.com/eduke32@5785 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:40 +00:00
terminx
42ece182e4 Pragma tweaks
git-svn-id: https://svn.eduke32.com/eduke32@5784 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:37 +00:00
terminx
74b01416d0 Allow non-player hitscan projectiles to spawn sprites when impacting walls or sectors, and allow them to break sector textures (they could already break wall textures)
git-svn-id: https://svn.eduke32.com/eduke32@5783 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:33 +00:00
terminx
3c9f97a58e Allow SFLAG_NOCLIP to apply to projectile movement
git-svn-id: https://svn.eduke32.com/eduke32@5782 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:32:28 +00:00
hendricks266
e06cabb8aa Remove x86 asm pragmas for readpixel and drawpixel and replace them with their C versions.
This fixes a crash in the editor's 2D mode, reported by Paul B.

git-svn-id: https://svn.eduke32.com/eduke32@5781 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:48 +00:00
hendricks266
3dba49a1e3 Replace uses of the HAVE_DS and HAVE_SDL preprocessor macros with MIXERTYPEWIN and MIXERTYPESDL.
git-svn-id: https://svn.eduke32.com/eduke32@5780 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:45 +00:00
hendricks266
4afd27e16f Delete all SDL_mixer Windows libs from our repo since they're not part of our automated build process, and are not recommended.
git-svn-id: https://svn.eduke32.com/eduke32@5779 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:40 +00:00
hendricks266
8ef2032035 Makefile: Revamp setup of all things SDL.
Highlights:
*Building with msys2 can now take advantage of sdl-config and sdl2-config if present.
*Add a header check to error out if SDL_mixer's major version does not match SDL.
*Building with frameworks on OS X works again.

Notes:
*Those cross compiling, particularly targeting Windows, may need to invoke make with SDLCONFIG='' to avoid bringing in libs and headers from the host.

git-svn-id: https://svn.eduke32.com/eduke32@5778 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:35 +00:00
hendricks266
6e3e490b93 Makefile: Add NULLSTREAM to factor out the NUL part of DONT_PRINT.
git-svn-id: https://svn.eduke32.com/eduke32@5777 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:31 +00:00
hendricks266
619f3a7a8a Makefile: Add a special set of default optimization options when building for the Haswell-specific x86_64h architecture designation.
git-svn-id: https://svn.eduke32.com/eduke32@5776 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-15 07:08:26 +00:00
hendricks266
b1b7f13a41 Polymer: Correct an oversight in r3580.
git-svn-id: https://svn.eduke32.com/eduke32@5775 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-10 18:23:25 +00:00
hendricks266
3adda0cbd3 Polymer: Revert part of r5481. We can't rely on the sprite trackers to tell us when tsprites change.
git-svn-id: https://svn.eduke32.com/eduke32@5774 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-10 18:23:22 +00:00
hendricks266
d8c03ba267 Duke3D: Restore some accidentally-working cases of SEs 5, 6, 14, and 30 broken in r3161.
git-svn-id: https://svn.eduke32.com/eduke32@5773 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-10 18:23:15 +00:00
hendricks266
afe530942c BSD: Fix build on OpenBSD. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5772 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-06 22:13:05 +00:00
hendricks266
d33a443b2e Revert r5658. This fixes the disappearing chaingun problem.
git-svn-id: https://svn.eduke32.com/eduke32@5771 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:43 +00:00
hendricks266
31e0cdd87b GL: In uploadtexture, don't assume that a non-masking texture can safely be sent to the driver without the alpha channel.
git-svn-id: https://svn.eduke32.com/eduke32@5770 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:40 +00:00
hendricks266
f0f7b04652 Polymer: Fix the oversight in handling tspr->extra from r5400 by setting it to zero in polymer_scansprites.
git-svn-id: https://svn.eduke32.com/eduke32@5769 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:37 +00:00
hendricks266
0434a87e3a Remove trailing whitespace from anything we don't need to rebase from an upstream.
git-svn-id: https://svn.eduke32.com/eduke32@5768 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:28 +00:00
hendricks266
31606866f1 Add some preprocessor checks on the output format to the asm.
git-svn-id: https://svn.eduke32.com/eduke32@5767 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:06 +00:00
hendricks266
a53a821ec3 Makefile: Switch the detection order of OPTOPT flags so that i386 is checked after x86_64. This ensures full compatibility for fat OS X binaries built using ARCH="-arch i386 -arch x86_64".
git-svn-id: https://svn.eduke32.com/eduke32@5766 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-05 04:46:01 +00:00
hendricks266
400abee8b1 Makefile: Create GTK *_banner.c files in obj/ subfolders instead of rsrc/ so that they don't need separate cleanup rules.
git-svn-id: https://svn.eduke32.com/eduke32@5765 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-03 04:50:57 +00:00
hendricks266
005ebde8ce Makefile: Make Objective-C code build as Objective-C++ when we build C code as C++.
git-svn-id: https://svn.eduke32.com/eduke32@5764 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-03 04:50:55 +00:00
hendricks266
ca619df429 Makefile: Add extra optimization defaults for OS X builds since all Intel Macs are guaranteed certain features due to the time of their debut.
git-svn-id: https://svn.eduke32.com/eduke32@5763 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-03 04:50:52 +00:00
hendricks266
5a6aa914a4 Makefile: Clean up handling of architectures.
git-svn-id: https://svn.eduke32.com/eduke32@5762 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-03 04:50:47 +00:00
hendricks266
3ccf33bc21 Remove unnecessary asm unprotection of ylookup[].
git-svn-id: https://svn.eduke32.com/eduke32@5761 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-29 21:11:27 +00:00
hendricks266
9a50071b1d Clean up self-modifying assembly unprotection and add PROT_EXEC to mprotect() calls.
This fixes NOASM=0 under OS X.

git-svn-id: https://svn.eduke32.com/eduke32@5760 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-29 21:11:24 +00:00
hendricks266
128719189f sdlayer: Clean up creation of SDL_Renderer and provide information about the process to the log.
git-svn-id: https://svn.eduke32.com/eduke32@5759 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-29 21:11:21 +00:00
hendricks266
3719146448 Clean up fallback video mode attempt code in order to fix at least three bugs.
git-svn-id: https://svn.eduke32.com/eduke32@5758 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-29 21:11:17 +00:00
hendricks266
225f37f7b0 A small patch from rhoenie to make our source compatible with the Intel C Compiler.
Our makefile would need more setup and I currently don't have any means of testing.

git-svn-id: https://svn.eduke32.com/eduke32@5757 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-29 21:11:12 +00:00
hendricks266
a9da9832af Update ignore rules.
git-svn-id: https://svn.eduke32.com/eduke32@5756 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:54:13 +00:00
hendricks266
5ae7bd99f2 Lunatic: Fix build. BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@5755 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:22 +00:00
hendricks266
41e4ffd2bd Makefile: Convert object lists to an escaped multi-line format for better diffing.
git-svn-id: https://svn.eduke32.com/eduke32@5754 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:18 +00:00
hendricks266
24e217642e Makefile: Add some missing dependencies on the folders in which objects are created.
git-svn-id: https://svn.eduke32.com/eduke32@5753 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:15 +00:00
hendricks266
1208af001c Makefile: Add L_CXXONLYFLAGS, and use it to pass "-static-libstdc++" on Windows.
git-svn-id: https://svn.eduke32.com/eduke32@5752 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:12 +00:00
hendricks266
d8c23261a6 Makefile: Remove STATICSTDCPP variable.
git-svn-id: https://svn.eduke32.com/eduke32@5751 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:09 +00:00
hendricks266
26e15e7098 Makefile: Rename "CPPONLYFLAGS" variable to "CXXONLYFLAGS", since "CPPFLAGS" traditionaly refers to the C preprocessor, not C++.
git-svn-id: https://svn.eduke32.com/eduke32@5750 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:06 +00:00
hendricks266
d821e6123e Makefile: Output the postprocessed Lunatic symbol lists to $(DUKE3D_OBJ) so they don't need special cleanup and ignore rules. Also fix building the Lunatic-enabled editor on OS X.
git-svn-id: https://svn.eduke32.com/eduke32@5749 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:03 +00:00
hendricks266
b19c8cbe0a Makefile: Output objects to subfolders of one unified "obj" folder and simplify clean rules accordingly.
git-svn-id: https://svn.eduke32.com/eduke32@5748 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:47:00 +00:00
hendricks266
01d0aadc91 Makefile: Add mappings from a component's root prefix to its ideal folder name.
git-svn-id: https://svn.eduke32.com/eduke32@5747 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:57 +00:00
hendricks266
6a24f8eaf3 Makefile: Introduce *_PROPER name variables for output components and use them where currently implemented.
git-svn-id: https://svn.eduke32.com/eduke32@5746 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:54 +00:00
hendricks266
3cb59e1c8d Makefile: Rename a large number of variables in the component definitions in order to make things consistent (and factorable).
git-svn-id: https://svn.eduke32.com/eduke32@5745 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:52 +00:00
hendricks266
34896f6039 Makefile: Fix erroneous tab characters.
git-svn-id: https://svn.eduke32.com/eduke32@5744 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:49 +00:00
hendricks266
ad3ff7678f Makefile: Shorten host platform detection code and improve it on Windows to try using $(OS) before invoking uname, and to catch "MSYS" in addition to "MINGW" in uname's output.
git-svn-id: https://svn.eduke32.com/eduke32@5743 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:46 +00:00
hendricks266
3f9fb0dd73 Makefile: Remove *_TARGET variables for final outputs, which could have been used to disable compilation of specific ones.
This was only ever used to not compile the editor for Wii, but we now support that. Up to now these only served to clutter the Makefile.

git-svn-id: https://svn.eduke32.com/eduke32@5742 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:43 +00:00
hendricks266
39f00bcb35 KenBuild: Address "warning: shifting a negative signed value is undefined [-Wshift-negative-value]".
git-svn-id: https://svn.eduke32.com/eduke32@5741 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:41 +00:00