Commit graph

405 commits

Author SHA1 Message Date
helixhorned
e272252664 Mapster32: remove "Ludicrous Zoom!" message when reaching max 2D zoom.
The problem is that it stays a few seconds afterwards, obscuring
information on the status line.

git-svn-id: https://svn.eduke32.com/eduke32@5421 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-14 17:21:13 +00:00
hendricks266
13c7b771a3 Use the script parser for names files instead of custom parsing. This allows names files to define labels as other labels.
git-svn-id: https://svn.eduke32.com/eduke32@5414 1a8010ca-5511-0410-912e-c29ae57300e0
2015-11-01 19:56:22 +00:00
helixhorned
3a7ed49c9a Mapster32: various stylistic tweaks, no functional changes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5413 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 19:35:25 +00:00
helixhorned
8f5c6ab05a Mapster32: in TROR-join sectors [Ctrl+J], print z difference hint.
At the very least, this makes it easier to decide for one option
("Connect yellow ceiling w/ blue floor (1) or (v)ice versa?")
when one of the differences is zero, which might have occurred from
temporarily breaking TROR links.

git-svn-id: https://svn.eduke32.com/eduke32@5412 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 15:13:33 +00:00
helixhorned
d824ddf406 Mapster32: fix fillsector() calls before fade_editor_screen().
The latter allows one to specify a color to keep, but with r5302 the
fillsector() highlights are drawn with transparency, thus making it ineffective.
Add an argument to toggle transparency to fillsector()
(now fillsector_maybetrans()) and two wrapper functions.

git-svn-id: https://svn.eduke32.com/eduke32@5411 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 15:13:32 +00:00
helixhorned
d9d8a56abf Mapster32: don't offer to "Insert outer loop and make red walls" w/ RAlt+RCtrl.
This feature only makes sense with the complete de-selection of a set of
sectors, i.e. when pressing RAlt to do this, not adding or removing sectors
to/from the set of already highlighted ones.

