Commit graph

6011 commits

Author SHA1 Message Date
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
607f8e1d1c SDL2 layer: handle all Ctrl+[A-Z] keys passed to OSD_HandleChar().
See that function for a list of what these do in the OSD.

git-svn-id: https://svn.eduke32.com/eduke32@5324 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:45 +00:00
helixhorned
c3fa10ab07 OSD: fix oob write for Ctrl+K ("delete all to end of line").
git-svn-id: https://svn.eduke32.com/eduke32@5323 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-09 09:58:44 +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
0dc20f913c Mapster32: call AppGrabMouse() on show/retract OSD like in the game.
This is necessary to hide the mouse cursor in some settings (such as
with the debug build under Xfce). DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5321 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-08 11:03:07 +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
terminx
409b363667 Pragma fuckery. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5317 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-02 08:50:27 +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
b408cb641c engine.c: use swapptr() instead of swaplong() in two cases in drawmasks().
git-svn-id: https://svn.eduke32.com/eduke32@5315 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-02 08:40:39 +00:00
helixhorned
2aa732128f Polymost: don't redundantly adjust globalcursectnum in polymost_drawrooms().
See r5024 and the added comment.

git-svn-id: https://svn.eduke32.com/eduke32@5314 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-01 08:41:14 +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
3375bce927 baselayer: add DEBUG_FRAME_LOCKING functionality.
git-svn-id: https://svn.eduke32.com/eduke32@5311 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:21 +00:00
helixhorned
c9949f53a3 engine: fix unbalanced begindrawing()/enddrawing() pair in printext16().
git-svn-id: https://svn.eduke32.com/eduke32@5310 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:20 +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
1af89e0b1d Mapster32: re-enable changing position in 2d mode with the right mouse button when dragging selected objects
git-svn-id: https://svn.eduke32.com/eduke32@5308 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-23 23:51:30 +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
9cf3e19d61 Mapster32: fix display of pal 4 sprites in 2d mode.
git-svn-id: https://svn.eduke32.com/eduke32@5306 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-20 20:25:32 +00:00
terminx
dfe614db5c Mapster32: fix 3d mode status messages being overwritten with position/ang/horiz readouts.
git-svn-id: https://svn.eduke32.com/eduke32@5305 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-20 20:25:29 +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
e676b04687 Engine: misc cleanups, support for drawing transparent lines in 2d mode. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5300 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 00:12:40 +00:00
terminx
4bd82ba0ea Fix warnings
git-svn-id: https://svn.eduke32.com/eduke32@5299 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 00:12:33 +00:00
Plagman
f6d07d48ae Polymer: upload bucket indices through pinned host memory.
git-svn-id: https://svn.eduke32.com/eduke32@5298 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-15 08:23:00 +00:00
Plagman
ea2cabb8b3 Polymer: fix regression with Y-flipping bit.
git-svn-id: https://svn.eduke32.com/eduke32@5297 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-15 05:14:08 +00:00
Plagman
e237dbafea Polymer: add preliminary support for batching draws.
git-svn-id: https://svn.eduke32.com/eduke32@5296 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-14 07:08:44 +00:00
Plagman
6a6d120d8e Polymer: fix synthesis warning.
git-svn-id: https://svn.eduke32.com/eduke32@5295 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-13 16:01:18 +00:00
Plagman
8212aa11c6 Polymer: store map data in a single buffer with a unified vertex type.
git-svn-id: https://svn.eduke32.com/eduke32@5294 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-13 03:46:35 +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
e20e6584d6 Mapster32: fix two "variable may be used uninitialized" warnings.
I didn't produce a case when this could actually have happened, but
reading the code, in the case of variable 'j' it seems possible with
an empty map.

git-svn-id: https://svn.eduke32.com/eduke32@5292 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 17:06:30 +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
bd4917f7e1 Update VS project. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5288 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:43 +00:00
terminx
1054a60183 Disable FLAC in MSVC builds for now until I have time to build new libraries that are compatible with VS2015. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5287 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:41 +00:00
terminx
9d1503ac12 Mapster32: fix 3d picture-in-picture when editing a map with TROR.
git-svn-id: https://svn.eduke32.com/eduke32@5286 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:35 +00:00
terminx
c79691bb6f Mapster32: improve diagnostic message.
git-svn-id: https://svn.eduke32.com/eduke32@5285 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-09 05:58:05 +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
ff466191cb Address complaints from the "Mapster32 problems and bugs" thread.
git-svn-id: https://svn.eduke32.com/eduke32@5283 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-09 03:55:24 +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
f784eca65b Very minor OSD cleanups, no functional changes. I was planning on doing more with this but decided to do something else instead, so I want it out of my tree without losing it. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5280 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:37 +00:00
terminx
4fe25690e7 Makefile tweaks: remove BUILD_FINISHED because it frequently appeared in the wrong place when using make -j, and remove "executable" wording from linking phase. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5279 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:34 +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
558c2dae48 Improve r_preview_mouseaim and Polymost Mapster32 3d mode mouse selection. Also adds a display of the current coordinates, angle and horiz when moving around in 3d mode.
git-svn-id: https://svn.eduke32.com/eduke32@5277 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:27 +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
4846c838d5 Slight further Polymost cleanup. Nothing of real importance. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5275 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:20 +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
388fbe041e Fix warning in defs.c. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5271 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:00 +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
terminx
f1bc3ea23b Add jaudiolib flac.c, formats.c, and xa.c to Visual Studio solution (they were missing). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5269 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:33:48 +00:00
terminx
f0c9019d91 Move swapptr() to pragmas. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5268 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:33:43 +00:00
Plagman
684da706f0 Fix automap lines in Polymer mode
git-svn-id: https://svn.eduke32.com/eduke32@5267 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-14 23:42:52 +00:00
Plagman
18b3984a97 add pr_nullrender variable to toggle drawing and updating GL buffers
git-svn-id: https://svn.eduke32.com/eduke32@5266 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-14 23:42:31 +00:00
helixhorned
efe3d87cf8 Mapster32: fix an oob write in test_map().
git-svn-id: https://svn.eduke32.com/eduke32@5265 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-07 09:55:41 +00:00
helixhorned
7b6e47f444 mdsprite.c: from updateanimation(), if m->[cn]frame >= numframes, clear to 0.
This prevents an oob access when rendering, the one observed was at
polymer.c:4255.

git-svn-id: https://svn.eduke32.com/eduke32@5264 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-07 09:55:40 +00:00
helixhorned
a1c4df267c Fix an out-of-bounds read in getpskyidx().
git-svn-id: https://svn.eduke32.com/eduke32@5263 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-06 15:04:17 +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
7c139646ca Fix clipshapes, accidentally broken in my vec2_t rotatepoint commit.
git-svn-id: https://svn.eduke32.com/eduke32@5261 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-04 00:04:00 +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
terminx
babb9d9d61 Android and MSVC build fixes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5259 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-30 23:31:59 +00:00
hendricks266
de28d574ec Define the formerly nonsensical combination of orientation bits 256 and 512 to mean "automatically zoom the tile so that the 320x200 coordinate system is vert-minus widescreen instead of horiz-plus".
git-svn-id: https://svn.eduke32.com/eduke32@5258 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:48:22 +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
f4aca6df5d Defs: Add "multipsky" token.
git-svn-id: https://svn.eduke32.com/eduke32@5256 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:47:50 +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
410406158a Re-expose kpzbufsiz and set it to zero in uninitengine, preventing potential crashes from successive re-initializations of the engine.
git-svn-id: https://svn.eduke32.com/eduke32@5254 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:47:03 +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
hendricks266
d2ed954c20 Defs: Add "texture" convenience token to tilefromtexture, which will also define the image as a texture with implied nocompress and nodownsize flags.
git-svn-id: https://svn.eduke32.com/eduke32@5247 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-27 08:45:13 +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
9898876f27 Add line numbers to a couple of .def parsing warning messages. At some point these should probably all be cleaned up, similar to how they're handled with CON parsing. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5243 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:10 +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
008d845558 Shitcan the nausea-inducing r_projectionhacks mode 2.
git-svn-id: https://svn.eduke32.com/eduke32@5241 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:48:04 +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
helixhorned
c6f0c467e3 Polymer: fix rendering of middle part of 1-way masked wall.
It does not depend on the "swap bottom wall parts" bit being set.
The fix is by matching up the related code with Polymost.

git-svn-id: https://svn.eduke32.com/eduke32@5230 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-22 12:43:26 +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
hendricks266
086a9da9ee iOS: Set up and enable building with USE_OPENGL. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5195 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 20:16:27 +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
hendricks266
a979fa95a3 Merge glbuild_android into glbuild. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5189 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-16 09:12:12 +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
hendricks266
2ec4ce91b4 OS X: Fix startup window banner. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5183 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-12 23:23:39 +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
f186ecc58a Fix a typo in r5179.
git-svn-id: https://svn.eduke32.com/eduke32@5181 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-05 23:38:19 +00:00
hendricks266
bfc9941101 Defs: Add "artfile" token, which loads an ART file. You can use the "tile" sub-token to overwrite the starting tilenum of the file from def.
artfile { file "whatever.art" } // loads whatever.art just as if it had been named TILES020.ART
artfile { file "whatever.art" tile 2000 } // loads whatever.art starting at index 2000 instead of the tilestart value contained within it

This is useful because ART files will load faster than images loaded through tilefromtexture (which must undergo a color matching process), and because tiles making use of palette indices which have duplicate colors in the stock Duke 3D palette but not in other palettes (such as the 3D Realms screen) are negatively affected by the aforementioned process.

git-svn-id: https://svn.eduke32.com/eduke32@5180 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:05:35 +00:00
hendricks266
6091a842db Add support for ART files containing exactly one tile as an input format for hightile textures and model skins. They are rendered in the global game palette and function as conventional hightile.
git-svn-id: https://svn.eduke32.com/eduke32@5179 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:05:21 +00:00
hendricks266
8b7aa949dd Defs: Allow loading ART files as input to tilefromtexture. Note that they must contain exactly one tile; any more and the entire ART file will be rejected.
git-svn-id: https://svn.eduke32.com/eduke32@5178 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:05:04 +00:00
hendricks266
416ccc076c Restructure and expand some ART loading functionality in the engine.
git-svn-id: https://svn.eduke32.com/eduke32@5177 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:04:49 +00:00
hendricks266
f7c187875c Defs: Factor out dummytile creation code into E_CreateDummyTile and account for the case when a dummytile may be overwriting a faketile from tilefromtexture.
git-svn-id: https://svn.eduke32.com/eduke32@5176 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:04:31 +00:00
hendricks266
40c704babe Separate kpzload into two separate functions, kpzbufload (which now lives in cache1d, regardless of WITHKPLIB) and kpzdecode.
git-svn-id: https://svn.eduke32.com/eduke32@5175 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:04:11 +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
5c4622a8ab Replace the bswap function used in kplib with B_SWAP32, and merge the 32-bit MSVC and GCC assembly into compat.h.
TODO: Review the value of the continued use of special cases of these swap functions, including the OS-based variants for BSD and OS X, and this assembly.

git-svn-id: https://svn.eduke32.com/eduke32@5173 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:03:12 +00:00
hendricks266
f141cc71f2 kplib: Replace [LS]SWAPI[BL] macros with the B_(BIG|LITTLE)(16|32) ones defined in compat.h and used everywhere else.
git-svn-id: https://svn.eduke32.com/eduke32@5172 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:02:54 +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
67cc5911fa Ensure that Objective-C compiler invocations include the C-only options that we specify, especially -std=gnu99. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5168 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:58:08 +00:00
hendricks266
4bf493c76b Don't use #pragma push_macro in buildtypes.h, for compatibility with GCC 4.2. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5167 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-26 00:45:55 +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
d9c171d499 polymost.c: fix display of floor-aligned sprites ornameted to the ceiling.
git-svn-id: https://svn.eduke32.com/eduke32@5158 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:20 +00:00
helixhorned
77c5056f22 polymost.c: split three overlong lines into three each.
This was formerly "fix multi-tile ceiling skies.", but TX beat me to it
and Git automatically figured out how to merge while keeping a linear
history. (Our fixes were identical.) Nice!

git-svn-id: https://svn.eduke32.com/eduke32@5157 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:19 +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
helixhorned
cf7de5b43a actors.c: fix 3 incorrect '/' -> tabledivide32_noinline rewrites in r4658.
Division has higher precedence than bitwise-OR.

The cases concerned SE3, SE4 and NEON* sprites.
Incidental info: the blinking of NEON* sprites can be controlled via their
lotag, similarly to how you how you give a "random flash number" as SE4 hitag.

git-svn-id: https://svn.eduke32.com/eduke32@5155 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:59:17 +00:00
terminx
53d2e0939e Revert "vec2_t rotatepoint()."
This reverts commit b0eeef385aecf9cea3ec2bd0ee82f59982942ce0.

git-svn-id: https://svn.eduke32.com/eduke32@5154 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:49:36 +00:00
terminx
d320ea6d70 Fix the sounds at the end of the episode 3 cutscene.
git-svn-id: https://svn.eduke32.com/eduke32@5153 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:37:13 +00:00
terminx
2a65ba123c Polymost parallax sky fix.
git-svn-id: https://svn.eduke32.com/eduke32@5152 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:37:10 +00:00
terminx
abc53d5006 Further constification. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5151 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:37:07 +00:00
terminx
ce5260e235 vec2_t rotatepoint().
git-svn-id: https://svn.eduke32.com/eduke32@5150 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:37:01 +00:00
hendricks266
bb4cdeb692 Make all the hictinting_apply blocks consistent. This should fix certain tints types being applied incorrectly in Polymer and the global tints (underwater and nightvision) not being applied to tints and models with certain flags.
git-svn-id: https://svn.eduke32.com/eduke32@5149 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 21:18:08 +00:00
hendricks266
3a26e5b241 Correct the HICTINT_GRAYSCALE calculation for hightile.
git-svn-id: https://svn.eduke32.com/eduke32@5148 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 21:17:52 +00:00
hendricks266
be29f098ab Complete the necessary infrastructure so that more than one precomputed tint on a hightile texture will display.
git-svn-id: https://svn.eduke32.com/eduke32@5147 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 21:17:36 +00:00
hendricks266
40d6aef7fc Tints: Add blending modes Screen, Overlay, and Hard Light, as opposed to the default Multiply. This value is encoded in bits 6 and 7 of the "flags" parameter. In other words, calculate your flags besides these modes, then bitwise OR the resulting value with:
0 - Multiply
64 - Screen
128 - Overlay
192 - Hard Light

Note: These will likely look terrible when combined with the Colorize flag, because of the nature of the Colorize flag.

git-svn-id: https://svn.eduke32.com/eduke32@5146 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 08:08:02 +00:00
hendricks266
09a26dc24f Account for HICTINT_GRAYSCALE, INVERT, and COLORIZE when applying a tint on 8-bit art.
git-svn-id: https://svn.eduke32.com/eduke32@5145 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 08:07:41 +00:00
hendricks266
71f576769b Apply HICTINT_APPLYOVERALTPAL where it should in texcache_fetch.
git-svn-id: https://svn.eduke32.com/eduke32@5144 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 08:07:23 +00:00
hendricks266
d4fb3dfe96 Eliminate a check that a model's sector's floorpal is nonzero before applying a tint.
git-svn-id: https://svn.eduke32.com/eduke32@5143 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 08:07:08 +00:00
hendricks266
68e4248cd2 Polymer: Account for HICTINT_APPLYOVERALTPAL and HICTINT_USEONART.
git-svn-id: https://svn.eduke32.com/eduke32@5142 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-14 08:06:51 +00:00
hendricks266
0d5b933bb3 Fix omission of modules when parsing game-side defs.
git-svn-id: https://svn.eduke32.com/eduke32@5141 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:07:59 +00:00
hendricks266
896ae2894c Implement "renamefile" during game-side def parsing (normally for "loadgrp" et al.) in addition to engine-side def parsing.
git-svn-id: https://svn.eduke32.com/eduke32@5140 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:07:45 +00:00
hendricks266
9a8941ef41 Defs: Add "copytile" token that allows you to copy existing 8-bit tiles from one slot to another, along with their x/yoffsets and flags. ART animation values are not copied.
Examples: (assuming stock Duke palswaps)
copytile 10000 { tile 0 } // tile #10000 is now the same as #0
copytile 10001 { tile 1 pal 8 } // tile #10001 is now #1 with a full-green tint
copytile 0 { pal 1 pal 23 } // tile #0 now has a full-yellow tint

git-svn-id: https://svn.eduke32.com/eduke32@5139 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:07:30 +00:00
hendricks266
f15199cb79 Instead of keeping the entire contents of ART files loaded from within zips in memory, assimilate them into tilefromtexture's compressed faketiledata.
This involves some refactoring.

git-svn-id: https://svn.eduke32.com/eduke32@5138 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:07:10 +00:00
hendricks266
c26149fd1f Defs: Expand use of check_tile().
git-svn-id: https://svn.eduke32.com/eduke32@5137 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:06:51 +00:00
hendricks266
5678b690a2 Fix an OOB in the cheats menu when running with the v0.99 GRP.
git-svn-id: https://svn.eduke32.com/eduke32@5136 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:06:37 +00:00
hendricks266
27e83829c9 Correct the month used in automatic names of savegames created by the "save" CON command.
git-svn-id: https://svn.eduke32.com/eduke32@5135 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-12 08:06:20 +00:00
helixhorned
8834dfbc7d SDL2: map SDL_SCANCODE_NONUSBACKSLASH to the same Build code as COMMA.
NONUSBACKSLASH is what is generated for the key between the LShift and 'Z'
here. The aliasing with the actual ',' key is as with the SDL1.2 build.
Fixes the issue reported in
http://forums.duke4.net/topic/8029-cant-bind-key-anymore/

