Commit graph

921 commits

Author SHA1 Message Date
hendricks266
a8287f676f KenBuild: Fix mul3 and sqr pragmas.
git-svn-id: https://svn.eduke32.com/eduke32@5735 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:18 +00:00
hendricks266
42d0f08d18 libdivide.h: Silence "warning: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'long long' in initializer list in C++11 [-Wc++11-narrowing]".
The problem that the block of code in question works around was fixed in LLVM r82228 and landed in clang 2.7.

git-svn-id: https://svn.eduke32.com/eduke32@5732 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:07 +00:00
hendricks266
1f761df37f libdivide.h: Silence "warning: variable 'result' is uninitialized when used here [-Wuninitialized]".
git-svn-id: https://svn.eduke32.com/eduke32@5731 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-23 04:46:02 +00:00
hendricks266
4282640c6c Amend previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5730 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-22 21:01:12 +00:00
hendricks266
764336bdea Fix NO_ALIGNED_MALLOC to actually work and not transpose the parameters. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5729 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-21 02:39:58 +00:00
terminx
e33d010e1a Replace uses of "swap64bit" where "swapdouble" is what is really meant. There is nothing in this to handle potential platforms where sizeof(double) != sizeof(int64_t)
git-svn-id: https://svn.eduke32.com/eduke32@5724 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-13 22:15:25 +00:00
hendricks266
b12c8dc268 Reorder preprocessor lines in libdivide.h so that LIBDIVIDE_USE_SSE2 is defined before emmintrin.h is included. Fixes ticket #23. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5720 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-11 02:59:15 +00:00
hendricks266
93a86e2840 Enable LIBDIVIDE_USE_SSE2 under x86_64 builds or if the binary is built with SSE2 optimizations.
git-svn-id: https://svn.eduke32.com/eduke32@5716 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:27 +00:00
hendricks266
868306abef Polymost: Allow compressed ART tiles (r_texcompr 2) to be cached.
git-svn-id: https://svn.eduke32.com/eduke32@5713 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:17 +00:00
hendricks266
b40f9b5b80 You'll Cowards Don't Even Indent
git-svn-id: https://svn.eduke32.com/eduke32@5712 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:13 +00:00
hendricks266
84a2695cdc Polymost: Clean up and rearrange some texcache code. No functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@5710 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:06 +00:00
hendricks266
d1266434f1 Polymost: Call texcache_calcid once per texture instead of twice. Clean it up a little while we're at it.
git-svn-id: https://svn.eduke32.com/eduke32@5709 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:02 +00:00
hendricks266
93349bd8e0 Add a hack so that when exit() is called on Android, we instead longjmp to main() and return from there.
git-svn-id: https://svn.eduke32.com/eduke32@5706 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-02 18:29:38 +00:00
hendricks266
b3f2532bb5 GL ES: Introduce ETC1 and (alpha-less) ETC2 texture compression, which improves performance by using less VRAM and requiring shorter data bus transfers.
git-svn-id: https://svn.eduke32.com/eduke32@5690 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-28 05:16:14 +00:00
hendricks266
7e12cf2a83 jwzgles: Add glCompressedTexImage2D and glCompressedTexSubImage2D as cheap copies of their non-compressed variants.
git-svn-id: https://svn.eduke32.com/eduke32@5676 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-28 05:15:20 +00:00
hendricks266
3bbe30a6f8 Un-break the iOS build.
git-svn-id: https://svn.eduke32.com/eduke32@5672 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-28 05:15:05 +00:00
terminx
1b5335ad72 Add #pragma once to the top of a couple of the most commonly included headers in build/include. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5664 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-14 00:07:44 +00:00
terminx
83acadd3b4 Remove useless bytesperline parameter from a couple of kplib functions.
git-svn-id: https://svn.eduke32.com/eduke32@5660 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-14 00:07:22 +00:00
hendricks266
7dd054069f Polymost: Add HICR_ARTIMMUNITY and DAMETH_ARTIMMUNITY, which currently function identically to NOTEXCOMPRESS and NODOWNSIZE combined, and are only used when:
1. Using an ART tile
2. Using a hightile defined through the tilefromtexture "texture" subtoken
3. Using a hightile that, if downsized, will be smaller than the ART tile for that tilenum (tenuous)

