Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

deepnight/ldtk

Open more actions menu

Repository files navigation

Level Designer Toolkit (LDtk) is a modern, efficient and open-source 2D level editor with a strong focus on user-friendliness.

Links: Official website | Haxe API (on GitHub)

GitHub Repo stars GitHub All Releases GitHub Workflow Status GitHub Workflow Status

Getting LDtk latest version

Visit LDtk.io to get latest version.

Building from source

Requirements

  • Haxe compiler: you need an up-to-date and working Haxe install to build LDtk.
  • NPM: this package manager is used for various install and packaging scripts. It is packaged with NodeJS.

Installing required stuff

  • Open a command line in the ldtk root dir,
  • Install required Haxe libs:
haxe setup.hxml
  • Install Electron locally and other dependencies through NPM (IMPORTANT: you need to be in the app dir):
cd app
npm i

Compiling master branch

First, from the root of the repo, build the electron Main:

haxe main.debug.hxml

This should create a app/assets/main.js file.

Then, build the electron Renderer:

haxe renderer.debug.hxml

This should create app/assets/js/renderer.js.

Compiling another branch

If you want to try a future version of LDtk, you can checkout branches named dev-x.y.z where x.y.z is version number.

IMPORTANT:

  • these dev branches might be unstables, or even broken. Therefore, it's not recommended to use, unless you plan to add or fix something on LDtk.
  • because dev branches might change quickly, you will need to update haxelibs often.
  • you will need to switch the LDtk haxe API to the same branch as LDtk repo. (adapt the branch name below accordingly):
haxelib git ldtk-haxe-api https://github.com/deepnight/ldtk-haxe-api.git dev-0.6.0

Running

From a command line in the app folder, run:

npm run start

Running inside Hide (as an editor plugin)

LDtk can run embedded in a Hide tab.

First build the plugin (from the ldtk root dir):

haxe hide-plugin.hxml

This creates app/nwjs/hide-plugin.js (sources in src/hide/plugin/). Then add to the Hide project's res/props.json (ldtk.project is optional and resolves relative to res/):

"plugins": [ "/path/to/ldtk/app/nwjs/hide-plugin.js" ],
"menu.extra": "<menu label='LDtk' component='ldtk.LdtkView'></menu>",
"ldtk.project": "path/to/world.ldtk"

LDtk then opens from the menu, in its own tab. Bonus: its CastleDB enum sync reads Hide's live database, unsaved changes included.

Running in NW.js (instead of Electron)

The renderer can also run standalone in NW.js, without the Electron main process:

nw app/nwjs

Contributing

You can read the general Pull Request guidelines here: https://github.com/deepnight/ldtk/wiki#pull-request-guidelines

Related tools & licences

About

Modern, lightweight and efficient 2D level editor

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.