Commit graph

771 commits

Author SHA1 Message Date
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00
hendricks266
777d764702 Don't define getangle as __fastcall under Lunatic in order to avoid "Warning: resolving _getangle by linking to @getangle@8".
git-svn-id: https://svn.eduke32.com/eduke32@6023 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-23 11:20:03 +00:00
hendricks266
93edc7a241 Fix the interaction between the definitions of the NEW_MAP_FORMAT structs and the structure trackers.
git-svn-id: https://svn.eduke32.com/eduke32@5999 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-05 05:30:00 +00:00
hendricks266
7c76b0fc42 Lunatic, KenBuild, SW: window([xy])([12]) --> windowxy$2.$1
git-svn-id: https://svn.eduke32.com/eduke32@5984 1a8010ca-5511-0410-912e-c29ae57300e0
2017-01-05 05:29:06 +00:00
hendricks266
e258ca51f8 Rename E_PostInitTables back to E_PostInit and move it back to where it belongs in engine.c (i.e. preinitengine, initengine, "postinitengine"). It should not have been changed.
git-svn-id: https://svn.eduke32.com/eduke32@5952 1a8010ca-5511-0410-912e-c29ae57300e0
2016-12-26 06:01:32 +00:00
hendricks266
a25198d913 Engine: Add #ifdef USE_OPENGL forgotten in r5024 that causes an OOB access in scansector() and glitchy mirrors with USE_OPENGL=0.
git-svn-id: https://svn.eduke32.com/eduke32@5917 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-29 16:59:21 +00:00
hendricks266
b74c0abd8d Engine: Add vox_undefine().
git-svn-id: https://svn.eduke32.com/eduke32@5914 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-25 05:43:50 +00:00
hendricks266
8a995219de Amend r5910 so that the problem is mitigated even when the map load takes place with a different renderer.
git-svn-id: https://svn.eduke32.com/eduke32@5913 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-25 05:43:46 +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
6c6fdec733 To avoid potential compiler bugs when inlining inline assembly, remove the asm variants of msqrtasm and always use the C version. Compilers generate equivalent or better assembly, and the function is used exactly once, in a routine called during startup.
git-svn-id: https://svn.eduke32.com/eduke32@5909 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-23 19:47:36 +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
5381e729f8 Add a new aligned mode to alphatabs by defining numalphatabs to be a power of two minus one.
This provides fractionally better correspondence between 0-255 alpha values and blend table IDs.

git-svn-id: https://svn.eduke32.com/eduke32@5890 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-14 07:40:32 +00:00
hendricks266
9906b71023 Rigor-up the handling of 0% and 100% alpha with alphatabs in 8-bit.
git-svn-id: https://svn.eduke32.com/eduke32@5889 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-14 07:33:30 +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
2025aab189 In 8-bit, change the precedence of .alpha and .blend.
Previously: Non-zero alpha stacked with cstat translucency in an imitation of Polymost, potentially clobbering .blend if alphatabs are used.
Now: If cstat translucency is active, .alpha is ignored.

git-svn-id: https://svn.eduke32.com/eduke32@5887 1a8010ca-5511-0410-912e-c29ae57300e0
2016-10-09 07:55:18 +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
hendricks266
972c92dc6a Fix ghost tsprite bug introduced in previous commit.
git-svn-id: https://svn.eduke32.com/eduke32@5858 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-09 12:01:30 +00:00
hendricks266
bca7e1a91e Finish what r5484 started but got reverted in r5723. Cstat 1024 now works properly in Polymost without causing any side effects in Classic. It remains unimplemented in Polymer.
git-svn-id: https://svn.eduke32.com/eduke32@5857 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-09 03:12:23 +00:00
hendricks266
b73f2f3e17 Reinstitute the cosmetic cleanups that should have been a separate commit from r5484 and were reverted in r5723.
git-svn-id: https://svn.eduke32.com/eduke32@5856 1a8010ca-5511-0410-912e-c29ae57300e0
2016-09-09 03:12:20 +00:00
terminx
3c34256867 Fix a software mode crash bug involving bad animation flags set on tiles
git-svn-id: https://svn.eduke32.com/eduke32@5836 1a8010ca-5511-0410-912e-c29ae57300e0
2016-08-27 01:42:07 +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
helixhorned
46f39b725c engine.c: fix potential smostwall[-1] access. Found by ASan.
git-svn-id: https://svn.eduke32.com/eduke32@5807 1a8010ca-5511-0410-912e-c29ae57300e0
2016-07-04 14:09:05 +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
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
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
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
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
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
2d9f205c69 Revert bad attempt at fixing cstat 1024
git-svn-id: https://svn.eduke32.com/eduke32@5723 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-13 22:15:20 +00:00
hendricks266
0331870c1b A quick hack so that Mapster can load more pre-v7 PALETTE.DAT files.
git-svn-id: https://svn.eduke32.com/eduke32@5718 1a8010ca-5511-0410-912e-c29ae57300e0
2016-05-05 19:50:22 +00:00
terminx
6363de0a4c Fix drawing voxels with ids >= 256
git-svn-id: https://svn.eduke32.com/eduke32@5671 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-16 00:22:44 +00:00
terminx
34f208afa2 Make sprite tails and label borders purple if the sprite is blocking.
git-svn-id: https://svn.eduke32.com/eduke32@5670 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-15 22:17:04 +00:00
terminx
99cb974d0c Fix Mapster32 sprite selection colors when using a tiles.cfg that defines tile groups using colors from the bright half of the original 16-color palette.
In layman's terms, this fixes the effect sprites flashing black in 2d mode.

git-svn-id: https://svn.eduke32.com/eduke32@5669 1a8010ca-5511-0410-912e-c29ae57300e0
2016-03-14 00:08:02 +00:00
terminx
facae6f175 Add some debug assertions for the hash table stuff.
git-svn-id: https://svn.eduke32.com/eduke32@5624 1a8010ca-5511-0410-912e-c29ae57300e0
2016-02-13 21:06:21 +00:00
hendricks266
a61d1b6a11 Lunatic: Fix discarded-qualifiers warnings.
git-svn-id: https://svn.eduke32.com/eduke32@5591 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-27 07:30:28 +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
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
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
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