FSKY Dev-tools Manual — DM Editor

Internal Development Documentation  |  Build 2007.06.25_IFM  |  FSKY Software

DM Editor

DM Editor
DeveloperFSKY
BaseIFM (2007 Build)
Build2007.06.25_IFM
StatusInternal / Active
OriginMakeFace graffiti
NPC SystemDMNPC
Cleanup UnitCAPTURE
File Format.DME / .DMX

Overview

The DM Editor is an internal scene authoring tool developed by FSKY, built upon the 2007 June build of Valve's In-Game Filmmaker (IFM) — the direct predecessor to Source Filmmaker. While it retains the core scene composition and cinematic toolset of IFM, the DM Editor introduces significant extensions for handling live AI-driven entities and automated scene cleanup, making it considerably more powerful than its base for in-world scene work.

Unlike standard IFM or SFM workflows which operate entirely on pre-recorded animation data, the DM Editor is designed to work with active server-side entities that exist and behave in real time during a scene session. Scenes are stored in the .DME format and can be pulled from and pushed to the FSKY host server via the SourceBox ORD system.

NOTE: The DM Editor is an internal FSKY development tool and is not distributed publicly. Access requires a valid CDKEY and an active session authenticated through SourceBox.

DMNPCs

DMNPCs (DM Non-Player Characters) are one of the primary distinguishing features of the DM Editor over standard IFM. Rather than being pre-animated props or keyframed puppets, DMNPCs are alive entities — they move, react, and behave similarly to how a player in a VR headset would move through a space.

Behaviour

A DMNPC's movement is not scripted frame-by-frame. Instead, it is driven by a real-time input stream, meaning the entity's position, rotation, and physical reactions update continuously — similar to networked player input. This gives DMNPCs a distinctly natural, human-like quality of motion compared to standard NPC or prop animation, since their motion arises organically rather than from predetermined keyframes.

This makes them particularly useful for populating scenes with convincing background characters or for training AI models with realistic human-motion data, as their behaviour cannot be trivially distinguished from a real player's movement signature.

NOTE: DMNPCs are server-side entities managed through INTERLOPE.DME. Direct manipulation of a DMNPC outside of the DM Editor interface is strongly discouraged and may cause void instability.

Types

DMNPCs are categorised internally by their role within a scene. The primary class used in most operations is the Siuef type, which handles standard scene population and AI training duties. Additional subtypes exist for specialised functions but are not documented in this version of the manual.


CAPTURE Unit

CAPTURE
ClassFSKY_CAPTURE_CBSGY
TypeScene Cleanup Entity
BehaviourSilent / Passive
TriggerScene state change
Tracked bySourceBox Tracker

The CAPTURE unit (entity class: FSKY_CAPTURE_CBSGY) is a passive scene management entity that operates silently in the background of any active DM Editor session. Its sole function is to monitor the necessity of DMNPCs within a scene and quietly remove them when they are no longer needed.

When a DMNPC completes its role in a scene — whether it has finished its movement sequence, moved out of the active scene boundary, or been flagged as redundant by the scene state — the CAPTURE unit intercepts and removes the entity cleanly without disrupting the surrounding scene data or leaving orphaned entity references in the .DME file.

This process is intentionally silent and non-disruptive. There is no visible effect in the editor viewport when a CAPTURE event occurs; the DMNPC simply ceases to exist from the scene hierarchy. The only way to observe CAPTURE events in real time is through the SourceBox Tracker, which logs all FSKY_CAPTURE_CBSGY state changes and position data.

WARNING: Do not attempt to manually kill or remove DMNPC entities outside of the CAPTURE system. Unauthorised removal of DMNPCs can corrupt the void structure and permanently damage preserved scene data stored on the host server. The CAPTURE unit exists precisely to handle this process safely.

The CAPTURE unit itself is tracked by SourceBox's Tracker functionality. Its position, state changes, and all capture events are logged in real-time, and it is the primary entity monitored by the Tracker's default view mode. See the SourceBox Tracker documentation for more information.


MakeFace Origin

The DM Editor was not conceived through a conventional software development process. According to internal FSKY records, the editor originated from a graffiti spray decal processed through MakeFace — FSKY's early model generation tool that converts Valve Texture Format (.VTF) files into Source engine models (.MDL).

The specific spray in question was applied in-world and captured through the ORD_CAPTURE process, which generated the initial scene structure that later became the foundation of the DM Editor's architecture. The exact spray and its original author are not documented in current records.

NOTE: MakeFace is a deprecated tool and is no longer included in current FSKY dev suite releases. The DM Editor does not require MakeFace for standard operation. See the MakeFace page for legacy documentation.

Interface

The DM Editor's interface is derived directly from the 2007 IFM build and retains its characteristic flat, grey panel-based layout. The main window is divided into the following areas:

  • Scene Hierarchy — Lists all entities in the active scene, including DMNPCs, props, cameras, lights, and DM-specific entities such as CAPTURE units and dm_trigger volumes.
  • 3D Viewport — The main scene view. Renders the active camera perspective in real time. DMNPCs appear as standard player models within the viewport.
  • Properties Panel — Displays and allows editing of entity properties. DM-specific parameters such as dm_node_id, dm_channel, and dm_trigger state are listed here.
  • Timeline — Manages keyframe data for cameras and props. Note that DMNPC motion is not keyframed and does not appear on the timeline — it is driven live.
  • Console Output — Displays real-time log output from the IFM subsystem, DMNPC state changes, and any CAPTURE events.

DM-Specific Toolbar Buttons

In addition to standard IFM controls, the DM Editor adds two toolbar buttons not present in base IFM:

  • DM_RECORD — Begins recording all scene events, including DMNPC movement streams and CAPTURE triggers, to the active .DME file.
  • DM_EXPORT — Exports the current scene state to a .DMX file compatible with the SourceBox ORD system for server-side rendering.

Commands

The DM Editor exposes a number of console commands for advanced scene management. These are entered via the in-editor console (~):

dm_record_start - Begin recording DM scene events to active .DME dm_record_stop - Stop recording and flush buffer to disk dm_capture_force [id] - Manually trigger CAPTURE on a specific DMNPC by node ID dm_npc_list - Print all active DMNPCs and their current state dm_npc_freeze [id] - Freeze a DMNPC's movement stream without removing it dm_export_dmx - Export scene to .DMX for ORD rendering dm_node_status - Print status of all dm_node entities in scene dm_trigger_arm [id] - Arm a dm_trigger volume dm_trigger_disarm [id] - Disarm a dm_trigger volume
NOTE: dm_capture_force should only be used when the CAPTURE unit has failed to automatically clean up a DMNPC. Overuse can desynchronise the scene state from the server-side .DME record.

Warnings & Restrictions

IMPORTANT — Read before use:

1. Do not manually delete DMNPCs from the scene hierarchy. Always allow the CAPTURE unit to handle removal.
2. Do not force-close the DM Editor while DM_RECORD is active. Always stop recording before closing to prevent .DME corruption.
3. Scenes pulled from the server are not backed up locally by default. Use DM_EXPORT regularly to preserve your work.
4. Unauthorised modification of DMNPC entity data may result in immediate license key termination and session closure.
5. If a DMNPC enters an undefined state (visible in console as NODE_??), do not interact with it. Log the incident and contact FSKY server supervisors.

If you encounter a DMNPC displaying NODE_?? as its node ID in the Properties panel, this indicates an unresolved trigger target — the entity's origin data could not be matched to a valid entry in the server-side .DME. This is a known edge case and should be reported.


For further assistance, visit the FSKY developer forums or contact server supervisors directly. — FSKY.