Build 5303
SVN-
change default 2d3d position to upper right corner, remove debug printf I accidentally committed.
Nickname SVN e nomi Git sono unificati per persona.
change default 2d3d position to upper right corner, remove debug printf I accidentally committed.
Mapster32:
-Improved indication of selections in 2d mode. This includes both highlighted objects and multiple object selection. -2d3d improvements: it's no longer possible to end up with a black view due to the z position being out of range when moving the cursor position to a new area with the right mouse button. -The middle mouse button can now be used in place of the right alt key when selecting sectors, similar to how the left mouse button can be used in place of the right shift key to select points and sprites. -2d mode mouse cursor has been changed to a 1 pixel thick red cross with a shadow instead of a 2 pixel thick red cross with no shadow. This improves visibility when working in textured mode with lava sectors and other textures similar in color. -2d mode palette now changes when working in an underwater sector. -Misc tweaks
don't warn about the map being corrupt if the only thing wrong with it is a sector ceilingheinum or floorheinum set without the corresponding bits to enable sloping set. DONT_BUILD.
misc cleanups, support for drawing transparent lines in 2d mode. DONT_BUILD.
Fix warnings
upload bucket indices through pinned host memory.
fix regression with Y-flipping bit.
add preliminary support for batching draws.
fix synthesis warning.
store map data in a single buffer with a unified vertex type.
further 2d mode performance improvements. Sprites are also now displayed with their xrepeat and yrepeat taken into account. It's not perfect yet... needs more "jiggery-pokery"
fix two "variable may be used uninitialized" warnings.
I didn't produce a case when this could actually have happened, but reading the code, in the case of variable 'j' it seems possible with an empty map.
fix a possible oob read via drawspritelabel; sanitize 2d3d mode.
That is, in m32_is2d3dmode(), also check if 2d and 3d mode resultions are the same. Otherwise, oob writes (e.g. via tileinfo_doprint()) and other thinkable niceties may ensue.
2d mode performance improvements
improve 2d mode sprite label display. I want to test this further, so this is marked as DONT_BUILD.
Update VS project. DONT_BUILD.
Disable FLAC in MSVC builds for now until I have time to build new libraries that are compatible with VS2015. DONT_BUILD.
fix 3d picture-in-picture when editing a map with TROR.
improve diagnostic message.
A couple of Mapster32 tweaks to play nicer with different palettes.
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 automap lines in Polymer mode
add pr_nullrender variable to toggle drawing and updating GL buffers
fix an oob write in test_map().
mdsprite.c: from updateanimation(), if m->[cn]frame >= numframes, clear to 0.
This prevents an oob access when rendering, the one observed was at polymer.c:4255.
Fix an out-of-bounds read in getpskyidx().
m32exec.c fix "multiple unsequenced modifications to 'insptr' [-Wunsequenced]".
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.
Define the formerly nonsensical combination of orientation bits 256 and 512 to mean "automatically zoom the tile so that the 320x200 coordinate system is vert-minus widescreen instead of horiz-plus".
Fix warning: narrowing conversion of 'img->vpx_image::d_w' and 'img->vpx_image::d_h' from 'unsigned int' to 'int32_t {aka int}' inside { } is ill-formed in C++11 [-Wnarrowing]
Add "multipsky" token.
Convert multi-psky handling to use dynamically-allocated arrays.
Re-expose kpzbufsiz and set it to zero in uninitengine, preventing potential crashes from successive re-initializations of the engine.
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.