Commit Graph

5282 Commits

Author SHA1 Message Date
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
helixhorned 21b630d294 Amend r4378 to hopefully make "stuck in water" fix work properly.
NOTE: lizmen may walk on water. I don't yet know why.

git-svn-id: https://svn.eduke32.com/eduke32@4575 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-20 17:58:21 +00:00
helixhorned ceaa661304 Properly consider sprites with a clipshape as bridge (p->spritebridge).
git-svn-id: https://svn.eduke32.com/eduke32@4574 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-17 19:42:01 +00:00
helixhorned 9969efd8d1 Mapster32: fix a crash when m32_settings.cfg contains video setting.
Such as "vid_gamma". In that case, setbrightness() would have been
called without basepaltableptr having been initialized.
The fix is by moving the preparational setbasepaltable() call from
ExtPostStartupWindow() to ExtInit(), just before the OSD command
dispatching.

git-svn-id: https://svn.eduke32.com/eduke32@4573 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-16 18:32:49 +00:00
helixhorned 63916ee8d1 Mapster32: fix possible integer overflow in loopinside().
This could happen when building outside the "classic" grid limits and would
then lead to e.g. incorrect loop assignment on sector splitting. Bug reported
by MetHy.

git-svn-id: https://svn.eduke32.com/eduke32@4572 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-16 18:32:47 +00:00
helixhorned 3aaf167d6b game.c: fix -game_dir and -j by moving G_ExtInit() after G_CheckCommandLine().
git-svn-id: https://svn.eduke32.com/eduke32@4571 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-08 20:02:56 +00:00
helixhorned 757dbe9d6b LunaCON: properly initialize values of session (NODEFAULT) gamevars.
git-svn-id: https://svn.eduke32.com/eduke32@4570 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-08 20:02:55 +00:00
helixhorned 363f0b3af6 Mapster32: prototypical checker for wall loops, enabled partially.
Inspired by
 http://forums.duke4.net/topic/7506-tror-question/page__view__findpost__p__199151
the corruption checker now checks for certain conditions of the loops of each
sector. Recall that CW loops are outer and CCW loops are inner.

- If a sector has no or more than one outer loop, count that as corruption
  (level 4 and 3, respectively).
- (Disabled) For sectors with exactly one outer loop, check that all inner
  ones are inside it. This is currently not compiled due to an asymmetry of
  loopinside() for degenerate cases, similar to pre-r3898 inside().

git-svn-id: https://svn.eduke32.com/eduke32@4569 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-08 20:02:54 +00:00
helixhorned 21b852cd0d Clean up astub.c:CheckMapCorruption() and some build.c code a little.
There are no intended changes of functionality, it's readability tweaks only.

git-svn-id: https://svn.eduke32.com/eduke32@4568 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-08 20:02:53 +00:00
helixhorned 1486a2937b A couple of Lunatic updates. DONT_BUILD.
- LunaCON: support for setting userdef[].m_volume_number, getting .last_level
- bump con_lang.MAXEVENTS
- fix compilation of astub.c

git-svn-id: https://svn.eduke32.com/eduke32@4567 1a8010ca-5511-0410-912e-c29ae57300e0
2014-08-02 17:24:39 +00:00
hendricks266 b310eaef2c Fix MSVC build.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4566 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 09:00:28 +00:00
hendricks266 9a4a4a627b Nuke rev.h.
Note to MSVC users: You can get the revision number if you run `make rev o=obj` with MinGW before you build.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4565 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 08:59:58 +00:00
hendricks266 b0e82d4264 Split parts of loadlookups() into generatefogpals() and fillemptylookups(), and move Duke-specific LOOKUP.DAT behavior to G_LoadLookups() in source/common.c, which contains the call to loadlookups() as factored out from astub.c and game.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4564 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:45:53 +00:00
hendricks266 cf4473c4d7 Move implementation details of Mapster32's sound system from m32exec.c into sounds_mapster32.c, and set up a sound system stub in KenBuild Editor.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4563 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:45:18 +00:00
hendricks266 61b956cd41 Progress towards KenBuild Editor, part 3.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4562 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:58 +00:00
hendricks266 a7fb2721e4 Move code non-specific to Duke Nukem 3D from astub.c to a new m32common.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4561 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:37 +00:00
hendricks266 16cd8b8aaa Progress towards KenBuild Editor, part 2.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4560 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:44:14 +00:00
hendricks266 5237346f5b Move code non-specific to Duke Nukem 3D from source/common.c to a new build/src/common.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4559 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:46 +00:00
hendricks266 b48f3b44e3 Progress towards KenBuild Editor, part 1.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4558 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:43:16 +00:00
hendricks266 e8949e1c31 Elimininate some codedup between game.c and astub.c.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4557 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:42:28 +00:00
hendricks266 97a53be977 Fix C++ -Woverflow warnings in KenBuild.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4556 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-28 06:41:54 +00:00
hendricks266 4f67f8f969 KenBuild.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4555 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-24 14:01:44 +00:00
hendricks266 4e5788a32d Delete empty folders and update ignore properties.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4554 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 07:58:03 +00:00
hendricks266 e79a2fe828 MSVC build system consolidation.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4553 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 07:21:29 +00:00
hendricks266 1e7002b280 Fix Synthesis (at least partially).
git-svn-id: https://svn.eduke32.com/eduke32@4552 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 06:04:44 +00:00
hendricks266 3403670ada Re-add $(abspath ...) wrapping to libdirs to try and fix Synthesis.
git-svn-id: https://svn.eduke32.com/eduke32@4551 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-23 01:48:00 +00:00
hendricks266 a187bbd8f3 Normalize all rotatesprite calls to fullscreen panels so that they are centered at (160, 100) instead of top-lefted at (0, 0).
git-svn-id: https://svn.eduke32.com/eduke32@4550 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:20:13 +00:00
hendricks266 34f3e59c39 Menus: Rearrange drawing so that MENUBAR (#2457) is always the first thing drawn after a menu's background, and its caption is always drawn last.
git-svn-id: https://svn.eduke32.com/eduke32@4549 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:19:58 +00:00
hendricks266 61f31c36ad Three Mac patches from rhoenie:
-sdlayer: Apple and GTK are not mutually exclusive.
-Makefile.common: Specify WITHOUT_GTK?=1 by default.
-Makefile: Limit linking with the QuickTime framework to OS X 10.6 and below.
One fix from me:
-osxbuild.sh: Fix building tools.

git-svn-id: https://svn.eduke32.com/eduke32@4548 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:19:45 +00:00
hendricks266 68b56adbe2 Deal with a few common themes in downstream patches applied by OpenBSD, FreeBSD, Gentoo Linux, and possibly others.
-Respect CC and CXX if already set in the environment.
-Respect CFLAGS, CXXFLAGS, and LDFLAGS if set or specified.
-Give packagers the setting "PACKAGE_REPOSITORY=1" to prevent us from adding our own optimization parameters.

git-svn-id: https://svn.eduke32.com/eduke32@4547 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:19:25 +00:00
hendricks266 a5fb5f6795 Handle a concern kludged by SlackBuilds (used by Slackware Linux and NetBSD) where a warning in texcache.c spams the log.
git-svn-id: https://svn.eduke32.com/eduke32@4546 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:19:13 +00:00
hendricks266 1f68d2beb6 Apply/replicate patches from OpenBSD to dlopen .so names.
git-svn-id: https://svn.eduke32.com/eduke32@4545 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:18:59 +00:00
hendricks266 c1701f9299 Apply unpackssi_64bit_fix.patch from Gentoo Linux, with modifications.
https://bugs.gentoo.org/attachment.cgi?id=342598&action=edit

git-svn-id: https://svn.eduke32.com/eduke32@4544 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 11:18:41 +00:00
hendricks266 b332189ae5 Ball-busting Makefile restructure.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4543 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 07:25:54 +00:00
hendricks266 6ef05fe07c Delete a bunch of crusty old outdated unused files.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4542 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-22 07:25:09 +00:00
hendricks266 c1c01f0e0b Replace the funkily-formatted GNU.TXT with the FSF's official gpl-2.0.txt. Also, update the FSF's address in all source files that contain it.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4541 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-20 08:55:56 +00:00
hendricks266 af28013f39 Lunatic fixes:
1 compiler error.
2 compiler warnings.
1 runtime warning.

Note that at this time, CPLUSPLUS=1 LUNATIC=1 fails to build due to C++ function mangling, and Win64 Lunatic crashes.

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4540 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-10 09:01:48 +00:00
hendricks266 0352b4ad11 Windows: Update libraries.
- libpng to 1.6.12
- LuaJIT to Git HEAD >= 2.0.3
- instructions.txt

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4539 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-10 09:01:15 +00:00
hendricks266 43eb98fdec Extend ebacktrace in two ways.
1. The application must specify its proper name and technical name. Instead of eduke32_or_mapster32.crash.log, we now have eduke32.crash.log and mapster32.crash.log.
2. The exception handler will display a message box informing the user of a crash and requesting they send in the crash log. The box has three options: "Quit", the DLL's current behavior, "Continue", which passes the exception to the next handler, and "Ignore", which resumes execution immediately. These should allow the user to skip bogus exceptions picked up by ebacktrace, such as one I get with my laptop that causes EDuke32 no issues.

git-svn-id: https://svn.eduke32.com/eduke32@4538 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 22:38:02 +00:00
hendricks266 bc0614dd22 Miscellaneous get/set(this)projectile cleanup.
git-svn-id: https://svn.eduke32.com/eduke32@4537 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 22:36:34 +00:00
terminx 06072db493 WIP OSD refactor, committing now before it stops applying cleanly to current svn. This shouldn't break anything in an obvious or major way.
git-svn-id: https://svn.eduke32.com/eduke32@4536 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:12:25 +00:00
terminx d7a3f8e78a Looks like another MSVC build fix
git-svn-id: https://svn.eduke32.com/eduke32@4535 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:11:58 +00:00
terminx a28bd4ec49 Add sdl_inc.h to VS project
git-svn-id: https://svn.eduke32.com/eduke32@4534 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:11:44 +00:00
terminx 690c0abb16 I don't even remember which platform this fixes building on... probably MSVC. Cleaning out my tree.
git-svn-id: https://svn.eduke32.com/eduke32@4533 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:11:32 +00:00
terminx 330119f482 MSVC build fix
git-svn-id: https://svn.eduke32.com/eduke32@4532 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:11:11 +00:00
terminx e4733449fd Add support for pressing backspace to go up one dir in the file selector in Mapster32
git-svn-id: https://svn.eduke32.com/eduke32@4531 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:11:01 +00:00
terminx 7dae4a8e96 MSVC build fix
git-svn-id: https://svn.eduke32.com/eduke32@4530 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:10:46 +00:00
terminx 9eb8efa442 Android updates from Emile
git-svn-id: https://svn.eduke32.com/eduke32@4529 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:10:33 +00:00
terminx b81a28b334 Fix MSVC warning caused by r4488
git-svn-id: https://svn.eduke32.com/eduke32@4528 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:10:14 +00:00
terminx 9378066660 lround for MSVC
git-svn-id: https://svn.eduke32.com/eduke32@4527 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:09:59 +00:00
terminx 398d20fc5f Enable -usecwd for Mapster32 on Windows (same functionality as EDuke32)
git-svn-id: https://svn.eduke32.com/eduke32@4526 1a8010ca-5511-0410-912e-c29ae57300e0
2014-07-06 00:09:41 +00:00
hendricks266 ca03f7af44 Hotfix to allow display of E1L8's par time and 3DR time if no usermap has been played yet.
Note that the user map function still overwrites everything in slot E1L8 for the time being, which is a deeper problem I need to address.

git-svn-id: https://svn.eduke32.com/eduke32@4525 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-23 02:25:20 +00:00
hendricks266 beec5ec512 Keep track of allocated cache space for ANM files so they aren't allocated multiple times. Also, unlock the handles after playback is done so they can be freed if necessary.
git-svn-id: https://svn.eduke32.com/eduke32@4524 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-23 02:25:07 +00:00
hendricks266 1497a75ef0 Disable the diagnostic log message upon successfully using the "animsounds" def command.
git-svn-id: https://svn.eduke32.com/eduke32@4523 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-23 02:24:53 +00:00
hendricks266 83490ade50 Fix building ivfrate.
git-svn-id: https://svn.eduke32.com/eduke32@4522 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-23 02:24:39 +00:00
hendricks266 879b3e406b Fix a warning in menus.c, introduced in r4519.
git-svn-id: https://svn.eduke32.com/eduke32@4521 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-23 02:24:28 +00:00
hendricks266 24728ba291 Allow EVENT_SOUND to return -1 to cancel a sound without printing a warning to the console and log.
NOTE: Other negative values are reserved!

git-svn-id: https://svn.eduke32.com/eduke32@4520 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-23 02:24:10 +00:00
hendricks266 fc43cc666c Fix saving a savegame's name.
git-svn-id: https://svn.eduke32.com/eduke32@4519 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-21 15:31:01 +00:00
hendricks266 41fb46b1bc Fix a display error with the bonus screen when a map's 3DR time was zero.
git-svn-id: https://svn.eduke32.com/eduke32@4518 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-21 15:30:48 +00:00
hendricks266 27c9651fde Fix a problem with r4514.
git-svn-id: https://svn.eduke32.com/eduke32@4517 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-21 15:30:33 +00:00
hendricks266 f4becd06d5 Instead of displaying "Unknown GRP - EDuke32", simply display "EDuke32".
Much classier this way.

git-svn-id: https://svn.eduke32.com/eduke32@4516 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-16 23:17:11 +00:00
hendricks266 fd78e9f954 By request, implement EVENT_ACTIVATECHEAT.
git-svn-id: https://svn.eduke32.com/eduke32@4515 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-16 23:16:55 +00:00
hendricks266 45deabc782 Add the following LOGO_FLAGS:
LOGO_NOE1ENDSCREEN
LOGO_NOE2ENDSCREEN
LOGO_NOE3RADLOGO
LOGO_NODUKETEAMTEXT
LOGO_NODUKETEAMPIC

As part of this, the LOGO_NOE*BONUSSCENE flags no longer remove the entire end sequence in one go. They now only remove the primary cinematic. If you want their previous effect, you'll have to add these additional bits.

git-svn-id: https://svn.eduke32.com/eduke32@4514 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-16 23:16:37 +00:00
hendricks266 304a13e259 Fix build with GCC 4.9.
git-svn-id: https://svn.eduke32.com/eduke32@4513 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-16 23:16:23 +00:00
hendricks266 015acc9fb9 Fix Wii build.
git-svn-id: https://svn.eduke32.com/eduke32@4512 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-16 23:16:08 +00:00
hendricks266 71cf9af5f5 Clean up the menu input layer.
git-svn-id: https://svn.eduke32.com/eduke32@4511 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-16 23:15:49 +00:00
hendricks266 ec3717167e Menus: Fix a bug that crept in with r4508 that prevented any editing of savegame names.
git-svn-id: https://svn.eduke32.com/eduke32@4510 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-16 23:15:31 +00:00
hendricks266 a7714f2c74 Menus: Bring MenuFileSelect_t up to speed with MenuMenu_t.
>They see me scrollin'
>They hatin'

git-svn-id: https://svn.eduke32.com/eduke32@4509 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:04:31 +00:00
hendricks266 2281e287dd Menus: Fix the recently introduced bug where blank savegames would have their autogenerated names clobbered by the new menu code.
git-svn-id: https://svn.eduke32.com/eduke32@4508 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:04:17 +00:00
hendricks266 7f3708b55d Menus: Fix the recently introduced bug that would take the keypress given at "PRESS OPEN TO RESTART LEVEL" as a yes at the following prompt to load your most recent savegame, seemingly without asking.
git-svn-id: https://svn.eduke32.com/eduke32@4507 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:04:05 +00:00
hendricks266 4424648917 Menus: Revise the MenuFileSelect_t structure to remove the unnecessary dir pointer and rename currentlist to currentList.
git-svn-id: https://svn.eduke32.com/eduke32@4506 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:03:52 +00:00
hendricks266 de35d4ee8c Menus: When at the top or bottom of a scrolling section, show the up/down indicator darkened instead of not at all.
git-svn-id: https://svn.eduke32.com/eduke32@4505 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:03:38 +00:00
hendricks266 3d37dc86ae [Cosmetic] backtrace.c: tab --> space x 4
git-svn-id: https://svn.eduke32.com/eduke32@4504 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:03:25 +00:00
hendricks266 e647b6a42f Update ebacktrace to avoid crashes and improve the quality of the diagnostic output.
git-svn-id: https://svn.eduke32.com/eduke32@4503 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:03:06 +00:00
hendricks266 a03f9bce40 Wrap most calls to exit() with a macro that will print the exit status, file name, line number, and function name to the log when using a debug build.
git-svn-id: https://svn.eduke32.com/eduke32@4502 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:02:37 +00:00
hendricks266 94ccdb076d Fix a recently-introduced C++ error.
git-svn-id: https://svn.eduke32.com/eduke32@4501 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-13 09:01:58 +00:00
Plagman f6dd12ffe5 Test commit to make sure synthesis works.
git-svn-id: https://svn.eduke32.com/eduke32@4500 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-02 02:23:08 +00:00
helixhorned 4780912b40 lunatic/util/build.lua: in readdefs(), add option of requesting picnum->name mapping.
That is, the reverse of what is returned with the first outarg. Use that in
lunatic/util/foreachmap.lua. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4499 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-01 20:50:14 +00:00
helixhorned 1e5549dc2f Polymost: r_npotwallmode, emulating 8-bit for walls w/ nonpow2 height textures.
When that mode is enabled (see below for caveats), wall textures that have a
non-power-of-two height (call it 'h') will be modified to look like in classic:
Let 'H' be the next power of two greater than 'h'. The texture will be uploaded
with height 'H', made up from 'h' hlines of the original texture, followed by
'H'-'h' first hlines of the same.
No panning "corrections" will take place. The mode is disabled by default.

Caveats/notes:
 * the mode requires that r_hightile is disabled
 * it is not implemented in Polymer
 * in the Lunatic build, it is ineffective when a VX map is loaded, as those
   display walls with NPOT height textures correctly

git-svn-id: https://svn.eduke32.com/eduke32@4498 1a8010ca-5511-0410-912e-c29ae57300e0
2014-06-01 11:55:19 +00:00
hendricks266 d4cfdb7da0 Fix non-Windows building.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4497 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-31 15:36:41 +00:00
hendricks266 11e9b8f4ce Ball-busting new menus. Still WIP.
Mouse/touch/pointer support is yet to come. #SOON.

Exposure to scripting is a LONG way off. Months. The spec and data structure needs time for comment and revision. The eventual scripting access will be Lua-only.

git-svn-id: https://svn.eduke32.com/eduke32@4496 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-31 12:26:41 +00:00
hendricks266 c24c08599f Better compile timestamp handling.
git-svn-id: https://svn.eduke32.com/eduke32@4495 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-31 12:26:13 +00:00
hendricks266 26db62d77d Re-fix the C++ warnings in ENet.
git-svn-id: https://svn.eduke32.com/eduke32@4494 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-31 12:25:44 +00:00
helixhorned 2153c81afb Mapster32: when pasting onto the bottom part of a [2]-wall, take over y-flipping.
Note that x-flipping is determined by the cstat of the upper part of the wall
(that is, the wall facing the player, not the nextwall, from which the picnum
for the bottom part is taken.)

git-svn-id: https://svn.eduke32.com/eduke32@4493 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-30 19:39:08 +00:00
helixhorned 66f5b547cf Replace two missed literal numbers with SE_* enum labels.
git-svn-id: https://svn.eduke32.com/eduke32@4492 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-30 19:39:06 +00:00
helixhorned 0900f4066c Bye, bye, B*alloc(), all hail X*alloc()! Replace large portion of the calls...
... and cull code that is dead with the X*alloc() versions since they never
return NULL on requesting memory.

Use something like
 git grep '[^Xx]\(m\|c\|re\)alloc *('
and
 git grep '[^Xx]strdup *('
to see places where I left the B*alloc() calls intact.

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4491 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-30 00:02:19 +00:00
helixhorned 1d26121514 Add X{m,c,re}alloc and Xstrdup macros that call an out-of-memory handler on failure.
These wrap the x*alloc or xstrdup functions in compat.c. The handler gets passed
__FILE__, __LINE__ and __func__ (if available) in debugging builds.

Terminating the application process immediately in case of allocation failure
will let us prune many error handling paths and simplify a good portion of code.

git-svn-id: https://svn.eduke32.com/eduke32@4490 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-30 00:02:16 +00:00
helixhorned 95a6c01045 A couple of stylistic cleanups and missed DAMETH_* flags substitutions.
git-svn-id: https://svn.eduke32.com/eduke32@4489 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-30 00:02:14 +00:00
helixhorned 89bbfcbdea Miscellaneous cleanup, still with the same suspects...
- in mdloadskin() and gloadtile_hi(), use new function check_nonpow2()
  (bit-twiddling) instead of loop
- Replace a couple of missed literals with CACHEAD_* enum labels

git-svn-id: https://svn.eduke32.com/eduke32@4488 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-28 22:40:19 +00:00
helixhorned 6fb9929f44 Factor out commonly occuring hictinting[]-accessing code into three functions.
Note: in polymer.c, this was buggy (but harmless) because .r is a char:
  if ((uint32_t)hictinting[MAXPALOOKUPS-1].r & 0xFFFFFF00) != 0xFFFFFF00)

