Refactored the public API for Finales to allow a set of additional InFine commands to be executed during interpreter setup and before script parsing/execution begins. These "extra" commands can be used be the caller to initialize a custom default interpreter state. Added new Finale command "Prefont" - set a predefined font to that named e.g., "prefont 1 nameoffont".
The implementation joins the "extra" commands with the actual script by prepending them to the script inside an "OnLoad { ... }" directive block. By joining them together like this, no changes were necessary at net protocol level and the commands will be delivered along with the rest of the script as usual.
However this naturally means that older clients will not be able to understand the new format. I don't think this can be resolved using a new packet type. I've left things as-is for now what with multiplayer being broken anyway.
Made use of the new functionality to configure the predefined fonts and colors appropriately for Finales initiated by the engine and games.
As of this revision InFine should now be fully working again (other than support for embedded precolors in text strings like The \1Imp\0 Monster).
Refactored the public API for Finales to allow a set of additional InFine commands to be executed during interpreter setup and before script parsing/execution begins. These "extra" commands can be used be the caller to initialize a custom default interpreter state. Added new Finale command "Prefont" - set a predefined font to that named e.g., "prefont 1 nameoffont".
The implementation joins the "extra" commands with the actual script by prepending them to the script inside an "OnLoad { ... }" directive block. By joining them together like this, no changes were necessary at net protocol level and the commands will be delivered along with the rest of the script as usual.
However this naturally means that older clients will not be able to understand the new format. I don't think this can be resolved using a new packet type. I've left things as-is for now what with multiplayer being broken anyway.
Made use of the new functionality to configure the predefined fonts and colors appropriately for Finales initiated by the engine and games.
As of this revision InFine should now be fully working again (other than support for embedded precolors in text strings like The \1Imp\0 Monster).