AGS 2.61 Pre-final Edition

Started by Pumaman, Sat 28/02/2004 23:04:11

Previous topic - Next topic

Pumaman

This is the final release of 2.61. There will be no further changes unless a serious bug is found - otherwise, it will become the official 2.61 release in a few days time.

Changes since RC2:
* PlayAmbientSound now does not reset the sound if you play a sound that is already playing
* Fixed crash in PlayVideo if ambient sound was playing at the time.


Changes since RC1:
* Added character[].z variable, to allow you to make a character levitate into the air whilst still using the baseline, light levels and interactions of its Y co-ordinate.
* Skipping cutscene will now skip text boxes if No Auto Remove text is set, rather than hanging the game.
* Changed following characters so that if the player character is following another, and you call NewRoom, the follow will be aborted.
* Fixed repeatedly_execute_always causing random script errors occasionally.
* Fixed FollowCharacter crashing when you tried to stop a character following, which I broke in RC1.

Changes since beta 6:
* Added "Change colour depth" option to Game menu, to make it more intuitive than just being on the Palette pane.
* Added HasPlayerBeenInRoom script function.
* Added plugin API functions GetDirectSound, DisableSound, CanRunScriptFunctionNow, CallGameScriptFunction.
* Added system.viewport_width, system.viewport_height, system.version text script variables.
* Adjusted COM plugin support so that it works with .net COM-interop DLLs.
* Adjusted the way PlayVideo shuts down the AGS audio to try and correct a bug.
* Added ability to get a view frame's speed and sprite number from GetGameParameter.
* Changed the Object Pos display in the Objects pane of the editor to display the lower-left co-ordinate, as used in the game engine, rather than the top-left.
* Added error message if you call NewRoom while the player character is following another character.
* Fixed character walking on the spot at the end of a move occasionally.
* Fixed bug where characters could get stuck when using Adjust Speed with Scaling.
* Fixed Setup program not working if it was run from the command line.
* MoveCharacterToObject now allows an object number of -1, and just does nothing to allow MoveCharacterToObject(EGO, GetObjectAt(...));

What is COM plugin support?

This is a new type of plugin support, which allows the creation of editor-only plugins. These plugins appear as usual in the Plugin Manager, but rather than adding extra features to your game, they can enhance the editor. Therefore, you can use a COM plugin without making your game rely on any external DLL's.

Currently the AGS Editor provides a full implementation of interfaces to allow access to Dialogs, and not a lot else. If people find it useful, however, I can add further interfaces to the rest of the editor.

What are they useful for? Well, it enables plugins such as:
* globalints list
* sounds list
* export dialogs as text
* view dialogs as tree

For more information, see: http://www.adventuregamestudio.co.uk/accomplug.htm



Changes since beta 5:
* Added COM / OLE Automation support to editor, to allow plugins to interact with the editor, add menu options, new panes, and so forth. This includes support for editor-only plugins which are not included with the game at run-time. (see below for more info)
* Added AreThingsOverlapping function.
* Made the Cancel button in the InputBox optional.
* Expermintal MIDI fix to stop effects from one song carrying over into the next.
* Keypresses are now discarded rather than queued if a blocking script is running when you press the key.
* Fixed Sierra-style speech not supporting flipped view frames.
* Fixed SkipUntilCharacterStops stopping skipping when any character stopped moving, not just the specified one.
* Fixed Del key sometimes working when no items were selected.
* Fixed '@' character not being displayed in GUI labels.
* Fixed bug from beta 2 that sometimes ended speech on the wrong frame if the char had an idle anim.

Changes since beta 4:
* Added DisableGroundLevelAreas and EnableGroundLevelAreas commands.
* Added support for room repeatedly_execute_always function. Just put it in your room script the same way as you would with the global script.
* Added Cancel button to the InputBox (and the Debug Ctrl+X box).
* Added option to script editor Find dialog to start search from current location, rather than start of script.
* Default hotspot names (eg "Hotspot 1") are no longer output in the translation source file.
* Fixed font wierdness and crashing the first time you run a new game made from a template.
* Fixed inventory hotspot colours >32000 not working
* Fixed GUI slider image positioning in the editor with 320x200 games.
* Fixed function calltips popping up when in a comment or string.
* Fixed DisplaySpeech text not moving if the screen was scrolled in the background by repeatedly_execute_always
* Fixed config file "datadir" setting not working with root directories.
* Possibly fixed problem with characters getting stuck if "adjust speed with scaling" was enabled.
* Documented exported dialog file format.