git-svn-id: https://svn.eduke32.com/eduke32@4487 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-28 22:40:17 +00:00
helixhorned 69c867b8e3 Replace various GL rendering related literal flags with enum labels.
- pthtyp pth->flags bits
- Flags of the <dameth> argument of various functions
- hictinting[].f / gloadtile_hi() and daskinloader() <effect> arg bits
- hicreplctyp hicr->flags bits
- texcacheheader cachead.flags bits

git-svn-id: https://svn.eduke32.com/eduke32@4486 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-28 22:40:16 +00:00
helixhorned 2c84d175ed polymost.c: stylistic cleanup in gloadtile_hi, uploadtexture, fixtransparency.
git-svn-id: https://svn.eduke32.com/eduke32@4485 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-28 22:40:15 +00:00
helixhorned dfa9daa5d3 Polymost: in NPOT wall ypanning "correction", behave like Polymer in one corner case.
Specifically, the handling of one-way walls ([1] in Mapster32) was slightly
different.

git-svn-id: https://svn.eduke32.com/eduke32@4484 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-28 22:40:14 +00:00
helixhorned 1fab90da10 lunatic/util/mapypan.lua: omit MIRROR, don't print maps w/o problematic tiles.
git-svn-id: https://svn.eduke32.com/eduke32@4483 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-28 22:40:12 +00:00
helixhorned 4ea4bf2ea9 sdlayer.c: for Windows, switch keyboard layout to/from US on init/uninit.
Taking over the code from winlayer.c.

git-svn-id: https://svn.eduke32.com/eduke32@4482 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-24 15:27:53 +00:00
helixhorned e61afe6d88 Rip out S_FindMusicSFX() from A_CallSound() and use in SE6/14 on-spawn init.
This makes the subway sound not played once on map initialization.

git-svn-id: https://svn.eduke32.com/eduke32@4481 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-23 20:25:29 +00:00
helixhorned 123906a9d7 shadexfog.lua: in menu, move creation of debugging shade tables below DEBUG line.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4480 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-22 11:17:52 +00:00
helixhorned b9b0b3f79b lunatic/test/shadexfog.lua: add function create_brightpass_trans().
Also hook it up in the [;]+[F] menu.

git-svn-id: https://svn.eduke32.com/eduke32@4479 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-22 11:17:51 +00:00
helixhorned 0c2776e7fc game.c: in A_Spawn(), protect CSTAT_SPRITE_NOSHADE of spawned MASKWALL* sprites.
git-svn-id: https://svn.eduke32.com/eduke32@4478 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-22 11:17:50 +00:00
helixhorned 3ecf4ca4e5 actors.c: fix a A_CheckSpriteFlags() call for zombie actor to STANDABLE change.
This only affects zombie actors in a sector with a parallaxed ceiling. If they
have SFLAG_NOSHADE clear, their shade is taken from the ceiling upon
changing the statnum. Previously, A_CheckSpriteFlags() received a value that
could only be 0 or 1 for the sprite index (typo).

git-svn-id: https://svn.eduke32.com/eduke32@4477 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-22 08:56:56 +00:00
helixhorned 2f6652e59a sdlayer.c: fix compiling wm_ynbox() for Linux/WITHOUT_GTK=1.
git-svn-id: https://svn.eduke32.com/eduke32@4476 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-18 09:55:43 +00:00
helixhorned e810071cfc LunaCON: add read-only variable 'Numsprites', r/w userdef member .mouseaiming.
git-svn-id: https://svn.eduke32.com/eduke32@4475 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-18 09:55:42 +00:00
helixhorned 8974228a20 C-CON: scan label names according to stricter LunaCON rules instead of char blacklist.
These ones: http://lunatic.eduke32.com/lunacon.html#_ambiguous_lexical_elements
Seriously, defining a token kind by excluding certain characters (instead of
allowing a given set) is really, really broken.

git-svn-id: https://svn.eduke32.com/eduke32@4474 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-18 09:55:41 +00:00
helixhorned 4b3bfc6424 LunaCON: allow '.' as non-first identifer character.
git-svn-id: https://svn.eduke32.com/eduke32@4473 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-18 09:55:39 +00:00
hendricks266 a755e95c2c Replace some constants with preprocessor macros.
git-svn-id: https://svn.eduke32.com/eduke32@4472 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-17 12:36:40 +00:00
hendricks266 20bf310cba Fix two Polymer crashes related to corrupted maps.
git-svn-id: https://svn.eduke32.com/eduke32@4471 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-17 12:36:03 +00:00
hendricks266 5f3921fa93 Fix ebacktrace on 64-bit. New DLLs all around.
git-svn-id: https://svn.eduke32.com/eduke32@4470 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-17 12:35:46 +00:00
hendricks266 fe4e93fa1b Add support for an SDL2-based wm_ynbox based on SDL2's testmessage.
git-svn-id: https://svn.eduke32.com/eduke32@4469 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-17 12:35:03 +00:00
hendricks266 b1a7a6368a Update libpng to 1.6.10.
git-svn-id: https://svn.eduke32.com/eduke32@4468 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-17 12:34:46 +00:00
hendricks266 9e717525b6 old menus: Fix parental lock password entry.
git-svn-id: https://svn.eduke32.com/eduke32@4467 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-17 12:34:14 +00:00
Plagman 8f12e0dca0 Revert window fullscreen stuff until we have aspect-correct upscaling
pass.

git-svn-id: https://svn.eduke32.com/eduke32@4466 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-10 21:20:09 +00:00
helixhorned 78df6ab4b1 Mapster32: in linking tag determination, handle 'on' switch picnums (+1).
git-svn-id: https://svn.eduke32.com/eduke32@4465 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-06 22:15:24 +00:00
helixhorned b82b5dc6b7 Mapster32: in e.g. F5 "next free tag" display, note object w/ greatest tag.
git-svn-id: https://svn.eduke32.com/eduke32@4464 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-06 22:15:19 +00:00
Plagman 7fb2ad8e32 Add some useful preprocessor definition to the checked-in MSVC project
git-svn-id: https://svn.eduke32.com/eduke32@4463 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-04 01:25:26 +00:00
helixhorned 6328f461a8 Mapster32: don't read some variables from mapster32.cfg redundant since r4344.
Mostly, these are rendering-related variables. We keep *writing* them to
mapster32.cfg so that older Mapster32 versions can be used side-by-side
for now.

git-svn-id: https://svn.eduke32.com/eduke32@4462 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-03 15:39:24 +00:00
helixhorned 5ca99a812e src/config.c: fix what is apparently a copy-paste typo in readconfig().
git-svn-id: https://svn.eduke32.com/eduke32@4461 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-03 15:39:22 +00:00
helixhorned 1c5da19874 In non-lookup GL modes, if fog is due to fogpal, make fog params indep. of shade.
git-svn-id: https://svn.eduke32.com/eduke32@4460 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-01 22:02:21 +00:00
helixhorned 521176d865 Polymost: make r_usetileshades 2 the default.
This mode does not take a sector's visibility values into account for uniform
darkening of a texture. It is more faithful to classic with respect to
fog/visibility *distances*, but may be less so as far as the "tint" of the
texture due to visibility attenuation is concerned.

git-svn-id: https://svn.eduke32.com/eduke32@4459 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-01 16:55:50 +00:00
helixhorned d180e55234 engine.c: instead of fogpal post-tweaks (last 2 commits), normalize by numshades-1.
That is, for every for palette (now, even ones created by the user) the last
shade is the (or rather, a color close to the) full fog color by construction.
In loadpalette(), reject a PALETTE.DAT with only one shade level.

git-svn-id: https://svn.eduke32.com/eduke32@4458 1a8010ca-5511-0410-912e-c29ae57300e0
2014-05-01 16:55:48 +00:00
helixhorned c697835073 engine.c: extend the last workaround to all four fogpals generated at startup.
git-svn-id: https://svn.eduke32.com/eduke32@4457 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-29 20:07:48 +00:00
helixhorned fc77a8aa3d engine.c: after creating gray fog palookup, make its greatest shade map to same color.
Concretely, for all 1 <= i <= 255, make graypalookup[31][i] := graypalookup[31][0].
Also document 'fogpal' in the Lunatic doc.

git-svn-id: https://svn.eduke32.com/eduke32@4456 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-29 19:34:25 +00:00
helixhorned b7910b1bcf Classic: fix fog/visibility on ceilings.
git-svn-id: https://svn.eduke32.com/eduke32@4455 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-22 18:10:19 +00:00
helixhorned d23ca5bbc5 engine.c: clean up scansector().
git-svn-id: https://svn.eduke32.com/eduke32@4454 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-21 17:00:54 +00:00
helixhorned 653c1b8acd Classic: prevent visibility overflow on sloped ceilings/floors at large distances.
git-svn-id: https://svn.eduke32.com/eduke32@4453 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-21 17:00:51 +00:00
helixhorned 8d9282bc24 Fix r_usenewshading 3 visibility/fog for shades >= Numshades-1 (usually 31).
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4452 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-19 22:42:23 +00:00
helixhorned b4a050b0cf Makefile.common: pass Clang sanitizer flags in release DEBUGANYWAY builds, too.
Also,
 - add a static assertion to engine.c
 - gameexec.c: compile out an unused function in Lunatic builds

git-svn-id: https://svn.eduke32.com/eduke32@4451 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-19 22:42:22 +00:00
helixhorned 66b789376b In G_SavePlayer(), save timers at beginning and restore when finished.
This makes the game not process as many ticks as have elapsed during the saving
afterwards.

git-svn-id: https://svn.eduke32.com/eduke32@4450 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-19 22:42:21 +00:00
helixhorned 184653fc25 Keep displaying difficulty menu for as long as the *voice* plays.
Previously, the check was for the hard-coded sound number. This made it
impossible to change difficulty selection sounds via EVENT_SOUND.

