THE XMAPEDIT

FOR BLOOD

We wish to thank all the beta testers that helping to find the bugs and suggesting their ideas.

Original MAPEDIT by Nick Newhard and Peter Freese.

XMAPEDIT version created by nuke.YKT and NoOne.

Based on JonoF's BUILD port.

Always backup your files.

BUILD JUN 09 2022 available

DOWNLOAD x86
STANDALONE (~706KB)
for Windows Vista or higher
XMAPEDIT on GitHub
changelog
Read manual | YouTube channel | New features for mappers | NBlood on GitHub

ABOUT XMAPEDIT

XMAPEDIT is an Open Source extended version of original Blood map editor with fixed bugs, lots of new features and extended limits. The Windows version is based on JonoF's BUILD port. It's compatible with vanilla Blood, supports widescreen resolutions, includes modern object types for level designers and most of the features of the DOS XMAPEDIT version.

Any suggestions and comments are welcome in Blood related Discord channel at https://discord.gg/V9fY5wE. You may also send e-mail to baitd@yandex.ru for any reason.

Requirments, Installation & Notes

No special installation required, just all XMAPEDIT files must be placed in the Blood directory. That automatically means that you should have your own fully function copy of the game version 1.10 or higher.

In order to run the program you need a modern operating system such as Windows Vista or higher You also need to have at least 256 megabytes of RAM. That's basically all the requirements, however take attention to some notes that is good to know:

  1. Before you read anything below, you should know that Windows Defender may mark this software as a virus program for some unknown reason. So if you really think that Microsoft tool is useful and protects your device, you should NOT download and use XMAPEDIT.
  2. If you start editing anything, make sure you have read/write access for all directories or files you are planning to use.
  3. Do not use long filenames (longer than 8 characters) as it just won't load or save.
  4. XMAPEDIT do support extended object limits (sectors, sprites, walls etc) that also extended in modern ports such as NBlood, Raze or GDX, but NOT in vanilla Blood and Fresh Supply. So, once you reach at least one of vanilla limits, the map will not work in it. Sloped or non power of two floor oriented sprites is not supported by vanilla as well.
  5. XMAPEDIT can correctly work in all screen resolutions (include widescreen), but i personally still recommend 1024x768 or 1280x1024 in windowed mode because it gives good picture and font size in 3D mode. It's up to you to decide what is best.

