AGS 3.0.2 Final 2 - Credit Crunch Edition

Started by Pumaman, Mon 28/04/2008 18:22:53

Previous topic - Next topic

Pumaman

Well, with people being asked to take pay cuts all over the place, I guess we won't have any money left to do anything except sit at home and make games:

Changes in Final 2:

* Updated to v1.6.0 of Verb Coin template (thanks Electroshokker!)
* Improved editor behaviour on startup if registry entries have been corrupted
* Fixed template generation failing if the template had speech or translations
* Fixed template generation saying it was successful even when it failed
* Fixed Create New Game not putting music/sound files in the sub-folders
* Fixed editor crash if you selected a whole line of script and then pressed F1
* Fixed Mouse.ChangeModeView crashing if you passed a View of -1


Changes in Final:

* Alpha-transparent background and borders are now supported for textwindow GUIs
* Room editor now shows "?" for mouse position when the cursor is outside the room area
* Room editor now uses grey for area outside of actual room background
* Fixed potential managed object pool corruption if you made heavy use of SayBackground
* Fixed crash creating/renaming view folders, introduced by an earlier beta
* Fixed crash if you tried to crop edges on a completely transparent sprite
* Fixed intermittent error after closing game when using debugger
* Fixed crash using $AUTOCOMPLETEIGNORE$ on script function, introduced by RC 2.

Changes in RC 2:

* Added some new icons thanks to Klaus
* Added plugin API GetSpriteUsageReport,DeleteSprite functions
* Fixed crash starting up the editor on some systems
* Fixed excluded room files still being compiled into the game EXE
* Fixed DrawingSurface.GetPixel sometimes returning invalid values in 32-bit games
* Fixed view preview not being updated if you changed the currently displayed sprite's Flipped setting
* Fixed view preview not flipping frames if they were being scaled down
* Fixed script editor function list not including extender functions
* Fixed editor crash if you deleted a GUI control while in the middle of dragging it around
* Fixed error generating voice acting script if there was a player.Say line in the script with no indentation
* Fixed crash in sprite import window when zooming out and in of the bottom right corner

Changes in RC 1:

* Added optional DialogOptionSayStyle parameter to Dialog.DisplayOptions()
* Added editor plugin API methods ShowSpriteSelector, SetStatusBarText, Game.Sprites, CreateNewSprite, ChangeSpriteImage
* Further improvements to appearance of various dialogs when using 120 DPI; and splash screen now displays taglines when using 120 dpi ;)
* Editor now makes sure that you don't name a View the same as a character
* Updated to v1.5.3 of Verb Coin template (thanks Electroshokker!)
* New GUI alpha channel method (in General Settings) to allow more intuitive rendering of alpha channels on GUI controls
* When importing alpha channel images, alpha-transparent pixels are now recognised as transparent pixels
* Sprindex.dat is now put under source control if the main sprite file is
* Fixed alpha channel not working on graphical Overlays
* Fixed line and rectangle tools sometimes being slightly out from where the area actually appeared
* Fixed 8-bit rooms from 2.72 not being displayed correctly in the editor if they used gamewide colours
* Fixed transparency being lost when importing an 8-bit character into a hi-colour game
* Fixed Global Variables editor not allowing you to use negative numbers
* Fixed speech.vox being generated even if you had no speech (you may need to delete any existing syncdata.dat file for this to work)
* Fixed dynamic arrays not working if you had Left-to-right Precedence turned off
* Fixed the last imported image file being locked by the editor

Changes in beta 2:

* Added Global Variables pane to editor, to allow you to easily declare global variables for the script instead of having to do all the import/export rubbish
* Added Dialog.DisplayOptions command to assist with implementing custom dialog systems
* Added DynamicSprite.CreateFromDrawingSurface script function

Changes in beta 1:

* Added script functions Game.DialogCount, Dialog.OptionCount, Dialog.GetOptionText
* Added plugin API functions IsRunningUnderDebugger, BreakIntoDebugger, GetPathToFileInCompiledFolder
* Modified source control integration not to check in the username, which was happening in some cases
* Added option to put sprite and sound files under source control
* Improved responsiveness of room Edges editor under Windows Vista
* Improved parsing of function list in script editor when the script contains comments and strings
* Improved look of wizard dialogs when run at 120 DPI
* Updated to latest version of Electroshokker's Verb Coin template
* Fixed demo game not compiling
* Fixed editor error loading games if your regional settings had a space in the short date format
* Fixed some TTF fonts being incorrectly positioned in the editor GUI previewer
* Fixed hotspot sometimes getting corrupted when importing a new background
* Fixed exported GUIs not having the sprite resolutions exported correctly
* Fixed translation file generation failing if a script included a speech mark inside quotes ('"')
* Fixed Game.TranslationFilename property returning a path when the game is run under the debugger
* Fixed Voice Actor Script generation giving error if you used "Narrator" (with a capital N) in a dialog script
* Fixed editor crash if you deleted the Compiled folder while it was running

THIS IS A BETA, ALWAYS BACK UP YOUR GAME BEFORE USING A BETA VERSION OF AGS

http://www.adventuregamestudio.co.uk/AGS-3.0.2.exe
for this release only an installer is provided (to make sure the demo game is now working!) but for the final release a plain RAR file will of course be made available

Joseph DiPerla

Awesome! Keep up the great outstanding work CJ!!!!
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

skuttleman

Quote from: Pumaman on Mon 28/04/2008 18:22:53
* Added script functions Game.DialogCount, Dialog.OptionCount, Dialog.GetOptionText

Yay! I fished my wish! Rock on, CJ!!!!

monkey0506

I knew if I held out long enough on that dialog code that you'd come through CJ! :=

Not that I would do that... ::)

Mr.T


subspark

Brilliant work Chris! You and AGS are true a legend.
Paul.

lemmy101

Awesmoe stuff CJ! :D Lovely goodies!! *drools* Thanks again! :)

subspark

Actually theres still a bug with the rendering of the text, Chris. As shown in my example, the font is being distorted from its usual 1 pixel spaced style. Also, the label's coordinates in the game/editor are still not representative of each other.


Note: Pink background = Editor
          Black Background = Running Game

Cheers mate,
Paul.

Pumaman

Does the font use an outline? I think the editor draws the fonts 1 pixel off if they've got an outline in-game, which is something I need to fix at some point but it's not a major priority.

QuoteAlso, the label's coordinates in the game/editor are still not representative of each other

What do you mean by this?


Anyway, I've uploaded beta 2. This is earlier than I normally would, but there are two things that I want to make sure get time to be tested before this version is released.

First, the new "Global variables" pane. I've seen a lot of questions in Beginners Tech from people asking how to create global variables, and with all the import/export nonsense it has been unnecessarily complicated. So this new feature should make it much simpler and hopefully ween people off the 2.72 interaction editor.

The other thing is that in order to implement the new Dialog.DisplayOptions command I've had to do some refactoring of the dialog system, so if you guys could make sure that your dialogs still work properly that'd be appreciated.

GarageGothic

#9
Quote from: Pumaman on Mon 28/04/2008 18:22:53* Added DynamicSprite.CreateFromDrawingSurface script function

Oh thank you, thank you, thank you!!! I can't wait to get started using this feature.

Now kids, we can all learn a valuable lesson from this: If you pester CJ enough, he'll eventually give in to your demands  ;)

Edit:
QuoteAlso, the label's coordinates in the game/editor are still not representative of each other

Is the font antialiased in-game? If so, I wonder if this isn't the exact same issue I reported three years ago? I came to accept it as a bug in the external libraries, but perhaps now that DrawingSurface supports hi-res coordinates it would be possible to fix? I remember reading somewhere that all true type text in the game is rendered as DynamicSprites internally before being displayed, so perhaps a pixel adjustment would be possible?

Shane 'ProgZmax' Stevens

QuoteDialog.DisplayOptions

Very nice.  Is this part of your plan to allow dialogs to be run via normal scripts?  If so, I'm all for it!

skuttleman

The Global Variables pane doesn't let me insert negative default values for integers.

subspark

#12
Quote from: myselfThe label's coordinates in the game/editor are still not representative of each other.

Yeah basically this means that the coordinates in the game are different to the coordinates in the editor. The same bug as before only less extreme.

The font's outline was set to 'Automatic' however if I change it to 'None', the bug still occurs.

Cheers,
Paul.

Edit: Great work with the Global Variables Pane, Chris! It has however been a while since I touched code and I'm stumped as to how to use them in my scripts. Could you update the help file for the next release with an example? It would help novice programmers like myself.

would it be like:
Code: ags
if (GetGlobalVariable(ego_has_item1)==1) {
   --code here--
}

SetGlobalVariable(ego_has_item1, 0);


Also the ability to reorder the global variables would be handy for organizational sake. I tend to have them in order of triggered but some might like to order them by Z-A or type.

Thanks mate. Cheers.
Paul.

Gilbert

Quote from: subspark on Wed 30/04/2008 01:35:14
Yeah basically this means that the coordinates in the game are different to the coordinates in the editor. The same bug as before only less extreme.

Hmmm try setting up the game to run at an alternate resolution (i.e. if it's set up to run at 320 try 640 and vice versa) and see if it makes any difference.
As far as I remember, for a low res (320x2xx) game. The position of the labels are off by one vertical screen pixel when we compare it running at low res. or in high res. (640x4xx). This at least happened in old versions. I don't have time to check if it's fixed, personally I think it should be fixed.

subspark

Thanks, Gilbot. Your right. Running the game in 640x400 mode means that the label sits lower than it is set in the GUI Editor by 1 pixel at runtime.

Running in 320x200 mode eliminates the offset problem. I've tracked the font rendering problem to the font itself. It seems that the new version has changed my font's scale/position.
Example:


Cheers,
Paul.

Rui 'Trovatore' Pires

Subspark, re global variables - have you tried using them as you would normal variables? Just,

if (ego_has_item1) {}

ego_has_item1++;

...stuff like that?

I mean, I *hope* it works like this, if the whole point was to simplify GVs...
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

subspark

#16
Wow RUI. Thanks. Incidentally, I could find no reference to your code example in the manual. This is quite confusing. Whats the use for Graphical variables if there are Global Ints and why are graphical variables called Graphical variables? Shouldn't they be Global Variables?

Cheers,
Paul.

Edit:
SUGGESTION:
I don't know how the other types of global variables such as GUI* work, but I think global variable code should be housed more uniformly. I mean the same code format should be used for (ints,GUI*,Character* etc.) Otherwise its too confusing for beginners like me and unnecessarily cluttered for everyone as a whole. This is just my opinion however.

Cheers,
Paul.

SSH

#17
Quote from: subspark on Wed 30/04/2008 10:11:10
Wow RUI. Thanks. Incidentally, I could find no reference to your code example in the manual. This is quite confusing. Whats the use for Graphical variables if there are Global Ints and why are graphical variables called Graphical variables? Shouldn't they be Global Variables?

Graphical variables went out with v3.00 since they were part of the now-defunct interaction editor.

Quote
It has however been a while since I touched code and I'm stumped as to how to use them in my scripts. Could you update the help file for the next release with an example? It would help novice programmers like myself...

I don't know how the other types of global variables such as GUI* work, but I think global variable code should be housed more uniformly. I mean the same code format should be used for (ints,GUI*,Character* etc.) Otherwise its too confusing for beginners like me and unnecessarily cluttered for everyone as a whole. This is just my opinion however.

Monkey wrote a great tutorial for n0bs like yourself at http://americangirlscouts.org/agswiki/index.php?title=AGS_Pointers_for_Dummies
12

Pumaman

QuoteVery nice.  Is this part of your plan to allow dialogs to be run via normal scripts?  If so, I'm all for it!

Well, in theory with this command you don't have to use the dialog scripts at all. You could simply do something like this in your normal script:

int choice = dBarman.DisplayOptions();
if (choice == 0)
{
  cBarman.Say("Hello");
}
else if (choice == 1)
{
  cBarman.Say("Something else");
}
// etc

OK, it's not very elegant code, but it gets us half way there.

QuoteThe Global Variables pane doesn't let me insert negative default values for integers.

Good spot, thanks, I'll get it changed.

QuoteThe font's outline was set to 'Automatic' however if I change it to 'None', the bug still occurs.

As GarageGothic asks, do you have TTF anti-aliasing enabled? If so and you turn it off, does that resolve the problem?

QuoteGreat work with the Global Variables Pane, Chris! It has however been a while since I touched code and I'm stumped as to how to use them in my scripts. Could you update the help file for the next release with an example? It would help novice programmers like myself.

Well, the idea was that they're so simple you don't need an example on how to use them -- but I will add one to the manual :)

Quote
would it be like:
if (GetGlobalVariable(ego_has_item1)==1) {
   --code here--
}

SetGlobalVariable(ego_has_item1, 0);

