AGS 3.3.0 Release Candidate

Started by Crimson Wizard, Thu 04/04/2013 19:16:28

Previous topic - Next topic

Snarky

I'm also having troubles with the debugger, though I'm not sure whether it's an issue with this beta or with AGS in general. I've set a breakpoint, the game pauses, but when I try to "step into" (the statement is just "int i = 0;" so there's not much "in" there to go to -- shouldn't there also be a "step over" option?), the game and editor both freeze.


Snarky

Guess I should have paid better attention to the thread! Thanks, CW!

cat

One general thing I noticed is that the Intellisense is still buggy.

The cache is neither reliably refreshed when saving nor when compiling and sometimes it's also wrong. For example, when I have a function oMyObject_Interact inside the function Intellisense doesn't show me oMyObject but only all function names that start with oMyObject. It happens only sometimes but it's really annoying. However, I remember I  had such problems also with older AGS versions.

Snarky

Quote from: cat on Wed 10/07/2013 10:17:46
One general thing I noticed is that the Intellisense is still buggy.

The cache is neither reliably refreshed when saving nor when compiling and sometimes it's also wrong. For example, when I have a function oMyObject_Interact inside the function Intellisense doesn't show me oMyObject but only all function names that start with oMyObject. It happens only sometimes but it's really annoying. However, I remember I  had such problems also with older AGS versions.

+1

Tabbing between script windows doesn't (reliably) work, either. Closing and restarting the editor seems to refresh most of them, but some of my custom structs don't seem to get added to the suggestion/autocomplete whatever I do. In this screenshot (click for fullscreen), partyChar is an instance of a custom type: AtbCharacter, but when I type the period I don't get any Intellisense suggestions for the members and methods it has.



The other reason for the screenshot is that I'm having a problem with the docking panels. I've arranged my editor as shown, and I want any scripts, GUIs, rooms, etc. to open as new tabs in the big part of the window when I double-click them in the project tree. However, I find that they very often open new tabs next to the "Output" tab, or new panels below it. This is not consistent, but I don't understand the pattern to it (it's not as simple as them going to whatever panel was most recently in focus). It might have something to do with running the game through the debugger; I also experienced the project tree spontaneously turning into a minuscule floating window that I couldn't interact with.

monkey0506

I was going to suggest that the reason you're not getting any autocomplete for the struct members may be that it doesn't detect local structs (e.g., a struct defined in a script file rather than a header file), but if that were the case then the struct name also wouldn't be highlighted, so it looks like from that screenshot that the struct is defined in a header after all...?

CJ himself has made note that the autocomplete feature is somewhat of a mess. Not sure what needs to be done to fix it honestly, but as I recall there was a question of when the autocomplete cache should be updated. I'm not really sure what the best answer to that question would be, but I agree that it should update more frequently than not. Also, there is a huge (IMO) issue relating to the "Script" object (editor source) not staying in-sync with the Scintilla control, making it extremely difficult to accurately tell what text is currently in a script file if the editor for that file is open. For example, (IIRC) if you modify a script (in the script editor) and then do a "Find all usages of" before the script is saved, the wrong line numbers are returned (and may even return non-existent references, and miss newly added ones).

Snarky

Yes, the struct is defined in a header (for one of the other scripts above, specifically AtbClasses). The code compiles and runs correctly, it's just IntelliSense that doesn't work.

cat

I understand that IntelliSense is not updated as you type, but at least when compiling it should be done.

Oh, and I had the dockingpanel issue too. I rearranged the panels and then it did work again.

Ryan Timothy B

I believe it should be updated whenever you hit enter or possibly even when you type a semicolon.

tzachs

Quote from: cat on Wed 10/07/2013 10:17:46
One general thing I noticed is that the Intellisense is still buggy.

