Build 5283
SVN-
Generale
Address complaints from the "Mapster32 problems and bugs" thread.
Nickname SVN e nomi Git sono unificati per persona.
Address complaints from the "Mapster32 problems and bugs" thread.
Mapster32 changes:
-2d mode sprite colors are now automatically generated from the sprite's 8-bit tile. -Zooming in and out has been smoothed out. -The 2d mode crosshair cursor is now 1px thick instead of 2. -The left mouse button can now be used to select multiple wall points and sprites in 2d mode. -Ctrl-x now skips corrupt maps instead of going into an infinite loop. ;) -'-L function in 3d mode works again. -Sprites with a clipdist that has been changed from the default value of 32 will display a circular approximation of the distance in 2d mode. Note that the real clipping distance is actually closer to a square, but a circle looks much less confusing/stupid alongside the display of floor sprites. -2d mode status bar has been made a few shades lighter.
New experimental Mapster32 hybrid 2D/3D mode feature. Pressing F10 in 2D mode enables a picture-in-picture 3D view in the corner of the screen. When moving the mouse over the 3D view, the controls change to 3D mode controls and all 3D mode operations can be performed. The 3D view can be resized with shift + F10 and can be moved to different positions by holding CTRL and using the arrow keys.
This commit also implements a much more useful automatic grid sizing feature and smooths out zooming in and out of the map.
Very minor OSD cleanups, no functional changes. I was planning on doing more with this but decided to do something else instead, so I want it out of my tree without losing it. DONT_BUILD.
Makefile tweaks: remove BUILD_FINISHED because it frequently appeared in the wrong place when using make -j, and remove "executable" wording from linking phase. DONT_BUILD.
Enable sector drawing and textured map in Mapster32 sideview mode with a sideview elevation of 512 (straight up and down).
Fix clipshapes, accidentally broken in my vec2_t rotatepoint commit.
Fix crash when playing back an .ogg with comment metadata that doesn't contain "=".
Android and MSVC build fixes. DONT_BUILD.
r5238 build fix
Minor internal CON changes.
Minor VPX playback optimization. DONT_BUILD.
Add line numbers to a couple of .def parsing warning messages. At some point these should probably all be cleaned up, similar to how they're handled with CON parsing. DONT_BUILD.
Misc Android. DONT_BUILD.
Revert "vec2_t rotatepoint()."
Fix the sounds at the end of the episode 3 cutscene.
Polymost parallax sky fix.
Further constification. DONT_BUILD.
vec2_t rotatepoint().
Fix Polymost issue reported at http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__220265
Additional fix for building with newest MSYS2 packages. DONT_BUILD.
Build fix. DONT_BUILD.
A lot of CON rewrites/optimizations. Converts projectile system to dynamic allocation, saving a bunch of memory (something like sizeof(projectile_t) * MAXTILES * 2). This commit also contains changes that reduce overhead for CON commands that take a lot of parameters, by way of adding a Gv_GetManyVars() to replace long strings of subsequent calls to Gv_GetVarX().
Savegame version has been bumped due to the projectile changes. There is no way this commit doesn't cause at least one bug, so DONT_BUILD. ;)
Engine memory reductions/optimizations:
-faketilesiz[MAXTILES] removed in favor of simple faketile[(MAXTILES+7)>>3] bitfield -h_xsize/h_ysize (tile size overrides from .def) are now uint16_t instead of int32_t -hudmem[2][MAXTILES] removed in favor of adding a hudmem ptr to mdmodel_t -tilefromtexture performance improvements -more tsectortype/twalltype usage in various engine functions that read but never write -continued Polymost cleanups and refactors. Please report any odd rendering errors.
Fix building on case-sensitive filesystems on OS X, DONT_BUILD.
Remove a couple of Android-specific menu items I accidentally left enabled on PC.
MSVC build fix.
Fix Mapster32 mouse cursor in GL
Fix Polymer when switching from Polymost
Nocompress and nodownsize for skyboxes
Oops! :)
Polymost changes to better support running under GL ES. Still need to investigate GL_LINES and GL_QUADS... neither work under either GL -> GL ES wrapper we've tried, so we must be doing something wrong.
More Android work. DONT_BUILD.
Smooth out the loading bar so that all percentage increments are displayed for at least a couple of frames each, and remove the "loaded x/x textures" message on Android.
Remove animvpx's dependency on GLSL; adds in-place YUV420 to RGB888 conversion.
A whole bunch of mostly insignificant changes that didn't deserve separate commits. DONT_BUILD.
Fix kplib zip support
MSYS2 build fix. DONT_BUILD.
Fix savemapstate/loadmapstate (fixes a crash at shutdown, among other things)
Fix wildmatch(), resolves errors matching things like "*.zip" with "duke3d.hrp.zip" for example.
MSVC build fix... guess it was upset about the macro expansion
Fix off-by-one error in setview()
Implement better fade-out for quotes and for the mouse cursor in the menu.
Forgot this file in r4911
Fix tdupsprite in m32script.
Make dist() and ldist() take void pointers so we can compare spritetype with tspritetype without inserting casts everywhere.
Fix Mapster32 sector copying
Fix compiler warnings
Fix undefined behavior in Polymost
Disable mouse input affecting the menu when the console is down. This code is awful, because I am an awful man.
Crash fix
fix wall and floor sprites clipping into or z-fighting with surfaces (replaces glDepthRange() hacks for sprites), add r_nofog cvar for debugging, reduce the total number of OpenGL calls by only calling glFogi() to set the fog mode when initializing the renderer or changing r_usenewshading.
Introduce "twalltype" for temporary uses of walltype where using wall_tracker_hook() would be invalid. This is similar to "tspritetype" and fixes a bunch of problems in the editor that cropped up when changing the tracker sanity checks to an assert that only exists in debug builds (branching upon any write to a sprite, sector or wall had an unacceptable impact on performance).
Questionable CON changes and optimizations. <3
Fix Mapster32 bug where pressing "O" on a sprite twice would corrupt your map due to unchecked use of hitscan results.
Place the current loading percentage into RETURN for EVENT_DISPLAYLOADINGSCREEN.
Faster/better optimized access to game structures from C-CON.
Support r_windowpositioning in 8-bit.
Clean up/refactor a few gamevar related functions based on building as C++/C99 and some interesting articles I read about how GCC and Clang optimize switches. Worth a few FPS here.
Minor cleanup and formatting changes. DONT_BUILD.
Make FORCE_INLINE aware of DISABLE_INLINING. DONT_BUILD.
Fix EVENT_ANIMATESPRITES.
Fix warnings with VS2013 update 4. DONT_BUILD.
Fix MinGW build. DONT_BUILD.
Fixups to sync WIP SDL refactor up with r4738. DONT_BUILD.
Minor cleanups, mostly just formatting. DONT_BUILD.
Add missing "break" to M_RunMenuInput(), revert android gltexapplyprops() menu fuckery. DONT_BUILD.
Fix _FORTIFY_SOURCE redefinition warning on Ubuntu's patched versions of GCC. DONT_BUILD.