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
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
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
32ba947b4b
Fix cstat 1024 in classic and Polymer
...
git-svn-id: https://svn.eduke32.com/eduke32@5484 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:58 +00:00
hendricks266
0646835719
Polymost: Remove "indrawroomsandmasks" variable and its only use in polymost_drawpoly as a condition for the fullbright pass.
...
git-svn-id: https://svn.eduke32.com/eduke32@5437 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:07:41 +00:00
helixhorned
f8076f9207
Mapster32: honor "blocking color" declared with DEF 'spritecol' et al.
...
Meaning tilegroup's 'colors' directive.
Also, to the packaged tiles.cfg, add a description of how to emulate the
earlier Mapster32 sprite coloring for one tile group.
git-svn-id: https://svn.eduke32.com/eduke32@5429 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:59 +00:00
helixhorned
5e61b28ebc
Mapster32: in drawscreen_drawsprite(), "sprite[j]." -> "spr->".
...
Also a similar stylistic tweak in parsetilegroups().
git-svn-id: https://svn.eduke32.com/eduke32@5426 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:56 +00:00
helixhorned
185262be73
Mapster32: formatting changes around 2D sprite/wall color code.
...
git-svn-id: https://svn.eduke32.com/eduke32@5425 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:54 +00:00
helixhorned
3a7ed49c9a
Mapster32: various stylistic tweaks, no functional changes. DONT_BUILD.
...
git-svn-id: https://svn.eduke32.com/eduke32@5413 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 19:35:25 +00:00
terminx
ad8da7be99
Fix cstat 1024 with Polymer
...
git-svn-id: https://svn.eduke32.com/eduke32@5407 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:25 +00:00
terminx
3ae7f7ade3
Check whether the sprite is a wall, floor, or face sprite when deciding whether to bump it ahead of another entry based on position and owner.
...
git-svn-id: https://svn.eduke32.com/eduke32@5405 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:16 +00:00
terminx
7eec6b36a5
Sprite sorting changes:
...
-Sort by owner now occurs only when two sprites have matching x/y coordinates.
-Cstat 1024 now activates a special drawing mode that indicates a sprite should be drawn without depth after all other sprites have been drawn. The previous cstat 1024 functionality, an internal hack for shadows cast by models in Polymost, has been moved to bit 1 of a new graphical effects bitfield stored in a tsprite's .extra member.
git-svn-id: https://svn.eduke32.com/eduke32@5400 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-21 19:54:14 +00:00