<?xml version="1.0"?><!-- generator="bbPress" -->

<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
<title>Ace of Spades Game Forums &#187; Topic: VOXED voxel editor reference</title>
<link>http://forumarchive.spadille.net/</link>
<description>Ace of Spades Game Forums &#187; Topic: VOXED voxel editor reference</description>
<language>en</language>
<pubDate>Mon, 04 May 2026 19:08:19 +0000</pubDate>

<item>
<title>SpartanGamer94 on "VOXED voxel editor reference"</title>
<link>http://forumarchive.spadille.net/topic.php?id=3627#post-48418</link>
<pubDate>Sun, 17 Jul 2011 19:29:45 +0000</pubDate>
<dc:creator>SpartanGamer94</dc:creator>
<guid isPermaLink="false">48418@http://forumarchive.spadille.net/</guid>
<description><p>-------------------------------- INTRODUCTION --------------------------------</p>
<p>   The user interface isn't so easy right now - there are a lot of keys you<br />
need to memorize. There are a lot of weird combinations that are useful, but<br />
sometimes it's not so obvious, so please explore and try to be creative.<br />
   In my documentation, when I use the word "box", I am referring to a cube,<br />
where the lengths of the 3 sides aren't necessarily of equal length. I prefer<br />
to reserve the word "rectangle" for 2D primitives only. Also, any controls<br />
that have a prefix of "KP" means that I'm talking about the key on the KeyPad.<br />
   One of the most confusing things are the 3 different types of cursors. You<br />
