Skip to content

Releases: libriscv/godot-sandbox

v0.5: Node and Node2D API for C++

14 Aug 05:40
961cd48
Compare
Choose a tag to compare

It's now possible to set ELF scripts directly as scripts to any node. This means you can't access the Sandbox underneath, but it simplifies usage greatly. Public functions are still exposed, so that eg. signals can be connected and functions like _ready also work. These scripts will auto-create a Sandbox instance and share it among themselves, making it scalable. In the future, a property may be used to toggle between shared and dedicated sandbox for each instance.

A new Node and Node2D API has been implemented for C++, allowing access to Node duplication, freeing and child management. For Node2D all normal operations (position, rotation etc.) are supported.

What's Changed

  • Implement basic Vector and Node2D API for C++ by @fwsGonzo in #50
  • Add support for setting scripts directly onto nodes, and basic signal… by @fwsGonzo in #51

Full Changelog: v0.4...v0.5

v0.4: Rust support

11 Aug 12:09
41aefda
Compare
Choose a tag to compare

Basic support for the Rust language has been implemented. Both Docker container and editor support.

What's Changed

Full Changelog: https://github.com/libriscv/godot-sandbox/compare/v0.3...

v0.3: Script interface

10 Aug 13:59
4fa2aa7
Compare
Choose a tag to compare

This release implements ScriptInterface, so that auto-completion is possible in other scripts using @export var. This is documented here.

The C++ container is also updated to build in parallel, greatly reducing compilation times. Remember to docker pull!

Thanks to @Ughuuu for the idea and implementation.

Full Changelog: https://github.com/libriscv/godot-sandbox/compare/v0.2...

Godot Sandbox Initial Release

09 Aug 06:56
7b4f6c9
Compare
Choose a tag to compare

This release adds all the required basic functionality for scripting with sandboxed C++.

  • Create a .cpp resource in a folder and save it in order to create a program (.elf)
  • Create a Node that extends Sandbox, assign the Program. Now Sandbox functions are available.
  • Docker is now managed from the editor.
  • All C++ files in the same folder produce a single executable (in that folder).
  • There is now a C++ API inside the Docker container that can be extracted:
    • docker exec -t godot-cpp-compiler bash /usr/api/build.sh --api

Full Changelog: https://github.com/libriscv/godot-sandbox/compare/v0.1...

Godot Sandbox Pre-Release

30 Jul 21:23
e54be12
Compare
Choose a tag to compare
Pre-release

This release implements basic sandboxed C++ for the purposes of modding.

What's Changed

  • Updated submodule libriscv by @fire in #2
  • Add a github action. by @fire in #4
  • Use godot engine name property. by @fire in #3
  • Update libriscv for mac support. by @fire in #6
  • Streamline the github actions configuration by @fire in #7
  • Update godot to 4.2 godot-cpp and macos fixes by @fire in #9
  • Mingw windows by @fire in #10
  • Refactor actions. by @fire in #11
  • Try to make godot-riscv work on windows. by @fire in #13
  • add build system to build all supported platforms by @Ughuuu in #14
  • Implement support for PACKED_BYTE_ARRAY by @fwsGonzo in #16
  • Create resource loader for .elf by @Ughuuu in #18
  • Use fast-path threaded dispatch for most platforms by @fwsGonzo in #19

Full Changelog: https://github.com/libriscv/godot-sandbox/commits/v0.1