AGS 3.0 Final - it's been a long road

Started by Pumaman, Sun 10/06/2007 18:24:35

Previous topic - Next topic

subspark

BIG BUG: Setting the 'Use GUI for dialog options' to anything other than '0' or a TextGUI results in the following error:
Out of memory: Failed to allocate - 120586240 bytes (at PP=77)

Also setting the GUI to go black when the interface is disabled results in visual artifacts.

Cheers,
Paul.

WackyWildCard

Thanks CJ for addressing our concerns about the E.I., The Scripting and Global Messages. ;)

When I get my new computer, with all the updates and the new AGS Beta installed, I will be excited to see how The Auto-Complete Scripting Tool works.

:D


GarageGothic

Quote from: subspark on Mon 01/10/2007 23:03:54Not that I like to take apart CJ's lovely design of the winsetup, but I beleive ResHacker is the only way to do this right now.

All of my attempts to use ResHacker to change winsetup has resulted in corruption of the .exe file causing the game to refuse to run. Has anyone actually managed to do this? 

Pumaman

QuoteHow much work would it take to add a pane in AGSEdit to customize the winsetup, choosing which checkboxes and dropdown menu items to allow, and perhaps allowing for some minor customization of the layout

Winsetup is a tricky one. Ideally I'd like to make it fully customizable but that would basically mean writing a whole new version of the GUI Editor specifically for customizing the setup program. It's just far too much work to implement it considering the benefits it would offer.

Alternatively, I could add a few options to disable various controls on the setup program, but it could well end up looking quite ugly if bits of the dialog were missing, and that would lead on to requests to be able to move controls around, and the whole thing ends up out of control.

You can always write your own Setup program in visual basic or something and have it write the acsetup.cfg file as appropriate.

QuoteIt would be nice in AGS if the sprite importer could remember which folder it was in when the sprite was last chosen and I think the ability to change the transparency mode (bottom-right / pallet index 0) could be done in the right click menu. I'm tired of having to surf back through old folders when correcting a silly mistake of choosing the wrong corner for transparency.

That's a fair point. I guess I could add a third option to the Preferences dialog, "remember the last folder used".

QuoteEDIT: In the layout section of the list pane under the GUI editor, I think 'Height' should be moved below 'Width' (like in most apps). The same goes for item width and height.
I also think 'Left' should be renamed to 'X Position' and 'Top' to 'Y Position'.

The property grid is always in alphabetical order, thus Height is above Width. Also, "Left" and "Top" are the modern "standard" naming for these properties, so people familiar with Visual Studio/etc should be able to get used to it more easily.

QuoteNevermind, might be that i just had sprite manager open when i added more sprites with view editor, so it didnt update it

Good point, well spotted ... I'll have to see about improving that.

QuoteObjects being independent of rooms would be more useful, granted, since you could just set their room number and they'd be where you wanted them without creating copies in other rooms.

This "objects being independent of rooms" request keeps popping up again and again; each time I say the same thing:

Characters can move between rooms, objects cannot. If you want to have an object that can move between rooms, use a character instead.

Can somebody please explain why, given the above, you would want objects to be independent of rooms?

QuoteSomething seems to be up with the SaveScreenShot(String filename) function.

Has anyone else had any problems with this?

QuoteI've got some alpha blended sprites I'd like to use, but they seem to be displaying oddly in the editor, the entire background of the image is either white or black. However, the images display fine in  the game in both DirectDraw and Direct3D mode... Just thought you should know

That has always been the case, however I'll see if I can do anything to improve it.

Quotejust letting you know that the automatic 'space after comma' is still performed in the dialog editor.

Thanks, I'll look into it. Having said that, in dialog you probably should have a space after a comma :P

QuoteCJ, AGS 2.8 is behaving differently to 2.72 in terms of character tinting. I can't seem to get it to tint at ALL in 2.72 and again in 2.8 it seems to be only allowing half of the value I set in to be displayed.
If you have time, I have uploaded my small game for you to look see.

Thanks for uploading, I'll take a look at it.

QuoteBTW, I sent you a PM, Chris. Did you get it? I wasn't sure.

I don't check my PMs very often, I will do so in a moment.

