Commit graph

2180 commits

Author SHA1 Message Date
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
hendricks266
223e67983d Polymost: Fix voxels so palette colors are treated as 8-bit, not 6-bit. Overlooked in r5349.
git-svn-id: https://svn.eduke32.com/eduke32@5493 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-26 15:42:05 +00:00
terminx
81d286dcc4 Fix CLANG warnings
git-svn-id: https://svn.eduke32.com/eduke32@5491 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:28 +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
terminx
c9fefe641d Increase Polymost depth fighting mitigation offset, plus some other minor changes that shouldn't affect anything.
git-svn-id: https://svn.eduke32.com/eduke32@5482 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:51 +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
terminx
40a2780eb0 Split Polymer artmap setup into polymer_setupartmap()
git-svn-id: https://svn.eduke32.com/eduke32@5480 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:43 +00:00
terminx
61059816b8 Use a hash table for finding Polymer buckets
git-svn-id: https://svn.eduke32.com/eduke32@5479 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:39 +00:00
terminx
242b6bf870 Appease clang
git-svn-id: https://svn.eduke32.com/eduke32@5478 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:35 +00:00
hendricks266
1b8c79b0d8 Polymodes: In gloadtile_art, (1) get the current texel's index, (2) apply alpha if index == 255, (3) get the index by indexing into the specified palookup table, and then (4) apply fullbright considerations. Previously these tasks were performed in order 1432.
git-svn-id: https://svn.eduke32.com/eduke32@5467 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:18: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
4abd453bcf Fix orientation bit 64 when applied to a tile with fullbrights in OpenGL with r_fullbrights enabled.
This fixes (the most glaringly wrong problem) with WWII GI's LOGO.ANM in OpenGL, exposed by r5437.

git-svn-id: https://svn.eduke32.com/eduke32@5460 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:34 +00:00
hendricks266
a5ce52dc78 Fix compiler warnings when building for 32-bit.
git-svn-id: https://svn.eduke32.com/eduke32@5456 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:22 +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
9f2911e773 cache1d: Bikeshed some formatting in kopen_internal().
git-svn-id: https://svn.eduke32.com/eduke32@5442 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:07:57 +00:00
hendricks266
4d9b61c085 cache1d: Save the filenames of GRP and SSI files that are opened.
git-svn-id: https://svn.eduke32.com/eduke32@5441 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:07:54 +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
hendricks266
7d3cbf4f83 Polymost: Bookend the recursive call to polymost_drawpoly as part of the fullbright pass with bglDepthFunc(GL_EQUAL) and bglDepthFunc(GL_LEQUAL) to ensure that the fullbright overlay is always visible and never fights with the sprite itself.
git-svn-id: https://svn.eduke32.com/eduke32@5438 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:07:44 +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
hendricks266
f05bd1377f Polymost: Connect spriteext[].x/ypanning to model UVs (range 0-255).
git-svn-id: https://svn.eduke32.com/eduke32@5436 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:07:36 +00:00
helixhorned
6e9203ea23 Mapster32: in drawspritelabel(), use fixed background color.
Make it always one of the colors that the 2D color cycles to
(base color + offset in [0 .. 4]) instead of <base color>-3, as
that one might be in a different color ramp.

git-svn-id: https://svn.eduke32.com/eduke32@5434 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-20 20:26:52 +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
eb863ef1dc Mapster32: introduce DEF command "2dcolidxrange <col> <idx> <idxend>".
<col> is the editorcolor[] starting index
<idx> is the actual color index start
<idxend> is the actual color index end

So, editor colors from <col> onward will be mapped to
[<idx> .. min(<idxend>, 255)].

Takes precedence over '2dcol'.

git-svn-id: https://svn.eduke32.com/eduke32@5427 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:57 +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
29e16fb6c9 Mapster32: fix variable that is used uninitialized.
git-svn-id: https://svn.eduke32.com/eduke32@5423 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 17:21:15 +00:00
helixhorned
e272252664 Mapster32: remove "Ludicrous Zoom!" message when reaching max 2D zoom.
The problem is that it stays a few seconds afterwards, obscuring
information on the status line.