CHANGELOG

  1. JUN 09 2022

    • GENERAL:

      1. Potential broken map CRC fix. If you got "Map does not match CRC" error when loading maps that was saved with previous (Jun 05 2022) build, download this one, load the map and save it again. The map itself is fine. Sorry.
  2. JUN 05 2022

    • GENERAL:

      1. Added a GUI based Import Wizard tool that helps to load maps and graphics from another BUILD engine game. It will be automatically called when loading a BUILD engine map.
      2. Added config version check and some config options was deleted or replaced. Note that your settings will be reset to defaults.
      3. File browser supports up to 1024 files per directory.
      4. Fixed that sometimes the editor hangs when trying to start newboard using the menu.
      5. There is no more tile #2048 (the Monolith logo) in the top right corner will shown in the game for maps that saved with xmapedit.
      6. Map file revisions won't be incremented due autosaving.
      7. XMAPEDIT release package now includes additional documentation for some tools. See docs directory.
      8. Various minor changes.
    • ARTEDIT:

      1. Artedit can import the following image formats: .PNG, .BMP, .JPG, .DDS. Thanks to the Ken Silverman's KPLIB image decoding library!
    • QAVEDIT:

      1. Make tile movement keys work a bit slower.
    • 3D Mode:

      1. A way to work with parallax sectors has been re-imagined: it does not required to change properties for each sector anymore since the editor treats a group of such sectors as "Local" or "Global" sky.

        The "Local" sky is the group of sectors that is not separated by a non-parallaxed sector and "Global" is all the parallxed sectors in the map. This allows to quickly apply propeties such as y-offset, shade, palette to the whole room or map depending on selected scope.

        See more info in related chapter.

      2. You can rotate the global sky (ceiling and floor) horizontally if have more than 1 sky tiles. The more sky tiles used, the more angles available. For example, all the standard Blood skies can be rotated to 16 sides.
  3. MAY 03 2022

    • GENERAL:

      1. XMAPEDIT is Open Source.
        Visit GitHub project.
      2. A bit changed save changes dialog for all editors. If you got unsaved changes in artedit, a checkbox will appear that allows to save it with other changes you made. Note that it is enabled by default.
      3. Various minor changes.
    • ARTEDIT:

      1. Added import of .CEL and FLOORS image formats from Chasm: The Rift game.
    • TILE VIEWER:

      1. Added CRC32 of tile in info window available with F1.
  4. APR 23 2022

    • GENERAL:

      1. QAVEDIT was successfully ported and updated. As a matter of fact it was built-in into xmapedit. This is the tool for editing QAV files which contains the screen animation such as weapon or interface. This version can handle up to 4096 frames and supports 3D mode editing that gives additional advantages. See for detailed description to learn how to use it in the "Tools" section.
      2. Added "SoundVolume" and "MusicVolume" parameters in "Sound" section of config file.
      3. Fixed that in some cases you can't set statnum of sprite to 0.
      4. Fixed that you can't overwrite existing prefab file even if confirmed.
    • 2D Mode:

      1. Fixed that a wrong sector may be offered for editing when pressing F5 and there is wall or sprite in a highlight).
      2. Fixed that wrong wall may be offered when pressing keys (for example K) when there wall point and wall line in a highlight. The line is always priority now.
    • Seqedit:

      1. There is no more "AllowOnlySprites" option in config file since is not required anymore. If target object is not a sprite, seqedit will ask you to confirm spawning SEQ on such object. If there is no objects at all, 3D mode editing is not available.
      2. Readme file changes.
  5. APR 03 2022

    • GENERAL:

      1. Added a map comment system. It allows to create a textual notes and show it directly in 2D mode of the editor. The comments may be standalone or you can bind it to any object in the map. This feature available in both edit modes. See more detailed description in the manual.
      2. Key [J] can be applied to white walls. The editor allows to select which exactly action you want to perform: to create outer loop (ALT+S) only, or create it and merge automatically.
      3. 2D mode object edit dialog (HUD) was updated and now available in 3d Mode as well. Added the ability to edit some common properties of objects. All object dialogs got mouse support (see mouse controls for details). As a matter of fact, old 3D mode info hud was removed.
      4. Better number editing for HUD numeric fields.
      5. The editor will automatically load the last map you edited if AutoLoadMap setting enabled. If no file exists, it will load or start newboard.map.
      6. The editor now loads maps in 2d mode by default, but saves the last mode you were in.
      7. Added new settings and sections in xmapedit configuration file.
      8. Added more prefabs in default package.
    • 2D Mode:

      1. You can select the exact sprite you want to focus when there is more than one sprites at same X/Y coordinates. Just hover sprite, hold [ALT] and scroll [MOUSE WHEEL].
      2. Added 5 layout types for HUD: None, Full, Compact, Slim and Dynamic (shows compact layout when you draw sectors and full otherwise).
      3. Fixed that wall textures was stretched after dragging wall points. I got reverted it back to classic BUILD behavior, so editor will fix texture size for you like it did before with one important exception: walls that marked for movement (blue or green ones) will not be fixed. This should help to avoid annoying texture resizing when working with slide sectors and stuff like that.
      4. Added smaller grid types and greater zoom.
    • Preview Mode:

      1. Touch trigger flags of objects is available for testing. Note that for walls it works only when you using modern features for level designers.
      2. Items now picking up automatically.
      3. Added a log messages. You can see it in console (key [TILDE]) or in xmapedit.log file.
      4. You can fire a missile with key [F] (works best with mouse look). Hold [RIGHT SHIFT] to change missile type.
      5. You can change type of explosion created with key [E] if you hold [RIGHT SHIFT].
    • TILE VIEWER:

      1. Added a mouse wheel support for tile scrolling.
    • SEQEDIT:

      1. Fixed a crash that may occur when saving SEQ files because file is read only.
      2. Seqedit will start in 2D mode by default if you call it from 2D mode of xmapedit.
    • 3D Mode:

      1. XMAPEDIT displaying non-existing (blank) tiles on sprites with "No tile" icon. This is a view effect sprite, so actual tilenums won't be replaced when you save the map. It allows to actually see such sprites even if user don't have art for it.
      2. Added 4 layout types for HUD (None, Full, Compact, Slim).
      3. You can adjust camera height for gravity mode.
      4. The editor skips "Locked/Step" Z-mode by default. You can change it through INI file.
      5. Fixed hitscan on widescreen resolutions.
      6. Fixed that sometimes sprite that you drag with mouse may be placed behind the wall.
      7. Fixed that new sprite not becomes wall oriented automatically when placing it on the wall.
      8. Fixed that when placing sprites on bottom swapped walls you got opposite sprite angle.
      9. Fixed that changing Z of ceilings or floors with mouse controls is not working.
  6. FEB 04 2022

    • GENERAL:

      1. The editor now asks you if you want to enable Cryptic Passage art when you launch it first time. If you allow, it will add a line in Resources.Art section of your xmapedit.ini. (see configuring xmapedit).
      2. Fix flammable tree is not playing burning animation in the game.
      3. Fixed that imported BUILD maps may hang the editor when inserting or deleting sprites. Also fixed wrong orientation for some sprites.
    • 2D Mode:

      1. Fix random sectors may become highlighted when deleting another highlighted sector.
      2. Fix grid snapping is not working when dragging many wall points.
  7. JAN 19 2022

    • GENERAL:

      1. Fixed a runtime crash or freezing on specific Windows versions while creating standard colors palette.
      2. Fixed crash when changing screen palettes with [ALT] + [G] in 3D mode.
      3. Fixed that tile viewer window may not change it's size when changing resolution through options menu.
      4. Fixed that Ok button was not clickable with the mouse in About dialog.
  8. JAN 14 2022

    • GENERAL:

      1. I'm happy to announce that XMAPEDIT was successfully ported on modern Windows systems thanks to nuke.YKT and does not require DosBOX to work anymore!

        Since this day the support of DOS version is over, however the links to download it will stand still.

      2. Added new tool: ARTEDIT. This is a tool for editing ART files which contains game graphics. The main advantage of this art editor against all other programs is that this tool is native and makes real-time tile editing possible. In simple terms: you can edit ART files (include importing new images in it) when you in process of creating maps or even SEQ animations. See detailed description in the Tools section.
      3. Key [J] (sectors joining) works in both edit modes and acts a bit differently. It's enough to press it once near another red wall (or wall line in 2d mode) and next sector will be automatically merged with current. Hold [SHIFT] for classic behavior.
      4. [CTRL] + [DEL] (sector deletion) works in both modes.
      5. Added noclip mode. You are allowed to move outside sectors and go higher or lower than highest or lowest Z point of the map. Don't complain about HOMs or black screen if you use it. [ALT] + [CAPSLOCK] toggles it on or off in both modes.
      6. Added a feature that allows to quickly connect object from clipboard with another by RX/TX channels and it works in both edit modes. Copy some object in clipboard first, then press [Q] on next object. The destination object will receive RX ID according to TX ID of source object.

        Hold [SHIFT] to connect object from clipboard with the destination one: in that case the clipboard object will receive RX ID according to TX ID of the destination object.

        If objects have no RX\TX channels, it will get some unique ones automatically. The feature is early WIP, but it does it's job. I still have some more plans on it :)

      7. Various minor changes.
    • 3D Mode:

      1. Fixed wrong offsets of an external voxels (thanks nuke.YKT!).
      2. Changing palookup of an object now shows it's efficiency percent. The ones that have zero efficiency will be automatically skipped while holding SHIFT, but you still able to set it anyway through the dialog (ALT+P).
      3. Added the enemy icons that appear above the Dude Spawn and Custom Dude Spawn sprite markers. This way you can actually see which enemy will appear at which angle once spawner is triggered.
    • 2D Mode:

      1. The colors of the overhead editor was a bit changed since it uses colors from the game palette closest to the standard VGA palette, not directly from VGA palette. This allows to actually show the game graphics.
      2. Wall and floor sprite icons now showing it's actual width.
      3. Player start position markers was changed to arrows with different colors and editor start arrow is now bold.
      4. New and larger font for object captions. Also you will always see the caption of an object you currently hovering on the top of other objects.
      5. You can zoom in/out with the mouse wheel.
      6. You don't have to hold shift anymore to highlight the points. Also try to hold [CTRL] while pressing [MIDDLE MOUSE]: If you hover sprite, it will select all the sprites of the current sector and if you hover wall points, it will select all walls of the sector.
    • Preview Mode:

      1. You can test&feel the strength of earthquake while in 3D mode.
      2. Random item generator (modern features) should now work.
      3. Gib walls are now affected by explosions.
      4. Sleeping and buried axe zombies will now morph in normal Axe Zombies once you get closer to them.
    • SEQEDIT:

      1. Minor fixes for loading and saving SEQ files.
    • Tile viewer:

      1. It now have translucent background (enabled by default), better fonts, better tile thumbnails and it shows additional info about the tiles on it. All of this are optional.
      2. It's possible to toggle art editing mode via pressing [SPACE].
      3. All hotkeys for settings been moved to a single GUI based checkbox list which available by pressing key [F12].
  9. AUG 10 2021

    • GENERAL:

      1. XMAPEDIT now supports loading up to 1024 external voxel models! This allows you to load existing voxel packs or define your own models without modifying the ART, DAT and RFF files. Refer to "External models" section for detailed info.
      2. Fixed that Wall Crack and other thing types may not change statnum to required value when inserted via Game Objects menu.
      3. You cannot (re)load the map through the menu anymore if it was not saved before.
      4. Fixed that sometimes first wall of the first sector resets it's texture to 0 if new map was not started normally (through the menu button).
      5. You don't have to erase text field in the directory explorer everytime you want to type new filename. Just start typing and it will be erased automatically.
      6. Various minor fixes.
    • 3D Mode:

      1. Added a feature that allows to define how many bits (tiles) required for the parallax sky to wrap around.
      2. Fixed that sometimes sprite could be placed directly on the wall line or behind it if grid size is too small or too big.
      3. Fixed wrong sector colored lighting effects bug.
      4. Added new mouse controls for sprites (change Z only).
    • 2D Mode:

      1. Fixed that hints in the edit dialogs may display incorrectly.
      2. Wall textures should not stretch anymore when dragging wall points with the mouse.
      3. Sprites should not change Z when dragging it with the mouse (unless it gets fully buried in the ceiling or floor).
      4. The editor now shows the tracers of Path Markers with magenta color.
      5. Added INI message helper function to the sprite edit edit dialog.
      6. Added Gib selection helper function to the sprite and wall edit edit dialog.
      7. Added path drawing feature. Create complex paths for Path sectors or enemies with just 2 keys!
      8. Fixed the arrow position when starting new map.
    • SEQEDIT:

      The tool has been done a complete overhaul. Be sure to re-read seqedit documentation to learn new key bindings and edit modes.

      1. Added 3D mode editing, so you don't have to call Preview Mode anymore. Just load the map, point on object and call Seqedit from the tools menu. You will always get in the game what do you see in the editor.
      2. It's allowed to move in seqedit just like in mapedit while in 3D mode.
      3. Added dynamic screen resolution support.
      4. Removed move seqedit origin function as it does not required anymore.
      5. Added import frames from another SEQ animation function (merge SEQs).
      6. Added reverse frames order function.
      7. Added copy/paste features that allows to copy whole frame or it's properties to another frame (see seqedit documentation for details).
      8. You can change surface type of the view tile directly in the editor.
    • Tile viewer:

      1. Removed tile sorting feature.
      2. Empty tiles is now marking in the tile screen.
      3. Larger tile number font.
      4. Settings such as stretching small tiles or show transprent color will now be saved in xmapedit.ini
      5. Added detailed tile information window which you can call via [F1] key or [MIDDLE MOUSE].
  10. MAY 13 2021

    • GENERAL:

      1. Fixed that sometimes wrong walls starts panning in Blood: Fresh Supply port even if is not intended to do such. This update could also fix other similar issues with objects in FS. You have to load and save your maps with this new build.
      2. Fixed that you cannot save the map if you started it from scratch.
      3. Fixed that secrets is not count correctly if AutoCountSecrets is enabled.
    • 3D MODE:

      1. The editor now displays "VIEW 8 FULL" sprites correctly.
      2. Some sprites (mostly enemy) reads it's SEQ animation info such as size, palette and picture instead of using hardcoded information, so if you edit seq file, the changes will be reflected in the editor too.
  11. MAY 08 2021

    • GENERAL:

      1. Added directory explorer to Open/Save menu dialogs. It also will be automatically shown if you start XMAPEDIT with no parameters, so it allows you to select map file to load. You may control this behavior with "AutoLoadNewboard" setting in XMAPEDIT.INI.
      2. Fixed a bug when some object statistics was not reset when loading or starting new map.
      3. Fixed that useless "Normal Off" sectors was not erased automatically when saving the map.
      4. Improved sector copying algorithm, so there is should be a way less chance to see a broken geometry when merging the maps.
      5. Various minor fixes.
    • 2D Mode:

      1. Classic BUILD menu has been replaced with the main menu from 3D mode.
      2. You can drag sprites through white walls without adding it in a highlight.
      3. Added copy/paste feature for x-properties of objects. At the moment it works pretty same as [ALT]+[ENTER] key sequence in 3D Mode. You just press [TAB] on source object, then [ENTER] on the destination object and all x-properties will be copied from object in the buffer.
      4. Fixed a crash that may occur when switching to 2D mode from 3D after inserting or deleting sprites.
    • Tile viewer:

      1. Key [Q] allows to cycle through texture types (sprite, wall, floor etc...).
  12. APR 17 2021

    • GENERAL:

      1. XMAPEDIT now stores it's files in "XMAPEDIT" folder. This means that if you want to keep your old settings, the following files must be copied in it: XMAPEDIT.INI and XMAPEDIT.FTL.

        Don't copy any files if you want perform clean install.

      2. Added sprite prefabs feature and editor now comes with 60 ready prefabs ready to use! Refer to prefabs section in the manual to learn how to create your own and use it. There is also availabe file format description for coders.
      3. Introduced batch object processing (early WIP).
      4. You can rotate a group of highlighted sprites with keys [SEMICOLON] and [APOSTROPHE]. [SHIFT] and/or [CTRL] leads to finer step.
      5. Fixed that items cannot be respawned even if Optional respawn was selected in multiplayer.
      6. The editor can load maps from RFF archive, if file is not exists on the disk.
      7. Changed the way how x-objects allocates for usage. This could prevent potential issues in Fresh Supply port and increase overall editor stability.
      8. Autosave files now should be created in working directory always instead of current.
      9. Fixed a bug when there was one more than MaxSaveCopies of autosaves created.
      10. The crash that may occur when editing sector sound sprites now should be fixed.
      11. Added highlighted objects statistics in top left corner of the screen.
      12. Added Path marker unique IDs sequence generation. This works pretty same as RX/TX channel sequence generation and available with same key [F10].
    • PREVIEW MODE:

      1. Fixed that preview mode may not work when loading maps from sub-folders.
      2. Fixed that sprites intended for teams mode only still available if bloodbath mode selected.
      3. Fixed a bug with hitscan that could occur after previwing maps with missile generators.
      4. Sectors with same RX ID will not be triggered all together when triggering with mouse just one of them if TranslateObjects setting is disabled.
      5. Sectors in movement can also drag camera if z-mode is gravity or in 2d mode. Don't forget to check "drag" in sector editing dialog!
    • 2D MODE:

      1. Added middle mouse highlighting feature. This allows to select object (include sectors) one by one in different screen area. Refer to mouse controls section for more info.
      2. Removed:
        1. Set floor and ceiling palette (key P).
        2. Check sector pointers (key ENTER).
        3. Show default properties for x-objects (key LEFT ALT).
      3. You can see clipdist radius of Path marker when highlight it. This may be useful for patrol enemies that use markers to follow it (modern features).
      4. Better function for finding free RX/TX channels, free stack id and free path marker ids for edit dialog that takes in account current dialog value. Example: try press F10 on RX ID field and then TX ID field.
      5. There is no more required to hold [CTRL] when pressing [H] to toggle hitscan flag.
    • 3D MODE:

      1. Added visual effects for sprites like halo for candles or flame for torches.
      2. Added setor's colored lights displaying, so sprites will be painted with colors you selected in sector fx dialog settings just like in game.
      3. You can drag and rotate many sprites while holding [LEFT MOUSE].
      4. You can highlight sprites with [MIDDLE MOUSE].
      5. It's possible to duplicate sprites using key [INSERT] just like you do it in 2D mode.
      6. It's allowed to insert sprites in/on other sprites now.
      7. You cannot select "Free/Mouselook" z-mode anymore if mouse look is actually disabled.
      8. Key [ALT] + [PAGE UP/DN] puts highlighted sprites on ceiling or floor keeping the shape.
      9. Key [SPACE] + [ESC] clears the clipboard buffer.
      10. Removed:
        1. Mouse look modes 1 and 2 (only free look still available). I'm pretty sure no one ever used it anyway.
      11. Key [O] now requires to hold [CTRL] to ornament sprite on the wall.
      12. Key [ALT] + [PAD ARROWS] changes actual X / Y position of the sprite.
      13. Key [CTRL] + [SHIFT] + [PAGE UP/DN] gives perfect z-step when raising or lowering sprites.
      14. Added arrow that shows current sprite angle. It works only for face and non 1-sided sprites.
  13. FEB 26 2021

    Meet the largest update for XMAPEDIT since release!

    • GENERAL:

      1. Fixed broken links to the Discord channel of Blood community and modern features doc.
      2. Now you can safely edit XMAPEDIT.INI outside even if xmapedit is opened, but changes made inside the editor will not be saved.
      3. The following keys are now working for both modes:
        • [LEFT ALT] + [X] disables auto slopes for all walls in a highlight.
        • [CTRL] + [B] toggles blocking walls to block move on and off.
      4. Added settings for sprite auto-adjusting to the XMAPEDIT.INI.
      5. Added map revisions message when loading the map.
      6. Fixed (hopefully) some weird vanilla bug that appears when using standard DOSBox with mouse that may cause wrong look direction when switching between modes or loading the map.
      7. Key [TILDE] is now [CAPS-LOCK] analogue for both modes, so in 2D it shows x-stats, and in 3D it cycles z-mode type. Done just because of standard DOSBox caps-lock bug.
      8. The editor now loads in graphical mode, which should give a little boost to loading time. We're opened for xmapedit logo ideas :)
      9. The editor now tries to detect magic sprite or map version to auto-set ShowAdvancedTypes value for you (for modern features).
      10. The SEQEDIT are now built-in xmapedit tool! You able open it two ways: from 3d menu, in the TOOLS list, when xmapedit is loaded or directly from command line by enterring something like "xmapedit myseq" or "xmapedit ID". Refer to the Tools section for more details.
    • PREVIEW MODE:

      1. Changed sector busy process indication in 2d mode: when sector goes from on to off state, it gets filled with blue color, and when it goes from off to on, it gets filled with the red. If sector have any continous motion effects active, it gets filled with dark grey color.
      2. Key [S] in 3d mode allows to spawn selected seqID on object you currently pointing at.
      3. The following modern (and updated vanilla) types was added in preview and can be tested:
        1. DudeSpawn (type 18, spawn random dude feature).
        2. Custom Dude Spawn (type 24).
        3. RandomTX (type 25, also supports Event Redirection).
        4. SequentialTX (type 26, also supports Event Redirection).
        5. Teleport Target (type 8).
        6. Properties Changer (type 28, cstat change only).
        7. Resizer (type 31).
        8. Picture Changer (type 29).
        9. Sector Lighting Changer (type 34).
        10. Data Changer (type 35).
        11. SEQ Spawner (type 27).
        12. Effect Gen (type 38).
        13. Sector Wind Gen (type 39).
        14. Inc-Dec (type 37).
        15. Damager (type 36, killing only).
        16. EctoSkull Gen (type 704).
        17. SFX Gen (type 708).
        18. 1-Way switch (for walls).
      4. Added difficulty and game mode display to the preview mode icon in the top right corner.
      5. Flame Trap is now working.
      6. Missiles are now working, so missile generators like FireBall Gen or EctoSkull Gen (modern only) should be fully functional now. Also the circle around missile sprite in 2D mode displays it's clipdist.
      7. Preview Mode button was added in 3d menu, to the TOOLS list.
      8. You cannot "kill" locked enemies anymore.
    • 2D MODE:

      1. Fixed that sometimes a crash may occur when deleting multiple sectors.
      2. Blocking walls is not block movement of the arrow anymore by default.
      3. Game objects menu which available in 3D mode with [ALT] + [S] keys are now available in 2D mode if you press [SHIFT] + [S].
      4. The walls you currently drawing are now painting with light grey color and info such as angle and length displaying in the top left corner.
      5. Sounds you currently listen in 2D Mode by pressing [F10] are now displays additional info such as volume, sample rate and looping flag.
      6. Added sector sound settings in 2d mode sector edit dialog. It will create new/modify existing sector sfx sprite. for you if sound values are not zero or remove all the sector sfx sprites in current sector if they are. Note that it takes in account only first found sprite, because it's a very rare case when same sector have more than one sfx sprites. Same as for data fields, you can listen defined sounds by pressing [F10].
      7. For now you can't insert points anymore while drawing a sector. This might be changed later.
      8. Pressing [G] alone will not lead to off grid anymore, so you have to press [ALT] + [G].
      9. Added auto-grid feature. It changes grid size for you while zooming. You may toggle it off and on by pressing [CTRL] + [G]. There is also section [AutoGrid] was added that allows to control zoom value for each of 6 possible grids. Note that auto grid is not working when grid is disabled at all.
      10. There was added 2 more grid sizes which is extremely tiny and probably will be rarely used. It won't appear if you pressing just [G], so you have to press [SHIFT] + [G].
      11. There is no more required to press [ALT] + [F] when setting first wall of sector. Just [F] is fine.
    • 3D MODE:

      1. Added modern types list in Game objects menu.
      2. [SHIFT] + [TILDE] or [SHIFT] + [CAPSLOCK] toggles mouse look on and off.
      3. Added new INI setting for MouseLook section called "Turn2Strafe". Set 1 if you want to strafe with keyboard instead of turning. Disabled by default.
      4. [SHIFT] + [B] are now works (one side blocking wall).
      5. ZMode type now saves in XMAPEDIT.INI.
      6. Added "About" button in main menu where you can get xmapedit version info.
      7. Fixed that free z-modes may not work properly for parallaxed sectors that have absolute ceilingZ.
      8. Fixed that sometimes sprite could receive wrong angle if clipboard was not empty.
      9. The return of key [O] function in 3D Mode (never liked it!) by request.
      10. Added an option to the [Mouse] section that allows to define fixed size of grid for sprite dragging.
      11. Sprites that was highlighted in 2D mode are now also blinking in 3D mode.
  14. JAN 23 2021

    • Site update: there will be no manual in the xmapedit package anymore since you can just read all the info right here (you may also just save this whole page).
    • 2D Mode:

      • Captions is not displaying anymore while zooming. This leads to great performance boost, especially in complicated maps.
      • The enemies and dude spawn markers now paints with light red color.
      • Smaller vertex size.
    • Preview mode:

      • Fix: preview speed was one tick slower than in game (if you have Speed param changed, please return it back to 4).
      • Goo palette was not set when go in underwater sectors with goo markers.
      • Fix: underwater palette was not reset when preview is finished.
      • Fix: 2d mode palette change.
      • Fix: moving through stacks is more correct now.
      • Fix: the camera was teleporting with enemies even when only enemies should teleport.
      • Added game difficulty menu.
      • Added game mode menu.
      • Correct sprite removal, so it won't trigger when deleted.
      • Added episode INI option. Define your INI to see the actual INI messages or play MIDI songs.
      • Gargoyle Statues, Cerberus and Beast Cultist now morphing in their next stage instead of just being removed.
      • Fix: Cryptic Passage (and other custom textures) was erased when using preview mode.
      • Added create standard explosion feature. Try press [E].
      • SEQ animation is now working for some of sprites.
      • Gib FX effects are now working.
      • Proximity trigger flag now can be tested (vanilla and modern).
      • Sight trigger flag now can be tested (modern only).
      • You can see explosion radius in 2d mode.
      • If have gravity z-mode, it will be automatically switched to mouse look when falling into underwater sectors.
    • There is no more "Missing ambient sound" error.
    • There is no more "Missing voxel" error.
    • Earth Zombie finally always will be put on floor.
    • Fixed vanilla's weird crash when flying too high in parallaxed sectors (you cannot go higher than ceilingz*4 anymore).
    • Fixed that the camera starts flying instead of falling in gravity mode once map is loaded.
    • Correct XMAPEDIT.INI creation at first launch.
    • [CTRL] + [HOME] sequence now working in 3d and 2d modes.
    • The mouse will not set statnum for your sprites automatically when you drag sprites in 3d mode.
    • There was added new tool to the ESC menu in 3d mode called "Exploder Sequence". Try this out.
  15. JAN 04 2021

    • There was added a cool Preview Mode feature. Works in both 2D and 3D modes and allows to test trigger sequences, sector motion, sounds (include ambient ones) and ROR sectors in real time. Refer to manual for details.
    • There was added a main menu when you press key [ESC].
    • Added new z-mode that allows to select z direction with mouse.
    • You can move through stacks.
    • Added commands for sector pause/continue motion (modern only compatible).
    • Added stealth dude flag (modern only compatible).
    • Key [K] now working in both modes.
    • Key [CTRL] + [HOME] now working in both modes.
    • Key [F12] now working in both modes.
    • Key [U] now working in both modes.
    • Key [X] now working in both modes.
    • Key [R] now working in both modes.
    • Key [1] now working in both modes.
    • Various minor fixes.

