AGS 3.1.0 Final - World's Heaviest Bridegroom Edition

Started by Pumaman, Sat 05/07/2008 23:21:19

Previous topic - Next topic

GarageGothic

I'm quite sorry that I don't have the chance to test out the betas during my holiday. This version seems to contain some of the most important changes to AGS since DrawingSurface was introduced. I can't wait to get working with hi-res coordinates, and I'm very curious to see how well 1024x768 mode runs.

I know that I've been lobbying for better widescreen support forever, so at the risk of repeating myself, I'd just like to point out that it's unfortunate that the two highest resolutions of AGS don't have corresponding 16:10 modes (as 320x200 and 640x400 are to the lower resolutions). I don't expect that it will be possible to run the same game .exe in both  4:3 and 16:10 modes (fullscreen - not letterboxed) anytime soon, as I've previously suggested, but a 1024x640 and an 800x500 mode would be greatly appreciated. It seems quite contradictory that the most contemporary and hardware demanding resolutions can't take advantage of the full screen area of what is becoming the current monitor standard.

deltamatrix

I second that. A widescreen mode for all resolutions would be great. :=
BAD WOLF - TORCHWOOD - MR SAXON - THE BEES ARE DISAPPEARING - PANDORICA - RIVER SONG

subspark

Chris already said he would revamp the resolution system to support this and more I beleive. About 6 months ago to be precise. I initiated the topic requesting that AGS support 16:10 aspects along with the ability to tailor for 4:3 in the same game project. (There were complaints about GUI layout on various screen aspects). It is possible that this is something that CJ has already started planning but you'd best ask him about this.

Cheers,
Paul.

monkey0506

With the recent confusion (1, 2) with global variables vs. Set/GetGlobalInt, I wonder if it might now be time to deprecate these functions. Since I started scripting I have avoided the "GlobalInt" functions like the plague. If I need an int, it's much easier (in the end) to have a conveniently named variable that I can reference instead of having to keep track of arbitrary IDs.

Though arguably "they've always been there!", I'd say that the global variables pane effectively removes any real need for them. Further, it's already becoming apparent that users may assume a connection between "GetGlobalInt" and a "Global Variable" of type int. It seems logical enough that it could, has, and will cause conflict.

Just my $0.02 on the matter anyway.

Sadistyk

Hi. Today I tried to open an old AGS game (an .agf file) and this showed up:



The second line says : " hexadecimal value 0X02, it's a non valid character. Line 4834, position 19"

I tried to open the game with AGS version 3.0.2 SP1.

Pumaman

QuoteIn latest 3.1 beta 5, hotspot markings have disappeared from the room edit screen (the little x marks).
EDIT:  Also noticed that the gui corners for my dialog text box show transparency correctly if I use directdraw5 driver rather than (my default) 3d9:

Thanks, I'll look into these.

QuoteI got this when trying to copy a sprite in from clipboard and then edit it:

System.ComponentModel.Win32Exception: Error creating window handle.
   at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)

Hmm, another crash deep within .NET. I'm gradually losing confidence in the .NET Framework as a platform for Windows applications, and I'm not sure if there's much I can do about this.

When did the crash happen? Was it when you double-clicked the sprite to edit it, or did you use the right-click menu?

QuoteDragging a new GUI button, it snaps back to half its size and co-ordinates after drawing it

Actually, what seems to be happening, is that even in native co-ords mode, DrawingSurface.DrawString doesn't use native co-ordinates unless you explicitly set UseHighResCoordinates on that D.S. However, all the graphical D.S. functions default to high res coordinates when in native mode.

Thanks, I'll look into these.

QuoteJust got this error.  Not sure what exactly I did except rename a music mp3 that I'd made a typo in. (EDIT: I think I had something called music9windsound.mp3 in the music folder)

Hmm thanks, when did this happen? Was it as soon as you switched back to AGS after renaming the file, or did you press something that led to the crash?

QuoteI know that I've been lobbying for better widescreen support forever, so at the risk of repeating myself, I'd just like to point out that it's unfortunate that the two highest resolutions of AGS don't have corresponding 16:10 modes (as 320x200 and 640x400 are to the lower resolutions).

This is something I will investigate for a future version.

QuoteWith the recent confusion (1, 2) with global variables vs. Set/GetGlobalInt, I wonder if it might now be time to deprecate these functions.

Well, the manual pages for Set/GetGlobalInt already describe them as obsolete. The only further step I can take is to stop them compiling in Strict mode, but this would probably just cause aggro from people who are using them a lot in existing games.

QuoteHi. Today I tried to open an old AGS game (an .agf file) and this showed up:

How old was the game (ie. was it made with a 3.0 beta, or with an official 3.x release)? Could you upload the AGF file for me to investigate?

monkey0506

Quote from: Pumaman on Tue 29/07/2008 22:54:51
QuoteWith the recent confusion (1, 2) with global variables vs. Set/GetGlobalInt, I wonder if it might now be time to deprecate these functions.

Well, the manual pages for Set/GetGlobalInt already describe them as obsolete. The only further step I can take is to stop them compiling in Strict mode, but this would probably just cause aggro from people who are using them a lot in existing games.

Sorry I wasn't aware the manual entry had been updated. But it seems like people are quickly drawing a link between "global variables" and "GlobalInt"... :-\

freshpaint

#67
QuoteJust got this error.  Not sure what exactly I did except rename a music mp3 that I'd made a typo in. (EDIT: I think I had something called music9windsound.mp3 in the music folder)

Hmm thanks, when did this happen? Was it as soon as you switched back to AGS after renaming the file, or did you press something that led to the crash?

I think I had editor open, ran the program, wondered why the music didn't play, looked in the folder, saw the typo, changed name, came back, re-ran the program, and it crashed.  Pretty sure this is sequence.

[edit]
Sticking 2 cents into globalint issue: unless you allow named variables in dialogs, it's the only way to transfer data out of a dialog (other than with xchanging inventory items). 

The new dialog functions let you do most of it yourself in code now, but I bet they still get used a lot just because of the dialog issue.  I had been using them as convenient temp storage to figure out which dialog options had actually been selected after a dialog closed rather than dive in and out of dialog_request all the time. 

In fact, the dialog examples in the manual talk about using global ints like this.  If they're going away soon, maybe this should get changed.

Makeout Patrol

I'm having trouble with MIDI files. When I add them the the game's 'music' folder, doing everything that needs to be done, the next time I run the game, none of the MIDI files play at all (even the ones that were already in the folder). This has happened every time I've added MIDIs, and it fixes itself when I play around enough - sometimes restarting the editor gets it to work, sometimes opening the MIDI files in Windows Media makes it work, sometimes it's something else. This problem has persisted through reboots, as well. This doesn't affect any WAV, MP3 or OGG files - just MIDIs. What's up?

Vince Twelve

Windows Media has an annoying habit of messing with your SW Synth volume.  Open your computer's volume controls and check it.  If it's not there, you might have to go into options to make sure it shows up.  This had me stuck for about four hours once when Nanobots' music suddenly stopped playing and I couldn't figure out what was happening.  Turns out it was because I accidentally opened a MIDI in Windows Media Player.

freshpaint

#70
Created new game using default template in 3.1 Beta 5, using my Darkdevil County settings (800x600, 32bit), everything else uses the game defaults set for this version (I noticed that the default for new game is to use actual resolution). Guis for new game template aren't scaled up, however, tho the buttons seem to be:


Pumaman

That isn't actually a bug, but is something that will affect new games now that native co-ordinates is implemented.

Because the Default Game template is at 320x200, now that it is using native co-ordinates if you change the game resolution to something higher (eg. 800x600) the x/y/width/height is now interpreted as being in high-res co-ordinates. This means that if you change the game resolution you'll have to be careful about any existing co-ordinates that are in use.

QuoteI think I had editor open, ran the program, wondered why the music didn't play, looked in the folder, saw the typo, changed name, came back, re-ran the program, and it crashed.  Pretty sure this is sequence.

So are you saying that the editor crashed the second time that you tried to test the game, or did you close the game and then it crashed?

freshpaint