git-svn-id: https://svn.eduke32.com/eduke32@4449 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-19 22:42:20 +00:00
helixhorned fb05cf5b7e CON: add getactor[]/sprite[] member 'movflags'.
This is exactly the same as the actor[].movflags member in the Lunatic build:
http://lunatic.eduke32.com/lunatic.html#actor

git-svn-id: https://svn.eduke32.com/eduke32@4448 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-19 22:42:18 +00:00
Plagman dccf7ebadc Fix crash with GTK+SDL2 on startup and use windowed fullscreen instead of
exclusive fullscreen.

git-svn-id: https://svn.eduke32.com/eduke32@4447 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-19 02:51:33 +00:00
helixhorned 974fd50052 sdlayer.c: fix grabmouse_low() with DEBUGGINGAIDS!=0 builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4446 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-18 13:20:56 +00:00
terminx dd8cd8277e User-configurable security monitor refresh delay (r_camrefreshdelay)
git-svn-id: https://svn.eduke32.com/eduke32@4445 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-17 20:00:24 +00:00
terminx 345300ddbb This seems to need SDL_MAIN_HANDLED in some configurations... not sure why yet.
git-svn-id: https://svn.eduke32.com/eduke32@4444 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-17 20:00:07 +00:00
terminx e6bebd054d Update to ENet git commit 518144338dd2d55192446e5ef37bc2eb97fe9bc8
git-svn-id: https://svn.eduke32.com/eduke32@4443 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-17 19:59:52 +00:00
terminx ced138b578 Move DO_FREE_AND_NULL macro to compat.h
git-svn-id: https://svn.eduke32.com/eduke32@4442 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-17 19:58:31 +00:00
terminx a33f9c2ca1 Simplify mutex wrapper into simply differentiating between RENDERTYPEWIN (which is deprecated...) and everything else, which uses SDL mutexes.
git-svn-id: https://svn.eduke32.com/eduke32@4441 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-17 19:58:07 +00:00
terminx d287b50cd7 Android updates from Emile. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4440 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-15 19:02:48 +00:00
terminx 4815ebaa23 More Android. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4439 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-14 16:30:23 +00:00
helixhorned e9f7b5d09a shadexfog.lua: in "Save lookups DAT file" entry, allow to save additional lookups.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4438 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-13 14:26:18 +00:00
helixhorned 9de8ec9ed8 Lunatic: (better) document sector[].visibility, sprite[].clipdist, player[].weapon.
git-svn-id: https://svn.eduke32.com/eduke32@4437 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-13 14:26:16 +00:00
terminx 73b0943e25 More Android. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4436 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-13 03:20:17 +00:00
terminx 04c466f1f2 OSD scaling fixes (mostly)
git-svn-id: https://svn.eduke32.com/eduke32@4435 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-13 03:19:50 +00:00
terminx 2293aa5f59 Android code updates, pay no attention. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4434 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-12 22:10:36 +00:00
terminx 5645858a64 Partial Android support cleanup. I actually have no idea if this even compiles ;)
git-svn-id: https://svn.eduke32.com/eduke32@4433 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-12 08:45:50 +00:00
terminx 45dec87cf0 Clean up sdlayer a bit
git-svn-id: https://svn.eduke32.com/eduke32@4432 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-12 08:45:26 +00:00
terminx 82f5a3f39c Clamp macros for floats
git-svn-id: https://svn.eduke32.com/eduke32@4431 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-12 08:45:08 +00:00
terminx e760d590be Hack around HOM when passing through a masked wall, but only on Android because the solution isn't very good.
git-svn-id: https://svn.eduke32.com/eduke32@4430 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-11 16:19:36 +00:00
helixhorned a7cc0741ae Fix minor help text formatting issues in shadexfog.lua.
Also, fix saving PALETTE.DAT tables without lognumalphatabs byte. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4429 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-10 18:44:31 +00:00
helixhorned 63fee16ca5 CON: in rotatespritea and screentext, if alpha < 0, make -alpha denote blend.
For convenience, orientation gets bit 1 (translucency) set automatically.
Again, test/screentext.con is updated to show off this functionality (the
code there assumes that additive blending tables are loaded at blend
numbers 101 -- 132).

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4428 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-09 18:51:35 +00:00
helixhorned 2aa608af27 LunaCON: fix 'screentext' command.
git-svn-id: https://svn.eduke32.com/eduke32@4427 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-09 18:51:33 +00:00
helixhorned e1845c8d05 In ext. PALETTE.DAT, store log2 of last alpha table index. Handle alpha in classic.
The extended PALETTE.DAT format can now carry a trailing byte, called
'lognumalphatables'. If it is present, the engine assumes that alpha blending
tables are loaded at blend indices 1 to 1<<lognumalphatables and handles
rotatesprite's alpha and spriteext[].alpha accordingly.
The ability to save this new byte is added to engine.lua:savePaletteDat()
and the corresponding convenience functions in shadexfog.lua.

Examples test/screentext.con and test/sprite_access.con are updated for
demonstration purposes.

git-svn-id: https://svn.eduke32.com/eduke32@4426 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-09 18:51:31 +00:00
terminx 1d077db710 Add "osdscale", allowing the console text to be resized anywhere from 1-4x. It's a float because that seemed more useful to Android, where this will probably be hooked up to a slider (its intended usage).
git-svn-id: https://svn.eduke32.com/eduke32@4425 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-07 06:17:25 +00:00
terminx 706f0a10ab Credits menu update for Android
git-svn-id: https://svn.eduke32.com/eduke32@4424 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-07 06:17:08 +00:00
helixhorned 966fa90f7a Mapster32/Lunatic: add descriptions to [;]+[F] menu entries shown in upper left.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4423 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-06 22:24:20 +00:00
helixhorned b1e38e080d engine.c: for printext16(), make newlines do what you expect them to.
git-svn-id: https://svn.eduke32.com/eduke32@4422 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-06 22:24:19 +00:00
helixhorned 0aec0c53ed a.m32: for showpal==1, also show editor colors with printext16.
git-svn-id: https://svn.eduke32.com/eduke32@4421 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-06 22:24:18 +00:00
helixhorned 5fd9d1d7a9 Mapster32/Lunatic: hook up shadexfog.save() and saveLookupDat() to [;]+[F] menu.
git-svn-id: https://svn.eduke32.com/eduke32@4420 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-06 22:24:17 +00:00
helixhorned 494c00713b Mapster32/Lunatic: add functionality to connect Lua funcs to s.bar menu [;]+[F].
Hook up those from test/shadexfog.lua and some debugging ones from engine.lua.

