AGS v2.55 RC2 - Back to Basics edition

Started by Pumaman, Tue 15/04/2003 22:58:49

Previous topic - Next topic

Pumaman

Ok, the last version got a bit fancy, what with anti-aliasing and lip sync and all. This time, I've re-visited the more basic building blocks of the game to try and enhance your user experience. (how's that for a sales pitch, ey?  ;) )

Please read this entire post before asking any questions. More detailed explanations are below.

RC2 changes since RC1:
* Added basic CallTips to script editor.
* Tiled sprite import now goes from left to right in rows, rather than top to bottom in columns - more logical this way.
* Renamed "Always on" and "Script only" GUI types to make more sense.
* Fixed on_event(ADD_INVENTORY) not running if the player already had one of the item.
* Fixed Undo wiping entire script if selected when editor opens.
* Fixed anti-aliased 256-col sprites being black during fade-in.
* Fixed areas of transparent sprites turning pink (RC1 bug).



RC1 changes since beta 4:
* Added GetGameOption text script function.
* Added ability to use custom image as GUI Slider tracker.
* Editor now checks whether the starting room exists before saving the game, which should hopefully help newbies.
* Fixed replay recording with animating mouse cursors.
* Fixed crash entering a very long global message in the editor.
* Fixed music crossfading while playing FLC animation.

Beta 4 changes since beta 3b:
* Added DisplayThought and SetCharacterViewEx text script functions.
DisplayThought allows you to have the character say something without their speech animation playing (or with a thinking anim playing instead if you like). This can also be displayed in a custom text window above their head.
* Added game.text_align variable to allow you to centre text within message boxes.
* Fixed game crash if you had an unterminated GUI label macro.
* Fixed crash drawing small (eg. 4x4) sprites.
* Fixed editor crash dumping game text in long path names.
* Hopefully fixed crash in Win9x when trying to drag sprites

Beta 3b changes since beta 3a:
* Fixed Player Enters Screen not getting run if a region interaction initiated the room change.
* Fixed replay playback sync error with 640x400-res games.

Beta 3a changes since beta 3:
* Implemented drag-and-drop to move sprites into different folders in the sprite manager
* Editor fatal crash message now includes debug info to help me locate problems

Beta 3 changes since beta 2:
* Added ShakeScreenBackground text script command.
* Added "If player has been to room" interaction command.
* Fixed 0x77f crash bug introduced in 2.55 beta 1.
* Editor now prompts you to rebuild the vox files if music or speech has been added to the game folder.
* Fixed walk-behind mask granularity not being updated if a background of a different resolution but same relative size was imported.
* Fixed bug with Regions running script twice if it had a Wait()
* Fixed SetMusicVolume not allowing values less than Normal.
* Fixed character light levels to use region 0 settings if off-screen, to make the character be correctly lit as they walk from off-screen.
* Fixed black on some sprites turning to transparent when ignoring walk behinds.
* Added manual page describing debugging features

Beta 2 changes since beta 1a:
* Added GetGameParameter, IsInventoryInteractionAvailable text script functions.
* Added plugin API functions GetSpriteWidth, GetSpriteHeight, GetTextExtent, PrintDebugConsole, PlaySoundChannel, IsChannelPlaying
* SetButtonPic now updates the button size to the size of the new graphic, when changing the Normal graphic.
* Mirrored view frames now work with objects.
* Fixed spurious engine crash "no such function in script" when nesting scripts inside interactions.
* Allow FileOpen to open files in sub-directories if FILE_READ.

Beta 1a fixes since beta 1:
* Fixed editor crash changing GUI background image
* Fixed region drawing problem in 640x400 rooms

