December 2011
-
more Makefile tweaks; spriteext
-
General
Fix issue reported at http://forums.duke4.net/topic/5068-bug-introduced-in-old-versions-of-eduke32
-
When failing to extend a collection of sectors because one of
Show details
them has a different height, print the sectnums of two differing sectors to so that the mapper can find and examine them with Ctrl-J.
-
new cfg var 'glusememcache', the same as r_memcache cvar.
-
when having some sectors highlighted, also show how many walls
Show details
they contain in total.
-
Makefile bits for Windows.
November 2011
-
General
Revert r2141 functionality because it was a stupid-ass hack and breaks E3L5.
Show details
The texture warping mode will need to be set depending on whether we're actually drawing a parallaxed sky or not.
-
General
Upload sky textures with s wrapping set to GL_CLAMP{_TO_EDGE}.
Show details
This fixes the vertical (~1 texel wide) stripes that are especially noticable with tiled art skies and Polymost with r_parallaxskyclamp=1 or Polymer (which always uploads skies with repeating s and t coords). What constitutes a sky tile is currently hardcoded to be >=78 and <=99.
-
General
Fix moving cloud panning like in E4L1.
-
General
Remove old duplicate_selected_sectors() function and copysector(), which
Show details
was only used there, from the source.
-
General
Rewrite sector duplication (Insert or C) in terms of backup_highlighted_sector
Show details
and restore_highlighted_sector functions. What this means is that TROR bunches are now correctly duplicated too (only if all sectors of a given bunch are highlighted).
-
General
New modifier for RAlt. When RShift is depressed while highlighting sectors
Show details
(i.e. first press RAlt, then hold RShift to make it active), consider all sectors, even the grayed out ones. This makes 6 modifier keys in 4 categories for RAlt. Can you name them all? Also spell out the labels that get drawn near the reticle when applying some of the modifiers and make them not show when not actually selecting (e.g. pressed RShift alone, but have highlighted sectors)
-
General
In backing up highlighted sectors code: also back up TROR information so
Show details
that bunches and nextwall links are restores, too. Now, to coalesce two TROR maps (e.g. for a CBP), one could do for i allsectors, sethighlightsector i 1 on the console, and then load the 'other' map to copy over the contents of the first, including all TROR stuff. Note that neither selecting all sectors with RAlt, nor duplicating them with Insert would lead to the desired effect (yet). Internally, - yax_setbunch() now has different behavior for bunchnums -1, -2 and -3 (it either clears the nextwalls or not) - build.c has a helper function free_n_ptrs(). This could be handy in other situations where many blocks of memory must be allocated consecutively and freed in case of failure
-
General
When restoring temporarily backed up map, clear all TROR bunches. This is
Show details
suboptimal, but at least 'correct' and won't produce the aforementioned corruptions anymore.
-
General
Auto-correct the just mentioned inconsistency by clearing the respective TROR
Show details
nextwalls. (i.e. setting them to -1 on 'corruptcheck tryfix')
-
General
corruption checker: catch TROR-nextwalls in non-extended sectors. These
Show details
can be caused by copying map parts from one map to another (or a new one). The copying system is slightly broken right now....
-
General
Backing up and restoring highlighted portion of map: calculate new
Show details
next{wall,sector} indices instead of using checksectorpointer() so that the nextwalls will be restored exactly as they were (provided that they are copied). Also fix tweaking the sectnums of sprites.
-
General
Fix two bugs with the loop punching code that made it practically useless.
-
General
Ability to duplicate an inner loop in a neighboring TROR sector.
Show details
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
-
General
"Sloped extended sectors cannot be split", oops. Also fix a glitch that
Show details
would break out of the 2D mode loop when splitting a sector would exceed limits.
-
General
Factor out high-level 'add loop to sector' code into own function.
-
General
in 'adding new loop to sector': use local 'firstwall' instead of ovh.suckwall
-
General
Three Mapster32 changes (2 wall-drawing related, 1 crash fix)
Show details
- 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
-
General
Batch-insertion of many points at once using line drawing and ENTER.
Show details
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.
-
General
Warn user if pressing Ctrl+Shift+ENTER (check all wall pointers) in TROR map.
-
General
Factor out high-level point inserting code into M32_InsertPoint().
Show details
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.
-
General
Somewhat largish commit with various keyboard tinkering for Mapster.
Show details
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
-
General
- Make old-nextwalls invalid on the following two occasions: ovh_whiteoutgrab
Show details
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).
-
General
Make it impossible to start drawing walls when having a circle-wall
Show details
selected. (There was a corner case where this was possible.)
-
General
Remove after_handleevents_hook and its only user, the keystatus-level clearing
Show details
of SPACE and C when in side-view mode. Now, this is accomplished by checking directly in the overheadeditor code.
-
General
Eliminate potential malloc(0) calls when loading (converting) md2 models
Show details
with no skins or no GL comands.
-
General
Fix calling glEnable() without checking for the rendering mode in the tile
Show details
selector. This could lead to a crash when OpenGL wasn't initialized before.
-
General
Fix the Makefile on OSX. Their linker has a different syntax for requesting the
Show details
memory map.
-
General
Fix the flickering in the tile selector with lazy hightile loading on
Show details
(lazy_tileselector=1 in mapster32.cfg). We're drawing tiles one by one, so glDrawBuffer(GL_FRONT_AND_BACK) is our friend.
-
General
Remove the -nopause switch of r2108, since it didn't help at all.
-
comment out FX_PlayLoopedAuto debug message to stdout
-
General
Correct thinko with the ceiling/floor movement code. When moving more than one
Show details
sector c/f and moving one of them would go beyond the other side (ceilingz > floorz), don't move any sector c/f at all. When moving only one sector in that case, move so that ceilingz == floorz.
-
General
Tweak raising/lowering (groups of) ceilings or floors.
Show details
Now, if more than one sectors are affected, always move them by the same amount. That is, if one of them would be sticking against the other side, don't move the rest. Another change consists of determining the z delta first, and only then moving the sprites by that amount. This fixes the problem where you'd e.g. raise a 'floor door' against the ceiling, and the effector sprites would be raised one time too much, preventing them from being lowered the next time.
-
General
A couple of Mapster changes related to saving.
Show details
- new mapster32.cfg and OSD variable 'fixmaponsave_sprites', telling the editor whether to 'fix' the sprite sectnums on saving and entering 3D mode. Note that a) sprite sectnums are never fixed when 'script_expertmode' is enabled, as before, and b) sprites that have out-of-bounds sectnums are still fixed if a proper sector is found - if saving and some sprite sectnums have thus been tweaked, inform the mapper on the status line and print the changes in the OSD - fix update issue similar to an earlier one: when 'saving as', the astub.c- based file name is now updated too, so saving with Ctrl-S now saves into the one save with 'save as' (and not the old one) - don't attempt to recheck wall pointers from scratch (when saving and running with -check) if it's a TROR map
-
General
Oops. Revert the *alloc wrapping to catch them being called with bad values.
Show details
This was meant for debugging only.
-
General
On Windows, add command-line switch -nopause, disabling the pause key.
Show details
Hopefully this fixes the periodic pausing/unpausing that a few people have been experiencing. Also fix build with GCC 3.
-
General
Fix building with both LTO and VPX support enabled. Specifically, don't use
Show details
the 'optimize' function attribute if LTO is enabled.
-
General
Also print file name of cache file in case of failure to open it.
-
General
Fix the 'displayrandvar{var}' CON and m32script commands for environments
Show details
with RAND_MAX > 32767 (everything except Windows?). The 'displayrand' command now returns values from 0 to 32767 inclusive, across all platforms.
-
General
New CON command
Show details
setactorsoundpitch <actor#> <sound#> <pitchoffset> which can be used to change the pitch of a playing sound. The pitch offset has the same meaning as the definesound pitch range endpoints, i.e. the units are 1/100th of a seminote. Note that just like the random pitch offset, increasing the pitch makes the sound duration shorter (and vice versa).
-
Make a couple of often-used operations not spam messages to the log.
-
General
Eliminate one uinitialized mem access related to projectiles (it's the filler
Show details
member, so maybe not *that* bad) and an invalid memory access when trying to access a per-player gamevar in a player-less context (e.g. WGR2 SVN r25 WGR2GAME.CON line 10448).
-
General
Explicitly initialize voice->Playing and voice->Paused members in some sound
Show details
playback functions. Without these, there would be an uninitialized access in line 444 of multivoc.c (if the memory in question was allocated with malloc, but still...)
-
General
More beauty tinkering: decorate the 'start' pointer of the mixing functions
Show details
and some VoiceNode struct members with a const, commit forgotten vorbis.c changes.
-
General
trivial stylistic changes continued: upcase all macro constants and make
Show details
MV_MaxVolume into one again.