Commit graph

7344 commits

Author SHA1 Message Date
terminx
dd1d02a0e7 Change a bunch of engine functions that access sprites, walls, and sectors in a read-only fashion to use the untracked versions of those structs.
git-svn-id: https://svn.eduke32.com/eduke32@5794 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:39 +00:00
terminx
3b7aa279b1 Clipping function tweaks. Fixes building without HAVE_CLIPSHAPE_FEATURE.
git-svn-id: https://svn.eduke32.com/eduke32@5793 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:35 +00:00
terminx
32450bdd68 Relocate maphack related code into mhk.c.
This commit also relocates clipping related code into clip.c and makes a few other minor changes, because I fucked up and merged the commits together. God damn it.

git-svn-id: https://svn.eduke32.com/eduke32@5792 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:30 +00:00
terminx
cb2382285f Separate screen capture code from engine.c into screenshot.c
git-svn-id: https://svn.eduke32.com/eduke32@5791 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:19 +00:00
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