Changes since v2.54:
* GUIs can now be named, and those names used in the text script, much the same way as it works with characters.
GUIs can also now be deleted, which is safe so long as you use their names rather than numbers to reference them in your scripts.
* Optimization to speed up screens with large objects, and to speed up rendering of characters.
* Added "regions" as a new room area mask type. These take over light levels from walkable areas, and also add 'Player Walks Onto' and 'Player Walks Off' interactions. Added GetRegionAt and RunRegionInteraction text script functions.
* Added support for New Game Templates, to enable the user to choose between a new game Sierra-style, Lucasarts-style, and so forth. The default blank game also now includes a simple custom inventory window.
* Increased max objects per room from 10 to 15.
* Added "Quick Save" editor option, which saves your changes but doesn't compile the game files. This is useful when you just want to quickly save your work but not test the game.
* Added option for 256-colour animating backgrounds to share the main background's palette, to eliminate flicker effect on backgrounds with more subtle changes.
* Added "Conditional - If mouse cursor mode is" interaction command.
* If you have no mod/xm music, the player is now not loaded and therefore you can use all 6 sound channels simultaneously.
* Tinkered with avi playback code a bit to try and make it more stable.
* Fixed crash trying to load a game saved in a 320x240 room when the current room was a 320x200 room.
* Fixed crash when characters went off the top of the screen.
* Fixed crash passing empty string to Display/DisplaySpeech.
* Fixed SetGUIPosition giving error message at 800x600.
[edit: * New editor executable icon, by netmonkey  :) ]


GUIs

The main reason for allowing these to be named is so that you can delete them. Only delete them though if you are referring to every GUI by name in all your scripts - otherwise, the re-numbering could well mess things up.

Optimization

On most screens this will probably only be in the order of an extra 1-2 FPS, but on screens with large objects and walk-behinds it can be much more significant. The initial pier screen in KQ2VGA as the ship moves away (running at 640x400) is sped up for me from 22 FPS to 37 FPS with this update.

Regions

Why regions? Well, there were complaints from people saying that the 15 walkable areas weren't enough if you want to set up scaling and lighting areas on the same screen. The "Player stands on hotspot" interaction was also rather silly since hotspots aren't generally placed to match where the character stands.

Regions steal the light level setting from walkable areas (don't worry, all old rooms will automatically be upgraded), and they also introduce three new interactions of their own - 'Player Stands on Region', and the more useful 'Player walks onto region' and 'walks off region' - these two only happen once, each time the player enters or leaves the area.

The old "Player stands on hotspot" interaction is now deprecated, please don't use it in any new games as it may be removed completely at some point.

New Game templates

These make the whole Start New Game thing look a bit more professional, but more importantly it's now easy to add "New Sierra-style game", "New verb coin", and so forth, to help newbies.

THIS IS A BETA! MAKE A BACKUP OF YOUR GAME FOLDER BEFORE TRYING IT OUT!

http://www.agsforums.com/ags255rc2.zip

As always, your feedback and testing is appreciated. As you can imagine, this version has undergone a fair few changes, so testing is the most important thing now.

edmundito

#1
nice editor icon on the new beta ;) (yes, I'm responsible for making it. :P)

How do you refer to guis by name on scripts, tho? it seems that the help hasn't been updated to include that info.

Privateer Puddin'


Barcik

Currently Working On: Monkey Island 1.5

Privateer Puddin'


Pumaman

Quote from: netmonkey on Tue 15/04/2003 23:05:24
nice editor icon on the new beta ;) (yes, I'm responsible for making it. :P)

Hehe yes nice work, sorry I forgot to credit you for that initially :)

Quote
How do you refer to guis by name on scripts, tho? it seems that the help hasn't been updated to include that info.

Assuming that your GUI 2 is named "JIBBLE" for instance, you can do:

GUIOn(JIBBLE);

or in interface_click

if (interface == JIBBLE) {

etc - basically just use the name instead of the number anywhere in the script.

eVOLVE

Nice stuff man... A problem that happened with me though, my backgrounds are 640x400, and the regions feature is shown in this high res. Of course since walkbehinds are 320x200 (no problem with that), the regions for each background are shrunk and offset. Trying to draw on the regions too gives an offset in a similar way.

Not explained it very well, but hopefully you should know what I mean :)
James 'eVOLVE' Hamer-Morton

TerranRich

Chris, great work as always!

Regions? So that means I have to re-do my use of hotspots for automatic door sensors? Damn you,  Chris! Damn you!!! ;)
Status: Trying to come up with some ideas...