The cache is neither reliably refreshed when saving nor when compiling and sometimes it's also wrong. For example, when I have a function oMyObject_Interact inside the function Intellisense doesn't show me oMyObject but only all function names that start with oMyObject. It happens only sometimes but it's really annoying. However, I remember I  had such problems also with older AGS versions.
So I looked a bit at the code. To quote CJ's comment inside:
// This class is a bit of a mess ... autocomplete is out of control!!  8-0

So I've commited a fix to git, and now autocomplete will refresh from the modified script every time before showing it.
I hope it won't hurt performance on very large scripts, on my scripts you didn't even notice it...
I'm not claiming it will fix everything, if switching between tabs didn't help then probably neither would this.

Quote from: Snarky on Thu 11/07/2013 00:07:18
The other reason for the screenshot is that I'm having a problem with the docking panels. I've arranged my editor as shown, and I want any scripts, GUIs, rooms, etc. to open as new tabs in the big part of the window when I double-click them in the project tree. However, I find that they very often open new tabs next to the "Output" tab, or new panels below it. This is not consistent, but I don't understand the pattern to it (it's not as simple as them going to whatever panel was most recently in focus). It might have something to do with running the game through the debugger; I also experienced the project tree spontaneously turning into a minuscule floating window that I couldn't interact with.
I tried to reproduce your issue, but couldn't. I tried various crazy things but the scripts always appeared as new tabs on the big window.
My guess is that it's related to something else you did that you didn't write about.


Crimson Wizard

Tzachs' perhaps you could look into this problem:
I tried to reproduce what Snarky was telling about dissapearing panels. Undock a panel (e.g. project tree) and move it so that it's half beyond main application window. Then close app. Next time I loaded a project in the editor it displayed an error. I tried second time, and project was opened but the project tree was missing:
Quote
An error occurred whilst trying to load your game. The error was:

Cannot access a disposed object.
Object name: 'TreeView'.

If you cannot resolve the error, please post on the AGS Technical Forum for assistance.