XMAPEDIT MANUAL

Note: this manual designed to cover all the XMAPEDIT features relative to original MAPEDIT. If you don't know what is original map editor, you should refer to the full mapedit manual that answer all your questions and covers all aspects of level editing available here: https://docs.google.com/document/d/1cUD2COD12aklTI4VbOIVO1bEr7LgW-xgLzWg4AF4nMs/edit?usp=sharing.

Another good resources is a MAPEDIT.TXT that comes with your copy of Blood or BME's web-site: http://baitd.bloodgame.ru/bme.htm.

  1. About XMAPEDIT
  2. Installation & Notes
  3. Brief features, updates and fixes overview
    1. General
    2. 3D Mode
    3. 2D Mode
  4. Comment system
  5. Prefabs
  6. External models
  7. The preview mode
  8. Mouse controls
  9. Tile viewer
  10. Local and Global Sky editing
  11. Batch object processing
  12. The tools
    1. Import Wizard
    2. Artedit
    3. Qavedit
    4. Seqedit
    5. Exploder sequence
    6. Gradient shading
  13. Configuring XMAPEDIT
    1. Screen
    2. Sound
    3. PreviewMode
    4. Mouse
    5. MouseLook
    6. TileViewer
    7. AutoSave
    8. Compatibility
    9. General
    10. Comments
    11. HUD
    12. AutoGrid
    13. AutoAdjusting
    14. Rotation
    15. RESOURCES.ART
    16. RESOURCES.RFF

