Awesome
SpLE
<img src="frontend/public/favicon.svg" alt="SpLE icon" align="right" width="96" height="96">SpLE is Supaplex Levels Editor. Inspired by Supaplex.Online and its community.
My previous editor (Winplex Collection Editor — WpColEd) is stuck in far 2010 on Windows. Its source code was lost somewhere in 2016 or about that with HDD failure. And so, here it is: yet another Supaplex levels editor!
SpLE presented in two forms:
- sple.me is a web app;
- Desktop version.
SpLE is under development still. Feel free to report bugs, suggest enhancements and correct grammar mistakes.
See also TODO.
sple.me Important notes
sple.me is completely frontend (client side) application (web page). It works only with pseudo-files in browser memory.
- After you opened existing file, it becomes in-memory copy of the original file. Technically you are uploading your local file to a web page.
- In-memory files you opened or created from scratch are NOT related to regular files out of browser.
- To get your modified file back as regular file technically you need to download file from web page (with appropriate UI button in sple.me).
Also:
-
sple.me application uses
indexedDB
andlocalStorage
for better user experience. These things are similar to well known Cookies in terms of privacy.sple.me will try to remember your modified in-memory files and some preferences in browser storage for better user experience.
-
There are no intention to send any kind of your data to somewhere without your confirmation.
sple.me when completely loaded is operating locally in your browser. Neither external storages, nor cross-device sync are implied, nor planned.
sple.me uses Supaplex.Online test page to test your level when you request that.
-
DON'T rely much on browser storage to remember your modified in-memory files forever. DO SAVE BACKUPS. Browser can clean its storage.
Also, sple.me storage in browser can be accidentally reset in case of some errors in SpLE itself. Because, you know: Every program has at least one bug.
Desktop SpLE
Desktop version of SpLE built using Wails. It uses the same source code as web app sple.me to render frontend, but with some different backend bindings to work with its host binary in desktop environment.
Desktop SpLE compared to sple.me DOES work with regular files on your device, like other whatever desktop editors do.
Supported platforms
- Windows 10/11 AMD64: requires WebView2;
- Linux AMD64: requires
libwebkit
4.1 (libwebkit2gtk-4.1-0
).
Contribution, Development
Project root directory was bootstrapped with Wails.
Frontend common app is located in ./frontend/
subdirectory (see also
README there). Web sple.me built from that.
-
To run SpLE in live development mode:
- Desktop: run
make dev
in the project directory. - Web: run
npm start
in./frontend
subdirectory.
- Desktop: run
-
To build Desktop SpLE run
make
in the project directory with one of following targets:make
ormake all
: This will build all possible binaries under you OS.make linux
,make windows
ormake darwin
: This will try to build binaries for the given OS. Not every cross-OS build is possible.- When building NSIS for Windows with "dev" app version, a
VERSION
must be added with simpleX.Y.Z
version, or NSIS will fail otherwise:make VERSION=0.1.2 windows
- When building NSIS for Windows with "dev" app version, a
That will build binaries and packages in
./build/bin/
directory. Notice the following variables in rootMakefile
:SKIP_FRONT
if./frontend/dist-wails
was pre-built;SKIP_DEBUG
to skip debug binaries;SKIP_ZIP
to skip making zip;SKIP_PKG
to skip making packages/installers;SKIP_PKG_NSIS
to skip windows NSIS installer;SKIP_PKG_DEB
to skip Debian DEB package.
For example
make SKIP_DEBUG=1 SKIP_ZIP=1 SKIP_PKG=1
.Don't use
DEBUG
variable, since it's internal. -
To build web SpLE run
make -C frontend
in project root (ormake
in./frontend
subdirectory which is the same). This will build static web in./frontend/dist
directory.
See also frontend/README.md.
Requirements
- Common:
- Node JS >= 18
- NPM >= 9
- Desktop:
- Go >= 1.20
- Wails v2 (Installation)