Subversion Repositories eduke32

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
4879 2449d 18h helixhorned /polymer/ game.c: revert changes of r4861 ("consult g_mirrorCount instead of gotpic[]").  
4878 2449d 18h helixhorned /polymer/ Lunatic: in control/lua, sync ALLOWED_VIEWTYPE with change from r4814 (allow 2).

DONT_BUILD.
 
4877 2450d 21h helixhorned /polymer/ 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.
 
4876 2450d 21h helixhorned /polymer/ 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
 
4875 2450d 21h helixhorned /polymer/ 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
 
4874 2450d 21h helixhorned /polymer/ 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/
 
4873 2455d 20h helixhorned /polymer/ engine.c: fix clipmove() against floor-aligned sprites.

Introduced in r3207. Oops.
 
4872 2455d 20h helixhorned /polymer/ engine.c: prevent an oob read of spriteext[] in drawsprite_classic().  
4871 2457d 18h helixhorned /polymer/ sounds.c: don't crash S_PlayMusic() if passed null pointer for 'fn'.

This may happen if no title/end music is defined from CON.
Thanks to Zaxtor for the bug report.
 
4870 2457d 19h hendricks266 /polymer/ Menus: Amend r4862 so that touch devices, which do not display the crosshair as a cursor, are not completely prevented from using touch input by the lack of a crosshair tile.  
4869 2457d 19h hendricks266 /polymer/ Menus: Fix the Screen Size slider so that it works properly after the screen size has been modified in-game with [-]/[+].  
4868 2457d 19h hendricks266 /polymer/ Menus: Fix selecting "None" for Anisotropy.  
4867 2457d 19h hendricks266 /polymer/ Menus: Fix opening a MenuEntryOptionList when the option's value is "Custom".  
4866 2457d 19h hendricks266 /polymer/ Menus: Convert MenuRange*_t's "displaytype" field to "flags", add a flag to enforce clamping to the defined intervals, and apply this flag to the Screen Size slider.  
4865 2457d 19h hendricks266 /polymer/ Menus: When pressing left or right on a slider that has moved by the mouse to a position between the defined intervals, do not round to the nearest interval and then increment or decrement. Instead, check if rounding will satisfy the movement before moving further.  
4864 2457d 19h hendricks266 /polymer/ Menus: Mouse controls now respect MenuEntry_t's disabled flag.  
4863 2457d 19h helixhorned /polymer/ actors.c: replace hard-coded list with missing check for SFLAG_NODAMAGEPUSH.

In A_RadiusDamage(). The code snippet that is disabled for such actors
increases the damaged actor's .xvel by (4 times the) damage amount and
is responsible for the strange effect of enemies becoming faster TOWARDS
the player on being hit with an RPG frontally.

Thanks to Fox for a keen eye.
 
4862 2457d 20h helixhorned /polymer/ Menus: disable mouse pointer if CROSSHAIR is void. DONT_BUILD.  
4861 2458d 0h helixhorned /polymer/ In G_HandleMirror(), consult g_mirrorCount instead of gotpic[] w/ MIRROR.

DONT_BUILD.
 
4860 2458d 0h helixhorned /polymer/ Lunatic translator: add stand-alone option -fnames, generating names.h file.  

Show All