QuoteBIG BUG: Setting the 'Use GUI for dialog options' to anything other than '0' or a TextGUI results in the following error:
Out of memory: Failed to allocate - 120586240 bytes (at PP=77)

Also setting the GUI to go black when the interface is disabled results in visual artifacts.

Thanks, I'll look into these.

QuoteWhen I get my new computer, with all the updates and the new AGS Beta installed, I will be excited to see how The Auto-Complete Scripting Tool works.

I'm not quite sure what you mean, the auto-complete in 3.0 is pretty much the same as it was in 2.72.

QuoteAll of my attempts to use ResHacker to change winsetup has resulted in corruption of the .exe file causing the game to refuse to run. Has anyone actually managed to do this? 

You have to run it on the acwin.exe file before you compile the game; if you try to run it on the compiled exe file it won't work.

WackyWildCard

Pardon me, Pumaman.  :-\ What I really meant to mention was the idea of some kind code generation wizard, in addition to the Auto-Complete Scripting Tool.

Would you still be willing to give that idea a chance? ??? :)


ciborium

Quote from: Pumaman on Tue 02/10/2007 19:21:05
Quotejust letting you know that the automatic 'space after comma' is still performed in the dialog editor.

Thanks, I'll look into it. Having said that, in dialog you probably should have a space after a comma :P

We do use spaces after commas in dialogue.  We just are so used to pressing comma space, that in our dialogs and scripts we wind up with comma space space.

Pumaman

#406
Quote from: subspark on Tue 02/10/2007 10:01:53
AGS 2.8 is behaving differently to 2.72 in terms of character tinting. I can't seem to get it to tint at ALL in 2.72 and again in 2.8 it seems to be only allowing half of the value I set in to be displayed.
If you have time, I have uploaded my small game for you to look see.
http://www.shuugouteki.net/paul/Development/AdlantoPrototyp_CJ_BUGTest.zip

What do you mean by "half of the value to be displayed"? I gave this a go and it seemed to work ok. Due to the very dark tint colour you're using, the characters always look quite dark even when the luminance is 100.

QuoteAlso setting the GUI to go black when the interface is disabled results in visual artifacts.

I tried this out but didn't get any problems, can you provide an example?

subspark

#407
Quotethe characters always look quite dark even when the luminance is 100.
Thats the point! I'm not sure why this seems to be normal behavior. In my game I want the cEgo to walk through a series of dark and light places (affected by shadow and bright lights) but he seems to be too dark for the function to be of any use.

When I use regions to set tint properties, unfortunately, the luminance value is separate, so the character is tinted fine. That being normal behavior, when I use region light values instead, the light works how one would expect it to.

I'm not too cluey with this one so can you please clarify for me why the region's light and tint values are 'one or the other'? It's really handy to be able to use it instead of writing code, however, shouldn't it function more like
Code: ags
Character.Tint(int red, int green, int blue,
               int saturation, int luminance)


Sorry Chris, I hate to be a pest but I'm rather confused about this.

QuoteI tried this out but didn't get any problems, can you provide an example?
Sure thing man. You know, in my game, this behavior is REALLY weird!
http://www.shuugouteki.net/paul/Development/testforCJ.zip

I appreciate your time on this CJ. Thanks.

EDIT: Looks like MIDI is broken in AGS 3.0. 'musicX.mid' (X being a number ;)) won't play. Not even on PlayMusic(X); command. I've tried it in room_load and room_load_after_fadein. Nada! Zip! Ziltch!  :-X

Cheers,
Paul.

Gilbert

Quote from: WackyWildCard on Tue 02/10/2007 19:56:52
Pardon me, Pumaman.  :-\ What I really meant to mention was the idea of some kind code generation wizard, in addition to the Auto-Complete Scripting Tool.

Actually I don't expect that will ever be in V3.00, CJ just made a suggestion, not saying that it's easy to work on and will make it in the near future. (He also mentioned that it may also be a plugin, so there're chance he won't even make it but someomne who's interested may.)

Rui 'Trovatore' Pires

Wasn't that what the Interaction Editor was? A point-and-click (mostly) code generation thingy?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

subspark

And on that note, where is it? Can we please have it back for v3.0.

Cheers,
Paul.

Gilbert

Quote from: Rui "Trovatore" Pires on Wed 03/10/2007 08:34:52
Wasn't that what the Interaction Editor was? A point-and-click (mostly) code generation thingy?
Not exactly.
The I.E. provides suggestion for text script code equivalence sometimes but the actions were not actually converted to text script format in the game files, they're stored in I.E. in some different format.

GarageGothic

Quote from: Pumaman on Tue 02/10/2007 19:21:05You can always write your own Setup program in visual basic or something and have it write the acsetup.cfg file as appropriate.

I tried doing this a while back (you may remember my suggestion to add the option of disabling "gamefile.exe --setup" functionality for the same reason), but ended up being stumped with the audio device detection code. I guess my best bet would be for someone skilled enough to write a fully functioning template that could be customized and compiled using a freely available tool like Visual Basic Express. Anyway, it won't be an issue for me for another 6 months at least, so I'll look further into it when I'm close to finishing my game.

QuoteYou have to run it on the acwin.exe file before you compile the game; if you try to run it on the compiled exe file it won't work.

Ah, of course. I didn't try that - and it's even a much better solution in that you don't have to implement your changes every time you re-compile your game :).

Pumaman

#413
QuoteThats the point! I'm not sure why this seems to be normal behavior. In my game I want the cEgo to walk through a series of dark and light places (affected by shadow and bright lights) but he seems to be too dark for the function to be of any use.

Well, you're tinting with 100% saturation to (30,60,80), which is a pretty dark colour. Even with 100% luminance it's not very bright, and with lower luminance settings it's going to be even darker.

If you want a lighter tint, use a lighter colour tint like (100, 200, 250) or something, and then reduce the luminance to make him darker in different areas.

QuoteI'm not too cluey with this one so can you please clarify for me why the region's light and tint values are 'one or the other'?

There is no real reason why regions don't support a luminance value ... they just never have done. Adding support for luminance has been requested as a new feature but it's not something that has been added yet.

QuoteSure thing man. You know, in my game, this behavior is REALLY weird!
http://www.shuugouteki.net/paul/Development/testforCJ.zip

This seems to behave the same as 2.72. The "GUIs go black" setting is rather misleading as what it actually does is "Hide all GUI controls", so you'll only see the GUI background image. In fact, I think I will rename this option in the editor as it's quite badly named.

QuoteEDIT: Looks like MIDI is broken in AGS 3.0. 'musicX.mid' (X being a number ) won't play. Not even on PlayMusic(X); command. I've tried it in room_load and room_load_after_fadein. Nada! Zip! Ziltch! 

I just tried this out and it was fine. Did you put the file in the Music folder?

QuoteI tried doing this a while back (you may remember my suggestion to add the option of disabling "gamefile.exe --setup" functionality for the same reason), but ended up being stumped with the audio device detection code

You don't need to detect anything, just provide the same options to the player that the current Setup does.

QuoteAnd on that note, where is it? Can we please have it back for v3.0.

As we've already discussed this a some length earlier in this thread, I'll just give you the short answer: No.  :P


QuoteSomething seems to be up with the SaveScreenShot(String filename) function.

I'm unable to use it to get any screenshots in both DirectDraw and Direct3D mode. I've placed the function inside one of my scripts, so it can't be a problem with the key_pressed function. I was able to use the function perfectly from 2.8, last I checked.

I just tried this out with both DX5 and D3D and it was fine. What problem are you getting? Is the screenshot corrupt, or is it simply not creating the file? Did you remember to look in the save game folder?

GarageGothic

Quote from: Pumaman on Wed 03/10/2007 18:44:33You don't need to detect anything, just provide the same options to the player that the current Setup does.

I assumed that "digiwin=1096302880" and other values were device ids specific to the user's hardware. Are you saying that these numbers are always identical for the same listbox choice?

mchammer

#415
Got this when I was writing this at globalscript into my own function:
float T_HeadYLine = (IntToFloat(this.Scaling) / 100)*(EnemyType[this.ID]].H

After first time, i got it again every time i added or removed a letter from the line.

Still using beta11, but there didnt seem to be anything like this at beta 12 fixlist.


Error: Index and length must refer to a location within the string.
Parameter name: length
Version: AGS 2.8.0.11

System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length
   at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   at AGS.Editor.ScintillaWrapper.GetPreviousPathedExpression(Int32 startAtPos)
   at AGS.Editor.ScintillaWrapper.ShowAutoCompleteIfAppropriate(Int32 minimumLength)
   at AGS.Editor.ScintillaWrapper.OnUpdateUI(Object sender, EventArgs e)
   at Scintilla.ScintillaControl.DispatchScintillaEvent(SCNotification notification)
   at Scintilla.ScintillaControl.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: I could recreate the error by adding same kind of line to my other games.
My 40 bullets - An action/war game.

SSH

Quote from: GarageGothic on Wed 03/10/2007 19:14:29
Quote from: Pumaman on Wed 03/10/2007 18:44:33You don't need to detect anything, just provide the same options to the player that the current Setup does.

I assumed that "digiwin=1096302880" and other values were device ids specific to the user's hardware. Are you saying that these numbers are always identical for the same listbox choice?


Perhaps what is really required is some proper CJ-authored documentation of the file format in the Help file or elsewhere...
12

Pumaman

QuoteI assumed that "digiwin=1096302880" and other values were device ids specific to the user's hardware. Are you saying that these numbers are always identical for the same listbox choice?

Yes. But even more hilarious is the fact that AGS doesn't actually use the digiwin/midiwin settings any more, it just uses the digiwinindx/midiwinindx ones. And the digiid/midiid/digiindx/midiindx settings are for the DOS engine and therefore not required either.

QuotePerhaps what is really required is some proper CJ-authored documentation of the file format in the Help file or elsewhere...

Perhaps that would be a good idea... ;)