Gilbert

Quote
* Added "regions" as a new room area mask type. These take over light levels from walkable areas, and also add 'Player Walks Onto' and 'Player Walks Off' interactions. Added GetRegionAt and RunRegionInteraction text script functions.
Regions?2? ... Now it's really back to basic ...
* Gilbot V7000a recalls something called "shadow area"...

Quote
* Added option for 256-colour animating backgrounds to share the main background's palette, to eliminate flicker effect on backgrounds with more subtle changes.
Now that's something I really want...

You never stop the good work!

edmundito

Quote from: CJ on Tue 15/04/2003 23:54:06
Assuming that your GUI 2 is named "JIBBLE" for instance, you can do:

GUIOn(JIBBLE);

or in interface_click

if (interface == JIBBLE) {

etc - basically just use the name instead of the number anywhere in the script.

Oh, like characters... cool!

ThunderStorm

Yeah, Chris is back! And he's got a present for us. Shouldn't it be the other way round?

* ThunderStorm hands over some bread and salt to Chris.


QuoteThe default blank game also now includes a simple custom inventory window.
Now that is something newbie-friendly. Good job!

cornjob

Back to basics... these are smart new features. It's things like this that makes AGS as popular as it is... the fact that it's so useable. This is good stuff.

Erica McLane

Cheers!  :)
I can`t test it, because I have only Linux, so send the editor source code to Shawn and I`m waiting a port from him.  ;)

Pet Terry

:o Downloading now! New features looks really promising, great job!
<SSH> heavy pettering
Screen 7

DasJan

I think I found a bug (which is also present in previous versions):

I have a GUI which shows the inventory icons and I am trying to make a coin GUI. Now I rightclick on an inventory item and on top of it the coin appears. Now the game evaluates which parts of the coin have to be disabled and which have to be enabled (e.g. when you click on a stone then "talk to" has to be disabled). The game finds out the image numbers (this works) and tries to change the CoinGUI with SetButtonPic commands in the repeatedly_execute.

This is where the bug occurs: Sometimes all works fine and the coin looks correct, but sometimes one part of the coin - the part where the mouse pointer points to - shows the wrong picture (greyed out instead of enabled). As soon as I leave the wrong-pictured GUI button with the the mouse pointer (while still holding the right mouse button so that the GUI stays visible) the wrong pictures changes to the correct one.

Since this only happens in the inventory and not in the main game window on the background I think this is a problem with opening a GUI on top of another GUI. Maybe the button picture where the mouse points to just doesn't get updated...

I hope you understood me, and by the way: Welcome back! :)

Das Jan
"To be or not to be" - William Shakespeare
"To do is to be" - Friedrich Nietzsche
"Do be do be do" - Frank Sinatra

Barcik

CJ, is there a possibilty AGS will come in "update" files? Instead of exctracting new zips all the time, can you do some sort of exe file which will update the AGS that is already on the system?
Currently Working On: Monkey Island 1.5

Scummbuddy

But then if there was  serious problem with the update, you couldnt go back on it, and all your games would be updated with the wrong update.  I like the new zips with each one.
- Oh great, I'm stuck in colonial times, tentacles are taking over the world, and now the toilets backing up.
- No, I mean it's really STUCK. Like adventure-game stuck.
-Hoagie from DOTT

Igor

Must say i prefer zips too.
Btw, amazing job on optimization! Some screens where i have a few quite big characters (and walkbehinds) now run almost without any slowdown!
I also love some of the new features (especially names for GUIs (much easier to remember) and 6 sound channels).

AJA

Whoa... You're back CJ... Welcome back! We've been waiting for you... :)
These new features sound really good... I'll go do some testing and report if I forgot to backup my game and the new version of AGS screws it up and I have to start again from the beginning.... :D

holodude

I think I've found a bug.  I loaded one of my rooms, and then when I was using the region thing, any line I would draw would automatically shrink and move up and to the left. (Almost as if the background that the lines correspond to was half its size, but the background I see and was trying to draw the lines on was twice as big).  I hope I am making sense.

SMF spam blocked by CleanTalk