Skip to content

CasualYT31/ReflectiveAngelScriptWrapper

Repository files navigation

ReflectiveAngelScriptWrapper

An experimental C++ wrapper for AngelScript that makes use of the recently-implemented reflection features of C++26.

This library's documentation assumes you are already familiar with AngelScript and its features. If you are not, then visit the AngelScript website.

The primary goal of this template library is to greatly reduce the registration code required to set up your application interface. Without it, you would have to register all of your classes, global variables, global functions, enums, etc., manually, which is error prone and a headache to maintain.

This wrapper does not aim to put AngelScript in a black box: you can directly access, for example, the engine object, if you need to.

Table of Contents

  1. Prerequisites
  2. Wrappers
  3. Typenames
  4. Properties
  5. Functions
  6. Funcdefs
  7. Reference Types
  8. Typedefs
  9. Enums
  10. Interfaces
  11. Value Types

GCC 16.1.0

You will need to separately build GCC 16.1.0 and install it at the root of this repository within a gcc-16.1.0 folder. In the future I want the ./set_up.sh script to carry this out for you, but I can't get it to work for now, so use these as starting points until I can figure it out:

Scripts

All scripts must be executed whilst the current working directory is the root of the repository!

  1. Execute ./set_up.sh. This will install clang-format-18 (not required for the build).
  2. Execute ./build.sh. This will configure and build the AngelScript wrapper library.
    • You can execute ./build.sh -r to remove debug symbols from the build.
    • You can execute ./build.sh -c if you need to perform a clean configure and build.
    • You can execute ./build.sh -t to build and run the tests as well as the library.
    • You can execute ./build.sh -d to build and run the tests (via GDB) as well as the library.
    • Note the use of a pre-built version of GCC that supports C++26 features like reflection. It must live in a gcc-16.1.0 folder at the root of the repository.

About

An experimental C++ wrapper for AngelScript that makes use of the recently-implemented reflection features of C++26.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors