doodle/pkg
Noah Petherbridge 82884c79ae Signed Levels and Levelpacks
Add the ability for the free version of the game to allow loading levels that
use embedded custom doodads if those levels are signed.

* Uses the same signing keys as the JWT token for license registrations.
* Levels and Levelpacks can both be signed. So individual levels with embedded
  doodads can work in free versions of the game.
* Levelpacks now support embedded doodads properly: the individual levels in
  the pack don't need to embed a custom doodad, but if the doodad exists in
  the levelpack's doodads/ folder it will load from there instead - for full
  versions of the game OR when the levelpack is signed.

Signatures are computed by getting a listing of embedded assets inside the
zipfile (the assets/ folder in levels, and the doodads/ + levels/ folders
in levelpacks). Thus for individual signed levels, the level geometry and
metadata may be changed without breaking the signature but if custom doodads
are changed the signature will break.

The doodle-admin command adds subcommands to `sign-level` and `verify-level`
to manage signatures on levels and levelpacks.

When using the `doodad levelpack create` command, any custom doodads the
levels mention that are found in your profile directory get embedded into
the zipfile by default (with --doodads custom).
2023-02-18 17:37:54 -08:00
..
balance Add cheat code to send power to all actors 2023-02-18 14:21:07 -08:00
branding Cheats Menu UI 2023-01-02 12:36:12 -08:00
campaign Rename Go module 2022-09-24 15:17:25 -07:00
chatbot Rename Go module 2022-09-24 15:17:25 -07:00
collision Slippery Pixels + Update Changelog for 0.13.1 2022-10-10 10:52:28 -07:00
cursor Detect touchscreen and tweak some behaviors 2022-09-24 17:45:54 -07:00
doodads Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
drawtool Rename Go module 2022-09-24 15:17:25 -07:00
enum Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
filesystem Rename Go module 2022-09-24 15:17:25 -07:00
gamepad Rename Go module 2022-09-24 15:17:25 -07:00
keybind Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
level Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
levelpack Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
license Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
log Switch github.com/kirsle/golog to git.kirsle.net/go/log 2019-12-22 18:34:31 -08:00
modal Wait Modal 2022-09-24 18:39:02 -07:00
native Finalize Non-square Doodads 2023-02-17 21:09:11 -08:00
pattern SemiSolid Pixels + Icons 2022-10-09 21:39:43 -07:00
physics Rename Go module 2022-09-24 15:17:25 -07:00
savegame Rename Go module 2022-09-24 15:17:25 -07:00
scripting Add cheat code to send power to all actors 2023-02-18 14:21:07 -08:00
shmem Level Difficulty + UI Polish 2022-03-06 22:20:53 -08:00
sound Rename Go module 2022-09-24 15:17:25 -07:00
sprites Rename Go module 2022-09-24 15:17:25 -07:00
uix Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
updater Rename Go module 2022-09-24 15:17:25 -07:00
usercfg Cheats Menu UI 2023-01-02 12:36:12 -08:00
userdir Rename Go module 2022-09-24 15:17:25 -07:00
wallpaper Rename Go module 2022-09-24 15:17:25 -07:00
wasm Rename Go module 2022-09-24 15:17:25 -07:00
windows Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
cheats.go Add cheat code to send power to all actors 2023-02-18 14:21:07 -08:00
commands.go Cheats Menu UI 2023-01-02 12:36:12 -08:00
common_menubar.go Rename Go module 2022-09-24 15:17:25 -07:00
config.go Rename Go module 2022-09-24 15:17:25 -07:00
doodle.go Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
editor_scene_debug.go Rename Go module 2022-09-24 15:17:25 -07:00
editor_scene.go Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
editor_ui_doodad.go Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
editor_ui_menubar.go WIP: Chunker size to uint8 and Rectangular Doodads 2023-02-16 21:47:18 -08:00
editor_ui_palette.go WIP: Chunker size to uint8 and Rectangular Doodads 2023-02-16 21:47:18 -08:00
editor_ui_popups.go Binary format for chunks in zipfiles 2023-02-18 12:45:36 -08:00
editor_ui_toolbar.go Rename Go module 2022-09-24 15:17:25 -07:00
editor_ui.go Doodad/Actor Runtime Options 2022-10-09 17:41:24 -07:00
fps.go Rename Go module 2022-09-24 15:17:25 -07:00
guitest_scene.go Rename Go module 2022-09-24 15:17:25 -07:00
main_scene.go Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
menu_scene.go WIP: Chunker size to uint8 and Rectangular Doodads 2023-02-16 21:47:18 -08:00
play_inventory.go WIP: Chunker size to uint8 and Rectangular Doodads 2023-02-16 21:47:18 -08:00
play_scene_menubar.go Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
play_scene_touch.go Cheats Menu UI 2023-01-02 12:36:12 -08:00
play_scene.go Signed Levels and Levelpacks 2023-02-18 17:37:54 -08:00
player_physics.go Slippery Pixels + Update Changelog for 0.13.1 2022-10-10 10:52:28 -07:00
scene.go JavaScript Exception Catcher UI 2022-09-24 21:58:01 -07:00
shell.go Cheats Menu UI 2023-01-02 12:36:12 -08:00