A Qt5-based map editor for the netPanzer open-source real-time strategy game.
The editor is functional but still early in development. Creating a polished map from scratch is challenging — there is no flood-fill or per-tile attribute editing yet.
The most practical workflow is to open an existing .npm map, reshape terrain
and structures with the tools below, and save it under a new name.
- Open and save netPanzer
.npmmaps (binary format, verified round-trip) — see docs/map-format.md - Add new tiles to any
.tlstileset viatools/add_tile.py— see docs/adding-tiles.md - Tile painting with full undo/redo
- Ellipse paint tool — drag to paint tiles along an ellipse outline
- Rect select and stamp system — drag-select a region, save as a stamp, place
with one click; pre-built stamps auto-loaded from
data/stamps/at startup; Over 100 preset stamps (houses, mountains, roads, rivers, trees, lakes, outpost structures) imported from the original Flexlay editor viatools/import_flexlay_brushes.py - Tile pick tool — click any map tile to select it for painting
- Autotile — automatic transition-tile selection based on 8-neighbour bitmask;
enabled when a
.autotile.jsonsidecar is found for the loaded tileset (see docs/autotile-format.md) - summer12mb autotile support — bitmask mappings derived from tile imagery via
tools/derive_autotile_bitmasks.py; mountain/water/wall/road/grass/river covered - Tileset auto-detected when opening a map or creating a new one
- Tile browser with jump-to-ID search
- Place and move outpost and spawn-point objects
- Object renaming via double-click or context menu
- Minimap with viewport overlay and click-to-pan
- Zoom toward cursor
- Keyboard shortcuts:
T(tile paint),E(ellipse),U(rect outline),I(pick),R(rect select),F(rect fill),M(stamp),O(place outpost),S(spawn point),V(select object),G(grid)
- Press
Rto switch to the Rect Select tool. - Drag across the map to select the region you want to capture. A yellow highlight shows the selection.
- Open the Stamps panel (View → Stamps if it isn't visible).
- Click Capture Selection — the region is added as a new stamp.
- Click the stamp to select it, then click Save… to write it to a
.stamp.jsonfile. Saved stamps can be reloaded with Load… in any future session.
To place the stamp, press M (Stamp Paint) and click on the map.
Stamps in data/stamps/ are loaded automatically at startup. You can drop
additional .stamp.json files there, or use Load… in the Stamps panel to
load them from any location.
You can also drag-select a rectangular region in the Tile Browser to create a multi-tile stamp directly from the tileset — release the mouse to send it straight to the active stamp.
See BUILD.md for full build and AppImage instructions.
Quick start:
meson setup build
ninja -C build
./build/netpanzer-editorGNU GPL v3 — see COPYING for details. Original Flexlay code by Ingo Ruhnke <grumbel@gmx.de>. Qt5 port by andy5995.