AGS 3.1.0 Final - World's Heaviest Bridegroom Edition

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

Previous topic - Next topic

RickJ

#200
Quote
Quote
This seemed to work just fine in V2.72 but in the current beta I get  an infinite loop error at  runtime.  The obvious next debugging step is to put a display statement inside the loop to look at ItemConut and RowCount.   With a display statement inside the loop or just before it, the problem does not occur.    Placing a Wait(1) statement just before the loop also prevents the problem from occurring.   

Where is this code, is it in game_start? I don't think anythigng around that area has changed since 2.72 so it's a bit strange, I'll see if I can reproduce the problem though.
Yeah, it doesn't appear to be related to startup.  There is a main GUI with some buttons, some of which activate a drop list when clicked.   The drop list is implemented using another GUI that only contains a ListBox.  When the button is clicked, the list is populated with the item associated with that specific button, the GUI containing the ListBox is positioned just under the button, the width of the GUI and ListBox are set to the width of the button and the GUI and ListBox heights are set so that all of the items in the list are displayed (height is limited so that the GUI and ListBox extents are within the viewport.   The problem occurs when setting the ListBox height, which occurs whenever the user clicks a button. 

The behavior suggests to me that perhaps after the button is clicked one or more  ListBox operations  are  performed, prior to the height adjustment, that prevent RowCount and/or ItemCount from being updated with the correct value untilk the subsequent game scan. 

The offending code is preserved and can be easily reconstituted.  I'll recreate and chase the problem a bit more to see if I can learn anything helpful.
[edit]

Analysis of the module's code shows that the following operations are performed on the GUI and Listbox prior to the execution of the while loop
Code: ags

gSubmenu.Visible = true;
gSubmenu.Height = nn;
gSubmenuList.Clickable = true;
gSubmenuList.Enabled = true;
gSubmenuList.Visible = true;
gSubmenuList.Clear();
gSubmenuList. = AddItem(...);
  :
gSubmenuList. = AddItem(...);

gSubmenuList.Height = 0
While (gSubmenuList.ItemCount>gSubmenuList.ItemCount) { // <==== Bug occurs here
     gSubmenuList.Height = gSubmenuList.Height + 5;     
}


I tried recreating the error with the newest version (RC1) and now there is no longer an infinite loop error but there is still a weird behavior.  Now it seems that the first time this code is executed it produces an incorrect result and the Listbox and Gui are sized so that the last two items in the list are cutoff from view.  Subsequent executions, however, produce correct results and all items in the list are visible.

[edit]
Help File
It no longer stays on top when launched form the editor.  I always found this to be a useful behavior as I could simultaneously view the help info while editing the script.  Now rhe help window disappears as soon as focus returns to the script file.

freshpaint

Any chance you can show the full size of the sprite in the character screen?  My sprite is 300 pixels tall and is chopping off.  I know you fixed the chopping off problem in the View menu, but it still chops here. (using 3.1.0 RC1, 800x600 res)


Dualnames

About that, maybe it would be better to add something similar to the Zoom thiny on backgrounds.
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

QuoteThe behavior suggests to me that perhaps after the button is clicked one or more  ListBox operations  are  performed, prior to the height adjustment, that prevent RowCount and/or ItemCount from being updated with the correct value untilk the subsequent game scan. 

I've looked into this and it seems like RowCount doesn't update properly if you change the size when the GUI is not visible. However, as far as I can tell this would also have happened in 2.72. Anyway, I'll include a fix in the next release.

QuoteIt no longer stays on top when launched form the editor.  I always found this to be a useful behavior as I could simultaneously view the help info while editing the script.  Now rhe help window disappears as soon as focus returns to the script file.

Ahh interesting, I've always used the help window maximised, which is presumably what monkey_05_06 was doing too and why he had his reported problem with it. But if you're not using it maximised I can see why the old behaviour was better. I'll add a Preferences option to allow you to specify which way this should work.

QuoteAny chance you can show the full size of the sprite in the character screen?  My sprite is 300 pixels tall and is chopping off.  I know you fixed the chopping off problem in the View menu, but it still chops here. (using 3.1.0 RC1, 800x600 res)

Hmm, I don't get that problem ... looks like a 120 DPI issue, I'll look into it.

mikosworld

Pumaman, would it be possible to add a new feature in room editor, have the ability to add decorative elements/no objects animated (from VIEW) without interactions...
It'll be more handy ;) sorry for my english  :'(

Khris

Just set the object to not being clickable.

thezombiecow

Forgive me if this is already possible, and I've missed it, but it'd be really nice to have a checklist of types you'd like to be viewing in the room editor.

It'd be really useful to be able to see Walkable Areas, hotspots and Objects (and characters??) all at the same time in the room editor...

??

Lt. Smash

Quote from: thezombiecow on Thu 23/10/2008 10:15:28
It'd be really useful to be able to see Walkable Areas, hotspots and Objects (and characters??) all at the same time in the room editor...

??
a realtime character show indeed would be really useful. You choose a character drag it onto the background and it will be scaled depending on the scale level of the walkable area. It could also be used to show the region lights. Then you change scale and light levels until you think its perfect!

SSH

I noticed that in Lucasarts mode, the SpeechView gets used when talking even if you've done a LockView. Is that right? Has it always been that way?
12

NiksterG

I'm having problems drawing hotspots. It seems that whenever I click on my background to draw a line, it draws the line in a different place than where I want it to be. Hard to explain, here's a picture:



anyone else getting this? any solutions?
Check out my games! (Not all made with AGS)

Pumaman

QuoteForgive me if this is already possible, and I've missed it, but it'd be really nice to have a checklist of types you'd like to be viewing in the room editor.

It'd be really useful to be able to see Walkable Areas, hotspots and Objects (and characters??) all at the same time in the room editor...
Quotea realtime character show indeed would be really useful. You choose a character drag it onto the background and it will be scaled depending on the scale level of the walkable area. It could also be used to show the region lights. Then you change scale and light levels until you think its perfect!

Please can we keep this thread to discussion of the 3.1.0 release; if you'd like to make suggestions please create a new thread so that we can discuss them properly.

Quotei noticed that in Lucasarts mode, the SpeechView gets used when talking even if you've done a LockView. Is that right? Has it always been that way?

Yeah it's always been that way. All that LockView really does is stops AGS from using the walkable area-specific views and room-specific views. It's far too late to change it now :)

