Commit Graph

4974 Commits

Author SHA1 Message Date
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