AGS v2.62 Final available for testing

Started by Pumaman, Sun 18/07/2004 21:35:34

Previous topic - Next topic

Pumaman

REMEMBER, this thread is for bug reports and discussion of the beta only - NO SUGGESTIONS IN THIS THREAD

Right, well I'm bored of 2.62 and I'm sure you guys are too, so let's get it released! This will become the final official version if no serious problems are found in the next few days.

Changes since RC2:
* Added SetFadeColor text script function.
* DisplaySpeechBackground now removes any existing background speech for the character before displaying the new speech.
* Fixed GetRegionAt to return the nearest region if the co-ordinates are off the edge of the screen.
* Fixed PlayMP3File error if filename was longer than 25 characters.


Changes since RC1:
* Added FileWriteRawChar, SetNextScreenTransition text script functions.
* Increased max GUIs to 50 and max GUI Buttons to 250.
* Fixed AnimateCharacterEx not working properly when playing a multi-loop animation backwards.
* Fixed recursive function calls to give error rather than crashing.
* Fixed issue with Sierra-style speech if the first frame in the speech view was flipped.
* Fixed problem when SetPlayerCharacter was used in a room which had "Hide Player Character" ticked.
* Fixed SetObjectPosition giving erroneous line numbers if you passed an invalid object to it.
* Fixed SetObjectIgnoreWalkbehinds not refreshing the object on-screen.
* Fixed Wait(0) to give error message rather than cause strange in-game results.

Changes happenin' since ye beta 4:
* Pixel-perfect click detection now works with scaled sprites.
* Added GIF image import, and Quick Import Animated GIF Frames option.
* In the Walk-behind editor, only the baseline for the currently selected area is now displayed, for clarity.
* X-position portrait sides feature now attempts to guess the other character the first time a line of speech is spoken.
* Fixed hit-testing area of scaled objects to match the scaled object size.
* Fixed DisplayThought positioning if character was not in current room.
* Fixed SetCharacterIdle not kicking in straight away when delay was 0.

Changes since beta 3:
* Added option for objects to use region tint and light levels, and an option for objects to use walkable area scaling.
* Added AddInventoryToCharacter, GetButtonPic, GetHotspotName, GetObjectName, LoseInventoryFromCharacter, NewRoomNPC.
* Added ability to get the number of characters, objects and GUIs to GetGameParameter.
* Increased max characters to 300.
* Increased max views to 600.
* Added game.abort_key, to allow you to customize the Abort Key to be something other than Alt+X.
* View preview window now displays current frame number.
* Fixed SetCharacterIgnoreWalkbehinds placing the character behind all other sprites.
* Fixed DisplayThought to shrink the thought bubble to fit the text when a short amount of text is displayed.
* Fixed mouse cursor staying as Pointer (mode 6) when a dialog is STOPped.

NOTE: The new functions NewRoomNPC, AddInventoryToCharacter and RemoveInventoryFromCharacter are to support future optimizations, and as such it is highly recommended that you start using these rather than modifying the character[].room and character[].inv variables directly. It is planned that these two variables may well become read-only in a future version.