Changes since beta 3:
* Added SetGUIObjectEnabled script function to explicitly disable a GUI button.
* While moving a GUI object, the X/Y co-ordinates update dynamically in the properties window.
* View preview window now uses sprite transparent colour as the background colour.
* Mouseover GUI button pics no longer work while in a blocking cutscene.
* Lucasarts-style speech now abides by the game.close_mouth_end_speech_time setting.
* Removed the low disk space check from the editor as it didnt work properly.
* Editor now remembers the settings of "Lock sprite to current room" and "Remap colours to game palette" between imports.
* GUI Slider now always draws at least one of its background image, even if the control is too small.
* CyclePalette now supports rotating the colours in both directions.
* Added low disk space check when saving a save game slot. (this one does work properly ;) )
* Removed the "Don't automatically lose inventory" option - it's now always on.
* FaceCharacter(EGO,EGO) now does nothing rather than facing left.
* Fixed QFG4-style speech not working.
* Fixed IsMusicPlaying always returning 0 while SkipUntilCharacterStops was in progress.
* Fixed compiler to allow string parameters to be returned by the function.
* Fixed character being moved to non-walkable area if you left a room that it was moving in.
* Fixed MoveToWalkableArea not working if the character was off the screen.
* Fixed character portrait remaining on screen when the parser-in-dialog was used.
* Fixed editor crash if you tried to preview a loop with no frames.
* Fixed GUI button text not being drawn backwards when Backwards Text was enabled.



FAQ: What are these "#sectionstart" things that are littering my script?

The new #sectionstart and #sectionends have been introduced to once and for all fix problems people have been having editing script functions. Basically, if there was a brace missing somewhere, the editor got all confused when parsing the script file and could screw up the script.
This way, it looks a bit messy, but it also means that there should no longer be any problems with editing script functions.

What's a LeftShift/RightShift/XOR operator?

If you don't know, you don't need to know. They're quite advanced operators that most people won't need.

What's a Remainder operator?

The new % operator (also known as Mod) calculates the remainder of a division. Suppose you have a raw time in seconds and you want to display it as Minutes:Seconds. you can do:

int minutes = raw_time / 60;
int seconds = raw_time % 60;


How does the new repeatedly_execute_always work?

You can add the new function to your global script, as follows:

function repeatedly_execute_always() {
}

It will be called once every game loop, just like repeatedly_execute. There are two main differences though:
* repeatedly_execute_always is always called - even when a blocking function is running
* repeatedly_execute_always cannot call blocking functions itself.

If you try to use a blocking (eg. Wait, MoveCharacterBlocking) or delayed-response (eg. NewRoom, RestoreGameSlot) function from within repeatedly_execute_always, the game will exit with an error.

There are several handy uses for this function, and you'll notice that you can also do tricks with it to interrupt blocking functions. If you call StopMoving, for example, then if the main script is currently blocked on MoveCharacterBlocking, it will resume.

Remember, repeatedly_execute_always is currently an experimental feature, so please let me know if it causes any problems or doens't seem to work properly - that's what beta versions are for :)


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

strazer

Quote* Added game.auto_use_walkto_points variable to allow you to stop the engine automatically moving the player to walk-to points.
* Custom inventory control now greys out like buttons do if "GUIs grey out when disabled" is set.
* Fixed Talk cursor flashing up briefly before dialog options turn back on during a conversation.
* Fixed GUIs sometimes not re-enabling themselves until the mouse moved over them.
* Fixed character view not always getting set back to normal view after talking but before dialog options are displayed.

Awesome, thank you so much! :)

Unfortunately I have to wait a week for my new graphics card to arrive before I can check it out...ARRGH!  :P

Gregjazz

Pumaman is back! The party may now continue. :)

James Kay

Quote* Fixed GUIs sometimes not re-enabling themselves until the mouse moved over them.

Fixed!

Except, when I now run my "new inventory item flashing on and off after first picked up" script
GUIOn(2);
AddInventiry(1);
Wait(10);
LoseInventory(1);
Wait(10);
AddInventiry(1);
Wait(10);
LoseInventory(1);
Wait(10);
AddInventiry(1);
Wait(10);
GUIOff(1);

the whole inventory GUI is greyed out. Not only the buttons but also the actual items box. The new items do flash on and off but underneath a grey-out grid.  ???

Pumaman

That would be:
Quote* Custom inventory control now greys out like buttons do if "GUIs grey out when disabled" is set.

which was requested by somebody else.

Did you want it to work like it used to? If so, I guess I can add an option to toggle it.

James Kay

Quote from: Pumaman on Sun 29/02/2004 17:29:58
That would be:
Quote* Custom inventory control now greys out like buttons do if "GUIs grey out when disabled" is set.

which was requested by somebody else.

Did you want it to work like it used to? If so, I guess I can add an option to toggle it.


Oh yes please. It's fine for the buttons to be greyed out during the "new inventory item flash" sequence, but it'd be nice to be able to have the window containing the items appear normal.

