AGS 3.6.1 - Beta 12 -- new WIP version

Started by Crimson Wizard, Sat 27/05/2023 04:37:47

Previous topic - Next topic

Crimson Wizard

There's a bug introduced in the latest Beta (10) where a character who is ordered to move several times in a row would "teleport" to a random location in he room.

I was going to release a new update soon, but got distracted. So until then, here's a temporary build that has it fixed:
https://cirrus-ci.com/task/6707220583284736

Crimson Wizard

#41
Updated to Beta 11
(Please use download links in the first post)

Changes in this update:

Editor:
- Added "Export Global Messages to script" menu command. This command is meant for upgraded pre-3.2 game projects, and will generate a script with a String array, moving global messages texts there.
- Made Editor be somewhat more tolerate to missing XML nodes in Game.agf, in many cases it will still let open a game.
- When upgrading older game projects, Editor will insert a call to SetRestartPoint() in the end of the 'game_start' function in GlobalScript.asc. This is done to complement removal of an automatic startup SetRestartPoint() call in the engine. This inserted command is safe to remove.
- When upgrading pre-3.2 rooms with disabled SaveLoadEnabled property the Editor will reset this property and insert a comment with a warning into the corresponding room's script. This is done because this property is deprecated as is no longer accessible.
- Fixed Project Explorer's folders collapsing after certain user actions, such as dragging items or renaming things.
- Fixed Script editor not marking "autoptr" and "builtin" as keywords.
- Fixed Script editor not applying color theme to character literals.

Scripting:
- Support "#else" preprocessor directive.

Script API:
- Added support for a text formatting to a number of functions: DisplayAtY(), Character.SayAt(), Character.SayBackground(), DrawingSurface.DrawStringWrapped().

Engine:
- Removed an automatic SetRestartPoint() call at startup. This is done in case user does not want to use default "restart" save slot, or has a custom save system.
- When starting up, engine will now precache only first 4 or 8 loops of the starting player character's View. This is done to avoid filling sprite cache with too much sprites at once in case when the player's View contains lots of additional animations.
- Fixed engine failing to startup sometimes if controller device subsystem failed to init (it should not init at all in this version, as we do not support joysticks yet).
- Fixed characters occasionally "teleporting" when ordered to move (regression since Beta 10)



NOTE: In regards to the SetRestartPoint() change, I have to post this clarification.
SetRestartPoint() and RestartGame() are still working as before. The change refers to the automatic restart point set when the game starts. This was disabled in the engine, in favor of letting users set it themselves if and where they prefer. Some games may need this, others not, some games use custom saves and it would not be fair to generate an unnecessary file on startup (and sometimes this file may be quite big, as it also depends on amount of script data).

As an attempt to make this transition easier, upon loading an older project the Editor will insert a SetRestartPoint() call into game_start() function in the GlobalScript. This call is safe to remove, or move elsewhere.

Crimson Wizard

#42
Updated to Beta 12
(Please use download links in the first post)

Contains all fixes from 3.6.0 Patch 6.

Other changes:

Editor:
- In General Settings moved few properties to different groups for better consistency.
- Apply color themes to Log Panel.
- Fixed View preview does not display very large sprites.

Engine:
- Improved performance of String objects in script. For instance, appending a character to a String is now roughly x2 times faster, *sequential* iteration of String.Chars[] in Unicode mode is about x12 (!) times faster (Strings in ASCII mode have relatively less improvement, because they have been faster than Unicode mode already).
- Fixed Overlays may display incorrectly after loading a legacy (pre-3.5.0) save file.



EDIT: I had to re-upload this again... after finding and fixing a mistake in String.Substring function :/

Crimson Wizard

There's a mistake in Android port in this version, it does not let to start a game.

Here's a temporary editor build that has this fixed:
https://cirrus-ci.com/task/6489562277478400

Dave Gilbert

#44
Hi! I found a copy/paste bug in the latest version.

In the dialog editor tab, if I copy some text and try to paste it into one of the "option text" fields (using control-v), the text gets pasted into the SCRIPT instead of the option field.

For example, here I was trying to copy/paste the words "Yeah they do" into an option text field:


Crimson Wizard

Quote from: Dave Gilbert on Tue 14/11/2023 19:21:36Hi! I found a copy/paste bug in the latest version.

In the dialog editor tab, if I copy some text and try to paste it into one of the "option text" fields (using control-v), the text gets pasted into the SCRIPT instead of the option field.

Thank you for reporting, we're looking into this now.

As a workaround, use a "paste" command from the text field's context menu. This bug only occurs when you use keyboard shortcuts.

Dave Gilbert

Thanks! I'll use that method for now, then. Right-clicking and selecting "paste" also works.

eri0o

There is already a fix for the keyboard shortcuts that will be in the next 3.6.1 release! :) (now the issue is understood more in depth we are evaluating some details around this)

SMF spam blocked by CleanTalk