3.6.0 Beta release, for public test.
Common features:
- Increased Room Objects limit to 256 (was 40).
Editor:
- When creating new room objects they will now have their script names set to some default value.
- In sprite manager's "export all" dialog added "skip if local" option.
- In sprite manager's context menu added command "Create source files for all sprites with missing / external sources...".
- Fixed going to a "find all" result in dialog script did not highlight the found text, and sometimes did not scroll down to it.
Script API:
- Added InputType enum which defines input devices and lets create their sets as flags.
- Added WaitInput(), a more generic and extendable function that accepts a combination of flags telling which input types to wait for.
- All Wait* functions now return the reason they were skipped: a combination of InputType flag and a respective key or button code.
Engine:
- Upgraded SDL_Sound lib to commit 32ee23e2018378225eba2c2bca8c2264bdbd369f.
- Improved file writing times (e.g. when doing a game save) by using buffered file stream. Initial tests showed 50% faster file writing.
- Engine now shares the video texture data for all game objects on screen sharing same sprite. This improves perfomance in case there are multiple objects which use same image.
- Made Animate() function's volume be relative to Character.AnimateVolume for characters.
- Implemented debug key controls for calling a built-in save and restore game dialogs. These controls have to be set in user config as "save_game_key" and "restore_game_key" in "[override]" category. These may be used by testers if the game is missing a save function or one is bugged.
- Added "cache_size" and "stream_threshold" options to config in "[sound]" category, they setup the rules for sound caching and choosing whether to load a clip fully into mem or stream one.
- Fixed dialog script's "goto-previous" command not working if used from the first sub-topic run using "goto-dialog" (a very-very old bug).
- Fixed renderer error occuring if room background frames are of different sizes.
- Fixed game fps sped up if SetGameSpeed() is called repeatedly in game script.
- Fixed Overlay.CreateRoomTextual() creating a screen overlay instead.
- Fixed WFN fonts rendered with misplaced letters if the text is drawn with negative coordinates.
- Fixed TheoraPlayer stopping too early on some videos.
- Fixed sprite cache size was never set from config.
- Fixed game not closing while window is minimized.
- Fixed crash when quitting with error during restoring a save.
- Fixed potential crash on exit on Windows when built in "release" configuration.