Skip to content

netpanzer/flexlay-netpanzer-map-editor

Repository files navigation

NetPanzer Map Editor

A Qt5-based map editor for the netPanzer open-source real-time strategy game.

Status

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, and the bundled generated tileset cannot be used in the netPanzer engine itself.

That said, there are quite a few ways to work with existing maps:

  • Autotile painting — paint terrain that blends smoothly with its neighbours
  • Ellipse tool — quickly outline roads, rivers, or crater rims
  • Rect select + stamp — copy any region of an existing map and paste it elsewhere, or save it as a named stamp for repeated use
  • Pre-built stamps — place the full outpost compound in one click
  • Tile pick — sample any tile already on the map and paint with it
  • Object editing — move, rename, add, or remove outposts and spawn points
  • Minimap navigation — pan quickly around large maps

The most practical workflow is to open an existing .npm map, reshape terrain and structures with the tools above, and save it under a new name.

Features

  • Open and save netPanzer .npm maps (binary format, verified round-trip) — see docs/map-format.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
  • 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.json sidecar is found for the loaded tileset (see docs/autotile-format.md)
  • Bundled generated tileset — works without netPanzer game data installed; includes terrain autotile and the summer12mb outpost building as a stamp (see docs/generated-tileset.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)

Building

See BUILD.md for full build and AppImage instructions.

Quick start:

meson setup build
ninja -C build
./build/netpanzer-editor

License

GNU GPL v3 — see COPYING for details.
Original Flexlay code by Ingo Ruhnke <grumbel@gmx.de>.
Qt5 port by andy5995.

About

Broken NetPanzer map editor

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors