GASATHON/Project/Source/GasaEditor/GasaGen/gencpp
2024-12-16 21:05:13 -05:00
..
AST_Design.md latest gencpp 2024-12-16 21:05:13 -05:00
AST_Types.md latest gencpp 2024-12-16 21:05:13 -05:00
gen.builder.cpp fixes etc for gasa gen 2024-12-15 18:22:59 -05:00
gen.builder.hpp fixes etc for gasa gen 2024-12-15 18:22:59 -05:00
gen.cpp latest gencpp 2024-12-16 21:05:13 -05:00
gen.dep.cpp fixes etc for gasa gen 2024-12-15 18:22:59 -05:00
gen.dep.hpp latest gencpp 2024-12-16 21:05:13 -05:00
gen.hpp latest gencpp 2024-12-16 21:05:13 -05:00
gen.scanner.cpp fixes etc for gasa gen 2024-12-15 18:22:59 -05:00
gen.scanner.hpp fixes etc for gasa gen 2024-12-15 18:22:59 -05:00
LICENSE latest gencpp 2024-12-16 21:05:13 -05:00
Parser_Algo.md latest gencpp 2024-12-16 21:05:13 -05:00
Parsing.md latest gencpp 2024-12-16 21:05:13 -05:00
Readme_Docs.md latest gencpp 2024-12-16 21:05:13 -05:00
Readme.md latest gencpp 2024-12-16 21:05:13 -05:00

Navigation

base

Top

Unreal Engine Version Generator

This generates a variant of gencpp thats compatiable with use as a thirdparty module within a plugin or module of an Unreal Project or the Engine itself.

If using the library's provided build scripts:

.\build.ps1 <compiler> <debug or omit> unreal

Notables

For the most part this follows the same conventions as gen_segmented.

This generator uses a separate enumeration definitions for the following:

  • AttributeTokens.csv : Add your own _API attributes, etc here that are encountered within the Engine.
  • ESpecifier.csv : Adds the FORCEINLINE & FORCEINLINE_DEBUGGABLE specfiers (additions are made as they are encountered)
  • ETokType.csv : Same modifications as ESpecifier.csv.

A separate parser_case_macros.cpp is used to accomodate for the new forceinline specifiers.

The global macro the library uses is redefined as an empty substiution.

The expected usage of this library is to put into into a third-party plugin module to then use either in editor modules or in shell script done in some stage of hot-reloading or building the Unreal Engine or Project.