#72
I didn't exit the editor to Windows, if that's what you're asking.  I made the change while the editor was still open by popping up a folder window on the desktop, and the "run" game was exited prob. with alt-x, am pretty sure.  I think it crashed when I tried to run the game again, with the .mp3 file still named incorrectly.  If I can duplicate it will let you know.

Ok, understand about default game now. 

[EDIT]: New issue creating new gui: after drawing the button on a plain gui, the actual button created was half the size and popped into a half/resolution coordinate, thusly:


When I let go of mouse button, this is where it pops:


Other controls act the same way making it tricky to try to lay out a new gui by drawing (tho you can work around it).  On screen when run, new gui shows up wysiwyg, as in the second example, so it looks like maybe the drawing part of it uses incorrect coordinates?.  Sorry I keep coming up with s*it.

Shane 'ProgZmax' Stevens

A small (but weird issue) I notice with textwindow guis is that when you initially create them they use whatever is loaded in sprite index 1 as the placeholder sprites for the border.  Obviously this isn't a big issue if you have a small sprite, but since I happened to have a gui for index 1 it created a mess of overlapping guis that made it difficult for me to see what was going on.  Perhaps instead of using a default image the borders could just have a permanent visible outline around them?

Ghost

#74
Tiny issue with 3.0.2 SP1 - after quitting from AGS, it forgets about the none/crosshair/sprite settings used for inventory. I made three new inv. items, assigned a sprite, set the hotspot, compiled, all perfect. Then, after quitting/re-starting, the settings where reset to their default "No marker".

I also noticed that importing an 8bit sprite into a game of 16bit colour depth makes true black turn into magic pink (the transparent colour). Doesn't affect me much, but I thought I might as well post it.

I haven't touched any of the new betas yet, so if this has already been adressed forgive me ;)

freshpaint

#75
Just got the following while running Darkdevil County from editor in a window.  The player character was very close to the edge of the screen, editor popped up instead of her walking off (this often happens).  This is the first time I've seen this, tho.  The only other change I'd made was putting a tint on her just before testing.  Editor crashed, program terminated only partially and hung, had to terminate via task manager.  (EDIT -- I may have passed a saturation number out of range)

Error: An error occurred while parsing EntityName. Line 3, position 97.
Version: AGS 3.1.0.52