No, the whole point is you don't need any special commands to use them. So it would just be:

if (ego_has_item1 == 1) {
   --code here--
}

ego_has_item1 = 0;

They should be picked up by autocomplete to assist with this.

QuoteRunning the game in 640x400 mode means that the label sits lower than it is set in the GUI Editor by 1 pixel at runtime.

Ah ok, well I'm not sure if there's a lot that can be done about this. When you run at 320x200 it has to shrink the font and the way it's happened has probably resulted in the characters shifting up slightly.

Is this 1 pixel offset causing you a problem?

QuoteIt seems that the new version has changed my font's scale/position.
Example:

Yes, 3.0.2 changes the rendering in the editor so that it matches the rendering in the engine (previously it was using a different renderer, which is why it could be 5 pixels out). So it's important to note that the engine TTF rendering is identical to previous versions, but in the editor it has now changed to be consistent with the engine.

QuoteWhats the use for Graphical variables if there are Global Ints and why are graphical variables called Graphical variables? Shouldn't they be Global Variables?

Graphical Variables are obsolete, they're from the 2.72 interaction editor.
As of now, I consider that GlobalInts are obsolete as well. The new Global Variables feature provides a much more friendly way of creating global ints that allows you to name them, and so I don't see there being any need to continue using GlobalInts.

QuoteI don't know how the other types of global variables such as GUI* work, but I think global variable code should be housed more uniformly. I mean the same code format should be used for (ints,GUI*,Character* etc.) Otherwise its too confusing for beginners like me and unnecessarily cluttered for everyone as a whole. This is just my opinion however.

I'm not really sure what you're asking here, can you re-phrase that?

Gilbert

Quote from: Pumaman on Wed 30/04/2008 10:49:03
Ah ok, well I'm not sure if there's a lot that can be done about this. When you run at 320x200 it has to shrink the font and the way it's happened has probably resulted in the characters shifting up slightly.

This is not necessarily true. The following image is a comparison of a button in my (yet-to-be-released) game (compiled with V2.6sp1 :P):

The font is actually an AGI font set I made, and was set to work at low res. and the button graphics was low res. also. So, when the game is set to run at 640x480, the label should be identical to the 2x zoomed in version of the low res. one. However, you can see that it's not actually the case.
I can understand the off-position problem if it's a true type font or a high res bitmap font, but it shouldn't happen if it's a low res. bitmap font.

(P.S. just tried V3.00 and it seems to have the same problem.)

subspark

#20
QuoteWell, the idea was that they're so simple you don't need an example on how to use them
Well considering I had no point of reference on what to write and how to write it, it might not be as simple for beginners as you assumed. But thanks for adding an example to the manual.

The term NooB gets thrown around like potato chips on a 16th birthday party. Is this a provocative term? If so, its not very welcoming. I'm sure you meant it lightheartedly, however. :)

QuoteWhen you run at 320x200 it has to shrink the font
Why? My game doesnt need to be shrunk to 320x200 because the game uses 320x200 resolution anyway. My game is not designed for 640x400. I simply play it at 2x windowed for testing purposes which is how I noticed the bug in the first place.

The manual still references Global Ints and Graphical Variables which threw me off but I'm sure you'll get around to removing it soon.

Quotedo you have TTF anti-aliasing enabled
It is disabled and 'Fonts Designed for 630x480' is set to false.

QuoteIs this 1 pixel offset causing you a problem?
Not at all. Just hunting bugs for you. ;)

QuoteI'm not really sure what you're asking here, can you re-phrase that?
Never mind mate. This question is now invalid.

Thanks for all your help guys.
Paul.

Edit:
QuoteI can understand the off-position problem if it's a true type font or a high res bitmap font, but it shouldn't happen if it's a low res. bitmap font.
I AM using a low res SCI bitmap font as a matter of fact.

Paul.

monkey0506

#21
The thing that worries me most about this second beta is that it is our second Mayoral edition! ;D

I'm somewhat excited about the global variables pane in that I really think it will help new users adjust easier into scripting without having to worry about why they can't access their variables from another script or why the values don't persist from one script to another (declaring variables in the header wtf!). Of course this is just the first release to contain the feature so you're looking for feedback before full implementation.

One suggestion I would like to make regarding the pointer types (excluding dynamic types like DynamicSprite and DrawingSurface of course) is that it be made possible to assign default values there as well. One thing that was somewhat of a nuisance at first, but I've probably become accustomed to is having to assign default values within game_start. Besides, can't you just imagine the hundreds of bug reports about the default values for pointers being broken? :=

As for the dialog, it is nice to finally see that getting a much needed face-lift. I realize you are still in the early stages here, but while you're at it the main customizations I would like to see for the dialog are:

  • The ability to scroll through the options! 8)
  • Customization of normal/highlighted colors (we can use the SpeechColor property to change the normal color, but it can be somewhat of a hassle).
  • Allow scripts to run during dialog. Currently nothing can be done while dialog options are shown, even the background is paused. There's been a pretty high request rate for this to change, so this may be the time to do it.

    And as always thanks for the updates...and keep more coming! ;D

    Edit: BTW Chris, what is this Game.agf.user file that seems to have cropped up?

Shane 'ProgZmax' Stevens

QuoteOK, it's not very elegant code, but it gets us half way there.

Actually this is quite excellent, CJ.  As long as it continues to handle the topics, and provided that the dialog pop-up becomes non-blocked at some point in the future, this is really all that's needed to create robust dialogs in one location without jumping between scripts.  I'm curious to hear what else you'd like to do to improve it, though.

GrogGames

#23
i have this error when i try to run the editor


I am using Windows XP Service Pack 3,  with .Net Framework 2.0
i dont know if this would help you,  but there aren't other anormal things. I hope yes
Ags 3.01 runs perfectly

Thanks!

PD: Sorry for my crappy english,  again,  i speak spanish





Pumaman

QuoteIt is disabled and 'Fonts Designed for 630x480' is set to false.

Thanks. I'm not going to investigate this in great detail because it doesn't really seem to be causing a problem, but I'll keep it in mind :)

QuoteOne suggestion I would like to make regarding the pointer types (excluding dynamic types like DynamicSprite and DrawingSurface of course) is that it be made possible to assign default values there as well. One thing that was somewhat of a nuisance at first, but I've probably become accustomed to is having to assign default values within game_start. Besides, can't you just imagine the hundreds of bug reports about the default values for pointers being broken?

Hmm yeah, I wasn't sure what to do about this. My main concern was that it wouldn't really be possible to validate the default value, and therefore if people typed in something dodgy they'd get strange compile errors that they wouldn't be able to trace.

But maybe it could allow you to choose the default value from a list of Characters/GUIs.

QuoteThe ability to scroll through the options!
Customization of normal/highlighted colors (we can use the SpeechColor property to change the normal color, but it can be somewhat of a hassle).

Before I go on to do things like this I really need to decide what direction to take the dialog system in -- whether to keep bolting things on or to give it a radical makeover. It's still under consideration.

QuoteAllow scripts to run during dialog. Currently nothing can be done while dialog options are shown, even the background is paused. There's been a pretty high request rate for this to change, so this may be the time to do it

Yes that one has been requested a lot and is on my to-do list. Probably not for 3.0.2 though, because I'm not planning on any more betas now, it'll be straight to RC 1 next.

QuoteEdit: BTW Chris, what is this Game.agf.user file that seems to have cropped up?

It's for storing any settings that are specific to you (the user of the AGS Editor) and not game settings.
At the moment it's only used to store source control information, but in future it might also contain which windows you had open when you closed the editor, etc.

QuoteActually this is quite excellent, CJ.  As long as it continues to handle the topics, and provided that the dialog pop-up becomes non-blocked at some point in the future, this is really all that's needed to create robust dialogs in one location without jumping between scripts.  I'm curious to hear what else you'd like to do to improve it, though.

Hehe indeed, I need to think things through further.

Quotei have this error when i try to run the editor

Are you saying that 3.0.1 works but the 3.0.2 beta doesn't?
I think you get this error if the msvcm80/msvcr80.dll files are missing -- you did un-zip the whole ZIP and not just try and run the editor out of it, right?

subspark

I loved your crafty little artwork Chris! That new Global Variables Icon sure fits into the hearty family of 16x16 eyecandy. ;)
Always keeping things polished...I like!

Cheers
Paul.

GrogGames

Quote from: Pumaman on Fri 02/05/2008 20:38:57
Quotei have this error when i try to run the editor

Are you saying that 3.0.1 works but the 3.0.2 beta doesn't?
I think you get this error if the msvcm80/msvcr80.dll files are missing -- you did un-zip the whole ZIP and not just try and run the editor out of it, right?
I unziped the whole Zip. The dlls are in the folder.

monkey0506

Quote from: Pumaman on Fri 02/05/2008 20:38:57My main concern was that it wouldn't really be possible to validate the default value, and therefore if people typed in something dodgy they'd get strange compile errors that they wouldn't be able to trace.

I was actually thinking about which types don't really need default values: DrawingSurface, DynamicSprite, File, Overlay, and ViewFrame shouldn't require default values so those types though are reasonable as global variables so they could work as Character/GUI pointers are currently implemented.

As for the rest:

Quote from: Pumaman on Fri 02/05/2008 20:38:57But maybe it could allow you to choose the default value from a list of Characters/GUIs.

This is more along the lines of what I was thinking. For example, if I need a global ListBox* would it be impossible to generate a drop-down list of all currently created ListBox controls? Then if the ListBox was deleted the default value could be set to null (which is what it's currently doing with Character*/GUI*s anyway). Room-specific items may not require globally set values, but if the need ever cropped up for some users it may just be simpler to allow it now if possible.

Quote from: Pumaman on Fri 02/05/2008 20:38:57
QuoteThe ability to scroll through the options!
Customization of normal/highlighted colors (we can use the SpeechColor property to change the normal color, but it can be somewhat of a hassle).

Before I go on to do things like this I really need to decide what direction to take the dialog system in -- whether to keep bolting things on or to give it a radical makeover. It's still under consideration.

QuoteAllow scripts to run during dialog. Currently nothing can be done while dialog options are shown, even the background is paused. There's been a pretty high request rate for this to change, so this may be the time to do it

Yes that one has been requested a lot and is on my to-do list.

I'm glad to hear it is under consideration. My opinion has been voiced so there's no need to reiterate. I trust you will make whatever decision you deem best for the future of your beloved program. :=

Quote from: Pumaman on Fri 02/05/2008 20:38:57Probably not for 3.0.2 though, because I'm not planning on any more betas now, it'll be straight to RC 1 next.

Wasn't this the plan with 3.0.1? ;D

Quote from: Pumaman on Fri 02/05/2008 20:38:57
QuoteEdit: BTW Chris, what is this Game.agf.user file that seems to have cropped up?

It's for storing any settings that are specific to you (the user of the AGS Editor) and not game settings.
At the moment it's only used to store source control information, but in future it might also contain which windows you had open when you closed the editor, etc.

I see. Thanks for clearing that up! ;)

Dave Gilbert

Wow.  After nearly a year of no updates you are certainly making up for lost time! :)

Thanks, Chris!

-Dave

monkey0506

Just a thought regarding the portability of our new global variables: Would it be possible/reasonable to assign global variables to a script? I'm thinking specifically when scripts are exported, perhaps global variables could be exported with the script if pertinent to that script?

Of course anyone who knows enough to release a script publicly could probably handle the import/export route, but it was only an idea I just had.

David Cook

good Job CJ!!!!! := :'( :-* :-\ :-X :P
Nyehehe! Complete it as ssoonn aasss you can..

Creator

Wow, a new version coming out already. Give me time to use 3.0.1 first! Great job CJ, keep up the good work!

ThreeOhFour

The global variables pane is a most excellent feature.

Thank you!

Joseph DiPerla

QuoteWell, in theory with this command you don't have to use the dialog scripts at all. You could simply do something like this in your normal script:

int choice = dBarman.DisplayOptions();
if (choice == 0)
{
  cBarman.Say("Hello");
}
else if (choice == 1)
{
  cBarman.Say("Something else");
}
// etc


Neat! Thanks a lot CJ!!!!
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

Pumaman

QuoteI loved your crafty little artwork Chris! That new Global Variables Icon sure fits into the hearty family of 16x16 eyecandy.

Hehe, is it that obviously out of place ;)

QuoteI unziped the whole Zip. The dlls are in the folder.

Strange. Can you try installing a copy of 3.0.1 to a new folder, and then copying the 3.0.2 Beta files on top, and see if it works then?

QuoteI was actually thinking about which types don't really need default values: DrawingSurface, DynamicSprite, File, Overlay, and ViewFrame shouldn't require default values so those types though are reasonable as global variables so they could work as Character/GUI pointers are currently implemented.

