EDuke32 Changelog Unofficial archive

Build 2130

25 November 2011 · 14 commits by 1 author · SVN

Builds by month 15 builds

Original log file · 20111125-2130.txt
------------------------------------------------------------------------
r2130 | helixhorned | 2011-11-25 01:53:07 -0800 (Fri, 25 Nov 2011) | 17 lines

Ability to duplicate an inner loop in a neighboring TROR sector.

Called 'loop punching'. In addition to duplicating the loop, the inner
portions of the original and cloned loop are made into a new bunch, and
the loop walls are made to be neighbors, linking their movement to each
other. This gives a way to create island sectors with a differing
bunchnum in the midst of an already extended area.

Usage:
For an extended sector containing a CCW inner loop, select its points
using Ctrl+Shift. Press Ctrl-E to be queried whether to duplicate the
points into the upper or lower extension (even if it's unambiguous).
A number of conditions must be met for a successful 'punch', which
should hopefully be more or less obvious. Among them:
 - loop walls should all be red
 - the starting wall is only considered among the non-grayed-out ones
 - the neighboring sector must not contain points inside or at the loop
------------------------------------------------------------------------
r2129 | helixhorned | 2011-11-25 01:52:52 -0800 (Fri, 25 Nov 2011) | 3 lines

"Sloped extended sectors cannot be split", oops.  Also fix a glitch that
would break out of the 2D mode loop when splitting a sector would exceed
limits.
------------------------------------------------------------------------
r2128 | helixhorned | 2011-11-25 01:52:37 -0800 (Fri, 25 Nov 2011) | 1 line

Factor out high-level 'add loop to sector' code into own function.
------------------------------------------------------------------------
r2127 | helixhorned | 2011-11-25 01:52:22 -0800 (Fri, 25 Nov 2011) | 1 line

in 'adding new loop to sector': use local 'firstwall' instead of ovh.suckwall
------------------------------------------------------------------------
r2126 | helixhorned | 2011-11-25 01:52:08 -0800 (Fri, 25 Nov 2011) | 7 lines

Three Mapster32 changes (2 wall-drawing related, 1 crash fix)

- Don't crash when sector joining fails under certain circumstances.
- Increase the point lock (Manhattan) distance from 1/16th to 1/8th
  of the grid square length, making it easier to snap to vertices not
  lying at the grid points with grid lock on
- When drawing walls, don't snap to any of them except the first drawn
------------------------------------------------------------------------
r2125 | helixhorned | 2011-11-25 01:51:53 -0800 (Fri, 25 Nov 2011) | 7 lines

Batch-insertion of many points at once using line drawing and ENTER.

When having drawn N new points (and having one 'free') and pressing
ENTER, the N line segments between the new points are checked one by
one for intersection with every non-grayed-out wall and a wall vertex
is inserted at every intersecting point.  This may be viewed as a
prerequisite for a 'cutter' style tool.
------------------------------------------------------------------------
r2124 | helixhorned | 2011-11-25 01:51:36 -0800 (Fri, 25 Nov 2011) | 1 line

Warn user if pressing Ctrl+Shift+ENTER (check all wall pointers) in TROR map.
------------------------------------------------------------------------
r2123 | helixhorned | 2011-11-25 01:51:21 -0800 (Fri, 25 Nov 2011) | 5 lines

Factor out high-level point inserting code into M32_InsertPoint().

This function only handles the actual insertion, also taking care of
constrained TROR walls. Anything around the inserting such as backing up
drawn walls or snapping the x/y position to the grid is handled outside.
------------------------------------------------------------------------
r2122 | helixhorned | 2011-11-25 01:51:06 -0800 (Fri, 25 Nov 2011) | 24 lines

Somewhat largish commit with various keyboard tinkering for Mapster.

The main change consist of adding a key press (and release) callback
whose only purpose is to be used from m32script as EVENT_KEYPRESS.
When entering that event, the RETURN variable will be set to the
keystatus code of the key, and whether it was pressed or released can
be checked by looking at keystatus[] at that code (ifholdkey and
ifhitkey do this). The purpose of this, then, is to be able to remap
keys in a more general (and complicated) fashion than is possible with
the mapster32.cfg 'remap' option. Various other additions build around
this central one:

- add an example EVENT_KEYPRESS to a.m32, among other things emulating
  the keypad arrows with Alt-<normal arrows> for notebook convenience;
  disabled initially
- a.m32: set 'owner' with Alt-KP2: now Alt-Shift-KP2, because of
  collision with the above
- new m32script command: setkey <keycode>, setting keystatus[<keycode>]
  to 1 (note: may be restricted to use in EVENT_KEYPRESS only in the
  future)
- fix indexing an m32script array with a defined label, there used to
  be a 'not a gamevar' error instead
- add the following constant labels for some key codes:
  KEY_SCROLL, KEY_F1 .. KEY_F12
------------------------------------------------------------------------
r2121 | helixhorned | 2011-11-25 01:50:40 -0800 (Fri, 25 Nov 2011) | 7 lines

- Make old-nextwalls invalid on the following two occasions: ovh_whiteoutgrab
  with no highlighted sectors; and when entering 3D mode, even if there are
  highlighted sectors. This should have almost no effect, but I find it cleaner
  that way.
- Check map for corruption every time an editing change is done. This was
  accidentally disabled when commenting out the undo code (which I've yet
  to debug).
------------------------------------------------------------------------
r2120 | helixhorned | 2011-11-25 01:50:21 -0800 (Fri, 25 Nov 2011) | 2 lines

Make it impossible to start drawing walls when having a circle-wall
selected. (There was a corner case where this was possible.)
------------------------------------------------------------------------
r2119 | helixhorned | 2011-11-25 01:50:07 -0800 (Fri, 25 Nov 2011) | 3 lines

Remove after_handleevents_hook and its only user, the keystatus-level clearing
of SPACE and C when in side-view mode. Now, this is accomplished by checking
directly in the overheadeditor code.
------------------------------------------------------------------------
r2118 | helixhorned | 2011-11-25 01:49:40 -0800 (Fri, 25 Nov 2011) | 2 lines

Eliminate potential malloc(0) calls when loading (converting) md2 models
with no skins or no GL comands.
------------------------------------------------------------------------
r2117 | helixhorned | 2011-11-25 01:49:22 -0800 (Fri, 25 Nov 2011) | 2 lines

Fix calling glEnable() without checking for the rendering mode in the tile
selector. This could lead to a crash when OpenGL wasn't initialized before.
------------------------------------------------------------------------
r2116 | helixhorned | 2011-11-17 13:10:18 -0800 (Thu, 17 Nov 2011) | 2 lines

Fix the Makefile on OSX. Their linker has a different syntax for requesting the
memory map.
------------------------------------------------------------------------
Engine

Ability to duplicate an inner loop in a neighboring TROR sector.

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:53 UTC−8 r2130

Called 'loop punching'. In addition to duplicating the loop, the inner portions of the original and cloned loop are made into a new bunch, and the loop walls are made to be neighbors, linking their movement to each other. This gives a way to create island sectors with a differing bunchnum in the midst of an already extended area. Usage: For an extended sector containing a CCW inner loop, select its points using Ctrl+Shift. Press Ctrl-E to be queried whether to duplicate the points into the upper or lower extension (even if it's unambiguous). A number of conditions must be met for a successful 'punch', which should hopefully be more or less obvious. Among them: - loop walls should all be red - the starting wall is only considered among the non-grayed-out ones - the neighboring sector must not contain points inside or at the loop

FixEngine

"Sloped extended sectors cannot be split", oops. Also fix a glitch that

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:52 UTC−8 r2129

would break out of the 2D mode loop when splitting a sector would exceed limits.

FixEngine

Three Mapster32 changes (2 wall-drawing related, 1 crash fix)

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:52 UTC−8 r2126

- Don't crash when sector joining fails under certain circumstances. - Increase the point lock (Manhattan) distance from 1/16th to 1/8th of the grid square length, making it easier to snap to vertices not lying at the grid points with grid lock on - When drawing walls, don't snap to any of them except the first drawn

Engine

Batch-insertion of many points at once using line drawing and ENTER.

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:51 UTC−8 r2125

When having drawn N new points (and having one 'free') and pressing ENTER, the N line segments between the new points are checked one by one for intersection with every non-grayed-out wall and a wall vertex is inserted at every intersecting point. This may be viewed as a prerequisite for a 'cutter' style tool.

Engine

Factor out high-level point inserting code into M32_InsertPoint().

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:51 UTC−8 r2123

This function only handles the actual insertion, also taking care of constrained TROR walls. Anything around the inserting such as backing up drawn walls or snapping the x/y position to the grid is handled outside.

FixEngineCON

Somewhat largish commit with various keyboard tinkering for Mapster.

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:51 UTC−8 r2122

The main change consist of adding a key press (and release) callback whose only purpose is to be used from m32script as EVENT_KEYPRESS. When entering that event, the RETURN variable will be set to the keystatus code of the key, and whether it was pressed or released can be checked by looking at keystatus[] at that code (ifholdkey and ifhitkey do this). The purpose of this, then, is to be able to remap keys in a more general (and complicated) fashion than is possible with the mapster32.cfg 'remap' option. Various other additions build around this central one: - add an example EVENT_KEYPRESS to a.m32, among other things emulating the keypad arrows with Alt-<normal arrows> for notebook convenience; disabled initially - a.m32: set 'owner' with Alt-KP2: now Alt-Shift-KP2, because of collision with the above - new m32script command: setkey <keycode>, setting keystatus[<keycode>] to 1 (note: may be restricted to use in EVENT_KEYPRESS only in the future) - fix indexing an m32script array with a defined label, there used to be a 'not a gamevar' error instead - add the following constant labels for some key codes: KEY_SCROLL, KEY_F1 .. KEY_F12

FixEngine

- Make old-nextwalls invalid on the following two occasions: ovh_whiteoutgrab

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:50 UTC−8 r2121

with no highlighted sectors; and when entering 3D mode, even if there are highlighted sectors. This should have almost no effect, but I find it cleaner that way. - Check map for corruption every time an editing change is done. This was accidentally disabled when commenting out the undo code (which I've yet to debug).

Engine

Make it impossible to start drawing walls when having a circle-wall

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:50 UTC−8 r2120

selected. (There was a corner case where this was possible.)

Remove after_handleevents_hook and its only user, the keystatus-level clearing

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:50 UTC−8 r2119

of SPACE and C when in side-view mode. Now, this is accomplished by checking directly in the overheadeditor code.

FixEngine

Fix calling glEnable() without checking for the rendering mode in the tile

Philipp Kutin (Helixhorned) 25 Nov 2011, 01:49 UTC−8 r2117

selector. This could lead to a crash when OpenGL wasn't initialized before.