System.Xml.XmlException: An error occurred while parsing EntityName. Line 3, position 97.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseEntityName()
   at System.Xml.XmlTextReaderImpl.ParseEntityReference()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
   at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.LoadXml(String xml)
   at AGS.Editor.DebugController._communicator_MessageReceived(String data)
   at AGS.Editor.EngineCommunication._watcher_Changed(Object sender, FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.OnChanged(FileSystemEventArgs e)
   at System.IO.FileSystemWatcher.NotifyFileSystemEventArgs(Int32 action, String name)
   at System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Pumaman

QuoteNew issue creating new gui: after drawing the button on a plain gui, the actual button created was half the size and popped into a half/resolution coordinate, thusly:

Thanks, though this has already been reported by SSH -- I'm looking into it.

QuoteA small (but weird issue) I notice with textwindow guis is that when you initially create them they use whatever is loaded in sprite index 1 as the placeholder sprites for the border.  Obviously this isn't a big issue if you have a small sprite, but since I happened to have a gui for index 1 it created a mess of overlapping guis that made it difficult for me to see what was going on.  Perhaps instead of using a default image the borders could just have a permanent visible outline around them?

Hmm yeah I don't really like the way the textwindow editor works anyway ... it was put there as a quick-and-easy hack that has since persisted into AGS 3. Something like that would probably be a good idea.

QuoteTiny issue with 3.0.2 SP1 - after quitting from AGS, it forgets about the none/crosshair/sprite settings used for inventory. I made three new inv. items, assigned a sprite, set the hotspot, compiled, all perfect. Then, after quitting/re-starting, the settings where reset to their default "No marker".

The way you set the inventory cursor hotspot in AGS 3.0.x is confusing, and has already been changed in the latest beta.

QuoteJust got the following while running Darkdevil County from editor in a window.  The player character was very close to the edge of the screen, editor popped up instead of her walking off (this often happens).

Hmm, that's strange. Did you have a breakpoint set at that point in the game or was it totally random?

Vince Twelve

#77
Testing out the fancy 640x480 native resolution, but having something weird go on with GUI coordinates.

I have a gui (gInventory) following the mouse around using the following code:


    gInventory.X=max(0, min(639, mouse.x+15));
    gInventory.Y=max(0, min(479, mouse.y+15));

However, when I mouse below 385 the game closes and the editor pops up and highlights the second of those two lines of code with a little error window:

"GUI.Y: co-ordinates specified are out of range.  Remember to use 320-res coordinates."

First off, I shouldn't be using 320 res coordinates right?  I assume this error has snuck past the upgrade.

Second of all, why is it doing this if the GUI is moving to a y>400?  If I change the 479 in the code to 400, it works fine, but the inventory box will no longer follow the cursor to the bottom 80 pixels of the screen...

It seems that setting a GUI to a y coordinate higher than 400 before the game runs (in the GUI's editor panel) works fine, but doing it in code using gInventory.Y while running the game produces an error.

And yes, the game is set to 640x480, not 640x400.

Bug?


Edit:  One other apparent bug.  I spent about 30 minutes trying to figure out why my characters were suddenly becoming non-solid.  But I just noticed that they apparently are only non-solid on the right half of the screen.  Characters don't block anything x>320.  Another bug from the upgrade?

RickJ

I have been heavily using the beta version in Linux (via VirtualBox) for the last week or so and it is working great.  Here are a couple things I noticed though...

GUI Editor
I have seen the GUI editor coordinate problem previously reported and would add that the GUI background color is draw at twice the actual size (the border is drawn correctly).  When new controls are created they appear to be draw at coordinates half the distance from where ther where created. I know this is already reported and just adding my brief observation in case it may be of help. 

Problem Using  Mapped Drive
VirtualBox creates a virtual disk for drive C.  Windows 2000 and AGS are installed on virtual drive C.  I have setup VirtualBox for seamless integration where I have the windows menu/taskbar at the top of my screen and the linux KDE menu/taskbar at the bnottom of my screen and my combined linux and windows desktop displayed on the remainder of the screen.  Start AGS and it runs in a windows style window.  Start Linux apps and the run in KDE style windows.

Games that reside on drive C can be edited and tested without any problems the same as on a native windows machine.  Linux apps, however,  can't access the virtual C drive.  Windows runing within birtualBox can however access the Linux file system using "net use" to map all or a portion of the native Linux file system to a windows drive letter (i.e. F:/ ).   There are many obvious advantages to keeping and working with AGS's game files on the native Linux file system rather than virtual drive C which is in actuality OBFF  (one big f#@king file) in the native file system.   

AGS is able to open, edit, and save game files residing on a mapped drive (mapped via "net use") without any problems.  However, all of the command under the Build menu cause AGS to crash with the " There are no more files." error shown below. 

Since it's possible to edit/save files  on a mapped drive then it would seem possible fix this problem.  If this little thing gets fixed, then I would say that the new AGS editor runs flawlessly in Linux (via VirtualBox).  Please take a look and let me know if fixing this is possible and if it's worth your effort.  I am planning on publishing a How-To in the near future on the forum for my other fellow Linux users and would want to make it consistent with your response.  Thanks.

Code: ags

Error: There are no more files.

Version: AGS 3.1.0.52

System.IO.IOException: There are no more files.
 ---> System.IO.IOException: There are no more files.

   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, ...
              Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
   at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
   at AGS.Editor.Utilities.AddAllMatchingFiles(IList`1 list, String fileMask, Boolean fullPaths)
   at AGS.Editor.Components.MusicAndSpeechComponent._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.TestGame(Boolean withDebugger)
   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.HandleMouseUp(MouseEventArgs 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.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Khris

Possibly another bug:

Quote from: zabnatI actually just tested it again and the objects baseline setting doesn't affect the place where object places its blocking chunk, it only affects whether character is drawn on top of the object or behind. I'm not sure if this is a bug or not, but this seems to be the case. The baseline used for blocking is always at the bottom of the object.

SMF spam blocked by CleanTalk