should try to understand this before reading the rest of the documentation.</p>
<p>  Screen-cursor: This is the dot that's ALWAYS in the center of the screen.</p>
<p>Numbered-cursor: These are the "spheres" that appear when you press SPACE bar.<br />
                 They have a number in the middle of them, starting with 0 and<br />
                 incrementing as you insert more of them (up to 100). They are<br />
                 intended mainly for editing functions which require 3 or more<br />
                 points as input (for example, the sector &#38; lathe tools) These<br />
                 cursors can only be moved by dragging them with the mouse.<br />
                 These are usually used BEFORE you insert an object.</p>
<p>    Mini-cursor: These are smaller "spheres" that get inserted automatically<br />
                 after you insert an object, such as a box or sphere. They<br />
                 have no numbers inside them. Mini-cursors must be moved with<br />
                 the keypad controls: (1,2,3,4,5,Enter)<br />
                 These are usually used AFTER you insert an object.</p>
<p>------------------------------- GETTING AROUND -------------------------------</p>
<p>ESC             Quit<br />
M		Map<br />
Mouse X/Y       Turn left/right, Look up/down (Press 'Y' to invert)<br />
Arrows          Move Forward/Backward/Left/Right<br />
R.CTRL          Move Up<br />
KP0             Move Down<br />
R.SHIFT         Hold down to speed up movement (by 4 times)<br />
L.SHIFT         Hold down to slow down movement (by 4 times)<br />
KP*, KP/        Zoom in/out. Use the other / (next to SHIFT) to reset<br />
R.MouseBut      Hold this down and move mouse left/right to tilt screen.</p>
<p>------------------------------- SIMPLE EDITING -------------------------------</p>
<p>  (These functions don't require an understanding of the cursor types)</p>
<p>Home            Insert sphere (mini-cursor becomes center)<br />
End             Delete sphere (mini-cursor becomes center)<br />
ALT+Home        Voxel spray (hold it down) - works like spraypaint, but<br />
                   inserts voxels instead of changing color.<br />
ALT+End         Voxel suck (hold it down): works like spraypaint, but deletes<br />
                   voxels instead of changing color.</p>
<p>[ and ]         Decrease/increase radius of sphere, ellipsoid, or cylinder<br />
; and '         Change superquadric power (p) of sphere (default:p=2)<br />
                     abs(x)^p + abs(y)^p + abs(z)^p = r^p<br />
                   Notice when p=2 in this equation, it's a sphere.<br />
                   Sounds complex, but it really isn't. Try it!<br />
                These keys also change the brightness of the flash function</p>
<p>X               Paint color onto individual voxel permanently<br />
Tab             Select current drawing color to color under screen-cursor<br />
KP+ and KP-     Change procedural texture. There are 7 currently defined:<br />
                   0:cur   Solid color from the color bar<br />
                   1:floor Set to first color below position (default)<br />
                   2:jit   Take current color and randomize a little<br />
                   3:many  A funny looking RGB color cube<br />
                   4:sph   Use this one for shading spheres<br />
                   5:wood  An interesting wood pattern<br />
                   6:png   Enabled when you load a PNG file using 'V' key,<br />
                              otherwise it acts like the "0:cur" mode.</p>
<p>\               Undo/Redo most recent modification</p>
<p>------------------------------ COLOR SELECTION -------------------------------</p>
<p>   Color can be selected before you insert an object, but it is best to select<br />
it afterwards, so you don't end up changing the color of the previous object.</p>
<p>L.Enter         Activate/Deactivate color bar<br />
L.MouseBut      Select color (when color bar is activated)<br />
R.MouseBut      Hold and move mouse up/down. Use this to change the palette<br />
                    brightness (when color bar is activated)</p>
<p>--------------------------- LIGHTING MANIPULATION ----------------------------</p>
<p>   I recommend you saving the map BEFORE you go nuts with the lighting. This<br />
is because the lighting functions tend to deteriorate the colors of the map<br />
if you use them too much.</p>
<p>F               Flash! This is the main lighting function. Press it and<br />
                   everything you can see (within a distance) will brighten.<br />
ALT+F           Old flash. Use in the same way as F, but this uses an older<br />
                   lighting algorithm which has moire pattens on the curves.<br />
Caps Lock       Darken all intensities on map by 25% Useful before a flash.<br />
Z               Hold to blend nearby intensities. Use this to remove the<br />
                   aliasing you see after a "flash".<br />
SHIFT+Z         Hold to blend nearby voxel colors.<br />
S               Hold to delete thin voxels. By thin voxel, I mean any voxel<br />
                   with air on opposite sides. If you use this before a<br />
                   "flash", you can improve the lighting. (It removes the<br />
                   possibility of a voxel getting brightened on one side and<br />
                   it appearing bright on the back side as well.)<br />
L.CTRL          Hold to brighten area slowly, randomly, &#38; smoothly. This is a<br />
                    different effect from "flash", and also a lot slower.<br />
L.CTRL+L.ALT    Hold to darken area slowly, randomly, and smoothly.</p>
<p>-------------------------- MINI-CURSOR MANIPULATION --------------------------</p>
<p>KP1,KP2,KP3,KP5 Move mini-cursor Forward/Backward/Left/Right 1 unit<br />
KP4             Move mini-cursor Up 1 unit<br />
KPEnter         Move mini-cursor Down 1 unit<br />
KP.             If .KV6 sprite is selected, this x-flips the object (so the<br />
                   writing is backwards). This is a good way to save memory.<br />
KP9             Toggle between 1 mini-cursor and all mini-cursors. When you<br />
                   see only 1 mini-cursor, dragging that point will move just<br />
                   that 1 point. When you see more than 1 mini-cursor, the<br />
                   keypad controls will move the entire object without<br />
                   changing its size. When you switch back to the 1 mini-<br />
                   cursor, the vertex selected is the one closest to the<br />
                   voxel under the screen-cursor. Has no effect for objects<br />
                   that use only 1 mini-cursor.</p>
<p>   NOTE: Some of these keys also let you manipulate numbered cursors.</p>
<p>------------------------ NUMBERED-CURSOR MANIPULATION ------------------------</p>
<p>Space           Insert numbered-cursor. A sphere with a number inside it is<br />
                   inserted at the point under the screen-cursor.<br />
Backspace       Remove last numbered-cursor<br />
/               Remove ALL numbered-cursors. Also resets zoom &#38; angle mode.</p>
<p>L.MouseBut      Drag numbered-cursor (direction restricted to the arrows)<br />
L+R MouseButs   When dragging numbered-cursors around, use this to change the<br />
                   axes. You should see the "arrows" change orientation.<br />
                   Note: You must have BOTH mouse buttons held down!<br />
PGUP/PGDN       Raise lower ceiling/floor of sector object. You must have at<br />
                   least 3 numbered-cursors for this to take effect.</p>
<p>------------------------------ ADVANCED EDITING ------------------------------</p>
<p>Insert/Delete:<br />
   Less than 2 numbered-cursors active:<br />
                Insert/Delete box. The box starts out as an individual voxel<br />
                   (1*1*1) where both mini-cursors are at the same point. To<br />
                   incease the size, use the mini-cursor controls:<br />
                   (1,2,3,5,4,Enter on keypad)<br />
   2 or more numbered-cursors active:<br />
                Fills the selected volume with solid voxels (Insert) or air<br />
                   (Delete).<br />
                Special mode: if you have 3 or more numbered-cursors, and<br />
                   you select .PNG procedural texturing, then it will treat<br />
                   the alpha channel as a signed-char height offset for 3D<br />
                   bump-mapping.</p>
<p>E / SHIFT+E     Insert/Delete Ellipsoid (The mini-cursors are the foci)<br />
L / SHIFT+L     Insert/Delete Cylinder/Line (The mini-cursors are endpoints)<br />
W / SHIFT+W     Insert/Delete Walls. You must have at least 3 numbered-<br />
                   cursors first to use this. Then you must use PGUP/PGDN.<br />
C / SHIFT+C     Insert/Delete Ceiling. Requires &#62;= 3 numbered-cursors.<br />
T / SHIFT+T     Insert/Delete Rotational sweep. Requires &#62;= 3 numbered-<br />
                   cursors. Cursors #0 and #1 become axis of rotation.<br />
                   Everything on the right side of a clockwise-drawn loop<br />
                   will be included as part of the object. It's ok to have<br />
                   points on the left side of the axis, but that area will be<br />
                   ignored.<br />
H / SHIFT+H     Insert/Delete a randomly generated convex hull.<br />
B / SHIFT+B     Insert/Delete Blobs. Requires numbered-cursors. (Not fully<br />
                   working yet)<br />
3               Insert triangle. You must have at least 3 numbered cursors.</p>
<p>4               3D floodfill, starting at camera's location. Floodfill is<br />
                   restricted to numbered-cursor boxes if there are 2 cursors.<br />
5               Lassoo tool. This tool is for filling in cracks - polygons<br />
                   that don't have coplanar points. Press '5' with the mouse<br />
                   cursor on each point of a loop and you should see a path<br />
                   connecting from the previous point. Make sure there is a<br />
                   relatively short path (&#60; ~128 voxels) along the surface<br />
                   between each pair of points. When you complete the loop,<br />
                   press '6' to fill in the gaps.<br />
6               Used in conjunction with '5'. See '5'.</p>
<p>D               Duplicate box. First specify source box using two numbered-<br />
                   cursors. Then press D at the point where you want<br />
                   numbered-cursor #0 to be copied to.<br />
Shift+D         Same as 'D' but doesn't copy air voxels.</p>
<p>U               Insert .KV6/.KVX/.VOX file. If you select a .KV6 file, then<br />
                   the object will stay separated from the map. If you select<br />
                   a .KVX/.VOX file, then the object will permanently become<br />
                   a part of the map.</p>
<p>                You can use 'U' to insert a dummy "DOT" sprite. To do this,<br />
                   type any invalid filename, such as "ASDF" at the openfile<br />
                   dialog and it will be saved as "DOT" in the .SXL file.</p>
<p>                You can use 'U' to insert a dummy "BOX" sprite. To do this,<br />
                   first make a box with 2 numbered cursors, then press 'U'.<br />
                   It uses the vx5sprite .s field for the first corner,<br />
                   vx5sprite .h for the second corner, and .p for the<br />
                   "sphere" handle in VOXED. You can use this info too.</p>
<p>V               Set procedural texture to .PNG file.<br />
P               Paints selected .PNG file onto the voxel map, projected in<br />
                   exactly the same way as what you're looking at.<br />
=               First select a box with 2 numbered cursors. This key then<br />
                   re-calculates all colors inside the box, preserving the<br />
                   state of air or solid.</p>
<p>KP6             For .KVX/.VOX: Rotate object (Switches between x,y,z axis)<br />
KP7,KP8,KP9     For .KVX/.VOX: Flip/Mirror axis (I don't remember which key<br />
                   does what, but I know all 48 possible 90ø cases are in<br />
                   there. Keep pressing on the keys until it looks right.)</p>
<p>KP7,KP8         For .KV6: Rotate object left/right<br />
KP6,KP9         For .KV6: Rotate object up/down (depends on your orientation)</p>
<p>-------------------- MODES &#38; OTHER MISCELLANEOUS CONTROLS --------------------</p>
<p>`               Toggle global shading mode:<br />
                   0: no shading (default)<br />
                   1: normal estimation, light sources (in this mode,<br />
                         pressing 'F' inserts a temporary light source)<br />
                   2: normal estimation, no light sources (brighter!)<br />
KP.             Toggle shading (default) / no shading on cube faces (if<br />
                   .KV6 sprite is not selected).<br />
, and .         Select raycast resolution (1-16), 1:best quality&#38;default<br />
R               Toggle smart raycast resolution mode (lower quality when<br />
                   turning quickly, higher quality when still) Default is<br />
                   disabled.<br />
Numlock         Toggle raycasting cut-off distance: 256 (default) or no limit<br />
                   (slow, especially if you're outside)<br />
A               Toggle anglemode (horizon correction (default) vs. free<br />
                   direction)<br />
G               Toggle grid and grid alignment size (16 or 32)</p>
<p>2               Shoot an invisible fireball (just a toy)<br />
F10             Enable MIP-MAPPING.</p>
<p>Scroll lock     Panic Quit (DOS version only): Use to escape from lock-ups.<br />
                   Try to avoid using this key whenever possible.</p>
<p>------------------------------ LOADING &#38; SAVING ------------------------------</p>
<p>ALT+F2          Load .VXL map.<br />
ALT+F3          Save .VXL map. (NOTE: Use F3 to save .SXL separately)<br />
F3              Save .SXL file. (Game data: sky, sprite locations, etc...)<br />
F5              Load new sky from file.<br />
F6              Edit global user string (stored in .SXL files)<br />
F7              Save floating object to .KV6 (put cursor on object)</p>
<p>F12             Screencapture exactly what you see to VXL5####.PNG<br />
ALT+F12         Surroundcapture to VXL5####.PNG (2560*1024 resolution)</p>
<p>   NOTE: Both F12 and ALT-F12 create valid .PNG files, but I use absolutely<br />
   NO COMPRESSION when storing them! You can reduce their size A LOT if you<br />
   are willing to re-compress them with another utility.</p>
<p>------------------------ Known Limitations / Problems ------------------------</p>
<p>Pentium III only!  A lot of my new sprite &#38; z-buffer code uses the new<br />
   Pentium III instructions. If you don't have a Pentium III or compatible<br />
   processor, then the engine will give an invalid opcode exception. It<br />
   would probably take a few hours to get the code working again on an<br />
   MMX-capable machine (with a noticable decrease in frame rate).</p>
<p>Memory: You WILL need at least 128MB of RAM to run this. Do not attempt to run<br />
   it on anything less.</p>
<p>"alloc: vbuf full". Right now, I allocate 64MB of memory to store the voxel<br />
   map. If voxlap5 suddenly exits out with this message, it means the board<br />
   is too complex - too much surface area for the board map to fit within<br />
   this limit, or the memory is too fragmented. In the future, I might<br />
   implement a way of defragmenting the cache, or a better warning, or maybe<br />
   even a disk cacheing system so this never happens.</p>
<p>The following issue applies to the DOS version only:</p>
<p>VESA 2.0 linear mode crashes under NT. I don't know why, but I know how to<br />
   replace the code with slower VESA code that doesn't crash.</p>
<p>-------------------------------- COMMAND LINE --------------------------------</p>
<p>   &#62;voxed [SXL/VXL/DTA/BSP map name] [/(xdim)x(ydim)] [/win]<br />
       (options can be listed in any order)</p>
<p>   If you do not specify a Master sprite file (.SXL), Voxlap5 format (.VXL),<br />
Comanche format (.DTA), or Quake 3 format (.BSP), then voxlap5 tries to load<br />
VXL/DEFAULT.SXL. If that doesn't exist, then it loads a built-in map, with a<br />
gray plain, called "UNTITLED.VXL". You start inside a box in the middle.<br />
   Voxlap5 supports all 32-bit color modes where xdim&#60;=640 and ydim&#60;=480.<br />
Default is 320*200 fullscreen mode. If the mode isn't found, then the DOS<br />
version defaults to true-color emulation mode (320x400 8 bit color which<br />
should work on all VGA compatible video cards). The windows version has no<br />
emulation mode and just exits with an error message.</p>
<p>Some examples:<br />
   &#62;voxed /640x480<br />
      Use hi-res VESA mode (640x480x32) To specify resolution, you must have<br />
      a lowercase 'x' separating the x- and y- dimensions and there can't be<br />
      any spaces in between.<br />
   &#62;voxed /480x360 /win<br />
      Set resolution to 480x360 and use windowed mode instead of fullscreen.<br />
   &#62;voxed 1<br />
      If you have Novalogic's classic game Comanche Maximum Overkill, then<br />
      copy (C1.DTA &#38; D1.DTA) into the voxlap directory and it will load them.<br />
   &#62;voxed c:\games\id\q3ademo\demoq3\q3dm17.bsp<br />
      If you extract *.BSP from Quake3's PAK0.PK3 file, then it will convert<br />
      the geometry from a Quake map. No textures are converted, so the best<br />
      way to view the map is to go wild and press 'F' everywhere.<br />
   &#62;voxed asdf<br />
      Force loading of boring gray plain (assuming asdf doesn't exist)<br />
   &#62;voxed /0<br />
      Forces truecolor emulation (DOS version only)</p>
<p>------------------------ Documentation Update History ------------------------</p>
<p>11/20/2000: VOXLAP5 documentation first written<br />
11/21/2000: Documentation revised for clarity<br />
02/25/2001: Added windows command line info<br />
03/19/2001: Made DOS command line same as windows version<br />
03/28/2001: Added documentation for P &#38; =<br />
05/16/2001: Updated for .KV6 keys (KP6-KP9)<br />
06/23/2001: Updated limitations, added 3D bump &#38; Q3 info<br />
03/05/2002: Added some info about .SXL files &#38; new keys related to lighting<br />
05/14/2002: Added info about 4,5,6,Shift+D, and dummy sprite info with 'U'</p>
<p>------------------------------------------------------------------------------<br />
VOXLAP5 programmed by Ken Silverman (<a href="http://www.advsys.net/ken" rel="nofollow">http://www.advsys.net/ken</a>)<br />
Modified by Ben Aksoy (<a href="http://www.ace-spades.com" rel="nofollow">http://www.ace-spades.com</a>)
</p></description>
</item>

</channel>
</rss>
