AGS 3.3.4

Started by Crimson Wizard, Sun 12/07/2015 17:50:30

Previous topic - Next topic

Crimson Wizard

AGS 3.3.4 released


Please, read "Upgrading to AGS 3.3" topic in the manual that comes with this version before upgrading your game project to 3.3.0 - 3.3.4! It contains important information on few potential problems you may encounter.

Released: 14th July 2015

Previous version: AGS 3.3.3 forum thread


Changes since version 3.3.3:

Features:
- Removed 10,000 symbols limit in scripts.
- Added Character.Thinking and Character.ThinkingFrame script properties.
- Added Papagayo voice lip sync support.
- Find/Replace dialog now remembers the state of "Case sensitive" checkbox.
- Engine now scans all available files in search of game data, only giving standard names
  a priority.

Bug Fixes:
- Fixed Editor crash in case of lip sync data parsing error.
- Fixed Find/Replace dialog skipped the first word in the script being searched through.
- Fixed an order of cycling through fields on Find/Replace dialog.
- Restored letterboxed game's viewport behavior for larger (and scrolling) rooms.
- Fixed Hq2x and Hq3x filter rendering when the display resolution requires side borders.
- Fixed Hq2X and Hq3x filters leaving graphic artifacts on letterbox borders.
- Fixed wrong screen settings could be applied in particular cases when requested gfx filter
  could not be found or failed to initialize.
- Gfx filter name supplied in command line is case-insensitive now.
- Do not disable both digital sound and MIDI music if only one of these failed to initialize.
- Fixed MIDI music refuses to start if digital sound is disabled.
- Fixed division by zero in AlMP3 library code, that could cause crash when seeking in MP3
  audio clip.
- Removed an advise to contact Chris Jones displayed in case of error.

Compatibility:
- Permissive emulation of pre-AGS 3.1.1 "option-on/off" commands in dialog script, that do
not stop game execution if a wrong option number is supplied.

NOTE: has the MI 9-verb template updated to 1.5 RC2.

Dualnames

Hooray, happily upgraded to this <3

I've been told that agsblend has been integrated into this, and thus camera/viewport movement will be smooth, is that correct, or is that on 3.4.x ?
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Crimson Wizard

Quote from: Dualnames on Mon 13/07/2015 03:36:44
I've been told that agsblend has been integrated into this, and thus camera/viewport movement will be smooth, is that correct, or is that on 3.4.x ?
Huh?
AGSBlend is a plugin that implements additional 32-bit drawing operations (like Add, Subtract, etc), it has nothing to do with camera smoothness. There was some talk about copying these to 3.4.0, but it did not happen yet (except for true alpha blending).

AGD2

Hmm... I just received this editor crash when the Al Emmo iOS source code in 3.3.4 and attempting to press F7 to save the game files:

Spoiler

Error: Input string was not in a correct format.
Version: AGS 3.3.4.1

System.FormatException: Input string was not in a correct format. ---> System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at AGS.Editor.Components.SpeechComponent.CompilePapagayoFile(String fileName, CompileMessages errors)
   at AGS.Editor.Components.SpeechComponent.CompileLipSyncFiles(CompileMessages errors)
   at AGS.Editor.Components.SpeechComponent._agsEditor_ExtraCompilationStep(CompileMessages errors)
   at AGS.Editor.AGSEditor.CompileScripts(Object parameter)
   at AGS.Editor.BusyDialog.RunHandlerOnThread()
   --- End of inner exception stack trace ---
   at AGS.Editor.BusyDialog.Show(String message, ProcessingHandler handler, Object parameter)
   at AGS.Editor.AGSEditor.CompileGame(Boolean forceRebuild, Boolean createMiniExeForDebug)
   at AGS.Editor.Components.BuildCommandsComponent.CompileGame(Boolean forceRebuild)
   at AGS.Editor.Components.BuildCommandsComponent.CommandClick(String controlID)
   at AGS.Editor.GUIController._mainForm_OnMenuClick(String menuItemID)
   at AGS.Editor.MainMenuManager.MenuEventHandler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripMenuItem.ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ToolStripManager.ProcessShortcut(Message& m, Keys shortcut)
   at System.Windows.Forms.ToolStripManager.ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
   at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
   at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
[close]

And:

Spoiler

---------------------------
Adventure Game Studio
---------------------------
A serious error occurred and the AGS Editor may now be in an unstable state. You are STRONGLY ADVISED to shut down the editor and restart it. Before saving your work, make a backup copy of your game folder in case any data has been corrupted.

