Build 3135
SVN-
General
Fix C90 compliance warning in sdlmusic
-
General
Fix warning from r3128
SVN handles and Git names are merged into one person.
Fix C90 compliance warning in sdlmusic
Fix warning from r3128
Fix console key changing breakage
Add some compile time defined names for p->inven_icon values. Too bad these values aren't in the same order as the inventory items themselves... (dukeinv_t and dukeinvicon_t values do not match).
Hopefully fix the projectile breakage, and add some predefined names for working with the built in statnums
Move win32 "Initialized nedmalloc" message out of the function that prints the Windows version since it doesn't really belong there.
A pretty useless fix from a newer version of kplib than we forked from. I'm just tired of seeing it in my tree. ;)
Retire the actorscrptr[], actorLoadEventScrptr[], SpriteFlags[], ActorType[], SpriteCacheList[], ProjectileData[] and DefaultProjectile[] arrays in favor of a tile_t structure exposed as g_tile[]. This consolidates most of the MAXTILES sized arrays on the game side into one place.
WIP networking updates from Jasper Foreman
Comment out the A_GetZLimits() call right before the Bassert() in A_MoveSprite(). This call is a problem because the assertion expects "dasectnum" and spr->sectnum to match, but A_GetZLimits() can itself call A_SetSprite() which results in another call to A_MoveSprite() and can potentially change the sectnum again.
This commit also adds the NOTELEPORT sprite flag, which of course prevents sprites from teleporting.
Remove a debug line I accidentally committed a few days ago.
Add some CON defines for friendly names to pass to definegamefuncname. Now, instead of "definegamefuncname 36 something" you would "definegamefuncname GAMEFUNC_TURNAROUND something". It's just a little something to make CON files more readable.
Update xdelta3 to 3.0.4. I haven't actually tested these changes yet but they're directly from upstream.
Oops! Fix MinGW build issue caused by ripping out nedmalloc
Remove built-in copy of nedmalloc and update nedmalloc.dll. Note that the built-in copy of nedmalloc hasn't been updated or enabled in a really long time as modern system allocators (Windows 7 and Linux 3.x at least) are no longer consistently beat by nedmalloc (but nor are they consistently faster). So, the dll remains for users of Windows XP because it may still improve performance there (while not likely degrading it on Vista/7).
Move the Windows screen size based aspect ratio determination code down farther into the initialization and change the printed message to only appear when the calculation fails
Minor menu cleanups, only half-finished (if that).
A potential fix for MUSICANDSFX problems after loading a savegame. I was never able to reproduce the issue myself, but something like this seems like a good idea anyway. Thoughts?
actors.h updates needed for the networking changes I committed a few minutes ago
Clean up a couple of functions, namely P_IncurDamage()
Remove some outdated/incorrect code that was causing some issues when multiple copies of a single sound were playing and just one of them needed to be stopped.
CON access to ud.runkey_mode through get/setuserdef
Fix setting r_pr_maxlightpasses from .cfg at startup
Add cvar "cl_runmode" to control ud.runkey_mode. This should fix the "allow walk while running" preference not saving.
Prevent Windows "case mismatch" spam when loading files from disk with the Windows Explorer "hide extensions for known file types" option enabled. This simply changes the relevant Bstrcmp() calls to Bstrncmp() calls instead, using the length of the string returned by SHGetFileInfo() as the number of bytes to compare.
Fix the bug I caused with custom projectiles :p
The other half of the previous commit.
Fix issue with explosion sound cutoff in E1L2. This implements functionality to stop playback and free up the voice of a currently playing sound of the same ID when there are already MAXSOUNDINSTANCES (currently 8) of the same sound playing, determined by distance/volume and which sound is oldest.
Initial determination is based purely on distance/volume, and if two qualifying sounds have the same distance/volume the one which started playback first is the one that gets the axe. Feedback from other developers welcome.
Minor cleanups in actors.c, mostly relating to custom projectiles and the like. A bug causing custom projectiles to knock the player back twice as far as the hard-coded ones was also fixed. There should be no other functional changes for the end user.