Commit graph

5343 commits

Author SHA1 Message Date
terminx
7bbd2c8ffd Misc cleanup, add shorthand versions of getplayer, getactor, etc.
git-svn-id: https://svn.eduke32.com/eduke32@5505 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:24 +00:00
terminx
08ea5c4242 Fix MSVC warning. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5504 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:20 +00:00
terminx
174c556e2d No longer link to GOG.com when no game data is found. :(
git-svn-id: https://svn.eduke32.com/eduke32@5503 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:17 +00:00
terminx
1d57de831a Treat "[]" as "[THISACTOR]" when accessing structure members through CON.
git-svn-id: https://svn.eduke32.com/eduke32@5502 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-03 20:07:11 +00:00
terminx
14938ea5fd Add "klabs" keyword to CON, to take a gamevar and set it to its absolute value. The internal "inv" function to invert a gamevar's value has also been exposed externally.
git-svn-id: https://svn.eduke32.com/eduke32@5501 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-02 01:56:29 +00:00
terminx
01ebee280e Add commands added in previous commit to g_keywdate[], clean up a few CON compilation warning messages
git-svn-id: https://svn.eduke32.com/eduke32@5500 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-02 01:56:25 +00:00
terminx
7c976018be Adds the following keywords from M32script into CON: shiftvarvarl, shiftvarvarr, ifvarvarle, ifvarvarge, ifvarvarboth, whilevarl, and whilevarvarl.
This also adds the shorthand versions of some commands, like "set" for "setvarvar", "add" for "addvarvar", "ife" for "ifvarvare", etc. There are about 30 of these. Because some of these names may already be used in some projects as variable names, this revision also includes a somewhat large change in variable naming rules: gamevars may now have the same names as CON keywords, with the caveat that the masked keyword is no longer accessible. This results in a warning at compile time but should ensure nobody's project ever stops compiling due to the introduction of new keywords.

git-svn-id: https://svn.eduke32.com/eduke32@5499 1a8010ca-5511-0410-912e-c29ae57300e0
2016-01-02 01:56:20 +00:00
terminx
0871e56b92 Projectile changes:
-palette is now set at spawn time, instead of during movement (oops!)
-projectiles can no longer hit their owner during their first tic of movement

git-svn-id: https://svn.eduke32.com/eduke32@5498 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-28 02:04:41 +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
1d17d2c6f6 Polymer lighting tweaks, mostly internal.
git-svn-id: https://svn.eduke32.com/eduke32@5496 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-28 02:04:29 +00:00
hendricks266
0075e746ba Mapster: Don't restrict setgamepalette to the range [0, 3].
git-svn-id: https://svn.eduke32.com/eduke32@5495 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-26 15:42:13 +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
hendricks266
aac1900472 Add new spriteflag SFLAG_GREENSLIMEFOOD = 8388608, which controls whether GREENSLIME will eat a given actor.
The flag is automatically set on LIZTROOP, LIZMAN, PIGCOP, and NEWBEAST, in a similar fashion as SFLAG_NOWATERDIP (r4956) and SFLAG_NODAMAGEPUSH (r4371).

git-svn-id: https://svn.eduke32.com/eduke32@5492 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-26 15:41:59 +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
f64a397b34 Fix issue with sin/cos CON commands that prevented using the special builtin structure shortcut access vars for input.
git-svn-id: https://svn.eduke32.com/eduke32@5490 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:24 +00:00
terminx
97c4b40ca2 Add vm_player, vm_sprite and vm_distance to get/setuserdef. This controls the sprite and player referenced by things like "THISACTOR", all of the "ifp" conditionals, per-actor gamevar access, etc. This is intended to be used to un-gimp things like EVENT_WORLD.
git-svn-id: https://svn.eduke32.com/eduke32@5489 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:20 +00:00
terminx
6f43820a12 VS solution update. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5488 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:16 +00:00
terminx
b0cb97acb6 Draw frame at level start after EVENT_LOADPLAYER instead of before.
git-svn-id: https://svn.eduke32.com/eduke32@5487 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:13 +00:00
terminx
49dd9ca9b7 Change references to eduke32.sourceforge.net to www.eduke32.com
git-svn-id: https://svn.eduke32.com/eduke32@5486 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:06:09 +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
febd50cc18 Add "restartmap" console command
git-svn-id: https://svn.eduke32.com/eduke32@5483 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:55 +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
terminx
760ea6c313 Polymer light tweaks
git-svn-id: https://svn.eduke32.com/eduke32@5477 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:31 +00:00
terminx
48254ccb3d Fix FIRELASER spawning multiple Polymer lights
git-svn-id: https://svn.eduke32.com/eduke32@5476 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:27 +00:00
terminx
3b47e9d652 Move vsync option to video setup
git-svn-id: https://svn.eduke32.com/eduke32@5475 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-23 04:05:21 +00:00
hendricks266
971d5b6fac Prune the dynamic tile name system in the same manner as sounds were pruned in the previous commit and r4748.
git-svn-id: https://svn.eduke32.com/eduke32@5474 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:19:11 +00:00
hendricks266
334c98c054 Remove the __STATIC macros of dynamic sounds pruned in r4748.
git-svn-id: https://svn.eduke32.com/eduke32@5473 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:19:08 +00:00
hendricks266
70d51ddf02 Remove three unused-in-the-source dynamic sound variables partially forgotten in r4748.
git-svn-id: https://svn.eduke32.com/eduke32@5472 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:19:05 +00:00
hendricks266
3473580f5f Menus: When RETURN is set to INT32_MIN in EVENT_CHANGEMENU, cancel any animations in addition to not changing the current menu.
git-svn-id: https://svn.eduke32.com/eduke32@5471 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:19:02 +00:00
hendricks266
1ea0796b43 Name map best time entries in the cfg by MD4 checksum instead of filename.
Existing filename-demarcated personal bests are still read as a fallback if an MD4 is not found, but only MD4 entries are written.

Fans of both Lunar Apocalypse and Nuclear Winter should sort out the MapTimes section of their cfg file manually.

git-svn-id: https://svn.eduke32.com/eduke32@5470 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:18:59 +00:00
hendricks266
a5367ed600 Fix two bugs in SCRIPT_GetNumber that cause it to issue an incorrect return value.
git-svn-id: https://svn.eduke32.com/eduke32@5469 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:18:56 +00:00
hendricks266
00bc250811 Duke3D: Add globalgameflag 4, DUKE3D_NO_PALETTE_CHANGES. This disallows the game from performing its usual modification to palette data after loading it, mainly the transparent color.
If you use this flag, make sure your transparent color it set exactly as you would like it to be used in cases like those presented in the previous commit.

git-svn-id: https://svn.eduke32.com/eduke32@5468 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-20 05:18:53 +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
043656688f Add test cases for previous commit: transhacktest.map and .m32
git-svn-id: https://svn.eduke32.com/eduke32@5466 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:53:02 +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
0ddba3388f Factor out common handling of the end-of-level between sectors tagged 65535 and 65534, switches tagged 65535, and nukebuttons.
This fixes the bug with user maps ending in 65534-tagged sectors, reported by FistMarine: https://forums.duke4.net/topic/8367-end-of-level-bug/
It also eliminates dead code belonging to the nukebutton.

git-svn-id: https://svn.eduke32.com/eduke32@5463 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:52:51 +00:00
hendricks266
cbcef42656 Fix unused global variables in menus.c with DROIDMENU defined.
git-svn-id: https://svn.eduke32.com/eduke32@5462 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:52:47 +00:00
hendricks266
6a6bfc72fd Fix an unused variable in menus.c with USE_OPENGL=0.
git-svn-id: https://svn.eduke32.com/eduke32@5461 1a8010ca-5511-0410-912e-c29ae57300e0
2015-12-04 11:52:43 +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
38dd14b124 More NAM/WWII GI "bluefont" xbetween fixes missed in r5452.
git-svn-id: https://svn.eduke32.com/eduke32@5459 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:31 +00:00
hendricks266
27c646b5a7 Fix a compiler error on introduced in r5445.
git-svn-id: https://svn.eduke32.com/eduke32@5458 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:28 +00:00
hendricks266
33755d847b Fix typo in r5448.
git-svn-id: https://svn.eduke32.com/eduke32@5457 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:25 +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
aac7301af8 WWII GI: Use "GI2" as the cheat prefix instead of "WW2" because W conflicts with WSAD movement.
git-svn-id: https://svn.eduke32.com/eduke32@5455 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-28 09:06:17 +00:00
hendricks266
ff12dd11f4 Duke3D/Startup: Autodetect the installation path of the World War II GI release on Steam. Windows and Linux only for now, as there appears to be no OS X support.
git-svn-id: https://svn.eduke32.com/eduke32@5454 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:37 +00:00
hendricks266
0433d97a54 Implement WWII GI weapon display code.
Remaining issues with the weapons (both functionality and display):
- The "pistol", "shotgun", and "chaingun" fire too slowly.
- The flamethrower fires too quickly.
- The bazooka drop for reload is late.
- Upon starting a level, the "pistol" should show a reload frame, but it does not.

git-svn-id: https://svn.eduke32.com/eduke32@5453 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:34 +00:00
hendricks266
0fdeed231b Miscellaneous NAM and WWII GI tweaks/fixes.
Remaining issues:
- Inventory item gamefuncs still use their Duke 3D names. The buggy way custom gamefunc binds are saved and loaded needs to be addressed first.

git-svn-id: https://svn.eduke32.com/eduke32@5452 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:31 +00:00
hendricks266
4aae9378d0 Implement NAM and WWII GI's replacement cheats.
Whereas Duke starts cheats with DN, NAM starts with NVA and WWII GI starts with WW2. (Hackily: CheatKeys[] is still size 2, and the third character is at the start of every CheatString.)

The cheats hyper (NAM-only), coords, view, skill, weapons, and inventory were not originally present but since they work properly and this is EDuke32, I have re-added them. Non-working cheats are now disabled.

git-svn-id: https://svn.eduke32.com/eduke32@5451 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:28 +00:00
hendricks266
637f48e9ce Don't implicitly define GAMEFLAG_NAM for WWII GI. Instead, implement a new macro NAM_WW2GI synonymous with (NAM || WW2GI).
git-svn-id: https://svn.eduke32.com/eduke32@5450 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:24 +00:00
hendricks266
148927bb9d Restrict the right-edge widescreen clamping of the Pistol reload and Freezer to Duke Nukem 3D only: NAM and WWII GI don't need it.
git-svn-id: https://svn.eduke32.com/eduke32@5449 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:20 +00:00
hendricks266
90623c1f65 Duke3D/Startup: Instead of adding Megaton's music paths, don't remove the gameroot path and let my new S_OpenAudio take care of the SC-55 soundtrack.
git-svn-id: https://svn.eduke32.com/eduke32@5448 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:17 +00:00
hendricks266
f1a658e790 Duke3D/Startup: Clean up the Windows registry reading code.
There is no need to cache the result of a function called only once for each input.

git-svn-id: https://svn.eduke32.com/eduke32@5447 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:14 +00:00
hendricks266
6cb925a95d Duke3D/Sound: Add a hack to the previous commit so that Megaton's grabbag.voc will still upgrade to music/grabbag_voc.ogg, but its subway.voc will no longer upgrade to music/subway.ogg.
git-svn-id: https://svn.eduke32.com/eduke32@5446 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:10 +00:00
hendricks266
26aca9b291 Duke3D/Sound: Restructure S_OpenAudio to check in more paths. For each path, it performs the filename transformations and checks it does currently.
First, it will try the local path (as previously).
Second, it will check to see if the filename originally requested exists inside a GRP or SSI file (its parent), and if it does, it will check in "music/<parent's name sans extension>/".
Third, it will check in "music/".

Do not rely on this when distributing mods: These checks are hacks and may potentially be removed.

git-svn-id: https://svn.eduke32.com/eduke32@5445 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:07 +00:00
hendricks266
fcd7b2e0b1 Duke3D/Sound: Make kopen4loadfrommod a tail-call from S_UpgradeFormat, rename the function to S_OpenAudio, and replace 4x calls to one and then the other. No functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@5444 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-25 12:08:04 +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
48e73c65df player.c: factor out large A_ShootWithZvel() block into A_ShootHardcoded()
The block is taken over verbatim; 'vec3_t srcvect' is passed by value.

The primary purpose of this is that it's easier to compare custom projectile
behavior in A_ShootCustom() with the hardcoded one by reading the code
of these two functions. For example, this may be of use to modders wishing
to emulate a hardcoded projectile.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5435 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-21 12:42:47 +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
6123d0b904 Mapster32: add byte array editorcolors[256] to m32script variables.
This makes it possible to set up editor colors at startup (from
m32_autoexec.cfg). For example:

 script_expertmode 1
 do for i range 256 ifge i 33 { set editorcolors[i] i }
 script_expertmode 0

Use this method in the description of how to get old-style 2D colors
in tiles.cfg and suggest an alternative color index pair.

git-svn-id: https://svn.eduke32.com/eduke32@5433 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-20 20:26:51 +00:00
helixhorned
56672fd5e2 Mapster32: make 'script_expertmode' require an argument (0 or 1) to toggle.
Without an argument, it prints the current state.

git-svn-id: https://svn.eduke32.com/eduke32@5432 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-20 20:26:49 +00:00
helixhorned
f98af5622a In package/sdk/tiles.cfg, use the right word for "remove commenting".
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5431 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-15 15:14:51 +00:00
helixhorned
5aae37c4c5 Mapster32: changes to aid getting the old color scheme (by customizing).
- bump MAX_TILE_GROUP_ENTRIES to MAXUSERTILES
- in loadtilegroups(), only assign a tile color if it wasn't already
  assigned
- allow "hidden" tile groups by omitting the hotkey
- Tweak the description added to tiles.cfg

git-svn-id: https://svn.eduke32.com/eduke32@5430 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:41:00 +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
ff87574df2 Mapster32: in a.m32, draw color info ("set showpal 1") more informatively.
- draw ticks above the palette "ruler"
- draw all editor colors (colors in editorcolor[])

git-svn-id: https://svn.eduke32.com/eduke32@5428 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 23:40:58 +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
22724d7841 Fix POLYMER=0 build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5424 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 19:54:27 +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
d204b6df99 premap.c: on prelevel(), clear bits 16 and 32 of effector sprites.
git-svn-id: https://svn.eduke32.com/eduke32@5422 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 17:21:14 +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
4ef39c8bb8 astub.c: Fix typos in console function definitions. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5418 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-02 17:07:50 +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
b9802a79df Oops, forgot one. ;)
git-svn-id: https://svn.eduke32.com/eduke32@5409 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-24 00:35:19 +00:00
terminx
f5346f4732 Menu options to control Polymer light and shadow counts
git-svn-id: https://svn.eduke32.com/eduke32@5408 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-24 00:30:35 +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
e742b42ef9 Disable Polymer lights attached to hidden switches.
git-svn-id: https://svn.eduke32.com/eduke32@5404 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:13 +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
c57be0fbdd Don't spawn BLOODPOOL 256 units above the ground.
git-svn-id: https://svn.eduke32.com/eduke32@5402 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:06 +00:00
terminx
a2076027dd Fix errant use of tsprite extra field to check an enemy's health.
git-svn-id: https://svn.eduke32.com/eduke32@5401 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-23 23:00:02 +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
aaa6f57e62 Add colmatch to Android Makefile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5399 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-21 19:54:09 +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
87c8e86d44 Improve the behavior of the BLOODSPLAT family of sprites. This improves the effect so that the blood doesn't stutter when it moves, and no longer occasionally appears to climb back up the wall for a fraction of a second.
git-svn-id: https://svn.eduke32.com/eduke32@5397 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-21 19:54:02 +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
terminx
3975df6d2d Fix SE17 warp elevator transition jumps.
git-svn-id: https://svn.eduke32.com/eduke32@5393 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:21 +00:00
terminx
72cea8b6b8 Fix up bloodsplat and decal positioning a bit. Nasty hacks removed. Yay.
git-svn-id: https://svn.eduke32.com/eduke32@5392 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:18 +00:00
terminx
45644d25e5 New attempt at fixing the depth fighting with wall and floor-aligned sprites.
git-svn-id: https://svn.eduke32.com/eduke32@5391 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:15 +00:00
terminx
483e2d17f2 Add colmatch.c to VS project. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5390 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:12 +00:00
terminx
a94a292820 Fix pathsearchmode in Mapster32 when using a .def which loads a .grp.
git-svn-id: https://svn.eduke32.com/eduke32@5389 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:08 +00:00
terminx
0f427b8ebd Set hit data on spawned decals
git-svn-id: https://svn.eduke32.com/eduke32@5388 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:05 +00:00
terminx
470449a963 Fix saving and loading crosshaircolor, and fix fps counter color when using a palette that doesn't correspond to Duke3D's color indexes.
git-svn-id: https://svn.eduke32.com/eduke32@5387 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:15:01 +00:00
terminx
49bc51a56d Add colmatch object to MSVC Makefile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5386 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:14:56 +00:00
terminx
e30ab0068e Mapster32: fix 2d3d mode input issue when sector is -1
git-svn-id: https://svn.eduke32.com/eduke32@5385 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-20 07:14:52 +00:00
hendricks266
f2a99dec75 Fix a crash in the editor when the basepalette is loaded from def instead of PALETTE.DAT, caused by trying to getclosestcol() without having initialized the colormatching code. Exposed in r5359; previously resulted only in erroneous matching to an all-#000000 palette.
git-svn-id: https://svn.eduke32.com/eduke32@5384 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:57 +00:00
hendricks266
d58bfb59dd Since gcc 4.2 complains about it on OS X 10.7, use initputs instead of initprintf when printing a single argument, even if it is already char const *.
git-svn-id: https://svn.eduke32.com/eduke32@5383 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:54 +00:00
hendricks266
d7f82d9898 Always compile with "-Wno-missing-braces", as the warnings it hides are useless. "-Wmissing-field-initializers" (part of "-Wextra") should cover us.
git-svn-id: https://svn.eduke32.com/eduke32@5382 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:51 +00:00
hendricks266
6f51a571aa Fix two unused function warnings in mdsprite.c when building with POLYMER=0.
git-svn-id: https://svn.eduke32.com/eduke32@5381 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:49 +00:00
hendricks266
d6f06b9123 OS X: Fix -Wdeprecated-declarations compiler warnings in the startup windows.
git-svn-id: https://svn.eduke32.com/eduke32@5380 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:46 +00:00
hendricks266
f149bb0fbc OS X: Fix POLYMER=0 build.
git-svn-id: https://svn.eduke32.com/eduke32@5379 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:41 +00:00
hendricks266
6f0b135140 Fix warning: explicitly assigning value of variable of type 'CACHE1D_FIND_REC *' (aka '_CACHE1D_FIND_REC *') to itself [-Wself-assign]
git-svn-id: https://svn.eduke32.com/eduke32@5378 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:38 +00:00
hendricks266
b6ba1fc36a Fix some critical mistakes in my new def code (r5351 and r5367) caused by gaps in my attention.
git-svn-id: https://svn.eduke32.com/eduke32@5377 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:36 +00:00
hendricks266
a0018555ee Split the colormatching portion of getclosestcol_lim into getclosestcol_nocache_lim in case speed is desired when processing an image with mostly unique colors.
git-svn-id: https://svn.eduke32.com/eduke32@5376 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:32 +00:00
hendricks266
07a2ccd79b Duke: Add globalgameflag DUKE3D_NO_HARDCODED_FOGPALS, which prevents the game from automatically defining white, red, green, and blue fogpals in the first four adjacent empty palookup slots it finds.
git-svn-id: https://svn.eduke32.com/eduke32@5375 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:19 +00:00
hendricks266
9f1d12eb2c Add globalgameflags to Duke-Mapster32's game-side def parsing.
git-svn-id: https://svn.eduke32.com/eduke32@5374 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:16 +00:00
hendricks266
f232b2fa51 Move PaletteIndexFullbrights back into the engine and autodetect fullbrights instead of hardcoding them.
git-svn-id: https://svn.eduke32.com/eduke32@5373 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:13 +00:00
hendricks266
ac6cd00f7c Makefile: Automatically disable ASM when "arm" is found in uname -m on Linux.
git-svn-id: https://svn.eduke32.com/eduke32@5372 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:08 +00:00
hendricks266
38fa1454d8 Reverse the iteration direction of the getclosetcol fallback loop, preferring the tiebreaking color to be the first one numerically in the palette, not the last.
git-svn-id: https://svn.eduke32.com/eduke32@5371 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:05 +00:00
hendricks266
9991201f04 Fix a typo in loadpalette that broke reading of the lognumalphatabs byte.
git-svn-id: https://svn.eduke32.com/eduke32@5370 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:53:02 +00:00
hendricks266
5c09daf294 Add forgotten newlines to error messages in loadpalette().
git-svn-id: https://svn.eduke32.com/eduke32@5369 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:52:59 +00:00
hendricks266
8437d22bf2 Before aliasing empty palookups to #0, check existing ones if they are identical to #0, and if so, also alias them. This saves memory in Polymost with tileshades enabled.
git-svn-id: https://svn.eduke32.com/eduke32@5368 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:52:56 +00:00
hendricks266
cac05f8305 Defs: Add "undef" subtokens to and undef-range versions of basepalette, palookup, and blendtable.
git-svn-id: https://svn.eduke32.com/eduke32@5367 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-03 11:52:51 +00:00
hendricks266
3a8cd4ccb0 Defs: Add "numalphatables" token, which serves the same purpose as the lognumalphatabs byte in PALETTE.DAT.
git-svn-id: https://svn.eduke32.com/eduke32@5366 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:24 +00:00
hendricks266
8f3ee25ae0 Fix error in r5346 that broke the MoreBlendTab section of PALETTE.DAT.
git-svn-id: https://svn.eduke32.com/eduke32@5365 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:21 +00:00
hendricks266
b0bde3ace5 Fix RENDERTYPE=WIN build by changing a const char* to a char*, which had been cast to (void *) before passing to free() (which is bad practice) prior to r5352.
git-svn-id: https://svn.eduke32.com/eduke32@5364 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:19 +00:00
hendricks266
a43cd066fb Build tools: Clean up transpal and link it to colmatch.c instead of including a separate copy of the (old!) getclosestcol code.
git-svn-id: https://svn.eduke32.com/eduke32@5363 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:16 +00:00
hendricks266
ff416551ce Split the initialization of the pragma.h's libdivide tables into its own function.
git-svn-id: https://svn.eduke32.com/eduke32@5362 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:12 +00:00
hendricks266
ed734ccd98 Build tools/OS X: Fix build by satisfying compat.c's dependence on osxbits.m.
git-svn-id: https://svn.eduke32.com/eduke32@5361 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:09 +00:00
hendricks266
3ef5586af7 Build tools/Windows: Fix text outout by compiling without -mwindows.
git-svn-id: https://svn.eduke32.com/eduke32@5360 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:18:06 +00:00
hendricks266
5f2b662c77 Split the getclosestcol functions into a new object, colmatch.
git-svn-id: https://svn.eduke32.com/eduke32@5359 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:17:59 +00:00
hendricks266
b7b37f882a Update Xcode project to reflect recent filename changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5358 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-26 00:21:22 +00:00
hendricks266
c754c3a95d Defs: Clean up the animtilerange token so that it is possible to specify backward animations in the logical tile1 > tile2 way.
git-svn-id: https://svn.eduke32.com/eduke32@5357 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:32:01 +00:00
hendricks266
59a4f0e8ba Defs: Fix a bug with the tilefromtexture { texture } subtoken, where alphacut was interpreted in an inverse fashion, generally causing hightile textures defined this way to appear completely transparent.
git-svn-id: https://svn.eduke32.com/eduke32@5356 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:58 +00:00