Skip to content

My workflow in NovaLogic DFXMED mission editor

Sergey Lukin edited this page Jun 20, 2016 · 10 revisions

Overview

DFXMED is mission editor for NovaLogic FPS video games (Joint Operations and Delta Force series). It has all it takes to create custom single-player/co-operational mission or map for a multiplayer game. It is not the most intuitive program in the world, however, once you are familiar with the workflow you will be able to create complex 3D worlds with a great control over details. I was using DFXMED v2.60 while writing this guide.

Modes

One of the fundamentals in DFXMED is that it operates in one of 3 modes: insert mode, (semi-)visual top view mode, and wireframe only 3D mode.

By default visual top view mode is active. In this mode you have visual overview of the whole world from top view perspective with ability to hide/unhide/move around (mostly in X/Y axes only) objects like buildings/vehicles/players/decorations/waypoints/etc.

Start by adding terrain. Go to Edit > General information. A dialog with common project settings will appear. Choose terrain, environment, tiles set and press OK. Now move your camera around the world with NumPad keys: 8, 6, 2, 4 to move UP, RIGHT, DOWN, LEFT and + / - to zoom in / out. Find more ways to navigate around in the keystrokes section below.

From top view mode you can switch to insert mode by pressing Insert key or right clicking anywhere on the main window and choosing Insert mode from the context menu. In insert mode you may left mouse button click anywhere to open a list of available objects. Once an object is chosen it will be placed on the map. From here you can continue adding objects or press Insert again to return to visual top view mode.

You can also switch to 3D mode by either pressing d key or clicking on 3D Wireframe button in the top panel. What you will see there depends on what objects you've selected before entering 3D mode. I highly recommend selecting as few objects as you need before switching to 3D mode because the less objects you have in 3D mode the easier it is to read what you see there and therefore easier to change objects' X/Y/Z position correctly. So before entering 3D mode select objects by left mouse button clicking on them in the visual top view mode. Each object left mouse button click adds it to selection or removes from selection if it was already selected. When you're done in 3D mode, return to visual top view mode by pressing d key again.

See all the keystrokes in the keystrokes list below for more details on what you can perform in each mode.

Frequently used keystrokes

Working efficiently in DFXMED is all about getting familiar with the keyboard shortcuts and optional combinations of keystrokes with mouse clicks/drags. Honestly the configuration is not intuitive enough to me and it's not possible to customize it so there is no other choice other than remembering all the keystrokes no matter how I hate them. I've collected all the keystrokes I find useful here so that I can get back to this list in the future.

2D/3D modes

  • ENTER to edit attributes of selected object(s)

  • d to switch between 2D/3D Wireframe views

  • Ctrl + z to undo move/rotate/delete

  • Ctrl + y to redo move/rotate/delete

  • UP - move selected object(s) to the North just a touch (1/256 meter)

    • Ctrl + UP - move selected object(s) to the North by 1 meter
  • DOWN - move selected object(s) to the South just a touch (1/256 meter)

    • Ctrl + DOWN - move selected object(s) to the South by 1 meter
  • LEFT - move selected object(s) to the West just a touch (1/256 meter)

    • Ctrl + LEFT - move selected object(s) to the West by 1 meter
  • RIGHT - move selected object(s) to the East just a touch (1/256 meter)

    • Ctrl + RIGHT - move selected object(s) to the East by 1 meter
  • SHIFT + UP - move selected object(s) up to the skies just a touch (1/256 meter)

    • Ctrl + SHIFT + UP - move selected object(s) up to the skies by 1 meter
  • SHIFT + DOWN - move selected object(s) down to the ground just a touch (1/256 meter)

    • Ctrl + SHIFT + DOWN - move selected object(s) down to the ground by 1 meter
  • SHIFT + LEFT - rotate selected object(s) to the West by 1 deg

    • Ctrl + SHIFT + LEFT - rotate selected object(s) to the West by 30 deg
  • SHIFT + RIGHT - rotate selected object(s) to the East by 1 deg

    • Ctrl + SHIFT + RIGHT - rotate selected object(s) to the East by 30 deg
  • NumPad's + / - zoom camera IN / OUT