git-svn-id: https://svn.eduke32.com/eduke32@4419 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-06 22:24:14 +00:00
helixhorned e641cf8b57 Mapster32: factor out [']+[F] common code into "class" StatusBarMenu.
git-svn-id: https://svn.eduke32.com/eduke32@4418 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-05 20:27:34 +00:00
helixhorned d2098c320a astub.c: clean up [']+[F] menu code, fixing one oob access w/ dyn. entries.
git-svn-id: https://svn.eduke32.com/eduke32@4417 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-05 20:27:33 +00:00
helixhorned 7603f432df Rename sector[].filler member to '.fogpal'. From CON, keep the '.alignto' alias.
The overall situation is thus as follows:
 - in C and from Lua, that member is called 'fogpal'
 - In CON (both C-CON and LunaCON), it's 'fogpal' with 'alignto' being an alias;
   'filler' wasn't available before, either.
 - In m32script, it's 'fogpal' or 'alignto' ('filler' is not available any more)

git-svn-id: https://svn.eduke32.com/eduke32@4416 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-05 11:28:10 +00:00
helixhorned bd0febb846 In non-lookup OpenGL modes, make sector[].filler (rename pending) override fogpal.
That is, if that member has a nonzero value, that one is taken for the color of
the GL fog instead of (most of the time) sector[].floorpal. "Sky sectors", that
is, skyboxes or simply parallaxed floors/ceilings are *not* handled.

git-svn-id: https://svn.eduke32.com/eduke32@4415 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-05 11:28:08 +00:00
helixhorned 6458c0ba34 a.m32: add state 'for_sprites_near_picnum'.
The state quries the user for four values: ref. picnum, target picnum, max.
ldist and a lotag.  Then, for all sprites i (of ref. picnum), for all sprites j
(of target picnum), if ldist(i,j)<=maxldist, sprite j's lotag is changed to the
provided one.

Also add lunatic/test/maputil.lua, containing a similar function but allowing
to customize the selection predicates of the ref. and target sprites, as well
as the action to carry out.

git-svn-id: https://svn.eduke32.com/eduke32@4414 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-05 11:28:08 +00:00
helixhorned 66947aed95 engine.c: clean up code around wallmost(), owallmost() and grouscan().
git-svn-id: https://svn.eduke32.com/eduke32@4413 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-05 11:28:06 +00:00
helixhorned 4d1fce5a40 Bump jit/bcsave.lua to the one from LuaJIT 2.0.3.
git-svn-id: https://svn.eduke32.com/eduke32@4412 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-05 11:28:02 +00:00
terminx 3e02420e38 Fix my mangled rev.h commit from a while back. I guess I forgot to revert it because it didn't break synthesis. :)
git-svn-id: https://svn.eduke32.com/eduke32@4411 1a8010ca-5511-0410-912e-c29ae57300e0
2014-04-01 19:43:43 +00:00
helixhorned 2fd4617412 Add a second DNCOORDS/cl_showcoords mode, showing some renderer settings.
Also, extend the documentation for r_usenewshading a little. Specifically,
note when the different modes were introduced. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4410 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 20:36:00 +00:00
helixhorned 9ac075be1c Polymer: disable normal/parallax mapping in rotatesprite.
It was plainly noticeable in the editor's tile info display, for
example.

git-svn-id: https://svn.eduke32.com/eduke32@4409 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 20:35:59 +00:00
helixhorned 0c2c43e6b0 In COMMON_clearbackground() (for the OSD), disable fog.
git-svn-id: https://svn.eduke32.com/eduke32@4408 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 20:35:57 +00:00
helixhorned 7da6380dcb Amend r4394: don't use full brightness (glColor() factor 1) with hightiles.
This is done by factoring out some polymer.c:polymer_getbuildmaterial() code
into polymer_eligible_for_artmapping() and using that. The one in polymer.c
can still determine to not use ART mapping on some ("rare"?) occasions, so
it's not 100% in sync.

git-svn-id: https://svn.eduke32.com/eduke32@4407 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 13:53:09 +00:00
helixhorned 2d889c74f7 Minor Polymost code cleanup.
- factor out eligible_for_tileshades()
- remove some rendmode 1 code
- move some auto vars further down

git-svn-id: https://svn.eduke32.com/eduke32@4406 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 13:53:08 +00:00
helixhorned 99ddb32055 checkdefs.sh: for DEFs, also handle 'include ...', use 'find -L' (follow symlinks).
git-svn-id: https://svn.eduke32.com/eduke32@4405 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 13:53:06 +00:00
helixhorned 0ae00ba860 Lunatic: add some shade/vis debugging functions.
engine.lua: linearizeBasePal(), mapster32 only
test/shadexfog.lua: create_depth_shtab(), create_vismarker_shtab()

git-svn-id: https://svn.eduke32.com/eduke32@4404 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 13:53:05 +00:00
helixhorned e7d0c0abcb With r_usenewshade 3, do apply starting fog dist. eqn. for negative shade.
git-svn-id: https://svn.eduke32.com/eduke32@4403 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-30 13:53:03 +00:00
helixhorned 5d2ef07986 In 'tilefromtexture' DEF token, fix specifying -1 xoffset or yoffset.
git-svn-id: https://svn.eduke32.com/eduke32@4402 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-29 21:48:44 +00:00
helixhorned da0c6d00ca game.c: fix last step of p->visibility approaching ud.const_visibility.
git-svn-id: https://svn.eduke32.com/eduke32@4401 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-29 21:48:40 +00:00
terminx 833fe67826 SDL 2.0.3 (plus a MinGW build fix that didn't make 2.0.3) for Windows builds.
git-svn-id: https://svn.eduke32.com/eduke32@4400 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-28 03:42:15 +00:00
hendricks266 69d04171c0 Tidy menu code in advance of complete redesign.
This replaces all remaining magic numbers with enumerations thereof.

It also tweaks the following, even though most will be irrelevant post-rewrite:
-Remove unused menus
-Properly center the nuke icon in Duke and the star icon in NAM
-Fix the multiplayer macro editing menu:
--Position the currently editing quote its proper spot instead of beneath the first row
--Don't highlight the first quote while editing a different one
--Select the quote just edited when finished editing instead of the first one
-Fix the cursor of a centered text input field (such as the adult mode password)
-Implement proper shade glowing of selected menu entries in Joystick Settings, Joystick Axes, and Joystick Dead Zones
-Shift the the Joystick Axes menu down to avoid overlapping the title bar
-Change the title of mouse digital axis assignment "Digital Axes Setup" instead of "Advanced Mouse"
-Fix the behavior of the Next button in Joystick Dead Zones to not act like a scrollbar

git-svn-id: https://svn.eduke32.com/eduke32@4399 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-26 09:14:01 +00:00
hendricks266 a13465ed48 Revert rev.h.
git-svn-id: https://svn.eduke32.com/eduke32@4398 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-26 09:13:38 +00:00
helixhorned df7ec376ea SDL2: handle Ctrl-K/Ctrl-U in the OSD. BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4397 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-25 21:04:39 +00:00
helixhorned d656171777 LunaCON: provide access to wall[].blend.
git-svn-id: https://svn.eduke32.com/eduke32@4396 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-25 21:04:37 +00:00
helixhorned e304f3a518 Really minor accumulated readability tweaks.
git-svn-id: https://svn.eduke32.com/eduke32@4395 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-25 21:04:33 +00:00
helixhorned 75baf37812 Polymer/rotatesprite: don't redundantly apply shade glColor() with ART mapping.
git-svn-id: https://svn.eduke32.com/eduke32@4394 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-23 23:14:50 +00:00
helixhorned 7a3776dfac Polymost: introduce r_usenewshading 3 and make it the default.
With this mode, the near distance of the linear fog is always 0, unlike being
negative with r_usenewshading 2.

git-svn-id: https://svn.eduke32.com/eduke32@4393 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-23 23:14:48 +00:00
helixhorned 21de8bb53a Factor out approaching val. to target val by half-difference steps into logapproach().
Fix a case in G_MovePlayers(), where the player sprite's shade is approached
toward the ceiling/floor's shade. Before, it could stop at one above or below!

git-svn-id: https://svn.eduke32.com/eduke32@4392 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-23 14:29:09 +00:00
helixhorned 2f11c7d802 Fix taking ARRAY_SIZE of PlayerSelfObituaries (not PlayerObituaries!)
Also add two static assertions checking that the obituary quotes don't go
out of the MAXQUOTES bound. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4391 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 17:02:21 +00:00
terminx cf14fef6c5 *nix ENet build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4390 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 13:21:03 +00:00
helixhorned dd5f71e3ff Fix an unused variable warning with NETCODE=0. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4389 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 12:55:48 +00:00
terminx 6baf8f96f1 Upgrade ENet library
git-svn-id: https://svn.eduke32.com/eduke32@4388 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 09:27:21 +00:00
terminx 2177591619 Add xxHash (https://code.google.com/p/xxhash/), a faster alternative to CRC32, and implement it in a few places. This is around 20-30% faster than CRC32 for me (it's also implemented into the "fileinfo" console command, so you can test for yourselves). I didn't have time to gather up all of the files supported by the startup window so this isn't used there yet. Additionally, this is by the same author as the LZ4 compression library we already use.
git-svn-id: https://svn.eduke32.com/eduke32@4387 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 09:26:39 +00:00
terminx 3fd83632fb Some basic changes for Android support. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4386 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 09:25:51 +00:00
terminx ba0c64971c Widespread use of ARRAY_SIZE macro.
git-svn-id: https://svn.eduke32.com/eduke32@4385 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 09:25:15 +00:00
terminx 057c5c9356 Clean up A_InitEnemyFlags() a bit.
git-svn-id: https://svn.eduke32.com/eduke32@4384 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-22 09:23:55 +00:00
helixhorned 7573f0f09d engine.c: check (non-)clipping over a floor curb of an upper TROR neighbor.
git-svn-id: https://svn.eduke32.com/eduke32@4383 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-19 19:53:12 +00:00
helixhorned 88ddf6fe1a engine.c: factor out two functions from clipmove().
git-svn-id: https://svn.eduke32.com/eduke32@4382 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-19 19:53:08 +00:00
helixhorned 2d35d93f38 LunaCON: patch up off-by-one line numbering problem. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4381 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-16 15:06:20 +00:00
helixhorned c797298b6a C-CON: add safety checks for qgetsysstr/STR_{,MAP,PLAYER,VOLUME}NAME.
Add test/qgetsysstr.con. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4380 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-16 14:37:54 +00:00
helixhorned 5be1c322b2 LunaCON: qgetsysstr/STR_MAP*NAME: add informative err. msg. for void vol/lev.
git-svn-id: https://svn.eduke32.com/eduke32@4379 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-16 14:37:53 +00:00
helixhorned 10a0e82736 Fix the "fix for flying/jumping monsters getting stuck in water".
In C and Lunatic, split 'jumptoplayer' of enum amoveflags_t / action.MOVFLAGS
into 'jumptoplayer_bits' and 'jumptoplayer_only' (see updated Lunatic doc).

git-svn-id: https://svn.eduke32.com/eduke32@4378 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-16 14:37:52 +00:00
helixhorned 40fd4968bb In three missed places, use AC_MOVFLAGS instead of sp->hitag.
git-svn-id: https://svn.eduke32.com/eduke32@4377 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-16 14:37:50 +00:00
helixhorned 6e891eabd1 Lunatic: fix 'spawn' OSD command when running with -Lopts=strict.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4376 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:51 +00:00
helixhorned 246d589f46 Lunatic: fix DBG_.testmembread after r4290.
git-svn-id: https://svn.eduke32.com/eduke32@4375 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:50 +00:00
helixhorned 86d985620c Lunatic: for gameactor(), deprecate AF.replace_hard, make AF.replace default.
That is, always bitwise-OR the per-tile actor flags with the existing ones.

git-svn-id: https://svn.eduke32.com/eduke32@4374 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:50 +00:00
helixhorned c3ff173553 LunaCON: warn if a 'spriteflags' is issued after its actor definition...
... or another 'spriteflags' or 'sprite*' directive.

git-svn-id: https://svn.eduke32.com/eduke32@4373 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:49 +00:00
helixhorned 6908ce6be7 LunaCON: warn if using reserved bits in 'spriteflags'.
Reserved bits are those that have no predefined SFLAG_* label in CON.

git-svn-id: https://svn.eduke32.com/eduke32@4372 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:48 +00:00
helixhorned 5cb6e20c63 Add new actor flag and predefined CON label SFLAG_NODAMAGEPUSH.
This flag is set from C for some enemies that should not be pushed back when
damaged, such as TANK. Both the tile flag and the per-sprite flag are used
(i.e. the ultimate flag value is the XOR of the two).
Add currently non-functional example to test.lua that attempts to set this bit
for NEWBEAST.

git-svn-id: https://svn.eduke32.com/eduke32@4371 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:47 +00:00
helixhorned 55d6b9c5c7 Lunatic: implement passing string label to 'spawn' OSD command.
Unlike in C-CON, it only tries an exact match with the given and uppercased
label, not "full" case-insensitive search.

git-svn-id: https://svn.eduke32.com/eduke32@4370 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:45 +00:00
helixhorned 69d906c4f7 If 3rd person view gets outside map, try again w/o subtracting 3072 from player z.
Also, clean up G_DoThirdPerson().

git-svn-id: https://svn.eduke32.com/eduke32@4369 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-15 14:10:42 +00:00
helixhorned 802650048d Lunatic: extend map-VX walltype by 'blend' member. BUILD_LUNATIC.
Make Mapster32 save as map-text if there is a wall with non-zero 'blend'.

git-svn-id: https://svn.eduke32.com/eduke32@4368 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-10 20:08:27 +00:00
terminx c3187cea1e POLYMER=0 build fix. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4367 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-07 22:17:38 +00:00
terminx 7d88e047d3 Make non-pal 0 enemy health doubling depend on running 1.3D or earlier
git-svn-id: https://svn.eduke32.com/eduke32@4366 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-07 22:17:25 +00:00
terminx 206244b605 Zip support bugfix from a newer kplib
git-svn-id: https://svn.eduke32.com/eduke32@4365 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-07 22:17:12 +00:00
helixhorned 73b3199b7c Classic: implement screen tilting by 180 degrees without quality loss.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4364 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-05 21:12:59 +00:00
helixhorned c405a13bbd Adapt x86 GCC assembly copybufreverse() to x86_64 and enable unconditionally.
For a 1680x1050 scene standing directly in front of a mirror, this increases
FPS from ~90 to ~95 for me.

git-svn-id: https://svn.eduke32.com/eduke32@4363 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-05 21:12:58 +00:00
helixhorned acc4d12f4b LunaCON: fix 'getincangle'.
git-svn-id: https://svn.eduke32.com/eduke32@4362 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-05 21:12:57 +00:00
helixhorned e0ed3688f9 Mapster32: for wall alignment with [.]/[,], reverse meaning of Alt modifier.
git-svn-id: https://svn.eduke32.com/eduke32@4361 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-05 21:12:56 +00:00
helixhorned 689a8aef1d Propagate 'blend' to rotatesprite_(), but don't hook it up to scripting yet.
git-svn-id: https://svn.eduke32.com/eduke32@4360 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-05 21:12:54 +00:00
helixhorned e6d6300ba7 Mapster32: when failing to paste selected sectors into loaded map, unhighlight.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4359 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-04 22:20:05 +00:00
hendricks266 4b0fc93155 When osdcmd_quit(), OSD_ShowDisplay(0).
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4358 1a8010ca-5511-0410-912e-c29ae57300e0
2014-03-01 11:41:29 +00:00
helixhorned a399bd5717 a.m32: add states 'uniformceiling' and 'uniformfloor'.
Given highlighted sectors, these take the arithmetic mean of their ceiling's
or floor's (respectively) z, removing the slope bit from all, and setting the
new z to the mean one, rounded down to 1024 Build z units (one PGUP/PGDN).

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4357 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-28 20:33:47 +00:00
helixhorned ea8c081084 LunaCON: add and document option -ferror-negative-tag-write.
git-svn-id: https://svn.eduke32.com/eduke32@4356 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-28 20:33:46 +00:00
helixhorned 82b87e1812 engine.c: in loadlookups(), allow pal 0.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4355 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-26 20:18:28 +00:00
helixhorned 605c4dbc21 Fix crosshair color.
git-svn-id: https://svn.eduke32.com/eduke32@4354 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-23 20:44:43 +00:00
helixhorned f346e46ed8 A few stylistic tweaks, like substituting missed SE_* enum constants.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4353 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:54 +00:00
helixhorned f077d57547 Amend r3822 ("Make deletion of an amb. sound MUSICANDSFX stop its sound again.")
We shouldn't be using its actor[].t_data[8] because that one is used by the
sprite rotation-fixing system (which fixes STAT_FX sprites to the positions
relative to the pivot, too).
Test case source/lunatic/test/delmusicsfx.lua still passes with this
modification.

git-svn-id: https://svn.eduke32.com/eduke32@4352 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:53 +00:00
helixhorned b8bd2069ea Rename SPRITE_* flag enum constants to SFLAG_*, for consistency with CON.
git-svn-id: https://svn.eduke32.com/eduke32@4351 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:52 +00:00
helixhorned 6f34193bb6 Give sprite cstat bit 2048 (NOSHADE, Mapster32 key [N]) a macro name.
git-svn-id: https://svn.eduke32.com/eduke32@4350 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:51 +00:00
helixhorned 7a7fb71169 Mapster32: include .blend in sprite display/edit/search (Shift+TAB/F8/Alt+F8).
git-svn-id: https://svn.eduke32.com/eduke32@4349 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:49 +00:00
helixhorned 597400e0f3 Mapster32: don't save comments to mapster32.cfg's command-line history.
git-svn-id: https://svn.eduke32.com/eduke32@4348 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:48 +00:00
helixhorned b02aa43036 Lunatic: generalize shadexfog.create_trans() further.
It now accepts a number of tables to create as 3rd arg. The function that
create_trans() takes as the 2nd argument is now being passed
(r,g,b, R,G,B, tablei, numtables).
Rewrite create_additive_trans() in terms of it.
Rename create_128_trans() -> create_alpha_trans().

git-svn-id: https://svn.eduke32.com/eduke32@4347 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:48 +00:00
helixhorned 1b1cb73e1c A couple of very minor code beauty tweaks.
git-svn-id: https://svn.eduke32.com/eduke32@4346 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:47 +00:00
helixhorned caeb012843 engine.c: in loadlookups(), error out if attempting to load at a reserved pal.
git-svn-id: https://svn.eduke32.com/eduke32@4345 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 19:38:45 +00:00
hendricks266 a21f340553 Mapster32: Introduce m32_settings.cfg, analogous to settings.cfg, so that you can save your cvars and aliases for the editor.
One potential use is to add r_togglecomposition "0" if you don't like Aero turning on and off every time you switch between 2D mode and 32-bit 3D mode.

git-svn-id: https://svn.eduke32.com/eduke32@4344 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 08:03:02 +00:00
hendricks266 14db3b178d Build system: Detect the SVN revision and generate rev.h directly from the Makefile, if applicable.
git-svn-id: https://svn.eduke32.com/eduke32@4343 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 08:02:41 +00:00
hendricks266 d67e977fb1 Further optimize our SDL_Renderer for 8-bit by making the SDL_Texture SDL_TEXTUREACCESS_STATIC, saving some RAM without any loss of functionality.
git-svn-id: https://svn.eduke32.com/eduke32@4341 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 08:02:13 +00:00
terminx 2aa167af01 Fix texcache
git-svn-id: https://svn.eduke32.com/eduke32@4340 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 01:27:03 +00:00
terminx ea602827cd Indicate MSVC in build string
git-svn-id: https://svn.eduke32.com/eduke32@4339 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-22 01:26:34 +00:00
helixhorned 2afb680d22 engine.c: always setup blending table whenever drawing translucent objects.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4338 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-19 19:47:28 +00:00
helixhorned caed55e9a4 Lunatic: engine.setupDebugBasePal(), auto-detect 2nd+ shadexfog.translate().
engine.setupDebugBasePal() set up the water base palette such each of the first
15 "ramps" of 16 consecutive colors has a single, "representative" color. For
example, color indices 0-15 and black, 16-31 are dark gray.
In shadexfog.lua, list remappings from LOOKUP.DAT that are expressible as
remappings of 16-tuples.

git-svn-id: https://svn.eduke32.com/eduke32@4337 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-19 19:47:25 +00:00
helixhorned b79fa42903 Lunatic: add engine.saveLookupDat() and document, related tweaks.
- Mapster32: before loading LOOKUP.DAT, set palookup[0][239]=239 to
  make an identity map of the base shade table's shade 0
- Rewrite color index remapping case of makepalookup() for clarity

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4336 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:16:06 +00:00
helixhorned df25e3cd7c In loadlookups(), look for gap of 4 consecutive unused pals for fog pals.
As opposed to the previous way, where the first fog pals was <numlookups>+1,
where <numlookups> is the first byte value of LOOKUP.DAT. This allows to
pack e.g. lookups [1 .. 25] and [30 .. <lastpal>] into LOOKUP.DAT and have fog
pals be generated at pals [26 .. 29] (i.e. the additional lookups don't
shift the fog pals, making user maps depending on these numbers not look as
intended.)

git-svn-id: https://svn.eduke32.com/eduke32@4335 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:16:05 +00:00
helixhorned 7e7507746d Factor out common parts of loading LOOKUP.DAT into engine.c:loadlookups().
Also, error if didn't read enough data and account for TITLE and REALMS
swap between basepal number and on-disk order (sigh).

git-svn-id: https://svn.eduke32.com/eduke32@4334 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:16:03 +00:00
helixhorned 37ffae149e Lunatic: rewrite shadexfog.create_128_trans to allow creating fewer tables.
It must be a power of two in [2 .. 128]. Rewrite test/sprite_access.con's
liztroop example to account for that.
Also, add function shadexfog.create_trans() which aceepts a function
(r,g,b,R,G,B) -> blended (r,g,b) and rewrite shadexfog.create_additive_trans()
in terms of it.

git-svn-id: https://svn.eduke32.com/eduke32@4333 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:16:01 +00:00
helixhorned e68d5a14b3 Lunatic: in shade table 'remap16' method, allow sparse table, document it.
Add shadexfog.createremap() convenience function.

git-svn-id: https://svn.eduke32.com/eduke32@4332 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-16 19:15:59 +00:00
helixhorned 00a6a058ef Lunatic: in engine.savePaletteDat(), open file in binary mode. BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4331 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-13 15:39:28 +00:00
helixhorned 15e141452e Lunatic: disallow saving map-text files in Mapster32 for now.
git-svn-id: https://svn.eduke32.com/eduke32@4329 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-12 21:03:06 +00:00
helixhorned 23ecf8cce0 Amend r4318: Lunatic doesn't need the safety check.
git-svn-id: https://svn.eduke32.com/eduke32@4328 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-12 21:02:59 +00:00
terminx faa8133cda Support "r_windowpositioning" in SDL builds.
git-svn-id: https://svn.eduke32.com/eduke32@4327 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-11 17:55:45 +00:00
hendricks266 70caa24f24 MSVC: Set up support for SDL2. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4326 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-11 07:39:09 +00:00
terminx 497dc1fc7f Fix 64-bit MSVC builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4325 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-11 07:17:45 +00:00
hendricks266 990c99acc2 Fix 32-bit MSVC builds. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4324 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-11 06:14:03 +00:00
hendricks266 c2cb6a9754 Networking updates.
- Added preprocessor value NETVERSION, to be incremented in the source whenever changes are made to the network protocol.
- Implemented proper server-side version verification of all clients upon connection.
- Implemented connection refusal when we reach MAXPLAYERS. (Should be expanded to implement server player caps.)
- Protected against OOB array accesses if an invalid player id is received.
- Renamed all "Recieve" to "Receive".

git-svn-id: https://svn.eduke32.com/eduke32@4322 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 11:00:25 +00:00
hendricks266 3b5dea7347 Fix warnings when building in C++11 mode, i.e. with CPLUSPLUS=1 CUSTOMOPT="--std=gnu++11".
git-svn-id: https://svn.eduke32.com/eduke32@4321 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 11:00:07 +00:00
hendricks266 8f9ffcf23f MSVC: Add support for x64 building and all synthesis libs (libpng/zlib, libvpx, libFLAC).
External ogg/vorbis are no longer required.

git-svn-id: https://svn.eduke32.com/eduke32@4320 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:59:42 +00:00
hendricks266 fd3712ab22 Windows: Full library refresh.
git-svn-id: https://svn.eduke32.com/eduke32@4319 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:58:38 +00:00
hendricks266 8146f6014c Don't crash if for some reason your CONs don't define actors like SHOTSPARK1, which has its strength value used in hardcoded behavior.
git-svn-id: https://svn.eduke32.com/eduke32@4318 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:56:27 +00:00
hendricks266 5d92bef194 Very minor changes after an investigation into the possibility of Polymost on Wii.
git-svn-id: https://svn.eduke32.com/eduke32@4317 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:56:14 +00:00
hendricks266 7deb709ab6 Replace QuickLZ with LZ4.
git-svn-id: https://svn.eduke32.com/eduke32@4316 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:55:49 +00:00
hendricks266 8db0c9c729 Fix errors and warnings with LLVM/clang 3.4 Windows.
git-svn-id: https://svn.eduke32.com/eduke32@4315 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:55:13 +00:00
hendricks266 854c266cf7 Update commented SDL2 key debug log output.
git-svn-id: https://svn.eduke32.com/eduke32@4314 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-10 10:54:50 +00:00
helixhorned 0aa7b11dca C-CON: add *actor[].blend as an alias to .detail, *tspr[].tsprblend analogously.
See lunatic/test/sprite_access.con for a LIZTROOP that periodically smoothly
alpha-fades in and out. (Assuming that the 128 alpha blending tables from
shadexfog.create_128_trans(1) are installed.)

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4313 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-09 19:22:36 +00:00
helixhorned 846fcdf31c Extend PALETTE.DAT format to allow carrying additional blending tables.
Lunatic: also, add an additional argument 'moreblends' to
engine.savePaletteDat() and document that function.
See test/shadexfog.lua for a "user-friendly" wrapper shadexfog.save() which
prints success or errors.

git-svn-id: https://svn.eduke32.com/eduke32@4312 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-09 19:22:35 +00:00
helixhorned 075d817ed7 Lunatic: move code in test/shadexfog.lua to engine.savePaletteDat() and complete it.
The function now writes out a full PALETTE.DAT: base balette, shade table and
translucency table.

git-svn-id: https://svn.eduke32.com/eduke32@4311 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-09 19:22:33 +00:00
terminx 83d23092cd Fix building on MinGW (MinGW-w64 was OK). DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4310 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 21:25:29 +00:00
helixhorned eec27960ea Lunatic: update dynsymlists. Move blendtable[] from build.h to engine.c.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4309 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:59 +00:00
helixhorned a9fb9e6356 Lunatic: add a 'lastokcol' argument to engine.nearcolor() and document it.
On the C side, slightly rewrite (now) getclosestcol_lim() for clarity.

git-svn-id: https://svn.eduke32.com/eduke32@4308 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:58 +00:00
helixhorned 5726a15bb3 Lunatic: document engine.*blendtab() and engine.getrgb() functions.
git-svn-id: https://svn.eduke32.com/eduke32@4307 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:57 +00:00
helixhorned 0637c2b6a8 M32script: remove sprite members 'detail' and 'filler', add 'blend', make r/w.
git-svn-id: https://svn.eduke32.com/eduke32@4306 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:56 +00:00
helixhorned ad8d6795e2 In the C code, rename sprite[].filler to 'blend'.
Also, fix a missed .filler -> g_ambiencePlaying[] rewrite in the editor.
In C-CON, 'detail' is kept as alias to C-side (former) .filler / now .blend,
but that name is *deprecated*.

git-svn-id: https://svn.eduke32.com/eduke32@4305 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:55 +00:00
helixhorned b1b0da2852 Polymer: factor out polymer_invalidateartmap(), use it in invalidatetile().
This fixes updating the viewscreen in Polymer's ART mapping mode.

git-svn-id: https://svn.eduke32.com/eduke32@4304 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:53 +00:00
helixhorned e379cd3655 Polymer: factor out polymer_invalidatesprite(), use when viewscreen tex changed.
Also, rewrite invalidatetile() for clarity.

git-svn-id: https://svn.eduke32.com/eduke32@4303 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:52 +00:00
helixhorned a37c31cab7 Lunatic: rename sprite[].filler member to 'blend' on the Lua side.
From LunaCON, remove 'detail' as alias to that member.

git-svn-id: https://svn.eduke32.com/eduke32@4302 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:51 +00:00
helixhorned 330b744a1b Classic: support for multiple blending tables + Lunatic interfaces.
Currently, sprite[].filler (to be renamed) selects a blending table. If none
is installed with that index, the blending table at index 0 is taken (which is
read from PALETTE.DAT on engine startup). Thus, for now, the non-Lunatic build
will never use a custom blending table because there's no way to register one!
But the functionality is there.

git-svn-id: https://svn.eduke32.com/eduke32@4301 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:49 +00:00
helixhorned 54c74ca78e astub.c: in M32_MoveFX, use separate bit array to store "sound is playing".
Instead of sprite[].filler.

git-svn-id: https://svn.eduke32.com/eduke32@4300 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:48 +00:00
helixhorned bd34885653 LunaCON: add and document -Wnever-used-gamevar and -Wnever-read-gamevar.
git-svn-id: https://svn.eduke32.com/eduke32@4299 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:47 +00:00
helixhorned 0d0f3a1cd2 Add Makefile.common switch ALLOCACHE_AS_MALLOC, remove DEBUG_WITH_VALGRIND.
git-svn-id: https://svn.eduke32.com/eduke32@4298 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-08 14:37:41 +00:00
terminx f0da70b4c1 Fix yellow keycards
git-svn-id: https://svn.eduke32.com/eduke32@4297 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 22:18:35 +00:00
terminx 482b36521d Fix a missing reference to WEAPON_POS_LOWER
git-svn-id: https://svn.eduke32.com/eduke32@4296 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 22:18:21 +00:00
helixhorned 2b583e9c9e gloadtex() cleanup, make some vars in kplib.c static, add source/valgrind_errors.log.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4295 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 15:56:13 +00:00
helixhorned 41cee5ed69 sounds.c: exit S_PlayMusic() early if length of file is <4 bytes, clean up mem mgmt.
git-svn-id: https://svn.eduke32.com/eduke32@4294 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 15:56:11 +00:00
helixhorned c85feff063 engine.c: amend r4292, which introduced an even worse oob for NPOT xsize texs.
git-svn-id: https://svn.eduke32.com/eduke32@4293 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 15:56:09 +00:00
helixhorned 546a112741 engine.c: in calc_bufplc(), cope with negative lwall[] values.
This should fix the crash encountered here:
http://forums.duke4.net/topic/1348-mapster32-problems-and-bugs/page__view__findpost__p__184069

a-c.c also gets a new switch macro, DEBUG_WITH_VALGRIND.

git-svn-id: https://svn.eduke32.com/eduke32@4292 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 10:50:44 +00:00
helixhorned 21a8788b6b LunaCON: implement 'precache'.
git-svn-id: https://svn.eduke32.com/eduke32@4291 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-02 10:50:40 +00:00
helixhorned 6d8ea48257 LunaCON: add option -ferror-nonlocal-userdef, on by default.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4290 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-01 16:19:59 +00:00
helixhorned f04ec9e117 sounds.c: do S_MusicVolume() in S_SoundStartup().
This fixes this initialization issue:
http://forums.duke4.net/topic/7144-midi-volume-weirdness/

git-svn-id: https://svn.eduke32.com/eduke32@4289 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-01 16:19:58 +00:00
helixhorned f7035da876 Some functionality-conserving cleanup of jaudiolib code.
git-svn-id: https://svn.eduke32.com/eduke32@4288 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-01 16:19:57 +00:00
helixhorned 7c26c180cd LunaCON: accept empty square brackets for {g,s}etuserdef optional index part.
git-svn-id: https://svn.eduke32.com/eduke32@4287 1a8010ca-5511-0410-912e-c29ae57300e0
2014-02-01 16:19:55 +00:00
helixhorned 842cce37b7 Lunatic: Fix compilation of C++ build, but not starting up yet.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4286 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:13:03 +00:00
helixhorned 60612d07f0 LunaCON: error on userdefs accesses with non-local current player.
Add lunatic/test/getuserdef.con.

git-svn-id: https://svn.eduke32.com/eduke32@4285 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:13:01 +00:00
helixhorned 6d4f56c643 Get rid of neartag* global variables. LunaCON: fix 'operate'.
git-svn-id: https://svn.eduke32.com/eduke32@4284 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:13:00 +00:00
helixhorned aa547e8c16 sector.c: factor out goto soup in P_CheckSectors() into function.
git-svn-id: https://svn.eduke32.com/eduke32@4283 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:12:59 +00:00
helixhorned 6de687ba86 sector.c: cleanup round 3, P_ActivateSwitch() refactoring.
git-svn-id: https://svn.eduke32.com/eduke32@4282 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:12:58 +00:00
helixhorned ab5c89430c sector.c and related cleanup, round 2.
- use SPRITES_OF* iterator macros
- new function: E_SpriteIsValid(); add some safety checks
  (e.g. hitag used as sprite index)
- the rest is mostly "the usual code transformations"

git-svn-id: https://svn.eduke32.com/eduke32@4281 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:12:56 +00:00
helixhorned 8fbefe829a sector.c: cleanup round 1, trivial changes.
git-svn-id: https://svn.eduke32.com/eduke32@4280 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-31 21:12:55 +00:00
helixhorned bebdc6ff4f Follow-up to RTS cleanup: factor out 2x almost-same code into G_StartRTS().
git-svn-id: https://svn.eduke32.com/eduke32@4279 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-30 19:12:10 +00:00
helixhorned da6c7109c1 Reincarnate RTS sound functionality together with cleaning up related code.
- Make Win+F* also make play and RTS sound, since modern OS's window managers
  like to eat Alt-F*. (Some Win+F* may be inaccessible too, but together all
  10 should hopefully be covered.)
- Fix an issue where keys other than F1-F10 were considered as starting an RTS
  sound and crashing EDuke32 in the process

git-svn-id: https://svn.eduke32.com/eduke32@4278 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-30 19:12:08 +00:00
helixhorned 39bd7110d6 Fix USE_OPENGL=0 build... again. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4277 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-30 16:13:53 +00:00
helixhorned 1b3046d1c8 Fix respawn operation with monsters off, rewriting G_OperateRespawns().
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4276 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-29 18:32:51 +00:00
helixhorned 63e0de5e3d TROR: when clearing bunch number of c/f with yax_setbunch(), don't reset xpanning.
In the non-Lunatic build naturally, since the Lunatic one uses its own member.

git-svn-id: https://svn.eduke32.com/eduke32@4275 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-28 19:03:47 +00:00
hendricks266 62abd504ef Print "32-bit"/"64-bit" along with the version number in the log.
git-svn-id: https://svn.eduke32.com/eduke32@4274 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:31:39 +00:00
hendricks266 3e6fc00474 Remove "-fpermissive" from C++ builds because we don't need it.
git-svn-id: https://svn.eduke32.com/eduke32@4273 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:31:20 +00:00
hendricks266 27dbb4d2e8 MapArt: gltexinvalidatetype(INVALIDATE_ART) so that loading or unloading an ART set will take effect when using the OpenGL renderers.
git-svn-id: https://svn.eduke32.com/eduke32@4272 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:31:08 +00:00
hendricks266 0bf2ae9bab SDL2: Don't use SDL_Renderer if it is a software fallback, because that would only waste memory and speed.
git-svn-id: https://svn.eduke32.com/eduke32@4271 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:30:54 +00:00
hendricks266 9f42ffc1ef SDL2: Eliminate a memory leak when changing resolutions with SDL_Renderer 8-bit mode.
git-svn-id: https://svn.eduke32.com/eduke32@4270 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:30:39 +00:00
hendricks266 31a8bfebb6 SDL: Fix "the issue where if you hold down a key and enter the console then release it that the key remains held down until you hit it again outside the console".
git-svn-id: https://svn.eduke32.com/eduke32@4269 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:30:25 +00:00
hendricks266 b2a3aec334 audiolib: Introduce support for PlayStation CD-XA audio, a simple ADPCM format.
It's functional, but due to the odd 37.8 KHz nature of the format, I will need to add a resampler to the audiolib to prevent the aliasing artifacts that occur at present. I also hear clicks/pops every so often, but I do not know if a resampler would fix these as well or if they are a separate problem.

Note that you cannot directly use the four XA files on the Total Meltdown disc because they each contain eight songs. They would need to be split using a utility I wrote that is outside the scope of this SVN.

git-svn-id: https://svn.eduke32.com/eduke32@4268 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:30:00 +00:00
hendricks266 fedfcd81e3 MapArt: Fix a harmless C++ warning. (malloc casting, for those interested)
EDuke32 has me so accustomed to straight C... using a template and pass-by-reference makes my day.

git-svn-id: https://svn.eduke32.com/eduke32@4267 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-27 10:29:29 +00:00
helixhorned 3a85134e31 LunaCON: add codegen option -fbad-getactorvar-use-pli for C-CON compatibility.
Also, improve -Wnumber-conversion warning by printing the resulting number.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4266 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-24 21:39:04 +00:00
helixhorned 8b7cb9e6c9 Mapster32: make wall texture alignment [.]/[,] work with bottom-swapped walls.
In simple cases, it should be added. Combinations of alignment across TROR
boundaries and bottom-swapping will probably not work right.

git-svn-id: https://svn.eduke32.com/eduke32@4265 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-24 21:39:03 +00:00
helixhorned ae299b0e59 Improve determination of when a sprite should be drawn before a masked wall.
Concretely, in the "behind, outside" case, draw the sprite early if any of its
2 or 4 corner points are behind the masked wall, and inside the cone or on the
other outside.

git-svn-id: https://svn.eduke32.com/eduke32@4264 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-24 21:39:02 +00:00
helixhorned 0ab2814f2e jaudiolib: don't attempt audio format auto-detection for less than 12 bytes.
git-svn-id: https://svn.eduke32.com/eduke32@4263 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-24 21:38:59 +00:00
helixhorned b6e9c0b409 Lunatic: document engine.*shadetab() functions. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4262 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-19 20:17:25 +00:00
helixhorned 7ca71203f0 Classic: in debugging builds, add cvar debug_maskdrawmode.
git-svn-id: https://svn.eduke32.com/eduke32@4261 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-19 20:17:14 +00:00
helixhorned 14db86ebb5 Lunatic: make gv.current{Level,Episode} one-based and document them.
Also, in LunaCON, make player .palette member read-only. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4260 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-15 20:29:10 +00:00
helixhorned b79ee42553 Per-map ART tiles: don't back up or restore reserved tiles.
This prevents a crash and maybe other badnesses when e.g. loading a map
with ART tiles, doing something that allocates a reserved tile (such as
looking into a viewscreen), then loading another map where the tilesiz*
of TILE_VIEWSCR is restored to 0.

git-svn-id: https://svn.eduke32.com/eduke32@4259 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-15 20:29:09 +00:00
helixhorned 63464e3693 ivfrate: fix one error message, make -h/--help display usage.
Actually, right now, any first arg starting with '-' will show the usage.

git-svn-id: https://svn.eduke32.com/eduke32@4258 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-15 20:29:06 +00:00
helixhorned 4881a13f99 Engine-side per-map ART file support.
When a map named <filename>.map is loaded (<filename> may also contain directory
separators), the engine checks for existence of <filename>_XX.art in the virtual
file system, where XX is a 0-padded number from 00 to 19. It loads a consecutive
sequence of these ART files, i.e. aborts whenever a number in the sequence isn't
found (in contrast to normal ART loading).

Restrictions:
 - the per-map ART files must not reside in ZIP files
 - if a tile number is attempted to be overridden that has a dummytile or is
   cache1d-locked, per-map ART loading fails
On failure, the map is still loaded, but a diagnostic message is output to the
log/OSD.

Loaded per-map ART data are cleared whenever the map is "left". In particular:
 - whenever another map is loaded
 - in the editor: when a new map is started
 - in the game: after the bonus ending screen of a finished level, after going
   to the title screen via the menu

A final note: file names are supposed to be looked up and compared
case-sensitively. That is, <filename> must match EXACTLY between the map's and
per-map ART one; 'art' must be lowercase. Otherwise, the cookie monster will
come and eat you!

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4257 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:54:36 +00:00
helixhorned 8d47e476c7 LunaCON: for readgamevar, if ud.config.scripthandle < 0, keep value, don't err.
git-svn-id: https://svn.eduke32.com/eduke32@4256 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:54:34 +00:00
helixhorned 3b1515e51b Stylistic/formatting tweaks in cache1d code.
git-svn-id: https://svn.eduke32.com/eduke32@4255 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:54:33 +00:00
hendricks266 d452fd7891 Fix the startup window freeze under SDL2+Windows when a Yes/No box was supposed to be displayed.
git-svn-id: https://svn.eduke32.com/eduke32@4254 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:06:15 +00:00
hendricks266 3e0ad77b5e SDL2: Reintroduce SDL_Renderer for the classic renderer so that the Steam Overlay can function with it.
git-svn-id: https://svn.eduke32.com/eduke32@4253 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:05:56 +00:00
hendricks266 f046a405e6 Fix a case where the bonus screen would immediately end with an input press because all code between iterations of the bonus screen would execute in less than 1/120th of a second, not leaving any time for totalclock to increment.
EDuke32. Where our code runs so fast, it breaks old code.

git-svn-id: https://svn.eduke32.com/eduke32@4252 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:05:39 +00:00
hendricks266 cf16225f5e Fix the display of the multiplayer results screen.
git-svn-id: https://svn.eduke32.com/eduke32@4251 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:05:23 +00:00
hendricks266 e263d0ada9 Run Net_SendClientInfo() after game state creation to properly set up the player's user_name.
git-svn-id: https://svn.eduke32.com/eduke32@4250 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:05:07 +00:00
hendricks266 3ed90ca4f2 Block off hacks for the primitive splitscreen CON mod with SPLITSCREEN_MOD_HACKS so they are no longer compiled.
These hacks could no longer be allowed to co-opt the fake multiplayer mode, used for local testing and mod development.

I have half a mind to remove the hacks outright because they could be likened to drilling bolts directly into your car engine just so you could mount a bowling ball as a hood ornament. However, I don't want to take away the splitscreen hack mod from anyone who uses it, and the work done on these hacks should be useful if proper splitscreen were implemented internally using per-player input and multiple renderer/audio passes.

git-svn-id: https://svn.eduke32.com/eduke32@4249 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:04:51 +00:00
hendricks266 db2f532eca Novelty: Add Ken's "todo list from the Build days" alongside his other documentation.
git-svn-id: https://svn.eduke32.com/eduke32@4248 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:04:19 +00:00
hendricks266 3b1b5bb41d For DISABLEINLINING=1, apply __fastcall to make up for the lack of inlining.
git-svn-id: https://svn.eduke32.com/eduke32@4247 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:04:02 +00:00
hendricks266 90f4e7d7c8 Always run tsprites with statnum TSPR_TEMP though EVENT_ANIMATESPRITES, such as the "show opponent's weapon" in multiplayer.
git-svn-id: https://svn.eduke32.com/eduke32@4246 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:03:37 +00:00
hendricks266 9a87e25d61 SDK/Samples: Add "startpos.m32", a helper script for spawn points.
You can:
-Cycle your position through all DM or coop spawn points.
-Jump to the primary spawn point.
-Dump full spawn point information to the log file.

git-svn-id: https://svn.eduke32.com/eduke32@4245 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:03:21 +00:00
hendricks266 8fa00afb7c Mapster32: Add EVENT_LOADMAP, EVENT_SAVEMAP, EVENT_PRELOADMAP, and EVENT_PRESAVEMAP.
Some are more useful than others.

git-svn-id: https://svn.eduke32.com/eduke32@4244 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:03:00 +00:00
hendricks266 1014af812f Allow the episode 4 cutscenes to be skipped in their entirety with one keypress, as in the original DOS game, instead of requiring input for each ANM file.
git-svn-id: https://svn.eduke32.com/eduke32@4243 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-12 14:02:30 +00:00
helixhorned 9e968b0093 Lunatic: remap16 method for engine.shadetab, 2nd attempt at recreating orig. one.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4242 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-05 14:06:14 +00:00
helixhorned ca955899b0 Fix USE_OPENGL=0 build. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4241 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-02 17:08:08 +00:00
helixhorned a9fb18b228 Lunatic: document fundamentals of shade tables, but not 'engine' API yet.
git-svn-id: https://svn.eduke32.com/eduke32@4239 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-02 00:08:39 +00:00
helixhorned e71df2b6e3 Lunatic/m32: make Mapster23 actually start stand-alone, oops.
git-svn-id: https://svn.eduke32.com/eduke32@4238 1a8010ca-5511-0410-912e-c29ae57300e0
2014-01-02 00:08:36 +00:00
helixhorned 49de6d79b3 Lunatic/m32: include the Lua bytecode into the binary, exit if setup failed.
git-svn-id: https://svn.eduke32.com/eduke32@4237 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:52:01 +00:00
helixhorned 13c125db02 Lunatic: add 'engine' module, currently allowing to create custom shade tables.
Available in the game and editor. Provide test/shadexfog.lua, containing a
function to creating a set of 32 shade tables corresponding to different shades
of the same fog palookup table, together with some tests and convenience
functions.

Also,
- Add gv.LUNATIC_CLIENT{,_EDUKE32,_MAPSTER32}
- Add LUNATIC_FIRST_TIME in the global env for the game
- defs_m32.lua: add reload() convenience function
- Failed attempt at recreating the base shade table. It is NOT a linear ramp
  of the base palette colors to (0,0,0). That is, it's not created by
  build/util/transpal.exe!

git-svn-id: https://svn.eduke32.com/eduke32@4236 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:52:00 +00:00
helixhorned 75f5449e9a build.lua: add a flag toggling multiplication of the color components by 4.
git-svn-id: https://svn.eduke32.com/eduke32@4235 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:51:57 +00:00
helixhorned 2174b17901 Lunatic: fix setup under Mapster32, remove a few obsolete lines in defs_common.lua.
git-svn-id: https://svn.eduke32.com/eduke32@4234 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:51:55 +00:00
helixhorned 8a4c5259a8 In the no-netcode build, don't expose four internal engine functions.
Also don't compile three multiplayer related OSD commands there.

git-svn-id: https://svn.eduke32.com/eduke32@4233 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:51:54 +00:00
helixhorned 74f789d083 defs.c: in '2dcol' DEF token, clamp R, G, B values to [0 .. 63].
git-svn-id: https://svn.eduke32.com/eduke32@4232 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:51:52 +00:00
helixhorned 70d84cd75b Lunatic: run EVENT_INIT after initial Lua state creation.
git-svn-id: https://svn.eduke32.com/eduke32@4231 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-31 11:51:50 +00:00
helixhorned 148badc32a Lunatic: allow access to sprite[].yvel through set_yvel() member, document.
BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4230 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-28 17:04:39 +00:00
helixhorned 21d8e52f0a Remaining sanitizing of .yvel usage plus minor cleanup.
git-svn-id: https://svn.eduke32.com/eduke32@4229 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-28 17:04:36 +00:00
helixhorned 2dd9b7e495 Clean up legacy ROR code and introduce LEGACY_ROR define in game.h.
Also, bound-check two .yvel meant as sprite indices in actors.c.

git-svn-id: https://svn.eduke32.com/eduke32@4228 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-28 17:04:34 +00:00
helixhorned 9b045deb4b Make a couple of player functions take player indices instead of DukePlayer_t *.
git-svn-id: https://svn.eduke32.com/eduke32@4227 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-28 17:04:31 +00:00
helixhorned efdd31d5a9 Guard retrieval of player index (.yvel) from APLAYER sprite.
It is unacceptable that yvel is on one hand modifiable without restriction from
scripting, but can be used as an array index without prior bound check in the C
code. Because that member has an overloaded meaning and is also used for
innocuous purposes such as the green color intensity of an SE light, it's
infeasible to restrict access from scripting. Consequently, we must add bound
checks on the C side. This is the first part of the effort to make .yvel safe,
adding two functions P_Get() and P_GetP(). There are a couple of other uses as
some kind of index.

git-svn-id: https://svn.eduke32.com/eduke32@4226 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-28 17:04:27 +00:00
helixhorned 8a2d786e23 Reserve 16 tiles from the end of MAXTILES, don't allow as user tiles from ART/DEF.
git-svn-id: https://svn.eduke32.com/eduke32@4225 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-28 17:04:22 +00:00
helixhorned 2442b107f7 Lunatic: add example toggling forcefield wall to test.lua.
git-svn-id: https://svn.eduke32.com/eduke32@4224 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-28 17:04:18 +00:00
helixhorned aa37d8c82f engine.c: clean up code related to ART loading. BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4223 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:17 +00:00
helixhorned 35b848e81f Don't consider W_FORCEFIELD+2 (surgery instruments) a forcefield picnum.
git-svn-id: https://svn.eduke32.com/eduke32@4222 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:15 +00:00
helixhorned 46ec5c4146 Clean up code related to forcefield player damage etc.
git-svn-id: https://svn.eduke32.com/eduke32@4221 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:14 +00:00
helixhorned d26ae58627 Rename 'camsprite' to 'g_curViewscreen', other related cleanup.
git-svn-id: https://svn.eduke32.com/eduke32@4220 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:12 +00:00
helixhorned d3665719d9 Add helper utility lunatic/util/cmpart.lua.
git-svn-id: https://svn.eduke32.com/eduke32@4219 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:09 +00:00
helixhorned 2900144e22 Lunatic: swap con.insetsprite's 4th and 5th positional arguments.
git-svn-id: https://svn.eduke32.com/eduke32@4218 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:06 +00:00
helixhorned 3cef7cccc0 Lunatic: expose player[].gotweapon, document it and *_weapon() methods.
git-svn-id: https://svn.eduke32.com/eduke32@4217 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:03 +00:00
helixhorned 380aa880dc Consolidate P_AddWeaponNoSwitch into an additional P_AddWeapon argument.
git-svn-id: https://svn.eduke32.com/eduke32@4216 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:45:00 +00:00
helixhorned c45ca57eb0 Minor stylistic tweaks of code related to weapon switching.
git-svn-id: https://svn.eduke32.com/eduke32@4215 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-26 19:44:56 +00:00
helixhorned 030f72d551 premap.c: stylistic cleanup in map loading code.
git-svn-id: https://svn.eduke32.com/eduke32@4214 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-24 09:44:25 +00:00
helixhorned 8dcee7c8dc Factor some code in config.c into OSD_WriteAliases(), move symbol_t to osd.c.
git-svn-id: https://svn.eduke32.com/eduke32@4213 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-24 09:44:24 +00:00
helixhorned 4739d3c00e Don't autoexec <mapname>.cfg files for clipshape maps.
git-svn-id: https://svn.eduke32.com/eduke32@4212 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-24 09:44:23 +00:00
helixhorned cc09a0ac92 Lunatic: don't allow starting demo recording, since gamevar diffing is NYI.
git-svn-id: https://svn.eduke32.com/eduke32@4211 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-24 09:44:21 +00:00
helixhorned a2d0008e32 osd.c: patch up a possible oob access of osdtext[].
git-svn-id: https://svn.eduke32.com/eduke32@4210 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-24 09:44:20 +00:00
helixhorned a4510e35a1 Lunatic: error on invalid static data read like 'sprite.picnum'.
git-svn-id: https://svn.eduke32.com/eduke32@4209 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-24 09:44:19 +00:00
helixhorned 02e0929ca7 Pass RETURN to EVENT_DAMAGEHPLANE in the 'dist' arg to allow chained callbacks.
git-svn-id: https://svn.eduke32.com/eduke32@4208 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-24 09:44:14 +00:00
helixhorned fa6746867c Lunatic: add ceiling-or-floor method set_picnum(). BUILD_LUNATIC.
git-svn-id: https://svn.eduke32.com/eduke32@4207 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:35 +00:00
helixhorned 0c69779b98 Scripting: Add EVENT_DAMAGEHPLANE and document it in Lunatic doc Appendix B.
Also add test/damagehplane.lua with these demonstrations:
 - custom breakable ceilings
 - breakable TROR glass

git-svn-id: https://svn.eduke32.com/eduke32@4206 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:33 +00:00
helixhorned f10e1b1a16 Generalize Sect_DamageCeiling to Sect_DamageCeilingOrFloor, use appropriately.
- in the function itself: for floor, currently, do nothing (but this commit
  is in preparation of the next one, again)
- In Proj_MaybeDamageCF(), Proj_MaybeDamageCF2() and the A_RadiusDamage() use
  if the function, generalize to floors, but with the special case that
  parallaxed floors keep blocking projectiles, as before (in constrast to
  parallaxed ceilings). However, Sect_DamageCeilingOrFloor() is only
  called for non-parallaxed ceilings *and* floors.

git-svn-id: https://svn.eduke32.com/eduke32@4205 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:29 +00:00
helixhorned 99894812d8 Minor no-functionality-changing tweaks.
- factor out: G_WallSpriteDist()
- factor out: Proj_MaybeDamageCF() and Proj_MaybeDamageCF2()
  in preparation for the next commit
- Make PROJ_DECAYVELOCITY macro take an arg for readability's sake

git-svn-id: https://svn.eduke32.com/eduke32@4204 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:26 +00:00
helixhorned 0f6e22e20e sector.c: in ST9 handling code, prevent oob for improperly constructed doors.
git-svn-id: https://svn.eduke32.com/eduke32@4203 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:24 +00:00
helixhorned dd52afbf1b Lunatic: fix a couple of spelling mistakes in the doc, found using Emacs ispell.
git-svn-id: https://svn.eduke32.com/eduke32@4202 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:22 +00:00
helixhorned 25108494d1 Lunatic: expose "con.shoot(tilenum, i [, zvel])". Document and add example.
git-svn-id: https://svn.eduke32.com/eduke32@4201 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 18:31:20 +00:00
hendricks266 cfedcbd7d7 Rewrite and unify the handling of the scrollwheel between layers, fixing it in the editor's 2D mode and tile selector under SDL.
The scrollwheel is unique among PC input because it has no innate "hold length". Previously, the layers gave the mousewheel a fake hold length to allow the not-necessarily-synchronous game/editor code to pick up the input before the layers marked it as "no longer pressed". This passed under Windows, but it didn't slide under SDL.

Besides the two problems listed above, it also potentially limited the rate of weapon selection, where scrolling too fast would not register every clicks. [Unrelatedly, this is still the case when you scroll faster than the game's own tickrate, but addressing that would require rewriting input handling to go through a list of "events" for each tic instead of looking at overall pressed/unpressed states.]

git-svn-id: https://svn.eduke32.com/eduke32@4200 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-20 07:24:09 +00:00
helixhorned ee9e84c356 Various stylistic cleanup.
- Move ARRAY_SIZE() macro to compat.h, add another one ARRAY_SSIZE()
- In A_RadiusDamage(): note maybe-unaligned access issue, prevent unlikely oob
- sector.c: use SPRITES_OF* macros where appropriate

git-svn-id: https://svn.eduke32.com/eduke32@4199 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-12 19:22:16 +00:00
helixhorned 9e4f10f3e1 Lunatic: add "for s, what in sectorsofbunch(bunchnum, gv.BOTH_CF)" iterator.
git-svn-id: https://svn.eduke32.com/eduke32@4198 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-12 19:22:14 +00:00
helixhorned 6c00f0e822 a.m32: don't clamp SE50 extra (=horiz) to [-500 500] with KP8/KP5.
git-svn-id: https://svn.eduke32.com/eduke32@4197 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-12 19:22:11 +00:00
helixhorned c323fac09d m32script: fix parsing negated labels, getnumber* with neg. 'max'.
Exposed by this snippet from a.m32:
    getnumber256 .owner "OWNER (projection picnum): " -MAXTILES
Now, Alt+KP2 works as expected in 3D mode.

git-svn-id: https://svn.eduke32.com/eduke32@4196 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-11 21:23:47 +00:00
helixhorned 44351528db LunaCON: statically check some member assignments with literal numbers.
And issue warnings whenever the assignment would fail (error) at game time.

git-svn-id: https://svn.eduke32.com/eduke32@4195 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-11 21:23:42 +00:00
helixhorned a7ed1a6fe9 Makefile: add target 'print-compiler-options'.
May come in handy at times. BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4194 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-06 18:56:46 +00:00
helixhorned 1628debd7c Really fix the Pause key on Windows/SDL2.
This requires enabling the same workaround as for Linux. Maybe it's not
system-dependent at all.

git-svn-id: https://svn.eduke32.com/eduke32@4193 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-06 18:56:44 +00:00
helixhorned 19da43d23b Polymer: invalidate a wall when its sector's visibility has changed.
git-svn-id: https://svn.eduke32.com/eduke32@4192 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-06 18:56:42 +00:00
helixhorned a5f0610b38 Do not consider system gamearrays for updating from demos.
This generally fixes demo playback. Before, tilesizx[]/tilesizy[] were written
into twice as many bytes as needed. Now, don't do that at all.

git-svn-id: https://svn.eduke32.com/eduke32@4191 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-06 18:56:39 +00:00
helixhorned 9a397a01c1 Fix mouse buttons 4 and 5 on SDL2/Windows.
git-svn-id: https://svn.eduke32.com/eduke32@4190 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-01 18:28:03 +00:00
helixhorned 1542596290 Lunatic: in fs.listpath() use FIND_NOCURDIR. Also document that function.
git-svn-id: https://svn.eduke32.com/eduke32@4189 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-01 18:28:02 +00:00
helixhorned 2a43511c70 cache1d: add FIND_NOCURDIR option to klistpath().
git-svn-id: https://svn.eduke32.com/eduke32@4188 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-01 18:27:59 +00:00
helixhorned a783933726 Fix building stand-alone libcache1d.so.
git-svn-id: https://svn.eduke32.com/eduke32@4187 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-01 18:27:57 +00:00
helixhorned 4d8071e6b3 defs.c: in check_tile(), pass 'tile' by value.
git-svn-id: https://svn.eduke32.com/eduke32@4186 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-01 18:27:55 +00:00
helixhorned 67c1157b64 Guard a sprite/actor access with sector[].hitag as index from OOB.
Unlikely but possible for rogue CON code.

git-svn-id: https://svn.eduke32.com/eduke32@4185 1a8010ca-5511-0410-912e-c29ae57300e0
2013-12-01 18:27:52 +00:00
helixhorned ce68b4ab0f Lunatic: document a couple of player members, especially some 'bool' ones.
Important because in Lua, a value of zero yields true in a boolean context.

BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4184 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:18:11 +00:00
helixhorned 9688dccfff multivoc.c: use a local variable instead of a file-scope one used locally.
git-svn-id: https://svn.eduke32.com/eduke32@4183 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:18:09 +00:00
helixhorned a68ef20182 a-c.c: Make vector extensions also be compiled with Clang.
I was checking for GCC >= 4.7, while Clangs pretends to be GCC 4.2. Use a
feature test macro instead. The comment I made in r4161 regarding GCC vs.
Clang code was wrong. Now, Clang generates slightly faster code for these cases
(solid and masked 4-pixel wide vlines).

git-svn-id: https://svn.eduke32.com/eduke32@4182 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:18:07 +00:00
helixhorned 7350e1cfa0 In P_HandleSharedKeys(), clean up weapon index bound checking.
In particular, (int32_t)j != -1 is replaced by (uint32_t)j < MAX_WEAPONS
to prevent a value >= MAX_WEAPONS to be assigned to p->wantweaponfire (it's
used as a weapon index in P_CheckWeapon().

git-svn-id: https://svn.eduke32.com/eduke32@4181 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:18:05 +00:00
helixhorned 8ab35ec520 Don't assign result of A_PlaySound() to p->scream_voice if the former is >127.
Because p->scream_voice is an int8_t.
This is an unlikely situation (126 voices ought to be playing simultaneously
while starting the "scream" sound), but still...

git-svn-id: https://svn.eduke32.com/eduke32@4180 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:18:04 +00:00
helixhorned b6efd5e57e LunaCON: disable some player members, tweak decls of others.
The ones disabled are because they were found to not be used in any mod I
tested. Exposing members directly is rarely good API.

- bool toggle_key_flag -> const uint8_t ... (because value 2 is used)
- make scream_voice, cheat_phase read-only

git-svn-id: https://svn.eduke32.com/eduke32@4179 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:18:02 +00:00
helixhorned f26663a9dc Lunatic: slightly tweak the event/actor times printout when exiting.
git-svn-id: https://svn.eduke32.com/eduke32@4178 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:18:00 +00:00
helixhorned cc1574464b LunaCON: fix assignment to projectile sound/bsound/isound.
git-svn-id: https://svn.eduke32.com/eduke32@4177 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-28 21:17:56 +00:00
helixhorned 82e50a14c7 In fullscreen_tint_gl() disable GL_FOG, preventing nasty flickering.
Which was especially noticeable in the Lunatic build. Also, use
glPushAttrib/glPopAttrib there.

git-svn-id: https://svn.eduke32.com/eduke32@4176 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-22 19:26:54 +00:00
helixhorned 198ba2d697 Give rotatesprite 'orientation' bits enum names, too.
git-svn-id: https://svn.eduke32.com/eduke32@4175 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-22 19:26:52 +00:00
helixhorned 9aa8bc7c82 Use named enum constants for the HUD flags instead of literal numbers.
git-svn-id: https://svn.eduke32.com/eduke32@4174 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-22 19:26:50 +00:00
helixhorned 9209b946bb Polymodes: bump the allowed range for 'r_pr_hudangadd' to [-1024 .. 1024].
git-svn-id: https://svn.eduke32.com/eduke32@4173 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-22 19:26:48 +00:00
helixhorned 9e3e2baa4d Polymost: handle HUD model 'fov' DEF token.
This "simply" requires an appropriate factor in the projection matrix.
Also, get rid of a special-case factor for >=1.6 aspects (making HUD models
wider then, I think).

git-svn-id: https://svn.eduke32.com/eduke32@4172 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-22 19:26:46 +00:00
helixhorned 7182f0a7f2 A couple of trivial changes.
git-svn-id: https://svn.eduke32.com/eduke32@4171 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-22 19:26:44 +00:00
helixhorned fd978ced59 Classic: implement horiz. tex panning for sprites (spriteext[].xpanning).
Known as getactor/sprite[].xpanning from CON, values are 0-255. It should be
assumed that this is only valid for wall-aligned sprites (currently, face
sprites also pan).

A test is provided in lunatic/test/animatesprites.con. It should be run in E1L2
and only with the Lunatic build.

git-svn-id: https://svn.eduke32.com/eduke32@4170 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-22 19:26:21 +00:00
helixhorned bc54631888 a.m32: add [']+[F] menu function setting xvel=1 on all sel. wall/floor sprites.
For sanitizing underwater sections, see r4166.
Also, don't print "Menu function executed successfully" when the function
printed something itself.

git-svn-id: https://svn.eduke32.com/eduke32@4169 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-19 19:00:02 +00:00
helixhorned ffed49b395 Amend r4142: make e.g. 'include a' (names shorter 4 chars) append ".m32".
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4168 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-18 10:51:26 +00:00
helixhorned 2972155f14 sdlmusic.c: disable FORK_EXEC_MIDI.
Also, if it were to be reenabled again, use execv() instead of execvp(),
i.e. don't look up $PATH for the executable.

git-svn-id: https://svn.eduke32.com/eduke32@4167 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:23 +00:00
helixhorned 863aae3fb1 Game: make underwater blocking floor sprites w/ xvel 1 NOT act like sprite bridge.
Likewise for blocking wall sprites. This makes it possible to construct
underwater sections containing complex spritework without losing the
"underwater-ness" when over such sprites, in a backward-compatible way.
Actually, the check is for bit 1 being set, but all other bits should be
considered reserved.

git-svn-id: https://svn.eduke32.com/eduke32@4166 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:21 +00:00
helixhorned 9ceae0d892 lunatic/util/foreachmap.lua: don't expand .xxx after ']'.
Add an example searching for all maps containing blocking floor-aligned
sprites in underwater sectors.

git-svn-id: https://svn.eduke32.com/eduke32@4165 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:19 +00:00
helixhorned 85df1181fc Mapster32: show a message when setting the initial position with SCROLL LOCK.
git-svn-id: https://svn.eduke32.com/eduke32@4164 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:16 +00:00
helixhorned 5b53725c43 SDL2: fix Ctrl-F/Ctrl-G as "key FIFO" keys, used in Mapster32.
By detecting them in the SDL_KEYDOWN events. This list is getting a bit
ridiculous...

git-svn-id: https://svn.eduke32.com/eduke32@4163 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:15 +00:00
helixhorned 559c31159a a-c.c: use GCC vector extensions only on 64-bit targets.
Compiling a 32-bit NOASM build resulted in code containing a MOVAPS instruction
that accessed a memory location not aligned to 16 bytes (MinGW, GCC 4.8).

git-svn-id: https://svn.eduke32.com/eduke32@4162 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:12 +00:00
helixhorned 3753d45601 a-c.c: prevent stray lines on bottom of sprites by saturating v. tex coords.
The functions mvlineasm1, mvlineasm4 and tvlineasm2 can now be set to clamp
the vertical texture coordinate (vplc), preventing the unsightly stray lines
on the bottom of non-y-flipped sprites. (The first part of this effort, r3483,
handled their top).

However, this is only enabled for the mvlineasm ones: the vectorized variants
suffered almost no slowdown (even though a PADDUSD SSE instruction would be a
nice thing to have), while it was pretty significant for the sequential
translucent ones.

Summarizing, this leaves two cases where stray lines may appear in the non-ASM
build (the saturation is NYI for a.nasm):
- at the bottom of y-flipped sprites
- at the bottom of translucent sprites (can be toggled by #define)

Another observation is that recent GCC generates much faster code for this
stuff than Clang from SVN.

git-svn-id: https://svn.eduke32.com/eduke32@4161 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:11 +00:00
helixhorned ca22bf8185 a-c.c: in {v,mv}lineasm4, use vector types for vplc/vinc with GCC >=4.7.
For a full 1680x1050 screen drawing a solid/masked wall, the FPS increases
from 118 to 133 and from 114 to 116 (respectively) for me.
Guarded by the macro USE_VECTOR_EXT in the source.

git-svn-id: https://svn.eduke32.com/eduke32@4160 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-16 18:47:07 +00:00
helixhorned 4dcd167c7a LunaCON: for gamevar-already-defined warnings/errors, show old location.
Synthesis, BUILD_LUNATIC! Got the build? Good synthesis.

git-svn-id: https://svn.eduke32.com/eduke32@4153 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:23 +00:00
helixhorned 25081fb459 LunaCON: In lunacon.lua, make room for a couple more locals at file scope.
Also, really reset all label-related tables in reset.labels().

git-svn-id: https://svn.eduke32.com/eduke32@4152 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:20 +00:00
helixhorned 82fb8a0724 LunaCON: for *-already-defined style warnings/errors, show location of old def.
git-svn-id: https://svn.eduke32.com/eduke32@4151 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:18 +00:00
helixhorned 987eb858d3 LunaCON: add a couple of userdefs members, fix tsprite's sectnum for writing.
git-svn-id: https://svn.eduke32.com/eduke32@4150 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:16 +00:00
helixhorned 78d30bee9b LunaCON: implement 'ssp' command.
git-svn-id: https://svn.eduke32.com/eduke32@4149 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-12 21:03:11 +00:00
helixhorned b1d6a97db4 Mapster32: don't produce erratic behavior w/ crash when not in 3D mode.
Also, BUILD_LUNATIC.

git-svn-id: https://svn.eduke32.com/eduke32@4148 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-11 20:33:55 +00:00
helixhorned 42f66ce9ca Lunatic: add 'fs' module containing 'listpath' function, 'd' in global env.
See the updated documentation for (ATM sparse) details.

git-svn-id: https://svn.eduke32.com/eduke32@4147 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-11 16:48:23 +00:00
helixhorned 8029aceaa4 CON: add sprite pseudo-member 'isvalid', getting 1 if the sprite is valid.
And 0 otherwise. Before accessing a sprite that is not not known to be
definitely valid (e.g. a loop over all sprites from 0 to MAXSPRITES-1),
one should check for validity before accessing it in any other fashion.

git-svn-id: https://svn.eduke32.com/eduke32@4146 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-11 16:48:17 +00:00
helixhorned 92594f09c8 Lunatic: add two names forgotten for dynsymlist.
Let's BUILD_LUNATIC to see whether it still works...

git-svn-id: https://svn.eduke32.com/eduke32@4145 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:49 +00:00
helixhorned f63510cc33 In C_SetCfgName, don't use unsafe string functions with unknown-length input.
git-svn-id: https://svn.eduke32.com/eduke32@4144 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:47 +00:00
helixhorned b67c76f814 LunaCON: implement 'setcfgname'.
Factor out a block of code into C_SetCfgName() and use that from lunacon.lua.

git-svn-id: https://svn.eduke32.com/eduke32@4143 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:45 +00:00
helixhorned f620a28d74 LunaCON: on 'starttrack' with null music, issue a 'soft' error.
That is, one that doesn't break the control flow.

git-svn-id: https://svn.eduke32.com/eduke32@4142 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:42 +00:00
helixhorned 84357152eb Lunatic: fix ported A_FurthestVisiblePoint().
git-svn-id: https://svn.eduke32.com/eduke32@4141 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:40 +00:00
helixhorned 77574e30b9 LunaCON: implement NORESET flag for gamevars.
git-svn-id: https://svn.eduke32.com/eduke32@4140 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-08 18:08:37 +00:00
helixhorned ceebc8077c OSD: on non-Windows, make textmode=0 the default, just like in Windows.
This fixes some init and update anomalies: before,
 - init would always be the graphical mode (0), but writing
   merely "osdtextmode" would switch it
 - osdtextmode would not get saved to the cfg

git-svn-id: https://svn.eduke32.com/eduke32@4139 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 22:56:12 +00:00
helixhorned e19a271a86 OSD: retire OSD_GetFmt(), OSD_GetFmtPtr() and OSD_GetTextPtr() functions.
These were too much "looking into the implementation of a module" for my
taste, hence OSD_GetShadePal() earlier.

git-svn-id: https://svn.eduke32.com/eduke32@4138 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 22:56:10 +00:00
helixhorned d4c2749b94 OSD: make plain display (osdtextmode=1) colorized, too.
git-svn-id: https://svn.eduke32.com/eduke32@4137 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 22:56:09 +00:00
helixhorned 37d8cbedcc OSD: factor out getting sh/pal using format+text buffers into OSD_GetShadePal().
git-svn-id: https://svn.eduke32.com/eduke32@4136 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 22:56:08 +00:00
helixhorned 7014e94d99 textfont.c: make TAB character display blank.
This renders tweaks like r4122 unnecessary.
Also, note a "bug" with the program generating that C code.

git-svn-id: https://svn.eduke32.com/eduke32@4135 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 22:56:06 +00:00
helixhorned 794edf18ff Lunatic: add 'lua' OSD command, permitting to execute arbitrary code.
That is, everything that would be possible via scripting.

git-svn-id: https://svn.eduke32.com/eduke32@4134 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 22:56:03 +00:00
helixhorned e132073640 For demos, make savehead.savename[] carry the SVN revision number.
Also, shorten "FAILED STARTING DEMO RECORDING." message so that it fits on
the screen. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4133 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 18:21:09 +00:00
helixhorned 4cb24de24e In exprs like "Bmemcpy(&p->pos.x, &sprite[i].x, sizeof(vec3_t))", drop the ".x".
git-svn-id: https://svn.eduke32.com/eduke32@4132 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 18:21:07 +00:00
hendricks266 851e9fc8d1 Sweeping modifications to synthesis and the package directory structure so that every potential binary is in its own package.
While we're rearranging files, ensure all SVN mime-types are set correctly.

git-svn-id: https://svn.eduke32.com/eduke32@4130 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-04 03:59:26 +00:00
hendricks266 ccf7d2d470 Allow -g, -x, -h, -j, and for the game, -d, to take their file name after a space. This allows quotes to be used with them properly.
I updated the help windows to prefer these variants because they are superior to the -xSquished versions.
Also, factor out the command-line processing code for the above, plus con/def modules and clipmaps.

git-svn-id: https://svn.eduke32.com/eduke32@4128 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-03 04:02:23 +00:00
hendricks266 837c5c6b84 RegCloseKey when we are done with RegOpenKeyEx.
git-svn-id: https://svn.eduke32.com/eduke32@4127 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-03 04:02:01 +00:00
hendricks266 975a329fcf Update SDL2 to 2.0.1.
git-svn-id: https://svn.eduke32.com/eduke32@4126 1a8010ca-5511-0410-912e-c29ae57300e0
2013-11-02 01:41:45 +00:00
helixhorned b6475100d7 In G_SaveMapState, fix 1024-byte write beyond array bound on 64-bit platforms.
This was caused by mismatched for types mapstate_t's animateptr[] and the global
one (int32_t vs. int32_t *).

Bump BYTEVERSION.

git-svn-id: https://svn.eduke32.com/eduke32@4125 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-28 21:26:32 +00:00
helixhorned 8beb990640 m32script: when failing to load file, don't append '.m32' if already there.
So that there are no error messages like "M32 file `a.m32.m32' not found."

Also, in build.c's 'save as' code, add a bound check that would probably
always pass in practice, but looks a bit safer and may fail in very cornerly
cases.

git-svn-id: https://svn.eduke32.com/eduke32@4124 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-28 21:26:30 +00:00
helixhorned 0fdcc0a1d4 Mapster32: save r_usetileshades and r_pr_artmapping with mapster32.cfg.
git-svn-id: https://svn.eduke32.com/eduke32@4123 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-28 21:26:28 +00:00
helixhorned 491e67c1cc m32script: when printing error line, replace tabs with spaces.
git-svn-id: https://svn.eduke32.com/eduke32@4122 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-28 21:26:27 +00:00
helixhorned c2797e4b11 Mapster32: take initial map file name from ExtPreInit()->G_CheckCommandLine().
Instead of directly in build.c:app_main(). Previously, it was possible that an
argument to an option, e.g. "WGR2" with "-game_dir WGR2", would get interpreted
as the initial map to load. This in turn would attempt to execute WGR2.cfg as
sequence of OSD commands -- where that file is an EDuke32 config file instead!

Now: maps are passed without any options, e.g. "mapster32 [opts...] debug.map".
The map file name is not added to the "additional parameters" for map testing.

git-svn-id: https://svn.eduke32.com/eduke32@4121 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-28 21:26:25 +00:00
helixhorned 94e3856b76 SDL2/non-Windows: Before showing "simple message box", replace tabs with spaces.
Because the one implemented on top of X shows a special mark for tabs instead of
whitespace.
Also, in wm_msgbox(), use vsnprintf.

git-svn-id: https://svn.eduke32.com/eduke32@4120 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-27 21:12:25 +00:00
helixhorned 25edec9c0a LunaCON: very primitive gamevar handling logic for {save,load}mapstate.
git-svn-id: https://svn.eduke32.com/eduke32@4119 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-27 21:12:22 +00:00
helixhorned 6c88824792 LunaCON: in {save,load}mapstate, warn that saving/restoring gamevars is NYI.
git-svn-id: https://svn.eduke32.com/eduke32@4118 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-27 21:12:20 +00:00
helixhorned 65cdf97bfa SDL: Add SDL scancode -> ASCII value translation for the "key FIFO" for ESCAPE.
This fixes ESC in certain situations such as the editor map selection menu.

git-svn-id: https://svn.eduke32.com/eduke32@4117 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-27 21:12:16 +00:00
helixhorned 70f0100ac2 SDL: factor out 2x repeated code into keyascfifo_{isfull,insert}.
git-svn-id: https://svn.eduke32.com/eduke32@4116 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-27 21:12:13 +00:00
helixhorned ab7d3679df At end of G_RestoreMapState(), update g_player[].ps->i from STAT_PLAYER sprites.
This fixes a potential crash caused by violating the expected invariant
 sprite[g_player[player_index].ps->i].yvel == player_index
otherwise.

git-svn-id: https://svn.eduke32.com/eduke32@4114 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-25 21:57:09 +00:00
helixhorned 335957800b Lunatic doc: add Lua source code highlighting using GNU Source-highlight.
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4113 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-24 17:48:19 +00:00
helixhorned d9b94c772d LunaCON: implement NODEFAULT flag (1024) as session variables.
This is in contrast to C-CON, where the implications are not clearly obvious.
See this discussion/monologue:
http://forums.duke4.net/topic/955-eduke32-scripting/page__view__findpost__p__159613

Currently not implemented for session gamevars:
 - per-player, will be made a global one instead
 - per-actor, will be made a plain per-actor one instead

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4112 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-20 12:35:06 +00:00
helixhorned 937958afef LunaCON: add necessary identifier-is-not-gamevar check.
git-svn-id: https://svn.eduke32.com/eduke32@4111 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-20 12:35:03 +00:00
terminx bee968a535 Set the SDL window icon when changing video mode
git-svn-id: https://svn.eduke32.com/eduke32@4110 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-19 22:35:36 +00:00
helixhorned 8248ef8446 CON: Add LOGO_FLAGS bits 4096-32768 to disable E1-E4 bonus scenes, respectively.
Each scene is disabled in its entirety, there's no way to disable only a
particular part. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4109 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-17 16:44:28 +00:00
helixhorned 3162a4cb46 SDL2: fix quote and pause keys.
- Add SDL scancode -> our key code map for SDL_SCANCODE_APOSTROPHE
- Remove duplicate map for SDL_SCANCODE_PAUSE

git-svn-id: https://svn.eduke32.com/eduke32@4108 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-16 19:43:07 +00:00
helixhorned 7791f94073 Lunatic: make it possible to build with LuaJIT 2.1, add -Lopts=profile there.
git-svn-id: https://svn.eduke32.com/eduke32@4107 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-16 19:43:06 +00:00
helixhorned 1b29ac6db7 build.lua: add read_basepal().
git-svn-id: https://svn.eduke32.com/eduke32@4106 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-16 19:43:03 +00:00
helixhorned 4cb9ab1d7c foreachmap.lua: remove the need for a space for certain '.' accesses.
That is, now it's not necessary to write e.g. "io. write" -- .xxx is
translated to <what>[i].xxx only if it's a matching member name.

git-svn-id: https://svn.eduke32.com/eduke32@4105 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-16 19:43:01 +00:00
helixhorned 78e8f476e1 build.lua: add "artfile" class, allowing to open and get pics from an ART file.
git-svn-id: https://svn.eduke32.com/eduke32@4104 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-16 19:42:59 +00:00
hendricks266 fddc700cd6 Wii: Fix wiibuild.bat so that revision numbers have the "r" prefix like they are supposed to.
git-svn-id: https://svn.eduke32.com/eduke32@4103 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-13 09:16:25 +00:00
hendricks266 401a73862a Wii: Fix build and add custom headers and libs to SVN. (It's helpful to set up a build system from scratch.)
DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4102 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-13 09:08:31 +00:00
hendricks266 9af453bb92 r4087, attempt #2: Fix "warning: iteration 1461 invokes undefined behavior [-Waggressive-loop-optimizations]" in initkpeg().
git-svn-id: https://svn.eduke32.com/eduke32@4101 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-13 06:17:41 +00:00
hendricks266 2cabe1ec54 Change the default SDL version to SDL2 and the default Windows RENDERTYPE to SDL.
git-svn-id: https://svn.eduke32.com/eduke32@4100 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-13 06:17:27 +00:00
hendricks266 1ac4c9b585 Windows: Add SDL2 headers and libraries to the repo for quick-and-easy building and static linking. (SDL2 uses the zlib license so we are in the clear.)
git-svn-id: https://svn.eduke32.com/eduke32@4099 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-13 06:17:07 +00:00
helixhorned b427a5f941 Fix OpenGL texture cache "leak" and slightly tweak hash string construction.
The leak happened because a struct was hashed that had uninitialized
bytes in padding inserted by the compiler. The hash string in now constructed
as concatenation of three CRC32s as 8-byte hex strings, i.e. the individual
CRC32s are padded with leading zeros.

Note to users: because of the hash change, it's sensible to delete the
'textures' and 'textures.cache' files.

git-svn-id: https://svn.eduke32.com/eduke32@4096 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-11 22:20:46 +00:00
helixhorned 66064a33f3 Fix mouse grabbing in SDL debugging builds.
git-svn-id: https://svn.eduke32.com/eduke32@4095 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-11 22:20:45 +00:00
helixhorned 4d71ed75d2 Polymer: fix ANM playback.
References:
 - r3742
 - r4038 (fixing savegame screenshots, but introducing the now fixed bug)

git-svn-id: https://svn.eduke32.com/eduke32@4094 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-11 22:20:43 +00:00
helixhorned 1181121729 Revert "Move CONTROL_ProcessBinds() to CONTROL_GetInput()." [r3981]
That change confounded character-based input with e.g. HUD control
under certain circumstances, see
http://forums.duke4.net/topic/6845-eduke32-savegame-annoyances/

Also, BUILD_LUNATIC ... just for the hit.sect -> hit.sector change.

git-svn-id: https://svn.eduke32.com/eduke32@4093 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-11 13:43:39 +00:00
helixhorned f9d597f237 Lunatic: add forgotten g_argv to dynsymlist_m32.
git-svn-id: https://svn.eduke32.com/eduke32@4092 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-11 13:43:37 +00:00
hendricks266 2ab39f2cca Clean up some GUI/WM minutiae. Should fix linking Mapster32 on *nix with HAVE_GTK=0.
git-svn-id: https://svn.eduke32.com/eduke32@4091 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-08 10:00:44 +00:00
hendricks266 d738fb7ad5 Fix the vsync menu option so that it actually works.
Variables at global scope which share a name tend to actually be the same variable. Not good when you pass such a variable to function that immediately returns if the passed parameter (the variable) equals said variable (itself).

git-svn-id: https://svn.eduke32.com/eduke32@4090 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-08 10:00:25 +00:00
hendricks266 4bc5f5cbc7 Merge a patch and suggestions from NY00123 improving SDL2 support. This fixes the flickering in OpenGL in SDL2 on Windows. It also provides a proper list of resolutions.
git-svn-id: https://svn.eduke32.com/eduke32@4089 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-08 09:59:59 +00:00
hendricks266 7b551ba4fb Fix OpenGL under SDL && Windows. (Almost. SDL 1.2 works fine, but SDL2 has an unresolved problem where OpenGL screen updates flicker over a black background.)
git-svn-id: https://svn.eduke32.com/eduke32@4088 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:06:09 +00:00
hendricks266 75b6e81a2a Fix "warning: iteration 1461 invokes undefined behavior [-Waggressive-loop-optimizations]" in initkpeg() by promoting the variables in question to int64_t.
NOTE TO TEAM MEMBERS: Please review this, as I am not sure what is actually intended here.

git-svn-id: https://svn.eduke32.com/eduke32@4087 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:05:54 +00:00
hendricks266 6bf0bd0c60 Windows startup window tweaks:
- Don't print osd.szCSDVersion when it is empty, preventing an extra space between the OS name and version number. (An example of what this field holds is "Service Pack 1".)
- Under SDL, allow the "console" edit field to repaint after "OK" is clicked. Important when a long def file is loading.

git-svn-id: https://svn.eduke32.com/eduke32@4086 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:05:41 +00:00
hendricks266 333e0f26e2 Allow wm_msgbox() to use SDL_ShowSimpleMessageBox() under SDL2.
Unfortunately, SDL2 does not (yet?) provide a Yes/No box for wm_ynbox().

git-svn-id: https://svn.eduke32.com/eduke32@4085 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:05:24 +00:00
hendricks266 db69800fd0 Split the handling of audio based on RENDERTYPE into a new variable named MIXERTYPE, allowing Windows builds to use SDL for input and rendering (RENDERTYPE=SDL) while using DirectSound and Windows' MIDI interface (MIXERTYPE=WIN [current default]) so that EMIDI works.
git-svn-id: https://svn.eduke32.com/eduke32@4084 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:05:03 +00:00
hendricks266 d781c4ad94 Fix the RETURN and KP_ENTER keys under SDL2.
git-svn-id: https://svn.eduke32.com/eduke32@4083 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:04:16 +00:00
hendricks266 22490587f0 Fix the Classic renderer under SDL2.
git-svn-id: https://svn.eduke32.com/eduke32@4082 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:04:02 +00:00
hendricks266 4f2bc62dc2 Fix USE_OPENGL=0 build.
git-svn-id: https://svn.eduke32.com/eduke32@4081 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:03:49 +00:00
hendricks266 92b441cb11 Merge a patch from NY00123 that draws the screen to a temporary surface under the selected bit depth then blits it to a surface at the system desktop bit depth, under SDL. This allows 8-bit classic to run in fullscreen under certain *nix configurations and Windows 8.
git-svn-id: https://svn.eduke32.com/eduke32@4080 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:03:37 +00:00
hendricks266 c1bbf25700 Fix the long-standing trivial warnings in net.c.
Cognitively, so much time has passed that these unused variables would offer little help indicating the roadmap for networking. In any case, I have taken care only to comment rather than remove anything that is more than just a throwaway loop counter.

If this commit inconveniences anyone in any way, please contact me personally and I will make it right.

git-svn-id: https://svn.eduke32.com/eduke32@4079 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:03:23 +00:00
hendricks266 e7c9a0be5d Iron out all errors and warnings when compiling with MinGW-w64, targeting either 32-bit or 64-bit.
git-svn-id: https://svn.eduke32.com/eduke32@4078 1a8010ca-5511-0410-912e-c29ae57300e0
2013-10-07 10:03:11 +00:00