------------------------------------------------------------------------ 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- 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 , setting keystatus[] 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. ------------------------------------------------------------------------