2D mode only

  • LMB adds object to selection if it's not selected yet or removes from selection if it's already selected

  • u to unselect object(s)

  • z moves camera to global center

  • r resets zoom and moves camera to global center (i.e. perfect top overview)

  • m allows moving selected object(s)

  • s hides selected object(s)

  • SHIFT + s hides all unselected object(s)

  • a unhides all hidden objects

  • t selects all objects of same type as last selected object

  • g selects all objects of same group as last selected object

  • w selects Waypoint List of currently selected Waypoint

  • Ctrl + RMB centers camera view on cursor position

  • Ctrl + c / Ctrl + v / Ctrl + SHIFT + v to copy / paste / paste with random heading (random heading is useful when, say, creating a forest with randomly positioned bulks of trees)

  • Insert to toggle INSERT mode

  • Delete to delete selected object(s)

  • 8 / 2 NumPad's keys move camera view to the North / South

  • 4 / 6 NumPad's keys move camera view to the West / East

3D mode only

  • [ / ] selects previous / next object

  • t moves camera to top South to North view (good for adjusting object's X/Y axes)

    • Ctrl + t moves camera to top view without changing camera direction
  • s moves camera to side East to West view (good for adjusting object's Z-axis alignment)

    • Ctrl + s moves camera to side view without changing camera direction
  • b moves camera to side North to South view

    • Ctrl + b moves camera to North to South view without changing the height of camera view
  • z resets zoom

  • r resets zoom and moves camera to side East to West view

  • x shows/hides X (RED) and Y (BLUE) axes

  • g shows/hides ground wireframe

  • c shows/hides collision highlight (red highlight means object collides with the ground while blue highlight means object is under the ground)

  • a selects all objects

  • Ctrl + LMB drag - move camera in X/Y direction

  • Ctrl + RMB drag - rotate camera Horizontally/Vertically

  • 4 / 6 NumPad's keys rotate camera Horizontally

  • 8 / 2 NumPad's keys rotate camera Vertically

  • SHIFT + RMB horizontal drag - zoom in / out

Tiles

When one or more tile are selected, following keystrokes are available:

  • SHIFT + RIGHT - rotate 90deg Clockwise

  • SHIFT + LEFT - rotate 90deg Counter-clockwise

  • Ctrl + SHIFT + RIGHT - flip Horizontally

  • Ctrl + SHIFT + LEFT - flip Vertically

OS X + Windows Virtual Machine + Karabiner

DFXMED was only released for Windows OS. I work with DFXMED from Windows 7 virtual machine running inside OS X on Macbook Pro. Because DFXMED is not configurable in terms of keys mapping and is very PC-oriented and also assumes user has NumPad attached to their keyboard I had to remap some Mac's keystrokes within OS X with help of Karabiner in order to simulate PC keystrokes used in DFXMED. Here are the keystrokes I currently have set up (no need to worry if you have a PC and keyboard with NumPad):

  • F6 to enable virtual NumPad and use following keys:

    • 8 / k to simulate NumPad's 8 and 2 keys on PC

    • u / o to simulate NumPad's 4 and 6 keys on PC

    • / / ; to zoom camera IN / OUT in both 2D and 3D modes (simulates NumPad's + and - on PC)

  • Ctrl + Enter to toggle INSERT mode in 2D view (simulates Insert key on PC)

  • Ctrl + Delete to delete selected object(s) in 2D view (simulates Delete key on PC)

And here is the import script for the Karabiner:

#!/bin/sh

cli=/Applications/Karabiner.app/Contents/Library/bin/karabiner

$cli set remap.command_r_delete_to_forward_delete 1
/bin/echo -n .
$cli set remap.controlL2fn 1
/bin/echo -n .
$cli set remap.f6_to_virtual_numlock 1
/bin/echo -n .
$cli set remap.fn2controlL 1
/bin/echo -n .
$cli set remap.fnReturn2shiftLinsert 1
/bin/echo -n .
/bin/echo