Code Monkey home page Code Monkey logo

strongdmm's Introduction

GitHub release Build Status

Strong Dream Map Maker

Yet another robust map editor for BYOND.

What is it

StrongDMM is an alternative map editor for BYOND. It was built with thoughts to create more flexible, fast and extensible instrument, than out of the box editor. Under the hood, StrongDMM uses SpacemanDMM parser so the process of opening dme project takes several seconds instead of eternity, which BYOND editor provides.

From the other point, StrongDMM doesn't make mapping experience absolutely different. Familiar hotkeys, similar editing behaviour, all of that was made to make the process of migrating to the new editor fast and smooth.

Features

  • Usage of SpacemanDMM parser to parse environment. That means that StrongDMM has full support of sophisticated BYOND syntax and can work with stuff like definition through macros, etc.
  • Much specific display filters! Separate menu with which you can hide and show exactly what you want.
  • Built in map merger. This thing will minimize changes in file, so resulted diff won't be too big. The algorithm itself is similar that uses TG codebase.
  • Map file cleanings. StrongDMM will sanitize variables which declared for specific instance on map, but have the same value in environment. That means that all instances which were made by providing same variable as in code, will be deleted from the map and replaced with initial object.
  • Simplified way of looking through the instances. Now you can view instances variables in selection menu.
  • Improved variables editing. Searching and ability to show only instance variables.
  • Map synchronization. You can open different maps in different files and work with them like if they are in the same file, but on different z-levels.
  • TGM support out of the box. You don't need to manually convert map after editing.

Disclaimer!
StrongDMM doesn't support multi-z map files. It was done on purpose. Multi-z maps are absolutely unmaintainable from the perspective of Open Source contribution. Divide your z-levels in different files and use Map Synchronization option.

How to install

Open releases page and download distribution package you want. No dependencies required, all packages are fully self containable.
Notice! If you're experiencing a problem when while opening an environment everything is stuck, then try to start the editor as an administrator or try to use a zipped version.

How to build

Pre-requests: JDK 8 or higher, Rust to compile 'sdmmparser'

Editor:

  • Build: gradlew clean build
  • Run: gradlew runShadow
  • Auto-format (for linter): gradlew formatKotlin

sdmmparser (Optional):

  • Build from root: cargo build --manifest-path=./src/sdmmparser/Cargo.toml
  • Build from sdmmparser folder: cargo build
  • To build release (optimized) version just add --release flag in the end of the command.

To parse BYOND environment StrongDMM uses SpacemanDMM parser. To utilize its functionality 'sdmmparser' is used. Most of the time you won't need to build it manually since pre-built exe could be found in ~/libs folder. But if you'll decide to do it, you'll need to move your compiled executable under the ~/libs folder.

Credits

Thanks to original FastDMM made by monster860 and later supported by TG. A lot of good ideas were taken from there.
Special thanks to SpaceManiac for his amazing SpacemanDMM parser. This guy makes BYOND development better.

License

See the LICENSE file for license rights and limitations (GPL-3.0).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.