diff --git a/README.md b/README.md index 93a3041b..abb4cb3d 100644 --- a/README.md +++ b/README.md @@ -19,11 +19,12 @@ StrongDMM is an alternative yet robust map editor for BYOND. -It was built with the idea to create a more flexible, fast and extensible tool, than BYOND built-in map editor. The -editor has same features DM has, but provides much more and improves general map editing experience. +It was built with the idea of creating a more flexible, fast, and extensible tool than the BYOND built-in map editor. +The editor has the same features as DM, but provides much more and improves the general map editing experience. ## Features -The editor provides a bunch of new features: + +The editor offers a range of new features: * TGM support with built-in map merger (no need to use external scripts and pre-commit hooks); * Almost instant environment open; @@ -33,7 +34,7 @@ The editor provides a bunch of new features: * Robust "Search"; * Improved shortcuts; * Robust variables editor and variables preview; -* Optional variables sanitizing; +* Optional sanitization of variables; * Open with CLI. ...and a lot more... @@ -45,7 +46,7 @@ The editor provides a bunch of new features: ## How to Use StrongDMM is a single executable, which doesn't require any installation. -You can download it by any of the provided link and start it right away. +You can download it from any of the provided links and start it right away. **Download Links:** @@ -74,92 +75,87 @@ When providing `.dmm` files without `.dme`, a proper environment file will be fo ## Support [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P5BF17Q) -StrongDMM developed without any monetization in mind. The main motivation is an enthusiasm to do a cool stuff.\ -Your support can show your gratefulness and will motivate the project further development. +StrongDMM was developed without any monetization in mind. The main motivation is the enthusiasm for creating cool stuff.\ +Your support can demonstrate your appreciation and will motivate further development of the project. -Also, if you want something specific to be implemented in the editor, it's possible to focus on your needs.\ -Feel free to reach me out with my public contacts to discuss details: [E-Mail](mailto:despsolver@gmail.com) +Additionally, if you have specific features in mind that you'd like implemented in the editor, we can focus on your needs.\ +Feel free to reach out to me through my public contact to discuss details: [E-Mail](mailto:despsolver@gmail.com) ## FAQ **Q.** My antivirus software detects something suspicious in the editor binaries. Is it ok?\ -**A. -** Yes. It's a false positive reaction to the way how Golang (development language) creates binaries. Read more: https://go.dev/doc/faq#virus +**A.** Yes, it's a false positive reaction to the way Golang, the development language, creates binaries. Read more: [Golang FAQ](https://go.dev/doc/faq#virus) **Q.** How do I verify my executables?\ -**A.** With `sha256` hashes available on the [release](https://github.com/SpaiR/StrongDMM/releases/latest) page. +**A.** Verify them using `sha256` hashes, available on the [releases page](https://github.com/SpaiR/StrongDMM/releases/latest). **Q.** But how can I trust executables on the release page?\ -**A. -** Executables are built with the [CI](https://github.com/SpaiR/StrongDMM/actions/workflows/ci.yml) pipeline. You can verify the process by yourself or build executables manually from the source code. +**A.** Executables are built with the [CI pipeline](https://github.com/SpaiR/StrongDMM/actions/workflows/ci.yml). You can verify the process yourself or build the executables manually from the source code. **Q.** How to uninstall the editor?\ -**A. -** StrongDMM doesn't have any installation. Thus, no specific "uninstall" required as well. Delete the executable and, if you want to remove editor data, its directory on OS. +**A.** StrongDMM doesn't require installation, so no specific uninstallation process is needed. Simply delete the executable and, if desired, its directory on your OS to remove editor data. **Q.** Where do I find editor data?\ **A.** For Windows: `C:\Users\USER\AppData\Roaming\StrongDMM`, for Linux/macOS: `~/.strongdmm`. **Q.** How to move the map?\ -**A.** ~~Use zoom-in/zoom-out.~~ Drag the pan with the **middle mouse button**. Or by holding a **space key**. -Alternatively you can use **arrow keys**. +**A.** Drag the map using the **middle mouse button**, or by holding the **space key**. Alternatively, you can use the **arrow keys**. **Q.** How to zoom?\ -**A.** Scroll your mouse or use **+/- keys** on the keyboard. +**A.** Zoom using your mouse scroll wheel or the **+/- keys** on the keyboard. -**Q.** How to change a save format?\ -**A.** In the menu bar: `File->Preferences...` and change to the format you need. +**Q.** How to change the save format?\ +**A.** Go to `File -> Preferences...` in the menu bar and select the desired format. -**Q.** The editor crushed. Where I can find logs?\ -**A.** Menu button: `Help->Open Logs Folder`. +**Q.** The editor crashed. Where can I find logs?\ +**A.** Access logs via the menu: `Help -> Open Logs Folder`. ## How to Build -There are two steps to build the application: +Building the application involves two steps: -1. Build **sdmmparser** library; +1. Build the **sdmmparser** library; 2. Build the editor. -**sdmmparser** is a rust library based on [SpacemanDMM](https://github.com/SpaceManiac/SpacemanDMM) parser. It is -compiled to a `staticlib`. You can find it by path: `internal/third_party/sdmmparser/src`. +**sdmmparser** is a Rust library based on the [SpacemanDMM](https://github.com/SpaceManiac/SpacemanDMM) parser and is compiled to a `staticlib`. +It can be found at `internal/third_party/sdmmparser/src`. -### Pre-requests +### Prerequisites -* [Go](https://go.dev/): version **1.20** or higher -* [Rust](https://www.rust-lang.org/): version **1.69.0** -* (Optional) [Task](https://taskfile.dev): to run build scripts +* [Go](https://go.dev/): version **1.20** or higher. +* [Rust](https://www.rust-lang.org/): version **1.69.0**. +* (Optional) [Task](https://taskfile.dev): for running build scripts. #### For Windows -Ensure your Rust configured to use `stable-x86_64-pc-windows-gnu` toolchain. That requirement is based on the thing, -that Go can't use MSVC to do builds. Thus, it won't link with libraries built using anything but GNU. +Ensure your Rust is configured to use the `stable-x86_64-pc-windows-gnu` toolchain, as Go can't use MSVC for builds and requires GNU. +The easiest way to get the GNU compiler is to install MinGW through chocolatey, msys2, etc. -The easiest way to get GNU compiler is to install MinGW. This could be done with many ways: chocolatey package, msys2 -etc. +After installing MinGW, ensure that the path to its bin folder is added to the PATH environment variable. #### For Linux -You would probably need to add dependencies to build GUI apps: `sudo apt install xorg-dev libgtk-3-dev`. +You may need to install dependencies for building GUI apps: `sudo apt install xorg-dev libgtk-3-dev`. ### Steps #### Using Task -Task is a cross-platform alternative for Make. Its scripts are described in the `Taskfile.yml`. +Task is a cross-platform Make alternative with scripts in `Taskfile.yml`. -With installed Task you can basically do: +With Task installed: -* `task build`: to build sdmmparser + the editor (result will be in the `dst` dir) -* `task run`: to run the editor (will do a compilation under the hood) +* `task build`: Builds sdmmparser and the editor (output in `dst` directory). +* `task run`: Runs the editor (compiles first if needed). #### Manually -1. The important part is to build **sdmmparser** library.\ - Go to the `internal/third_party/sdmmparser/src` directory and run the command: `cargo build --release`.\ - If you don't modify **sdmmparser** you can do that step only once. -2. In the root you can do: - * `go build .`: to build the editor (executable will be in the root with the name `sdmm.exe`/`sdmm`) - * `go run .`: to run the editor +1. First, build the **sdmmparser** library.\ + Navigate to `internal/third_party/sdmmparser/src` and run `cargo build --release`.\ + This step is needed only once unless **sdmmparser** is modified. +2. In the root directory: + * `go build .`: Builds the editor (executable named `sdmm.exe`/`sdmm` in the root). + * `go run .`: Runs the editor. ## Credits