git-svn-id: https://svn.eduke32.com/eduke32@5647 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-07 11:21:55 +00:00
hendricks266
7011b30e50 Engine: Move daskinloader into mdloadskin and clean up it and gloadtile_hi against one another.
git-svn-id: https://svn.eduke32.com/eduke32@5644 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-04 19:24:54 +00:00
hendricks266
506e89fefb Polymost: Refactor all GL internal texture format decision making into uploadtexture().
This directly achieves the following:
* Eliminated codedup.
* Recently introduced GL ES performance downsampling now applies to model skins.
* Replaces the alpha/art format distinction with {RGB/no alpha, RGBA/one-bit alpha (ART transparency), RGBA/full alpha}.
* Cleanly allows multiple fallback formats for each type.
* Ready for further commits.

git-svn-id: https://svn.eduke32.com/eduke32@5642 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-29 06:34:20 +00:00
hendricks266
aec2da83cd Add BuildGLErrorCheck(), useful for debugging GL.
git-svn-id: https://svn.eduke32.com/eduke32@5641 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-29 06:34:16 +00:00
hendricks266
e2df2d60d1 Engine: Rename HICR_NOCOMPRESS to HICR_NODOWNSIZE, CACHEAD_NOCOMPRESS to CACHEAD_NODOWNSIZE, DAMETH_NOCOMPRESS to DAMETH_NODOWNSIZE, and HICR_NOSAVE to HICR_NOTEXCOMPRESS.
git-svn-id: https://svn.eduke32.com/eduke32@5640 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-29 06:34:12 +00:00
hendricks266
dce9e3c91e Add preprocessor token NO_ALIGNED_MALLOC which disables compilation with aligned memory allocation. Useful for old versions of Windows and Mac OS X.
git-svn-id: https://svn.eduke32.com/eduke32@5636 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-29 06:33:58 +00:00
terminx
d3ff92c5d5 Android shit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5629 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-17 19:08:32 +00:00
terminx
66e6bbff0d Add support for changing the refresh rate in SDL builds. Should also fix non-SDL builds.
git-svn-id: https://svn.eduke32.com/eduke32@5621 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-13 21:06:12 +00:00
hendricks266
f1d187d378 Lunatic: Fix cast-qual warnings having to do with L_RunString.
git-svn-id: https://svn.eduke32.com/eduke32@5590 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-27 07:30:23 +00:00
terminx
86a4660f08 const stuff
git-svn-id: https://svn.eduke32.com/eduke32@5572 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-21 19:35:06 +00:00
terminx
eacd9527a3 Mapster32: configurable point and line highlight/selection distances
git-svn-id: https://svn.eduke32.com/eduke32@5568 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-15 07:58:57 +00:00
hendricks266
95a70e063d OS X: Fix Polymer build.
git-svn-id: https://svn.eduke32.com/eduke32@5557 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-12 10:31:15 +00:00
hendricks266
344e10628f Part two of more const casting, this time affecting argv instances.
git-svn-id: https://svn.eduke32.com/eduke32@5552 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-12 10:30:56 +00:00
hendricks266
98ebda94ec Address some const-disregarding casts missed in r5540 due to conditional compilation settings and platforms.
git-svn-id: https://svn.eduke32.com/eduke32@5551 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-12 10:30:48 +00:00
terminx
db8b4a00b6 Enable -Wwrite-strings and fix all instances where string constants were passed to functions accepting a char ptr.
git-svn-id: https://svn.eduke32.com/eduke32@5547 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:06:10 +00:00
terminx
e27eb7a7e5 Use XXH64 functions for editor undo/redo when building for 64-bit.
git-svn-id: https://svn.eduke32.com/eduke32@5546 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:06:02 +00:00
terminx
df32b0b788 Update to the newest version of xxHash.
git-svn-id: https://svn.eduke32.com/eduke32@5542 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:47 +00:00
terminx
a7e6ed8745 Fix quite a few issues with casting away const and volatile qualifiers, found with -Wcast-qual. If we're going to use const everywhere, we should really mean it!
git-svn-id: https://svn.eduke32.com/eduke32@5540 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-11 05:05:38 +00:00
hendricks266
2e968b90bf Add inthashtable_t, mapping intptr_t to intptr_t.
git-svn-id: https://svn.eduke32.com/eduke32@5532 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:46 +00:00
hendricks266
e00115c043 Introduce USE_GLEXT macro and use it to conditionally compile out all GL ARB function calls when compiling for GL ES platforms.
This replaces the previous hack where we kept the dynamic pointers null and simply never tried calling any of them by a conspiracy of default runtime settings and disabled menu options.

