Dicembre 2012 33 build · 98 commit
Build 3350
SVN-
Generale
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!
-
Generale
Surround "debug1" and "debug2" with #ifdef DEBUGGINGAIDS
Build 3348
SVNBuild 3347
SVN-
Generale
Clean up a couple of other getrendermode() related bits that the previous commit missed
-
Generale
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.
-
Generale
Replace "if (g_tile[..].execPtr)" -> "if (G_HaveActor(...))".
-
beginning to glue things together. Introducing LUNATIC_ONLY.
-
Generale
Remove commented code using former engine variable "automapping".
-
Generale
Fix LTO=1 RELEASE=1 Lunatic build.
Build 3340
SVN-
Generale
Rectify.
-
Generale
Fix SVN mime-types of binary files.
Mostra dettagli
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
-
Generale
Clean up and factor jaudiolib.
-
Generale
Replace initialize_globals() with global initialization.
-
Generale
Fix the gap between loops of ambient MUSICANDSFX sounds like BAR_MUSIC.
Build 3333
SVN-
Generale
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.
-
Generale
Remove FX_ASSVersion and related code since it wasn't used anywhere
-
Generale
Throw a compiler warning when building with only the null sound driver
-
Generale
Fix DirectSound in MSVC builds and remove the dependency on the DirectX SDK
Build 3329
SVN-
Generale
DEF "voxel": fix a tile range check failure message.
-
Generale
Encapsulate aplWeapon* array accesses in a PWEAPON(Player, Weapon, Wmember) macro.
Mostra dettagli
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].
-
Generale
Replace wall of dup'd code in Gv_AddSystemVars with something more readable.
Mostra dettagli
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.
-
Generale
Replace initialize_engine_globals() with array initialization.
-
Generale
Lunatic translator: pack all translation units into one big blob.
Build 3321
SVN-
Generale
Cleanup of console/on-screen-display (OSD) functionality.
Mostra dettagli
- 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.
-
Generale
Clip printext256() at xdim, don't crash OSD_Printf() with empty string.
Build 3317
SVN-
Generale
Add a couple of test CONs: non-local control flow, rotation-fixed useractors.
-
Generale
Fix rotation-fixed useractors (those having usertype bit 4 set).
Mostra dettagli
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-
Generale
Pack actor_t's bposx/bposy/bposz members into a vec3_t named "bpos".
-
save r_usenewshading in configuration file.
Build 3312
SVN-
Generale
Fix build.lua's loadarts(), add bigytiles.lua.
-
Generale
engine.c: remove some old "#if 1"s, add compilation switch MULTI_COLUMN_VLINE.
Mostra dettagli
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.
Mostra dettagli
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-
Generale
Add "mapinfo" token to the def parser, pending implementation.
Mostra dettagli
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.
Mostra dettagli
- 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)
-
Generale
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.
Mostra dettagli
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-
Generale
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)."
Mostra dettagli
- Annulla
- 705cc72
Build 3304
SVN-
Generale
Fix ebacktrace on 32-bit. (Sorry, we're back to 5 MB.)
Build 3303
SVN-
Generale
Move fog calc routines into polymost.c, declare in engine_priv.h.
-
Generale
Don't enable fog in polymost_printext256() and when drawing tile view in M32.
Mostra dettagli
The new "r_usenewshading 2" mode could darken these otherwise.
-
Generale
Classic-like visibility/fog for OpenGL modes, r_usenewshading 2 (new default).
Mostra dettagli
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-
Generale
Fix the DirectInput breakage on Win64.
Mostra dettagli
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
-
Generale
ebacktrace1 updates:
Mostra dettagli
- 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-
Generale
Sort some of the more recently added source and header files so they're in the right sections in the VS2010 project
-
Generale
Remove a few old references to the duke3d_w32.exe wrapper we once shipped
Mostra dettagli
to facilitate compatibility with stuff like Dukester X years ago
-
Generale
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).