AGS 3.0 Final - it's been a long road

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

Previous topic - Next topic

subspark

I agree. This sure would be mighty handy!

Paul.

Rui 'Trovatore' Pires

Didn't we use to be able to give many GUI controls the same function by pointing them all to the same place? That functionality seems to be lost now.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Electroshokker

#542
Quote from: Lyaer on Sat 13/10/2007 23:56:23
I tried to load a game in beta 13 that I'd been working on in beta 8.  (It was originally from 7.2.)  It loaded fine, but it didn't prompt me to upgrade anything, and now when I try to run the game itself it compiles and then crashes with this message:

(ACI version 3.00.953)

Error: prepare_script: error -18 (no such function in script) trying to run 'room_Load' (Room 1)

When I run my backup in beta 8 it still runs without problems.

Quote from: ProgZmax on Sun 14/10/2007 00:34:14
Lyaer, this is probably a lingering problem with the older betas and creating new room scripts for the editor for imported games.  Check the 'Enters room before' event and see if a room_Load function was made for it.  If so, go there and see what's inside the function (if you imported from 2.72 then it is probably a routing function to something like hotspot1_a or whatever).  Make sure the function it routes to (if there is one) exists.  I had the very same problem on several of the earlier builds and it looks like it's still happening.

I get a similar error with beta 14. I Imported a game from v2.72, changed a room hotspot name/interaction response name, and presto!

prepare_script: error -18(no such function in script) trying to run 'room_a' (Room 1)

EDIT: nevermind, figured it out. Probably shouldve dug a bit more through the forum first. (http://www.adventuregamestudio.co.uk/yabb/index.php?topic=18559.msg225968#msg225968)

Any chance you could add an error event handler which displays a "you removed an interaction which is still being referenced" message or something similar instead of this error?

SupSuper

Quote from: monkey_05_06 on Sun 21/10/2007 04:50:32
Actually no, the AGSGame file type is no longer supported (AGS 3.0+). Also I've tried setting up a file association with the AGS 3.0 editor, but I have thus far found it impossible to do so. I'm familiar with file associations, but as far as I can tell you can't assign one for the way the editor currently expects the command line argument.
Sorry, I meant the new AGF type, which works fine for me.
Programmer looking for work

monkey0506

#544
Yes, of course. I was just being stupid. I actually realized that after posting. :=

And I also figured out how Windows handles file associations. The command prompt allows the pseudo-variable %CD% to expand the current directory but it doesn't work with file associations. However the ".\" syntax does work.

So I've set up AGF files (which are (obviously) created by the editor) to open the game and a custom file (which I would have to move to any game folders I wanted to use it in) for compiling the game. I've used 'AGC' as the extension (Adventure Game Compiler file? ;D) and just in case anybody else is interested in setting up an association:

"X:\PATHTOAGS\AGSEditor.exe" /compile ".\Game.agf"

Where X:\PATHTOAGS is the drive\path where AGS is installed. You could set up a batch file instead of a file association if that's your preferred method:

Code: ags
"X:\PATHTOAGS\AGSEditor.exe" /compile "%CD%\Game.agf"

Pumaman

QuoteI think this is a bug. When I try to compile my game I get an error message saying "Invalid GUI number set for Dialog Options GUI". Right now the Dialog options GUI is set to 0 in the General Settings, which I thought meant that it would use the default black dialog GUI. This happened in beta 14.
Edit2: Yes, I noticed that right after I created a new GUI the problem disappeared.

I found another small bug. When choosing the background image for a GUI slider, there is no button there that leads you to the sprite manager, only the text area where to input the sprite number.

Thanks, I'll fix those.

QuoteWhen setting up custom properties, I have a "Description" string of 170 characters. Basically 2 lines of text.

It fits the properties box quite nicely and no error is displayed. However, when I try to build the game, the editor gives me an
Unexpected error: String is too long:
error.

Interesting, I'll look into that.

QuoteDidn't we use to be able to give many GUI controls the same function by pointing them all to the same place? That functionality seems to be lost now.

In what way is that lost? What doesn't work?

Ubel

Good evening, I'm here to bug you with more bugs. The OnClick event in GUIs doesn't seem to work at all. I make a new event, put some functions in it and click on the GUI in the game. Nothing happens.

Also, when I write gui.Width, the "Width" item doesn't light up automatically in the autocomplete list. I can't recall this happening with other items.

There's also this thing that annoys me. Whenever I declare a new variable, I need to go to a different tab in the editor before it appears in the autocomplete list. This slows down my working a bit.

SSH

Quote from: Pablo on Sun 21/10/2007 19:52:37
Good evening, I'm here to bug you with more bugs. The OnClick event in GUIs doesn't seem to work at all. I make a new event, put some functions in it and click on the GUI in the game. Nothing happens.

Did you make the GUI clickable? I keep forgetting to do this!
12

Ubel

Actually that indeed was the reason with one of the GUIs. So thanks, SSH. I think that whenever one creates a new GUI it should be set as clickable by default. However, the reason was completely different for another GUI.

My GUI was named gPlatformEdit. When I created a new event in the event list, it named it "gPlatformEdit_OnCli". Notice, it got cut off in the end. Probably because of a length limit. Anyway, even though it was named like this, the function in the Global script was still named "gPlatformEdit_OnClick". So that's why it didn't work.

So CJ, please fix these problems because I'm sure they'll cause a lot of headache for the users in the future. :)