QuoteGot this when I was writing this at globalscript into my own function:
float T_HeadYLine = (IntToFloat(this.Scaling) / 100)*(EnemyType[this.ID]].H

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

subspark

QuoteI just tried this out and it was fine. Did you put the file in the Music folder?
Apologies Chris, I've just discovered my sound card has kicked the bucked. It's an onboard, so I'm going out today to buy my self a real one. Again sorry for the fuss.

Quoteuse a lighter color tint like (100, 200, 250) or something
Ahh! I was thrown off when I tried to increase luminace values to 200 to counter the 'then strange' darkeness. It's my own fault for having tunnel vision as the doccumentation clearly states values for Tints can go above 100. Sorry about that one CJ.

Cheers,
Paul.

Shane 'ProgZmax' Stevens

QuoteAlternatively, I could add a few options to disable various controls on the setup program, but it could well end up looking quite ugly if bits of the dialog were missing, and that would lead on to requests to be able to move controls around, and the whole thing ends up out of control.

What about doing away with winsetup as it is now and adding some new gui controls in the editor to make a pop-up gui that can appear when you double-click the exe?  The designer could then make the gui look how he wants, add the options he wants (like play, config, etc) or not use one at all and have the game just run.  It would be rather cool to have something like that, though I agree it's rather trivial just to design one yourself.  This could have the added bonus of letting the designer create their own configuration file (and encryption for it) so people can't just alter settings through notepad.  It's not really something needed but might make for a nice addition.

As far as explaining the benefits of room-independent objects:

1.  You might not want to use characters if your game has a lot of them (there are still static character limits, no?).

2.  Independent objects, and objects with more functionality would make the design of non-standard (not strictly adventure game) sequences easier for less RawDraw-savvy users.  For instance, you could model an asteroid belt with lots of objects, and rather than recreate all those objects again for another room you could just transfer them.  There are always workarounds, naturally (you could leave everything in one room and just change the backdrop and such) but it would be easier from a user's standpoint to be able to just reuse objects.  This is just a generic example.

3.  From a logical standpoint, a laser pistol or pipe or golf club carried by a player is an object and not a character.  It's less confusing to have an object locked in a character's hand than another character locked in a character's hand (for the purpose of overlaid sprites).

4.  The deletion system for objects is still the same as 2.72 I believe, such that if you delete an object between 0 and x the rest are decremented to fill the void, which messes with the existing scripts.  If the objects were more dynamic this wouldn't be as much of an issue since deleted/moved objects would just be removed and when a new one was created it would fill the empty slot.  This isn't strictly relevant to the discussion but I think it's important, since I've accidentally deleted mid-range objects before and had to go back and totally rework a room as a result.

Again, just my thoughts on some of this.  Keep up the good work.

SMF spam blocked by CleanTalk