Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rulholos/lunaforge
LunaForge is an ImGui editor for all main branches of LuaSTG. Currently in early alpha.
https://github.com/rulholos/lunaforge
editor lua luastg
Last synced: about 2 months ago
JSON representation
LunaForge is an ImGui editor for all main branches of LuaSTG. Currently in early alpha.
- Host: GitHub
- URL: https://github.com/rulholos/lunaforge
- Owner: RulHolos
- Created: 2024-08-27T16:15:09.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-05T14:27:32.000Z (about 2 months ago)
- Last Synced: 2024-11-05T15:26:45.934Z (about 2 months ago)
- Topics: editor, lua, luastg
- Language: C#
- Homepage: https://rulholos.github.io/LunaForge/
- Size: 2.02 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
LunaForge
([Currently in Alpha](https://github.com/RulHolos/LunaForge/releases))
[![Build Docs](https://github.com/RulHolos/LunaForge/actions/workflows/docfx-build-publish.yml/badge.svg)](https://github.com/AtaeKurri/LunaForge/actions/workflows/docfx-build-publish.yml)
[![Build Editor](https://github.com/RulHolos/LunaForge/actions/workflows/build.yml/badge.svg)](https://github.com/RulHolos/LunaForge/actions/workflows/build.yml)**LunaForge** is a code editor and generator targeting the LuaSTG engine (all main branches) based on THlib.
The goal of LunaForge is to be a kind of "all-in-one" editor: It can compile plain lua script, compile nodes to lua, and shaders.
There is more to come~If you find any issues, [please report it](https://github.com/RulHolos/LunaForge/issues/new) as this editor is still in very early stages.
## Usage
Placeholder
## Differences with SharpX
The main "why" point with LunaForge is "[SharpX](https://github.com/Sharp-X-Team/LuaSTG-Editor-Sharp-X) already exists, so why?"
- LunaForge uses a folder-based approach for projects instead of a single-file based approach.
- LunaForge uses ImGui instead of WPF.
- LunaForge allows you to set an entry point for your project, making it easier to structure your project.
- Projects are sharable by defaullt since all files are relative to the root of the project.
- LunaForge is meant to be cross-platform for Windows, Mac and Linux. (not the case yet)## Compilation
To compile your project to a LuaSTG-ready game, LunaForge goes through all your files in the project folder.
It first tries to compile all .lfd (definition files) to .lua scripts.
Then, after this has been done, the compiler checks for every file's checksums.
If the file has changed since the last time it was packed into the game, it will be repacked.After all this has been done, the editor tries to start LuaSTG.
**Please be aware that (almost) EVERY file inside your project folder will be packed. This can result in a large game size.**
Note: Only the .lunalorge invisible folder (and its contents) and the Project.lfp file won't get included in the packing process.## For Linux
Linux version is **NOT** stable.
No testing has been made yet.
Please install [xsel](https://github.com/kfish/xsel) and make it callable.
## For MacOS
MacOS version is **NOT** stable.
No testing has been made yet.
## Plugins
LunaForge supports user-made plugins.
Plugins allow for modifying/adding features to the editor.See the [plugin documentation](https://rulholos.github.io/LunaForge/plugins.html) to see how to create your editor plugins.
## Nodes
LunaForge supports user-made nodes.
Those are created in lua.See the [node documentation](https://rulholos.github.io/LunaForge/nodes.html) to see how to create your nodes.
## Credits
All files from the **LunaForge.GUI.ImGuiFileDialog** namespace are taken and modified from [Dalamud](https://github.com/goatcorp/Dalamud).