February 2012
-
General
engine.c: Rewrite tslopevlin (translucent slope vline texmapping) for clarity.
-
General
Fix player being not blocked by sprites lying on an extended floor.
Show details
getzrange() returns the floor rather than the sprite if their heights are equal. Now, make an exception for extended floors (analogously, ceilings).
-
General
Clean up VOC in-memory block type parsing.
Show details
- Maintain a position relative to the start of the data. VOC doesn't mandate an EOF marker (blocktype 0). If we go over the end, fake that marker, so as to restart a looping sound or stop a one-shot one. This fixes an uninitialized mem access with the corrupt SNAKRM.VOC. - When encountering the EOF marker, don't read the 3 bytes of block size, since they may not be there. - Read blocksize by ORing and shifting the 3 bytes, not with *(int32_t *)...
-
don't use lazy tile loading with r_hightile=0.
-
General
Fix use of an uninitialized variable in P_FindWall->FindDistance2D with noclip.
-
General
engine.c: replace 0xXXXXXXXX literals with INT32_MIN/MAX; whitespace changes.
-
General
Fix a couple of out-of-bounds accesses when roaming around with noclip.
Show details
- guard cansee() against negative sectnums (return 0 immediately), since it's often called with the player sectnum as one argument - in resetpspritevars(), don't inset APLAYER sprite if sectnum < 0, which can happen if a map is started in void space accidentally (e.g. from the editor) - two checks before accessing sector[] with a player sectnum
-
General
Fix sprite rendering glitches with r_usenewaspect=1 in 8-bit mode.
-
General
Make 5th mouse button functional in Windows.
-
General
Draw HANDHOLDINGLASER and ~ACCESS with guniqhud=200 and 201, respectively.
Show details
This fixes updateanimation picking up foreign (and thus potentially oob) frame numbers at "3: c > n".
-
General
Remix mdsprite.c's updateanimation() to look prettier and clearer.
Show details
Specifically, - rearrange conditionals - factor out constant expressions - add a couple of debugging printfs for extraordinary events (oob frames) - add VERIFY comments for implicit assertions I'd like to verify sometime Also, one calloc -> malloc.
-
General
Debugging helper disabling a.nasm calls with OpenGL renderers.
Show details
Uncomment #define DEBUG_VALGRIND_NO_SMC in duke3d.h to be able to valgrind --smc-check=none (or the default stack-only) with Polymost and Polymer renderers.
-
General
Patch up out-of-bounds access (r/w) when mixing 16-bit stereo *source* data.
Show details
... by allocating two bytes more for the mixing buffers.
-
General
Fix uninitialized mem access in dorotatesprite with thin tiles (e.g. 3085).
-
General
jmact/control.c: rewrite strange looking loop.
-
General
Draw translucent black background only when playing (back a demo or oneself).
-
General
Fix menu text not drawing when not playing (back), introduced in r2326.
-
General
Fix zero-size calloc when enumerating a joystick with no hats in SDL.
-
General
Remove a couple of redundant declarations.
-
interface to events.
-
General
Add some #includes to gameexec.h and sector.h so that they can be included directly
-
General
Use a tokenlist for the event names and add tokenlist typedef to gamedef.h.
-
General
Make r_maxfps functional in demo playback.
-
General
Coalescle codes for dnkroz and dncgs cheats.
-
General
Factor out identical (except for params) pieces of code of G_CheatGetInv().
-
General
Fix zero-size calloc when enumerating a joystick with no hats in Windows.
-
General
Revert r2303 functionality ("Don't wait for pain tinting to subside...")
Show details
It was causing update issues when many tints were applied simultaneously, like being shot and spit at by enforcers while being on rails barefeet. Also, the GL modes were calling gltexinvalidate8() when picking up goodies or being hurt with that change, so it needs much more thought.
-
General
Factor out two pieces of identical code in actors.c into A_HandleBeingSpitOn().
Show details
This fixes a bug in passing: 'int32_t j' was assigned to as a temporary inside one instance of the code, but used as if it were the previous sprite index further on. Would only happen with projectiles that "work like" both SPIT and RPG_IMPACT.
-
General
Probably fix crash when reaching light count limit in G_MoveEffectors SE50 code.
-
use enum constants
-
General
rotatesprite(..., windowx1,windowy1,windowx2,windowy2) --> rotatesprite_win
-
a bit rearrangement, getbunch.
-
General
game.c: trivial tweaks to reduce code duplication (which is hard on the eyes)
-
fix crash with 'vidmode <bpp>' introduced in r2311.
-
General
Factor out four instances of identical code into M32_DrawRoomsAndMasks().
-
Various menu tweaks and one fix.
Show details
- make PGUP/PGDN and HOME/END behave as expected across all menus - in keyboard/mouse button mapping menu, draw function names that have been given custom names via CON with pal 8 for easier recognition - fix tinting of function names in mouse button mapping menu
-
When in menus, always draw a black (33%) translucent background.
Show details
Internally, there's a new function fade_screen_black() that implements the fading more efficiently than calling rotatesprite for classic, and uses tile 0 (assumed to have at least 64x32 size) in the GL modes. The black background of the user map selector is still done with rotatesprite and tile BLANK in every renderer.
-
General
Check 'bpp' parameter to vidmode OSD command in EDuke32.
Show details
So that the game won't exit if you write 'vidmode 4' when intending 'setrendermode 4'.
-
fix interface when compiled with 'pointered' main arrays. Argh!
-
General
Fix not-initialized variable warning in 'soundanims' CON token parser.
-
General
legibility improvements: rotatesprite(..., 0,0,xdim-1,ydim-1) -> rotatesprite_fs
-
General
Fix an update issue with the recent screen tint retaining on palette change.
-
General
When loading a map and in a few other places, reset screen tinting.
-
General
Fix a sector[-1] access when starting to draw a wall in an empty map.
January 2012
-
General
Fix demo progress bar in OpenGL modes by adding bit 1024 to rotatesprite calls.
Show details
The problems still remains that rotatesprite behaves differently in classic and OpenGL modes with clipping boundaries specified (and maybe in some other cases)
-
General
Don't wait for pain tinting to subside when changing a base palette.
Show details
This means that when e.g. emerging from water hurt will change the palette instantly, but because bit 16 is added to the P_SetGamePalette call, the tinting is retained.
-
tweak dragging a single sprite so that they can be dragged 'uphill'.
Show details
The implementation uses the recently introduced updatesector_onlynextwall when setspritez fails.
-
General
Make savegames between dynamicremap-enabled and -disabled builds compatible.
Show details
Of course, only when the mod/TC in question doesn't use that feature.
-
General
Dynamic tile remapping shouldn't actually be disabled in synthesis builds, whether the source allows it to be compi
Show details
led out or not. Removing features that certain mods may depend on to operate correctly without throwing any kind of error or warning at startup other than a logged message is bad.
-
General
add one line forgotten with dynamictileremap disabling