Dicembre 2012
-
Generale
Pack actor_t's bposx/bposy/bposz members into a vec3_t named "bpos".
-
save r_usenewshading in configuration file.
-
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.
-
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/
-
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.
-
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.
-
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
-
Generale
Fix ebacktrace on 32-bit. (Sorry, we're back to 5 MB.)
-
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.
-
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.)
-
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).
-
Generale
Fix savegame loading. Bump BYTEVERSION.
-
Generale
Replace the scrolling contributor credits with a static programmatic three-column layout.
-
Propagate the GRP file's modification time to all extracted files.
-
Generale
Fix CLANG=1 NOASM=1 build.
-
Generale
Factor out multiply repeated code into calc_ylookup().
-
effectively clamp drawn ceiling/floor tile sizes at 256.
Mostra dettagli
This prevents computing a shift value outside of [0..31].
-
correct message when changing shade by small steps ([+], [-], mwheel)
-
Generale
Factor out fogcalc() issuing and application of the computed values.
-
Generale
Rename global visibility to g_visibility, remove useless casts & old fog code.
-
Generale
OpenGL modes: factor out shade factor calculation.
Mostra dettagli
This also means that the "r_shadescale_unbounded 0" option will work in Polymer (except on models).
-
Generale
engine.c: factor a frequent getpalookup() use into getpalookupsh().
-
Generale
Add command line option "-rotatesprite-no-widescreen".
Mostra dettagli
This global option will set bit 1024 and clear bits 256 and 512 for all rotatesprite calls, fixing complex HUD drawing code relying on precise alignment of individual elements (widescreen rotatesprite is entirely unsuitable for this purpose).
-
Generale
Limit attempting to toggle DWM off when using OpenGL modes to Vista/7, because Windows 8 no longer supports disabling DWM. Apparently, Windows 8 contains a software DWM renderer, and all of the "Metro" bs is directly tied to DWM, so there is no longer a way for an app to disable it at will.
-
Generale
Change a few paths in various MSVC Makefiles to better suit my current dev environment. This doesn't really affect anyone else since these paths need to be customized to fit whatever machine by anyone building with MSVC anyway.
-
In 3D mode, [,] auto-aligns walls to the left.
-
fix LAlt (carry over xrepeat) option for auto-alignment [.].
-
Generale
Fix building on Linux; fix WITHOUT_GTK=0 build.
-
Generale
Win64 support! (Meaning it works, not that we recommend it for everyday use.)
Mostra dettagli
This includes a complete Windows header and library refresh, including the addition of 64-bit compiled libs: *libogg 1.3.0 *libvorbis 1.3.3 *zlib 1.2.7 *libpng 1.5.13 *libvpx 9a3de881c0e681ba1a79a166a86308bbc84b4acd *SDL_mixer 1.2.12 (for RENDERTYPE=SDL) *DirectX import libraries: dsound and dxguid (now included) To build in 64-bit, you essentially need MinGW's MSYS (but not MinGW itself) and MinGW-w64 at the top of your PATH. The target is automatically detected using `$(CC) -dumpmachine`. The EDukeWiki will get detailed instrucitons. All compiler and linker warnings when building in 64-bit mode have been fixed. Remaining 64-bit to-do: - The ebacktrace dll does not build under 64-bit. It uses code specific to the format of 32-bit executables and will have to be ported to work with 64-bit executables. A future 64-bit version will be named ebacktrace1-64.dll. - RENDERTYPE=SDL crashes in SDL_mixer's Mix_Linked_Version(). - DirectInput gives an error and does not function. This only affects joysticks, and the error never happens without any plugged in. - Port the classic renderer ASM to 64-bit. (Just kidding, this is way out of my league.) This commit includes a fair bit of Makefile development spanning all platforms, including simplifying the SDLCONFIG code, fixing build on Mac OS X (thanks rhoenie!), globally factoring Apple brew/port inclusion, enforcing that all -L come before all -l, and ensuring that $(shell ) is always :='d. In addition, I have resurrected the old GCC_MAJOR and GCC_MINOR detection using `$(CC) -dumpversion`, but I have made it failsafe in case the command fails or the version is manually specified. I have applied this new fine-grained detection where applicable, including allowing LTO, and restraining -W's to versions that support them.
-
Generale
Fix declaration-after-statement warning in game.c after r3270.
-
Generale
Update credits.
-
Generale
Build tweaks:
Mostra dettagli
Set up the use of {Windows,Apple}/{include,lib} regardless of feature toggles in Makefile.common using $(abspath ) in reference to the directory Makefile.common is in. Add the three DirectX headers that are actually used to the repo. (from: http://alleg.sourceforge.net/files/dx9mgw.zip) Since current MinGW versions include DirectX libs (for dynamic linking), remove "-L$(DXROOT)/lib". The DirectX headers are no longer a separate dependency for building. Add $(SDLROOT_OVERRIDE). $(SDLROOT) only functions for Windows and Mac OS X. Factor handling of $(DXROOT_OVERRIDE) and $(SDLROOT_OVERRIDE) into Makefile.shared using $(abspath ).
-
Generale
Port system gamearray access from M32Script to CON. Expose tilesizx and tilesizy.
Mostra dettagli
Also, fix deficient logic in Gv_Free and Gv_Clear (both M32 and CON) so that gamevar and gamearray erasure results are (closer to) correct, and so that the game does not crash when system arrays are accessed from CON because they all have been nulled.
-
Modify OGG looping code to support the LOOP_LENGTH tag (where internally LOOP_START + LOOP_LENGTH = LOOP_END), and all three tags without the underscore.
Mostra dettagli
As a note, libvorbis' vorbis_comment_query() checks for tags case-insensitively. (This was done to support the output of vgmstream's "test.exe -g".)
-
Replace all "ifeq ($(PLATFORM),LINUX)" with "ifeq ($(SUBPLATFORM),LINUX)" and set SUBPLATFORM=LINUX when PLATFORM equals LINUX, DINGOO, GCW, or CAANOO.
-
Generale
Fix building as C instead of C++
-
Generale
Networking patch from Jasper Foreman
-
Generale
Recognize the .pk4 file extension when loading grps and zips for shits and giggles (.pk3 was already recognized).
-
Generale
Move the definitions like MAXGAMEVARS out of the enums used for the gamevar flags, because it didn't really make a whole lot of sense for them to be there.
-
Generale
Replace the separate full Gv_AddVar/SubVar/etc functions with a macro that generates them since they were all the same anyway (other than the operator, obviously)
-
Generale
Replace outer apScriptGameEvent[...] checks with G_HaveEvent().
-
Generale
Don't call setaspect_new() at end of rotatesprite.
Mostra dettagli
This fixes 2nd and following rotatesprite calls drawing differently from the first in a context with custom set-up aspect, as reported by Lezing here: http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__143090 Also, back up and restore the aspect state across EVENT_DISPLAYREST.