Commit graph

1949 commits

Author SHA1 Message Date
terminx
16b9b19e53 Identify Windows 10 in the startup window/log. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4891 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:52:45 +00:00
terminx
c591711fe8 MSVC C++ build fixes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4890 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:52:15 +00:00
terminx
16b617114c Replace hightile grayscale method (usually combined with tints to produce
replacements for the first handful of palette lookups) w8th superior
"luma" method. DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4889 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:51:41 +00:00
hendricks266
e3de98e2ae Clean up autodetected game install search paths on all platforms that use them.
This should prevent Lunar Apocalypse from becoming Nuclear Winter with Megaton on Linux and Mac.

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

BUILD_LUNATIC.

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

DONT_BUILD.

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

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

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

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

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

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

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

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

git-svn-id: https://svn.eduke32.com/eduke32@4873 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-30 20:05:22 +00:00
helixhorned
5f263f1358 engine.c: prevent an oob read of spriteext[] in drawsprite_classic().
git-svn-id: https://svn.eduke32.com/eduke32@4872 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-30 20:05:20 +00:00
helixhorned
7033205fcf Menus: disable mouse pointer if CROSSHAIR is void. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4862 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-28 19:48:20 +00:00
hendricks266
598e33319c Add the necessary plumbing to sdlayer to detect mousedown, mouseup, and dragging.
git-svn-id: https://svn.eduke32.com/eduke32@4853 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:36:43 +00:00
hendricks266
bfb3614b92 Introduce preprocessor token EDUKE32_TOUCH_DEVICES that covers both Android and iOS, and replace selected instances of __ANDROID__ with it.
git-svn-id: https://svn.eduke32.com/eduke32@4852 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 18:36:14 +00:00
helixhorned
33addad941 Minor cleanup, mostly in engine.c:drawalls().
git-svn-id: https://svn.eduke32.com/eduke32@4846 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-27 17:17:50 +00:00
helixhorned
51fe706907 Tweak the behavior of viewscreens to what is more logical IMO.
- At a given time, at most one viewscreen may display TILE_VIEWSCR, namely
  that one which is g_curViewscreen
- sync kinds of distance to compare against VIEWSCREEN_ACTIVE_DISTANCE (was
  Manhattan vs. dist(), now both the latter)
- fix resetting to VIEWSCREEN tile when player is greater from it than that
  distance. When the player is closer to it again, it is *not* reset to
  TILE_VIEWSCR.
- more sync'd g_curViewscreen and sprite[i].yvel (for 'i' being the viewscreen
  sprite)

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

git-svn-id: https://svn.eduke32.com/eduke32@4843 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:30:00 +00:00
helixhorned
843894dd57 engine.c: clamp all indices for distrecip[] access, as more OOBs were observed.
git-svn-id: https://svn.eduke32.com/eduke32@4842 1a8010ca-5511-0410-912e-c29ae57300e0
2014-12-26 17:29:59 +00:00
helixhorned
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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