Commit Graph

950 Commits

Author SHA1 Message Date
hendricks266 8a1f1f2ede GL .blend support.
Consult me if you are interested in this feature.

TODO: Polymer.

git-svn-id: https://svn.eduke32.com/eduke32@5888 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-09 07:55:23 +00:00
hendricks266 07d759234d Some float optimizations in the engine.
git-svn-id: https://svn.eduke32.com/eduke32@5877 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-03 02:43:48 +00:00
terminx 543e7f67c2 Change default unfiltered texture mode to 0 (no mipmaps)
git-svn-id: https://svn.eduke32.com/eduke32@5874 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-18 03:54:21 +00:00
terminx c2d8a66c3a Fix a couple of gcc 6.x warnings.
git-svn-id: https://svn.eduke32.com/eduke32@5837 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:42:12 +00:00
terminx d7d6623364 More readability cleanup. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5835 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:42:01 +00:00
terminx c6617a98b2 More cleanup. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5830 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:41:33 +00:00
terminx 4575148c02 Use size_t or ssize_t in for loops where possible
git-svn-id: https://svn.eduke32.com/eduke32@5829 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:41:21 +00:00
terminx aae66ccb11 Further cleanup. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5828 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:41:04 +00:00
terminx 34453f5090 Continued cleanup. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5827 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:40:56 +00:00
terminx 52f678a743 Massive readability cleanup of game code part 1. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5825 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:40:35 +00:00
terminx 95f7cf0982 "return" is not a function.
git-svn-id: https://svn.eduke32.com/eduke32@5803 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:41 +00:00
terminx 951ad678c4 Usual cleanup type stuff involving vectors and variable scopes.
git-svn-id: https://svn.eduke32.com/eduke32@5802 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:29 +00:00
terminx 0e713e698f Separate art tile related functions out from engine.c and into tiles.c
git-svn-id: https://svn.eduke32.com/eduke32@5801 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:25 +00:00
terminx 03daded192 Vectorize a few more things.
git-svn-id: https://svn.eduke32.com/eduke32@5800 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:18 +00:00
terminx 29a9b93517 FORCE_INLINE a couple of Polymost support functions.
git-svn-id: https://svn.eduke32.com/eduke32@5799 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:34:10 +00:00
terminx 5800cd588c tsectortype -> usectortype
twalltype -> uwalltype
tspritetype -> uspritetype

No other changes.

git-svn-id: https://svn.eduke32.com/eduke32@5796 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:58 +00:00
terminx 0562de125f More changes similar to the previous commit
git-svn-id: https://svn.eduke32.com/eduke32@5795 1a8010ca-5511-0410-912e-c29ae57300e0
2016-06-21 00:33:45 +00:00
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 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 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
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 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 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 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 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 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