Changes since beta 2:
* Increased max hotspots to 30.
* Changed room area editor so that only the selected area is displayed bright, and the other areas are all greyed out. (this effect doesn't work in 256-colour games, however)
* Added missing characters to default font 0 (#, $, &, etc)
* Added automatic de-denting to the script editor, so that } characters get automatically pulled back to line up with the corresponding {
* Added Script Modified indicator (*) to script editor title bar.
* Added Sierra Portrait Position game option, to allow you to specify the portrait to be on the left, right or alternate. This supersedes and obsoletes the old game.swap_portrait variable.
* Added game.skipping_cutscene variable to let you know when your code is being skipped over.
* Read-only variables such as mouse.x are now enforced as such.
* Display("") now does nothing, rather than pausing the game.
* View preview window now remembers its location on the screen for next time.
* Fixed crash if there were no frames in one of a character's main loops, by providing an error message instead.
* Fixed attempting to skip a cutscene hanging if No Auto Remove text was being used.
* Fixed FaceLocation problem with characters that had less than 4 loops.
* Fixed movement 'snapping' to destination when using move speed 1.
* Fixed view preview window not blanking out display if you selected a loop with no frames
* Fixed interaction editor Text Script Equivalent code for Conditional If Variable Equals Value

Changes since beta 1:
* Fixed bug in beta 1 where the character frame didn't reset to standing when they finished moving.
* Added warning if you called FollowCharacter on a character which was doing a looped animation.
* Increased max sprites displayed at once from 39 to 50, and improved user-friendliness of the error message if it is exceeded.
* Fixed SetMusicVolume changes not being persisted in save games.
* Fixed SetObjectTransparency and SetCharacterTransparency so that a transparency of 100 means the sprite is completely invisible, even with 256-colour and alpha-blended sprites.
* Fixed text box accepting keypresses when disabled. This fix means you can select the 'active' text box on a GUI by disabling the other ones.
* Fixed text windows getting a black background if colour 0 was specified, rather than being transparent.
* Fixed "Use exact palette" being ignored if "Share palette" was ticked in 256-colour animated backgrounds.
* Fixed SetPlayerCharacter to do nothing at all if you pass the current player character to it (previously it was resetting the inventory layout)
* Fixed SetGlobalString not being safe if you passed a string longer than 200 characters to it.
* Fixed ChangeCharacterView giving a warning message if the character's idle animation was playing.
* Fixed view preview window not stretching properly with 320x200 games.
* Fixed view preview window aligning sprites to top rather than bottom.
* Fixed #defines working on words inside 'single quotes'.
* Fixed "you need to select an item first" message box when trying to set the Inventory Hotspot Dot.
* Restoring or restarting a game now clears the keyboard buffer.

Changes since 2.61:
* Added ability to get current year to GetTime.
* Added SetObjectTint and RemoveObjectTint script functions.
* Added COM Plugin API access to Characters, GlobalMessages, Script #defines, GameDirectory, SaveGame and QuitGame.
* Added characters[].idleview variable to provide read access to the character idle view (still use SetCharacterIdle to change it).
* Fixed bug in 2.61 which was resetting all character movement and animation speeds if you upgraded a game from a pre-2.55 version.
* Fixed WAV music not getting included in the MUSIC.VOX
* Fixed plugin API AbortGame function crashing.
* Fixed IsKeyPressed not supporting the + - = keys.
* Fixed StopMoving resetting the character's current frame to 0, even if they weren't moving.
* Fixed problems using NewRoom inside a region interaction whilst moving to a hotspot walk-to point.
* Fixed walk-behind area 15 not working.
* Fixed error message about repeatedly_execute_always popping up if you used a blocking function in Enters Screen Before Fadein (which you shouldn't do anyway).
* Fixed object baselines not being sorted out properly when you deleted an object.
* Fixed crash if you used NewRoom from within a Player Leaves Screen script.
* Fixed nested array indexes not working properly when used with a struct in the form  a.b[c[k].d];
* Fixed "repeatedly_execute" option on the Script menu sometimes selecting repeatedly_execute_always instead.
* Fixed script editor crashing if you created a variable name longer than 60 characters.
* Fixed parse error if a string longer than 255 characters was used in the script.
* Fixed crash if you closed the script editor while the message telling you to do so was still displayed.
* Fixed FaceLocation hanging if the character was set as hidden.


http://www.adventuregamestudio.co.uk/ags262final.zip


Estaog

Weee new version (beta anyway)!

Thanks CJ!
Think about the kittens man!

http://members.aol.com/johnk0/godkills.jpg

sman

#2
Does this contain the change, which I hoped would make AGS work better under Wine, i.e. the one mentioned in this thread: http://www.adventuregamestudio.co.uk/yabb/index.php?topic=15334.0  ? The problem is exactly the same with this version so in case the change has been made it unfortunately didn't help.

Gilbert

:D

Great!

BTW, would the bug in exact palette import for animating frames using shared palette in the editor be fixed any time soon?

Estaog

I found a bug!

When the character stops walking, his view doesnt reset to the first frame, hope this helps!
Think about the kittens man!

http://members.aol.com/johnk0/godkills.jpg

Pumaman

#5
Quote from: sman on Sun 18/07/2004 23:40:01
Does this contain the change, which I hoped would make AGS work better under Wine, i.e. the one mentioned in this thread: http://www.adventuregamestudio.co.uk/yabb/index.php?topic=15334.0  ? The problem is exactly the same with this version so in case the change has been made it unfortunately didn't help.

Yes, it does include the tweak. Since that didn't work, I'm afraid there's not a lot I can do -- the code all looks fine (and works fine on Windows). Sorry.

QuoteBTW, would the bug in exact palette import for animating frames using shared palette in the editor be fixed any time soon?

Hehe, I'll bump it up teh list ;)

Quote
When the character stops walking, his view doesnt reset to the first frame, hope this helps!

ARG, that'll teach me to just quickly slip in an extra fix after I've tested the build. Well spotted, sorry about that, I'll get it fixed for the next beta.

Estaog

No problem, also this code doesnt work:
if (GetCursorMode() == MODE_WALK)
   { code here }
Dont know why, all the other modes work.

Not sure this is a bug, it could be my script.
Think about the kittens man!

http://members.aol.com/johnk0/godkills.jpg

Pumaman

I suspect there's a problem with your script -- if you're still having problems, please post it in another thread.

Bernie

I hope it's okay to put suggestions here...

Would it be possible to add 'thinking' to the dialog script? With the bubble gui and the thinking view and all, like DisplayThought? It seems this command is still fairly new, but I've found it to be quite useful. It would be great if it could be called from within the dialog script without dialog requests.

Thanks~

Kinoko

#9
Thanks CJ. If I could make a suggestion (I'll assume for now that you said, 'Yes')...

Could you possibly increase the max. character limit? Even though it IS quite high right now, I'm almost definitely going to exceed it, even being conservative. Maybe to 250? Even 200 would be great...

Also... would an increase in total views be okay? ^_^

Thanks...

EDIT: One more thing relating to this topic -> http://www.adventuregamestudio.co.uk/yabb/index.php?topic=15382.0

I'm not sure whether there's a possible solution to this problem, but off hand, would it be possible to make a text window transparent (without the "black square"?

Pumaman

Just for future reference, please post suggestions in a new thread to leave this one clean for discussion of issues directly related to the beta -- thanks.

QuoteWould it be possible to add 'thinking' to the dialog script?

Sounds reasonable to me, I'll add it to my list.

QuoteCould you possibly increase the max. character limit? Even though it IS quite high right now, I'm almost definitely going to exceed it, even being conservative. Maybe to 250? Even 200 would be great...

Also... would an increase in total views be okay? ^_^

I can do if you really need more. Remember though that extra views take up more memory, so it's always a good idea to try and use as many loops as possible from each view, rather than having loads of views with only 2 or 3 loops in each.

Kinoko

Believe me, I make every possible use of all the loops in every view. The views may be alright, but I will definitely need more character slots. Not too many more, but I've worked out a rough number and it's over 150. I really appreciate you increasing this one seeing as I'm the only person who seems to need it.

Jet Kobayashi Zala

Now, now. I think mine will too. Granted, it's prolly 'cause mine's on a similar style (Illusion of Gaia/Secret of Mana-ish) kinda game.

Bernie

QuoteSounds reasonable to me, I'll add it to my list.

Aye, thanks a bunch!

By the way, there's a small quirk with followcharacter(ex) and region interactions. It seems that region interactions don't work when you're calling a followcharacter(ex) from somewhere.

However, it only doesn't work when the command is executed at the same time as your character moves onto a region, but not while it's running. For example, if you do a followcharacter from repeatedly execute, 'character walks onto region' doesn't work at all.

Well, in any case - keep up the great work, I appreciate your efforts very much! :D

Pumaman

Can you clarify what you mean? Is the player character being followed or are they following an NPC?

Bernie

Oh, wait - it's not FollowCharacter, it's SetplayerCharacter (which I had both called in the same line, should have checked both commands alone before posting).

So, when you place SetPlayerCharacter(EGO) in repeatedly execute or call it just at the wrong moment, 'walking onto region' will be ignored, which kind of makes sense, too (since region interactions depend on the player character).

This makes it even less worthy of a mention, heh. Sorry for the trouble. :)

Pumaman

If you change the current player character, and the new character is already on the region, it won't fire any events (since the character has not actually walked onto the region when the player was controlling it).

Bernie

Sounds logical, but my problem was a different one... I had this line in repeatedly execute:

if (getglobalint(1)==1) {setplayercharacter(EGO);}

Now, while gloabal int 1 was 1, the area interaction 'walks onto region' was ignored for character EGO all the time.

Anyway, I made sure setplayercharacter would only run once by putting in a setglobalint(1,0) after setplayercharacter. It's not a command that should be run all the time, I suppose. My not so proper use of code is to blame, I'd say.

Pumaman

Ah yes, calling SetPlayerCharacter every game loop would probably cause a few problems, I'm not surprised about that. Glad you found the solution.

edmundito

Yes, it's a good idea to always make sure everything runs once, even if you have to check for a thousand conditions (you should see my code, it's pretty messy because it makes sure that it runs only when needed.)

so it would be like this:
Code: ags
if(GetGlobalInt(1) == 1) {
Ã,  SetPlayerCharacter(EGO);
Ã,  SetGlobalInt(1,0);
}

like Bernhard said.

A good way to make sure that your scripting is not looping at all times is by hitting the `~ key (next to '1' on american keyboards) during debug mode to see the debug console.

SMF spam blocked by CleanTalk