It's getting complicated, I guess. What about an option per GUI button/window to toggle grey out or not?
Just a thought.

Pumaman

Ok, I'll add that option.

A workaround would be to do
SetGameOption(OPT_WHENGUIDISABLED, 2);
at the start of your flashing routine, to stop anything greying out for the duration of it.

sigurd

I'm quite new to AGS, but one thing annoys me a lot, that everything (or a lot of things at least) is refered to by number.
Like the players can be given a script-name, also objects, sounds should share this ability. A workaround solution would be adding #define constants, so that you only need to remember and type the number once, and thereafter refer to it by name. Ok, to be honerest what i really am looking after is a more object oriented scripting language, while OO has some drawbacks, it suits very well indeed with adventure games (check out www.tads.org). A complete overhaul of the scripting language taking it in the direction of either Tads, Ruby or python would make scripting so much more fun, and less tedius bookkeeping with number-references.
Btw. I think incoorporating ruby as a scripting language, should be the caint of stuff it is made for, and thus not forcing anyone to reinvent the wheel to have an impressive scripting language.
P.S. Its really not to say that AGS is bad the way it is now, I just don't think a c-like language without oo is very well prepared for scripting.

Pumaman

#8
Quote from: sigurd on Tue 02/03/2004 00:34:47
I'm quite new to AGS, but one thing annoys me a lot, that everything (or a lot of things at least) is refered to by number.
what i really am looking after is a more object oriented scripting language, while OO has some drawbacks, it suits very well indeed with adventure games

This sort of thing has been discussed fairly recently. Basically, because of backwards compatibility such a major overhaul won't be considered for AGS v2, but it's a probability if and when AGS 3 is created:
http://www.adventuregamestudio.co.uk/yabb/index.php?board=2;action=display;threadid=11412


Sigurd

Sorry, hadn't seen the thread  :-X

Bernie

Yay, great - a new update! Everything seems to work great for me, haven't encountered any errors or bugs yet, and the idle animation starts immediately after talking now, thanks for fixing that! :D

Why is it called XP Edition, though? Does it only work on Win XP?

Fabiano

Yeah, yeah, It happens. A lot.

Phemar

Hey great stuff, alot of things I really needed, like automayic outline ffor fonts etc.
There is just one thing I was sad to not have found:



A preview mode in the view editor!

auhsor

Yeah that preview wondow was in the DOS Roomedit. I don't know why it wasnt implemented in the windows version. I found it really useful.

CB..

i'd love a non blocking Wait command
it would be so easy to set a

WaitEx(200);

to delay events without having to use the timers or special functions..

the preview animation window would be very handy as well as being just a really nice touch

more than  5 (perhaps 10?)  animated backgrounds would be extremely  too,
very good for creating high quality animated backgrounds and just really usefull for swopping the backgrounds with SetBackgroundFrame  in order to squeeze a huge amount of functionality out of a single room..all those   if GetBackgroundframe possibilitys give you the ability to simply set up variuos functions for/with the same room with the minimum of experience.anyhuw many thanks for AGS , yu given me the chance to have fun with computer code without having to have a brain transplant to do it..!!  cheers!!

ZZjZmoz

I downloaded the AGS 2.61 SP1, and now I can't get any of the AGS games I downloaded to work right. All I get is a blank screen. If there's music, it plays, but, other than that, it's not working. Is there something wrong with AGS 2.61 SP1?

Released Late August 2007

Pumaman

Quote from: Bernhard on Fri 05/03/2004 14:11:39
Why is it called XP Edition, though? Does it only work on Win XP?

Nope, it's just a way of making the release look more exciting than it really is :P

QuoteA preview mode in the view editor!

Thanks for your suggestions, but this thread really isn't the appropriate place for them. This thread is for discussion and feedback of the beta version only.

QuoteI downloaded the AGS 2.61 SP1, and now I can't get any of the AGS games I downloaded to work right. All I get is a blank screen. If there's music, it plays, but, other than that, it's not working. Is there something wrong with AGS 2.61 SP1?

Downloading a new version shouldn't affect any compiled games you've downloaded. Have you tried restarting your computer?

Gregjazz

Thank you for the useful updates, CJ.

Also, guys, remember that fixing bugs is just as important as new features. :) (though less exciting)

j-Hed

Im always amazed how fast AGS is updated!

CJ, is there going to be "antialiased sprites"  working for *.PNG -sprites in this version?

CJ is the HE-MAN of programming ;D!

Phemar


I was suprised when I heard that games made with lower versions af AGS could be edited in Notepad. Guess it never really occured to me. At least it's not in this version! And hooray for Chris Jones*woohoo!*

SMF spam blocked by CleanTalk