git-svn-id: https://svn.eduke32.com/eduke32@5134 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:09 +00:00
helixhorned
52e2ff4be1 Makefile.common: for Clang, add -Wno-missing-braces.
Because we get spammed otherwise, regarding initializations of 'vec3f_t'
and 'vec3d_t' variables.
Update: actually, it also happens for GCC builds for me.

git-svn-id: https://svn.eduke32.com/eduke32@5133 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:08 +00:00
helixhorned
f74b38bcd8 Mapster32/C++ build/non-Lua: probably fix a crash in showsectordata().
Reported in
http://forums.duke4.net/topic/1348-mapster32-problems-and-bugs/page__view__findpost__p__220722
I could not reproduce it, but it is thinkable that 'searchsector' could have
been out-of-sync with the 'sectnum' local. (For example, the former one could
have been -1, triggering the crash.)

git-svn-id: https://svn.eduke32.com/eduke32@5132 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:07 +00:00
helixhorned
25402be9f2 Fix freeze on pitch 0 sound playback introduced in r4616.
Reported in
http://forums.duke4.net/topic/3857-the-crash-thread/page__view__findpost__p__220954

Now, PitchTable[] in initialized with the same values as pre-r4608.

git-svn-id: https://svn.eduke32.com/eduke32@5131 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:06 +00:00
helixhorned
ab2d73ce3d LunaCON: update docs and comments in lunatic/test/event_chaining.con
git-svn-id: https://svn.eduke32.com/eduke32@5130 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:05 +00:00
helixhorned
87cae94dab polymost.c: fix an out-of-bounds access in polymost_dorotatesprite().
To reproduce, lower the OSD, for example.

git-svn-id: https://svn.eduke32.com/eduke32@5129 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:04 +00:00
hendricks266
8d906d6d48 Amend previous commit.
git-svn-id: https://svn.eduke32.com/eduke32@5128 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:56:36 +00:00
hendricks266
1ab930ea28 Defs: Add "undefinetile" and "undefinetilerange".
git-svn-id: https://svn.eduke32.com/eduke32@5127 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:52:28 +00:00
hendricks266
e6f429e2ab Clear the player's quote timer for each MAIN_LOOP_RESTART.
git-svn-id: https://svn.eduke32.com/eduke32@5126 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:52:14 +00:00
hendricks266
4d3cbc64f1 Disallow "autoload" as a choice for the game dir in the Win32 startup window.
git-svn-id: https://svn.eduke32.com/eduke32@5125 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:52:01 +00:00
hendricks266
5c69ae7d11 Allow alpha fade-out for quotes and the menu mouse cursor in 8-bit when the supplied PALETTE.DAT has enough alpha tables to fully display each effect.
git-svn-id: https://svn.eduke32.com/eduke32@5124 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:48 +00:00
hendricks266
392094ee94 Menus: Modify slider bar so that it uses a scale defined in the data structure instead of auto-scaling to the height of the row.
git-svn-id: https://svn.eduke32.com/eduke32@5123 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:26 +00:00
hendricks266
9c89246f7e Menus: Remove all remaining TEXT_GAMETEXTNUMHACK.
git-svn-id: https://svn.eduke32.com/eduke32@5122 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:14 +00:00
hendricks266
4a5886f1b8 Menus: Rename "pickup messages" to "game messages".
git-svn-id: https://svn.eduke32.com/eduke32@5121 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:51:01 +00:00
hendricks266
8551ae6e22 In P_DisplayWeapon(), don't skip P_DisplaySpit() due to Fist/Knuckles/Tip/Access.
git-svn-id: https://svn.eduke32.com/eduke32@5120 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-09 07:50:44 +00:00
hendricks266
25dc8e2fc4 Build tools: Fix build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5119 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-08 22:45:14 +00:00
hendricks266
c24e5f51cd Add events for the remaining player-related HUD display functions:
EVENT_DISPLAYSPIT - loogies from the SPIT projectile
EVENT_DISPLAYFIST - nukebutton fist (shrunk fists are part of EVENT_DISPLAYWEAPON)
EVENT_DISPLAYKNEE - pstomp knee (quick kick is part of EVENT_DISPLAYWEAPON)
EVENT_DISPLAYKNUCKLES - knuckle crack idle animation
EVENT_DISPLAYSCUBA - scuba gear
EVENT_DISPLAYTIP - tip hand
EVENT_DISPLAYACCESS - access cards / keycards

git-svn-id: https://svn.eduke32.com/eduke32@5118 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:57:30 +00:00
hendricks266
0b1d786f35 Move handling of ud.drawweapon from G_DrawWeaponTileWithID() to P_DisplayWeapon(). This fixes it not being applied to the quick kick and mighty foot.
git-svn-id: https://svn.eduke32.com/eduke32@5117 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:57:11 +00:00
hendricks266
48358dae19 Replace the use of an "snum" parameter in the screen display functions with screenpeek because we need to keep screenpeek accurate for CON anyway.
git-svn-id: https://svn.eduke32.com/eduke32@5116 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:52 +00:00
hendricks266
0bc349fde2 C-CON: Add two new structs, tiledata and paldata, accessible only through quick-access.
git-svn-id: https://svn.eduke32.com/eduke32@5115 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:37 +00:00
hendricks266
f68829c08a Don't print quotes when not in-game.
This is required after a change in the cheat menu commit that allows the cheat quotes to trigger from the in-game menu. However, a side-effect was that pressing F12 in the main menu would cause "SCREEN SAVED" to display indefinitely.

git-svn-id: https://svn.eduke32.com/eduke32@5114 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:20 +00:00
hendricks266
3a081603ae Prevent a crash in mdloadskin() caused by an oversight in r5107.
git-svn-id: https://svn.eduke32.com/eduke32@5113 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-30 05:56:06 +00:00
hendricks266
d5e3262a74 Avoid reading or writing savegame specdata arrays when the pointer to one is NULL or their count is zero.
git-svn-id: https://svn.eduke32.com/eduke32@5112 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:40:27 +00:00
hendricks266
9cf7da4366 Avoid triggering undefined behavior in the allocator when loading or saving ProjectileData[].
git-svn-id: https://svn.eduke32.com/eduke32@5111 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:40:15 +00:00
hendricks266
d49987d3cb C-CON: Add checks to prevent invalid reads/writes when using get/setprojectile on a tile number that does not have a projectile defined for it.
git-svn-id: https://svn.eduke32.com/eduke32@5110 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:40:03 +00:00
hendricks266
47ddef2521 Restore an insptr++ when executing "endswitch".
git-svn-id: https://svn.eduke32.com/eduke32@5109 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-29 02:39:49 +00:00
hendricks266
75801f2e68 Defs: Add token "forcefilter" to textures, skyboxes, and model skins. It forces the use of GL filtering for the resource in question.
git-svn-id: https://svn.eduke32.com/eduke32@5108 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:49:37 +00:00
hendricks266
8282a7e846 Defs: Add "nocompress" and "nodownsize" tokens to model skin definitions.
git-svn-id: https://svn.eduke32.com/eduke32@5107 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:49:11 +00:00
hendricks266
806bbe6d71 CON: Add projectile workslike flag PROJECTILE_NOSETOWNERSHADE = 0x00200000 = 2097152 that prevents actors from inheriting a projectile's shade when shooting it.
git-svn-id: https://svn.eduke32.com/eduke32@5106 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:48:51 +00:00
hendricks266
257e271162 C-CON: Really fix get/setprojectile.
git-svn-id: https://svn.eduke32.com/eduke32@5105 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:48:37 +00:00
hendricks266
0c6de5da3a Re-apply r5053, which got lost in r5079.
git-svn-id: https://svn.eduke32.com/eduke32@5104 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-28 09:48:21 +00:00
hendricks266
fe17d41b14 Restructure the GRP scanning functionality. Outwardly, this allows GRP selections with special handling (the add-ons and NAM) to function properly when the Windows or GTK startup windows do not run, namely with the OS X startup window, and using the -gamegrp command line parameter on any other platform, or on all of the both under dedicated server mode,
git-svn-id: https://svn.eduke32.com/eduke32@5103 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:30:35 +00:00
hendricks266
5c5019d9d8 weapons.con.sample: Update to use the hudpal member so that fogpals and custom makepalookup definitions display properly.
git-svn-id: https://svn.eduke32.com/eduke32@5102 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:30:09 +00:00
hendricks266
f347a52e24 Defs: Add "nofloorpal <value>" to "makepalookup", which, when specified, allows you to set exactly the value of g_noFloorPal that you want.
git-svn-id: https://svn.eduke32.com/eduke32@5101 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:52 +00:00
hendricks266
df7a257ce5 C-CON: Fix a mistake in r5086 that broke get/setprojectile.
git-svn-id: https://svn.eduke32.com/eduke32@5100 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:37 +00:00
hendricks266
0adcc4a3f7 C-CON: Add read-only player structure member "hudpal", that returns the result of P_GetHudPal().
git-svn-id: https://svn.eduke32.com/eduke32@5099 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:24 +00:00
hendricks266
8a9fb41d5f CON: Add EVENT_WORLD, EVENT_PREWORLD, and EVENT_PRELEVEL, which respectively function as EVENT_GAME, EVENT_PREGAME, and EVENT_LOADACTOR, but only running once instead of per-actor.
git-svn-id: https://svn.eduke32.com/eduke32@5098 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:29:05 +00:00
hendricks266
c784fdb21c C-CON: Redefine "break" within events to mean "skip the remainder of this event block", not "skip the remainder of execution of this event, through all chained blocks". The latter behavior is still available through the "return" keyword.
git-svn-id: https://svn.eduke32.com/eduke32@5097 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:28:45 +00:00
hendricks266
a096b579da Fix a typo in r5090.
git-svn-id: https://svn.eduke32.com/eduke32@5096 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-27 12:28:29 +00:00
terminx
e544488283 Fix Polymost issue reported at http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__220265
git-svn-id: https://svn.eduke32.com/eduke32@5095 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-26 21:42:19 +00:00
hendricks266
598011d59a OS X: Fix build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5094 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-26 20:39:02 +00:00
hendricks266
0805a0ed45 CON: Add token "appendevent", which functions identically to "onevent" except that the event's code is chained to the end of any previous events, instead of the beginning.
git-svn-id: https://svn.eduke32.com/eduke32@5093 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:31:11 +00:00
hendricks266
a90f47c1ea C-CON: Fix processing the bytecode in an incorrect order when executing setplayer on a member with a second parameter, a missed instance of a consideration from r5086.
git-svn-id: https://svn.eduke32.com/eduke32@5092 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:30:52 +00:00
hendricks266
91a7a3aa00 C-CON: Remove the restriction that prevents userdef access when the current player is not myconnectindex.
git-svn-id: https://svn.eduke32.com/eduke32@5091 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:30:39 +00:00
hendricks266
bd0f05a706 C-CON: Implement tilesizx/y gamearrays in a fashion similar to M32Script's solution: a STRIDE2 flag.
git-svn-id: https://svn.eduke32.com/eduke32@5090 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 21:30:25 +00:00
hendricks266
a14109da20 C-CON: Modify the parsing of definevolumename and defineskillname so that they only look for the text before a newline.
// valid
definevolumename 3     <text>

// invalid
definevolumename 3
<text>

git-svn-id: https://svn.eduke32.com/eduke32@5089 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:28:09 +00:00
hendricks266
49c85f644d C-CON: Add quick access for the remaining structures without it.
git-svn-id: https://svn.eduke32.com/eduke32@5088 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:57 +00:00
hendricks266
5c8a2e3ea6 C-CON: Enumify quick structure access.
git-svn-id: https://svn.eduke32.com/eduke32@5087 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:42 +00:00
hendricks266
4682da7a22 C-CON: Factor fast struct access and get<struct> out into single functions.
git-svn-id: https://svn.eduke32.com/eduke32@5086 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:25 +00:00
hendricks266
feef0ded2d C-CON: Add PLAYER_PALETTE to quick player struct access, and add a setter that calls P_SetGamePalette().
git-svn-id: https://svn.eduke32.com/eduke32@5085 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-25 06:27:08 +00:00
hendricks266
ab58a33ec6 Menus: Add a Cheats menu to options.
It's old-school.

git-svn-id: https://svn.eduke32.com/eduke32@5084 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 10:49:03 +00:00
hendricks266
6d04da0b49 Menus: Rename MenuPassword_t to MenuTextForm_t, modularize more of its attributes into the data structure, and polish its display and behavior.
git-svn-id: https://svn.eduke32.com/eduke32@5083 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 10:48:34 +00:00
terminx
203b795cc9 Additional fix for building with newest MSYS2 packages. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5082 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 03:34:01 +00:00
terminx
a9c32b758d Build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5081 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 03:33:57 +00:00
terminx
c9ce545ab8 A lot of CON rewrites/optimizations. Converts projectile system to dynamic allocation, saving a bunch of memory (something like sizeof(projectile_t) * MAXTILES * 2). This commit also contains changes that reduce overhead for CON commands that take a lot of parameters, by way of adding a Gv_GetManyVars() to replace long strings of subsequent calls to Gv_GetVarX().
Savegame version has been bumped due to the projectile changes. There is no way this commit doesn't cause at least one bug, so DONT_BUILD. ;)

git-svn-id: https://svn.eduke32.com/eduke32@5080 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:55 +00:00
terminx
9cb68410a0 Engine memory reductions/optimizations:
-faketilesiz[MAXTILES] removed in favor of simple faketile[(MAXTILES+7)>>3] bitfield
-h_xsize/h_ysize (tile size overrides from .def) are now uint16_t instead of int32_t
-hudmem[2][MAXTILES] removed in favor of adding a hudmem ptr to mdmodel_t
-tilefromtexture performance improvements
-more tsectortype/twalltype usage in various engine functions that read but never write
-continued Polymost cleanups and refactors. Please report any odd rendering errors.

git-svn-id: https://svn.eduke32.com/eduke32@5079 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:48 +00:00
terminx
d718d354c1 Fix building on case-sensitive filesystems on OS X, DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5078 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:43 +00:00
terminx
eee8d14a8b Minor kplib optimizations, DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5077 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:40 +00:00
terminx
110b713a64 Win32 debug build filename case checking now uses GetShortPathNameA()/GetLongPathNameA() instead of the slow SHGetFileInfo(). Since this works by requesting the shortened 8.3 filename for a file and then requesting the proper long version of that result, it has the side effect of breaking the functionality on NTFS volumes where the user has explicitly disabled the creation of 8.3 filenames. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5076 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:36 +00:00
terminx
aa4d98982c Large batch of Polymost changes, including:
-lots of stylistic rewrites
-further improvements to anti-fighting code for wall and floor sprites (introduces three new cvars, r_wspr_offset, r_wspr_offset_variance, and r_fspr_offset)
-fixed brief HOM when traversing through a one-way masked wall
-seldomly used "alphahack" feature for hightile textures now represents alpha cutoff internally as a single byte instead of a float
-fixes a handful of issues where geometry failed to draw at certain coordinates from certain angles in certain resolutions
-renames a couple of cvars