QuoteI'm having problems drawing hotspots. It seems that whenever I click on my background to draw a line, it draws the line in a different place than where I want it to be. Hard to explain, here's a picture:

What resolution is your game? Is the room background the same size? Is the game a resonable size that you might be able to upload it so that I can investigate?

NiksterG

#211
My game resolution is 640x480 and the room background is the same. I turned on low resolution coordinates, if that makes a difference, though I think not, since I turned them off again to test; no difference. I uploaded my entire game folder here, hope that helps. It's a brand new game file - I worked on this for maybe ten minutes before I ran into this problem.

edit: testing out the link on my computer, doesn't seem to work, so here's the url. Just copy and paste if link doesn't work:

http://www.freewebs.com/magicianxy/niksterg_game.zip
Check out my games! (Not all made with AGS)

Pumaman

Hmm, do you remember how you created that room? I tried creating a new room in your game and importing that background, and it worked fine.

However, I was able to replicate the problem by creating a 320x200 game, importing that background, then changing the game resolution to 640x480 and re-importing the background again. I'll fix this scenario.

For you to fix that room now, you can import a background of a different size and then import that one back again; or alternatively just delete the room and create a new one.

NiksterG

That seems to have fixed it, thanks.

Yes, what you did to replicate it was exactly what I did. Glad you figure that out so fast!
Check out my games! (Not all made with AGS)

Pumaman

Ok, RC 2 is now up. It's a minor release with a few things fixed, and if no bugs are found this will become the official 3.1 release.

For those of you who haven't tried 3.1 yet, please do so now -- especially if you have a hi-res game.
Past experience with 3.0.2 was that everybody avoided using the new version until it was made Final, at which point a few serious bugs were discovered. So, please try this now so that we can get the bugs fixed before you start to rely on it as an official release :)

Ghost

Quote from: Pumaman on Mon 27/10/2008 00:06:28
For those of you who haven't tried 3.1 yet, please do so now -- especially if you have a hi-res game.

A test game of mine (640x480) compiled without any problems, and overall I really like the way 3.1 works...

The Tip Of The Day however, useful as it is, got lost on me because I disabled the start page... would a popup-window not be more traditional? You know, one of those with the "don't show tips at startup" checkboxes?

Great work as always. 3.1 might well become the new 3.0!

Dualnames

Well, I was working on a game today, and I wanted to make a number absolute..
I created a small command that just gets an integer and removes the - if it is contained, so wouldn;t that be cool for those that can't script it? I can share the code, but I'd doubt you wouldn't figure it out yourself, Chris. Anyway, gonna check rc 2.
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

Like Dualnames, I also wrote my own AbsInt(int value) and AbsFloat(float value) utility functions. I don't really think people who can't work out to script something that simple will have much need for those functions. At least the stuff I use them for is pretty advanced (Bresenham's line drawing algorithm).
It seems to work fine, but I still worry that the rounding of float values could potentially cause problems - I use a simple "if (value < 0.0)" rather than the surefire square-root-of-the-squared-value approach, which I assumed would be more CPU intensive. So I agree, built-in functionality would be nice though not all that necessary.

monkey0506

#218
If I set the value of a new enum to the value of an existing one, autocomplete seems to be picking up both instances of the existing enum:

Code: ags
enum MyLocationType {
  eMyLocationCharacter = eLocationCharacter,
  eMyLocationHotspot = eLocationHotspot,
  eMyLocationNothing = eLocationNothing,
  eMyLocationObject = eLocationObject,
  eMyLocationInventoryItem
};

// ...
LocationType loc = eLoc...

Quote from: AutocompleteeLocationCharacter
eLocationCharacter
eLocationHotspot
eLocationHotspot
eLocationNothing
eLocationNothing
eLocationObject
eLocationObject

The existing values also appear as members of the new enum:

Code: ags
MyLocationType myloc = ...

Quote from: AutocompleteeLocationCharacter
eLocationHotspot
eLocationNothing
eLocationObject
eMyLocationCharacter
eMyLocationHotspot
eMyLocationInventoryItem
eMyLocationNothing
eMyLocationObject

subspark

QuoteFixed Characters pane chopping off bottom of view preview when run at 120 DPI
You ROCK Chris! := Some of these changes Makes a BIG difference here on my end. I've been waiting for this one ever since I alerted you to the 120 DPI bugs.

Cheers,
Sparx.

SMF spam blocked by CleanTalk