Commit graph

397 commits

Author SHA1 Message Date
terminx
652b467389 Remove red/blue 3d mode from Polymost. This hadn't been enabled in a long time and I'm not sure if it even worked anymore. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6014 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-18 22:21:51 +00:00
hendricks266
2c96410b39 Address a number of harmless instances of "code never reached" identified by Xcode.
git-svn-id: https://svn.eduke32.com/eduke32@5961 1a8010ca-5511-0410-912e-c29ae57300e0
2016-12-26 06:02:06 +00:00
terminx
ec25bfa281 Fix transparent masked walls in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@5948 1a8010ca-5511-0410-912e-c29ae57300e0
2016-12-04 22:53:56 +00:00
terminx
7d15f7fff7 Remove camera distance from the calculation for how much to offset sprites to avoid z buffer fighting.
git-svn-id: https://svn.eduke32.com/eduke32@5945 1a8010ca-5511-0410-912e-c29ae57300e0
2016-12-01 04:06:34 +00:00
terminx
be6069fc6d Support vsync in classic mode (SDL 2.x only), and properly handle failure to enable "adaptive" vsync on systems that don't support it.
git-svn-id: https://svn.eduke32.com/eduke32@5938 1a8010ca-5511-0410-912e-c29ae57300e0
2016-11-15 21:55:30 +00:00
terminx
f3ac89af1b Change default anisotropic filtering setting to the max for the user's system. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5929 1a8010ca-5511-0410-912e-c29ae57300e0
2016-11-09 22:51:39 +00:00
hendricks266
1940940f81 Revert a formatting change from r5725.
git-svn-id: https://svn.eduke32.com/eduke32@5912 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-25 05:43:42 +00:00
hendricks266
da6bc22d35 Polymost: Clear wsprinfo[] upon map load. This should address some remaining instances of wall-ornamented sprite z-fighting.
git-svn-id: https://svn.eduke32.com/eduke32@5910 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-24 21:30:34 +00:00
hendricks266
527181f151 Re-enable the use of psky_t's yoffset.
git-svn-id: https://svn.eduke32.com/eduke32@5896 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-14 07:40:50 +00:00
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
4d08f4d433 Cosmetic changes to some blend/alpha related code.
git-svn-id: https://svn.eduke32.com/eduke32@5886 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-09 07:55:13 +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
hendricks266
b768c35175 Ensure the cached float cast variables introduced in r4656 are updated any time the integer versions are.
This fixes the infinite loop when viewing an HUD model at a point when displayrooms is not running, such as the main menu upon initial game load.

git-svn-id: https://svn.eduke32.com/eduke32@5876 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-03 02:43:42 +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
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
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
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
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
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
terminx
0de66c3411 Misc Polymost crap. Improves detection of sprite/wall collisions for z-fighting avoidance
git-svn-id: https://svn.eduke32.com/eduke32@5725 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-13 22:15:28 +00:00
hendricks266
61fe1c554a GL ES: Interpreting glGetError as always meaning "this internal texture format doesn't work" is too dangerous to keep in the live code (not to mention wasteful). Move it to a new and improved Polymost_InitDummyTexture, now called Polymost_DetermineTextureFormatSupport.
git-svn-id: https://svn.eduke32.com/eduke32@5715 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:24 +00:00
hendricks266
b8f22a6d9c Polymost: Factor out the ETC block preparation by moving the ETC function decision from Polymost_SendTexToDriver into Polymost_PickETCFunction.
git-svn-id: https://svn.eduke32.com/eduke32@5714 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:20 +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
73459ede47 Polymost: Tweak the "don't upload textures with dimension > xdim" GL ES rule to limit to the power of two greater than xdim instead of less than it.
git-svn-id: https://svn.eduke32.com/eduke32@5711 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-04 00:25:10 +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
b529af4b55 In polymost_glinit, pass a dummy 4x4 texture to uploadtexture in order to detect what compressed texture formats are acceptable without wasting time compressing the first texture it encounters, such as the 3D Realms screen, in case the graphics chip won't take it.
git-svn-id: https://svn.eduke32.com/eduke32@5704 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-02 18:29:32 +00:00
terminx
958cdfbcbd Tweak nofog, DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5699 1a8010ca-5511-0410-912e-c29ae57300e0
2016-04-13 04:04:07 +00:00
hendricks266
1254ce06d9 Polymost: Fix shading on ART tiles with fullbrights displayed without masking, such as on a whitewall.
git-svn-id: https://svn.eduke32.com/eduke32@5694 1a8010ca-5511-0410-912e-c29ae57300e0
2016-04-06 03:07:52 +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
terminx
e2c24bda95 Android stuff. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5661 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-14 00:07:28 +00:00
terminx
2a55c890e0 Remove a couple of apparently unncessary glPushMatrix()/glPopMatrix() calls.
git-svn-id: https://svn.eduke32.com/eduke32@5658 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-14 00:07:15 +00:00
terminx
2b357b58f1 Android work. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5652 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-14 00:06:54 +00:00
hendricks266
dd0f16875f Engine: Add one-bit alpha detection for hightile and model skins.
git-svn-id: https://svn.eduke32.com/eduke32@5649 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-07 11:22:02 +00:00
hendricks266
e9d3b4cc43 Polymost: Add r_texcompr 2, which compresses ART in addition to hightile.
git-svn-id: https://svn.eduke32.com/eduke32@5648 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-07 11:21:58 +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
c73e8c5036 Fix mistakes in r5642.
git-svn-id: https://svn.eduke32.com/eduke32@5645 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-07 11:21:46 +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
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
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
5672004ba1 Android crap. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5625 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-13 21:06:28 +00:00
terminx
0edf078f0c Fix Polymost issue reported at https://forums.duke4.net/topic/8470-weirdness-of-players-sprite-in-view-modef7/
git-svn-id: https://svn.eduke32.com/eduke32@5605 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-02 00:21:27 +00:00
hendricks266
a35f3b13dc Replace the semicolon trailing empty-bodied loops with opening and closing braces.
I believe this is the clearest way to indicate that an empty-bodied loop is intended, as opposed to the possibility of a mistaken semicolon.

This eliminates "warning: suggest a space before β€˜;’ or explicit braces around empty body in β€˜for’ statement" with GCC 4.2, which is important for old OS X versions.

git-svn-id: https://svn.eduke32.com/eduke32@5556 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-12 10:31:12 +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
28a9372a79 Enable models by default under EDUKE32_GLES, because they now work!
git-svn-id: https://svn.eduke32.com/eduke32@5528 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-08 01:33:28 +00:00