git-svn-id: https://svn.eduke32.com/eduke32@5075 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:33 +00:00
terminx
93d8d2dbdb Abort animvpx playback if uploading the texture for a frame throws a GL error. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5074 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:27 +00:00
terminx
7732db71af int64_t -> uint64_t in swap64bit(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5073 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:25 +00:00
terminx
112652c5b9 Polymer tsectortype usage. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5072 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:21 +00:00
terminx
8cc2cd8585 Minor stylistic changes, fix FPS counter and other 2D drawing in Polymer.
git-svn-id: https://svn.eduke32.com/eduke32@5071 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:18 +00:00
terminx
fa55f368c9 Remove unused buffer to fix warning, DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5070 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:15 +00:00
terminx
f4e5e39634 Further gamevar changes/optimizations. This also fixes a bug Fox reported with the "shortcut" access to structure members that's tacked on to GetVar, where if the value of the index you're trying to access happened to equal the ID of the current sprite, it would act as if the variable passed was THISACTOR.
git-svn-id: https://svn.eduke32.com/eduke32@5069 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:12 +00:00
terminx
8fc08a71fa Swap position of "load game" and "options" on main menu so that "load game" follows "new game", for consistency with the slightly different menu you get while in-game.
git-svn-id: https://svn.eduke32.com/eduke32@5068 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:08 +00:00
terminx
7845f5e2fe "Stylistic changes"
Translation: I made some stuff const because I felt like it.

git-svn-id: https://svn.eduke32.com/eduke32@5067 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:05 +00:00
terminx
c725da4829 More Android changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5066 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:40:01 +00:00
terminx
61f35b827a Remove WeaponChoice* from eduke32.cfg and transition setting to "wchoice" cvar. This commit also removes an Android hack and changes the order of some of the in-game "F" key handling, just because it bugged me that some of them were out of order.
git-svn-id: https://svn.eduke32.com/eduke32@5065 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-24 00:39:52 +00:00
hendricks266
201e353771 Amend "renamefile" def token to ensure its proper use. renamefile <GRP/SSI CRC32> <file number> <new filename>
git-svn-id: https://svn.eduke32.com/eduke32@5064 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 08:30:41 +00:00
hendricks266
6e64696605 Expand the quote #13 auto-replacement to catch "OPEN" and "ANY BUTTON" in addition to "SPACE".
git-svn-id: https://svn.eduke32.com/eduke32@5063 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:28:40 +00:00
hendricks266
27777f96c3 Add the Duke DC and Duke Caribbean SSI files to the list of group files automatically detected and added to the startup window.
git-svn-id: https://svn.eduke32.com/eduke32@5062 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:28:27 +00:00
hendricks266
ddf7720451 Defs: Add token "renamefile", which renames a file in a GRP or SSI file, in memory. 8.3 restrictions apply.
git-svn-id: https://svn.eduke32.com/eduke32@5061 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:28:08 +00:00
hendricks266
2f0f38b6e6 cache1d: Add support for loading SSI files.
git-svn-id: https://svn.eduke32.com/eduke32@5060 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:27:49 +00:00
hendricks266
8a2b19dd50 cache1d: Allow loading GRP files from within other GRP files.
git-svn-id: https://svn.eduke32.com/eduke32@5059 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:27:35 +00:00
hendricks266
496f4582d6 cache1d: Enumify the magic constants for "file is in a zip" and "file is in the filesystem".
git-svn-id: https://svn.eduke32.com/eduke32@5058 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:27:18 +00:00
hendricks266
a81be01914 Modify the modern mini-HUD so that:
1. Instead of the Mighty Foot using the Protective Boots inventory item as its icon, display no icon at all.
2. Adjust the ammo icon so that it is drawn at one-quarter size if its y-size is >=50 instead of >50. This fixes the display of Water Pistol Ammo in Duke Caribbean.

git-svn-id: https://svn.eduke32.com/eduke32@5057 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-23 06:26:59 +00:00
hendricks266
97025d9fc7 Add "globalflags" def token. Flag 1 is a kill switch for the tileshades and artmapping features. Flag 2 is kill switch for the GL fullbright rendering pass.
git-svn-id: https://svn.eduke32.com/eduke32@5056 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-09 20:32:36 +00:00
hendricks266
74b264dcb1 Change HICTINT_USEONART so that it applies tints to pal 0 of 8-bit tiles instead of their palswapped selves. Add HICTINT_APPLYOVERPALSWAP which applies tints to palswapped 8-bit tiles. Add HICTINT_APPLYOVERALTPAL, which applies tints to alt-pals of hightile textures.
git-svn-id: https://svn.eduke32.com/eduke32@5055 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-09 20:32:11 +00:00
hendricks266
92afedcb11 Replace the drawing code for the level stats with nearly equivalent code that can be much more easily reproduced in CON.
git-svn-id: https://svn.eduke32.com/eduke32@5054 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-09 07:37:38 +00:00
hendricks266
30669ab8ce Defs: When undefining a model, reset the angadd of its HUD settings to zero.
This fixes weapons not being displayed in Vaca+.

git-svn-id: https://svn.eduke32.com/eduke32@5053 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-09 07:37:23 +00:00
hendricks266
f2a2e1d8b3 Amend r5048 to also reset ototalclock and lockclock, and to reset all three at the top of G_PlaybackDemo.
git-svn-id: https://svn.eduke32.com/eduke32@5052 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 23:40:08 +00:00
hendricks266
1f93451ea0 Partially revert r5020. It's okay to update totalclocklock in G_DrawRooms(), but we must continue updating it in drawrooms() so as to not break the editor and every other BUILD game.
¿Por qué no los dos?

git-svn-id: https://svn.eduke32.com/eduke32@5051 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 23:39:51 +00:00
hendricks266
6ed8f27e77 Expand the grpinfo feature to allow defining GRPs requiring NAM, NAPALM, or WWII GI.
git-svn-id: https://svn.eduke32.com/eduke32@5050 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:59:03 +00:00
hendricks266
362a782820 In G_PlaybackDemo(), update totalclocklock when G_DrawRooms() is not called and therefore does not update it. This fixes ART animations displaying in the main menu.
git-svn-id: https://svn.eduke32.com/eduke32@5049 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:49 +00:00
hendricks266
9403200a07 Reset totalclock to zero for each MAIN_LOOP_RESTART.
git-svn-id: https://svn.eduke32.com/eduke32@5048 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:36 +00:00
hendricks266
f821434195 CON: Add EVENT_DISPLAYROOMSCAMERA and EVENT_DISPLAYSTART.
EVENT_DISPLAYROOMSCAMERA functions exactly like EVENT_DISPLAYROOMS, including RETURN values, but for the ud.camerasprite >= 0 case.
EVENT_DISPLAYSTART is executed immediately after the screen background is cleared and drawn. Ensure its RETURN value is zero, because it is currently not being used.

WARNING: Consult the devs before using EVENT_DISPLAYSTART. Its position in the display code sequence is not finalized.

git-svn-id: https://svn.eduke32.com/eduke32@5047 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:24 +00:00
hendricks266
ef28cac919 CON: Add EVENT_DISPLAYCAMERAOSD. Set RETURN to -1 to disable it.
From this event, if "getactor[THISACTOR].htg_t 0" is zero, then the camera is functional. Nonzero values indicate the camera has been destroyed, which is only possible when the CAMERASDESTRUCTABLE parameter of gamestartup has been enabled.

git-svn-id: https://svn.eduke32.com/eduke32@5046 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:58:06 +00:00
hendricks266
35bee70ee6 CON: Add EVENT_DISPLAYLEVELSTATS. Set RETURN to -1 to disable them.
git-svn-id: https://svn.eduke32.com/eduke32@5045 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:57:47 +00:00
hendricks266
c86bd80dd7 C-CON: Add read-only userdef members "gametypeflags" and "m_gametypeflags", which return GametypeFlags[ud.coop] and GametypeFlags[ud.m_coop] respectively.
git-svn-id: https://svn.eduke32.com/eduke32@5044 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:57:28 +00:00
hendricks266
d7409a5a95 C-CON: Add read-only userdef members "usevoxels", "usehightile", and "usemodels".
git-svn-id: https://svn.eduke32.com/eduke32@5043 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:57:13 +00:00
hendricks266
d5ed8aa728 Restore the shade of a tiled MENUTILE to 8, rather than 16.
git-svn-id: https://svn.eduke32.com/eduke32@5042 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:56:57 +00:00
hendricks266
7d701ae7e2 Disable EF_HIDEFROMMP pending proper consideration when multiplayer is closer to being ready.
git-svn-id: https://svn.eduke32.com/eduke32@5041 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:56:45 +00:00
hendricks266
9079be2e27 Fix a compiler warning with USE_OPENGL=0.
git-svn-id: https://svn.eduke32.com/eduke32@5040 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-08 07:56:29 +00:00
hendricks266
b61908cbf3 CON: Add "resetplayerflags". Flag 1 means "don't ask the user if they want to load".
git-svn-id: https://svn.eduke32.com/eduke32@5039 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-04 02:15:15 +00:00
hendricks266
7984d8d6b5 Amend previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5038 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-02 08:15:28 +00:00
hendricks266
17906349b4 BSD: Build system fixes/improvements. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5037 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-02 07:54:24 +00:00
helixhorned
97c944a505 LunaCON: add 'definevolumeflags' to keyword pattern, re-apply some changes of r5026.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5036 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-01 14:15:40 +00:00
helixhorned
3ecc8a6962 engine.c: style-cleanup getzrange(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5035 1a8010ca-5511-0410-912e-c29ae57300e0
2015-03-01 14:15:36 +00:00
hendricks266
5953541075 Menus: Fix assorted issues in MENU_NETOPTIONS.
git-svn-id: https://svn.eduke32.com/eduke32@5034 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:15:35 +00:00
hendricks266
697e7d0936 CON: Add "definevolumeflags", currently equipped to hide an episode from the single player and/or multiplayer screens.
enum
{
    EF_HIDEFROMSP = 1<<0,
    EF_HIDEFROMMP = 1<<1,
};

git-svn-id: https://svn.eduke32.com/eduke32@5033 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:15:20 +00:00
hendricks266
afccb6d735 CON: Extend undefinevolume so that it also undefines all levels in the specified volume.
git-svn-id: https://svn.eduke32.com/eduke32@5032 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:14:54 +00:00
hendricks266
31c9d21b06 CON: Rename "cutscene" command to "startcutscene".
git-svn-id: https://svn.eduke32.com/eduke32@5031 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 22:14:39 +00:00
helixhorned
7285bc3bb2 synthesis.sh: CPLUSPLUS=0 for the 32-bit Lunatic build, too.
BUILD_LUNATIC now, maybe?

git-svn-id: https://svn.eduke32.com/eduke32@5030 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:35:01 +00:00
helixhorned
f5254f2114 Lunatic: update user_defs, CPLUSPLUS=0 in synthesis.sh, disable 'cutscene' for now.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@5029 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:17 +00:00
helixhorned
06f0c0c06b Makefile.common: fix "disallow building Lunatic with C++" (r4979). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5028 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:15 +00:00
helixhorned
a9b965498f Lunatic: update files from LuaJIT. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5027 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:14 +00:00
helixhorned
11f81070f2 Lunatic: fix a couple of typo-like issues found by listglobals.sh. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5026 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 19:31:11 +00:00
helixhorned
d508ff2694 menus.c: fix two unused-variable warnings.
git-svn-id: https://svn.eduke32.com/eduke32@5025 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 12:43:04 +00:00
helixhorned
b1347517ee Classic/Polymost: factor out update of starting sectnum, use updatesectorbreadth().
The latter means that running perpendicular thin sector is handled better
if there are e.g. TROR sectors in the same x/y space.

git-svn-id: https://svn.eduke32.com/eduke32@5024 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-22 12:43:02 +00:00
terminx
559f75ff54 Remove a couple of Android-specific menu items I accidentally left enabled on PC.
git-svn-id: https://svn.eduke32.com/eduke32@5023 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-21 23:15:27 +00:00
helixhorned
702f80cc17 gamedef.c: tweak g_keywdate[] entries.
git-svn-id: https://svn.eduke32.com/eduke32@5022 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-20 22:10:28 +00:00
helixhorned
1bfdd54f81 actors.c: make Enforcers and Troopers avoid ST1 sectors as in Duke3D.
That is, resurrect the stayput condition for LIZMAN and non-flying
LIZTROOP, but only if changing from a non-ST1 sector. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5021 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-20 22:10:26 +00:00
helixhorned
850206ef62 Stick update of 'totalclocklock' at beginning of G_DrawRooms() instead of drawrooms().
This fixes engine-side sprite animation in the following scenario: CON code
wants to draw a scene from EVENT_DISPLAYREST, but since it covers the whole
screen, disables the drawing of the 3D scene beforehand (RETURN set to 1 from
EVENT_DISPLAYROOMS). DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5020 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-19 22:19:05 +00:00
helixhorned
f541b96213 m32script: in 'for i drawnsprites' handling, back up and restore sprite MAXSPRITES-1.
This fixes the level 5 corruption encountered when issuing that iteration.
(Because the last sprite would be changed from e.g. statnum MAXSTATUS to 0.)
It is also mandatory anyhow since the last sprite may be contained in the map.

git-svn-id: https://svn.eduke32.com/eduke32@5019 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-19 17:41:57 +00:00
helixhorned
7742d5a40a Mapster32: style-cleanup check_spritelist_consistency() and VM_Execute(): 'for'.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5018 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-19 17:41:56 +00:00
helixhorned
a1a79b001e Under conditions of CLASSIC_Z_DIFF_64 (r4960), make some drawvox() vars 64-bit.
- In drawvox(), make view-relative x and y high-precision on desktops. To a
  large extent (but not completely), this fixes "stray" fake floor shadow
  sprites for voxels.
- In the mouse picking code for voxels, fix a possible integer overflow.
  A new engine.c-private function mulscale_triple30() is added.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5017 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-19 17:41:53 +00:00
helixhorned
326ba366e9 Add lunatic/test/thisactor_getzrange.con, providing 'state thisactor_getzrange'.
Also, note a place that is the real cause for "what makes the player slide off
enemies", as far as I can see.

git-svn-id: https://svn.eduke32.com/eduke32@5016 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 20:46:54 +00:00
helixhorned
b367d57845 gameexec.c: factor out 2x occuring pattern into VM_GetZRange(), clean up 3 funcs.
- VM_GetZRange(), which updates actor[].{floor,ceiling}z, is called from
  A_GetZLimits() and A_Fall().
- Style-cleanup the following: A_Dodge(), A_GetFurthestAngle(),
  A_FurthestVisiblePoint(). DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5015 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 20:46:53 +00:00
helixhorned
120746322b Revert "gameexec.c: in VM_Move(), update actor[].{floor,ceiling}z for enemies."
This reverts r4975. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5014 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 20:46:49 +00:00
terminx
5e0bed4c39 MSVC build fix.
git-svn-id: https://svn.eduke32.com/eduke32@5013 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 01:47:12 +00:00
terminx
cde502d511 Fix Mapster32 mouse cursor in GL
git-svn-id: https://svn.eduke32.com/eduke32@5012 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 01:47:09 +00:00
terminx
f3e8ffa714 Fix Polymer when switching from Polymost
git-svn-id: https://svn.eduke32.com/eduke32@5011 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 01:47:06 +00:00
terminx
1d30b86db2 Nocompress and nodownsize for skyboxes
git-svn-id: https://svn.eduke32.com/eduke32@5010 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-18 01:47:00 +00:00
helixhorned
4f54c7cf88 Fix swapbufreverse(), adding precondition of count >= 4.
Also, in premap.c:G_CacheMapData(), comment out what was supposedly
intended as a debugging message ("percentage ...").

git-svn-id: https://svn.eduke32.com/eduke32@5009 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-17 16:23:04 +00:00
helixhorned
ba84b3c4b6 LunaCON: add 'cutscene' and 'ifcutscene' as NYI commands. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5008 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-17 16:23:01 +00:00
hendricks266
59fa70cc58 Amend previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5007 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-14 12:18:39 +00:00
hendricks266
75f2028dcc Fix an assertion failure with NETCODE=0. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5006 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-14 11:50:48 +00:00
hendricks266
894407e58b Apple: Update Xcode project and build system. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5005 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-14 07:26:10 +00:00
hendricks266
8194310400 Fix build without DROIDMENU.
git-svn-id: https://svn.eduke32.com/eduke32@5004 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 07:08:41 +00:00
hendricks266
d88a938320 Replace erroneous use of EVENT_DISPLAYCROSSHAIR with new event EVENT_DISPLAYCURSOR.
git-svn-id: https://svn.eduke32.com/eduke32@5003 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 07:08:27 +00:00
terminx
16991aaef7 Oops! :)
git-svn-id: https://svn.eduke32.com/eduke32@5002 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 06:01:10 +00:00
terminx
139276e6fe Polymost changes to better support running under GL ES. Still need to investigate GL_LINES and GL_QUADS... neither work under either GL -> GL ES wrapper we've tried, so we must be doing something wrong.
git-svn-id: https://svn.eduke32.com/eduke32@5001 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:23:04 +00:00
terminx
40956094d5 More Android work. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5000 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:59 +00:00
terminx
a035d32e71 Smooth out the loading bar so that all percentage increments are displayed for at least a couple of frames each, and remove the "loaded x/x textures" message on Android.
git-svn-id: https://svn.eduke32.com/eduke32@4999 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:55 +00:00
terminx
8cc7f240d8 Remove animvpx's dependency on GLSL; adds in-place YUV420 to RGB888 conversion.
git-svn-id: https://svn.eduke32.com/eduke32@4998 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:52 +00:00
terminx
27e8fcbe57 A whole bunch of mostly insignificant changes that didn't deserve separate commits. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4997 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:48 +00:00
terminx
25668422d8 Get rid of the "press space to restart" message on mobile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4996 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:41 +00:00
terminx
1e8176480d Forgotten changes from a previous commit that renamed functions. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4995 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:38 +00:00
terminx
c486256e01 Android fixes: let the player climb stairs while crouched and fix the quick switch function of the weapon wheel. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4994 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:35 +00:00
terminx
21fbf2e9df Android menu changes. Moves a few settings in-game instead of in crappy system UI dialogs. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4993 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:32 +00:00
terminx
36a3bab5fc Android SDLayer changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4992 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:29 +00:00
terminx
c577948e94 Remove errant call to G_FadePalette() which caused a frame of corruption at map load under GL renderers, and invalidate all GL textures at map load time (just textures generated from .art on desktop, everything on mobile). This also makes Grabbag keep playing through the loading screen on Android (if no loadscreen music has been defined by a mod). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4991 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:26 +00:00
terminx
9a43465780 Android savegame hacks. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4990 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:23 +00:00
terminx
31b557ef61 More Android changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4989 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:19 +00:00
terminx
22ac21598b C-CON changes
git-svn-id: https://svn.eduke32.com/eduke32@4988 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:11 +00:00
terminx
50c30ab790 Animation system overhaul part 1. This allows for an unlimited number of .anm/.ivf files to be defined via duke3d.def and played back at any time with the new CON commands. Syntax is currently as follows, but may change:
cutscene "somefile.anm" { delay 10 } // defines somefile.anm with a delay of 10 120Hz tics between frames. a more typical framerate method may come later, but this is how the originals worked.

Once defined, they can be played through CON with the new playback command, also called "cutscene". It works like this:

definequote 12345 somefile.anm
define ANIM_SOMEFILE 12345

...

cutscene ANIM_SOMEFILE // halts game execution and immediately plays cutscene, resuming execution when finished

...

Sounds can be played during animations (and tiles can be overlaid, etc) like this:

onevent EVENT_CUTSCENE
    ifcutscene ANIM_SOMEFILE
    {
        ifvare RETURN 12 // frame 12
            sound FLY_BY
        rotatesprite ...
    }
endevent

The value of the RETURN var at the end of EVENT_CUTSCENE determines the next frame to play. This can be used for looping, etc. Attempting to play animations backwards outright is not advised as animations only seek in one direction (so rewinding requires running it through from frame 0 again). This is will WIP and hasn't been heavily tested at all, so please try it out.

git-svn-id: https://svn.eduke32.com/eduke32@4987 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:07 +00:00
terminx
cc4ddf9ce7 Minor sound cleanup... clean up crappy old code, remove obsolete "FXDevice" and "MusicDevice" variables, etc.
git-svn-id: https://svn.eduke32.com/eduke32@4986 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:22:00 +00:00
terminx
824ee61942 Rename build configurations in VS project. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4985 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:21:56 +00:00
terminx
cb2dcdc99e Minor engine cleanup
git-svn-id: https://svn.eduke32.com/eduke32@4984 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:21:53 +00:00
terminx
97f04d8083 Fix program entry point on win32, allows debugging SDL builds under MSVC.
git-svn-id: https://svn.eduke32.com/eduke32@4983 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:21:50 +00:00
terminx
5595d41ccd Macro for handling ud.bgstretch. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4982 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:21:46 +00:00
terminx
88e0bfd7d3 More twalltype
git-svn-id: https://svn.eduke32.com/eduke32@4981 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-11 05:21:38 +00:00
helixhorned
b9834f9832 mdsprite.c: in md3load(), allocate m->head.surfs with Xcalloc, amending r4952.
And preventing enormous corruption due to a free() called on a garbage (malloc'd)
pointer values this time. DO_BUILD_VERY_FAST_PLEASE!

git-svn-id: https://svn.eduke32.com/eduke32@4980 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-10 19:51:15 +00:00
helixhorned
1abe65f3ce Makefile.common: disallow building Lunatic with C++ for now. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4979 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-10 17:50:23 +00:00
hendricks266
529d43f116 Provide a RETURN value of -2 to EVENT_DISPLAYLOADINGSCREEN after G_CacheMapData().
git-svn-id: https://svn.eduke32.com/eduke32@4978 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-09 05:50:47 +00:00
hendricks266
929b04d473 CON: Add undefinevolume, undefineskill, and undefinelevel.
git-svn-id: https://svn.eduke32.com/eduke32@4977 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-09 05:50:33 +00:00
hendricks266
81b09a9ff5 Rename "Polymost.f" string back to "Polymost" because it only confused users.
git-svn-id: https://svn.eduke32.com/eduke32@4976 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-09 05:50:08 +00:00
helixhorned
c18ae15dc5 gameexec.c: in VM_Move(), update actor[].{floor,ceiling}z for enemies.
Previously, that was the case only with DRONE and COMMANDER. This makes
non-falling enemies pass properly through TROR bunches.

git-svn-id: https://svn.eduke32.com/eduke32@4975 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:31 +00:00
helixhorned
7cc1067a3d actors.c: style-cleanup A_MoveSpriteClipdist(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4974 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:31 +00:00
helixhorned
d915c49935 Mapster32: in build.c, prevent oob of wall[] if joining non-adjacent sectors.
Also, some minor stylistic cleanup.

git-svn-id: https://svn.eduke32.com/eduke32@4973 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:30 +00:00
helixhorned
70dc2f7376 CON: Amend retrieval of STR_*TIME for qgetsysstr, fixing LunaCON and possible oob.
- Add declarations of C functions to defs.ilua, names to dynsymlist,
  fix typo in con_lang.lua, ffi.string() calls in control.lua
- Assert that G_LastMapInfoIndex() is always called with ud.last_level >= 1.
  (A stricter requirement than necessary to prevent follow-up oob accesses, but
  logically the most meaningful.)
- In G_PrintParTime() and G_PrintDesignerTime(), return "<invalid>" if the above
  does not hold. This can happen from EVENT_NEWGAME, for example. Add a test to
  lunatic/test/qgetsysstr.con.  DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4972 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:28 +00:00
hendricks266
b980ca7b0b Engine: Remove some conditional disabling of spriteext features when !defined USE_OPENGL.
git-svn-id: https://svn.eduke32.com/eduke32@4971 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:04:23 +00:00
hendricks266
e8f842ac28 CON: Add read-only access to ud.config.MusicToggle through the "musictoggle" member.
git-svn-id: https://svn.eduke32.com/eduke32@4970 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:04:09 +00:00
hendricks266
b355d75ab3 CON: Add STR_YOURTIME, STR_PARTIME, STR_DESIGNERTIME, and STR_BESTTIME to qgetsysstr.
git-svn-id: https://svn.eduke32.com/eduke32@4969 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:03:50 +00:00
hendricks266
d7f846d0b6 Factor out generation of strings for time values in the bonus screen. This involves the creation of ud.playerbest.
git-svn-id: https://svn.eduke32.com/eduke32@4968 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:03:30 +00:00
hendricks266
c5b3cfa445 Correct the special behavior to select the pipebomb detonator when you have no pipebombs in your inventory but you have some thrown in the environment so that it animates properly and also applies with the next/previous weapon functions.
git-svn-id: https://svn.eduke32.com/eduke32@4967 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:03:06 +00:00
hendricks266
2cbd80ad90 Move EVENT_DISPLAYMENU to after the black translucent background is drawn when in-game.
git-svn-id: https://svn.eduke32.com/eduke32@4966 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 08:02:51 +00:00
helixhorned
a7bea4f6bc Classic: fix underallocation of TILE_TILT and tilting at very small resolutions.
Since TILE_TILT is only allocated once, it must be done with the maximum
possible size.

git-svn-id: https://svn.eduke32.com/eduke32@4965 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:15 +00:00
helixhorned
1a7816065c sdlayer.c: minor stylistic simplification of sdlayer_checkversion(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4964 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:14 +00:00
helixhorned
c6b9fa52d9 osd.c: in OSD_HandleChar() for TAB, fix use of uninitialized osd->editor.buf[i].
Exposed by Valgrind. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4963 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:13 +00:00
helixhorned
de2a14290f LunaCON: make -fbad-getactorvar-use-pli enabled by default. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4962 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:12 +00:00
helixhorned
952a723229 Make g_player a +1 offset pointer into 'static g_player_s[1 + MAXPLAYER]'.
This fixes the out-of-bounds read of former g_player[] in VM_EventCommon_().

git-svn-id: https://svn.eduke32.com/eduke32@4961 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:11 +00:00
helixhorned
c3ddf08fd1 Classic: on desktops, handle abs. z diff. of floor/ceiling to camera >= 1<<24.
git-svn-id: https://svn.eduke32.com/eduke32@4960 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:10 +00:00
helixhorned
d95aaa5da5 engine.c: style-cleanup owallmost() and wallmost(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4959 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-07 17:29:08 +00:00
helixhorned
c7774f9c43 In DEBUGANYWAY=2/DEBUG_MAIN_ARRAYS build, declare tsprite[] as tspritetype.
Fixing a bunch of warnings. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4958 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 17:17:05 +00:00
helixhorned
0190983067 Lunatic: fix typos in control.lua (get/setmusicposition).
git-svn-id: https://svn.eduke32.com/eduke32@4957 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:15 +00:00
helixhorned
57079dfee1 Add SFLAG_NOWATERDIP, unconditionally preventing actors from dipping into ST1 water.
By default, the following enemies have this flag set: OCTABRAIN, COMMANDER, DRONE.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4956 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:14 +00:00
helixhorned
f022631fa8 Actor ST1 handling: use A_GetWaterZOffset() with VM_Move(), too. DONT_BUILD.
This is where things are changed at last. This fixes lizmen walking on water.

git-svn-id: https://svn.eduke32.com/eduke32@4955 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:13 +00:00
helixhorned
c0d45ef1ec Actor ST1 handling: cleanup part 2. DONT_BUILD.
Factor out condition for whether a z offset is added or not
("fix for flying/jumping monsters getting stuck in water", etc.) into
a function A_GetWaterZOffset() (and a helper A_GetVerticalVel()).

git-svn-id: https://svn.eduke32.com/eduke32@4954 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:12 +00:00
helixhorned
36c3fd9216 Actor ST1 handling: clean up code a bit. (Preparation for real changes.)
In VM_Fall(), keep a temp preliminary new z position of the actor and
assign only when we return. This is to each ease watching its value in GDB.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4953 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:12 +00:00
helixhorned
910716fa11 mdsprite.c: in md3free(), also free s->geometry for each surface. DONT_BUILD.
This prevents a enormous leak being reported by LeakSanitizer. Not that it
matters much, since we most frequently free models only at exit. (Sometimes one
may be freed earlier though -- if there was an error loading it, AFAICS.)

git-svn-id: https://svn.eduke32.com/eduke32@4952 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-05 16:30:09 +00:00
helixhorned
a0a4006d85 menus.c: fix C build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4951 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-04 21:32:53 +00:00
hendricks266
9f910ff10c Fix next/previous weapon when the pipebomb detonator is active.
git-svn-id: https://svn.eduke32.com/eduke32@4950 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:27:52 +00:00
hendricks266
7c800f6631 Don't allow Ogg Vorbis or FLAC files to be defined from def if the binary was built without the proper libraries.
git-svn-id: https://svn.eduke32.com/eduke32@4949 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:18:11 +00:00
hendricks266
b6d625b202 Modularize .mid --> .ogg --> .flac code to apply to sounds as well, and various cleanup in music/sound filename-handling code.
git-svn-id: https://svn.eduke32.com/eduke32@4948 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:17:59 +00:00
hendricks266
ef4a19bb50 Fix a bug where FLAC sound effects would loop when they were not supposed to.
git-svn-id: https://svn.eduke32.com/eduke32@4947 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:17:25 +00:00
hendricks266
3018dee77c Menus: Mouse, touch, and pointer controls now take the origin into account.
git-svn-id: https://svn.eduke32.com/eduke32@4946 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:17:10 +00:00
hendricks266
93a3ff34e8 Add events EVENT_DISPLAYINACTIVEMENU and EVENT_DISPLAYINACTIVEMENUREST and userdef members m_origin_x and m_origin_y.
This allows for CON screen display code to use menu animations. The following is an example of how to adapt screen features that should animate.

before:

onevent EVENT_DISPLAYMENUREST
    ifvare current_menu 0 // main menu
    {
        setvar x 1
        setvar y 1
        rotatesprite x y zoom ang tilenum shade pal orientation 0 0 xdim ydim
    }
endevent

after:

state DisplayMenuCommon
    ifvare RETURN 0 // main menu
    {
        getuserdef[THISACTOR].m_origin_x x
        getuserdef[THISACTOR].m_origin_y y
        addvar x 65536
        addvar y 65536
        rotatesprite16 x y zoom ang tilenum shade pal orientation 0 0 xdim ydim
    }
ends

onevent EVENT_DISPLAYMENUREST state DisplayMenuCommon endevent
onevent EVENT_DISPLAYINACTIVEMENUREST state DisplayMenuCommon endevent

git-svn-id: https://svn.eduke32.com/eduke32@4945 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:58 +00:00
hendricks266
7fb76291ee Make my menu animation code a little bit more modular.
git-svn-id: https://svn.eduke32.com/eduke32@4944 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:34 +00:00
hendricks266
74bb822804 Revise r4707 to fix some remaining issues with next/previous weapon.
git-svn-id: https://svn.eduke32.com/eduke32@4943 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:22 +00:00
hendricks266
6048f9d766 Simplify the macros used for distinguishing between OS X and iOS.
git-svn-id: https://svn.eduke32.com/eduke32@4942 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:16:10 +00:00
hendricks266
36291f2e30 Fix "rv may be used uninitialized".
git-svn-id: https://svn.eduke32.com/eduke32@4941 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:15:50 +00:00
hendricks266
3c8b06c688 Fix "textsize.x may be used uninitialized".
git-svn-id: https://svn.eduke32.com/eduke32@4940 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-25 12:15:37 +00:00
helixhorned
a50a332933 compat_tools.c: match definition of 'editstatus'to declarations in other places. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4939 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-24 19:14:39 +00:00
helixhorned
038bc1517b engine.c: in qsetmodeany(), call initsmost() after setting xdim and ydim.
This makes sure that the engine arrays have sufficient space allocated for usage
in Mapster32's 2D mode, for example from drawmapview().


git-svn-id: https://svn.eduke32.com/eduke32@4938 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-19 01:54:53 +00:00
helixhorned
038a9f8eb6 Lunatic: fix build and linking. DONT_BUILD.
- t{sector,wall}type are simply typedef'd to the non-t versions
- make FORCE_INLINE unconditional of DISABLE_INLINING (otherwise there are
  multiple definitions of these functions)
- update lunatic/doc/lpeg-lunatic.patch to apply against the LPeg 0.12 I just
  downloaded


git-svn-id: https://svn.eduke32.com/eduke32@4937 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-19 00:11:25 +00:00
helixhorned
621b52aec5 osdfuncs.c: get rid of a warning with GCC. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4936 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-19 00:03:00 +00:00
helixhorned
ace6087f7b Classic: fix "windowed" modes (r_size >= 12) by reverting r4920; adapt.
In setview(), we now assert windowx2 < xdim. The only calling places where its
non-violation is non-trivial to ascertain are (1) showview from CON and
(2) draw-to-tile for look-sideways in game.c. AFAICS case 1 should be fine.
Case 2 is adapted; see comments there.


git-svn-id: https://svn.eduke32.com/eduke32@4935 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 23:16:37 +00:00
helixhorned
451dcfa073 Mapster32: remove unused key* options in mapster32.cfg and corresponding BK_* macros. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4934 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 22:11:31 +00:00
helixhorned
3a433130bb Fix bsearch() call for user G_LoadMapHack(): don't access nonexistent storage. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4933 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 20:31:37 +00:00
helixhorned
80da69f6a0 polymost.c: fix possible access of wallchanged[-1]. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4932 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 20:28:59 +00:00
helixhorned
03be585ff7 engine.c: fix memory leak. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4931 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 20:22:25 +00:00
helixhorned
a05cc6ec20 polymost.c: fix C build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4930 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-18 20:21:17 +00:00
hendricks266
b8783d0448 Fix warning in previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4929 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 05:40:42 +00:00
hendricks266
011fd40dda CON: Add new commands "getmusicposition" and "setmusicposition" that operate on the playback position of the current music track.
// Example: Switch between tracks like radio stations.
 getmusicposition temp
 starttrackvar next_music_track
 setmusicposition temp

Only implemented for Ogg Vorbis, FLAC, and XA. Consult the devs before using these commands.

git-svn-id: https://svn.eduke32.com/eduke32@4928 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 00:28:49 +00:00
hendricks266
86e7a97ef7 Fix a crash exposed by animating the menu back button.
git-svn-id: https://svn.eduke32.com/eduke32@4927 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 00:27:46 +00:00
hendricks266
e7b7a9fcf1 Clean up duplicate and strangely-formed cases in C_ParseCommand().
git-svn-id: https://svn.eduke32.com/eduke32@4926 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-17 00:27:19 +00:00
terminx
c98555616d Fix kplib zip support
git-svn-id: https://svn.eduke32.com/eduke32@4925 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-16 06:30:51 +00:00
terminx
8e21ad20c2 MSYS2 build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4924 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-16 06:30:48 +00:00
terminx
bd27267b6b Fix savemapstate/loadmapstate (fixes a crash at shutdown, among other things)
git-svn-id: https://svn.eduke32.com/eduke32@4923 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-16 06:30:42 +00:00
terminx
b3358a90b2 Fix wildmatch(), resolves errors matching things like "*.zip" with "duke3d.hrp.zip" for example.
git-svn-id: https://svn.eduke32.com/eduke32@4922 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-15 06:45:27 +00:00
terminx
4c883f81b6 MSVC build fix... guess it was upset about the macro expansion
git-svn-id: https://svn.eduke32.com/eduke32@4921 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-15 06:45:24 +00:00
terminx
0b1582185e Fix off-by-one error in setview()
git-svn-id: https://svn.eduke32.com/eduke32@4920 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-15 06:45:21 +00:00
terminx
cdaa25ef07 Implement better fade-out for quotes and for the mouse cursor in the menu.
git-svn-id: https://svn.eduke32.com/eduke32@4919 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-15 06:45:14 +00:00
hendricks266
2d161b1bf7 Menus: Implement better back button.
git-svn-id: https://svn.eduke32.com/eduke32@4918 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:57:29 +00:00
hendricks266
c42faee32e Menus: Make black background boxes translucent again.
git-svn-id: https://svn.eduke32.com/eduke32@4917 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:57:11 +00:00
hendricks266
c1c672032b Menus: Add proper edging for the tops and bottoms of scrolling lists.
git-svn-id: https://svn.eduke32.com/eduke32@4916 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:56:54 +00:00
hendricks266
53306244f0 Improve weapon switching:
1. If you switch away from a weapon and switch to a third when the gun is still going down, continue lowering the first weapon instead of immediately raising the third.
2. If you switch away from a weapon and switch back to it before it lowers completely, raise it from its current position instead of going all the way to the bottom.

git-svn-id: https://svn.eduke32.com/eduke32@4915 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:56:36 +00:00
hendricks266
49ba033faa Convert some multi-line UI messages to single G_ScreenText calls with line breaks.
git-svn-id: https://svn.eduke32.com/eduke32@4914 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:56:19 +00:00
hendricks266
7bcb05f7f0 Fix aligned screentext with newlines.
git-svn-id: https://svn.eduke32.com/eduke32@4913 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-13 12:55:56 +00:00
terminx
f67c8fd44b Forgot this file in r4911
git-svn-id: https://svn.eduke32.com/eduke32@4912 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 09:55:12 +00:00
terminx
7daf4fdcd3 Fix tdupsprite in m32script.
git-svn-id: https://svn.eduke32.com/eduke32@4911 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 09:28:46 +00:00
terminx
d70ac064b7 Make dist() and ldist() take void pointers so we can compare spritetype with tspritetype without inserting casts everywhere.
git-svn-id: https://svn.eduke32.com/eduke32@4910 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 09:28:41 +00:00
terminx
19729fc766 Fix Mapster32 sector copying
git-svn-id: https://svn.eduke32.com/eduke32@4909 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 08:44:46 +00:00
terminx
35d72c80c1 Fix compiler warnings
git-svn-id: https://svn.eduke32.com/eduke32@4908 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 01:54:50 +00:00
terminx
41a62ba96b Fix undefined behavior in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@4907 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 01:54:33 +00:00
terminx
0b1433b07c Disable mouse input affecting the menu when the console is down. This code is awful, because I am an awful man.
git-svn-id: https://svn.eduke32.com/eduke32@4906 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 01:54:18 +00:00
terminx
130244a302 Crash fix
git-svn-id: https://svn.eduke32.com/eduke32@4905 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 01:53:55 +00:00
terminx
419ea3ed40 Polymost: fix wall and floor sprites clipping into or z-fighting with surfaces (replaces glDepthRange() hacks for sprites), add r_nofog cvar for debugging, reduce the total number of OpenGL calls by only calling glFogi() to set the fog mode when initializing the renderer or changing r_usenewshading.
git-svn-id: https://svn.eduke32.com/eduke32@4904 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:56:58 +00:00
terminx
107bb7a3fa Introduce "twalltype" for temporary uses of walltype where using wall_tracker_hook() would be invalid. This is similar to "tspritetype" and fixes a bunch of problems in the editor that cropped up when changing the tracker sanity checks to an assert that only exists in debug builds (branching upon any write to a sprite, sector or wall had an unacceptable impact on performance).
git-svn-id: https://svn.eduke32.com/eduke32@4903 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:56:38 +00:00
terminx
364cf15c4f Questionable CON changes and optimizations. <3
git-svn-id: https://svn.eduke32.com/eduke32@4902 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:56:10 +00:00
terminx
2928a9dfa9 Fix Mapster32 bug where pressing "O" on a sprite twice would corrupt your map due to unchecked use of hitscan results.
git-svn-id: https://svn.eduke32.com/eduke32@4901 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:55:50 +00:00
terminx
64943543a4 Place the current loading percentage into RETURN for EVENT_DISPLAYLOADINGSCREEN.
git-svn-id: https://svn.eduke32.com/eduke32@4900 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:55:36 +00:00
terminx
43161e1fd8 Fix distrecip calculation
git-svn-id: https://svn.eduke32.com/eduke32@4899 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:55:23 +00:00
terminx
4911b9a949 Revise C++ structure trackers for performance and introduce "tspritetype", for temporary sprites or other usages where using the trackers would be invalid or undesired. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4898 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:55:07 +00:00
terminx
655bbed3b1 Faster/better optimized access to game structures from C-CON.
git-svn-id: https://svn.eduke32.com/eduke32@4897 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:54:11 +00:00
terminx
04527ad08e Support r_windowpositioning in 8-bit.
git-svn-id: https://svn.eduke32.com/eduke32@4896 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:53:59 +00:00
terminx
1f2705c4bc Clean up/refactor a few gamevar related functions based on building as C++/C99 and some interesting articles I read about how GCC and Clang optimize switches. Worth a few FPS here.
git-svn-id: https://svn.eduke32.com/eduke32@4895 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:53:44 +00:00
terminx
67d30a18da Minor cleanup and formatting changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4894 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:53:30 +00:00
terminx
4bc18d631e Make FORCE_INLINE aware of DISABLE_INLINING. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4893 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:53:16 +00:00
terminx
70cd0d2425 Detect running under Wine. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4892 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:53:01 +00:00
terminx
16b9b19e53 Identify Windows 10 in the startup window/log. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4891 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:52:45 +00:00
terminx
c591711fe8 MSVC C++ build fixes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4890 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:52:15 +00:00
terminx
16b617114c Replace hightile grayscale method (usually combined with tints to produce
replacements for the first handful of palette lookups) w8th superior
"luma" method. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4889 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:51:41 +00:00
terminx
9ab6ab7139 Fix up weapon switching deficiencies
git-svn-id: https://svn.eduke32.com/eduke32@4888 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:51:17 +00:00
hendricks266
0699a44e4e When using search paths detected from a Megaton installation, also use the SC-55 oggs included with it.
git-svn-id: https://svn.eduke32.com/eduke32@4887 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-08 15:15:10 +00:00
hendricks266
e3de98e2ae Clean up autodetected game install search paths on all platforms that use them.
This should prevent Lunar Apocalypse from becoming Nuclear Winter with Megaton on Linux and Mac.

git-svn-id: https://svn.eduke32.com/eduke32@4886 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-08 15:14:47 +00:00
hendricks266
1f3ce84585 Menus: Disable the spinning nuke icon back button on Android.
git-svn-id: https://svn.eduke32.com/eduke32@4885 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-08 15:14:18 +00:00
hendricks266
589c993c39 Implement UserMapHacks.
git-svn-id: https://svn.eduke32.com/eduke32@4884 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-08 15:14:00 +00:00
hendricks266
3f846bdde3 Reinstate MD4.
git-svn-id: https://svn.eduke32.com/eduke32@4883 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-08 15:13:28 +00:00
helixhorned
26683d5bfe engine.c: fix clipmove() against upper part of wall-aligned sprites.
git-svn-id: https://svn.eduke32.com/eduke32@4882 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-06 20:54:49 +00:00
helixhorned
5c4f9b1f14 engine.c: on non-touch devices, roughly double maximum voxel drawing distance.
By setting DISTRECIPSIZ to 131072, as far as I can see the absolute maximum
that's possible with the integer scaling convention of the voxel drawing code.

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4881 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-06 19:56:44 +00:00
helixhorned
b5bb86b8e2 Mapster32: make sprite duplication examples in m32script_ex.map work again.
- Work around a sequencing issue (assignment of searchstat) in
  M32_DrawRoomsAndMasks()
- When having sprites highlighted and changing shade, since r1943 change
  every highlighted sprite's shade if one of them is aimed at. With this
  revision, if SHIFT is pressed while doing that, only change the aimed at
  sprite's shade
- a.m32: Use 'break' from a state instead of 'return'. The former may be
  "sticky" in a way that is not intended. Needs to be debugged later.
- Update instructions in m32script_ex.map

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4880 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-06 19:56:41 +00:00
helixhorned
a9cb38dbcf game.c: revert changes of r4861 ("consult g_mirrorCount instead of gotpic[]").
git-svn-id: https://svn.eduke32.com/eduke32@4879 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-05 21:54:31 +00:00
helixhorned
8f1df579e1 Lunatic: in control/lua, sync ALLOWED_VIEWTYPE with change from r4814 (allow 2).
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4878 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-05 21:54:28 +00:00
helixhorned
431941771d engine.c: prevent multiple collection of same sector in scansector().
Also for polymost_scansector(). These were likely of little consequence
because collection in scansector() is the exception than the rule (see
added comments), and because the redundant drawwalls() would find the
x range done the second and following times.

Also, add a bound check for sectorborder[] (the limit was probably rarely
hit in practice, but the check is mandatory nontheless) and add functions
printscans() and printbunches() in the DEBUGGINGAIDS=2 build.

git-svn-id: https://svn.eduke32.com/eduke32@4877 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-04 18:45:03 +00:00
helixhorned
bc35a5c8d2 engine.c: in drawmasks(), remove sorting sprites by statnum.
There were various issues with that code.
 - It does not seem to be very meaningful to do so.
 - It was carried out on the same range as the sprites sorted by z coordinate
   (those with equal x/y) just a few lines away, effectively overriding it.
   The former is very meaningful, though.
 - It led to inconsistencies between editor and game, see
   http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__214873

git-svn-id: https://svn.eduke32.com/eduke32@4876 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-04 18:45:01 +00:00
helixhorned
17fab4d8ac Cleanup of various engine functions.
- factor out calculation of player-relative and screen+clipped-player-relative
  coordinates into get_rel_coords() and get_screen_coords(), respectively
- the usual beautification stuff, especially since we're now on C99

git-svn-id: https://svn.eduke32.com/eduke32@4875 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-04 18:45:00 +00:00
helixhorned
b0c48eec25 CON: always return non-negative values from 'clipmove' and related.
Previously, the C function clipmove() returned negative values when hit a
wall (32768+wallnum) or sprite (49152+spritenum) because internally,
these values were encoded into a *signed* 16-bit integer. This made no
difference to C code using it, since it always proceeded by bit checks,
but was inconsistent with documentation on CON 'clipmove' on the wiki.

The following commands are affected too, since they use the value returned
by clipmove(): 'clipmovenoslide', 'movesprite'. Also, the value of
actor[].movflag ('htmovflag' from CON).

Also, fix 'clipmove*' in LunaCON and add lunatic/test/checknearwall.con
as an example of how to implement a being-close-to-a-wall checker as
requested in
http://forums.duke4.net/topic/7869-determining-closeness-to-a-wall/

git-svn-id: https://svn.eduke32.com/eduke32@4874 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-04 18:44:58 +00:00
helixhorned
2daa44ca6a engine.c: fix clipmove() against floor-aligned sprites.
Introduced in r3207. Oops.

git-svn-id: https://svn.eduke32.com/eduke32@4873 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-30 20:05:22 +00:00
helixhorned
5f263f1358 engine.c: prevent an oob read of spriteext[] in drawsprite_classic().
git-svn-id: https://svn.eduke32.com/eduke32@4872 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-30 20:05:20 +00:00
helixhorned
61f7c9e30f sounds.c: don't crash S_PlayMusic() if passed null pointer for 'fn'.
This may happen if no title/end music is defined from CON.
Thanks to Zaxtor for the bug report.

git-svn-id: https://svn.eduke32.com/eduke32@4871 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 22:12:40 +00:00
hendricks266
d73c7f1afe Menus: Amend r4862 so that touch devices, which do not display the crosshair as a cursor, are not completely prevented from using touch input by the lack of a crosshair tile.
git-svn-id: https://svn.eduke32.com/eduke32@4870 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 21:36:09 +00:00
hendricks266
fcbd0737bb Menus: Fix the Screen Size slider so that it works properly after the screen size has been modified in-game with [-]/[+].
git-svn-id: https://svn.eduke32.com/eduke32@4869 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 21:35:56 +00:00
hendricks266
aa9f767052 Menus: Fix selecting "None" for Anisotropy.
git-svn-id: https://svn.eduke32.com/eduke32@4868 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 21:35:44 +00:00
hendricks266
3bc47565a3 Menus: Fix opening a MenuEntryOptionList when the option's value is "Custom".
git-svn-id: https://svn.eduke32.com/eduke32@4867 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 21:35:32 +00:00
hendricks266
6797e8a3d5 Menus: Convert MenuRange*_t's "displaytype" field to "flags", add a flag to enforce clamping to the defined intervals, and apply this flag to the Screen Size slider.
git-svn-id: https://svn.eduke32.com/eduke32@4866 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 21:35:20 +00:00
hendricks266
a74317a104 Menus: When pressing left or right on a slider that has moved by the mouse to a position between the defined intervals, do not round to the nearest interval and then increment or decrement. Instead, check if rounding will satisfy the movement before moving further.
git-svn-id: https://svn.eduke32.com/eduke32@4865 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 21:35:07 +00:00
hendricks266
571a44cd8d Menus: Mouse controls now respect MenuEntry_t's disabled flag.
git-svn-id: https://svn.eduke32.com/eduke32@4864 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 21:34:54 +00:00
helixhorned
d7b88df6af actors.c: replace hard-coded list with missing check for SFLAG_NODAMAGEPUSH.
In A_RadiusDamage(). The code snippet that is disabled for such actors
increases the damaged actor's .xvel by (4 times the) damage amount and
is responsible for the strange effect of enemies becoming faster TOWARDS
the player on being hit with an RPG frontally.

Thanks to Fox for a keen eye.

git-svn-id: https://svn.eduke32.com/eduke32@4863 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 20:57:13 +00:00
helixhorned
7033205fcf Menus: disable mouse pointer if CROSSHAIR is void. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4862 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 19:48:20 +00:00
helixhorned
1734e0db53 In G_HandleMirror(), consult g_mirrorCount instead of gotpic[] w/ MIRROR.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4861 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 15:40:06 +00:00
helixhorned
c320dba4d0 Lunatic translator: add stand-alone option -fnames, generating names.h file.
git-svn-id: https://svn.eduke32.com/eduke32@4860 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 15:40:04 +00:00
hendricks266
ec3a73efd2 Fix playing end-of-episode ANMs.
git-svn-id: https://svn.eduke32.com/eduke32@4859 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 20:39:43 +00:00
hendricks266
4bc4735480 If you save over an autonamed savegame and change the name, don't overwrite your edit with another autofill.
git-svn-id: https://svn.eduke32.com/eduke32@4858 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 20:39:30 +00:00
hendricks266
8a68f2d5a9 Menus: Enumify the "status" parameter of M_MenuText into MenuTextFlags_t.
git-svn-id: https://svn.eduke32.com/eduke32@4857 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:37:39 +00:00
hendricks266
7a1e94440a Menus: Implement mouse/touch/pointer controls for all widgets.
git-svn-id: https://svn.eduke32.com/eduke32@4856 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:37:27 +00:00
hendricks266
6ac1850482 Menus: Replace the "disabled" member of MenuEntry_t with "flags" so that the other 31 bits can be utilized.
git-svn-id: https://svn.eduke32.com/eduke32@4855 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:37:12 +00:00
hendricks266
4f9831d45c Menus: Disable normal left-click/touch menu functionality when the mouse is active.
git-svn-id: https://svn.eduke32.com/eduke32@4854 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:36:58 +00:00
hendricks266
598e33319c Add the necessary plumbing to sdlayer to detect mousedown, mouseup, and dragging.
git-svn-id: https://svn.eduke32.com/eduke32@4853 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:36:43 +00:00
hendricks266
bfb3614b92 Introduce preprocessor token EDUKE32_TOUCH_DEVICES that covers both Android and iOS, and replace selected instances of __ANDROID__ with it.
git-svn-id: https://svn.eduke32.com/eduke32@4852 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:36:14 +00:00
hendricks266
b010dfd2ee Menus: Add scrollbars to the FileSelect menu type.
git-svn-id: https://svn.eduke32.com/eduke32@4851 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:35:48 +00:00
hendricks266
1c3043bf50 Tabs to spaces in menus.c.
git-svn-id: https://svn.eduke32.com/eduke32@4850 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:35:34 +00:00
hendricks266
399c062326 Refactor menus in preparation for touch functionality.
git-svn-id: https://svn.eduke32.com/eduke32@4849 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:35:21 +00:00
helixhorned
cb45393b3a Mapster32: disable all loop checks as they spam the log too much. DONT_BUILD.
The one introduced with r4569.

git-svn-id: https://svn.eduke32.com/eduke32@4848 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 17:17:53 +00:00
helixhorned
2494c56768 Propagate 'smoothratio' to scenes drawn from the position of a camera.
That is, make interpolation work properly there -- both when 'using' a
VIEWSCREEN and when rendering the scene onto a TILE_VIEWSCR. This makes
a difference only if the camera is in a moving sector.

git-svn-id: https://svn.eduke32.com/eduke32@4847 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 17:17:52 +00:00
helixhorned
33addad941 Minor cleanup, mostly in engine.c:drawalls().
git-svn-id: https://svn.eduke32.com/eduke32@4846 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 17:17:50 +00:00
helixhorned
8024273aca Prettify viewscreen turned to STATIC in breakable cameras mode. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4845 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 18:05:41 +00:00
helixhorned
f3532f8a34 C-CON: fix 'writearraytofile' for 64-bit platforms.
git-svn-id: https://svn.eduke32.com/eduke32@4844 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:30:01 +00:00
helixhorned
51fe706907 Tweak the behavior of viewscreens to what is more logical IMO.
- At a given time, at most one viewscreen may display TILE_VIEWSCR, namely
  that one which is g_curViewscreen
- sync kinds of distance to compare against VIEWSCREEN_ACTIVE_DISTANCE (was
  Manhattan vs. dist(), now both the latter)
- fix resetting to VIEWSCREEN tile when player is greater from it than that
  distance. When the player is closer to it again, it is *not* reset to
  TILE_VIEWSCR.
- more sync'd g_curViewscreen and sprite[i].yvel (for 'i' being the viewscreen
  sprite)

Note: in a multiplayer context, this needs to be thought about once more.

git-svn-id: https://svn.eduke32.com/eduke32@4843 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:30:00 +00:00
helixhorned
843894dd57 engine.c: clamp all indices for distrecip[] access, as more OOBs were observed.
git-svn-id: https://svn.eduke32.com/eduke32@4842 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:59 +00:00
helixhorned
a1091233d2 CON: allow passing more than one flag to the 'spriteflags' directive.
These will be bitwise-OR'd.

git-svn-id: https://svn.eduke32.com/eduke32@4841 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:58 +00:00
helixhorned
2eff7bf6ce gamedef.c: factor out some dup'd code into C_BitOrNextValue(), C_FinishBitOr().
git-svn-id: https://svn.eduke32.com/eduke32@4840 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:57 +00:00
helixhorned
b2e09b5a18 In C-CON build, prevent leak of gamevar/gamearray labels on savegame loading.
Also, rewrite the loops in Gv_Free() and Gv_Clear() in the plain fashion so
that they are correct even if the number of gamearrays exceeds the number of
gamevars.

git-svn-id: https://svn.eduke32.com/eduke32@4839 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:56 +00:00
helixhorned
7da543e4f0 cache1d.c: Revert changes in r4665 unrelated to unrolling, fixing oob write.
Specifically, we must make sure that dasizeof <= LZWSIZE (or so) in
c1d_{read,write}_compressed() (what the assertion in the last commit was about,
and is now redundant). This fixes saving of e.g. large gamearrays with the C-CON
build. Bump BYTEVERSION.

An alternative for setting dasizeof to 1 would be to factor it and keep dividing
as long as it's > LZWSIZE.

git-svn-id: https://svn.eduke32.com/eduke32@4838 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:55 +00:00
helixhorned
b7805868f7 cache1d.c: in (de)compr. funcs, add an bound-checking assert that fails w/ AMC TC.
Also, formatting.

git-svn-id: https://svn.eduke32.com/eduke32@4837 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:54 +00:00
helixhorned
584ed7982a Convert voxels to models only when starting or changing to Polymost.
Analogously to the way models are processed in a deferred manner for Polymer.

git-svn-id: https://svn.eduke32.com/eduke32@4836 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:53 +00:00
helixhorned
bd93fd2aab A couple of miscellaneous cleanups.
defs.c: sync some dup'd code for 'definevoxel' and 'voxel' DEF tokens.
engine.c: factor out PolymerProcessModels().

git-svn-id: https://svn.eduke32.com/eduke32@4835 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:52 +00:00
helixhorned
3a6bcdc102 engine.c: style-cleanup drawvox(). Also clean up ALL of voxmodel.c.
No deliberate semantic changes here.

git-svn-id: https://svn.eduke32.com/eduke32@4834 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:48 +00:00
helixhorned
a20a7878bb Polymer: include wall[].ypanning in wall invalidation logic.
Fixes bug reported here:
http://forums.duke4.net/topic/1348-mapster32-problems-and-bugs/page__view__findpost__p__213759

git-svn-id: https://svn.eduke32.com/eduke32@4833 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-21 15:51:51 +00:00
helixhorned
3a741de9fe menus.c: Reset next-viewscreen-redraw counter from M_CloseMenu().
git-svn-id: https://svn.eduke32.com/eduke32@4832 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-21 15:51:50 +00:00
helixhorned
8b7c10892c Minor cleanup around security cameras / viewscreens. DONT_BUILD.
The only semantic change is that an out-of-sync instance of a distance to
check (viewscreen sprite <-> player sprite) is changed in
actors.c:G_MoveStandables(), from 2048 (as in Duke3D 1.5) to 8192, now
represented by the define VIEWSCREEN_ACTIVE_DISTANCE. I have not yet observed
any change in behavior regarding this change (but there ought to be one).

Also, in DNCOORDS display, print 'totalclock' count, too.

git-svn-id: https://svn.eduke32.com/eduke32@4831 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-21 15:51:48 +00:00
helixhorned
b4472f60d1 Polymer: don't draw masked walls with void tile. DONT_BUILD.
This prevents displaying W_FORCEFIELD+1 masks (as e.g. in front of viewscreens)
completely black with ART mapping. The old behavior, which is inconsistent with
classic, is kept for one-sided masked walls, though.

git-svn-id: https://svn.eduke32.com/eduke32@4830 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-20 13:36:40 +00:00
helixhorned
b716534104 Lunatic: sync MAXJOYAXES, add lunatic/test/sprite_addtv.con. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4829 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-20 13:08:27 +00:00
hendricks266
ac4bbaf0f1 Wii: Display all hat directions in the joystick buttons menu instead of just up.
git-svn-id: https://svn.eduke32.com/eduke32@4828 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:16:29 +00:00
hendricks266
989f182eb4 Wii: Bump MAXJOYAXES to 9 to avoid menu corruption, and fix _functio.h, CONFIG_FunctionNameToNum, CONFIG_AnalogNameToNum, so that this does not crash.
git-svn-id: https://svn.eduke32.com/eduke32@4827 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:16:16 +00:00
hendricks266
eca33954db Fix the MAXJOYBUTTONS discrepancy between _control.h and gamedefs.h.
git-svn-id: https://svn.eduke32.com/eduke32@4826 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:15:51 +00:00
hendricks266
0869194b60 Wii: Add non-interactive cases to wm_msgbox and wm_ynbox.
git-svn-id: https://svn.eduke32.com/eduke32@4825 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:15:26 +00:00
hendricks266
30407c8e87 Wii: Output and package the binary as .dol instead of .elf.
git-svn-id: https://svn.eduke32.com/eduke32@4824 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:15:05 +00:00
hendricks266
dbcca52303 Polish up the video menu a bit.
git-svn-id: https://svn.eduke32.com/eduke32@4823 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:14:45 +00:00
hendricks266
933ffc92ce Fix "bright red" player color.
git-svn-id: https://svn.eduke32.com/eduke32@4822 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-18 18:14:27 +00:00
hendricks266
c397841cda Wii: Add a custom exception handler that saves the crash information to the log and directs the user to submit it to us. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4821 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-17 13:02:21 +00:00
hendricks266
8d115df01e Wii: Add a console to display startup messages to the screen instead of showing the user a black screen while the game initializes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4820 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-17 13:01:58 +00:00
hendricks266
bd813831b0 Wii: Work around a performance regression caused by r4080. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4819 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-17 13:01:13 +00:00
hendricks266
8ec58a208d Wii: Tweaks.
*Move the FPS display down from the top of the screen, as we do for quotes.
*Don't show a non-functional mouse cursor in the center of the screen.
*Don't display the "Startup window" option in Game Settings.
*Display the IR pointer crosshair in addition to the aiming crosshair, not instead of it.
*Eliminate some assumptions from wiibuild.bat.
*DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4818 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-17 13:00:54 +00:00
helixhorned
01fa7eeabc Makefile.common: in non-release builds, explicitly pass -fno-omit-frame-pointer.
So that stack traces can be gotten with optimized DEBUGANYWAY builds, e.g. for
Linux's 'perf' --> flame graphs. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4817 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-15 19:50:52 +00:00
helixhorned
3db594912f Lunatic: for '(display)rand*', use math.floor(); correct create_additive_trans() help.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4816 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-14 20:48:05 +00:00
helixhorned
52b58dde26 Lunatic: show on-screen errors even in passive menu; fix '(display)rand*' for large values.
Also, some minor style cleanup in game.c. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4815 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-14 14:31:34 +00:00
helixhorned
ca7a5acce7 LunaCON: expose more members, properly handle setting ud.screen_size.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4814 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-13 22:33:07 +00:00
helixhorned
d82ca91809 DEF: fix handling of 'remappal' attribute for 'makepalookup'.
git-svn-id: https://svn.eduke32.com/eduke32@4813 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-13 22:33:06 +00:00
helixhorned
50a5e38cb6 Pull setting g_noFloorPal[] further down, into makepalookup().
Now passed as last arg 'noFloorPal' to makepalookup(). Used as follows:
- from loadlookups(): *false*, i.e. do take over floor pal.
- from generatefogpals() [default fog pals] and fillemptylookups(): *true*,
  i.e. don't take over floor pal
- from DEF 'fogpal': true
- from DEF 'makepalookup': take over flag from pal from which we are remapping,
  or set to true if remapping from pal 0
- (CROSSHAIR_PAL: true)

This should make the issue reported in
 http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__197583
resolve in a natural manner.

git-svn-id: https://svn.eduke32.com/eduke32@4812 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-13 22:33:05 +00:00
helixhorned
70cbde87eb Move g_noFloorPal[] to the engine side and adapt other stuff accordingly.
- 'nofloorpalrange' DEF token: now handled for both game and editor (for the
  latter, it's effective only for "shade preview" mode, [']+[X]).
- in generatefogpals(), assign g_noFloorPal[] = 1 for every generated (default)
  fog pal; get rid of its return value / g_firstFogPal

git-svn-id: https://svn.eduke32.com/eduke32@4811 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-13 22:33:04 +00:00
helixhorned
c9943bcde0 engine.c: prevent an oob access of uwall[] in ceilspritescan().
git-svn-id: https://svn.eduke32.com/eduke32@4810 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-13 22:33:02 +00:00
helixhorned
be06b43347 engine.c: style tweaks (tighter var. declaration) in sprite drawing functions.
git-svn-id: https://svn.eduke32.com/eduke32@4809 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-13 22:32:57 +00:00
hendricks266
a1c0d58069 Wii: Fix build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4808 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-09 23:56:54 +00:00
hendricks266
c956f350b7 Fix building with make -B. (make veryclean is now obsolete.) DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4807 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-09 23:56:31 +00:00
hendricks266
a8455d5caf Fix building the Build Tools. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4806 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-09 22:51:41 +00:00
hendricks266
750a98953b BSD: Fix the previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4805 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-08 10:30:33 +00:00
hendricks266
828382c290 Linux: Add detection of the Steam releases of Duke 3D and NAM. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4804 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-08 10:26:32 +00:00
hendricks266
9f52fb1d21 Fix a warning with Linux/GTK2. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4803 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-08 09:18:29 +00:00
hendricks266
735525758d Refine the previous commit a bit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4802 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-08 07:32:58 +00:00
hendricks266
0b91499ee0 Mac OS X: Add detection of the Steam and GOG releases of Duke 3D and the Steam release of NAM. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4801 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-08 04:31:57 +00:00
helixhorned
442a9bbfef voxmodel.c: fix Polymost rendering of voxels.
This reverts/corrects two semantic changes of r4639 as far as what is now
voxmodel.c (formerly part of mdsprite.c) is concerned. One correction ends
up having no effect (m->bscale is always 1.f for voxel models, as far as I
can see), but is the proper rewrite.

Also, in osdcmds.c:registerosdcommands(), tweak two help strings.

git-svn-id: https://svn.eduke32.com/eduke32@4800 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-06 21:05:36 +00:00
helixhorned
5e35448560 m32script: fix tilesizx[]/tilesizy[] access. Can also 'copy' from them.
git-svn-id: https://svn.eduke32.com/eduke32@4799 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-06 19:09:53 +00:00
helixhorned
74d99fe2e1 M32Script cleanup. Fixes at least one non-minor and one minor bug.
git-svn-id: https://svn.eduke32.com/eduke32@4798 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-06 19:09:50 +00:00
helixhorned
5e574436e2 engine.c: minor stylistic changes. DONT_BUILD.
Since we're targeting C99/C++ now, we can finally declare variables as close
to their use as possible.

git-svn-id: https://svn.eduke32.com/eduke32@4797 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-05 23:12:36 +00:00
helixhorned
badd7ca115 Lunatic: fix actor[] and player[] indexing after LuaJIT bugfix 66515a054c0826ce.
git-svn-id: https://svn.eduke32.com/eduke32@4796 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-05 23:12:35 +00:00
helixhorned
973d4950bb LunaCON: implement 'qstrncat' command.
git-svn-id: https://svn.eduke32.com/eduke32@4795 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-05 23:12:33 +00:00
helixhorned
7cce9c39cb astub.c: revert portions of r4763, fixing display of some "member edit" dialogs.
Specifically, this fixes edit lines for 2 members, e.g. "(X,Y)pan".

git-svn-id: https://svn.eduke32.com/eduke32@4794 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-05 23:12:30 +00:00
helixhorned
09e12917f0 gamevars.c: don't leak memory in Gv_NewArray(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4793 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-05 20:02:19 +00:00
helixhorned
e00b2c627a Bump BYTEVERSION, necessary since the changes of r4703. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4792 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-02 21:56:28 +00:00
hendricks266
2f116d81a6 Add dummy command line parameters to allow us to serve as a drop-in replacement for the NAM Steam release's dosbox.exe
git-svn-id: https://svn.eduke32.com/eduke32@4791 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-02 06:16:15 +00:00
hendricks266
80ed260c1a Windows: Detect installation paths of 3DR's Duke Nukem 3D package, the 3DR Anthology, and the NAM Steam release.
git-svn-id: https://svn.eduke32.com/eduke32@4790 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-02 06:16:02 +00:00
hendricks266
47d3f07ccf Remove the structure fields in grpscan.c that blocked my code for allowing NAM, NAPALM, and WWII GI to fall back to GAME.CON.
git-svn-id: https://svn.eduke32.com/eduke32@4789 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-02 06:15:49 +00:00
hendricks266
9a7bf9e72e Remove the blackout when starting a new game on episode 4.
git-svn-id: https://svn.eduke32.com/eduke32@4788 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-02 06:15:33 +00:00
hendricks266
44844bb4cc Fix USE_OPENGL=0 build error in r4779.
git-svn-id: https://svn.eduke32.com/eduke32@4787 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-02 06:15:19 +00:00
helixhorned
f311631d6e a-c.c: eliminate narrowing int32_t -> uint32_t conversions. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4786 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-01 19:52:08 +00:00
helixhorned
07bf374269 Fix build on platforms not magically #defining UNREFERENCED_PARAMETER. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4785 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-01 19:21:48 +00:00
terminx
944d64215e Fix EVENT_ANIMATESPRITES.
git-svn-id: https://svn.eduke32.com/eduke32@4784 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-30 23:19:11 +00:00
terminx
89a9010db1 Fix warnings with VS2013 update 4. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4783 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-30 23:18:57 +00:00
hendricks266
20e18ef41d Open the load and save menus with the last used slot highlighted. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4782 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-30 04:59:34 +00:00
hendricks266
19396e39e6 Fix names of savegames. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4781 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-30 04:56:09 +00:00
hendricks266
f8d4b6c9ef Fix displaying a savegame preview shot when in OpenGL and/or when the selected slot is empty. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4780 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-30 04:23:22 +00:00
hendricks266
050f2b36f4 Re-allow the player color option to take effect. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4779 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-30 03:37:56 +00:00
hendricks266
4f1f23c566 Menu structure revision. Structs reordered to eliminate slop. MenuGroup_t eliminated. MenuPos_t split into MenuMenuFormat_t and MenuEntryFormat_t. DROIDMENU build fixed. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4778 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-30 02:04:36 +00:00
hendricks266
058c3727e3 Fix the crash in the ASM relating to the dynamic allocation of ylookup.
git-svn-id: https://svn.eduke32.com/eduke32@4777 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-29 06:30:42 +00:00
hendricks266
f2fc1a6f15 Make sure the mouse is captured when the main menu transitions into MODE_GAME. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4776 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-29 03:43:11 +00:00
hendricks266
c42516c579 Fix mousewheel under SDL 1.2. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4775 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-29 03:21:56 +00:00
hendricks266
a1ec634dec Restore SDL 1.2 on Windows to a working state. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4774 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-29 03:07:33 +00:00
hendricks266
731e4ffa99 Fix POLYMER=0 GTK C++ build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4773 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-29 02:29:42 +00:00
hendricks266
dc9d552470 Restructure dynamicgtk to comply with C++ casting rules. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4772 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-29 00:32:28 +00:00
hendricks266
9d5a17c93e Eliminate -Wno-narrowing. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4771 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 23:57:21 +00:00
hendricks266
e29e5bfbcb GTK: Fix warnings and errors related to the banners. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4770 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 23:47:46 +00:00
hendricks266
32df15a254 Fix C/GTK2/SDL1.2 build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4769 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 08:30:31 +00:00
hendricks266
4e664fe878 Some minor fixes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4768 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 08:14:00 +00:00
hendricks266
20c7bbbea6 Fix the Wii build with the refactored sdlayer. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4767 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-28 08:12:40 +00:00
hendricks266
9268b9f0b6 Make a bunch of things extern "C". This should fix C++ builds on OS X and with Lunatic. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4766 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-26 04:39:23 +00:00
hendricks266
d89caf5187 Fix Lunatic C build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4765 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-26 04:37:22 +00:00
helixhorned
112d650843 Fix POLYMER=0 build and a couple of unused-variable warnings with it. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4764 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-25 23:46:28 +00:00
hendricks266
4e034e1331 Eliminate the printf_nowarn stuff that has long since been supplanted by TrackerCast. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4763 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-25 21:08:58 +00:00
hendricks266
f22e202d88 Fix some things when building on OS X. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4762 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-24 08:19:50 +00:00
hendricks266
2c7b31958a Fix build with x86_64-MinGW-w64. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4761 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-24 06:30:47 +00:00
hendricks266
60a91c6c79 Fix oversight in mouse cursor code. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4760 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-24 06:03:58 +00:00
helixhorned
cb606b0a11 In Lunatic build, make krand() a proper function again, called from Lua/FFI.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4759 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 18:37:24 +00:00
helixhorned
b65ae1b741 a-c.c: Compile vlineasm4nlogy() only if CLASSIC_NONPOW2_YSIZE_WALLS is #defined.
Also make three file-scope variables static.

git-svn-id: https://svn.eduke32.com/eduke32@4758 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 18:37:23 +00:00
helixhorned
e919dee00f engine.c: in wallscan(), fix oob of umost[] and dmost[] when x2 == xdim-1.
Analogously treat maskwallscan() and transmaskwallscan(), although I could
not get the respective accesses to be oob, too.

git-svn-id: https://svn.eduke32.com/eduke32@4757 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 18:37:21 +00:00
helixhorned
7275152b86 Makefile: do '(very)clean' with a plain "rm -f some/obj/*.o".
Notes:
- In the 'clean' target, the "core*" arg to 'rm' was removed as I find it too
  unspecific. (Someone could have an unrelated file with that prefix lying
  around.)
- The targets 'clean' and 'veryclean' now echo the commands they are about
  to execute.

Also, in Makefile.common, resurrect sanitized Clang builds if DEBUGANYWAY=2
is passed (previously, that was triggered with RELEASE=0 DEBUGANYWAY=1).

git-svn-id: https://svn.eduke32.com/eduke32@4756 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 18:37:19 +00:00
helixhorned
9907e79a0b Fix C build and build on Linux/SDL2.
- for the first point: 'struct glattribs sdlayer_gl_attributes[]' was defined
  at file scope, but 'glmultisample > 0' is not a compile-time constant.
- for the second point: r4749 changed the meaning of some conditional
  compilation (supposedly, unintentionally). I'm reverting it to pre-r4749
  but keeping the rewritten style. It's concerned with mouse thumb buttons.

git-svn-id: https://svn.eduke32.com/eduke32@4755 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 18:37:16 +00:00
terminx
c77c69d488 Fix MinGW build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4754 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:44:06 +00:00
terminx
52236d79a2 Fixups to sync WIP SDL refactor up with r4738. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4753 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:34:46 +00:00
terminx
d73f7f113d Minor cleanups, mostly just formatting. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4752 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:34:29 +00:00
terminx
1bbb077fca Add missing "break" to M_RunMenuInput(), revert android gltexapplyprops() menu fuckery. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4751 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:34:11 +00:00
terminx
4abc47af9e Fix _FORTIFY_SOURCE redefinition warning on Ubuntu's patched versions of GCC. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4750 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:33:57 +00:00
terminx
2330c61519 WIP refactor of SDL interface. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4749 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:33:47 +00:00
terminx
cf339e8105 Clean up the sound remapping stuff... remove the bits relating to sounds we haven't actually used anywhere in the source directly. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4748 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:33:15 +00:00
terminx
99e21ffa94 Part 1 of attempting to adhere to C standard section 7.1.3. It turns out it's illegal to use identifiers that begin with _ or have __ anywhere in them. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4747 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:32:56 +00:00
terminx
0e606700d6 Get rid of -Wdeclaration-after-statement as we're only targeting C99 and C++ now. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4746 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:29:38 +00:00
terminx
bf3c0de73a Mainly misc cleanups (and a fix for the C++ build), but there are a few important changes in here.
VM_OnEvent() has become VM_OnEvent(), VM_OnEventWithReturn(), VM_OnEventWithDist(), and VM_OnEventWithBoth() (the latter of which is only ever used once...). Of course, this required every call to VM_OnEvent() be changed.

memberlabel_t and vmstate_t have been changed to use the regular "int" type versus explicitly specifying int32_t as they did previously. The rationale for this change is simply that it looks cleaner, and I think we should move toward just using "int" in most cases where there's no particular reason to specify an explicit data type.

Also changes CON_KILLIT to just "return" instead of "continue". DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4745 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:29:25 +00:00
terminx
9b91aac48c Inline krand() when not using KRANDDEBUG. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4744 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:28:52 +00:00
terminx
272ac9abe6 Add FORCE_INLINE to compat.h and apply it to a couple of things we'd strongly prefer be inlined. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4743 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:28:34 +00:00
terminx
953c244003 Add my _clang-format file to the repository. These options are pretty close to what most of our code already looks like, the primary difference being that it enforces spaces between operators and operands. I was initially opposed to the spaces, but I would be lying if I said they didn't increase legibility of much of our code, in addition to making it a lot easier to identify the specific intent in cases where we have a lot of expressions nested within one another. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4742 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:28:21 +00:00
terminx
3e7f96c32d Fix up conveyor belts. This fixes breakage of the movement in general, as well as corrects the general behavior of the effect so that a player on a moving surface is moved at a constant rate, regardless of whether the player crouches, is shrunk, etc. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4741 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:28:12 +00:00
terminx
2068d993a7 Fix Mapster32 fullscreen video modes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4740 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-22 12:27:57 +00:00
hendricks266
a0e4692d59 Fix minor menu bugs. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4739 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-17 08:14:33 +00:00
hendricks266
164d9ccb41 Set up mouse cursor display in menus, with idle timeout fully implemented. No functionality yet. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4738 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-17 07:39:12 +00:00
helixhorned
e5923955ef Fix C++ build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4737 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:14 +00:00
helixhorned
b3f55d014e In release builds, #define Xaligned_alloc as xaligned_malloc.
Otherwise, the out-of-memory handler is not called in case of failure.

git-svn-id: https://svn.eduke32.com/eduke32@4736 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:13 +00:00
helixhorned
205b8a7677 C-CON: fix 'readgamearray' and 'resizearray' on Windows.
We must not use Xrealloc(), since gamearrays are now allocated with
Xaligned_alloc().
NOTE: I did not check all potential problematic cases, only those to get
LNGA3 up and running.

git-svn-id: https://svn.eduke32.com/eduke32@4735 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:12 +00:00
helixhorned
108a4022fa C-CON: fix 'readgamearray' on 64-bit platforms.
Also prettify P_DisplaySpit().

git-svn-id: https://svn.eduke32.com/eduke32@4734 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:12 +00:00
helixhorned
44373a7698 a-c.c: don't USE_VECTOR_EXT with Clang, since it doesn't compile here.
git-svn-id: https://svn.eduke32.com/eduke32@4733 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:11 +00:00
helixhorned
0cc9f05b8b LunaCON: player[].loogcnt, userdef[].color, minor fixes.
git-svn-id: https://svn.eduke32.com/eduke32@4732 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:10 +00:00
helixhorned
76d60511bc LunaCON: fix tilesizx[] and tilesizy[] system gamearrays.
git-svn-id: https://svn.eduke32.com/eduke32@4731 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 22:07:07 +00:00
hendricks266
1f9c37517a Replace DOS box-drawing characters in the ASM with sane ASCII. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4730 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-07 07:53:28 +00:00
helixhorned
142b5e2d2f Lunatic: some minor doc tweaks. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4729 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:58:33 +00:00
helixhorned
f1f90439cf Fix voxels in classic -- my error, confusing divscale() and mulscale() in r4576.
Optimizations are left to the reader :P. I would prefer to look for ways of
giving the compilers hints about loops to unroll instead of having to read
the resulting mess of manual unrolling, though.

git-svn-id: https://svn.eduke32.com/eduke32@4728 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:52 +00:00
helixhorned
e278842ce4 gameexec.c: In VM_OnEvent_, don't form address like &sprite[-1].
The practical rationale: Clang-sanitize catches this, so this is bad.
The real rationale: I *think* it is undefined behavior to even form such a
pointer in C99. However, I would be hard pressed to provide a nice formal
argument in terms of the Standard wording right now. It looks like
6.5.3.2#4 is to blame.

git-svn-id: https://svn.eduke32.com/eduke32@4727 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:51 +00:00
helixhorned
737af0387e engine.c: prevent an oob read in drawsprite_classic() w/ floor-aligned sprites.
git-svn-id: https://svn.eduke32.com/eduke32@4726 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:50 +00:00
helixhorned
232e479380 Fix oob write with stepping 'up' in the OSD history.
git-svn-id: https://svn.eduke32.com/eduke32@4725 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:49 +00:00
helixhorned
e8553b5398 baselayer.c: fix an oob write to ylookup[] intoduced in r4695.
On Linux, it started manifesting itself since r4719 as crashes whose
backtraces pointed to malloc() and were not helpful. Valgrind finally
uncovered this.

git-svn-id: https://svn.eduke32.com/eduke32@4724 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-06 23:43:47 +00:00
terminx
502f5dac64 Useless change I forgot. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4723 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:44:27 +00:00
terminx
764f77d1cd Sometimes I wonder why MSVC neglects to provide useful warnings. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4722 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:38:57 +00:00
terminx
4186c89aed Minor tweaks to VM_OnEvent_(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4721 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:36:53 +00:00
terminx
239d419d53 Remove references to nonexistent enet_mmulti.h from Visual Studio project. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4720 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:36:41 +00:00
terminx
9c001e6e2e Fix a handful of crash bugs I caused with the 32-bit ASM version of the classic renderer. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4719 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:36:28 +00:00
terminx
3c8034609f Fix a crash I caused with MSVC in OSD_SetLogFile(). Apparently, the behavior of setvbuf() when passed a NULL ptr for a buffer is actually left up to the implementation regarding what it does with the size parameter... DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4718 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:36:05 +00:00
terminx
fca06dc31c Clean up classic renderer header (a.h) a bit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4717 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:50 +00:00
terminx
e516fb0c8a A couple of additional compat.h formatting changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4716 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:36 +00:00
terminx
2badda6ec4 clang-format a couple of pragma headers. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4715 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:22 +00:00
terminx
e677923165 LUT for slope recip calculations in classic. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4714 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:35:06 +00:00
terminx
999f789438 Fix a couple of Makefile errors Helixhorned noticed. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4713 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-02 05:34:49 +00:00
helixhorned
f24ccdecc0 menus.c: prevent using a null pointer as arg to "%s" format for sprintf().
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4712 1a8010ca-5511-0410-912e-c29ae57300e0
2014-11-01 18:01:28 +00:00
helixhorned
ce6176757b Add forgotten events_defs.h, oops. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4711 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-31 21:09:26 +00:00
helixhorned
96541f3521 Lunatic: fix building and startup up to tilesizx[] failure. DONT_BUILD.
- Needed to rip out enum GameEvent_t into own header file to prevent what
  would be a circular #include otherwise
- Added some forgotten #ifdef LUNATIC
- updated structure and function declarations on the Lua FFI side

git-svn-id: https://svn.eduke32.com/eduke32@4710 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-30 21:44:22 +00:00
helixhorned
ae63745eb3 C-CON: fix possible crash when a CON error is raised due to access of invalid sprite.
For example, in
    CON_ERRPRINTF("invalid target sprite (%d) %d %d\n", iActor, vm.g_i, TrackerCast(vm.g_sp->picnum));
vm.g_i can be -1 and vm.g_sp can be NULL then. (Not anymore.)

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4709 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-30 21:44:21 +00:00
helixhorned
8605285f7f compat.h: pedantic whitespace formatting. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4708 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-30 04:59:23 +00:00
terminx
7f232bcbd1 Alter weapon switching to cycle through GROW_WEAPON when using next/previous weapon keys. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4707 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:08:03 +00:00
terminx
633cb8764b Default map zoom to something a bit more useful on Android. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4706 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:07:47 +00:00
terminx
9c1a32c790 CPLUSPLUS mode build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4705 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:07:35 +00:00
terminx
0dcca1f305 CPLUSPLUS mode by default in Makefile.common, C99 otherwise. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4704 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:07:21 +00:00
terminx
ce210a9fd7 Clean up some player code a bit... make bobposx/bobposy a vec2_t, make fricxv/fricyv a per-player vec2_t (TODO: CON access), promote angvel in input_t to int16_t and allow for player angle changes that result in odd numbered angles (we were effectively artificially limiting the angle to 1024 values before), fix some HUD model ID stuff that should help with the weapons in the HRP, clean up a bunch of random functions (P_FireWeapon(), P_DisplayTip(), P_DisplayAccess(), P_DisplayWeapon(), P_GetInput(), etc). Also clean up G_SetupFilenameBasedMusic() to loop through flac/ogg/mid when searching for usermap music replacements. Some of this really needs a BYTEVERSION bump, but these commits aren't for synthesis to build so we're not doing it yet. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4703 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:07:11 +00:00
terminx
43a759ec07 Try out __restrict in the classic renderer. #define'd for easy removal in case it causes problems or is useless.
git-svn-id: https://svn.eduke32.com/eduke32@4702 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:06:43 +00:00
terminx
9601554320 Fix MSVC warning in Polymer
git-svn-id: https://svn.eduke32.com/eduke32@4701 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:06:20 +00:00
terminx
91e2556ad2 Inline yax_getbunches with old map format. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4700 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:06:05 +00:00
terminx
183b34f48e More EDUKE32_PREDICT_FALSE, mostly in OSD_Printf(OSD_ERROR...) cases
git-svn-id: https://svn.eduke32.com/eduke32@4699 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:05:46 +00:00
terminx
6f5726e015 Aligned gamevar/gamearray allocation
git-svn-id: https://svn.eduke32.com/eduke32@4698 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:05:29 +00:00
terminx
384aec522a Fix a couple of clang warnings. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4697 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:05:15 +00:00
terminx
eed56532a8 Unify spritesx/spritesy/spritez into a single vec3_t spritesxyz. It still has a stupid name like "spritesxyz" because I wanted references to it to remain easy to find in case of problems.
git-svn-id: https://svn.eduke32.com/eduke32@4696 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:04:43 +00:00
terminx
021d1241eb Get rid of all the static arrays with sizes based on MAXXDIM and MAXYDIM
git-svn-id: https://svn.eduke32.com/eduke32@4695 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:04:28 +00:00
terminx
80b8e08eb7 Remove -DNO_GCC_BUILTINS, set _FORTIFY_SOURCE to 0.
git-svn-id: https://svn.eduke32.com/eduke32@4694 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:04:03 +00:00
terminx
ec83998c89 Android updates from Emile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4693 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:03:50 +00:00
terminx
ca3dc4d629 Minor additional pragma cleanup
git-svn-id: https://svn.eduke32.com/eduke32@4692 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:03:29 +00:00
terminx
59278b5398 Add missing "inline" to const TrackedType()
git-svn-id: https://svn.eduke32.com/eduke32@4691 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:03:06 +00:00
terminx
aa7e3e0c25 Fix a couple warnings, and something I fucked up after reading a loop wrong. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4690 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-29 17:02:50 +00:00
hendricks266
3d43f1c346 Fix the menu animations so that they are what I actually intended. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4689 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-28 20:46:14 +00:00
hendricks266
5bbb4afd76 Menu transition animations. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4688 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-27 10:14:50 +00:00
hendricks266
5dd1abd647 Two files forgotten in the previous commit. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4687 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-27 07:24:37 +00:00
hendricks266
1ed4df36f1 Update the menu code so that everything drawn to the screen is relative to an origin point, which for now remains zero.
The three things using windowx/y hackery to crop tiles (user map menu background, color correction panels, automatic scrolling indicators) have been rewritten not to, so that the origin point would work properly with them. All three are slightly different now.

The changes are more extensive than you might predict, because I had to modify every rotatesprite/*text call to add its coordinates (shifted left by 16 if they weren't already) to the origin point.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4686 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-27 07:09:41 +00:00
hendricks266
b4ef2d43e8 Improve fine-grained GCC and clang version detection, fixing recently introduced build issues. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4685 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 10:17:35 +00:00
hendricks266
eb8645b6ea Update Makefile.common to work with devkitPPC r27. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4684 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 10:17:15 +00:00
hendricks266
0f62db298c Remove Wii-specific ASM for scale(). Libdivide is likely faster; tests on a real Wii pending. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4683 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 10:17:04 +00:00
hendricks266
5241070ab3 Fix a few lingering issues with recent menu changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4682 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 10:16:49 +00:00
terminx
e087ffabfc Re-apply part of r4647. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4681 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:36:50 +00:00
terminx
8934226bb2 Another 5000 lines of pain and tears. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4680 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:36:34 +00:00
terminx
1c68e84e5a Hi-res security viewscreens
git-svn-id: https://svn.eduke32.com/eduke32@4679 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:35:21 +00:00
terminx
de1d236366 Minor OSD_Exec() tweaks that got lost when chopping up a larger set of changes
git-svn-id: https://svn.eduke32.com/eduke32@4678 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:35:05 +00:00
terminx
1e2fdef0e2 Forgot this in a previous commit, just removes a function prototype I moved elsewhere
git-svn-id: https://svn.eduke32.com/eduke32@4677 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:34:50 +00:00
terminx
57fd527308 Fix in-game sound menu (F4)
git-svn-id: https://svn.eduke32.com/eduke32@4676 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:34:38 +00:00
terminx
0e78bf1eb5 Minor engine optimizations, worth a couple fps
git-svn-id: https://svn.eduke32.com/eduke32@4675 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:34:25 +00:00
terminx
ea929c7e43 Fix warning in dxtfilter
git-svn-id: https://svn.eduke32.com/eduke32@4674 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:34:08 +00:00
terminx
62f13fad76 Rename VM_OnEvent to VM_OnEvent_ and add move the checks for whether the event is actually defined or not to a wrapper declared static inline
git-svn-id: https://svn.eduke32.com/eduke32@4673 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:33:53 +00:00
terminx
f15a25a144 Adjust default security camera refresh times
git-svn-id: https://svn.eduke32.com/eduke32@4672 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:33:38 +00:00
terminx
9ca0e4ccc4 vec2f_t drawpoly()
git-svn-id: https://svn.eduke32.com/eduke32@4671 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:33:26 +00:00
terminx
0393b0b015 kplib warning fix. I admit to not testing this, because fuck .gif files.
git-svn-id: https://svn.eduke32.com/eduke32@4670 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:33:11 +00:00
terminx
ecb11010ef Fix warnings in texcache
git-svn-id: https://svn.eduke32.com/eduke32@4669 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:32:57 +00:00
terminx
088808eb3e Mapster32 build fix
git-svn-id: https://svn.eduke32.com/eduke32@4668 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:32:42 +00:00
terminx
c8ea7baf72 set_globalpos(), updates both integer (globalposx/y/z) and float (fglobalposx/y/z) representations of the current camera view position. Storing the float representation pre-converted saves us from the delay incurred on ARM when converting an integer and transferring it to the FPU, though this delay is mostly negated already by using the hardfp ABI.
git-svn-id: https://svn.eduke32.com/eduke32@4667 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:32:26 +00:00
terminx
5897c844d2 Minor texcache cleanup. Nukes the hilarious MAXTILES<<1 sized array of pointers in the global texcache struct.
git-svn-id: https://svn.eduke32.com/eduke32@4666 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:32:01 +00:00
terminx
0cf527914f Minor optimizations (loop unrolling) to LZW functions in cache1d, improves throughput ~20% on my i7
git-svn-id: https://svn.eduke32.com/eduke32@4665 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:31:41 +00:00
terminx
d74a6a7e5d Fix some dumbass warnings I caused
git-svn-id: https://svn.eduke32.com/eduke32@4664 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:31:27 +00:00
terminx
683a4fb728 Nuke unused lzwnew.c/h
git-svn-id: https://svn.eduke32.com/eduke32@4663 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:31:12 +00:00
terminx
36e2aa01cd if 0 the input check at the beginning of animation playback as it seems to cause some cutscenes to be skipped.
git-svn-id: https://svn.eduke32.com/eduke32@4662 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:30:51 +00:00
terminx
cbe91be9ff Additional engine cleanups and optimizations. About as generic as it sounds. Also changes internal dummytile/tilefromtexture behavior so that the LZ4 compressed version of a texture is kept and the cache1d entries associated with the tiles can expire, like any other tile.
git-svn-id: https://svn.eduke32.com/eduke32@4661 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:30:38 +00:00
terminx
019315dd59 Rewrite OSD_Exec() to allow executing a .cfg that lives in a .grp or .zip. Use _IOLBF instead of _IONBF for the log in release builds.
git-svn-id: https://svn.eduke32.com/eduke32@4660 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:29:53 +00:00
terminx
508595cac8 Fix a couple of botched FindDistance3D calls
git-svn-id: https://svn.eduke32.com/eduke32@4659 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:29:38 +00:00
terminx
6c6b68d534 Various additional optimizations: add CLASSIC_SLICE_BY_4 mode to unroll some of the loops in a-c, replace integer divisions by a divisor unknown at compile time with usage of libdivide, clean up pragmas further by removing more old stuff that wasn't used anywhere. This is another one of those nasty commits that make people cry. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4658 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:29:21 +00:00
terminx
6f332e645d Fix r4643, NUM_HARDCODED_ANIMS was increased for a reason. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4657 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:27:50 +00:00
terminx
020dc85fd0 Additional Polymost cleanup, attempt to fix enemy shadows (they are still not right)
git-svn-id: https://svn.eduke32.com/eduke32@4656 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:27:35 +00:00
terminx
06a0350af0 Fix a bug where if you had a savegame with an active viewscreen, the tile in the world wouldn't update until totalclock > what totalclock was when the game was saved.
git-svn-id: https://svn.eduke32.com/eduke32@4655 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:27:13 +00:00
terminx
b7b0b2c7ba Fix up some incorrect PWEAPON macro usage
git-svn-id: https://svn.eduke32.com/eduke32@4654 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:27:01 +00:00
terminx
3a60abfb94 Nuke MFLAGS_NOCONV, hoist a few conditions out of loops in Polymost model drawing
git-svn-id: https://svn.eduke32.com/eduke32@4653 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:26:46 +00:00
terminx
73ecabaff9 Fix z fighting issues with wall and floor sprites. This isn't perfect, and somebody like Plgman or Helixhorned who better understands how the depth buffer positions are calculated will be able to do a much better determination of how much to offset the glDepthRange values based on distance to the sprite.
git-svn-id: https://svn.eduke32.com/eduke32@4652 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:26:31 +00:00
terminx
dedadcb76e That's one hell of a typo
git-svn-id: https://svn.eduke32.com/eduke32@4651 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:26:13 +00:00
terminx
3eaf78da8b Tie a few random things previously hardcoded to p->curr_weapon == KNEE_WEAPON to curr_weapon being a weapon with a workslike of KNEE_WEAPON instead, and do the same with stuff hard coded for HANDREMOTE_WEAPON
git-svn-id: https://svn.eduke32.com/eduke32@4650 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:25:57 +00:00
terminx
57cc3fe82a Clean up GL background tinting a little bit. Remove access to glRectd in favor of glRecti.
git-svn-id: https://svn.eduke32.com/eduke32@4649 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-25 03:25:35 +00:00
hendricks266
62b37ddb68 Further work on the Xcode project.
git-svn-id: https://svn.eduke32.com/eduke32@4648 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-20 07:37:29 +00:00
hendricks266
8771614f87 Fix the Wii build and clean up remaining warnings. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4647 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-19 00:44:23 +00:00
hendricks266
6ff363a049 OS X: Add a preliminary Xcode project. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4646 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-18 04:50:47 +00:00
hendricks266
f46d901fe2 Fix warnings in menus.c. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4645 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-16 22:21:00 +00:00
hendricks266
295cf82323 Clean up warnings and build issues when building under OS X 10.9. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4644 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-16 21:03:24 +00:00
helixhorned
ff7d664d1e Fix an oob access in parsedefinitions_game(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4643 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-05 18:32:59 +00:00
terminx
706aec5527 Rename crc32() to Bcrc32() to avoid conflicts with the crc32() function in libpng/libz. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4642 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-01 17:09:54 +00:00
terminx
81e9761e50 Set SDL_GL_ACCELERATED_VISUAL to 1
git-svn-id: https://svn.eduke32.com/eduke32@4641 1a8010ca-5511-0410-912e-c29ae57300e0
2014-10-01 17:09:24 +00:00
terminx
9a04065b5e I'm retarded. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4640 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 18:18:15 +00:00
terminx
4263626f97 Misc additional optimizations, mostly to polymost/mdsprite. Also separate voxmodel into its own source file and object. This commit is pretty large because I was hitting the limit of what could realistically be carved up into smaller patches. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4639 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:18:43 +00:00
terminx
2631da8822 Fix usage of uninitialized value
git-svn-id: https://svn.eduke32.com/eduke32@4638 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:18:07 +00:00
terminx
cb02cdc571 Re-use temporary buffer for tilefromtexture true color -> paletted conversion and free when finished with the .def instead of freeing and re-allocating for every tile
git-svn-id: https://svn.eduke32.com/eduke32@4637 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:53 +00:00
terminx
ff74aa613e polymost_invsqrt(), reorganize pthtyp for better member alignment
git-svn-id: https://svn.eduke32.com/eduke32@4636 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:37 +00:00
terminx
0f5be25a68 Faster C versions of ksgn() and klabs()
git-svn-id: https://svn.eduke32.com/eduke32@4635 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:22 +00:00
terminx
2d0c76e1a9 kplib optimizations and cleanup; faster versions of some functions, #ifdef out support for a couple of useless formats
git-svn-id: https://svn.eduke32.com/eduke32@4634 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:17:06 +00:00
terminx
a46994a668 I thought I was clever, MinGW thought I should eat shit.
git-svn-id: https://svn.eduke32.com/eduke32@4633 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:16:47 +00:00
terminx
7c79d2ce80 Blrintf
git-svn-id: https://svn.eduke32.com/eduke32@4632 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:16:35 +00:00
terminx
71bb5e5c8e Gamevar cleanup: drop "register" qualifiers, shuffle a few things around.
git-svn-id: https://svn.eduke32.com/eduke32@4631 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:16:21 +00:00
terminx
c2517d0d99 Suppress tile and sound remapping debug output in debug builds when not using -condebug
git-svn-id: https://svn.eduke32.com/eduke32@4630 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:16:06 +00:00
terminx
f553d6ad10 Add assertion for memory error handler in debug builds, add .def load time information to log, call Gv_ResetSystemDefaults() at startup to populate fake tilesizx/tilesizy arrays for CON
git-svn-id: https://svn.eduke32.com/eduke32@4629 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:15:53 +00:00
terminx
8e98cbe083 Free h_labels table when done compiling CONs
git-svn-id: https://svn.eduke32.com/eduke32@4628 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:15:41 +00:00
terminx
10474ad635 CON VM: get rid of extra VM_Execute() calls on CON_LEFTBRACE and get rid of returns on CON_RIGHTBRACE
git-svn-id: https://svn.eduke32.com/eduke32@4627 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:15:29 +00:00
terminx
9839802457 Optimize .anm playback; update frames on screen at the .anm's framerate instead of blindly looping as fast as possible
git-svn-id: https://svn.eduke32.com/eduke32@4626 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:15:17 +00:00
terminx
423b87a707 Faster CRC32 implementation (slicing-by-4 for 32-bit platforms and slicing-by-8 for 64-bit)
git-svn-id: https://svn.eduke32.com/eduke32@4625 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:15:04 +00:00
terminx
31d2f15b24 Use option name for menubar title for options that display as a separate menu page with a scrolling list
git-svn-id: https://svn.eduke32.com/eduke32@4624 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:14:35 +00:00
terminx
144a4798ce More Polymost cleanup, also consolidate tilesizx and tilesizy into a single tilesiz vec2_t to ensure both x and y are always in the same cache line. I may add a new vec2_16t later. Still need to take care of emulating the old flat array for the sake of CON access.
git-svn-id: https://svn.eduke32.com/eduke32@4623 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:14:21 +00:00
terminx
e20f297774 r_showfps 2, displaying min and max fps
git-svn-id: https://svn.eduke32.com/eduke32@4622 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:13:14 +00:00
terminx
5d1475b26c Remove some #if 0'd functions from audiolib
git-svn-id: https://svn.eduke32.com/eduke32@4621 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:12:57 +00:00
terminx
deb196f8a6 Fix build error
git-svn-id: https://svn.eduke32.com/eduke32@4620 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:12:41 +00:00
terminx
3623645815 Clean up the "X" variants of malloc and friends to avoid unncessary function calls and parameter passing
git-svn-id: https://svn.eduke32.com/eduke32@4619 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:12:27 +00:00
terminx
53ed4c619c Make glColor3f() available as bglColor3f()
git-svn-id: https://svn.eduke32.com/eduke32@4618 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:12:09 +00:00
terminx
c5835ef741 Remove "volatile" qualifier from mouse related variables, no longer required after the long ago removal of the hack that polled mouse input in a separate thread
git-svn-id: https://svn.eduke32.com/eduke32@4617 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:11:50 +00:00
terminx
f8b340de02 Next time I'll test with sound enabled when attempting to fix a warning in audiolib ;)
git-svn-id: https://svn.eduke32.com/eduke32@4616 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:09:03 +00:00
terminx
ed703142af Add new headers to VS project
git-svn-id: https://svn.eduke32.com/eduke32@4615 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:08:47 +00:00
terminx
3681d5e553 Respect ud.bgstretch when displaying the title screen during netplay
git-svn-id: https://svn.eduke32.com/eduke32@4614 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:08:35 +00:00
terminx
0a62ba1a21 On Android, remove the counter that automatically proceeds from the startup screen to the main menu and require a button press instead.
git-svn-id: https://svn.eduke32.com/eduke32@4613 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:08:23 +00:00
terminx
f4a8cdfa28 Don't display QUOTE_F1HELP on Android when starting a new game with the shareware version.
git-svn-id: https://svn.eduke32.com/eduke32@4612 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:08:10 +00:00
terminx
c97d01111a Change vid_brightness/contrast/gamma cvars to float vs double and do the same for OSD text scaling
git-svn-id: https://svn.eduke32.com/eduke32@4611 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:07:57 +00:00
terminx
ee82c62afc Allow loading the header from savegames with a different version. This is needed to allow starting a new game on the episode/level/skill saved in an incompatible savegame.
git-svn-id: https://svn.eduke32.com/eduke32@4610 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:07:41 +00:00
terminx
b8c8f153ac WIP menu restructuring and updates. Revolt is in the air...
git-svn-id: https://svn.eduke32.com/eduke32@4609 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:07:29 +00:00
terminx
bd26dd5612 Fix a compile warning
git-svn-id: https://svn.eduke32.com/eduke32@4608 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:07:14 +00:00
terminx
598876e411 Extra files for previous commits
git-svn-id: https://svn.eduke32.com/eduke32@4607 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:06:57 +00:00
terminx
d279344697 Extra files to support previous commits. Change hashing stuff to intptr_t so it can be used as a dictionary of pointers, change brightness/gamma/contrast to float instead of double, other misc changes. None of these commits build on their own so don't even bother.
git-svn-id: https://svn.eduke32.com/eduke32@4606 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:06:32 +00:00
terminx
105bc3f413 First commit for "Polymost.f", the single precision floating point conversion and optimization of Polymost. This work was primarily done for ARM but it also doubled the framerate on "Clear the Coast" on my i7.
git-svn-id: https://svn.eduke32.com/eduke32@4605 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:06:05 +00:00
terminx
8148ccf3c3 Remove a few unused things (tmulscale, etc) from the pragmas.h family of headers
git-svn-id: https://svn.eduke32.com/eduke32@4604 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:05:40 +00:00
terminx
1a286d1e52 Default r_osdhightile to 1
git-svn-id: https://svn.eduke32.com/eduke32@4603 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:05:19 +00:00
terminx
599ff50ca0 Misc Android changes and fixes, add alternate HUD mode that displays at the top of the screen, add support for replacing the DREALMS tile during startup with a 3dr.anm/3dr.ivf, fix usage of widescreen menu background or status bar tiles, limit - key from actually sizing down the screen (which has decreased performance instead of increasing it for a long, long time). The size can still be set manually from the console for special cases.
git-svn-id: https://svn.eduke32.com/eduke32@4602 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:05:07 +00:00
terminx
361300d3c4 pragmas.h cleanup part 1: separate into pragmas.h, pragmas_arm.h, pragmas_ppc.h, pragmas_x86_gcc.h and pragmas_x86_msvc.h.
Remove "boundmulscale" as it was unused.

git-svn-id: https://svn.eduke32.com/eduke32@4601 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:04:53 +00:00
terminx
683a5eb11f Minor polymer changes... reuse allocated _prplanelist structs to avoid potentially thousands of malloc calls per frame rendered, clean up "searchit == 2" functionality, move sector light invalidation to sector updates instead of wall updates (avoids a ton of unnecessary function calls), other minor changes
git-svn-id: https://svn.eduke32.com/eduke32@4600 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:04:30 +00:00
terminx
514f556a32 Update xxhash to r36
git-svn-id: https://svn.eduke32.com/eduke32@4599 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:04:12 +00:00
terminx
76ad1ce07e Move USE_LIBVPX definition to correct location in Makefile.msvc
git-svn-id: https://svn.eduke32.com/eduke32@4598 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:03:54 +00:00
terminx
7afd4c9226 JPG overrun fix from 6/10/14 kplib.c found in poly2vox.zip
git-svn-id: https://svn.eduke32.com/eduke32@4597 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:03:44 +00:00
terminx
0d68e1d4a9 Allow old version savegames to "load" by just starting a new game on the volume, level and skill written in the savegame header.
git-svn-id: https://svn.eduke32.com/eduke32@4596 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:03:30 +00:00
terminx
cd713abf1e HUD on the top of the screen and extra wide autoaim mode for Android
git-svn-id: https://svn.eduke32.com/eduke32@4595 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 04:03:17 +00:00
hendricks266
45641db803 Update the known locations of the addons in a Megaton installation. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4594 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-30 03:53:14 +00:00
helixhorned
c3102f2c89 astub.c: fix warnings with CPLUSPLUS=1 related to forgotten TrackerCast().
git-svn-id: https://svn.eduke32.com/eduke32@4593 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:18 +00:00
helixhorned
ef8c2f14c4 Fix taking over floor pal in the unlikely event that no fog pals are defined.
This DOES NOT fix the more complex issue discussed at the forums.

git-svn-id: https://svn.eduke32.com/eduke32@4592 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:18 +00:00
helixhorned
43fd10a7ac Makefile: on 'clean' target, unconditionally rm -f game Lunatic objects.
The 'clean' and 'veryclean' targets are usually run without environment options.
It is preferable if they clean out all object files that are possible with any.

git-svn-id: https://svn.eduke32.com/eduke32@4591 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:17 +00:00
helixhorned
40c2fc7d07 Lunatic: add actor.move() static function and documentation stub.
git-svn-id: https://svn.eduke32.com/eduke32@4590 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:16 +00:00
helixhorned
32e1e362c9 For usermaps, save and restore currently playing music index with savegames.
The volume and level number for the music are stored in the last two bytes
of the board file name array. No version bump is required.

git-svn-id: https://svn.eduke32.com/eduke32@4589 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:15 +00:00
helixhorned
2713bc3d75 Get rid of EnvMusicFilename[] and use MapInfo[].musicfn for that.
The additional space was there all the time, so it's not understandable why
another array was necessary.
CON: for 'music', error if volume number is outside [0 .. MAXVOLUMES+1], and
in LunaCON, additionally warn if it's MAXVOLUMES+1 (0 is preferred for that).

git-svn-id: https://svn.eduke32.com/eduke32@4588 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:14 +00:00
helixhorned
3dc5c9e144 Allow DEFining music for which there is no CON music; Add 'music' OSD command.
The OSD command is invoked like "music E5L3" (case insensitively).

git-svn-id: https://svn.eduke32.com/eduke32@4587 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:13 +00:00
helixhorned
73a252a73e More music-related cleanup.
git-svn-id: https://svn.eduke32.com/eduke32@4586 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:12 +00:00
helixhorned
5597f3faab Some cleanup around S_PlayMusic() and related functionality.
git-svn-id: https://svn.eduke32.com/eduke32@4585 1a8010ca-5511-0410-912e-c29ae57300e0
2014-09-07 18:10:09 +00:00
helixhorned
e8f67a9271 Fix USE_OPENGL=0 build.
git-svn-id: https://svn.eduke32.com/eduke32@4584 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:23 +00:00
helixhorned
3493302e6c LunaCON: implement 'qsubstr' command. Add source/lunatic/test/qsubstr.con.
In C-CON's qsubstr, error if <start> is not in [0 .. MAXQUOTELEN-1]
or <length> is negative.

git-svn-id: https://svn.eduke32.com/eduke32@4583 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:22 +00:00
helixhorned
7254bf7ac4 Fix crash using INTERNAL DEFAULTS after CON error when CON modules were given.
git-svn-id: https://svn.eduke32.com/eduke32@4582 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:21 +00:00
helixhorned
fea848c486 LunaCON: ignore internal flag in gamevar redef check; allow "Pals" member.
git-svn-id: https://svn.eduke32.com/eduke32@4581 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:20 +00:00
helixhorned
96b3408dbd Mapster32: demote wall check "corruptions" introduced in r4569 to level 2.
The winding of a loop -- with clockdir() -- is determined by examining the
two line segments spanned between the points following a leftmost point of
the loop. If the loop contains a leftmost point that belongs to the "right"
side (as can happen with sliding door constructions), there's a chance that
an outer loop is misclassified.

git-svn-id: https://svn.eduke32.com/eduke32@4580 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:19 +00:00
helixhorned
77dc743f09 Factor out [l]dist() implementations into static inline functions in common.h.
And use these in jmact/mathutil.c's FindDistance2D()/FindDistance3D().
The main use is to allow passing dx/dy instead of sprite positions; the code
that actually uses this is not committed.

git-svn-id: https://svn.eduke32.com/eduke32@4579 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-31 11:15:17 +00:00
helixhorned
1eaf60b222 Classic: introduce two signed integer types, use in engine.c and a-c.c.
They classify former uses of int64_t into two classes:
 - coord_t: those that represent coordinates and need 64-bit precision for
   proper functioning with large values
 - inthi_t: those that were added for e.g. casts merely to prevent undefined
   behavior on overflow

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4578 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-23 10:28:18 +00:00
helixhorned
81d3e4db73 pragmas.h: introduce preprocessor switch USE_ASM_DIVSCALE, for testing only.
git-svn-id: https://svn.eduke32.com/eduke32@4577 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-23 10:28:17 +00:00
helixhorned
fb7fb403e0 engine.c: prevent a 64-bit multiply in dosetaspect(). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4576 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-23 09:00:36 +00:00