git-svn-id: https://svn.eduke32.com/eduke32@5410 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-31 15:13:29 +00:00
hendricks266
f2a99dec75 Fix a crash in the editor when the basepalette is loaded from def instead of PALETTE.DAT, caused by trying to getclosestcol() without having initialized the colormatching code. Exposed in r5359; previously resulted only in erroneous matching to an all-#000000 palette.
git-svn-id: https://svn.eduke32.com/eduke32@5384 1a8010ca-5511-0410-912e-c29ae57300e0
2015-10-10 06:57:57 +00:00
hendricks266
5f2b662c77 Split the getclosestcol functions into a new object, colmatch.
git-svn-id: https://svn.eduke32.com/eduke32@5359 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-27 21:17:59 +00:00
hendricks266
a557eedf7e Remove NULL checks before calling free(): they are unnecessary as per the C standard. Other cleanup includes factoring code into DO_FREE_AND_NULL() macros.
git-svn-id: https://svn.eduke32.com/eduke32@5352 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:31 +00:00
hendricks266
064461a06f Internally, work with 24-bit palettes instead of 18-bit.
git-svn-id: https://svn.eduke32.com/eduke32@5349 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:55:11 +00:00
hendricks266
ce7a20d4f2 Restructure loadpalette() so that read errors are not immediately fatal and enforce that the necessary parts have been loaded in E_PostInit (after loaddefinitionsfile()).
git-svn-id: https://svn.eduke32.com/eduke32@5346 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:50 +00:00
hendricks266
43459780af Engine: Add E_PostInit, called from the game after loaddefinitionsfile().
git-svn-id: https://svn.eduke32.com/eduke32@5345 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-23 17:54:42 +00:00
helixhorned
1ea397d0b4 Mapster32: RCtrl+RAlt (+['] or [;]) selects sectors in 3D mode, by The Mechanic.
git-svn-id: https://svn.eduke32.com/eduke32@5339 1a8010ca-5511-0410-912e-c29ae57300e0
2015-09-05 08:30:59 +00:00
helixhorned
f7982e11c5 Mapster32: after playtesting with Esc+[T], break from the key polling loop.
Bug noticed and fix located by The Mechanic.

git-svn-id: https://svn.eduke32.com/eduke32@5336 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-29 17:43:40 +00:00
hendricks266
c052540d42 Fix USE_OPENGL=0 build.
git-svn-id: https://svn.eduke32.com/eduke32@5332 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:49 +00:00
hendricks266
4360b89fb5 M32: Add EVENT_PREDRAW2DSCREEN.
git-svn-id: https://svn.eduke32.com/eduke32@5329 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-15 21:28:05 +00:00
helixhorned
0dc20f913c Mapster32: call AppGrabMouse() on show/retract OSD like in the game.
This is necessary to hide the mouse cursor in some settings (such as
with the debug build under Xfce). DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@5321 1a8010ca-5511-0410-912e-c29ae57300e0
2015-08-08 11:03:07 +00:00
helixhorned
c9949f53a3 engine: fix unbalanced begindrawing()/enddrawing() pair in printext16().
git-svn-id: https://svn.eduke32.com/eduke32@5310 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:20 +00:00
helixhorned
73ca265137 Fix various, but not all warnings.
Except:
 - missing braces around initializer [-Wmissing-braces]: due to union-in-struct
   vec3f_t
 - comparison between signed and unsigned integer expressions [-Wsign-compare]:
   in polymer.c

git-svn-id: https://svn.eduke32.com/eduke32@5309 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-25 17:23:17 +00:00
terminx
1af89e0b1d Mapster32: re-enable changing position in 2d mode with the right mouse button when dragging selected objects
git-svn-id: https://svn.eduke32.com/eduke32@5308 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-23 23:51:30 +00:00
terminx
6f9a9c94ec Mapster32: fix frame locking issue with 2d3d mode, crash when toggling bottom texture swap, issues with drawing certain types of walls.
git-svn-id: https://svn.eduke32.com/eduke32@5307 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-22 02:06:23 +00:00
terminx
dfe614db5c Mapster32: fix 3d mode status messages being overwritten with position/ang/horiz readouts.
git-svn-id: https://svn.eduke32.com/eduke32@5305 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-20 20:25:29 +00:00
terminx
79ac071f5b Mapster32: change default 2d3d position to upper right corner, remove debug printf I accidentally committed.
git-svn-id: https://svn.eduke32.com/eduke32@5303 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 03:21:19 +00:00
terminx
480dc0ecaf 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

git-svn-id: https://svn.eduke32.com/eduke32@5302 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-17 00:12:48 +00:00
terminx
868afddbc3 Mapster32: 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"
git-svn-id: https://svn.eduke32.com/eduke32@5293 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 23:07:47 +00:00
helixhorned
e20e6584d6 Mapster32: 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.

git-svn-id: https://svn.eduke32.com/eduke32@5292 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 17:06:30 +00:00
helixhorned
0419e64c0a Mapster32: 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.

git-svn-id: https://svn.eduke32.com/eduke32@5291 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-11 14:13:04 +00:00
terminx
21e9125f2d Mapster32: 2d mode performance improvements
git-svn-id: https://svn.eduke32.com/eduke32@5290 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 21:19:41 +00:00
terminx
253f0b8771 Mapster32: improve 2d mode sprite label display. I want to test this further, so this is marked as DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@5289 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:48 +00:00
terminx
9d1503ac12 Mapster32: fix 3d picture-in-picture when editing a map with TROR.
git-svn-id: https://svn.eduke32.com/eduke32@5286 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-10 07:56:35 +00:00
terminx
c79691bb6f Mapster32: improve diagnostic message.
git-svn-id: https://svn.eduke32.com/eduke32@5285 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-09 05:58:05 +00:00
terminx
3ff2e2155c A couple of Mapster32 tweaks to play nicer with different palettes.
git-svn-id: https://svn.eduke32.com/eduke32@5284 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-09 05:58:00 +00:00
terminx
ff466191cb Address complaints from the "Mapster32 problems and bugs" thread.
git-svn-id: https://svn.eduke32.com/eduke32@5283 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-09 03:55:24 +00:00
terminx
f72dffce07 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.

git-svn-id: https://svn.eduke32.com/eduke32@5282 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:46 +00:00
terminx
86f94d2897 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.

git-svn-id: https://svn.eduke32.com/eduke32@5281 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:42 +00:00
terminx
d47187a92d Enable sector drawing and textured map in Mapster32 sideview mode with a sideview elevation of 512 (straight up and down).
git-svn-id: https://svn.eduke32.com/eduke32@5278 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:31 +00:00
terminx
558c2dae48 Improve r_preview_mouseaim and Polymost Mapster32 3d mode mouse selection. Also adds a display of the current coordinates, angle and horiz when moving around in 3d mode.
git-svn-id: https://svn.eduke32.com/eduke32@5277 1a8010ca-5511-0410-912e-c29ae57300e0
2015-07-08 03:34:27 +00:00
helixhorned
efe3d87cf8 Mapster32: fix an oob write in test_map().
git-svn-id: https://svn.eduke32.com/eduke32@5265 1a8010ca-5511-0410-912e-c29ae57300e0
2015-06-07 09:55:41 +00:00
terminx
54d016902f vec2_t rotatesprite, take 2
git-svn-id: https://svn.eduke32.com/eduke32@5239 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-26 00:47:54 +00:00
helixhorned
68f52a4257 Mapster32: honor r_usenewaspect, especially it being off.
For this, add a setaspect_new() setup/restore pair in M32_DrawRoomsAndMasks()
like for G_DrawRooms(). With this, changing viewingrange/aspect via m32script
(in a.m32: [7] -- [9] on the upper row) can only be done in r_usenewaspect 0,
though.

git-svn-id: https://svn.eduke32.com/eduke32@5182 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-10 10:55:30 +00:00
hendricks266
b3639ae8e7 Replace most instances of casting byte arrays to wider integral types with the B_(UN)BUF functions in compat.h that were previously used only in the netcode.
I have commented out the versions of these functions that perform bitmasks and shifts and replaced them with versions that cast to and from integral types, pending performance and compatibility research across platforms.

git-svn-id: https://svn.eduke32.com/eduke32@5174 1a8010ca-5511-0410-912e-c29ae57300e0
2015-05-03 07:03:48 +00:00
terminx
53d2e0939e Revert "vec2_t rotatepoint()."
This reverts commit b0eeef385aecf9cea3ec2bd0ee82f59982942ce0.

git-svn-id: https://svn.eduke32.com/eduke32@5154 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:49:36 +00:00
terminx
ce5260e235 vec2_t rotatepoint().
git-svn-id: https://svn.eduke32.com/eduke32@5150 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-18 21:37:01 +00:00
helixhorned
f74b38bcd8 Mapster32/C++ build/non-Lua: probably fix a crash in showsectordata().
Reported in
http://forums.duke4.net/topic/1348-mapster32-problems-and-bugs/page__view__findpost__p__220722
I could not reproduce it, but it is thinkable that 'searchsector' could have
been out-of-sync with the 'sectnum' local. (For example, the former one could
have been -1, triggering the crash.)

git-svn-id: https://svn.eduke32.com/eduke32@5132 1a8010ca-5511-0410-912e-c29ae57300e0
2015-04-11 13:53:07 +00:00
helixhorned
d915c49935 Mapster32: in build.c, prevent oob of wall[] if joining non-adjacent sectors.
Also, some minor stylistic cleanup.

git-svn-id: https://svn.eduke32.com/eduke32@4973 1a8010ca-5511-0410-912e-c29ae57300e0
2015-02-08 18:48:30 +00:00
terminx
19729fc766 Fix Mapster32 sector copying
git-svn-id: https://svn.eduke32.com/eduke32@4909 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-12 08:44:46 +00:00
terminx
107bb7a3fa 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).
git-svn-id: https://svn.eduke32.com/eduke32@4903 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:56:38 +00:00
terminx
2928a9dfa9 Fix Mapster32 bug where pressing "O" on a sprite twice would corrupt your map due to unchecked use of hitscan results.
git-svn-id: https://svn.eduke32.com/eduke32@4901 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:55:50 +00:00
terminx
c591711fe8 MSVC C++ build fixes. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@4890 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-11 04:52:15 +00:00
helixhorned
b5bb86b8e2 Mapster32: make sprite duplication examples in m32script_ex.map work again.
- Work around a sequencing issue (assignment of searchstat) in
  M32_DrawRoomsAndMasks()
- When having sprites highlighted and changing shade, since r1943 change
  every highlighted sprite's shade if one of them is aimed at. With this
  revision, if SHIFT is pressed while doing that, only change the aimed at
  sprite's shade
- a.m32: Use 'break' from a state instead of 'return'. The former may be
  "sticky" in a way that is not intended. Needs to be debugged later.
- Update instructions in m32script_ex.map

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4880 1a8010ca-5511-0410-912e-c29ae57300e0
2015-01-06 19:56:41 +00:00