git-svn-id: https://svn.eduke32.com/eduke32@5421 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 17:21:13 +00:00
helixhorned
51489e44d4 Mapster32: add var 'corruptcheck_game_duke3d' and enable by default.
Currently, this checks for effector sprites that are not face-aligned.
See
https://forums.duke4.net/topic/8324-icestation-colossus-map-broken

git-svn-id: https://svn.eduke32.com/eduke32@5420 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 17:21:11 +00:00
hendricks266
72039e80ee baselayer.c: Remove nested "#ifdef USE_OPENGL"s left over from the removal of the POLYMOST macro. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5419 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-02 17:07:54 +00:00
hendricks266
86d45478d4 Polymost: Clean up formatting of parallax sky code and comments, in part so that the floor and ceiling sections are line-for-line consistent. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5417 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-01 19:56:33 +00:00
hendricks266
a07e8cfc70 Build tools/arttool: Port commit f874a10ef136f4de3c9a9cccf3eacd886bae0d2d from JFBuild: improved with info dumping and tile export
git-svn-id: https://svn.eduke32.com/eduke32@5416 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-01 19:56:30 +00:00
hendricks266
b98953cc7c Build tools/arttool: long --> int
git-svn-id: https://svn.eduke32.com/eduke32@5415 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-01 19:56:27 +00:00
hendricks266
13c7b771a3 Use the script parser for names files instead of custom parsing. This allows names files to define labels as other labels.
git-svn-id: https://svn.eduke32.com/eduke32@5414 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-01 19:56:22 +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
helixhorned
8f5c6ab05a Mapster32: in TROR-join sectors [Ctrl+J], print z difference hint.
At the very least, this makes it easier to decide for one option
("Connect yellow ceiling w/ blue floor (1) or (v)ice versa?")
when one of the differences is zero, which might have occurred from
temporarily breaking TROR links.

git-svn-id: https://svn.eduke32.com/eduke32@5412 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 15:13:33 +00:00
helixhorned
d824ddf406 Mapster32: fix fillsector() calls before fade_editor_screen().
The latter allows one to specify a color to keep, but with r5302 the
fillsector() highlights are drawn with transparency, thus making it ineffective.
Add an argument to toggle transparency to fillsector()
(now fillsector_maybetrans()) and two wrapper functions.

git-svn-id: https://svn.eduke32.com/eduke32@5411 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 15:13:32 +00:00
helixhorned
d9d8a56abf Mapster32: don't offer to "Insert outer loop and make red walls" w/ RAlt+RCtrl.
This feature only makes sense with the complete de-selection of a set of
sectors, i.e. when pressing RAlt to do this, not adding or removing sectors
to/from the set of already highlighted ones.

git-svn-id: https://svn.eduke32.com/eduke32@5410 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 15:13:29 +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
f22dbc6fdb Add r_pr_lighting 2, which disables the hard-coded lights while leaving lights added in maps enabled.
This also adds a menu option to control r_pr_lighting.

git-svn-id: https://svn.eduke32.com/eduke32@5406 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:21 +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
5b24fc4f42 Improve depth fighting mitigation for floor aligned sprites.
git-svn-id: https://svn.eduke32.com/eduke32@5403 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:10 +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
terminx
b166a13d50 Tweak the amount that distance is factored in when mitigating depth fighting in Polymost.
git-svn-id: https://svn.eduke32.com/eduke32@5398 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-21 19:54:06 +00:00
terminx
6bf2a897c6 Minor cleanup to previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5396 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-21 19:53:57 +00:00
terminx
38080520ef Additional depth fighting mitigation for face sprites
git-svn-id: https://svn.eduke32.com/eduke32@5395 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:28 +00:00
terminx
0a59779460 Sort tsprites by owner as a replacement for the sort by statnum removed by Helixhorned a while back. Seems sensible enough...
git-svn-id: https://svn.eduke32.com/eduke32@5394 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:25 +00:00