Commit graph

3706 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
1e40b689b2 C-CON: Correct handling of size-zero gamearrays: Prevent a crash upon loading a savegame containing them, and allow resizearray to zero.
git-svn-id: https://svn.eduke32.com/eduke32@5355 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:55 +00:00
hendricks266
efe58c71f9 C-CON: Fix a harmless "Internal compiler error" warning when using quick structure access on userdef.
git-svn-id: https://svn.eduke32.com/eduke32@5354 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:52 +00:00
hendricks266
f69f1e73df CON: Add "defstate" token which functions identically as in M32script: synonymous with CON's "state" only at top-level (when defining a state). Useful for syntax highlighting.
git-svn-id: https://svn.eduke32.com/eduke32@5353 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-24 06:31:44 +00:00
hendricks266
a557eedf7e Remove NULL checks before calling free(): they are unnecessary as per the C standard. Other cleanup includes factoring code into DO_FREE_AND_NULL() macros.
git-svn-id: https://svn.eduke32.com/eduke32@5352 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:31 +00:00
hendricks266
064461a06f Internally, work with 24-bit palettes instead of 18-bit.
git-svn-id: https://svn.eduke32.com/eduke32@5349 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:11 +00:00
hendricks266
c0e7dba4c1 Restructure the basepaltable subsystem to support up to 256 palettes and use dynamic allocation like palookup and blendtable.
git-svn-id: https://svn.eduke32.com/eduke32@5348 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:02 +00:00
hendricks266
2a237a3d72 Don't error out when lookup.dat can't be read.
git-svn-id: https://svn.eduke32.com/eduke32@5347 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:55 +00:00
hendricks266
ce7a20d4f2 Restructure loadpalette() so that read errors are not immediately fatal and enforce that the necessary parts have been loaded in E_PostInit (after loaddefinitionsfile()).
git-svn-id: https://svn.eduke32.com/eduke32@5346 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:50 +00:00
hendricks266
43459780af Engine: Add E_PostInit, called from the game after loaddefinitionsfile().
git-svn-id: https://svn.eduke32.com/eduke32@5345 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:42 +00:00
helixhorned
5ea8625c37 Mapster32: call update_highlightsector() after 3D mode RCtrl+RAlt.
git-svn-id: https://svn.eduke32.com/eduke32@5343 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-08 17:54:32 +00:00
hendricks266
c82d98fc77 Update the precompiled Windows libraries: libogg 1.3.2, libvorbis 1.3.5
git-svn-id: https://svn.eduke32.com/eduke32@5342 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-08 02:58:10 +00:00
hendricks266
51059b3896 Reinstate the printing of quote 121 when DNKEYS is used.
git-svn-id: https://svn.eduke32.com/eduke32@5340 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-08 02:57:56 +00:00
helixhorned
1ea397d0b4 Mapster32: RCtrl+RAlt (+['] or [;]) selects sectors in 3D mode, by The Mechanic.
git-svn-id: https://svn.eduke32.com/eduke32@5339 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-05 08:30:59 +00:00
helixhorned
0943cd0e3f Mapster32: in manual member editing, Shift+ENTER allows toggling individual bits
For values that are displayed in hex.
Patch by The Mechanic, with modifications.

git-svn-id: https://svn.eduke32.com/eduke32@5338 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-30 07:24:53 +00:00
helixhorned
80aa6eca58 CON: amend action's viewtype -8 to be more in line with the others.
git-svn-id: https://svn.eduke32.com/eduke32@5337 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-29 17:43:42 +00:00
helixhorned
c1a54c60db CON: allow viewtype -8 for 'action', meaning to x-flip the shown sprite.
Similarly to how -5 and -7 and are accepted since r3859.

git-svn-id: https://svn.eduke32.com/eduke32@5335 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-29 10:21:52 +00:00
hendricks266
4ed33de69d Amend r5330.
git-svn-id: https://svn.eduke32.com/eduke32@5334 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-18 07:09:04 +00:00
hendricks266
c052540d42 Fix USE_OPENGL=0 build.
git-svn-id: https://svn.eduke32.com/eduke32@5332 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:49 +00:00
hendricks266
2303da6d7c Menus: Mostly revert r5326, and instead restrict the starting and stopping text input to touch devices where we need the on-screen keyboard to appear. This maintains the bugfix on targets with a physical keyboard.
git-svn-id: https://svn.eduke32.com/eduke32@5331 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:31 +00:00
hendricks266
bb4977cc9f Fix the Custom game content directory startup window option loading the folder alphabetically previous to the one selected when the "autoload" folder is present.
git-svn-id: https://svn.eduke32.com/eduke32@5330 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:17 +00:00
hendricks266
4360b89fb5 M32: Add EVENT_PREDRAW2DSCREEN.
git-svn-id: https://svn.eduke32.com/eduke32@5329 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:05 +00:00
hendricks266
8f82bc5239 KenBuild: Astyle and Uncrustify all source.
git-svn-id: https://svn.eduke32.com/eduke32@5327 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:27:27 +00:00
helixhorned
8fb903a83a Menus: don't enable/disable SDL text input.
At program start, text input is enabled anyway and it does not seem to have any
adverse effects. However, disabling it after e.g. game save leads to the OSD
not working properly any more: normal keys are passed via handleevent_pollsdl's
SDL_TEXTINPUT case.

git-svn-id: https://svn.eduke32.com/eduke32@5326 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:47 +00:00
helixhorned
9b68ee5693 Menus: don't repeat #ifdef/#endif for SDL_{Start,Stop}TextInput().
git-svn-id: https://svn.eduke32.com/eduke32@5325 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:46 +00:00
helixhorned
ae56faf0ad Lunatic: in test/helixspawner.lua, make COLOR a global variable. DONT_BUILD.
To demonstrate and test that it can be modified from outside, and that
these changes are kept with savegame restores.

git-svn-id: https://svn.eduke32.com/eduke32@5322 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:41 +00:00
helixhorned
e8623165a7 Mapster32: add config variable 'corruptcheck_heinum'.
With 3 modes:
 0: auto-correction and warning disabled
 1: auto-correction enabled (default, current behavior)
 2: auto-correction and warning enabled

git-svn-id: https://svn.eduke32.com/eduke32@5320 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-08 07:04:14 +00:00
helixhorned
212343b390 Game: make BOUNCEMINE spawn FRAMEEFFECT only if moving horizontally.
Also add "zshoot -4096 BOUNCEMINE" to lunatic/test/weaponvars.con
to demonstrate that bouncemines can be shot.

git-svn-id: https://svn.eduke32.com/eduke32@5319 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-08 07:04:11 +00:00
terminx
b8442f0b67 Revert r5316 which completely broke BOUNCEMINE.
git-svn-id: https://svn.eduke32.com/eduke32@5318 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-02 08:50:31 +00:00
helixhorned
3730901f43 Game: don't spawn FRAMEEFFECT1 for BOUNCEMINE.
There's no point, really. Since the bouncemine is immobile, the tsprites
will all be overlaid at one point and show the same picture, as far
as I can see. Worse, since r4876, the generated sprites may draw on top
of the actual one. The former have their shade always set to
sprite[t->owner].shade though, and will then appear fully bright (shade
-127, since BOUNCEMINE sets it like this).

This fixes issue number 4 from
http://forums.duke4.net/topic/8042-five-minor-problems-report/

git-svn-id: https://svn.eduke32.com/eduke32@5316 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-02 08:40:42 +00:00
helixhorned
91f09c76c5 Game: in DNCOORDS display, show x/y/z for VEL + ps->fric x and y components.
Also, prettify some ps->fric-related code. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5313 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 19:42:54 +00:00
helixhorned
ff56964e1b Game: fix displayed viewscreen when its x/yrepeat isn't evenly divisible by 4.
git-svn-id: https://svn.eduke32.com/eduke32@5312 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:22 +00:00
helixhorned
73ca265137 Fix various, but not all warnings.
Except:
 - missing braces around initializer [-Wmissing-braces]: due to union-in-struct
   vec3f_t
 - comparison between signed and unsigned integer expressions [-Wsign-compare]:
   in polymer.c

git-svn-id: https://svn.eduke32.com/eduke32@5309 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:17 +00:00
terminx
6f9a9c94ec Mapster32: fix frame locking issue with 2d3d mode, crash when toggling bottom texture swap, issues with drawing certain types of walls.
git-svn-id: https://svn.eduke32.com/eduke32@5307 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-22 02:06:23 +00:00
terminx
e3f02e8dd5 Mapster32: fix unreadable status messages in 3d mode when working with a palette that doesn't align to Duke3d's color layout.
git-svn-id: https://svn.eduke32.com/eduke32@5304 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-20 20:25:21 +00:00
terminx
79ac071f5b Mapster32: change default 2d3d position to upper right corner, remove debug printf I accidentally committed.
git-svn-id: https://svn.eduke32.com/eduke32@5303 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 03:21:19 +00:00
terminx
480dc0ecaf Mapster32:
-Improved indication of selections in 2d mode. This includes both highlighted objects and multiple object selection.
-2d3d improvements: it's no longer possible to end up with a black view due to the z position being out of range when moving the cursor position to a new area with the right mouse button.
-The middle mouse button can now be used in place of the right alt key when selecting sectors, similar to how the left mouse button can be used in place of the right shift key to select points and sprites.
-2d mode mouse cursor has been changed to a 1 pixel thick red cross with a shadow instead of a 2 pixel thick red cross with no shadow. This improves visibility when working in textured mode with lava sectors and other textures similar in color.
-2d mode palette now changes when working in an underwater sector.
-Misc tweaks

git-svn-id: https://svn.eduke32.com/eduke32@5302 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 00:12:48 +00:00
terminx
c0aabb7494 Mapster32: don't warn about the map being corrupt if the only thing wrong with it is a sector ceilingheinum or floorheinum set without the corresponding bits to enable sloping set. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5301 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 00:12:43 +00:00
terminx
868afddbc3 Mapster32: further 2d mode performance improvements. Sprites are also now displayed with their xrepeat and yrepeat taken into account. It's not perfect yet... needs more "jiggery-pokery"
git-svn-id: https://svn.eduke32.com/eduke32@5293 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 23:07:47 +00:00
helixhorned
0419e64c0a Mapster32: fix a possible oob read via drawspritelabel; sanitize 2d3d mode.
That is, in m32_is2d3dmode(), also check if 2d and 3d mode resultions are
the same. Otherwise, oob writes (e.g. via tileinfo_doprint()) and other
thinkable niceties may ensue.

git-svn-id: https://svn.eduke32.com/eduke32@5291 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 14:13:04 +00:00
terminx
21e9125f2d Mapster32: 2d mode performance improvements
git-svn-id: https://svn.eduke32.com/eduke32@5290 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 21:19:41 +00:00
terminx
253f0b8771 Mapster32: improve 2d mode sprite label display. I want to test this further, so this is marked as DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5289 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:48 +00:00
terminx
3ff2e2155c A couple of Mapster32 tweaks to play nicer with different palettes.
git-svn-id: https://svn.eduke32.com/eduke32@5284 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-09 05:58:00 +00:00
terminx
f72dffce07 Mapster32 changes:
-2d mode sprite colors are now automatically generated from the sprite's 8-bit tile.
-Zooming in and out has been smoothed out.
-The 2d mode crosshair cursor is now 1px thick instead of 2.
-The left mouse button can now be used to select multiple wall points and sprites in 2d mode.
-Ctrl-x now skips corrupt maps instead of going into an infinite loop. ;)
-'-L function in 3d mode works again.
-Sprites with a clipdist that has been changed from the default value of 32 will display a circular approximation of the distance in 2d mode. Note that the real clipping distance is actually closer to a square, but a circle looks much less confusing/stupid alongside the display of floor sprites.
-2d mode status bar has been made a few shades lighter.

git-svn-id: https://svn.eduke32.com/eduke32@5282 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:46 +00:00
terminx
86f94d2897 New experimental Mapster32 hybrid 2D/3D mode feature. Pressing F10 in 2D mode enables a picture-in-picture 3D view in the corner of the screen. When moving the mouse over the 3D view, the controls change to 3D mode controls and all 3D mode operations can be performed. The 3D view can be resized with shift + F10 and can be moved to different positions by holding CTRL and using the arrow keys.
This commit also implements a much more useful automatic grid sizing feature and smooths out zooming in and out of the map.

git-svn-id: https://svn.eduke32.com/eduke32@5281 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:42 +00:00
terminx
d47187a92d Enable sector drawing and textured map in Mapster32 sideview mode with a sideview elevation of 512 (straight up and down).
git-svn-id: https://svn.eduke32.com/eduke32@5278 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:31 +00:00
terminx
311086da3e Minor Android changes. Barf. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5276 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:24 +00:00
terminx
a4032d234c Fix a bug where the editor was forced into game filesystem mode by default, and add a preference to mapster32.cfg to control the default filesystem mode.
git-svn-id: https://svn.eduke32.com/eduke32@5274 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:16 +00:00
terminx
bd427182db Prevent stack overflow when a grp configured via .grpinfo erroneously depends on itself. This should also be addressed in the .grpinfo parser, but this fixes it for now.
git-svn-id: https://svn.eduke32.com/eduke32@5273 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:13 +00:00
terminx
26933ecdc2 More audiolib cleanup, remove 8-bit output support.
git-svn-id: https://svn.eduke32.com/eduke32@5272 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:09 +00:00
terminx
08b101eaed Rework audiolib, interim commit before removing 8-bit output support. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5270 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:33:56 +00:00
helixhorned
f52923fb4d m32exec.c fix "multiple unsequenced modifications to 'insptr' [-Wunsequenced]".
git-svn-id: https://svn.eduke32.com/eduke32@5262 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-06 15:04:13 +00:00
terminx
b5c5611270 Fix crash when playing back an .ogg with comment metadata that doesn't contain "=".
git-svn-id: https://svn.eduke32.com/eduke32@5260 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-04 00:03:55 +00:00
hendricks266
ea82c1d897 Fix warning: narrowing conversion of 'img->vpx_image::d_w' and 'img->vpx_image::d_h' from 'unsigned int' to 'int32_t {aka int}' inside { } is ill-formed in C++11 [-Wnarrowing]
git-svn-id: https://svn.eduke32.com/eduke32@5257 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:48:07 +00:00
hendricks266
f33887b2f8 Convert multi-psky handling to use dynamically-allocated arrays.
git-svn-id: https://svn.eduke32.com/eduke32@5255 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:47:34 +00:00
hendricks266
b7b23310e3 Revert recent icon changes.
git-svn-id: https://svn.eduke32.com/eduke32@5253 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:46:44 +00:00
hendricks266
62d36cede8 Extend S_UpgradeFormat so that "filename.ext" first searches for "filename_ext.flac" and "filename_ext.ogg" before "filename.flac" and "filename.ogg".
This fixes DUKETEAM playing grabbag.ogg instead of grabbag_voc.ogg when Megaton paths have been detected.

git-svn-id: https://svn.eduke32.com/eduke32@5251 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:46:12 +00:00
hendricks266
25543b521b Add SFLAG_HURTSPAWNBLOOD, which allows actors (particularly useractor enemies) to spawn blood when hurt as hardcoded enemies do.
git-svn-id: https://svn.eduke32.com/eduke32@5250 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:59 +00:00
hendricks266
d04d31bd31 Set htg_t 6, 7, and 8 on GROWSPARK sprites upon shooting, as is done for all other hitscan projectiles.
git-svn-id: https://svn.eduke32.com/eduke32@5249 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:42 +00:00
hendricks266
ad94a8399c C-CON: Add userdef members "globalflags" and "globalgameflags", which control the values specified by the def commands of the same name.
git-svn-id: https://svn.eduke32.com/eduke32@5248 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:30 +00:00
terminx
8ad81e14ee r5238 build fix
git-svn-id: https://svn.eduke32.com/eduke32@5246 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:20 +00:00
terminx
a1b4d05c48 Minor internal CON changes.
git-svn-id: https://svn.eduke32.com/eduke32@5245 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:17 +00:00
terminx
eaa58d2071 Minor VPX playback optimization. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5244 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:13 +00:00
terminx
37bbdd500b Misc Android. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5242 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:07 +00:00
terminx
5064e8b8cd Make 'L' key toggle grid lock in 3D mode, because it affects placement of sprites inserted with 'S'.
git-svn-id: https://svn.eduke32.com/eduke32@5240 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:01 +00:00
terminx
54d016902f vec2_t rotatesprite, take 2
git-svn-id: https://svn.eduke32.com/eduke32@5239 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:47:54 +00:00
helixhorned
fe4db15536 C-CON: fix 'resizearray' after r4735: copy over old values, zero-init new ones.
Make lunatic/test/gamearray.con run in C-CON, too.

git-svn-id: https://svn.eduke32.com/eduke32@5238 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 18:58:31 +00:00
helixhorned
d27824ae3c LunaCON: fix negative alpha for 'rotatespritea'. BUILD_LUNATIC.
Conceptually, this amends r4428.

git-svn-id: https://svn.eduke32.com/eduke32@5237 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:52 +00:00
helixhorned
85be0bebec LunaCON: from 'definevolumename', make g_numVolumes be determined as in C-CON.
git-svn-id: https://svn.eduke32.com/eduke32@5236 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:51 +00:00
helixhorned
29dca07f0b CON: check EVENT_ENTERLEVEL for nonzero RETURN, run w/ other players then.
Background: AMC TC initializes per-player variables from this event.

git-svn-id: https://svn.eduke32.com/eduke32@5235 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:50 +00:00
helixhorned
1d11b6fdd6 Free alloc'd anims in h_dukeanim. Adds a function hash_loop().
git-svn-id: https://svn.eduke32.com/eduke32@5234 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:49 +00:00
helixhorned
9814e6a091 LunaCON: suffix gamearray file names with '.gar'.
git-svn-id: https://svn.eduke32.com/eduke32@5233 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:48 +00:00
helixhorned
40f177cafd LunaCON: expose g_tile[] members of 'tiledata'.
git-svn-id: https://svn.eduke32.com/eduke32@5232 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:47 +00:00
helixhorned
fd94930f14 LunaCON: implement 'clearmapstate', fix 'resetplayerflags' parsing.
git-svn-id: https://svn.eduke32.com/eduke32@5231 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-25 12:57:44 +00:00
hendricks266
7a89c58360 Re-expose clipmoveboxtracenum.
git-svn-id: https://svn.eduke32.com/eduke32@5229 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:11:02 +00:00
hendricks266
d8ee28b89d SW: Fix warning: array subscript is above array bounds [-Warray-bounds]
git-svn-id: https://svn.eduke32.com/eduke32@5228 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:10:37 +00:00
hendricks266
7f2a6a8404 SW: Fix warning: variable may be used uninitialized in this function [-Wmaybe-uninitialized]
git-svn-id: https://svn.eduke32.com/eduke32@5227 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:10:20 +00:00
hendricks266
221e58f8ad SW: Fix warning: type does not match original declaration [enabled by default]
git-svn-id: https://svn.eduke32.com/eduke32@5226 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:10:03 +00:00
hendricks266
41fcb1d32b SW: Replace calls to Error() with buildprintf().
git-svn-id: https://svn.eduke32.com/eduke32@5225 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:09:41 +00:00
hendricks266
4440fca632 SW: Update MFILE to use the same calls KenBuild uses to save.
git-svn-id: https://svn.eduke32.com/eduke32@5224 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:09:25 +00:00
hendricks266
033698eaa1 SW: Remove references to cachedebug and defaultspritecstat.
git-svn-id: https://svn.eduke32.com/eduke32@5223 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:09:07 +00:00
hendricks266
59686129bb SW: Fix warning: passing argument 1 of 'allocache' from incompatible pointer type [enabled by default] and warning: pointer targets in passing argument 3 of 'allocache' differ in signedness [-Wpointer-sign]
git-svn-id: https://svn.eduke32.com/eduke32@5222 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:08:48 +00:00
hendricks266
809b1e6f65 MACT: Fix warning: passing arguments 2 through 5 of 'SCRIPT_PutDoubleString' discards 'const' qualifier from pointer target type [enabled by default]
git-svn-id: https://svn.eduke32.com/eduke32@5221 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:08:28 +00:00
hendricks266
dd576b7319 SW: Remove redefinition of SEARCH_FLOOR and SEARCH_CEILING.
git-svn-id: https://svn.eduke32.com/eduke32@5220 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:08:13 +00:00
hendricks266
d1582b8d0f SW: Fix warning: comparison is always false due to limited range of data type [-Wtype-limits]
git-svn-id: https://svn.eduke32.com/eduke32@5219 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:07:54 +00:00
hendricks266
34aca8a222 SW: Fix warning: zero-length ms_printf format string [-Wformat-zero-length]
git-svn-id: https://svn.eduke32.com/eduke32@5218 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:07:34 +00:00
hendricks266
6b89b482b3 SW: Some GRP/def infrastructure.
git-svn-id: https://svn.eduke32.com/eduke32@5217 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:07:18 +00:00
hendricks266
0fc284d5bf SW: default_buildkeys
git-svn-id: https://svn.eduke32.com/eduke32@5216 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:54 +00:00
hendricks266
8b32035778 SW: Fix conflicting types for: highlight, temppicnum, tempcstat, templotag, temphitag, tempextra, ExtAnalyzeSprites, ExtPreSaveMap
git-svn-id: https://svn.eduke32.com/eduke32@5215 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:37 +00:00
hendricks266
90de898fe5 SW: Fix getnumber and printmessage in the editor.
git-svn-id: https://svn.eduke32.com/eduke32@5214 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:21 +00:00
hendricks266
792397feaa SW: Update the rest of the AudioLib API.
git-svn-id: https://svn.eduke32.com/eduke32@5213 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:06:04 +00:00
hendricks266
895e829411 SW: Rip out nonexistent calls to AudioLib CD playback functions.
git-svn-id: https://svn.eduke32.com/eduke32@5212 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:05:45 +00:00
hendricks266
93d6d61180 SW: Parallaxed skies.
git-svn-id: https://svn.eduke32.com/eduke32@5211 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:05:20 +00:00
hendricks266
91d6935c88 Add uint32_t PaletteIndexFullbrights[8] so that Polymost can respect the lack of fullbrights in KenBuild and Shadow Warrior.
git-svn-id: https://svn.eduke32.com/eduke32@5210 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:04:38 +00:00
hendricks266
8d78f25bc5 SW: Since sprite->filler is now fogpal, modify the CTF code that uses it to use a new variable in SW's USER struct instead.
git-svn-id: https://svn.eduke32.com/eduke32@5209 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:04:06 +00:00
hendricks266
6e8e49d17f SW: Modify the border-drawing code to work with our widescreen code.
git-svn-id: https://svn.eduke32.com/eduke32@5208 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:03:47 +00:00
hendricks266
6d0da8bb1a SW: automapping (deleted), visibility --> g_visibility, numpalookups --> numshades
git-svn-id: https://svn.eduke32.com/eduke32@5207 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:03:30 +00:00
hendricks266
1f59b4c23e SW: Update some API calls.
git-svn-id: https://svn.eduke32.com/eduke32@5206 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:03:04 +00:00
hendricks266
d5e8209f9d SW: Misc adjustments.
git-svn-id: https://svn.eduke32.com/eduke32@5205 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:02:47 +00:00
hendricks266
5256146f89 SW, KenBuild: tilesiz
git-svn-id: https://svn.eduke32.com/eduke32@5204 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:02:25 +00:00
hendricks266
908560f9aa SW: picanm_t
git-svn-id: https://svn.eduke32.com/eduke32@5203 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:01:44 +00:00
hendricks266
a97d9c5916 SW: hitscan
git-svn-id: https://svn.eduke32.com/eduke32@5202 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:01:22 +00:00
hendricks266
acba32caf4 SW: setsprite, setspritez, getzrange, clipmove, pushmove, neartag, dragpoint, screencapture, md_tilehasmodel, preparemirror, saveboard, loadboard, pos
git-svn-id: https://svn.eduke32.com/eduke32@5201 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 22:00:38 +00:00
hendricks266
56bdcdae7e SW: Rename SendMessage() to SW_SendMessage() and DELETE() to REMOVE() to avoid conflicts with Windows headers.
git-svn-id: https://svn.eduke32.com/eduke32@5200 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:59:39 +00:00
hendricks266
af0e6df762 SW: Remove references to files removed from our MACT.
git-svn-id: https://svn.eduke32.com/eduke32@5199 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:59:12 +00:00
hendricks266
fad3606c44 SW: Nuke mytypes.h. Mostly.
git-svn-id: https://svn.eduke32.com/eduke32@5198 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:58:29 +00:00
hendricks266
e9655f8469 Add SW to our build system and make relevant changes to avoid fatal build errors.
git-svn-id: https://svn.eduke32.com/eduke32@5197 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:56:03 +00:00
hendricks266
7493c36a94 Add the Shadow Warrior source to our tree after astyling, uncrustifying, and renaming one file.
git-svn-id: https://svn.eduke32.com/eduke32@5196 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-19 21:54:34 +00:00
helixhorned
ef25eb6329 LunaCON: implement NODEFAULT per-actor gamevars in the C-CON fashion.
For glocal gamevars, the LunaCON semantics (session gamevar) are kept.
For per-actor ones, this now prevents resetting a gamevar's value to
default on spawn or loadactor. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@5194 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 14:27:03 +00:00
helixhorned
c3b3b376fa config.c: fix an overlapping strcpy() in CONFIG_SetMapBestTime().
git-svn-id: https://svn.eduke32.com/eduke32@5193 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 14:27:01 +00:00
helixhorned
dd2f06b869 LunaCON: allow writing -1 to player[].newowner.
For the other player members, where formerly negative values were allowed
to be written, only -1 is now.

git-svn-id: https://svn.eduke32.com/eduke32@5192 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 11:56:50 +00:00
helixhorned
1fc7e10843 savegame: fix g_tile[].proj memory leaks, halve number of projectile_t allocations.
git-svn-id: https://svn.eduke32.com/eduke32@5191 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 11:56:49 +00:00
helixhorned
80b766f13a When checking for SE7 water teleportation, regard sign of z velocity.
This fixes RPGs fired upwards at a steep angle teleporting immediately
to underwater when wading in water (reported via PM by Turok 64 Jr).

git-svn-id: https://svn.eduke32.com/eduke32@5190 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 11:56:47 +00:00
helixhorned
04cb60c790 Lunatic: account for the projectile changes in r5080. BUILD_LUNATIC.
The (undocumented) Lua-side API stays almost the same.

git-svn-id: https://svn.eduke32.com/eduke32@5188 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-14 12:18:47 +00:00
helixhorned
d30bb3835e LunaCON: allow ':' immediately after 'case' (legacy; warns), writing to ud.god.
Also, on one "gamevar `xxx' is not per-*" diagnostic, print the location of the
gamevar definition.

git-svn-id: https://svn.eduke32.com/eduke32@5187 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-14 12:18:46 +00:00
helixhorned
564e7d2332 Lunatic: fix build and user_defs definition mismatch.
Left: projectile changes.

git-svn-id: https://svn.eduke32.com/eduke32@5186 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-14 12:18:42 +00:00
hendricks266
178d9b1c58 Add more expansion GRPs to the detection list.
git-svn-id: https://svn.eduke32.com/eduke32@5185 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-13 08:57:27 +00:00
hendricks266
57e3dfb721 Add autodetection support for Duke 3D as part of the Steam release of the 3D Realms Anthology.
git-svn-id: https://svn.eduke32.com/eduke32@5184 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-13 08:57:11 +00:00
helixhorned
68f52a4257 Mapster32: honor r_usenewaspect, especially it being off.
For this, add a setaspect_new() setup/restore pair in M32_DrawRoomsAndMasks()
like for G_DrawRooms(). With this, changing viewingrange/aspect via m32script
(in a.m32: [7] -- [9] on the upper row) can only be done in r_usenewaspect 0,
though.

git-svn-id: https://svn.eduke32.com/eduke32@5182 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-10 10:55:30 +00:00
hendricks266
b3639ae8e7 Replace most instances of casting byte arrays to wider integral types with the B_(UN)BUF functions in compat.h that were previously used only in the netcode.
I have commented out the versions of these functions that perform bitmasks and shifts and replaced them with versions that cast to and from integral types, pending performance and compatibility research across platforms.

git-svn-id: https://svn.eduke32.com/eduke32@5174 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:03:48 +00:00
hendricks266
bbc7e21f2d Fix typo "maxtileallocsiz" --> "maxtiltallocsiz" for MAXYDIM < 640.
git-svn-id: https://svn.eduke32.com/eduke32@5171 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:02:40 +00:00
hendricks266
87ee51a248 Menus: Call SDL_Start/StopTextInput() at the appropriate times so that touch devices display the on-screen keyboard when the user is prompted for text input.
git-svn-id: https://svn.eduke32.com/eduke32@5170 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:02:23 +00:00
hendricks266
d313e2531a Set up input so that the menus are navigable under iOS. This also enables the SELECTDIR back button unconditionally instead of restricting it to non-touch devices. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5169 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-28 21:30:42 +00:00
hendricks266
d11bf55a82 LunaCON: Expose all structs to inline access. Tiledata and paldata are still to-do.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5166 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:08:14 +00:00
hendricks266
5979378c4e CON: Add player[].index, which returns the player ID that you put in. Mostly useful to get the magic value of THISACTOR when applied to the player struct.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5165 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:07:57 +00:00
hendricks266
60106f1e37 Menus: When toggling Music in the Sound menu, respect the LOGO_PLAYMUSIC flag in LOGO_FLAGS for the main menu.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5164 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:10:00 +00:00
hendricks266
c47ebac6c1 AudioLib: When handling a LOOP_END tag in FLAC or Ogg, truncate any blocks that read past it so that the specified value is respected precisely, instead of rounding up to the nearest block size.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5163 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:09:42 +00:00
hendricks266
940bef522d AudioLib: malloc + memset to zero --> calloc
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5162 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:09:19 +00:00
hendricks266
ce55b4a6fb Add game-side def "globalgameflags" that takes a single value. Flag 1 disables hardcoded pinning of HUD weapons to the side of the screen in widescreen.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5161 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-24 00:08:46 +00:00
helixhorned
5ae6253a30 Savegame: for non-user level, don't write garbage into h.boardfn, allow per-map ART.
git-svn-id: https://svn.eduke32.com/eduke32@5160 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-20 20:46:42 +00:00
helixhorned
5683beec3d Do "typedef projectile_t defaultprojectile_t;" instead of having an indetical-member type.
Move projectile_t to player.h.

git-svn-id: https://svn.eduke32.com/eduke32@5159 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:21 +00:00
helixhorned
474efef336 Double the size of clouds[] (holding sectors with CLOUDYSKIES ceilings).
Also, make cloudx[] and cloudy[] scalars, as the per-sector values were always
identical. In prelevel(), warn if some CLOUDYSKIES-ceiling sectors could not
be set up due to reaching the new 256 sector limit.

git-svn-id: https://svn.eduke32.com/eduke32@5156 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:18 +00:00