subspark

Interesting. I've actually had the "SomeFunction_OnCli" propblem before. I was new to AGS 2.8 at the time so I didn't catch it out as abnormal behavior.
AGS 3.0 is rapidly becoming more user friendly and worthy of its 3.0 version number! It's great!

Cheers,
Paul.

Rui 'Trovatore' Pires

QuoteIn what way is that lost? What doesn't work?

We had control over what to link to - we could link both btnSaveGame and btnIconBarSaveGame to function SaveGame(etc, etc). We just typed what we wanted it to link to. Now we can't - and what's more, AGS itself seems to link controls to the script. So if I change the control's name, it's still linked to the function - but if the function gets deleted, then I have to delete the control and make another one.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

monkey0506

#551
Quote from: Pablo on Sun 21/10/2007 19:52:37Also, when I write gui.Width, the "Width" item doesn't light up automatically in the autocomplete list. I can't recall this happening with other items.

Are you saying that you're actually typing gui.Width or are you saying that the Width member doesn't seem to be working for any of your GUIs? The gui variable is actually an array so it should be gui[ID].Width where ID is the GUI's ID number.

Quote from: Pablo on Sun 21/10/2007 19:52:37There's also this thing that annoys me. Whenever I declare a new variable, I need to go to a different tab in the editor before it appears in the autocomplete list. This slows down my working a bit.

Heh. Kinda makes you wonder what people did before the autocomplete. :=

Quote from: Pablo on Sun 21/10/2007 20:34:23whenever one creates a new GUI it should be set as clickable by default

I agree with this behaviour.

Quote from: Rui "Trovatore" Pires on Mon 22/10/2007 01:17:45
QuoteIn what way is that lost? What doesn't work?

We had control over what to link to - we could link both btnSaveGame and btnIconBarSaveGame to function SaveGame(etc, etc). We just typed what we wanted it to link to. Now we can't - and what's more, AGS itself seems to link controls to the script. So if I change the control's name, it's still linked to the function - but if the function gets deleted, then I have to delete the control and make another one.

It's in the 'Events' pane. Click on the lightning button:



