-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
enhancementNew feature or requestNew feature or request
Description
The benefits of updating to a newer version of AngelScript should be self-explanatory. However, in order to allow mods to be backwards-compatible with older builds of the game, we must allow them to block scripts out as "OpenSR-only". This will require some careful exploitation of loopholes in the current compiler.
- Upgrade to latest AngelScript.
- IMPORTANT:: Set the
asEP_PROPERTY_ACCESSOR_MODEcompiler flag to2, or all existing scripts will break! (See https://discord.com/channels/190112637307060225/513682262559293480/950713592326520832 for context.)
- IMPORTANT:: Set the
- Add a preprocessing step to the AngelScript compiler, executed before all other steps:
- Remove all instances of
//%,/*%, and%*/from the script. (See https://discord.com/channels/190112637307060225/513682262559293480/950711109210501130 for context.) - Possibly add some sort of versioning behavior, so that subsequent changes to the script engine (like in game/mods/mod_manager: Add support for Launchpad's custom mod statuses. #9) don't require us to resort to increasingly absurd methods of blocking out old code? Maybe something like
//%153,/*%153and153%*/to denote the latest supported version of the script engine, with the compiler then skipping blocks with a version > 153? Or is it better to just demand that OpenSR users keep updating their game, since they're presumably already using the Launchpad? 🤔
- Remove all instances of
This is a pretty big improvement, but it's possibly also a pretty big undertaking. It's not currently blocking any other tasks, so there's no pressing need for us to rush in with a "do it right now drop whatever else you're doing" mindset.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request