Overlay and ViewFrame are reasonable ones to add; but DrawingSurface and File pointers should really be used up and then released within a single function so I don't want to cause confusion by making them easily usable as global vars.

QuoteThis is more along the lines of what I was thinking. For example, if I need a global ListBox* would it be impossible to generate a drop-down list of all currently created ListBox controls? Then if the ListBox was deleted the default value could be set to null (which is what it's currently doing with Character*/GUI*s anyway). Room-specific items may not require globally set values, but if the need ever cropped up for some users it may just be simpler to allow it now if possible.

Well, I guess the question is how often do you declare a global pointer and set it to an existing item in game_start (which is effectively what the Global VAriables pane is doing for you)? Is it worth the hassle of me adding this feature?

QuoteJust a thought regarding the portability of our new global variables: Would it be possible/reasonable to assign global variables to a script? I'm thinking specifically when scripts are exported, perhaps global variables could be exported with the script if pertinent to that script?

Interesting point. I'm not sure about this one, but I guess it could be useful.

QuoteThe global variables pane is a most excellent feature.

Thank you!

Thanks for all your feedback so far guys, as always it's appreciated :)

subspark

Your work is tops always, CJ. I guess I speak for the majority when I say we really appreciate the work you've put into AGS. Honestly some of those new features in AGS just rock the cradle man!

I hope everybody realizes that the AGS engine is as good as it gets for Adventure Game Development. I still find it difficult to factor the scope of this thing into my perspective. I must ask you Chris, do you still have the AGS clockwork mapped out in your head or is it too grand now to remember how everything really works together. I suppose it's the same in hardware. Nobody fully knows how to build a modern day computer. The age of the specialists ;).
Still I do wonder if you remember it ALL or have you written it all down somewhere.

Cheers,
Paul.

skuttleman

Quote from: subspark on Tue 06/05/2008 20:20:40
Your work is tops always, CJ. I guess I speak for the majority when I say we really appreciate the work you've put into AGS. Honestly some of those new features in AGS just rock the cradle man!

Here! Here!

monkey0506

If it would be a major hassle to provide a drop-down list for pointer default values then I would say don't worry about it. I know enough about the scripting to be able to do it myself as necessary. I was just thinking that perhaps some users (especially those new to scripting) may find it valuable.

But you don't have to implement everything my brain comes up with Chris := I'm just trying to generate some ideas.

SSH

#38
If you load the default game, export roger and then re-import him, the original rog has a transparent background, but the new one has an opaque black background.

Also, now there are so many dialog methods/properties, I think they'd be better with their own section in the help file.
12

subspark

I see by your thumbnail you are using the Mac version of AGS. Am I correct?
Support for the Macintosh version is not as frequent as it's windows counterpart.
Having said that, if you've found an error, you should also post it on the Mac section of the forums and hopefully Steve will get round to it in the next century or two. ;)

Quote from: GrogGames on Fri 02/05/2008 05:23:28
i have this error when i try to run the editor


I am using Windows XP Service Pack 3,  with .Net Framework 2.0
i dont know if this would help you,  but there aren't other anormal things. I hope yes
Ags 3.01 runs perfectly

Thanks!

PD: Sorry for my crappy english,  again,  i speak spanish

SSH

Quote from: subspark on Thu 08/05/2008 11:54:45
I see by your thumbnail you are using the Mac version of AGS. Am I correct?

Since there's no Mac editor and he said he was using XP SP3, I doubt it... ;)
12

VK Dan

I believe he has the Windows version, but it is skinned to look like a Mac.

However I can't see what the error is since the thumbnail doesn't link to the larger image (or if it does, my computer won't load it).

subspark

QuoteSince there's no Mac editor
Then what is AGS 2.71 Mac? Surely you know AGS has been ported to platforms other than Windows already. Unless you've been living under a rock. No offense of course mate.

Quoteand he said he was using XP SP3, I doubt it
Yeah I must have missed that. I saw the thumbnail and saw a mac interface so I assumed he was using one. Honestly, Grogs, if you love the mac interface so much then why not just own a Macbook Air rather than emulate it with a skin? This is not a judgmental comment however. I'm just curious, as to why you skin your PC like a Mac. It is kinda cool in any case. It's essentially a Mac that does everything you wish your real one did. ;) Indulging to say the least.

Cheers,
Paul.

Rui 'Trovatore' Pires

QuoteThen what is AGS 2.71 Mac?

It is a port of the game's engine, not the editor. Surely you know AGS's editor has not been ported to platforms other than Windows. Unless you've been living under a rock. No offense of course. Mate.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

subspark

No need to be smart. I seem to be a bit confused though. :) What's this screenshot displaying from the Mac thread?
Is this not the editor running on a Mac?

Naturally, I assumed GrogGames was using this version.



Cheers,
Paul.

Gilbert

#45
You can also see the top bar reads CrossOver, googling 'crossover mac' gave me this immediately:
http://www.codeweavers.com/products/cxmac/

There's never a MAC or *nix AGS editor, at least not yet.

Edit:
Also, I just checked the thread you mentioned and found the post with that image.
Quote from: Nahuel on Mon 19/02/2007 22:15:15
Changing topic a bit, people have mentioned the use of virtualpc (powerpc) or parallels (intel) to run AGS or its editor. However, I've been using crossover for mac (which is basically a commercial version of wine) and both the editor and engine work perfectly! Of course, Crossover has two problems; it is not free (about £30 for the license) and it only works on Intel Macs. However, the first problem has a soution: you can use Darwine which is a free implementation of wine for macs (Haven't tried it myself). It should work, although it is arguably more work than crossover...
Did you read? :P

subspark

I guess I just brushed through the thread and saw the screenshots. I was in a bit of a rush actually and didn't have time to read.
Sorry for the confusion lads. Is there a Mac editor planned? I can't imagine why it shouldn't be developed. It kind of goes with the engine like bread and butter. :P

Thanks for the info guys. Sorry again. :)
Paul.

SSH

Quote from: subspark on Fri 09/05/2008 03:52:10
I can't imagine why it shouldn't be developed.

Because Macs don't have .NET, because most people would rather have CJ spend his time improving the Windows version, and becuase its a non-trivial task that would require CJ to own a Mac...
12

Gilbert

I'd rather he works on the C64 version first. :P

subspark

I'm hanging out for the Nintendo 64 version! Is this one far off, Chris? :P

Pumaman

Guys, please, this is the official 3.0.2 thread. If you all want to prattle on pointlessly, please do it in the General Discussion forum :P

jetxl

Nice, Chris. Though I hope you won't mind me sticking to good old 2.62 for now.

subspark

You don't know what your missing, Jetxl!
Oh wait, the feature list is on the first page. ;)
How is progress on the release candidate going anyways, Chris? I'm excited about what new features might arise. :D

Cheers,
Paul.

Pumaman

Quote from: SSH on Wed 07/05/2008 11:14:16
If you load the default game, export roger and then re-import him, the original rog has a transparent background, but the new one has an opaque black background.

I can't replicate this. Here's what I did:

Loaded AGS 3.0.2 beta 2, opened demo game, exported cRoger, imported cRoger as new character, put new character in room and ran game. The background was fine...

SSH

No, create a new game with the default game template, not load the demo game. Sorry, I wasn't clear!
12

Rui 'Trovatore' Pires

AGS seems to be generating speech.vox files without me having any speech. I recall a previous post with this problem, but the response to that post implied that one had been dabbling in Pamela, or something. I get the speech-vox even when I compile a Default Game template, surely that can't be right? And since the default game checks for the existence of that file to know whether or not to display a "Text/Voice" option, this can potentially damage some games (by having an "artefact" option that shouldn't be there).

Also, I can set a character's speed to any positive or negative number, but not 0, how come?

Also, little bug in the manual. Entry: SetIdleView.

QuoteNOTE: Due to a quick in AGS, you cannot set the Idle View to view 1. In the unlikely event that you created your idle view in View 1, you'll need to move it to another view number.

I presume you mean quirk. :)
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Shane 'ProgZmax' Stevens

I've had it generate a speech file as well, though it seemed to do so randomly.  I didn't pay much attention to it because it was an empty file (which I discarded), but since Rui brought it up I thought it was worth mentioning as support.

GarageGothic

#57
Quote from: Rui 'Trovatore' Pires on Mon 12/05/2008 00:01:33Also, I can set a character's speed to any positive or negative number, but not 0, how come?

Because 0 would mean not moving at all. Positive numbers are in pixels per loop, so with a speed of 5, the character will move 5 pixels every loop (within the engine's 320x200 grid). Negative numbers are fractions, so a speed of -5 equals 1/5 pixels per loop, so that in 5 loops the character will move one pixel. 0 would either mean not moving at all (when treated as a positive number) or give a divide-by-zero error (when treated as negative).

Rui 'Trovatore' Pires

Then at least a mention in the manual, hmm?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

freshpaint

Bug or feature?

1) Inserting a frame into a loop sometimes puts a cup as a place holder, more often selects a random sprite.  Very confusing, esp. if the sprite selected is close enough to part of an animation that you can get tricked into thinking you put it there yourself.  You can work around it, but it's irritating.

2) In 3.0 you could go back and forth between editing a sprite and replacing it from a file very easily.  Now the sprite is locked so you have to exit everything or else litter the desktop with tons of temporary xfer files or else wait 5 minutes for the graphics program to load to edit the sprite individually.  I can't use the clipboard if I want to make quick fixes to alpha-blended sprites (unless I'm mistaken -- I'm using XP).  Since I'm getting ready to fix a whole bunch of sprites, am not looking forward to this.  (I think someone else brought this subject up).

3) Bug (in 3.01):  Using an alpha sprite in an overlay doesn't seem to work -- puts a black background where transparency should be.

4) (also in 3.01) In zoom mode when editing rooms larger than screen resolution, the block thing you use for walkable areas etc. is off by 1 pixel, and by about 5 pixels in right-click erase mode.

Hope I put these observations in the right thread. FYI, I use XP, and 120 dpi resolution on my monitor with an NVIDIA card. Will produce more info or screen caps if you need them.


Rui 'Trovatore' Pires

Quote1) Inserting a frame into a loop sometimes puts a cup as a place holder, more often selects a random sprite.  Very confusing, esp. if the sprite selected is close enough to part of an animation that you can get tricked into thinking you put it there yourself.  You can work around it, but it's irritating.

New feature, actually. If it's not the first frame, then it selects the next sprite numerically. And this is a wonderful feature!
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

freshpaint

re cup vs sprite:

If you were doing a whole series from scratch in an organized manner, or importing them all in numerical order, I could see it, but I'm doing new development and feeling my way through animations and walk cycles, working on different characters and room objects simultaneously.

Since if you delete a sprite, the next sprite you save gets put in the deleted sprite's numerical slot, I get numerical sequences of different assorted sprites.  It's quite a shock to see completely unrelated objects appear in views.  The cup I understood.

Pumaman

QuoteNo, create a new game with the default game template, not load the demo game.

Ah ok thanks, I can now replicate it and will get it fixed.

QuoteAGS seems to be generating speech.vox files without me having any speech. I recall a previous post with this problem, but the response to that post implied that one had been dabbling in Pamela, or something. I get the speech-vox even when I compile a Default Game template, surely that can't be right?

Hehe yes last time I fobbed you off with the "you must have been using pamela" excuse, but I've re-investigated now and it does indeed always generate a speech.vox, so I'll get that fixed. Thanks ;)

QuoteAlso, I can set a character's speed to any positive or negative number, but not 0, how come?

Well, if you set it to 0 the character wouldn't move, so it's better not to allow it than to have "bug reports" from people saying their character is stuck.

QuoteAlso, little bug in the manual. Entry: SetIdleView.

Hehe thanks, I'll fix that.

Quote1) Inserting a frame into a loop sometimes puts a cup as a place holder, more often selects a random sprite.  Very confusing, esp. if the sprite selected is close enough to part of an animation that you can get tricked into thinking you put it there yourself.  You can work around it, but it's irritating.

It's not a random sprite, it automatically finds the previous frame's sprite in the sprite manager, then picks the next sprite (not numerically next, but next in order in the sprite manager). This is because most people tend to arrange their sprites in the same order as their views, and thus it makes creating views easier (although the Assign To View command is probably faster than doing this anyway).

Quote2) In 3.0 you could go back and forth between editing a sprite and replacing it from a file very easily.  Now the sprite is locked so you have to exit everything or else litter the desktop with tons of temporary xfer files or else wait 5 minutes for the graphics program to load to edit the sprite individually.

This was an unintended side effect of adding the "Replace from last sprite" feature, I'd actually regard it as a bug in .NET.  Regardless, it's something I will look into working around.

