February 2015
-
General
Remove animvpx's dependency on GLSL; adds in-place YUV420 to RGB888 conversion.
-
General
A whole bunch of mostly insignificant changes that didn't deserve separate commits. DONT_BUILD.
-
General
Get rid of the "press space to restart" message on mobile. DONT_BUILD.
-
General
Forgotten changes from a previous commit that renamed functions. DONT_BUILD.
-
General
Android fixes: let the player climb stairs while crouched and fix the quick switch function of the weapon wheel. DONT_BUILD.
-
General
Android menu changes. Moves a few settings in-game instead of in crappy system UI dialogs. DONT_BUILD.
-
General
Android SDLayer changes. DONT_BUILD.
-
General
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.
-
General
Android savegame hacks. DONT_BUILD.
-
General
More Android changes. DONT_BUILD.
-
General
C-CON changes
-
General
Animation system overhaul part 1. This allows for an unlimited number of .anm/.ivf files to be defined via duke3d.def and played back at any time with the new CON commands. Syntax is currently as follows, but may change:
Show details
cutscene "somefile.anm" { delay 10 } // defines somefile.anm with a delay of 10 120Hz tics between frames. a more typical framerate method may come later, but this is how the originals worked. Once defined, they can be played through CON with the new playback command, also called "cutscene". It works like this: definequote 12345 somefile.anm define ANIM_SOMEFILE 12345 ... cutscene ANIM_SOMEFILE // halts game execution and immediately plays cutscene, resuming execution when finished ... Sounds can be played during animations (and tiles can be overlaid, etc) like this: onevent EVENT_CUTSCENE ifcutscene ANIM_SOMEFILE { ifvare RETURN 12 // frame 12 sound FLY_BY rotatesprite ... } endevent The value of the RETURN var at the end of EVENT_CUTSCENE determines the next frame to play. This can be used for looping, etc. Attempting to play animations backwards outright is not advised as animations only seek in one direction (so rewinding requires running it through from frame 0 again). This is will WIP and hasn't been heavily tested at all, so please try it out.
-
General
Minor sound cleanup... clean up crappy old code, remove obsolete "FXDevice" and "MusicDevice" variables, etc.
-
General
Rename build configurations in VS project. DONT_BUILD.
-
General
Minor engine cleanup
-
General
Fix program entry point on win32, allows debugging SDL builds under MSVC.
-
General
Macro for handling ud.bgstretch. DONT_BUILD.
-
General
More twalltype
-
General
mdsprite.c: in md3load(), allocate m->head.surfs with Xcalloc, amending r4952.
Show details
And preventing enormous corruption due to a free() called on a garbage (malloc'd) pointer values this time. DO_BUILD_VERY_FAST_PLEASE!
-
General
Makefile.common: disallow building Lunatic with C++ for now. DONT_BUILD.
-
General
Provide a RETURN value of -2 to EVENT_DISPLAYLOADINGSCREEN after G_CacheMapData().
-
Add undefinevolume, undefineskill, and undefinelevel.
-
General
Rename "Polymost.f" string back to "Polymost" because it only confused users.
-
General
gameexec.c: in VM_Move(), update actor[].{floor,ceiling}z for enemies.
Show details
Previously, that was the case only with DRONE and COMMANDER. This makes non-falling enemies pass properly through TROR bunches.
-
General
actors.c: style-cleanup A_MoveSpriteClipdist(). DONT_BUILD.
-
in build.c, prevent oob of wall[] if joining non-adjacent sectors.
Show details
Also, some minor stylistic cleanup.
-
Amend retrieval of STR_*TIME for qgetsysstr, fixing LunaCON and possible oob.
Show details
- 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.
-
Remove some conditional disabling of spriteext features when !defined USE_OPENGL.
-
Add read-only access to ud.config.MusicToggle through the "musictoggle" member.
-
Add STR_YOURTIME, STR_PARTIME, STR_DESIGNERTIME, and STR_BESTTIME to qgetsysstr.
-
General
Factor out generation of strings for time values in the bonus screen. This involves the creation of ud.playerbest.
-
General
Correct the special behavior to select the pipebomb detonator when you have no pipebombs in your inventory but you have some thrown in the environment so that it animates properly and also applies with the next/previous weapon functions.
-
General
Move EVENT_DISPLAYMENU to after the black translucent background is drawn when in-game.
-
fix underallocation of TILE_TILT and tilting at very small resolutions.
Show details
Since TILE_TILT is only allocated once, it must be done with the maximum possible size.
-
General
sdlayer.c: minor stylistic simplification of sdlayer_checkversion(). DONT_BUILD.
-
General
osd.c: in OSD_HandleChar() for TAB, fix use of uninitialized osd->editor.buf[i].
Show details
Exposed by Valgrind. DONT_BUILD.
-
make -fbad-getactorvar-use-pli enabled by default. DONT_BUILD.
-
General
Make g_player a +1 offset pointer into 'static g_player_s[1 + MAXPLAYER]'.
Show details
This fixes the out-of-bounds read of former g_player[] in VM_EventCommon_().
-
on desktops, handle abs. z diff. of floor/ceiling to camera >= 1<<24.
-
General
engine.c: style-cleanup owallmost() and wallmost(). DONT_BUILD.
-
General
In DEBUGANYWAY=2/DEBUG_MAIN_ARRAYS build, declare tsprite[] as tspritetype.
Show details
Fixing a bunch of warnings. DONT_BUILD.
-
fix typos in control.lua (get/setmusicposition).
-
General
Add SFLAG_NOWATERDIP, unconditionally preventing actors from dipping into ST1 water.
Show details
By default, the following enemies have this flag set: OCTABRAIN, COMMANDER, DRONE. DONT_BUILD.
-
General
Actor ST1 handling: use A_GetWaterZOffset() with VM_Move(), too. DONT_BUILD.
Show details
This is where things are changed at last. This fixes lizmen walking on water.
-
General
Actor ST1 handling: cleanup part 2. DONT_BUILD.
Show details
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()).
-
General
Actor ST1 handling: clean up code a bit. (Preparation for real changes.)
Show details
In VM_Fall(), keep a temp preliminary new z position of the actor and assign only when we return. This is to each ease watching its value in GDB. DONT_BUILD.
-
General
mdsprite.c: in md3free(), also free s->geometry for each surface. DONT_BUILD.
Show details
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.)
-
General
menus.c: fix C build. DONT_BUILD.
January 2015
-
General
Fix next/previous weapon when the pipebomb detonator is active.
-
General
Don't allow Ogg Vorbis or FLAC files to be defined from def if the binary was built without the proper libraries.