AGS 3.0 Final - it's been a long road

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

Previous topic - Next topic

GarageGothic

#460
I know it's probably too late, but considering the focus on RawDraw and DynamicSprites in this edition, as well as the slowness of DynamicSprite.CreateFromScreenShot when using Direct3D mode, I have one last request:

Could we please have a DynamicSprite.CreateFromScreenShot function with the (optional int x, optional int y, optional int width, optional int height) parameters of DynamicSprite.CreateFromBackground? In Direct3D mode it's just no longer viable to create and then crop a DynamicSprite from the full screenshot every frame.


Edit: I realized that although it's a bit of a hassle to work around, I can achieve the same effect with other means (especially now that we can use DynamicSprite.Tint to make RawDrawn characters match the room lighting). The only actual problem is that the workarounds don't support walkbehinds. It would still be a very welcome feature, but it's something that can wait.

But I came up with another suggestion instead, which would be a nice addition, if it's trivial to implement:

DynamicSprite.Resize(int width, int height, optional bool antialias)

Which would implement the same antialising used for character scaling on the DynamicSprite.

Shane 'ProgZmax' Stevens

QuoteAlso perhaps for those of us who wish to save space on background art, could we perhaps have an option to turn off all elements of a GUI including the background image. That way we don't have to paint in an ugly black square on our background art to emulate the GUI going black. (The background color and border should be the only elements visible).

A move away from the built-in functionality of the current dialog options display towards one that uses a default gui (like you can do with text guis) would probably resolve this request once and for all, and that way you could change the default background to 'anything' (transparent, black, or an image) easily.  Adding the possibility to allow additional controls to this dialog gui would open up some additional functionality as well (like instead of the dialog options forever growing upwards you could add scrolling arrows and lock the gui to a specific size).  I don't know how much work it would be to redesign the way lucasarts-style dialogs work in ags so they would just route to some default gui, though.  A workaround naturally is just creating a text gui anyway, but it might be cool to externalize the way dialogs in ags are handled and expand what you can do with them?

Nice work with the plugin support.  I'm going to give it a look!

subspark

#462
QuoteAdding the possibility to allow additional controls
I don't believe Chris will be adding anything new to 3.0 as of now...

But when the time is right, Chris, would you be so kind as to consider my less elaborate request?

Also, could we please have PauseMusic(); ResumeMusic(); commands please? Handy for when you pause and unpause the game. The same for ambient sounds I guess.

Thanks CJ,
Paul.

Recluse

RawDraw to sprites?!  :o

That means paperdolling!

Woohooooo!!
All your verbcoin are belong to us.

SSH

#464
It just struck me that one function missing is DynamicSprite.CreateFromSurface(optional int x,y,w,h)...


Also, what colour are the new pixel create when one uses DynamicSprite.ChangeCanvasSize to make a sprite bigger?

And if I do:

DrawingSurface *rds=Room.GetDrawingSurfaceForBackground();

in a function, autocomplete doesn't work on rds. But If I declare rds as a non-pointer, autocomplete DOES work.
12

GarageGothic

#465
As this thread shows, the functionality of the editor's Colour Finder is slightly confusing. Now that the entire editor has been rewritten, wouldn't it be a good time to fix this dodgy behaviour? Especially as version 3.0 also introduces Game.GetColorFromRGB which doesn't have the issues that the Colur Finder does (for instance, Game.GetColorFromRGB(255, 255, 255) correctly returns 65535, whereas Colour Finder values (31, 31, 31) return 65503, which is in fact RGB(255, 250, 255)).

Edit: In response to Supspark, I couldn't care less about a color wheel - I just want my colors to be accurate and pure when I need them to be.

subspark

#466
I agree. A Photoshop based color wheel is definitely in order.

Also based on my other thread, http://www.adventuregamestudio.co.uk/yabb/index.php?topic=32622.0 the dialog system is really limited in terms of control. It seems to block EVERYTHING including rep_execute functions. Isn't this a little overkill? Can't we run animated objects in the background while a dialog is present?

Cheers all the same,
Paul.

Gilbert

I think the dialog system problem is more like a feature request for the engine, which shouldn't be here. :P

subspark

My above post WAS a feature request! I just referenced my original post that I posted before somebody explained what was going on. The functionality I need simply isn't there. So that issue has now become a feature request.  :)

Paul.

Rui 'Trovatore' Pires

Yeah, but you're requesting features for the engine. This is for the editor.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

subspark

Oh I see. I'm on the same page now.
Relevantly, Chris has in fact said he is thinking about giving the Dialog System an overhaul so we'll leave it at that.

Cheers pal,
Paul.

Gilbert

Also :P
Quote from: Pumaman on Sun 07/10/2007 17:55:16
I'm not planning on adding anything more to AGS 3.0 from this point, only bug fixes and very minor enhancements will be considered. The next release should be a Release Candidate.

subspark

This issue isn't relevant to 3.0 Gilbot.
QuoteI do keep meaning to overhaul the dialog system so maybe that's something for AGS 3.01

Cheers,
Paul.

Gilbert

I was talking about your original post here to request for feature: editor or the engine, no more feature request here please. :P

The problem was eventually anwsered elsewhere (that it may be settled in a future version) doesn't mean it was appropriate to start asking here at the first place.

subspark

Whatever man. ::)