Quote3) Bug (in 3.01):  Using an alpha sprite in an overlay doesn't seem to work -- puts a black background where transparency should be.
Quote4) (also in 3.01) In zoom mode when editing rooms larger than screen resolution, the block thing you use for walkable areas etc. is off by 1 pixel, and by about 5 pixels in right-click erase mode.

I'll look into these.

GrogGames

Quote from: subspark on Fri 09/05/2008 02:49:46
No need to be smart. I seem to be a bit confused though. :) What's this screenshot displaying from the Mac thread?
Is this not the editor running on a Mac?

Naturally, I assumed GrogGames was using this version.



Cheers,
Paul.
No, I am using XP with a personalized style called LeopardXP, its very cool


I don't understand why, but I tryed choosing the classic style and returning to the personalized, and it's worked. I don't know if it was the reason or not, but dont worry be happy   ;D

freshpaint

Another alpha channel bug:

Sprite imported with alpha channel shows up with black background in default inventory gui screen.  When you use it, transparency shows just fine. (3.01)

Goldmund

#65
Um... Hello, I guess :-D

CJ, this is a fantastic beta. Simplified Global Variables make it so fast and easy to script now! I only wish they were there three years ago, maybe my game would have been finished by now then...

I also adore the display dialog option thing...

But!

Shouldn't it make the player character Say the selected option if it is marked for saying in the dialog editor?

EDIT:

Also, it seems that it ignores the "Show" option.

GarageGothic

#66
Goldmund!!! My favorite lost AGS forum member! Is this a one-night-only appearance, or should we expect to have you back regularly on the forums? Anyhow, great to see you again! (I would ask how you were doing and about the status of Donna, but I think this is off-topic enough already).

naltimari

Quote from: freshpaint on Wed 14/05/2008 05:15:33
Sprite imported with alpha channel shows up with black background in default inventory gui screen.  When you use it, transparency shows just fine. (3.01)

I guess to use transparency you will have to do a custom inventory GUI with a background which has alpha channel applied to it.

Alpha channels on GUIs are certainly tricky, and their support is confusing (at least to me) at the present time.

I started out a new thread regarding alpha channel sprites on GUIs, because I did not want to clutter this space. I invite everyone which is watching this thread to take a look at it, and share your knowledge!

Pumaman

QuoteI don't understand why, but I tryed choosing the classic style and returning to the personalized, and it's worked. I don't know if it was the reason or not, but dont worry be happy 

I've managed to reproduce your original error, it seems to be a problem you can have if you don't install using the installer, and just copy the files manually (which will always be the case with beta versions). So hopefully nobody should see this when running proper official releases.

(Technical details: the msvcm80/msvcr80.dll files don't seem to get added to the WinSXS cache unless they are placed there by the installer).

QuoteSprite imported with alpha channel shows up with black background in default inventory gui screen.  When you use it, transparency shows just fine. (3.01)

The default inventory screen is buggy in lots of ways and is only really there to allow you to make a "quick-start" game where the basics are provided for you; I strongly recommend creating a custom inventory GUI instead.

QuoteCJ, this is a fantastic beta. Simplified Global Variables make it so fast and easy to script now! I only wish they were there three years ago, maybe my game would have been finished by now then...

Goldmund! Long time no see :)

QuoteShouldn't it make the player character Say the selected option if it is marked for saying in the dialog editor?

Well, it wasn't intended to but I'll make this clearer in the manual. But what do people think ... should the DisplayOptions command obey the "Say" setting, or not?

QuoteAlso, it seems that it ignores the "Show" option.

Hmm I can't replicate this, it seems ok for me. If I disable a couple of options they don't get shown, as expected.

freshpaint

As suggested, I've made a new inventory gui using 0 for background color (per instructions) with alpha sprite as background image (which does odd things to the buttons, I must say!).  All the sprites stored with magenta (non-alpha) in inventory show perfectly on the alpha/transparent background.  Only the sprites uploaded with alpha channel show up with black background.  Have tried a bunch of things to try to fix this.  Will move discussion over to the other thread to avoid clutter here.  Will take a look at the verbcoin template and see if I have the same probems there.  (fyi, I run 800x600 resolution, 120 DPI, direct3d 9 driver, XP service pak 3).


monkey0506

#70
Quote from: Pumaman on Wed 14/05/2008 20:02:16
QuoteShouldn't it make the player character Say the selected option if it is marked for saying in the dialog editor?

Well, it wasn't intended to but I'll make this clearer in the manual. But what do people think ... should the DisplayOptions command obey the "Say" setting, or not?

Perhaps the best route here would be an parameter (perhaps optional?) to control whether the "Say" setting is obeyed or not? That way the end-user would have the option to choose for themselves to obey or disobey the "Say" setting (allowing more customizability).

Goldmund

Um, maybe I shouldn't vote, as a biased party, but why do you need a separate parameter for obeying the "Say" setting, when it would be enough to change the setting from "Say" to "Don't say", or the other way around?

If it's a hassle for people who wanted to use DisplayOptions without player character saying them, the settings can start with "Say" turned off. :-)

monkey0506

Is there a way to change the say setting for dialog options? I imagine giving the user the option of choosing this within the script would make it more customizable.

Lt. Smash

#73
It seems I've found a little bug:
When I use an animated cursor the x and y locations of the cursor's hotspot set in the editor aren't used. I set them to 7,7 but ingame they are 0,0. I had to use the script commands for setting cursors hotspots to get them to 7,7.

[edit] it also seems that an animated wait cursor isn't animated in-game.

Gold Dragon

I've also found this true.. I'm trying to do a Sierra Style animated Hourglass for my Wait icon and nothing happens =( I've set animation to true.  Image to 0 and View to 8 (the view that holds the animated frames) but still nothing =(
Want to see how I am doing and how far I've gotten in my game? Visit my forum  http://www.freepowerboards.com/DragonKnight

Pumaman

QuotePerhaps the best route here would be an parameter (perhaps optional?) to control whether the "Say" setting is obeyed or not?
QuoteUm, maybe I shouldn't vote, as a biased party, but why do you need a separate parameter for obeying the "Say" setting, when it would be enough to change the setting from "Say" to "Don't say", or the other way around?

At the end of the day, I guess it all depends on how you guys end up using the command. Maybe adding an optional parameter would be the best thing to do.

QuoteIs there a way to change the say setting for dialog options? I imagine giving the user the option of choosing this within the script would make it more customizable.

Currently this isn't saved in the save games, so no; and there hasn't been any request for it that I can remember.

QuoteWhen I use an animated cursor the x and y locations of the cursor's hotspot set in the editor aren't used. I set them to 7,7 but ingame they are 0,0. I had to use the script commands for setting cursors hotspots to get them to 7,7.

it also seems that an animated wait cursor isn't animated in-game.

I am unable to replicate either of these things -- I made both my Wait and Walk cursors into animated cursors with its hotspot at (5,14) and they both animated correctly and the hotspot seemed to be correct.

Can you upload something that demonstrates the problem?

monkey0506

Quote from: Pumaman on Sun 18/05/2008 15:56:15
QuoteIs there a way to change the say setting for dialog options? I imagine giving the user the option of choosing this within the script would make it more customizable.

Currently this isn't saved in the save games, so no; and there hasn't been any request for it that I can remember.

It's something I included in my dialog module that I always thought could be useful if anyone ever needed it. An argument I could think of for the ability to change the say-state would be perhaps the dialog option saying for example a full sentence, but then the player being interrupted if they have already used the option before. Perhaps not something many people would use, so maybe it wouldn't be necessary. I think this is where I certainly fall down myself since I've never actually released any games, so my opinions are a bit one-sided.

Pumaman

Well, if there's any real demand for it I can add it to my list, but for now it doens't seem like a priority request.

Anyway, RC 1 is now up. As I said before, 3.0.2 is planned to be quite a quick release cycle, so if no major issues are found hopefully this can move towards a Final release quite soon.

lemmy101

Quote from: Pumaman on Mon 28/04/2008 18:22:53
* Added editor plugin API methods ShowSpriteSelector, SetStatusBarText, Game.Sprites, CreateNewSprite, ChangeSpriteImage

Amazing! :D

Thanks CJ!

/dances

Shane 'ProgZmax' Stevens

#79
Nice work, CJ!  AGS has really made leaps and bounds this year in terms of efficiency, extendability and utility.  With the installers, though, would it be possible to package the audiomanager with the main install?  It's one of those rare plugins that I think everyone has some use for, and right now I have to juggle the plugin files back to the install folder to get them to work each time. 

GarageGothic

I agree that the Audio Manager is an excellent and very useful plugin. I don't know about packaging it with AGS though. If you've followed the thread about automatic lipsync, you'll see that Smiley considers implementing that functionality in the Audio Manager, which would not only have to include Annosofts .exe file (which can be distributed freely), but also need the user to install Microsoft's SAPI 5.1 SDK.

I guess that the plugin could be somehow made to detect the presence of SAPI 5.1 and deactivate the lipsync feature if it isn't available. But in case that's not possible it could create issues for beginners who aren't aware of those dependencies.

JpSoft

I just want add that the standard  game pause (set with PauseGame() and also when a pop-up GUI is called) do not work for everything you have in the global script, rep_exec function, so you need to clarify what you want to continue working or include all the function between the parameters = If (IsGamePaused = 0).

I dont know if this is a bug or not, but it could have a wrong results if you have important things in the rep_exec. When i found this detail i had a lot of hours copying-paste code  :(

Jp

SSH

Not sure why adding "if game is paused return" code to the front of rep_ex requires a lot of copy/pasting...
12

JpSoft

Well, because some stuff i want it working even if the game is paused (scrolling the room, check help files, change options) and other stuff not (is a RTS game, so units cant move when you pause the game, you cant earn money or even move troops)

My fault was that i had all that info mixed and when i founded that i was unable to stop the rep_exec section, i move all the stuff "pausable" into a function called GameInterfaceRuns, which is called everygame cycle from the rep_exec function only when the game is not paused. . I did that just to make more readable the global script since it is very long (+6000 lines until now) but was very tired check all the rep_exec fucnction (as you can imagine, it is really long and complex in a RTS game)

Jp

Pumaman

QuoteWith the installers, though, would it be possible to package the audiomanager with the main install?  It's one of those rare plugins that I think everyone has some use for, and right now I have to juggle the plugin files back to the install folder to get them to work each time. 

I'm in two minds about this. On the one hand I would like to include it, but on the other hand I have to be able to investigate and respond to bug reports about AGS, and by adding the audio manager plugin I would then have to field questions/issues/etc which I would have no power to fix.

Perhaps the best thing would be to add a "Recommended plugins" section to the download page that people would see when downloading AGS.

QuoteI just want add that the standard  game pause (set with PauseGame() and also when a pop-up GUI is called) do not work for everything you have in the global script, rep_exec function, so you need to clarify what you want to continue working or include all the function between the parameters = If (IsGamePaused = 0).

This has always been the case, and is by design.

However, perhaps the default game template should be modified to add a comment to the rep_exec method mentioning how this works.

GarageGothic

#85
I think I discovered a bug in the DrawingSurface.GetPixel function. If I use it on a DrawingSurface retrieved from a sprite image, or a clean DynamicSprite where a sprite has been drawn with DrawImage, it works fine and returns the correct color.

However, if I use GetPixel on a pixel that I have drawn myself using DrawPixel (also Clear and DrawRectangle, probably all pixel drawing functions), the color returned is a ludicrously large negative number.

I'm writing a graphical toolset for my light/scale-map module, and obviously it needs to be able to repeatedly read/process/draw from and to the same pixel. I've been troubleshooting my code for the last hour before tracking it down to this issue. I hope it can get fixed for the next beta, because it's halting development on the module. Thanks.

Edit: An example. When using this code:

Code: ags

        int x = mouse.x;
        int y = mouse.y;
        int beforecolor = paintsurface.GetPixel(x, y);
        Display("pixel color: %d",beforecolor);
        paintsurface.DrawingColor = beforecolor;
        paintsurface.DrawPixel(x, y);
        Display("pixel color: %d",paintsurface.GetPixel(x, y));


The first Display message will return 59260 (the color of the original sprite), then we draw a pixel using the same color. At most we should expect a slight degradation in tonal range due to AGS' 16-bit values, but while the pixels look identical on-screen, the second GetPixel command returns -1642778. Should we try to draw anything using that negative value, it will be invisible, and the value is unusable for processing RGB data.
I should add that it doesn't make any difference whether or not you Release a drawingsurface in-between writing and reading the pixel values. I've only tested this in a 32-bit game using HiRes coordinates for the DrawingSurfaces.

freshpaint

Bug 3.02 RC 1

The animate feature in the "view" selection doesn't flip frames.

Otherwise, everything I've tried so far is working nicely.

Shane 'ProgZmax' Stevens

#87
The animate 'feature' has never flipped frames; though functionality in 2.72 allowed you to click below a frame to flip it, that ability was moved to the property list for the frame in 3.0.  CJ recently added the 'f' shortcut for quickly flipping frames that are the focus, so use that. :)

freshpaint

re animation:

What I meant is that the animation doesn't pick up the flip settings you've set, so the resulting animation isn't terribly useful.

Pumaman

#89
QuoteHowever, if I use GetPixel on a pixel that I have drawn myself using DrawPixel (also Clear and DrawRectangle, probably all pixel drawing functions), the color returned is a ludicrously large negative number.

Thanks for the report, I'll look into it.

QuoteBug 3.02 RC 1
The animate feature in the "view" selection doesn't flip frames.
What I meant is that the animation doesn't pick up the flip settings you've set, so the resulting animation isn't terribly useful.

I can't reproduce this. What I did was this:

Open up a character view, where Loop 1 had all its frames set Flipped=True, and Loop 2 has the same frames but set as Flipped=False.

I ticked the "Show Preview" button and then ticked "Animate", and changed the Loop to 1. It correctly animated showing the frames flipped. I then changed the Loop to 2 and it correctly showed them un-flipped.

Can you post the steps that you took to get this problem?

Quote
QuoteWhen I use an animated cursor the x and y locations of the cursor's hotspot set in the editor aren't used. I set them to 7,7 but ingame they are 0,0. I had to use the script commands for setting cursors hotspots to get them to 7,7.

it also seems that an animated wait cursor isn't animated in-game.

I am unable to replicate either of these things -- I made both my Wait and Walk cursors into animated cursors with its hotspot at (5,14) and they both animated correctly and the hotspot seemed to be correct.

Can you upload something that demonstrates the problem?

LT Smash / Gold Dragon: can you please reply and confirm whether this is actually a problem or not?

GarageGothic

#90
Could the "General definitions" scrolldown menu please be longer and/or have a scrollbar on the side? It's annoying that only some of the functions in your script show up.

Ah, never mind. It seems that it's just functions that are called on pointers that are not listed unless you import them. I guess this is as designed.

Goldmund

You are a true friend, mr Puma, and a great implementor!
Thank you for the Say!
Thank you for the Say!

freshpaint

http://img.photobucket.com/albums/v211/cmkinchi/AGS/anibug.png

Hope this shows the problem.  This is a view created using 3.0.  I upgraded to 3.01, and now to 3.02 rc1.

Lt. Smash

Quote from: Pumaman on Wed 21/05/2008 19:35:35
Quote
QuoteWhen I use an animated cursor the x and y locations of the cursor's hotspot set in the editor aren't used. I set them to 7,7 but ingame they are 0,0. I had to use the script commands for setting cursors hotspots to get them to 7,7.

it also seems that an animated wait cursor isn't animated in-game.

I am unable to replicate either of these things -- I made both my Wait and Walk cursors into animated cursors with its hotspot at (5,14) and they both animated correctly and the hotspot seemed to be correct.

Can you upload something that demonstrates the problem?

LT Smash / Gold Dragon: can you please reply and confirm whether this is actually a problem or not?

it seems I had some code setting the cursors sprite. It works now.

TwinMoon

#94
First of all: Great work on all the updates! I'm seeing a lot of new features I can't wait to try. But you already know everyone here loves you, right? ;)

When I start the editor, it crashed on me during the splashscreen with the same error screen GrogGames had (page two of this thread).
I updated .Net 3.0 to 3.5 and now it works. So it seems a minimum requirement for AGS is dotnetframework version 3.5.

EDIT: Well, at least in XP, since that's what I'm using.

Pumaman

QuoteAh, never mind. It seems that it's just functions that are called on pointers that are not listed unless you import them. I guess this is as designed.

I'm not really sure what you mean by this, but ok!!

QuoteYou are a true friend, mr Puma, and a great implementor

I sense no danger for you, sir. Have a nice day!

QuoteHope this shows the problem.  This is a view created using 3.0.  I upgraded to 3.01, and now to 3.02 rc1.

I wasn't able to reproduce this for ages, then I finally worked out that it only happens if the sprites are large so that the preview window has to scale them down. I'll look into a fix.

QuoteWhen I start the editor, it crashed on me during the splashscreen with the same error screen GrogGames had (page two of this thread).

Hmm, is this RC 1? It's a bit worrying if this can happen with the installer version.

QuoteI updated .Net 3.0 to 3.5 and now it works. So it seems a minimum requirement for AGS is dotnetframework version 3.5.

That's definitely not the case, I don't even have .net 3.5 installed. But probably the installation of 3.5 installs something else that has fixed it.

freshpaint

You are too quick!  I was about to edit and tell you that the reason I rarely use the animate option by clicking on the character screen is that most of my sprites are larger than about 200 pixels, and the animate feature cuts off their legs!

TwinMoon

This was with the installer.

Quote from: Pumaman on Thu 22/05/2008 20:15:38That's definitely not the case, I don't even have .net 3.5 installed. But probably the installation of 3.5 installs something else that has fixed it.

It must have. It's pretty weird.
I installed the dotnet framework when AGS 3.0 was released - I don't use it for anything else. I definitely didn't fidget with it. I "repaired" 3.0 which according to Microsoft resets it. AGS 3.0.1 didn't work.

But after I installed 3.5 I could remove 3.5 AND 3.0 and RC 1 still works.
Maybe I didn't do the full installation the last time or something.

GarageGothic

Quote from: Pumaman on Thu 22/05/2008 20:15:38
QuoteAh, never mind. It seems that it's just functions that are called on pointers that are not listed unless you import them. I guess this is as designed.
I'm not really sure what you mean by this, but ok!!

I mean that the general definitions dropdown in the script window only lists basic functions. Any extender function such as  "function FloodFill(this DrawingSurface*, int x, int y, int color, bool outline)" won't be in the list. Yesterday, when I wrote this, I thought it was because I didn't import them in the module header, but that doesn't seem make any difference. Any chance the dropdown menu could also support extender functions?

Gold Dragon

Pumaman.... as for the cursor not animating is this.

When I use the code 'while (!WaitMouseKey(1)) {}' I get a wait cursor but it doesn't animate. But when there is a function that has eBlocking like 'player.walk(4,6,eBlock);' it does animate

is this a bug?
Want to see how I am doing and how far I've gotten in my game? Visit my forum  http://www.freepowerboards.com/DragonKnight

monkey0506

Gold Dragon I think the problem here is that the cursor is being reset to eModeWait every single loop, so it never gets a chance to animate. Maybe the best option here would be to manually animate it by keeping track of the current graphic with an int variable and then using mouse.ChangeModeGraphic.

Ghost

I just downloaded and installed- and can't run 3.0.2! I get the error message about "application not being able to run..." that I once got when I installed 3.0 on a computer without Net2- but this time, I have Net 2 installed, 3.0.1 runs flawlessly, and so I am a bit baffled.

Shocked, for sure.

After I click away the error message, the welcome screen stays on my desktop, too, without any sign of AGS running. Clever lad that I am, I tried to copy the 0.2 files into my 0.1 folder to see what happens- the very same error message, the very same sticky welcome screen.

So, Chris, I am a numbers maniac. I cannot LIVE without only the LATEST, FRESHEST AGS version on my computer. What am I doing wrong, and how to fix it?

Lt. Smash

Quote from: monkey_05_06 on Fri 23/05/2008 06:16:15
Gold Dragon I think the problem here is that the cursor is being reset to eModeWait every single loop, so it never gets a chance to animate. Maybe the best option here would be to manually animate it by keeping track of the current graphic with an int variable and then using mouse.ChangeModeGraphic.
yes that's what I did. And the problem is exactly as you said.

lemmy101

Quote from: Ghost on Fri 23/05/2008 06:42:07
I just downloaded and installed- and can't run 3.0.2! I get the error message about "application not being able to run..." that I once got when I installed 3.0 on a computer without Net2- but this time, I have Net 2 installed, 3.0.1 runs flawlessly, and so I am a bit baffled.

Doesn't 3.0.2 need .NET 3.5?

TwinMoon

Quote from: Ghost on Fri 23/05/2008 06:42:07
I get the error message about "application not being able to run..." that I once got when I installed 3.0 on a computer without Net2- but this time, I have Net 2 installed, 3.0.1 runs flawlessly, and so I am a bit baffled.

Sounds like you have the same problem I did.

The solution on my computer was to install 3.5. You can remove it afterwards, I'm running it with only 2.0 now.

Pumaman

QuoteIt must have. It's pretty weird.
I installed the dotnet framework when AGS 3.0 was released - I don't use it for anything else. I definitely didn't fidget with it. I "repaired" 3.0 which according to Microsoft resets it. AGS 3.0.1 didn't work.

But after I installed 3.5 I could remove 3.5 AND 3.0 and RC 1 still works.
Maybe I didn't do the full installation the last time or something.

Ok, I've finally figured out what was causing some people to get that error message on startup (it involves WinSxS and VC++ CRT distribution, nasty stuff).

I'll include a fix in the next release.

QuoteI mean that the general definitions dropdown in the script window only lists basic functions. Any extender function such as  "function FloodFill(this DrawingSurface*, int x, int y, int color, bool outline)" won't be in the list

Thanks, I'll look into this.

QuoteWhen I use the code 'while (!WaitMouseKey(1)) {}' I get a wait cursor but it doesn't animate. But when there is a function that has eBlocking like 'player.walk(4,6,eBlock);' it does animate

As monkey_05_06 says, this is because you keep restarting the wait animation by using (1). Try something like this instead:

while (!WaitMouseKey(1000)) {}

QuoteI just downloaded and installed- and can't run 3.0.2! I get the error message about "application not being able to run..." that I once got when I installed 3.0 on a computer without Net2- but this time, I have Net 2 installed, 3.0.1 runs flawlessly, and so I am a bit baffled.

I presume the error was the same as the one GrogGames and TwinMoon reported? If so as I've mentioned above, I'll include a fix in the next release.

QuoteDoesn't 3.0.2 need .NET 3.5?

As I said earlier, AGS only requires .NET 2.0. However, when you install 3.5 it happens to also install a newer version of the VC80CRT files which makes this problem go away. Therefore it is a valid workaround.

Please don't all go and install 3.5 though, because I'll include a fix for this in the next version and I'll need somebody to still be having the problem in order to test if it's fixed!!! :)

kookaburra

I noticed something in the demo game that I'm not sure if it's a demo game or 302 rc1 problem.

I've just installed 302rc1 (fresh install of AGS on a PC), and started the demo game. Reducing the music volume right down does not turn off the music, shouldn't it turn it off? Also, the main volume slider doesn't do anything. Hopefully someone who has had more than 5 minutes experience with AGS can tell whether it's a AGS or an implementation issue.

Sorry if it's actually an implementation shortfall.

freshpaint

#107
3.0.2 rc1 bug

more alpha channel stuff (sorry!)

SOLVED, SORTA (by reimporting sprites -- see below) BUG 1:
All the buttons I created with 3.01 and saved without an alpha channel to use on the iconbar show up differently than the button I created with 3.02.  When I set the background of the iconbar to a plain 30%  transparency stored as a sprite and assigned to the background image in the gui properties panel, the buttons (aka sprites) created under 3.01 gray out correctly (under "classic" mode ONLY), the one saved under 3.02 doesn't.  It appears full color.  (FYI I can't make "additive" mode work with the icon bar at all right now.) (I am using 32 bit color, 800 x 600 mode).

SOLVED!(my stupidity) BUG 2:
Also, since I don't want to save a huge transparency as a sprite, I wanted to use a dynamic sprite to resize it.  I put the following in game_start():

DynamicSprite *icon_sprite = DynamicSprite.CreateFromExistingSprite(85, true); //85 is slot for the transparency sprite
icon_sprite.Resize(800, 60);
gIconbar.BackgroundGraphic = icon_sprite.Graphic;

When I run, the only thing that shows up is a blue cup in the upper left corner at 0,0 with my buttons floating on 100% transparency.

I've moved this code around all over, but can't seem to get rid of the blue cup. The dynamic sprite is being created and being assigned a slot number (I can display it, and in all other ways it acts like a normal dynamic sprite) -- so why can't I use it as a background?


As to the button, this is the first button I've saved under 3.02, so am wondering what's up.  I can see no difference in properties, size, or characteristics in any of the properties panels.

GarageGothic

freshpaint: I believe the reason you're getting a bluecup is that you declare DynamicSprite *icon_sprite inside game_start. That means as soon as the function has finished running, the DynamicSprite is deleted. Instead, declare:

Code: ags
DynamicSprite* icon_sprite;
outside the function (e.g. at the top of the global script), and then in the game_start, you set:

Code: ags
icon_sprite = DynamicSprite.CreateFromExistingSprite(85, true);


That way the DynamicSprite pointer should remain managed and not turn into a bluecup.

freshpaint

#109
garage:  you are exactly right.

face is red.  I just copied lines from the manual without thinking.  Cup disappears, but other problems still remain for me.  Will continue investigating.

UPDATE: button problem -- solved, sorta.  Reimported my pre-3.02 sprites and so appears to work under both classic and additive modes -- had to goose down the transparency level a lot on the new button and resave so they're all even.  I'm not wild about how result fits in with my overall game design now -- but that's a completely different issue!

UPDATE2: Iconbar works fine, but can't make text gui corners go transparent in either additive or classic mode using same sprites that work on the icon bar, with sprite imported pre 3.02 or in 3.02.  With background 0, backgroundgraphic set to my transparent sprite, center shows up exactly the same way (completely transparent) regardless of render mode.  Corners show up black.  So very confused.



Ghost

Quote from: Pumaman on Fri 23/05/2008 19:59:43
Please don't all go and install 3.5 though, because I'll include a fix for this in the next version and I'll need somebody to still be having the problem in order to test if it's fixed!!! :)

Agreed, I'll keep my 2.0-ness state then, and report back should the fix work. I'm very curious about the new dialog stuff!

Electroshokker

I thought it was a good idea to review some of my game's dialogs, so I tried to create a voice acting script.

Next thing I know, I get the following error:

Unknown character name: layer

Now, I use player.Say() a lot in my game, so I believe it's related to that.

I suspect since player isn't defined as a character, the export script blocks on it. Maybe you could define player as an internal character named "player"?

(and no, there's no layer.Say anywhere in my code)

Pumaman

QuoteI've just installed 302rc1 (fresh install of AGS on a PC), and started the demo game. Reducing the music volume right down does not turn off the music, shouldn't it turn it off? Also, the main volume slider doesn't do anything. Hopefully someone who has had more than 5 minutes experience with AGS can tell whether it's a AGS or an implementation issue.

Yeah the "main volume" slider is confusingly named, it's actually the Digital Volume slider, and since the music is MIDI music it doesn't have any effect on it. It should adjust the volume of sound effects, though.

QuoteUPDATE2: Iconbar works fine, but can't make text gui corners go transparent in either additive or classic mode using same sprites that work on the icon bar, with sprite imported pre 3.02 or in 3.02.  With background 0, backgroundgraphic set to my transparent sprite, center shows up exactly the same way (completely transparent) regardless of render mode.  Corners show up black.  So very confused.

Could you post a screenshot or sample game of the problem you're having, it's quite hard to understand from a text description.

QuoteAgreed, I'll keep my 2.0-ness state then, and report back should the fix work. I'm very curious about the new dialog stuff!

Ok, please could you try RC 2. Hopefully this should fix the crash some people have been getting on startup.

QuoteNext thing I know, I get the following error:

Unknown character name: layer

Thanks for spotting this, it should be fixed in RC 2.

freshpaint

Thank you SO much for fixing the "exclude rooms" problem -- the exe lost more than half its weight, so have uploaded a smaller version of the Darkdevil County demo (check the in production thread for more details).

Will try to come up with a simple example of my "corners" problem soon.

Gold Dragon

ok I have a very simple request that I believe should be very easy to implement.

I'm trying to make an On Off button. and I would like to be able to change the image of the button to On and Off graphics. But 'Button::Graphic' is read-only. Could you make this a get and set function like you have for so many other functions?
Want to see how I am doing and how far I've gotten in my game? Visit my forum  http://www.freepowerboards.com/DragonKnight

SSH

12

freshpaint

The assorted snippets below show the following: the transparent (30% blue) alpha png I'm using (easier to see than just black).  I imported it using "entire" and alpha channel today, with 3.02RC2, as sprite 84.  I assigned sprite 84 to GUI4 background image and the same sprite to each of the corners. The result -- a completely transparent center of the gui, and opaque expanded borders.  It looks the same whether compiled in "classic" or "additive" mode.



Here is the png itself, if you need to grab it: (it's 8 pixels wide, reported as 4 pixels in the editor).



I'm sorry I wasn't very clear earlier. 

Gold Dragon

Ahhh ok Thx SSH  *scratches head*  ;D ;D *quickly makes his exit trying not to look too stupid* LOL
Want to see how I am doing and how far I've gotten in my game? Visit my forum  http://www.freepowerboards.com/DragonKnight

Dualnames

Well this is for the already dowloadable via Download AGS page. Ags version 3.01 rar file. Ok I downloaded it opened the game via  it and guess what. Well it doesn;t work. What changes so much between two versions(I use ags 3.0) that actually don't allow me to click.

More info:
In my game you click on the screen(very first room) and a gui pops up.
This actually never failed to work right.

So then i open it using AGS 3.01 and nope can't interpret mouse clicks..
So?
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)

GarageGothic

#119
Argh, when I create a new View folder in the latest AGS version, I cannot rename it nor view the content. Whenever I try I get this error:

QuoteError: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'.
Version: AGS 3.0.2.40

System.Exception: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'. ---> System.InvalidCastException: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'.
   at AGS.Editor.Components.ViewsComponent.ProjectTree_OnAfterLabelEdit(String commandID, ProjectTreeItem treeItem)
   at AGS.Editor.ProjectTree.AfterLabelEditHandler.Invoke(String commandID, ProjectTreeItem treeItem)
   at AGS.Editor.ProjectTree.projectTree_AfterLabelEdit(Object sender, NodeLabelEditEventArgs e)
   --- End of inner exception stack trace ---
   at AGS.Editor.ProjectTree.projectTree_AfterLabelEdit(Object sender, NodeLabelEditEventArgs e)
   at System.Windows.Forms.TreeView.OnAfterLabelEdit(NodeLabelEditEventArgs e)
   at System.Windows.Forms.TreeView.TvnEndLabelEdit(NMTVDISPINFO nmtvdi)
   at System.Windows.Forms.TreeView.WmNotify(Message& m)
   at System.Windows.Forms.TreeView.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)

Edit: It seems that the new folder doesn't have a number either. At least none visible, and it is moved to the top of the list. Also, I can rename already existing folders without problems.

Edit 2: I came across another, unrelated problem while testing the wonderful new lipsync feature of Smiley's audio manager plugin. There seems to be a timing issue in AGS when using Pamela lipsync (unsupported feature, I know, but I thought I might as well mention it) with mp3 files (encoded in Audacity using LAME 3.97 codec). When using .wav and .ogg files, everything works fine. But when using .mp3 format, the playback framerate of the animation drops to 3-4 fps (actual game framerate never dips below 40). This happens even when using a  copy of the .pam file which works great for .ogg and .wav format. Perhaps the millisecond timings are somehow retrieved incorrectly from the .mp3 file, or maybe some are being skipped?

Pumaman

#120
QuoteThe assorted snippets below show the following: the transparent (30% blue) alpha png I'm using (easier to see than just black).  I imported it using "entire" and alpha channel today, with 3.02RC2, as sprite 84.  I assigned sprite 84 to GUI4 background image and the same sprite to each of the corners. The result -- a completely transparent center of the gui, and opaque expanded borders.  It looks the same whether compiled in "classic" or "additive" mode.

Ah ok thanks, I'm not sure whether alpha transparency works with text windows -- I'll look into it.

QuoteMore info:
In my game you click on the screen(very first room) and a gui pops up.
This actually never failed to work right.

So then i open it using AGS 3.01 and nope can't interpret mouse clicks..

Uh ... can you provide more information or post an example? I'm really not sure what you're saying here.

QuoteArgh, when I create a new View folder in the latest AGS version, I cannot rename it nor view the content. Whenever I try I get this error:

Thanks for spotting that, looks like the bug got introduced with RC1. I'll get it fixed.

QuoteThere seems to be a timing issue in AGS when using Pamela lipsync (unsupported feature, I know, but I thought I might as well mention it) with mp3 files (encoded in Audacity using LAME 3.97 codec). When using .wav and .ogg files, everything works fine. But when using .mp3 format, the playback framerate of the animation drops to 3-4 fps (actual game framerate never dips below 40). This happens even when using a  copy of the .pam file which works great for .ogg and .wav format. Perhaps the millisecond timings are somehow retrieved incorrectly from the .mp3 file, or maybe some are being skipped?

EDIT: actually now that I think about it, I seem to remember this being reported before. It's because the MP3 decoder decodes a (for example) 0.25 second chunk of audio and then plays it, so AGS can only get the current position to the nearest 0.25 seconds.

There's no realistic fix for this, other than moving to OGG instead.

GarageGothic

Quote from: Pumaman on Tue 03/06/2008 20:39:00There's no realistic fix for this, other than moving to OGG instead.

I see, no problem then, OGG is the superior format anyway. It should be mentioned in the Pamela section of the help file though. I would never have figured it out without trying all formats.

Dualnames

Chris, guess. I've messed it up. Well, there's a part at global script header that does this *////

i had this in my header above it */
In AGS 3.0 it didn;t get commented hoever in AGS 3.01 you changed into */ i guess so it gets commented and all the global script doesn;t work. So I fixed it.
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)

Pumaman

Hmm would you be able to upload the script that caused that? I'd like to be able to check it to see whether 3.0 or 3.0.1 is functioning correctly.

Ghost

Just a quick note- new version works fine! Thanks CJ!

Pumaman


monkey0506

As best I can tell this is a recent bug, but I can't verify which version of AGS it began occurring in. Of course it could be argued that $AUTOCOMPLETEIGNORE$ was never intended for general consumption, but it has been presented as a method of making autocomplete ignore things like struct members. If I try to ignore a member function I get the following error:

QuoteError: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Version: AGS 3.0.2.40

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at AGS.Editor.AutoComplete.ConstructCache(Script scriptToCache, Boolean isBackgroundThread)
   at AGS.Editor.ScriptEditor.SaveChanges()
   at AGS.Editor.Components.ScriptsComponent.BeforeSaveGame()
   at AGS.Editor.ComponentController.NotifyAboutToSaveGame()
   at AGS.Editor.ApplicationController._agsEditor_PreSaveGame(PreSaveGameEventArgs evArgs)
   at AGS.Editor.AGSEditor.PreSaveGameHandler.Invoke(PreSaveGameEventArgs evArgs)
   at AGS.Editor.AGSEditor.SaveGameFiles()
   at AGS.Editor.Components.BuildCommandsComponent.CompileGame(Boolean forceRebuild)
   at AGS.Editor.Components.BuildCommandsComponent.CommandClick(String controlID)
   at AGS.Editor.ToolBarManager.ToolbarEventHandler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripButton.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.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.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)

Following the error I actually got the code to compile, but then when I saved and reopened my game I got the same error and AGS exited. The Game.agf.bak file made no difference since the offending line was in one of the scripts. I only managed to save the project by manually editing the AGF file in Wordpad, removing the script, then pasting the lines back in one at a time to find the offender.

I'll be limiting the module to 3.0.2 anyway for other reasons so I can use an extender method instead, but I thought I'd let you know.

Shane 'ProgZmax' Stevens

Another new bug.  When I try to create a new folder in the view list I get this message:

QuoteError: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'.
Version: AGS 3.0.2.39

System.Exception: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'. ---> System.InvalidCastException: Unable to cast object of type 'AGS.Types.ViewFolder' to type 'AGS.Types.View'.
   at AGS.Editor.Components.ViewsComponent.ProjectTree_OnAfterLabelEdit(String commandID, ProjectTreeItem treeItem)
   at AGS.Editor.ProjectTree.AfterLabelEditHandler.Invoke(String commandID, ProjectTreeItem treeItem)
   at AGS.Editor.ProjectTree.projectTree_AfterLabelEdit(Object sender, NodeLabelEditEventArgs e)
   --- End of inner exception stack trace ---
   at AGS.Editor.ProjectTree.projectTree_AfterLabelEdit(Object sender, NodeLabelEditEventArgs e)
   at System.Windows.Forms.TreeView.OnAfterLabelEdit(NodeLabelEditEventArgs e)
   at System.Windows.Forms.TreeView.TvnEndLabelEdit(NMTVDISPINFO nmtvdi)
   at System.Windows.Forms.TreeView.WmNotify(Message& m)
   at System.Windows.Forms.TreeView.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)


It still allows me to create folders but I get the message again when I try to rename them.

Dualnames

Quote from: Pumaman on Wed 04/06/2008 20:20:56
Hmm would you be able to upload the script that caused that? I'd like to be able to check it to see whether 3.0 or 3.0.1 is functioning correctly.

Well,ok here have it:
global script header version 3.0

/*
*/
////*Int_Global variable..gibber gibber

global script header version 3.01