Error: System.FormatException: Input string was not in a correct format. ---> System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at AGS.Editor.Components.SpeechComponent.CompilePapagayoFile(String fileName, CompileMessages errors)
   at AGS.Editor.Components.SpeechComponent.CompileLipSyncFiles(CompileMessages errors)
   at AGS.Editor.Components.SpeechComponent._agsEditor_ExtraCompilationStep(CompileMessages errors)
   at AGS.Editor.AGSEditor.CompileScripts(Object parameter)
   at AGS.Editor.BusyDialog.RunHandlerOnThread()
   --- End of inner exception stack trace ---
   at AGS.Editor.BusyDialog.Show(String message, ProcessingHandler handler, Object parameter)
   at AGS.Editor.AGSEditor.CompileGame(Boolean forceRebuild, Boolean createMiniExeForDebug)
   at AGS.Editor.Components.BuildCommandsComponent.CompileGame(Boolean forceRebuild)
   at AGS.Editor.Components.BuildCommandsComponent.CommandClick(String controlID)
   at AGS.Editor.GUIController._mainForm_OnMenuClick(String menuItemID)
   at AGS.Editor.MainMenuManager.MenuEventHandler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripMenuItem.ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ToolStripManager.ProcessShortcut(Message& m, Keys shortcut)
   at System.Windows.Forms.ToolStripManager.ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
   at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
   at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
---------------------------
OK   
---------------------------
[close]


Crimson Wizard

#4
Quote from: AGD2 on Mon 13/07/2015 09:33:37
Hmm... I just received this editor crash when the Al Emmo iOS source code in 3.3.4 and attempting to press F7 to save the game files:
Did it work before, or this happened after you added something new to the project?
Would it be possible for you to send us the papagayo dat files you are using (or the latest ones, if it happened after you added them)?

ollj

#5
It makes sense to move ProcessClick() to Room.ProcessClick() and GUI.ProcessClick()   ...

But removing the function from "global" in 3.4 as it is a global function in 3.3: http://www.adventuregamestudio.co.uk/wiki/Game_/_Global_functions#ProcessClick#
sure is not too user friendly, especially if it is still used in the famous "Two Click Handler" script, and otherwise an integral part of most applications.
and its not like the global ProcessClick() would be obsolete in 3.4, actually, now i may just have to rewrite this (as more or less equivalent container) function, not just for nostalgia but for functionality and backwards compatibility:


import void ProcessClick(int x, int y, CursorMode m);

void ProcessClick(x,y,m){
  Room.ProcessClick(x,y,m);
  GUI.ProcessClick(x,y,m);
}

It sure confused me that a function no longer exists, being moved to 2 other structs, and should at least be explained in the help file that come with the editor when you search for the (now decapitated) function, throwing a compile-error at you for no longer existing without telling you where it moved to.

Crimson Wizard

#6
Ollj, this is 3.3.4 thread, not 3.4.0 thread. ProcessClick() still exists in the 3.3.4. Please, pay attention to where you post!

Quote from: ollj on Mon 13/07/2015 11:26:27its not like the global ProcessClick() would be obsolete in 3.4, actually, now i may just have to rewrite this (as more or less equivalent container) function, not just for nostalgia but for functionality and backwards compatibility:


import void ProcessClick(int x, int y, CursorMode m);

void ProcessClick(x,y,m){
  Room.ProcessClick(x,y,m);
  GUI.ProcessClick(x,y,m);
}

It sure confused me that a function no longer exists, being moved to 2 other structs

You seem to miss the point, but ProcessClick was not moved to 2 structs, it was moved to 1 struct (Room). This fact is noted in the 3.4.0 description post, where it is said that ProcessClick was renamed to Room.ProcessClick, while GUI.ProcessClick is a completely new feature.

Your script is NOT backwards compatible implementation of ProcessClick. The original ProcessClick did not emulate click on GUI, only in room.
BTW, this is explained in the wiki you linked in your post:
Quote from: http://www.adventuregamestudio.co.uk/wiki/Game_/_Global_functions#ProcessClick
This function ignores all interfaces and acts as though the point is directly visible. In other words, if the co-ordinates you pass happen to lie on a button on an interface, what actually happens will be as if the user clicked behind the interface onto the actual screen.
This was the reason it was moved to Room struct. Therefore global ProcessClick is obsoleted.

Again:
new Room.ProcessClick === old ProcessClick.
GUI.ProcessClick - is completely new functionality that has no alternative in old versions of AGS.

