Skip to content

unbridledpc/MapEditor

Repository files navigation

Nexus Map Editor

A modern fork of RME 4.1.2 with extended tooling, Lua-based editor scripting, and quality-of-life improvements.


What Is This?

Nexus Map Editor is a C++ OpenTibia-compatible map editor with an optional Lua scripting system for advanced tooling, map automation, and batch operations.

It is based on RME 4.1.2, with additional features and extensions.


✨ Features

  • Full OpenTibia map editing support
  • External Lua scripting system (tool-based)
  • TOML-based script manifests
  • Map dump JSON export for analysis/generation tools
  • Undo-safe script execution
  • Extended tooling system

For a feature comparison, see: 👉 COMPARISON_RME42.md


🧩 Lua Scripting System

The editor supports external Lua tools defined using TOML manifests.

Scripts allow you to:

  • Generate terrain
  • Batch edit tiles
  • Analyze map structure
  • Create automation tools
  • Build custom editor extensions

📁 Script Structure

Scripts live inside:

<editor_executable>/scripts/

Each tool requires:

tool.toml tool.lua

The TOML file defines metadata. The Lua file contains the logic.


📘 Scripting Documentation

Full documentation:

  • docs/scripting/overview.md
  • docs/scripting/toml-schema.md
  • docs/scripting/context-and-output.md
  • docs/scripting/hello-world.md

❓ Why TOML Instead of manifest.lua?

The original RME 4.1.2 base did not include a manifest system.

TOML was introduced as:

  • A safe metadata format (non-executable)
  • Easy to parse
  • Clean separation between configuration and Lua logic
  • Tooling-friendly and language-agnostic

It is not a replacement for manifest.lua.


🛠 Compiling

Required Libraries

  • wxWidgets >= 3.0
  • Boost >= 1.55.0

Using VCPKG

32-bit

vcpkg install wxwidgets freeglut asio nlohmann-json fmt libarchive boost-spirit

64-bit

vcpkg install --triplet x64-windows wxwidgets freeglut asio nlohmann-json fmt libarchive boost-spirit


Platform Build Guides


📦 Download

Official releases are available under:

👉 GitHub Releases tab


🐛 Bugs & Issues

If you find a bug:

👉 Open a GitHub Issue in this repository.

For discussion and community support:

👉 https://discord.gg/sNgRy8qMAm


🤝 Contributing

Contributions are welcome.

You can:

  • Submit pull requests
  • Improve documentation
  • Add new Lua tools
  • Fix bugs
  • Suggest improvements

If you'd like commit access or want to collaborate more closely, reach out via GitHub or Discord.


🧱 Related Projects


License

(Insert your license here)

About

This editor is based on the one found in the discord channel for OTA. It has extensive updates to it!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages