Build 5013
SVN-
General
MSVC build fix.
-
General
Fix Mapster32 mouse cursor in GL
-
General
Fix Polymer when switching from Polymost
SVN handles and Git names are merged into one person.
MSVC build fix.
Fix Mapster32 mouse cursor in GL
Fix Polymer when switching from Polymost
Fix swapbufreverse(), adding precondition of count >= 4.
Also, in premap.c:G_CacheMapData(), comment out what was supposedly intended as a debugging message ("percentage ...").
Fix an assertion failure with NETCODE=0. DONT_BUILD.
Fix build without DROIDMENU.
Oops! :)
Polymost changes to better support running under GL ES. Still need to investigate GL_LINES and GL_QUADS... neither work under either GL -> GL ES wrapper we've tried, so we must be doing something wrong.
Android fixes: let the player climb stairs while crouched and fix the quick switch function of the weapon wheel. DONT_BUILD.
Remove errant call to G_FadePalette() which caused a frame of corruption at map load under GL renderers, and invalidate all GL textures at map load time (just textures generated from .art on desktop, everything on mobile). This also makes Grabbag keep playing through the loading screen on Android (if no loadscreen music has been defined by a mod). DONT_BUILD.
Fix program entry point on win32, allows debugging SDL builds under MSVC.
mdsprite.c: in md3load(), allocate m->head.surfs with Xcalloc, amending r4952.
And preventing enormous corruption due to a free() called on a garbage (malloc'd) pointer values this time. DO_BUILD_VERY_FAST_PLEASE!
Amend retrieval of STR_*TIME for qgetsysstr, fixing LunaCON and possible oob.
- Add declarations of C functions to defs.ilua, names to dynsymlist, fix typo in con_lang.lua, ffi.string() calls in control.lua - Assert that G_LastMapInfoIndex() is always called with ud.last_level >= 1. (A stricter requirement than necessary to prevent follow-up oob accesses, but logically the most meaningful.) - In G_PrintParTime() and G_PrintDesignerTime(), return "<invalid>" if the above does not hold. This can happen from EVENT_NEWGAME, for example. Add a test to lunatic/test/qgetsysstr.con. DONT_BUILD.
fix underallocation of TILE_TILT and tilting at very small resolutions.
Since TILE_TILT is only allocated once, it must be done with the maximum possible size.
osd.c: in OSD_HandleChar() for TAB, fix use of uninitialized osd->editor.buf[i].
Exposed by Valgrind. DONT_BUILD.
Make g_player a +1 offset pointer into 'static g_player_s[1 + MAXPLAYER]'.
This fixes the out-of-bounds read of former g_player[] in VM_EventCommon_().
In DEBUGANYWAY=2/DEBUG_MAIN_ARRAYS build, declare tsprite[] as tspritetype.
Fixing a bunch of warnings. DONT_BUILD.
fix typos in control.lua (get/setmusicposition).
Actor ST1 handling: use A_GetWaterZOffset() with VM_Move(), too. DONT_BUILD.
This is where things are changed at last. This fixes lizmen walking on water.
Actor ST1 handling: cleanup part 2. DONT_BUILD.
Factor out condition for whether a z offset is added or not ("fix for flying/jumping monsters getting stuck in water", etc.) into a function A_GetWaterZOffset() (and a helper A_GetVerticalVel()).
mdsprite.c: in md3free(), also free s->geometry for each surface. DONT_BUILD.
This prevents a enormous leak being reported by LeakSanitizer. Not that it matters much, since we most frequently free models only at exit. (Sometimes one may be freed earlier though -- if there was an error loading it, AFAICS.)
menus.c: fix C build. DONT_BUILD.
Fix next/previous weapon when the pipebomb detonator is active.
Fix a bug where FLAC sound effects would loop when they were not supposed to.
Revise r4707 to fix some remaining issues with next/previous weapon.
Fix "rv may be used uninitialized".
Fix "textsize.x may be used uninitialized".
fix build and linking. DONT_BUILD.
- t{sector,wall}type are simply typedef'd to the non-t versions - make FORCE_INLINE unconditional of DISABLE_INLINING (otherwise there are multiple definitions of these functions) - update lunatic/doc/lpeg-lunatic.patch to apply against the LPeg 0.12 I just downloaded
fix "windowed" modes (r_size >= 12) by reverting r4920; adapt.
In setview(), we now assert windowx2 < xdim. The only calling places where its non-violation is non-trivial to ascertain are (1) showview from CON and (2) draw-to-tile for look-sideways in game.c. AFAICS case 1 should be fine. Case 2 is adapted; see comments there.
Fix bsearch() call for user G_LoadMapHack(): don't access nonexistent storage. DONT_BUILD.
polymost.c: fix possible access of wallchanged[-1]. DONT_BUILD.
engine.c: fix memory leak. DONT_BUILD.
polymost.c: fix C build. DONT_BUILD.
Fix a crash exposed by animating the menu back button.
Fix kplib zip support
MSYS2 build fix. DONT_BUILD.
Fix savemapstate/loadmapstate (fixes a crash at shutdown, among other things)
Fix wildmatch(), resolves errors matching things like "*.zip" with "duke3d.hrp.zip" for example.
MSVC build fix... guess it was upset about the macro expansion
Fix off-by-one error in setview()
Fix aligned screentext with newlines.
Fix tdupsprite in m32script.
Fix Mapster32 sector copying
Fix compiler warnings
Fix undefined behavior in Polymost
Crash fix
fix wall and floor sprites clipping into or z-fighting with surfaces (replaces glDepthRange() hacks for sprites), add r_nofog cvar for debugging, reduce the total number of OpenGL calls by only calling glFogi() to set the fog mode when initializing the renderer or changing r_usenewshading.
Introduce "twalltype" for temporary uses of walltype where using wall_tracker_hook() would be invalid. This is similar to "tspritetype" and fixes a bunch of problems in the editor that cropped up when changing the tracker sanity checks to an assert that only exists in debug builds (branching upon any write to a sprite, sector or wall had an unacceptable impact on performance).
Fix Mapster32 bug where pressing "O" on a sprite twice would corrupt your map due to unchecked use of hitscan results.
Fix distrecip calculation
MSVC C++ build fixes. DONT_BUILD.
Fix up weapon switching deficiencies