Quote from: ollj on Mon 13/07/2015 11:26:27
and should at least be explained in the help file that come with the editor when you search for the (now decapitated) function, throwing a compile-error at you for no longer existing without telling you where it moved to.
Surely, I will add this explanation to help file when we have a stable release. The manual will be updated then. At the moment you may refer to explanations in the first post of the 3.4.0 forum thread.
Also, it is explained that you may set backwards compatibility mode in your project to enable old functions, including global ProcessClick(), if you like.

AGD2

Quote from: Crimson Wizard on Mon 13/07/2015 10:19:29
Quote from: AGD2 on Mon 13/07/2015 09:33:37
Hmm... I just received this editor crash when the Al Emmo iOS source code in 3.3.4 and attempting to press F7 to save the game files:
Did it work before, or this happened after you added something new to the project?
Would it be possible for you to send us the papagayo dat files you are using (or the latest ones, if it happened after you added them)?

I hadn't opened the source code for a few months in 3.3.X, but last time I did, it worked fine. I haven't added anything to the source code since then, either.

Also, the game uses Pamela .pam files, not Papagayo .dat files.

Crimson Wizard

#8
Quote from: AGD2 on Mon 13/07/2015 12:19:35
Also, the game uses Pamela .pam files, not Papagayo .dat files.
Oh. That explains something. It looks like it starts Papagayo parsing for a Pamela file for some reason.

Say, do you have any extra *.dat files in Speech folder?

Gurok

If it's not too sensitive, can I get a directory listing of your game's Speech directory?

EDIT: Sorry, didn't see CW's reply.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Mehrdad

Great Job CW . Big release . Thanks so much ;-D
My official site: http://www.pershaland.com/

Crimson Wizard

Quote from: Mehrdad on Mon 13/07/2015 13:24:15
Great Job CW . Big release . Thanks so much ;-D
Half of the new features are made by Gurok :).

Mehrdad

Quote from: Crimson Wizard on Mon 13/07/2015 13:54:40
Quote from: Mehrdad on Mon 13/07/2015 13:24:15
Great Job CW . Big release . Thanks so much ;-D
Half of the new features are made by Gurok :).

Sorry I didn't know that. Thanks a lot Gurok and you for new AGS fast updates . I think all of people and I are waiting for release stable version of 3.4
Is it possible native Mac port like Linux for AGS soon? Did you have any plan for add it?
My official site: http://www.pershaland.com/

selmiak

Congrats on pushing AGS to 3.3.4! Great success!

AGD2

Quote from: Crimson Wizard on Mon 13/07/2015 12:20:30
Quote from: AGD2 on Mon 13/07/2015 12:19:35
Also, the game uses Pamela .pam files, not Papagayo .dat files.
Oh. That explains something. It looks like it starts Papagayo parsing for a Pamela file for some reason.

Say, do you have any extra *.dat files in Speech folder?

The only .dat file that's located in the speech folder is the one created by AGS "syndata.dat", which isn't a Papagayo file. Maybe the engine is confusing it for one, though?

If you need me to upload anything, just let me know.

Crimson Wizard

#15
Quote from: AGD2 on Mon 13/07/2015 15:58:13
The only .dat file that's located in the speech folder is the one created by AGS "syndata.dat", which isn't a Papagayo file. Maybe the engine is confusing it for one, though?
Yes, that might be the case.
I will replace with a hotfixed version as soon as its done.

EDIT: AGD2, that file actually should not be in Speech folder, it is supposed to be in root project folder (this is where AGS creates it). Also, the file is recreated every time game is recompiled. I think you may just delete it.
We will provide a fixed version which would not crash on "wrong" files.

AGD2

Ah, yes, I've confirmed that deleting the syncdata.dat file from the Speech sub-folder does indeed prevent the crash. ;-D

Crimson Wizard

ATTENTION PLEASE

I had to reupload the 3.3.4 distributive with updated version which fixes one bad bug. It also contains a small improvement as a bonus.
Please download and re-install this again. Sorry for inconvenience.

- Fixed Editor crash in case of lip sync data parsing error.
- Find/Replace dialog now remembers the state of "Case sensitive" checkbox.
- Fixed Find/Replace dialog skipped the first word in the script being searched through.
- Fixed an order of cycling through fields on Find/Replace dialog.

Crimson Wizard

I had to reupload the package again, because 9-verb template needed small fixing. The Editor itself did not change.
Hopefully this is last time I do this for 3.3.4.

Julius Dangerous

___________________________________________________________

SMF spam blocked by CleanTalk