/*
*/
/*Int_Global variable..gibber gibber

So you notice that with the /* the whole global script gets commented accidentally.
That's why the mouse clicks weren't working..
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)

Shane 'ProgZmax' Stevens

#129
Another issue after creating a new 320x240x16 bit project in 3.0.2.39:

http://members.cox.net/progzmax/weird.gif

I get these weird room dimensions before even loading a room (618x209?).  When I load a 320x240 background it doesn't resize the room to fit it, either.

Another issue I've noticed is that the room coordinates screw up when you zoom.  Each zoom level seems to alter them by some value.  For instance, at 1x zoom the lower right corner is 618x210.  At 2x zoom it's 337x210, 3x is 229x199 and so on.

I also noticed (and I might be wrong) but suddenly, if you have a music0 file you cannot prevent rooms from playing it.  All my rooms were set at 0 by default (off) but they played the music anyway.  I even tried setting it to -1 and that didn't alter it, so I tested it by changing the filename to music1 and it stopped playing.

I pretty much have to revert back to an earlier build.



Pumaman

QuoteAs best I can tell this is a recent bug, but I can't verify which version of AGS it began occurring in. Of course it could be argued that $AUTOCOMPLETEIGNORE$ was never intended for general consumption, but it has been presented as a method of making autocomplete ignore things like struct members. If I try to ignore a member function I get the following error:

Thanks for spotting this, I'll get it fixed.

QuoteAnother new bug.  When I try to create a new folder in the view list I get this message:

Thanks -- though this has already been reported and will be fixed for the next version.

Quote/*
*/
////*Int_Global variable..gibber gibber

global script header version 3.01

/*
*/
/*Int_Global variable..gibber gibber

So you notice that with the /* the whole global script gets commented accidentally.
That's why the mouse clicks weren't working..

Which of these was causing the problem? The first one works fine for me with 3.0.2, and the second one comments out the rest of the script as expected?

QuoteAnother issue after creating a new 320x240x16 bit project in 3.0.2.39:

http://members.cox.net/progzmax/weird.gif

I get these weird room dimensions before even loading a room (618x209?).  When I load a 320x240 background it doesn't resize the room to fit it, either.

This looks normal to me -- it's just that the displayed co-ordinates aren't constrained to the size of the room, so if you move the mouse past the edge of the room area you'll get that. I think it's been like that all along in v3.0, but I can see that it could be confusing so I'll change it to not display co-ordinates if they're outside the room area.

QuoteI also noticed (and I might be wrong) but suddenly, if you have a music0 file you cannot prevent rooms from playing it

Music 0 is automatically played when you start the game. This has always been the case in AGS -- if you don't want it, then just don't name any music as Music 0.

Shane 'ProgZmax' Stevens

QuoteI think it's been like that all along in v3.0


The coordinates maybe, but not the size of the room area itself.  I only recently switched from 3.0.1 to 3.0.2 and I never had this:

http://members.cox.net/progzmax/waytoowide.gif


The image at the left side of the room is 320x240, and this is a brand new empty game created in the latest AGS at 320x240x16.  Additionally, whenever I create rooms they start at a zoom factor of 2 rather than 1.  Neither of these happen in 3.0.1, and hopefully this image will clear this up.



G33K

Hi folks. Newcomer question here. I'm having trouble running AGS 3.0.2 RC1. When I try to start the program, it aborts after the splash screen with the following error message:

Quote
An unexpected error occurred trying to start up the AGS Editor. Please consult the details below and post the error to the AGS Technical Forum.

System.IO.FileLoadException: Could not load file or assembly 'AGS.Native, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
File name: 'AGS.Native, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' ---> System.Runtime.InteropServices.COMException (0x800736B1): This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
  at AGS.Editor.NativeProxy..ctor()
  at AGS.Editor.ApplicationController..ctor()
  at AGS.Editor.Program.startupTimer_Tick(Object sender, EventArgs e)
  at System.Windows.Forms.Timer.OnTick(EventArgs e)
  at System.Windows.Forms.Timer.TimerNativeWindow.WindProc(Message& m)
  at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I am running Windows XP Professional, Version 2002 SP2. I am pretty confident that I have purged any previous AGS versions from the system. When I reinstall AGS 3.0.1 it runs smoothly.

I have tried to run AGS 3.0.2 RC1 on another machine with a different version of XP Professional, where I got the same error. I've searched the forums and this thread, but couldn't find anything related to this problem. I am new to AGS, however. Did I miss something out?

(If this is not the right thread, please move/remove this post.)

Pumaman

QuoteThe coordinates maybe, but not the size of the room area itself.  I only recently switched from 3.0.1 to 3.0.2 and I never had this:

http://members.cox.net/progzmax/waytoowide.gif

I think the background colour outside of the room area might have changed from grey to black as a result of a fix for something, I'll see if I can change it back so that it's more obvious where the actual room area is.

Quote from: G33K on Sun 08/06/2008 20:11:52
Hi folks. Newcomer question here. I'm having trouble running AGS 3.0.2 RC1. When I try to start the program, it aborts after the splash screen with the following error message:

This was a bug in RC 1 and is fixed in RC 2.

Shane 'ProgZmax' Stevens

Alright then, I apologize.  I was sure it was some sort of bug due to the abnormally large area and the coordinates going well beyond my actual room size :).

I would say that I don't remember ever having an issue with music0 always playing in older versions, though; in fact, to quote the tool-tip:

QuoteIf non-zero, this music number will be played when the player enters the room.

I definitely think it should work how the tool-tip explains it should, though in this case it would have to play the current number entered - 1. 

Pumaman

Quote from: ProgZmax on Sun 08/06/2008 23:42:38
I would say that I don't remember ever having an issue with music0 always playing in older versions, though; in fact, to quote the tool-tip:

If non-zero, this music number will be played when the player enters the room.

This correctly describes the behaviour. It's not you entering the room that causes Music 0 to play -- it is played automatically just before game_start runs when the game starts up. It's nothing to do with you entering any particular room, and if you used PlayMusic(5) or something, then entered that room, it wouldn't switch back to Music 0.

Shane 'ProgZmax' Stevens


Dualnames

Found a bug with AGS 3.02 RC 2..
Well, if you create an empty game and then import a sprite(empty sprite with transparency on) replacing sprite 0 and crop its edges then save quit and try to open it you get a line of errors something to do about that sprite dimension. Try and recreate it.
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)

Pumaman

Thanks for spotting that -- if you try to Crop a totally transparent sprite the editor gets confused.

This is now fixed in the Final release, which is now available.
Barring any major bugs, this should become the official release of 3.0.2 in a few days time.

Electroshokker

Quote from: Pumaman on Tue 10/06/2008 21:38:15
Thanks for spotting that -- if you try to Crop a totally transparent sprite the editor gets confused.

This is now fixed in the Final release, which is now available.
Barring any major bugs, this should become the official release of 3.0.2 in a few days time.


Since I didn't spot it in the release notes, I thought I might mention that SCUMM VERBCOIN GUI v1.5.4 has been up a while now; You might want to include the updated template  ;)

Great job with all the improvements and fixes!

skuttleman

AGS 3.0.2.41

This isn't so much a bug as it is a pain in the ass, but when I'm typing in a script (seems to be any script) and I'm in some function, I'll type a line or two and then the drop down box at the top will switch to "(general definitions)" and autocomplete stops working altogether. I know I'm not typing outside the function, because it all compiles fine. The only way to get autocomplete to start working again (that I have found) is to close the module or global script or room script, and reopen it. Then it'll let me type a line or two of code and ..... repeat ad infinitum.

Is that something that can be fixed?

monkey0506

#141
If you have more than one tab opened at once you can just switch tabs, so long as you're not editing multiple scripts at once (i.e., a header and the script) in which case you would have to save the script.

The reason behind this is that the autocomplete cache only gets updated at certain intervals. This also affects the drop-down list of functions. CJ has tried to come up with a means to accommodate for the changing of the scripts, but updating the entire autocomplete cache every time a character gets typed could cause a lot of slowdown...probably to the point of making typing your scripts impossible!

Shane 'ProgZmax' Stevens

#142
A minor thing:

if you select bool from the new global variable creator, entering in a value of 0 yields:

'The default value '0' is not valid for this type of variable.  Please try again'

XD

Edit:  I can't seem to get POPUPMODAL to work to freeze my game during the intro sequence (just a series of Waits and animations).  The gui is designed to allow you to skip the intro, but the intro plays regardless of what I try while the gui just sits there as the game continues from screen to screen.  I even went so far as to run PauseGame() after the gui is open and it does absolutely nothing (popupmodal should run pausegame anyway).  Every time I try to access it the debugger just says 'game blocked'.  I've tried starting the gui from repeatedly_execute with a keypress (and without) and in the repeatedly_execute of each room of the intro.

Something is definitely strange.


skuttleman

Quote from: monkey_05_06 on Fri 13/06/2008 01:19:52
If you have more than one tab opened at once you can just switch tabs
OK. Thanks.

Quote from: ProgZmax on Fri 13/06/2008 02:12:13
'The default value '0' is not valid for this type of variable.  Please try again'

typing out the word "true" or "false" works for me on booleans.

Cino

Quote from: ProgZmax on Fri 13/06/2008 02:12:13
Edit:  I can't seem to get POPUPMODAL to work to freeze my game during the intro sequence (just a series of Waits and animations).  The gui is designed to allow you to skip the intro, but the intro plays regardless of what I try while the gui just sits there as the game continues from screen to screen.  I even went so far as to run PauseGame() after the gui is open and it does absolutely nothing (popupmodal should run pausegame anyway).  Every time I try to access it the debugger just says 'game blocked'.  I've tried starting the gui from repeatedly_execute with a keypress (and without) and in the repeatedly_execute of each room of the intro.

I struggled with a similar thing some time ago, but finally found a solution:
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=33286.0

Shane 'ProgZmax' Stevens

#145
Yeah, I know you can work around it, I just found it odd that popupmodal doesn't follow this behavior already.  I've never really needed it until now, which is why I didn't discover it earlier :).  Also, that method is not compatible with a gui that you need to be able to use since it will freeze the mouse and everything else.

Dualnames

And another bug..not so but whatever you might wanna know about it. I import a module i quit the game , without saving(this could happen if the pc crashed so you might really want to fix this one) so when i open the project again I get an error that it can't find module.
So how about we browse for the missing module
or something?

About the comment thing said in several posts before it's that in AGS 3.0 if you commented script header this way /* */ if below the */ there was nothing but that Int global variable the global script got commented so it didn;t work.
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)

Pumaman

QuoteSince I didn't spot it in the release notes, I thought I might mention that SCUMM VERBCOIN GUI v1.5.4 has been up a while now; You might want to include the updated template

Thanks, I didn't spot that. I'll include it next time I do a build.

QuoteThis isn't so much a bug as it is a pain in the ass, but when I'm typing in a script (seems to be any script) and I'm in some function, I'll type a line or two and then the drop down box at the top will switch to "(general definitions)" and autocomplete stops working altogether.

Yeah, this is due to the way autocomplete tracks the end of the function, and has always been like this. I need to spend some time on it to sort it out properly.
As monkey says, you can get around it by just swiching to another tab and then switching back, which will refresh autocomplete.

Quote
if you select bool from the new global variable creator, entering in a value of 0 yields:

'The default value '0' is not valid for this type of variable.  Please try again'

This is by design -- valid values for bool are "true" and "false". Although the script will let you set a bool to 0, it's not something I want to encourage by letting people do it in the GUI editor.

QuoteI can't seem to get POPUPMODAL to work to freeze my game during the intro sequence (just a series of Waits and animations).  The gui is designed to allow you to skip the intro, but the intro plays regardless of what I try while the gui just sits there as the game continues from screen to screen.

What exactly is continuing to run while the GUI is displayed?
The PauseGame command (and therefore popup modal GUIs) prevents movement and animations from being processed, but game cycles continue to run. Therefore if you have some script that does something like:

Wait(50);
player.ChangeRoom(4);

it will still continue to run. The only difference will be if you have a blocking animation or walk, since this will never complete while the game is paused.

QuoteAnd another bug..not so but whatever you might wanna know about it. I import a module i quit the game , without saving(this could happen if the pc crashed so you might really want to fix this one) so when i open the project again I get an error that it can't find module.

If you do this, you should get an extra warning when you close the editor, telling you that because you've imported a module it may not work properly if you don't save it. I think that should be enough warning to people.

QuoteAbout the comment thing said in several posts before it's that in AGS 3.0 if you commented script header this way /* */ if below the */ there was nothing but that Int global variable the global script got commented so it didn;t work.

Ah ok, so it's working correctly in the latest version?

Shane 'ProgZmax' Stevens

QuoteThis is by design -- valid values for bool are "true" and "false". Although the script will let you set a bool to 0, it's not something I want to encourage by letting people do it in the GUI editor.

I'm not sure why you'd want to discourage something that's been done by programmers for years and years and is in no way harmful.  A boolean is a true or false, on or off, 1 or 0 condition by design.  But it's your call :).


