Commit graph

6749 commits

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