Unverified Commit a5ab4d4d authored by Jake Stine's avatar Jake Stine Committed by GitHub
Browse files

Add new build types: Debug, Tool, and Player (#188)

* Added new build types: Debug, Tool, and Player.

 Debug is -O0 compiled with all assertions enabled.
 Tool is -O1 compiled with debug assertions disabled entirely.
 Player is -O3 compiled with tool assertions disabled, and all ignorable assertions demoted to log-only.

Implementation of ignorable asserts is still partial, but as it stands this change is OK to go live (can add features later). On the todo list:
  - add popup to allow content creator to ignore the assert
  - add lua stacktrace information when lua context seems relevant

* GHActions updated to be aware of new player and tool build configs

* makefile: allow changing config from CLI without having to make clean

Also force rebuild of vcxproj target since dep checking is currently insufficient. it should be checking dirs of all globbed source file includes for modifications, but it's not. and this is a really fast step, no point in not running it for now

* Added lutro_errorf and lutro_alertf for logging errors and popup alerts, respectively.

 - Cleans up macros and keeps assertions clearly in the domain of Debug and Tooling builds.
 - removed play_assert and friends, which were both confusing terminology and not practical in design
parent 30b3bbc9
Pipeline #20337 passed with stages
in 6 minutes and 24 seconds