Code affected: VBO support for models, VPX GLSL decoding, texture compression (texture cache), and multitexturing (glow/detail maps).

This commit also replaces EDUKE32_GLES conditionals with USE_GLEXT where appropriate.

I didn't touch polymer.c because it depends too heavily on extensions for conditionally compiling them to make sense.

git-svn-id: https://svn.eduke32.com/eduke32@5526 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:20 +00:00
hendricks266
ff80e020ad jwzgles: fix warnings when compiling on Linux
git-svn-id: https://svn.eduke32.com/eduke32@5525 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:15 +00:00
hendricks266
409b14fb62 jwzgles: fix errors when compiling on Linux
git-svn-id: https://svn.eduke32.com/eduke32@5523 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:08 +00:00
terminx
7bbd2c8ffd Misc cleanup, add shorthand versions of getplayer, getactor, etc.
git-svn-id: https://svn.eduke32.com/eduke32@5505 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:24 +00:00
terminx
935e9fa197 Fix hard coded white and red color indexes used in on-screen debug output, to better operate with a palette dissimilar to Duke3D.
git-svn-id: https://svn.eduke32.com/eduke32@5497 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-28 02:04:36 +00:00
hendricks266
7f5a8f9a23 Polymost: Make voxels take on the current basepalette, like they should.
git-svn-id: https://svn.eduke32.com/eduke32@5494 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-26 15:42:09 +00:00
terminx
c00f933a37 Update LZ4
git-svn-id: https://svn.eduke32.com/eduke32@5485 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:05 +00:00
terminx
2500c7b517 Add support for sector/wall/sprite struct trackers to Polymer
git-svn-id: https://svn.eduke32.com/eduke32@5481 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:47 +00:00
hendricks266
38dfb0a2b2 Polymodes: Add a new pthtyp flag to mark textures that should not be processed by the fixtransparency() hack (which avoids the transparent color blending into a sprite when texture filtering is enabled), such as non-(T)ROR-masking floors and ceilings, white- and mask-walls, paper-skies, and rotatesprite with orientation flag 64. This commit makes sure the flag's status always fits the situation.
This fixes the remaining issue with WWII GI's LOGO.ANM: Color index #255 is used as the dominant white color (not as a transparent index) and fixtransparency() was mangling the image as a result.

git-svn-id: https://svn.eduke32.com/eduke32@5465 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:52:58 +00:00
hendricks266
56f331574d Polymost: Enumify the lower bits of the method/dameth argument to various functions.
git-svn-id: https://svn.eduke32.com/eduke32@5464 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:52:54 +00:00
hendricks266
af5f47797d cache1d: Add kfileparent().
git-svn-id: https://svn.eduke32.com/eduke32@5443 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:00 +00:00
hendricks266
d723316bf5 Polymodes: Don't test (!usemodels || md_tilehasmodel(picnum, pal) < 0) in eligible_for_tileshades (called only from getshadefactor) because getshadefactor is only called when a model is *not* being drawn, and therefore results in incorrect shading when drawing a tile with a model defined and models enabled to the screen or as a skybox.
git-svn-id: https://svn.eduke32.com/eduke32@5440 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:07:51 +00:00
hendricks266
34bf6443ce Polymodes: Slight optimizations in getshadefactor.
git-svn-id: https://svn.eduke32.com/eduke32@5439 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:07:47 +00:00