QuoteWhat exactly is continuing to run while the GUI is displayed?

Say/SayAt/FadeOut calls still go through as well.  Would it be possible to modify or at least add another type to guis to freeze EVERYTHING except themselves and mouse control?  Everything would include processing Waits,changerooms,animations, anything except gui scripts, mouse movement and control and keypresses.

GarageGothic

Quote from: ProgZmax on Fri 13/06/2008 23:10:17
QuoteThis is by design -- valid values for bool are "true" and "false". Although the script will let you set a bool to 0, it's not something I want to encourage by letting people do it in the GUI editor.
I'm not sure why you'd want to discourage something that's been done by programmers for years and years and is in no way harmful.  A boolean is a true or false, on or off, 1 or 0 condition by design.  But it's your call :).

Perhaps the editor could automatically correct 0 to false and 1 to true so that the stored values will be in the correct format, but still letting the developer save a little time?

naltimari

Quote from: ProgZmax on Fri 13/06/2008 23:10:17
Say/SayAt/FadeOut calls still go through as well.  Would it be possible to modify or at least add another type to guis to freeze EVERYTHING except themselves and mouse control?  Everything would include processing Waits,changerooms,animations, anything except gui scripts, mouse movement and control and keypresses.

I agree that a 'modal' dialog should 'freeze' code execution as soon as 'visible' is set to true. In my game, I have a gui dialog that shows up now and then, presenting the user with some options. Depending on which option he picks, the game would do something different.

So, I had to come up with the 'infinite loop approach' to halt the script. The solution is not very pretty, because it can't be transformed into a module or something more 'global'. Whenever i need to call this dialog, i have to cut&paste code...  :-\

Electroshokker

#151
*bug report*

dynamic sprite tinting colors differently than object/character tinting

when I do something simple, like:

background.Tint(0, 0, 0, 50, 0); //using dynamic sprite
SetAmbientTint(0, 0, 0, 50, 0);

the objects and characters "stick out" in the resulting screen qua coloring.

(btw, any chance for a RemoveAmbientTint() function?)

GarageGothic

Quote from: Electroshokker on Sat 14/06/2008 10:34:00(btw, any chance for a RemoveAmbientTint() function?)

From the help file:
QuoteTo turn it off, call this command again but pass the saturation as 0.

Lt. Smash

#153
bug found

Code: ags
Mouse.ChangeModeView(eModeWait, -1);
does not stop cursor from animating (as explained in the help), it crashes game.


[edit]
fixed typo.

@skuttleman: It was just a typo. The crash occours with ChangeModeView.

skuttleman

Quote from: Lt. Smash on Sat 14/06/2008 13:48:39
bug found

Code: ags
Mouse.ChangeModeGraphic(eModeWait, -1);
does not stop cursor from animating (as explained in the help), it crashes game.

It's supposed to be: ChangeModeView(eModeWait, -1);

LimpingFish



I'm always the last to get errors(!). No version of 3.0. will run.

Vista SP1, NET 3.5.

Halp!
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

skuttleman

This seems to be a bug, but I get no error. When I try to "make template from this game" in 3.0.2, it asks me for a name and then says it completed successfully, but it doesn't make a template file. Works fine in 3.0.1.

freshpaint

Got the following while flipping between editing a room and editing the script for the room.  Was trying to use dropdown list for room to find code I'd just written for an animation.  Editor didn't exit, it just gave this message and let me go on with editing the room.

Error: startIndex cannot be larger than length of string.
Parameter name: startIndex
Version: AGS 3.0.2.41

System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string.
Parameter name: startIndex
   at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   at AGS.Editor.ScintillaWrapper.GetPreviousPathedExpression(Int32 startAtPos)
   at AGS.Editor.ScintillaWrapper.ParsePreviousExpression(Int32 startAtPos, String& charactersAfterDot, Boolean& staticAccess, Boolean& isThis)
   at AGS.Editor.ScintillaWrapper.GetFullTypeNameAtPosition(Int32 charIndex)
   at AGS.Editor.ScintillaWrapper.GetFullTypeNameAtCursor()
   at AGS.Editor.ScriptEditor.OnGetHelpKeyword()
   at AGS.Types.EditorContentPanel.get_HelpKeyword()
   at AGS.Editor.Components.HelpCommandsComponent.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)

Electroshokker

#158
correction: only the objects aren't tinted properly with ambient tinting (they're simply not tinted at all)

characters are tinted just fine. (I'm in 32-bit mode)

If I tint the objects manually (object.tint) it works the way it should.

Quote from: GarageGothic on Sat 14/06/2008 12:20:52
From the help file:
QuoteTo turn it off, call this command again but pass the saturation as 0.

Thx! Can't believe I missed that!


btw, Chris: v1.6.0 of the scumm verbcoin template is up

DoorKnobHandle

#159
Got this when I deleted seven empty GUI buttons one after the other by selecting them through the list, then re-clicking on them and hitting DEL:

Quote from: error
Error: Object reference not set to an instance of an object.
Version: AGS 3.0.1.35

System.NullReferenceException: Object reference not set to an instance of an object.
   at AGS.Editor.GUIEditor.bgPanel_MouseMove(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseMove(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseMove(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.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)

Can't recreate it now, though.

Pumaman

QuoteI'm not sure why you'd want to discourage something that's been done by programmers for years and years and is in no way harmful.  A boolean is a true or false, on or off, 1 or 0 condition by design.

Just because people have done it for years doesn't make it right :D

Modern languages like Java and C# won't let you set a bool to 1 or 0 as they provide proper strong typing, and it's good practice to follow so that you don't accidentally set a bool to an int that means something completely different. But this is another story altogether...

QuoteSay/SayAt/FadeOut calls still go through as well.  Would it be possible to modify or at least add another type to guis to freeze EVERYTHING except themselves and mouse control?  Everything would include processing Waits,changerooms,animations, anything except gui scripts, mouse movement and control and keypresses.

I understand what you're saying, but could we move this to the wishlist thread please, as it's not a 3.0.2 issue?

QuoteMouse.ChangeModeView(eModeWait, -1);
does not stop cursor from animating (as explained in the help), it crashes game.

Thanks, I'll look into this.

QuoteI'm always the last to get errors(!). No version of 3.0. will run.

Vista SP1, NET 3.5.

Hmm, looks like your AGS registry entries have got corrupted somehow ... I'll improve the ability of the editor to deal with this, but in the meantime you can delete the
HKEY_CURRENT_USER\Software\Adventure Game Studio\AGS Editor
key in regedit to fix it.

QuoteThis seems to be a bug, but I get no error. When I try to "make template from this game" in 3.0.2, it asks me for a name and then says it completed successfully, but it doesn't make a template file. Works fine in 3.0.1.

Thanks, I've investigated and it seems the template generation doesn't work properly if the game has speech or translations. I'll get it fixed.

QuoteGot the following while flipping between editing a room and editing the script for the room.  Was trying to use dropdown list for room to find code I'd just written for an animation.  Editor didn't exit, it just gave this message and let me go on with editing the room.

Thanks, I'll look into it.

Quotecorrection: only the objects aren't tinted properly with ambient tinting (they're simply not tinted at all)

characters are tinted just fine. (I'm in 32-bit mode)

If I tint the objects manually (object.tint) it works the way it should.

Is the "UseRoomAreaLighting" property of the object set to true? If not it will ignore region and ambient lighting/tinting.

QuoteGot this when I deleted seven empty GUI buttons one after the other by selecting them through the list, then re-clicking on them and hitting DEL:

You got this with 3.0.1, right? It should already be fixed in 3.0.2.

LimpingFish

#161
Quote from: Pumaman on Sun 15/06/2008 20:16:14
[Hmm, looks like your AGS registry entries have got corrupted somehow ... I'll improve the ability of the editor to deal with this, but in the meantime you can delete the
HKEY_CURRENT_USER\Software\Adventure Game Studio\AGS Editor
key in regedit to fix it.

Yep, that fixed it. Thanks. :)

EDIT: It happens when I run and compile/save a game under 2.71 and then try to load 3.02. If I run 2.71 and exit without saving anything, then 3.02 will load fine. If I've compiled/saved a game in 2.71, the registry keys become corrupted, and I'll get that error in 3.02.
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

DoorKnobHandle

Quote from: Pumaman on Sun 15/06/2008 20:16:14
QuoteGot this when I deleted seven empty GUI buttons one after the other by selecting them through the list, then re-clicking on them and hitting DEL:
You got this with 3.0.1, right? It should already be fixed in 3.0.2.

Yep, sorry, must've missed the fix!

Pumaman

Ok, Final 2 is now up. Although none of the bugs reported were specific to 3.0.2, it seemed reasonable to fix them now, so a Final 2 release is now up.

If no serious issues are found in the next few days, this will become the 3.0.2 Official Release.

QuoteEDIT: It happens when I run and compile/save a game under 2.71 and then try to load 3.02. If I run 2.71 and exit without saving anything, then 3.02 will load fine. If I've compiled/saved a game in 2.71, the registry keys become corrupted, and I'll get that error in 3.02.

Hmm, thanks for the info. I wonder what 2.71 is doing to the registry...

Ghost

Quote from: Pumaman on Wed 18/06/2008 19:59:03
Hmm, thanks for the info. I wonder what 2.71 is doing to the registry...

Gee, if *YOU* don't know...  :o

freshpaint

Math bug  (Using latest Build 3.0.2.42)

Problem with negative numbers.  Example:

#define MY_CONSTANT -5

int a;
int b = 2;
int c = MY_CONSTANT;   //same result with c = -5

The following works:

a = b * c;

However, if I do the following,

a = b * MY_CONSTANT;  // same result with  a = b * -5;

I get a parse error:

Parse error: invalid use of operator '*'

However, if MY_CONSTANT is a positive number, I don't get the error.

(It doesn't matter which operator I use -- a negative constant generates
the same message whether it's *,+,-, or /)

GarageGothic

#166
#define doesn't actually set the value (as "int c = -5" does) but rather tells the script to replace any instance of MY_CONSTANT with "-5". So your code would, on compile, read "a=b*-5". AGS doesn't accept those two operators following eachother, so instead do "a=b*(MY_CONSTANT)" and it should work.

Dualnames

I got a bug, a weird situation. Managed to reproduce it only once due to it's quite one in 2 to the power of 254754 ecc.

So, whilst i was working on my game(game title is not important) the editor crashed due to not enough memory or resourse i guess( i had way to many things open, spyware doctor, tune up).. so I didn;t care about it closing i know i messed up. Then I open the game and it immediately exits. Then I redo it and again. Then I open a different game then close editor and re-open game that i couldn't open before and it opened.

I was using , mind you AGS 3.01.
It's probably a thing of windows xp but I just said it in case you want to trace it.
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)

Pumaman

Quote from: freshpaint on Thu 19/06/2008 17:02:36
Math bug  (Using latest Build 3.0.2.42)
Problem with negative numbers.  Example:
#define MY_CONSTANT -5

As GarageGothic says, this is due to the way macros expand and is not a bug. You can work around it by doing this instead:
#define MY_CONSTANT (-5)

QuoteI got a bug, a weird situation. Managed to reproduce it only once due to it's quite one in 2 to the power of 254754 ecc.

So, whilst i was working on my game(game title is not important) the editor crashed due to not enough memory or resourse i guess( i had way to many things open, spyware doctor, tune up).. so I didn;t care about it closing i know i messed up. Then I open the game and it immediately exits. Then I redo it and again. Then I open a different game then close editor and re-open game that i couldn't open before and it opened.

Can you post any error messages or more information? It's impossible for me to even try and trace it otherwise.

Dualnames

I didn't manage to re-produce it. As I said. Sorry, rather not worry about it. The editor didn't close showing a message but unexpectedly which is a windows thing.
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)

freshpaint

I seem to be good at coming up with bugs that aren't really bugs!

What confused me was that I got the parse error not just using the macro (which I know from C programming can have all sorts of side effects, etc.) but by using plain -5 as well.  I couldn't find anything in the doc about operator use and precedence (and the discussion of right to left/left to right) that would cause it.

I'll use the method suggested above for my constants.  Thanks.

Pumaman

Yeah, although languages like C will let you do stuff like:

int a = 8 *-5;

The AGS parser isn't quite smart enough to deal with that; it thinks that you're trying to use  *-  as a single operator which it doesn't recognise. Bracketing it allows the parser to figure out what you're trying to do.

In a sense this is a bug in the AGS compiler, but it's not something I'm going to look into with a high priority :)

Ishmael

I used to make games but then I took an IRC in the knee.

<Calin> Ishmael looks awesome all the time
\( Ö)/ ¬(Ö ) | Ja minähän en keskellä kirkasta päivää lähden minnekään juoksentelemaan ilman housuja.

SMF spam blocked by CleanTalk