A couple days ago we updated Sayonara++ on Steam to version 1.1.0 (69). Here is the list of changes.
New Features
- New Steam Achievements: Added new achievements to unlock, along with VM register verification to track achievement conditions accurately.
- New “#INLINE” Directive: Introduced the #INLINE directive to execute modules directly on local Mecha CPU ticks.
- 16-Bit Sub-Access: Added .L and .H 16-bit sub-register access in the Virtual Machine (this also works for RAM slots, e.g., “[0].H”).
- Hex / Decimal Data Viewer: Added a Shift+F9 toggle to switch data viewer displays between Hexadecimal and Decimal formats.
- Mod Manager File Management:
- Added file renaming support.
- Added file restoration with automatic -PREV backup generation. (Press F4 to load the code of your LAST solution in all the mechas of a level.)
- Added support for injecting #INLINE directives and direct file content pasting into the editor.
Quality of Life
- Fast-Forward Execution: Pressing the Spacebar during Execution Mode now speeds up mecha movement to full speed.
- Level 7 Rebalance: Adjusted level’s layout.
- Victory Statistics Improvements: It now includes per mecha metrics, and past “Best” performance regarding Terra Pulses, etc.
- Editor Enhancements:
- Added Ctrl + O and Ctrl + Shift + O to open files directly in the Scratch Editor. For example, if you have a line like this: “#include my_module”, you can place the editor caret on my_module and press Ctrl + O to open my_module in the Scratch Editor. Pressing Ctrl + Shift + O has a similar effect but creates the module if it does not exist.
- Added syntax highligting for the new “#INLINE” directive.
- Audio Normalization: Standardized volume levels across game audio assets.
- Operational Log: Error messages are now displayed in red color.
Bug Fixes
- Resolved an issue that prevented re-using code modules containing #include or #inline directives within the same mecha’s code segment.
- Fixed an issue where labels appearing after a semicolon (;) were parsed as active code labels rather than comment text.
- Enforced correct operand limits during parsing so invalid syntax (e.g., “jne label 2”) triggers an explicit error.
- Fixed bugs that incorrectly clamped line limits or allowed text to exceed maximum line thresholds in the Scratch Editor.
- Fixed a UI issue where selecting a mecha profile in the Mechas window failed to render the correct sprite in the Telemetry window.
- Resolved interaction bugs between the Mod Manager and the Editor.
- Other minor bug fixes.
Stay tuned! More achievements coming in the next update!
