Subversion Repositories eduke32

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4762 2435d 5h hendricks266 /polymer/ Fix some things when building on OS X. DONT_BUILD.  
4761 2435d 7h hendricks266 /polymer/ Fix build with x86_64-MinGW-w64. DONT_BUILD.  
4760 2435d 7h hendricks266 /polymer/ Fix oversight in mouse cursor code. DONT_BUILD.  
4759 2436d 18h helixhorned /polymer/ In Lunatic build, make krand() a proper function again, called from Lua/FFI.

DONT_BUILD.
 
4758 2436d 18h helixhorned /polymer/ a-c.c: Compile vlineasm4nlogy() only if CLASSIC_NONPOW2_YSIZE_WALLS is #defined.

Also make three file-scope variables static.
 
4757 2436d 18h helixhorned /polymer/ 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.
 
4756 2436d 18h helixhorned /polymer/ 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).
 
4755 2436d 18h helixhorned /polymer/ 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.
 
4754 2437d 0h terminx /polymer/ Fix MinGW build. DONT_BUILD.  
4753 2437d 0h terminx /polymer/ Fixups to sync WIP SDL refactor up with r4738. DONT_BUILD.  
4752 2437d 0h terminx /polymer/ Minor cleanups, mostly just formatting. DONT_BUILD.  
4751 2437d 0h terminx /polymer/ Add missing "break" to M_RunMenuInput(), revert android gltexapplyprops() menu fuckery. DONT_BUILD.  
4750 2437d 0h terminx /polymer/ Fix _FORTIFY_SOURCE redefinition warning on Ubuntu's patched versions of GCC. DONT_BUILD.  
4749 2437d 0h terminx /polymer/ WIP refactor of SDL interface. DONT_BUILD.  
4748 2437d 0h terminx /polymer/ Clean up the sound remapping stuff... remove the bits relating to sounds we haven't actually used anywhere in the source directly. DONT_BUILD.  
4747 2437d 1h terminx /polymer/ 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.  
4746 2437d 1h terminx /polymer/ Get rid of -Wdeclaration-after-statement as we're only targeting C99 and C++ now. DONT_BUILD.  
4745 2437d 1h terminx /polymer/ 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.
 
4744 2437d 1h terminx /polymer/ Inline krand() when not using KRANDDEBUG. DONT_BUILD.  
4743 2437d 1h terminx /polymer/ Add FORCE_INLINE to compat.h and apply it to a couple of things we'd strongly prefer be inlined. DONT_BUILD.  
4742 2437d 1h terminx /polymer/ 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.  
4741 2437d 1h terminx /polymer/ 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.  
4740 2437d 1h terminx /polymer/ Fix Mapster32 fullscreen video modes. DONT_BUILD.  
4739 2442d 5h hendricks266 /polymer/ Fix minor menu bugs. DONT_BUILD.  
4738 2442d 5h hendricks266 /polymer/ Set up mouse cursor display in menus, with idle timeout fully implemented. No functionality yet. DONT_BUILD.  
4737 2451d 15h helixhorned /polymer/ Fix C++ build. DONT_BUILD.  
4736 2451d 15h helixhorned /polymer/ In release builds, #define Xaligned_alloc as xaligned_malloc.

Otherwise, the out-of-memory handler is not called in case of failure.
 
4735 2451d 15h helixhorned /polymer/ 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.
 
4734 2451d 15h helixhorned /polymer/ C-CON: fix 'readgamearray' on 64-bit platforms.

Also prettify P_DisplaySpit().
 
4733 2451d 15h helixhorned /polymer/ a-c.c: don't USE_VECTOR_EXT with Clang, since it doesn't compile here.  
4732 2451d 15h helixhorned /polymer/ LunaCON: player[].loogcnt, userdef[].color, minor fixes.  
4731 2451d 15h helixhorned /polymer/ LunaCON: fix tilesizx[] and tilesizy[] system gamearrays.  
4730 2452d 5h hendricks266 /polymer/ Replace DOS box-drawing characters in the ASM with sane ASCII. DONT_BUILD.  
4729 2452d 13h helixhorned /polymer/ Lunatic: some minor doc tweaks. DONT_BUILD.  
4728 2452d 13h helixhorned /polymer/ 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.
 
4727 2452d 13h helixhorned /polymer/ 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.
 
4726 2452d 13h helixhorned /polymer/ engine.c: prevent an oob read in drawsprite_classic() w/ floor-aligned sprites.  
4725 2452d 13h helixhorned /polymer/ Fix oob write with stepping 'up' in the OSD history.  
4724 2452d 13h helixhorned /polymer/ 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.
 
4723 2457d 7h terminx /polymer/ Useless change I forgot. DONT_BUILD.