Brief features, updates and fixes overview

Comment system

Overview

Comment system allows to create textual notes and show it directly in 2D mode of the editor. The comments may be standalone or you can bind it to any object in the map. It useful for author of the map to mark some areas, to have a reminder or for other users that want to use it as example.

At the momemnt of writing this text, comments for each map stored in separated file that automatically saves in same directory where the map is going to be saved. It always has same name as the map file, but different extension (.MCT) since it allows to avoid losing all the info if saving with classic MAPEDIT, older versions of XMAPEDIT or other editors. It is a plain text file format with INI stucture, so you can always edit it in notepad.

For advanced security, a MapCRC parameter added. By default XMAPEDIT compares this value with actual map file CRC to make sure comments got bound with correct objects. This check can be disabled in configuration file (see [Comments] section).

How to use

To create a new comment, press [ALT]+[W] anywhere in the map, so an editing form appear. Type the text that cannot be longer than 128 characters. Now you can just press "Confirm" to save changes and comment will be created with default settings. For advanced customization see the description below:

  1. Font button allows to select a different font, however you must note that non-default fonts have fixed size and won't be scaled to the current zoom. Also the color of colored fonts cannot be overriden via Foreground property.
  2. Foreground changes the color of the text (if monochrome font selected) and/or tracer, while "Background" alters the background of the text. Select "None" if you want it to be transparent.
  3. With tracer: When checked it means that arrow will be added to the comment, so you can drag it anywhere you want. If disabled and you can't uncheck it, it means that comment is NOT standalone, and arrow will change it's position automatically depending on object's average point.
  4. Thick: Check it to make tracer arrow bold.
  5. Standalone comment: Uncheck it if you want to bind the comment to an object. If you can't, it means that there is no any objects near the place you gonna create the comment and it will be created as standalone.
  6. Delete unbinds and deletes existing comment from the map.