Listen, I'm close to finishing my SCUMM template for 3.0. Again, if there are any programmers who can afford to help me finish it off for the next release of AGS, please PM me.

Cheers,
Paul.

SSH

Now that we can draw using high-res co-ordinates, it might be handy to have the option of getting the mouse position in high-res co-ordinates
12

TheMagician

Hi CJ,

just a few workflow-issues I spotted while I was thoroughly testing AGS 3.0 for the first time yesterday.
So some of the issues may have already been mentioned.  Of course I used the latest beta, 13.
And sorry if these are really small issues, I just noticed that they stand in the way of a more perfect workflow.

1. I create a new game and, first of all, change the colour depth to 32bit. It gives me the standard warning about the possibility of corrupting sprites. Ok. Then I switch over to the sprite explorer and try to import a new 32bit image. However, AGS gives me the following error message:
"Cannot import a hi-colour or true-colour image into a 256-colour game."
Only after I save the game AND completely shut down the editor, then start it up again and load the game can I import the high-res sprite.

2. I like the way the brackets highlight when you type a closing bracket. However I miss the good old bracket checker (Ctrl+B). As things are right now I have to delete the bracket I want to check and then type it new to see to which opening bracket it belongs.

3. If I create a new room and import a background of 320x240 pixels the engine of course tells me, that the new background is bigger than the old one. Then the new background is shown. However there is a scrollbar at the right side of the image although the engine would have enough space to show it without scrollbars. To get rid of the scrollbar I have to save and close the room tab. Then I have to load a different room and close that again. Then when I reopen my old room the scrollbars are gone.

4. I tried to create a dynamic array of the type "short":
Code: ags

short array_test[];
short array_size = 10;
array_test = new short[array_size];


The last line gives the error: "Array size must be an int."

5. When an error occurs while compiling, a window pops up telling you that there was an error and that I should look at the output window. I do so, see the error and in practically 100% of the cases I double click it to open the corresponding script.
However, I miss the old behaviour that when you click "OK" in the error window it automatically opens the corresponding script and jumps to the line that gave the error.
Again, this would only save one doubleclick, but given the amount of errors my scripts have ... ;)

6. I think this has been asked before: will the view preview become available again?

7. When I type something like
Code: ags

sprite.DrawSurface(                  

...so, basically anything which ends in an opening bracket, I get an "unexpected eof" error with no further explanation. Whereas AGS 2.8 said something like "End of input reached in middle of expression in line ..."

8. Autocomplete.

8.1 First of all I think it is great that Autocomplete now picks up variables that are declared at the top of the script. However, perhaps the manual could state a little more obviously, that this happens after the script was quicksaved via "Ctrl+S". First I thought I have to close the script tab completely before any changes are made to Autocomplete.

8.2 If I type something like:
Code: ags

int temp_x;
int temp_y;
int temp_z;


and later realize I want to change it to:
Code: ags

int temp_1;
int temp_2;
int temp_3;


If I delete the "x" in the first line and type the "1" Autocomplete pops up (without any real reason. There is nothing selected in the list). If I would now just hit the "Down Arrow" to get to the next line of code I select the top entry of the Autocomplete list. So I first have to hit "ESC" to close the list, then move down to the next line, change the variable name, again have to click "ESC" and so on.
Why does Autocomplete pop up even if there is nothing it has to suggest?

8.3 Again I think this was mentioned before: DynamicSprite* and DrawingSurface* don't get picked up by Autocomplete if they are declared inside a function and not at the top of the script.

9. And finally something that really isn't a bother at all, I'm just wondering: I'm from Germany and some of panels' names show up in German? For example in the room pane I have "Entwurf" which roughly means  "draft" or "Auflistung" which means "List". Somewhere else if have "Darstellung" which means "display".

Many thanks again for your great work with this new version. As many have said before: it takes some time getting used to it, but then it has so many advantages over the old version.  :D

Khris

Quote from: TheMagician on Thu 11/10/2007 16:22:254. I tried to create a dynamic array of the type "short":
Code: ags

short array_test[];
short array_size = 10;
array_test = new short[array_size];


The last line gives the error: "Array size must be an int."
How about
Code: ags
short array_test[];
int array_size = 10;
array_test = new short[array_size];


Quote9. And finally something that really isn't a bother at all, I'm just wondering: I'm from Germany and some of panels' names show up in German? For example in the room pane I have "Entwurf" which roughly means  "draft" or "Auflistung" which means "List". Somewhere else if have "Darstellung" which means "display".
Might have something to do with .NET? Maybe there's kind of an auto-translate feature for recognized words. I assume you're using a german version of XP, so .NET tries to provide a german GUI.

TheMagician

4.
Code: ags

short array_test[];
int array_size = 10;
array_test = new short[array_size];


Surprisingly that works.

monkey0506

#479
The size of the array must always be an int whether the array is of type int, short, GUI*, etc.

So whether you want to do:

Code: ags
short sh_arr[];
int sh_arr_size = 10;
sh_arr = new short[sh_arr_size];


or:

Code: ags
Character* c_arr[];
int c_arr_size = Game.CharacterCount;
c_arr = new Character[c_arr_size];


you'll still need to declare the size of the array as an int.

Although I would think that it would be possible using a short...obviously not.

You can still pass an enumerated value as the size of an array though. ;)

SMF spam blocked by CleanTalk