It does seem a bit out of place since there's only one item in the Events pane, however it's where things like Character/Hotspot/Object interactions are now handled (i.e., it's where their script functions are set) so it's consistent with the way interactions are set up now. Perhaps a bit confusing since for GUI[Control]s it used to all be on the floating menu, but again, consistent with the new editor.

Rui 'Trovatore' Pires

Aaaaaaaaaah. CJ, I charge you guilty with a mental pixel-hunt! :=

Thanks muchly.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Ubel

Quote from: monkey_05_06 on Mon 22/10/2007 04:58:52
Quote from: Pablo on Sun 21/10/2007 19:52:37Also, when I write gui.Width, the "Width" item doesn't light up automatically in the autocomplete list. I can't recall this happening with other items.

Are you saying that you're actually typing gui.Width or are you saying that the Width member doesn't seem to be working for any of your GUIs? The gui variable is actually an array so it should be gui[ID].Width where ID is the GUI's ID number.

Neither. I completely understand how the gui array works, mind you. Try to write "gui[0].w" for example in the script editor. It should light up the Width item in the autocomplete list but it doesn't. This is just a minor bug, I just thought I'd point it out.

monkey0506

Quote from: Pablo on Mon 22/10/2007 10:20:30
Quote from: monkey_05_06 on Mon 22/10/2007 04:58:52
Quote from: Pablo on Sun 21/10/2007 19:52:37Also, when I write gui.Width, the "Width" item doesn't light up automatically in the autocomplete list. I can't recall this happening with other items.

Are you saying that you're actually typing gui.Width or are you saying that the Width member doesn't seem to be working for any of your GUIs? The gui variable is actually an array so it should be gui[ID].Width where ID is the GUI's ID number.

Neither. I completely understand how the gui array works, mind you. Try to write "gui[0].w" for example in the script editor. It should light up the Width item in the autocomplete list but it doesn't. This is just a minor bug, I just thought I'd point it out.

Works fine for me. Sometimes the autocomplete just goes a little crazy.

Electroshokker

I came across what appears to be a bug.

My module reads out hotspot/object/character/item text properties for inserting in a label (so you can have a custom text appear in in when moving over the correct button etc.)

I added some hotspot text properties, which goes fine, but when I change the text later on, the editor seems to accept (save) the new texts, but when I launch the game it still displays the old text. If I save and restart the editor, the properties indeed still shows the old text.

Am I missing something here? I don't mind if the values of custom properties are non-changable during gameplay, but being non-changable during editing???

Pumaman

QuoteThere's also this thing that annoys me. Whenever I declare a new variable, I need to go to a different tab in the editor before it appears in the autocomplete list. This slows down my working a bit.

I'm still considering how to improve the autocomplete. At the moment it does a full refresh when you switch tabs, however if it did this every time you typed a character the editor would grind to a halt. I need to look into more intelligent methods of updating it.

QuoteI think that whenever one creates a new GUI it should be set as clickable by default.

I agree, I'll do this.

QuoteMy GUI was named gPlatformEdit. When I created a new event in the event list, it named it "gPlatformEdit_OnCli". Notice, it got cut off in the end. Probably because of a length limit. Anyway, even though it was named like this, the function in the Global script was still named "gPlatformEdit_OnClick". So that's why it didn't work.

Well spotted, thanks, I'll get this fixed.

QuoteNeither. I completely understand how the gui array works, mind you. Try to write "gui[0].w" for example in the script editor. It should light up the Width item in the autocomplete list but it doesn't. This is just a minor bug, I just thought I'd point it out.

This works fine for me too ... I wonder if it's something to do with your crazy Finnish keyboard ;)

QuoteI added some hotspot text properties, which goes fine, but when I change the text later on, the editor seems to accept (save) the new texts, but when I launch the game it still displays the old text. If I save and restart the editor, the properties indeed still shows the old text.

Hmm, changing properties doesn't seem to mark the room as "changed", so it won't save it. I'll look into a fix, in the meantime the workaround is to change something else as well (eg. the room description) to flag it as modified which will cause it to save.

TheMagician

QuoteThere's also this thing that annoys me. Whenever I declare a new variable, I need to go to a different tab in the editor before it appears in the autocomplete list. This slows down my working a bit.

Just to give you a tip for your current workflow: instead of using the mouse to switch to another tab and then back again you can also press Ctrl+S. This updates autocomplete as well.

Ubel

Quote from: Pumaman on Mon 22/10/2007 20:35:51
I'm still considering how to improve the autocomplete. At the moment it does a full refresh when you switch tabs, however if it did this every time you typed a character the editor would grind to a halt. I need to look into more intelligent methods of updating it.

It wouldn't necessarily have to be updated on every typed character. Would it be possible that whenever the user types a semicolon, the autocomplete would update? Or would this be just completely useless and silly?

Quote from: Pumaman on Mon 22/10/2007 20:35:51
This works fine for me too ... I wonder if it's something to do with your crazy Finnish keyboard ;)

Heh, perhaps so.

IceMan

This new engine is great, and a lot faster - thanks CJ!
I've come across a really confusing problem, though since importing DNG2 into it..

The game no longer seems to be able to handle inventory interactions (you can interact with items, just not use them on characters/objects/etc)

Strangely, it's OK with unhandled events.  This is only a problem for objects and so on that have a "UseInv" function.  I've been trying to figure out why, and am completely lost!!

I'm using a self-written inventory system, coded inside the on_mouse_click function, and use the ProcessClick function:

if ((button==LEFT) && (GetCursorMode()==MODE_USEINV)) {

    ProcessClick(mouse.x, mouse.y, MODE_USEINV);
    SetCursorMode (MODE_WALK);
    SetActiveInventory (-1);
}


The answer is probably right under my nose, and it's probably some minor change I'm missing, but it all works with 2.72.  Please help!

SMF spam blocked by CleanTalk