In 2D edit mode you may hold [MIDDLE MOUSE] to drag the text or the tracer anywhere you want. To edit existing comment, you must press [ALT]+[W] when it's text or object which is commented under mouse cursor. Press it on the end of the tracer (if available) to make object bind menu appear that allows you to select actions such as bind comment to object, unbind it or remove the tracer.

Prefabs

Overview

Prefab is a text file with INI structure that contains information about sprites that should be automatically created once user inserting it in a map. Single file can contain information about 512 sprites. File format description available in this file. Basically, it keeps (almost) all necessary properties of common sprites such as geometry, coordinates and appearance.

Another good thing that it also keeps properties of xsprites, which is allows to save whole trigger sequence and make it unique once inserted in a map. The following image shows a piano trigger sequence from E1M1 map with newly defined RX/TX channel IDs:

Creation and usage

All prefab files stored in "XMAPEDIT\PREFABS" directory and have "PFB" extension, but since is a text file, it can be opened in any text editor. To insert a prefab, you just call Game Objects menu with [ALT] + [S] in 3D Mode or [SHIFT] + [S] in 2D Mode and hit "Ins" button under Prefabs tab, to delete prefab file, press "Del".

To create a new prefab, you need to go through following steps:

  1. Highlight at least 1 sprite (but not more than 512) with [SHIFT] or [MIDDLE MOUSE]. Don't be afraid if you accidently highlight wall points since they will be just skipped.
  2. Open Game Objects menu and hit "Save" button.
  3. Type filename that cannot be longer than 8 characters and must contain only latin letters and digits.
  4. Finally, you have to define prefab face side which will be used when you inserting it on walls. This required to determine the side prefab should be turned to user.

    You just pick one of 4 possible sides by pressing arrow buttons or press "None" which leads to prefab that only can be attached on sprites, floors or ceilings.

