December 2011
-
General
Remove written-out savegame.c function declarations from demo.c and include
Show details
savegame.h instead.
-
General
Remove 'projectile' field from actor_t because it was entirely unused.
Show details
WARNING: This silently breaks savegames on 64-bit platforms.
-
General
Remove a few unused variables from global.[ch], update build date string.
-
General
minor cosmetic tweaks in sector.[ch] and a off-by-one limit correction there
-
General
Fix out-of-bounds write when passing a map filename to Mapster32.
-
actor. (Needs SAMESIZE_ACTOR_T, which is not yet enabled)
-
General
misc. beautifying some game code...
-
General
some more clearbuf -> memset in gamedef.c plus add a forgotten keystatus
Show details
reset in the editor
-
General
savegame.c: minor cleanup and crash prevention in doloadplayer2
Show details
if loading directly from file to state.
-
General
CON parser cleanup: In C_Compile, initially clear three arrays with
Show details
Bmemset(..., 0, sizeof(...)) instead of clearbuf(..., MAX..., 0), because the latter would clear only half of the data on 64-bit platforms.
-
General
In EDuke32 loading/saving menus, when finding old version savegame, display
Show details
some information about it instead of simply omitting it. Internally, struct savegame --> struct savegame_ for easier grepping.
-
General
actor t_data commoning: forgot do add a #define in duke3d.h
-
General
animvpx loop: do at least on input device poll each frame (i.e. even if we're
Show details
lagging) to be able to cancel the movie in any case.
-
General
Preliminary commoning of actor[].t_data[10] to an array of int32's on both
Show details
32- and 64-bit platforms. Also, make struct type actor_t also have a common size of 128 bytes. New code currently disabled and #ifdef'd for comparison. This requires certain t_data[] entries ([1]: move ptr, [4]: action ptr and [5]: ai ptr with actors) to be converted to script offsets instead of pointers, breaking savegame and net packet compatibility (we could in theory try hard not to, but it would be too much trouble).
-
General
Add new actor[].flags flag 2048 (SPRITE_NOCLIP), for 'spriteflags' CON usage.
Show details
Actors are always moved such that _they_ clip against blocking sprites, even if their blocking bit is clear. Setting the new bit make them not clip against anything. The promary use of this is for decorative moving sprites that are spawned in masses, such as rain or snow.
-
General
engine.c, in engine_addtsprite: if we can't add more tsprites because we
Show details
already have MAXSPRITESONSCREEN of them, return 1 to signal that the caller should break out of the loop.
-
General
Tweaks to compile the release build with clang. Now if it only would not
Show details
generate curious code like this one (Ubuntu 11.10's clang 2.9 on i386): 0x080a57ea <+538>: xor %al,%al 0x080a57ec <+540>: test %al,%al 0x080a57ee <+542>: jnz 0x80a57f2 <initgroupfile+546> => 0x080a57f0 <+544>: jmp 0x80a57f0 <initgroupfile+544> 0x080a57f2 <+546>: shl $0x4,%edi
-
General
Patch up out-of-bounds access in some voxel drawing code.
-
General
Don't spawn weapon tiles (WEAPONx_SPAWN) if any such value has been set
Show details
to negative numbers. Previously, only checks for being zero were performed, but CON code in the wild also has WEAPONx_SPAWN -1, which would propagate to the sprite picnum...
-
General
a.m32: new state 'print_parallel_midpts'
-
Rudimentary support for auto-aligning along TROR nextwalls.
Show details
Usage: press the ['] (quote) modifier together with the PERIOD key. Aligns only the immediate upper and lower neighbors of each wall that got aligned by following point2s or nextwalls. Doesn't play well with Alt (carry over xrepeat) yet, might need two subsequent alignment passes.
-
General
Fix out-of-bounds access in tile selector code in astub.c
-
General
checkdefs.sh script: hackish support for CON files, only 'include *.con' and
Show details
'definesound ... *.(voc|wav|ogg)' commands (missing: 'music', something else?).
-
General
Fix two yax_drawrooms() calls with too large sectnums (copy&paste error).
-
General
Fix a number of oob accesses with "switch switches".
Show details
Various code checked for switch tiles in the following manner, for (ii=0; ii<2; ii++) switch (DynamicTileMap[sprite[i].picnum-1+ii]) { case SOME_SWITCH: ... } which blows for picnum 0. Now, we simply disallow it.
-
Remove {eduke32,mapster32}.memmap files on clean/veryclean targets
Show details
(bioman request).
-
General
Fix negative array access in premap.c
-
General
Fix potential out-of-bounds array access in P_DisplayTip (happened with
Show details
WGR2 SVN, so not sure where there's a tipping animation there).
-
General
Fix sintable[] access with out-of-bounds values in core engine functions
Show details
(getzrange, hitscan, clipmove, drawmapview). They're reproducible with DNE1.3D; Since these angle values most likely come from CON code, my suggestion would be to bit-and all values representing angles with 2047 when setting the from CON, but I'd have to think about potential side-effects of doing this.
-
General
- Fix invalid polymer light array access originating from game's cleanup
Show details
callback 'G_Polymer_UnInit'. - In astub.c, reset spritelightid to -1 when nulling the spritelightptr of a sprite (no crashes observed, just precaution) - In sdlayer.c, catch SIGILLs with our signal handler too, since illegal instructions are what the instrumented debug builds will execute when attempting to carry out an undefined (per C) operation.
-
General
engine.c: fix shift by negative value in parascan().
-
General
polymer.c: fix out-of-bounds picanm[] read.
-
General
gameexec.c: fix calculation of a pointer value outside the bounds of an array
Show details
and an invalid derived pointer value.
-
General
Fix shift by values greater than 31 in some voxel loading code.
-
General
kplib.c: patch up negative array access, dunno how to really fix this at
Show details
the root.
-
fix AWFUL out-of-bounds WRITE with sector highlighting.
Show details
How in the name of hell this could pass undetected for so long is a mystery to me.
-
fix oob read when passing negative 'col' or 'backcol'
Show details
values; check the color index that is potentially gotten from the string to be printed.
-
General
Fix a potential out-of-bounds read and write when loading the help file
Show details
in Mapster32.
-
General
When compiling debugging builds with clang, enable -fcatch-undefined-behavior.
-
disable a few warning categories and other switches when compiling
Show details
with clang to prevent spamming the output.
-
General
Remove some warnings with clang, code-side changes.
-
General
Fix a warning with 64-bit builds.
-
General
Simple one-liner from Robin Green to fix a problem where the menu background tint would sometimes draw over the menu contents
-
General
a.m32: New function save_restore_hlsectors, also accessible from the Quote-F
Show details
menu. If some sectors are highlighted, save their indices. The highlighting of those particular sectors can then be restored at a later time (but careful across structural modifications that tweak sector indices) by running the same function. Shares a 'gamearray' with function 'collect_teleporting_sectors', so the latter will reset this one when run.
-
when failing to compile a state with a menu name, don't keep the
Show details
menu entry.
-
fix filling all sectors of a bunch with Ctrl-U. Previously, only
Show details
one sector was filled and the 'clear bunch' message was displayed even if the operation was canceled.
-
General
CON parser cleanup: make labelcode save offsets to CON code instead of
Show details
pointers and make it into an int32_t*.
-
General
CON parser cleanup: make labeltype be an int32_t* instead of an intptr_t*.
-
General
CON parser cleanup: when getting a value from labelcode[], assume that it
Show details
represents a pointer into the script for label types other than LABEL_DEFINE instead of checking inclusion of the value in the script bounds. This assertion was tested with WGR2 SVN.
-
Add the following commands to those which shouldn't be optimized away
Show details
with empty branches: ifcanseetarget, ifpdistl, ifpdistg, ifgotweapononce.