December 2012 33 builds · 98 commits
Build 3350
SVN-
General
Replace the osdcvar_t members that needed to be kept in sync with cvar_t with an actual cvar_t. If this is questionable for any reason I'm forgetting, feel free to revert!
-
General
Surround "debug1" and "debug2" with #ifdef DEBUGGINGAIDS
Build 3348
SVNBuild 3347
SVN-
General
Clean up a couple of other getrendermode() related bits that the previous commit missed
-
General
Add predefined REND_CLASSIC, REND_POLYMOST and REND_POLYMER constants and use them everywhere getrendermode() is called.
Build 3345
SVN-
more glue, fixes, backtrace for code called back from C.
-
General
Replace "if (g_tile[..].execPtr)" -> "if (G_HaveActor(...))".
-
beginning to glue things together. Introducing LUNATIC_ONLY.
-
General
Remove commented code using former engine variable "automapping".
-
General
Fix LTO=1 RELEASE=1 Lunatic build.
Build 3340
SVN-
General
Rectify.
-
General
Fix SVN mime-types of binary files.
Show details
Windows batch file: for /r %%G in (*.a) do svn propset svn:mime-type application/octet-stream "%%~G" for /r %%G in (*.lib) do svn propset svn:mime-type application/octet-stream "%%~G" for /r %%G in (*.dll) do svn propset svn:mime-type application/x-msdownload "%%~G" for /r %%G in (*.ico) do svn propset svn:mime-type image/vnd.microsoft.icon "%%~G" for /r %%G in (*.icns) do svn propset svn:mime-type image/icns "%%~G" for /r %%G in (*.bmp) do svn propset svn:mime-type image/bmp "%%~G" for /r %%G in (*.png) do svn propset svn:mime-type image/png "%%~G" for /r %%G in (*.xcf) do svn propset svn:mime-type image/x-xcf "%%~G" for /r %%G in (*.psd) do svn propset svn:mime-type image/vnd.adobe.photoshop "%%~G" for /r %%G in (*.nib) do svn propset svn:mime-type application/octet-stream "%%~G" for /r %%G in (*.map) do svn propset svn:mime-type application/octet-stream "%%~G" svn propset -R svn:mime-type application/octet-stream polymer/eduke32/Apple/lib svn propset -R svn:mime-type application/octet-stream polymer/eduke32/Windows/lib/32 svn propset -R svn:mime-type application/octet-stream polymer/eduke32/Windows/lib/64 svn propset -R svn:mime-type application/octet-stream polymer/eduke32/source/jaudiolib/third-party/Apple/lib svn propset -R svn:mime-type application/octet-stream polymer/eduke32/source/jaudiolib/third-party/Windows/lib/32 svn propset -R svn:mime-type application/octet-stream polymer/eduke32/source/jaudiolib/third-party/Windows/lib/64
-
General
Clean up and factor jaudiolib.
-
General
Replace initialize_globals() with global initialization.
-
General
Fix the gap between loops of ambient MUSICANDSFX sounds like BAR_MUSIC.
Build 3333
SVN-
General
Bump DirectSound version to 8. This shouldn't really affect anything as the API is the same for all of the bits we make use of, but certain sets of DirectX headers/libs seem to be lacking v7 support.
-
General
Remove FX_ASSVersion and related code since it wasn't used anywhere
-
General
Throw a compiler warning when building with only the null sound driver
-
General
Fix DirectSound in MSVC builds and remove the dependency on the DirectX SDK
Build 3329
SVN-
General
DEF "voxel": fix a tile range check failure message.
-
General
Encapsulate aplWeapon* array accesses in a PWEAPON(Player, Weapon, Wmember) macro.
Show details
In the normal game, these arrays are conceptually [MAX_WEAPONS][MAXPLAYERS], allocated as CON per-player gamevars (e.g. WEAPONx_WORKSLIKE). For Lunatic, they are replaced with weapondata_t g_playerWeapon[MAXPLAYERS][MAX_WEAPONS].
-
General
Replace wall of dup'd code in Gv_AddSystemVars with something more readable.
Show details
Specifically, have a weapondata_t type mimicking the aplWeapon* arrays. Keep a list weapondefaults[] which undergoes some static->dynamic tweaks and then makes its way to the WEAPONx_XXX per-player gamevars.
-
General
Replace initialize_engine_globals() with array initialization.
-
General
Lunatic translator: pack all translation units into one big blob.
Build 3321
SVN-
General
Cleanup of console/on-screen-display (OSD) functionality.
Show details
- Rewrite the "clear background" routine in a no-brainer way instead of juggling around with rotatesprite(). Make it common to game+editor. Expose glRectd to glbuild. - Don't stop OSD text line drawing when encountering a non-printable char. Instead, treat it as space. - In OSD_SetTextMode(), don't use swaplong (which really swaps 32-bit ints) to swap pointers. Write an analogous "swapptr" instead. - When changing from/to OSD, don't inject a pause key. This *might* have been the cause of the reported pausing problems. - clean up the code... (Yes, this commit throws together too much stuff. I suck sometimes. :P)
-
event chaining.
-
print -> OSD_Printf, error reporting.
-
General
Clip printext256() at xdim, don't crash OSD_Printf() with empty string.
Build 3317
SVN-
General
Add a couple of test CONs: non-local control flow, rotation-fixed useractors.
-
General
Fix rotation-fixed useractors (those having usertype bit 4 set).
Show details
Rotation-fixing happens for a couple of hard-coded statnums that presumably never move (DEFAULT, STANDABLE, FX, FALLER, LIGHT), but for actors it wouldn't make sense since the common case is that they do move. For this reason, bit 4 was introduced in r1934. The position of such useractors will not diverge due to error roundoff accumulation in rotating sectors (SE0, train).
-
more complete gameactor(), misc. translator tweaks.
Build 3314
SVN-
General
Pack actor_t's bposx/bposy/bposz members into a vec3_t named "bpos".
-
save r_usenewshading in configuration file.
Build 3312
SVN-
General
Fix build.lua's loadarts(), add bigytiles.lua.
-
General
engine.c: remove some old "#if 1"s, add compilation switch MULTI_COLUMN_VLINE.
Show details
Unconditionally enabled, but useful for comparing the behavior of the 1-column vline functions against the 2- or 4-column ones.
-
fix drawing tilesizy=512 walls, use non-pow2 routines with pskies.
Show details
The former is really only a workaround. Walls/vertical sprites/pskies with ysize 512 (and presumably greater, but this was not tested) are rendered with one shade higher at the borders (1 pixel vlines) because of a certain assumption in the ASM (see comments there). With very dark shades, the palookup[] buffer is accessed oob. We simply allocate 256 bytes more at the end for each. The latter is only for CLASSIC_NONPOW2_YSIZE_WALLS builds, which is not enabled yet. It seems to matter only for the uncommon case where the such pskies repeat in the height. A 1680x1050 window fully covered with such a sky is then rendered at about 60/85 the FPS for me (mostly due to not using the 4 pixel vline routines), so it may be leaning a bit too much on the side of correctness. A compilation switch DEBUG_TILESIZY_512 is introduced in engine.c for demonstration purposes.
Build 3309
SVN-
General
Add "mapinfo" token to the def parser, pending implementation.
Show details
Sub-tokens: "mapfile", "maptitle", "mapmd4", "mhkfile" http://forums.duke4.net/topic/6070-user-map-maphacks-eduke32-feature-request/
Build 3308
SVN-
in 3D mode's tile info, highlight members of swapped bottom walls.
Show details
- If aiming at a swapped bottom wall, display "Wall <wallnum> -> <otherwallnum>" - highlight pic, shade, pal, cstat in yellow then - in printext256, accept at most 3 digits for the color format string (e.g. ^123)
-
General
In Polymost, make r_usenewaspect=2 fog independent of screen x size.
Build 3306
SVN-
when pasting single wall, take over bits 4, 1+64 and 8+256.
Show details
That is, everything concerning orientation. Previously, it was wrongly the bitwise NOT of these bits that got taken over. In particular, if bit 2 (swap bottom walls) would get pasted, ridiculousness could ensue.
Build 3305
SVN-
General
Revert "Implement fullscreen 8bpp mode as a borderless, desktop-sized window when running on Windows, and expose an 8bpp mode to the game with the same size as the desktop when no fullscreen 8bpp modes are exposed by Windows. This is required on Windows 8 if we want to have any operation of classic mode in fullscreen, because Windows 8 drops the ability to set any mode other than 32bpp (leaving us largely in the same position we are when running under X)."
Show details
- Reverts
- 705cc72
Build 3304
SVN-
General
Fix ebacktrace on 32-bit. (Sorry, we're back to 5 MB.)
Build 3303
SVN-
General
Move fog calc routines into polymost.c, declare in engine_priv.h.
-
General
Don't enable fog in polymost_printext256() and when drawing tile view in M32.
Show details
The new "r_usenewshading 2" mode could darken these otherwise.
-
General
Classic-like visibility/fog for OpenGL modes, r_usenewshading 2 (new default).
Show details
Implemented using GL_LINEAR fog. The only source of difference (besides the obvious indexed vs. true color) should now be the distance constant, which still had to be determined experimentally. Polymer implements this mode in its fog fragment program part. Parallaxed skies are always drawn with full visibility, I'm not sure if there are any maps that expect otherwise. Also, accidentally committed: factor out initialization code from polymost_printext256() into gen_font_glyph_tex(), small game.c changes.
Build 3300
SVN-
General
Fix the DirectInput breakage on Win64.
Show details
It was caused by the definition of c_dfDIJoystick using literal 24 and 16 values in place of sizeof(DIDATAFORMAT) and sizeof(DIOBJECTDATAFORMAT), which include pointers. On 64-bit, the values end up being 32 and 24, causing a discrepancy in which DIERR_INVALIDPARAM was thrown. https://gitorious.org/0xdroid/external_libsdl-12/commit/1b1e05db06edcbe64599c6a5ad703795e0e02acb/diffs
-
General
ebacktrace1 updates:
Show details
- Updated to use StackWalk64 function call, requiring some addition of headers from MinGW-w64 to compile with MinGW. - Code added to support 64-bit executables: functionality added and one warning fixed. - New DLL binaries compiled using i686-MinGW-w64 and x86_64-MinGW-w64. (Oddly, the DLL built with MinGW is 5 MB while MinGW-w64's is 1 MB.)
Build 3298
SVN-
General
Sort some of the more recently added source and header files so they're in the right sections in the VS2010 project
-
General
Remove a few old references to the duke3d_w32.exe wrapper we once shipped
Show details
to facilitate compatibility with stuff like Dukester X years ago
-
General
Implement fullscreen 8bpp mode as a borderless, desktop-sized window when running on Windows, and expose an 8bpp mode to the game with the same size as the desktop when no fullscreen 8bpp modes are exposed by Windows. This is required on Windows 8 if we want to have any operation of classic mode in fullscreen, because Windows 8 drops the ability to set any mode other than 32bpp (leaving us largely in the same position we are when running under X).