External models

Overview

XMAPEDIT can load up to 4096 external models without modifying original game files. This allows level designers to place sprites with correct angles without guessing what user will see when playing the map with various voxel packs installed. One of voxel packs that already support xmapedit available on https://github.com/fgsfds/Blood-Voxel-Pack.

The model file must be correct standard BUILD .KVX voxel saved with all 5 mips and colors converted into Blood palette. The path to the file must be shorter than 144 characters. Only face sprites supported at the moment, so voxel won't show if sprite is wall or floor oriented.

Usage

To define a new external model, it must be added into XMAPEDIT database first. You must open "MODELS.INI" (filename can be changed in xmapedit.ini) file usually stored in XMAPEDIT directory with any plain text editor (if you don't have such file, just create the new one).

Each line in this file is the tile number and path to the KVX file separated with "=" (equal) sign. Now you just need to define your voxel by writing something like that: [Default]
Tile300 = FOLDER\FOLDER2\MYMODEL1.KVX
Tile2048 = FOLDER\FOLDER2\MYMODEL2.KVX

In the example above "MYMODEL1.KVX" file will be assigned to tile #300 and "MYMODEL2.KVX" to the tile #2048. That's it!

To force voxel spin flag (weapons like), you may just add "*" (star) sign before the KVX file path: [Default]
Tile300 = *FOLDER\FOLDER2\MYMODEL1.KVX

Options

XMAPEDIT configuration file provides some additional settings: Please, refer to "ShowExternalModels" description in the [General] section and "ExternalModels" in [RESOURCES.ART].

The Preview Mode

Overview

This feature can be activated any time, works in both 2D and 3D modes and allows to test trigger sequences, sector motion, sounds (include ambient ones), ROR sectors, SEQ animation of some sprites, FX effects of gib objects and even INI messages in real time.

Basically, it allows to play the map directly in the editor to see how it will look in the game. When preview mode enabled, you cannot edit anything, however, when testing is finished, it restores all objects to the editor's state.

Controls

To enable preview mode, press key [HOME], to disable press [ESC] or [HOME] again. If you wish to change difficulty and game mode settings, hold [SHIFT] while pressing [HOME].

Mouse controls allows to trigger objects by commands depending on mouse button you clicked. The default commands can be changed in XMAPEDIT.INI as well as some other settings. Refer to "CONFIGURING XMAPEDIT" chapter for more info. There is also supported trigger flags such as Enter, Exit, Sight (modern features only) and Proximity.

Mouse controls

  1. HUD Edit dialogs

    Move mouse or hold [Q] and scroll [MOUSE WHEEL] to focus on property you want to edit.
    Press [LEFT MOUSE] to toggle checkbox state.
    Press [RIGHT MOUSE] to reset value of an item to 0.
    Press [MIDDLE MOUSE] to call a helper function if available.
    Scroll [MOUSE WHEEL] to change the value of property by 1. Hold [ALT] for greater step or [CTRL] to set min or max value accordingly.
  2. Tile viewer

    Press [LEFT MOUSE] to select a tile.
    Press [MIDDLE MOUSE] to open detailed info window.
    Move mouse to the first row and hold [RIGHT MOUSE] to scroll the tiles up.
    Move mouse to the last row and hold [RIGHT MOUSE] to scroll the tiles down.
    Scroll [MOUSE WHEEL] to scroll tiles up or down.
  3. Sprites (3D Mode)

    Hold just [LEFT MOUSE] to drag the sprite(s) you currently pointing at by XYZ axis. If sprite was placed on a wall, you may also hold [RIGHT MOUSE] to align it according to that wall angle. It doesn't work for group of sprites thought.

    Press and hold [RIGHT MOUSE] first, then hold also [LEFT MOUSE] to drag sprites only by Z axis.

    Press [RIGHT MOUSE] repeatedly when aiming in floors or ceilings to just rotate sprite in CCW order, holding [SHIFT] leads to rotate the opposite way. Grid size and grid lock affects x/y dragging.

  4. Sprites (2D Mode)

    If there is more than one sprite at same XY coordinates and you want to focus on specific, you may hold [ALT] and repeatedly scroll [MOUSE WHEEL] until you meet the one that you needed.

  5. Walls and sectors (3D Mode)

    Hold [LEFT MOUSE] to raise the sector or [RIGHT MOUSE] to lower it. Hold [SHIFT] for finer step or [CTRL] to set Z of sector to the closest neighbor sector(s).
  6. Highlighting objects

    • 2D Mode

      Press [MIDDLE MOUSE] without [LEFT SHIFT] to highlight or unhighlight wall point or sprite. Note that all sprites and wall points with same coordinates will be automatically added or removed from a highlight. Holding [LEFT SHIFT] leads to sectors highlighting that allows to select sectors from different areas of the map:

    • 3D Mode

      Press [MIDDLE MOUSE] to highlight an wall or sector for gradient shading (see TOOLS). Press again on it to unhighlight. Usually, highlighted objects displays as pink colored, however sometimes it might display as normal (for instance, after you applied the gradient shading). To show previously highlighted objects, continue holding [RIGHT MOUSE] and press [CTRL]. To reset highlight, just press [ESC].

      Pressing mouse on a sprite will add or remove it from standard highlight.

Tile viewer updates

  1. Added translucent background (enabled by default).
  2. Added a GUI dialog which you can call by pressing key [F12].
    • Stretch tiles (stretch tiles to the thumbnail size).
    • Show transparent color.
    • Play animation (some animations may bounce).
    • Translucent background.
    • Always show misc tile info (such as view type or animation frames).
  3. Transparent color is no longer showing by default. You can control it by pressing [T].
  4. Added palswaps support. Press [P] to enter PLU id, [RSHIFT] + [P] cycles PLUs to the left, [LSHIFT] + [P] to the right.
  5. Key [Q] allows to cycle through texture types (sprite, wall, floor etc...).
  6. Added "Favorite tiles" feature that allows to save selected tile in XMAPEDIT.FTL and use it in other maps instead of searching for it every time you start a new board. Also it allows to bind a type which is useful for sprites.

    Press [F] to add current tile to the favorites or remove it from the list. When adding a tile, it will also ask to define a type for sprites. You can enter name, caption or id. If you don't want to define anything, just leave it empty and it will be automatically defined as decoration.

    If tile added in favorites, tile viewer prints "FAV" sign in the bottom right corner of the tile.

Sky editing

Xmapedit offers you to work with parallax sectors under the new perspective: the Local and Global sky.

The Local sky is the group of sectors that is not separated by a non-parallaxed sector and Global is all the parallxed sectors in the map. This allows to quickly apply propeties such as y-offset, shade, palette to the whole room or map depending on selected scope.

  1. [PAD8] or [PAD2]: Offset local sky Y position. Hold [ALT] for global scope.
  2. [PAD4] or [PAD5]: Rotate global sky by 1 tile. The smore sky tiles used, the more angles available.
  3. [PAD0], [PAD-] or [PAD+]: Change local sky shade. Hold [ALT] for global scope.
  4. [PAD5]: Reset sky x-panning and y-panning. Hold [ALT] for global scope.
  5. [L]: Toggle the local forced floor shade bit. Hold [ALT] for global scope.
  6. [ALT+P]: Change the local sky palette.

Batch object processing

The following new actions (apart from vanilla's ones) available for batch processing at the moment:

  1. Sprite deletion: Hold [SHIFT] to delete just one sprite.
  2. Sprite shading: Hold [SHIFT] to shade just one sprite.
  3. Sprite palette set: With key [ALT] + [P] only.

More actions are planned for next updates.

The tools

Configuring XMAPEDIT

All settings of the editor stored in XMAPEDIT\XMAPEDIT.INI file. It will be automatically created once you launch the program for the first time. It allows to change many aspects of the editor.