Error details: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'TreeView'.
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.TreeView.CreateHandle()
   at System.Windows.Forms.Control.get_Handle()
   at System.Windows.Forms.TreeNode.get_State()
   at System.Windows.Forms.TreeNode.get_IsExpanded()
   at System.Windows.Forms.TreeNode.Remove(Boolean notify)
   at System.Windows.Forms.TreeNode.Clear()
   at System.Windows.Forms.TreeNodeCollection.Clear()
   at AGS.Editor.ProjectTree.RemoveAllChildNodes(IEditorComponent plugin, String parentID) in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\GUI\ProjectTree.cs:line 146
   at AGS.Editor.Components.BaseComponentWithFolders`2.RePopulateTreeView() in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\Components\BaseComponentWithFolders.cs:line 455
   at AGS.Editor.Components.AudioComponent.RefreshDataFromGame() in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\Components\AudioComponent.cs:line 358
   at AGS.Editor.ComponentController.NotifyDataRefreshNeeded() in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\ComponentController.cs:line 131
   at AGS.Editor.ApplicationController._events_RefreshAllComponentsFromGame() in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\ApplicationController.cs:line 63
   at AGS.Editor.EditorEvents.OnRefreshAllComponentsFromGame() in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\EditorEvents.cs:line 82
   at AGS.Editor.AGSEditor.RefreshEditorAfterGameLoad(Game newGame) in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\AGSEditor.cs:line 677
   at AGS.Editor.Tasks.LoadGameFromDisk(String gameToLoad, Boolean interactive) in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\Tasks.cs:line 135
   at AGS.Editor.InteractiveTasks.LoadGameFromDisk(String gameToLoad) in D:\Projects\AGS\GITHUB_develop\ags\Editor\AGS.Editor\InteractiveTasks.cs:line 55

tzachs


Crimson Wizard

AGS 3.3.0 BETA 6 released (engine version 3.3.0.1140)
-------------------------------------------------------
This is primarily bug fixing update.
Changes from BETA 5:

Features:
- Renamed eNoKey to eKeyNone in AGSScript.
- An update to Editor PluginAPI by monkey_05_06. Unfortunately I don't know what it does  :-[, I hope he will make an explanation.
- Refreshing auto-complete cache with modified script text before showing auto-complete list (by tzachs).

Bug fixes:
- Fixed setting breakpoints while debugging game in Editor caused Editor to freeze indefinitely.
- Fixed panel layout in Editor not restoring properly if the panel was left beyond main application window when exiting last time.
- Fixed desktop versions of the engine having lower default Sprite cache size than usual.


Download links (also updated at first page):
Official: http://www.adventuregamestudio.co.uk/betas/AGS-3.3.0-beta6.exe
ZIP:
Official: http://www.adventuregamestudio.co.uk/betas/AGS-3.3.0-beta6.zip


I was a bit distracted lately, maybe there is someone who would like to help to test and update game templates to ensure they load well in 3.3.0?

monkey0506

The editor plugin API updates were just a couple of usability fixes that I came across in developing the Interfacer plugin. I had to use reflection to access some data that should simply have been available via the API, so now it is.

I added IAGSEditor.Components to give plugin authors access to the built-in components, not just the one(s) they are adding themselves. This could be useful for plugin authors wanting to implement a visual script editor, or add some extended features to the room editor.

I added the interface IRePopulatableComponent to mark components which can have their children repopulated (such as the Scripts component), and give a way for the plugin author to repopulate said component.

I also added events Game.GUIAddedOrRemoved and Game.GUIControlAddedOrRemoved to notify plugin authors when these items are being updated. For the Interfacer plugin I am using this to help maintain an updated list of these items (because I am caching other data in relation to them).

I'm not aware of many existing editor plugins, but if there are any other features missing from the editor plugin API, I will definitely look into adding them.

Crimson Wizard

Quote from: monkey_05_06 on Sun 14/07/2013 23:19:37
I'm not aware of many existing editor plugins, but if there are any other features missing from the editor plugin API, I will definitely look into adding them.

You may want to look into suggestion tracker:
http://www.adventuregamestudio.co.uk/forums/index.php?project=5;area=issues;category=33

adm244

Crimson Wizard, AGS threw an unhandled error when I pasted text from clipboard. I'm not sure why it's happened, I restarted an AGS and pasted the same text without problem.
Screen: http://imageshack.us/a/img822/7012/c4tb.png

Crimson Wizard

#176
Quote from: adm244 on Mon 15/07/2013 15:29:26
Crimson Wizard, AGS threw an unhandled error when I pasted text from clipboard. I'm not sure why it's happened, I restarted an AGS and pasted the same text without problem.
Screen: http://imageshack.us/a/img822/7012/c4tb.png

Erm, you know you can use Copy/Paste to copy error text to the forum, right?

On my work, we sometimes get screenshots of errors put into MS Word documents... but I still haven't get used to this. :)

E: On other hand, the text editor on that screenshot, was it looking like that before you pasted or it became like that after?

adm244

Quote from: Crimson Wizard on Mon 15/07/2013 15:31:51
Erm, you know you can use Copy/Paste to copy error text to the forum, right?
Ooops... My mistake (roll)
Quote from: Crimson Wizard on Mon 15/07/2013 15:31:51
E: On other hand, the text editor on that screenshot, was it looking like that before you pasted or it became like that after?
It started looks ugly after the error has occurred.

Ryan Timothy B

Quote from: Crimson Wizard on Mon 15/07/2013 15:31:51
Erm, you know you can use Copy/Paste to copy error text to the forum, right?
Perhaps adding a Copy button to that error report form. It would help with issues like this or no one copying it at all, and it's a simple addition. ;)

Snarky

Beta6 weirdness:

This happened as I was just minding my own business, editing code in another tab, and clicked over to this one. It had been fine before.



Tabbing back and forth made no difference. By closing the tab and opening it again I got the full-size editing window back. The editor worked fine apart from this.

SMF spam blocked by CleanTalk