AGS 3.1.1 Final 3 - Christmas Edition

Started by Pumaman, Wed 12/11/2008 01:33:40

Previous topic - Next topic

Pumaman

Well, it's that time of the year once more when we must drink mulled wine, punch santa squarely in the nuts and get embarassingly drunk at the office christmas party. But there might be some spare time to make games:

Changes in 3.1.1 Final 3:

* Fixed short small MP3 files failing to play (regression from AGS 3.1)

Changes in 3.1.1 Final 2:

* Fixed compile error if there was an indented blank line in a dialog script

Changes in 3.1.1 Final:

* Fixed object "ignore walk-behinds" setting not working with D3D driver
* Fixed MP3 and MOD/XM music not playing (bug introduced by previous 3.1.1 beta)


Changes in 3.1.1 RC 2:

* Assign To View dialog now remembers the loop assigned to last time as well as the view
* Added editor keyboard shortcuts list to manual
* Removed some remaining references to the interaction editor from the help file
* Improved editor error handling if it was unable to start the game for testing
* Fixed PlayVideo failing to play some WMV files with D3D driver
* Fixed PlayVideo skip setting eVideoSkipAnyKeyOrMouse not allowing keypresses to skip Theora video
* Fixed corruption in letterbox borders when drawing non-fullscreen Theora video
* Fixed Theora video being 1 pixel too small
* Fixed new dialog script compiler not allowing commas with set-globalint or set-speech-view
* Fixed a couple of potential crashes if characters had an invalid view/loop/frame
* Fixed potential crash displaying text in voice-only mode


Changes in 3.1.1 RC 1:

* Added basic save and load GUIs to the Default Game template
* Cursor mode now sets back to Select after adding a GUI control to assist the most common workflow
* Workaround for Windows error getting file list on Linux network shares
* Fixed clicking in the corner of the screen taking you back to the desktop when using D3D driver
* Fixed text box stealing up/down arrow key presses (AGS 3.1 regression)
* Fixed save game list not working, broken in beta 1
* Fixed OGG Theora player to preserve aspect ratio when stretching to full screen
* Fixed dialog script compiler to re-build all dialog scripts if a dialog is renamed/deleted
* Fixed error running the game if you didn't have a dialog_request function
* Fixed D3D driver drawing an extra game loop before the room faded out
* Fixed autocomplete not always correctly selecting entries containing an underscore
* Fixed engine hanging if you tried to move the character while he was on a non-walkable area (3.1.1 beta 1 bug)


Changes in 3.1.1 beta 1:

* Added support for running normal scripts as part of dialog scripts, and thus obsoleted the run-script, dialog_request business
* Added OGG Theora video support to PlayVideo, and enabled theora videos to be compiled into the game EXE
* Added right-click "Find Sprite By Number" option to Sprite Manager
* Added Dialog.HasOptionBeenChosen script function.
* Replaced Anti-Glide mode with a per-character setting MovementLinkedToAnimation.
* Improved auto-dedent of } in script editor to make it more useful and less annoying
* Improved performance of pathfinder when calculating a route.
* When changing between room area mask types, the current tool will be set back to the Select tool to assist the most common workflow
* Discontinued support for Windows 98 due to upgrading compiler from VC6 to VC2008.
* Improved editor error messages if an error occurred reading/writing the sprite file
* Fixed transparent sprites not rendering correctly with D3D
* Fixed GetLocationName/GetLocationType not returning anything if the mouse cursor was over a GUI, but a different X/Y was being checked
* Fixed GetLocationName returning a single space if a name-less object was at the location
* Fixed editor crash debugging if the call stack had more than 6 lines
* Fixed call stack window not appearing if the project tree was on the left hand side
* Fixed crash if you manually set Character.Loop and the current Frame was invalid for the new loop
* Fixed crash in DisplayAt/SayAt if you passed the width in as 0
* Fixed debug console showing low-res co-ordinates for Character.Walk

How do I use the new dialog scripts?

The dialog script can now contain normal scripting commands. The way that AGS differentiates is that if there is no space at the start of the line it assumes it's a Dialog Scripting command, and if there are spaces/tabs at the start of the line it interprets it as a Normal Scripting command. For example:

@1  // option 1 clicked
bman: &3 "Please help me. I've been standing here for ages trying to get through that door."
Narrator: &1 What a sad man!!
  Display("This is being displayed from the normal script");
  GiveScore(5);
  player.Walk(player.x - 20, player.y, eBlock);
bman: &5 "And it's getting pretty boring, I can tell you."
return

How do I use OGG Theora video?

Simple. Just make sure the file has an .OGV extension (some converters create them as .OGG but you'll need to name it .OGV for AGS to work), put the file in the game folder (NOT the Compiled folder, because it will get built into the game EXE). Then just use a PlayVideo command with the .OGV's filename.

What do you want me to check?

The dialog script compiler has been scrapped and instead AGS now converts the dialog scripts into normal scripts. So there's quite a lot of scope for error -- please make sure your dialogs still work correctly.

Also, I've had to fiddle around with the D3D driver quite a bit, as it turns out that adding the anti-aliasing filters in 3.1 broke transparent sprites. This should now be fixed but please make sure your game looks right with the D3D driver.


THIS IS A BETA VERSION. BACK UP YOUR GAME BEFORE USING IT. ONCE YOUR GAME HAS BEEN LOADED INTO THIS BETA YOU CANNOT LOAD IT BACK INTO PREVIOUS VERSIONS.

http://www.adventuregamestudio.co.uk/AGS-3.1.1.exe?final3

Installer only, as this is the final release candidate. If no problems are found, I hope to release it to the website in a week or so, followed by a RAR version.

Ghost

Quote from: Pumaman on Wed 12/11/2008 01:33:40
* Added support for running normal scripts as part of dialog scripts, and thus obsoleted the run-script, dialog_request business
* Improved auto-dedent of } in script editor to make it more useful and less annoying

*Whooo-hoooooo!* for that!
And an even louder YAY for you to be such a quick feature-fixer!

Gilbert

Ah well... This is fast.

Considering some of the improvements and changes (dialog scripts, discontinuation of Win98 support and anti-glide mode to name a few) I wonder whether of not the update is that minor to worth just a tiny 0.0.1 increment in the version number though (especially, as always, when we expect there will be more to come in the next betas).

GarageGothic

Holy crap, you're one fast mofo, CJ! I'm not sure where to start. Ogg Theora support and compiling videos into the .exe? Fantastic! Normal scripts within dialog script? That makes me rethink if I even need my whole custom dialog system. The MovementLinkedToAnimation setting also sounds like a neat improvement. I look forward to trying it all out.

Ishmael

Wow, this is shaping up to look even more excellent than I had hoped for, once again. I really hope I can pick up the pace with any of my bigger projects to get to benefit from all these new things.
I used to make games but then I took an IRC in the knee.

<Calin> Ishmael looks awesome all the time
\( Ö)/ ¬(Ö ) | Ja minähän en keskellä kirkasta päivää lähden minnekään juoksentelemaan ilman housuja.

monkey0506

Seeing as my projects don't make use of the dialog_request function, one doesn't exist in my scripts at all. As soon as I run the game I get:

Quote---------------------------
Adventure Game Studio
---------------------------
Script link failed: Runtime error: unresolved import 'dialog_request'

---------------------------
OK   
---------------------------

As a temporary fix I just put:

Code: ags
function dialog_request(int) {}


Which rectified the problem...but it appears to be a bug as it worked fine in 3.1.0.

Oh, and thanks so much for this update Chris! ;D

Lt. Smash

#6
these improvements are really great.  Thanks Pumaman!
Now would be cool:
- marking both brackets if the cursor is near one. Like it is already when closing brackets. If you have many ifs within ifs and want to make else to some of them, you may get lost in the huge amount of brackets.
if (a<b)
{| <- This is the cursor
  if (c<b)
  {
     if (a<c && !b)
     {
       do;
      }
   }
   else do2;
}

  - break, continue support. I would have use for them very often. (To rewrite 20 continues and 5 breaks within one loop isn't that easy.:))
  - static variable support in structs.
  - for loops would be nice buts not a priority as we can use while instead.
  - switch: also not that important but would make things easier
I know these were suggested very often but I'm trying again as they are very much helpful and I thought maybe now you havethe time to implement these as I see you're going to make huge improvements. (like ags script in ags dialogs)
 

Trent R

Smash, did you know you can press Ctrl-B while next to a bracket to highlight the opposite one? Although I'd agree with the cursor behavior if possible (but I wouldn't be surprised if it annoys people, so a preference might be requested).

~Trent
To give back to the AGS community, I can get you free, full versions of commercial software. Recently, Paint Shop Pro X, and eXPert PDF Pro 6. Please PM me for details.


Current Project: The Wanderer
On Hold: Hero of the Rune

Lt. Smash

#8
Quote from: Trent R on Wed 12/11/2008 17:43:27
Smash, did you know you can press Ctrl-B while next to a bracket to highlight the opposite one?
thats... interesting. I would suggest a help file site for all shortcuts?

may I ask if there is a shortcut for commenting out a block of code?

Trent R

#9
Not that I know of, but you can automatically indent blocks of code that you have selected. Then I usually take in into Notepad and use the ReplaceAll feature.

~Trent
PS-Monkey, thanks for the work around. :D
To give back to the AGS community, I can get you free, full versions of commercial software. Recently, Paint Shop Pro X, and eXPert PDF Pro 6. Please PM me for details.


Current Project: The Wanderer
On Hold: Hero of the Rune

Khris

Sure:
Code: ags
/* I'm
completely
green in
the editor
because I'm
a block
commented
out */

Snarky

In Visual Studio (or Eclipse, I forget), Ctrl-/ (control+slash) will comment out selected lines, and Ctrl-Shift-/ will uncomment them. I use that a lot.

Lt. Smash

@Khris: I'm aware of this. I was more looking for smth like Snarky wrote.
The shortcut Ctrl+/ would be a nice addition to the ags script editor.

Pumaman

QuoteConsidering some of the improvements and changes (dialog scripts, discontinuation of Win98 support and anti-glide mode to name a few) I wonder whether of not the update is that minor to worth just a tiny 0.0.1 increment in the version number though (especially, as always, when we expect there will be more to come in the next betas).

Interesting point. I'm not planning to add much more to 3.1.1, because it fixes a few fairly important things from 3.1, so this will probably be a short-ish release cycle which probably means 3.1.1 will be an appropriate name.

QuoteSeeing as my projects don't make use of the dialog_request function, one doesn't exist in my scripts at all. As soon as I run the game I get:
Script link failed: Runtime error: unresolved import 'dialog_request'

Thanks, well spotted. I'll get that fixed.

Quote- marking both brackets if the cursor is near one. Like it is already when closing brackets. If you have many ifs within ifs and want to make else to some of them, you may get lost in the huge amount of brackets.

This is a possibility, but the Match Brace feature is easy enough to use as Trent says.

Quotethats... interesting. I would suggest a help file site for all shortcuts?

Well, this is displayed on the Edit menu, so it's not exactly a hidden shortcut.


PixelPerfect

Nice work CJ!

I had the same script link error that monkey reported and used his work-around to test theora which seems to be working pretty splendidly!  8) Now you can actually use video without bloating the game.

LimpingFish

Compiled Theora vids!

/does a happy jig.

Great work as usual, CJ. \o/
Steam: LimpingFish
PSN: LFishRoller
XB: TheActualLimpingFish
Spotify: LimpingFish

Trent R

Quote from: Pumaman on Thu 13/11/2008 00:47:07
Quote from: Lt. Smashthats... interesting. I would suggest a help file site for all shortcuts?
Well, this is displayed on the Edit menu, so it's not exactly a hidden shortcut.
But what about the Tab-switching shortcut you just taught me? Although not on a visible menu, I didn't know about it. I would welcome a manual entry (or equivalent) of editor shortcuts.

~Trent
To give back to the AGS community, I can get you free, full versions of commercial software. Recently, Paint Shop Pro X, and eXPert PDF Pro 6. Please PM me for details.


Current Project: The Wanderer
On Hold: Hero of the Rune

mikosworld

Some suggestions:
> Support Mouse over, Mouse out, left Click, Middle & Right Click functions on objects and hotspots ...
> Improved display of antialisaing Fonts ...
> Supports Draw oultine on sprites

Ghost

Quote from: mikosworld on Thu 13/11/2008 14:25:45
Some suggestions:
> Support Mouse over, Mouse out, left Click, Middle & Right Click functions on objects and hotspots ...

Left and right clicks on ANYTHING are already available, and mouseover/mouseleave are not too hard to script.

A thing I'd like to see, though, would be the renumbering/resorting feature of rooms to be extended, at least to views, but characters are also a sensible suggestion I think. Call me spoiled, but I think it's useful to resort these "building blocks" in any way I like, so I'd really appreciate that.

Trent R

Quote from: Ghost on Thu 13/11/2008 22:33:59
A thing I'd like to see, though, would be the renumbering/resorting feature of rooms to be extended, at least to views, but characters are also a sensible suggestion I think. Call me spoiled, but I think it's useful to resort these "building blocks" in any way I like, so I'd really appreciate that.
Seconded, especially inventories. I want to be able to use UpdateInventory to re-sort my items (in my RPG, weapons are kept together, etc) but they're not all in the order I want them in the editor. I'd be willing to go through and switch them, but I also have 3 properties on each, which would make switching even more of a pain.

~Trent
To give back to the AGS community, I can get you free, full versions of commercial software. Recently, Paint Shop Pro X, and eXPert PDF Pro 6. Please PM me for details.


Current Project: The Wanderer
On Hold: Hero of the Rune

Pumaman

QuoteBut what about the Tab-switching shortcut you just taught me? Although not on a visible menu, I didn't know about it. I would welcome a manual entry (or equivalent) of editor shortcuts.

Fair enough, there are a few "hidden" shortcuts like Ctrl+Tab and Ctrl+W, it wouldn't do any harm to have a page about them.

Quote> Support Mouse over, Mouse out, left Click, Middle & Right Click functions on objects and hotspots ...

There is a Mouse Over for hotspots.
The usual reason for wanting Mouse Out is supported by Mouse.SaveCursorUntilItLeaves
Left/middle/right click handlers are what all the event handelrs like "Look at", "Interact with" etc are for ... if you don't want to use them there is an "Any click" event you can use instead to catch all.

Quote> Improved display of antialisaing Fonts ...

What do you mean?

Quote> Supports Draw oultine on sprites

What do you mean? Why would you want AGS to draw an outline round your sprites?

QuoteA thing I'd like to see, though, would be the renumbering/resorting feature of rooms to be extended, at least to views, but characters are also a sensible suggestion I think. Call me spoiled, but I think it's useful to resort these "building blocks" in any way I like, so I'd really appreciate that.

Fair enough, especially with the inventory order as Trent says. I can see that would be useful.


Oh also, I've discovered that ListBox.FillSaveGameList is broken in this beta, so I'll get it fixed for the next one.

mikosworld

> Improved display of antialisaing Fonts ...
> What do you mean?
I mean, the font anti-aliasing appears poor quality :(

> Supports Draw oultine on sprites
> What do you mean? Why would you want AGS to draw an outline round your sprites?
Draw an outline as in Monkey Island, Runaway, when one item is on another item, object or hotspot ....

RickJ

No More Files Error on net mapped drives,

Just a reminder about this.  I believe in a our previous discussion it was determined that .NET incorrectly throws an error condition when getting a list of files from an empty directory and that the error could be filtered and safely ignored.   I can ask smiley to workout a code snippet to do the filtering if that would be helpful.  Thanks for all your hard work.

Trent R

Quote from: mikosworld on Fri 14/11/2008 01:32:00
I mean, the font anti-aliasing appears poor quality :(
Are you sure you're using TTF fonts and you're not talking about the defeault fonts?

Quote from: mikosworld on Fri 14/11/2008 01:32:00
Draw an outline as in Monkey Island, Runaway, when one item is on another item, object or hotspot ....
Can't you just draw an outline in your favorite paint program, and use the Mouse.SaveCursorUntilItLeaves (look it up in the manual, or the forums)


QuoteFair enough, especially with the inventory order as Trent says. I can see that would be useful.
Does that mean I can expect it within a few betas? Or at least with 3.1.1 release? Oooh goody!

QuoteOh also, I've discovered that ListBox.FillSaveGameList is broken in this beta, so I'll get it fixed for the next one.
I've used that in my game, but I haven't been saving recently so I never noticed...


~Trent
To give back to the AGS community, I can get you free, full versions of commercial software. Recently, Paint Shop Pro X, and eXPert PDF Pro 6. Please PM me for details.


Current Project: The Wanderer
On Hold: Hero of the Rune

Dualnames

Quote from: Pumaman on Wed 12/11/2008 01:33:40
* Added support for running normal scripts as part of dialog scripts, and thus obsoleted the run-script, dialog_request business

WOW. That is definetely one hard thing to script, and yet even if it might appear to be buggy..woo..I so think this is one hell of an improvement.
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

QuoteI mean, the font anti-aliasing appears poor quality

Can you post a screenshot with an example of this?

QuoteDraw an outline as in Monkey Island, Runaway, when one item is on another item, object or hotspot ....

Well, considering that games tend to brighten the sprite as well as adding an outline in various styles, I don't think it makes sense for AGS to try and do this automatically.
As Trent says, it's easy enough for you to simply draw an alternate sprite with the outline, and then switch the mouse cursor to show the other sprite when over an item.

QuoteNo More Files Error on net mapped drives,

Just a reminder about this.  I believe in a our previous discussion it was determined that .NET incorrectly throws an error condition when getting a list of files from an empty directory and that the error could be filtered and safely ignored

I've looked into this further and it seems to be a Win32 error where FindFirstFile returns the wrong error code on Linux shares. I've put something into RC 1 that should get around this, let me know if it fixes the problem.

QuoteDoes that mean I can expect it within a few betas? Or at least with 3.1.1 release? Oooh goody!

Hehe don't push your luck  :P
There are a lot of requests that would be useful to add, sadly there's not enough time in the day to add them all.


Anyway, as I said this version is on quite a short release cycle because it fixes a few important 3.1 issues, so Release Candidate 1 is now up. I am not planning to add anything further to 3.1.1 now, except bug fixes.

Shane 'ProgZmax' Stevens

Excellent work, CJ.  You're really going overtime with the updates.

Also guys, please remember that none of these release threads are for suggestions.  If you'd really like something added, do a search to see if it's been asked already/implemented, and if not, make a separate thread for it :).

RickJ

Quote
I've looked into this further and it seems to be a Win32 error where FindFirstFile returns the wrong error code on Linux shares. I've put something into RC 1 that should get around this, let me know if it fixes the problem.
Thank you so much, it seems to work just fine.  I'll give it some heavy duty testing in the next couple of days but so far it seems top work just dandy.  Thaniks again...

mrsix

Im not sure if I've done this right, but I unzipped all the files to my AGS location, and overwrote the same file names, and now it says "This application has failed to start because the configuration is incorrect, re-installing may fix the problem".

DId I do this wrong??

Gilbert

What's the version of the AGS folder you overwrote the files to?

It must be at least V3.1.

Also, when trying a new beta, make sure you copy the AGS folder to a new one and overwrite the files in the new folder.

freshpaint

#30
UPDATE: did quick compile of Darkdevil County and got tons of error messages:

Dialog 0(26): The command 'return' will be ignored since the script for this option has already finished
Dialog 0(36): The command 'return' will be ignored since the script for this option has already finished
Dialog 5(51): The command 'stop' will be ignored since the script for this option has already finished
Dialog 7(18): set-globalint must supply global int number and new value
Dialog 7(26): set-globalint must supply global int number and new value
Dialog 8(7): The command 'return' will be ignored since the script for this option has already finished
Dialog 8(10): The command 'return' will be ignored since the script for this option has already finished
Dialog 9(23): The command 'return' will be ignored since the script for this option has already finished
Dialog 10(20): The command 'return' will be ignored since the script for this option has already finished
Dialog 11(14): The command 'return' will be ignored since the script for this option has already finished
Dialog 24(24): The command 'return' will be ignored since the script for this option has already finished

I did nothing to any of the scripts or dialogs since 3.1 RC2.  Not really sure what these messages mean or what I should do to fix them.  Will I have to convert all the dialogs to using the new methods?

ORIGINAL MESSAGE: You're too quick for me!  One more art project to deliver, and then it's back to Darkdevil County.  Am downloading latest release now. Now that election in US is over, time to obsess about something truly meaningful <ggg>

Pumaman

QuoteExcellent work, CJ.  You're really going overtime with the updates.

That's what being "between jobs" does to you!! Sadly that time for me has now come to an end, so don't expect any more new releases at this speed  :P

QuoteThank you so much, it seems to work just fine.  I'll give it some heavy duty testing in the next couple of days but so far it seems top work just dandy. 

Glad to hear it, let me know if you have any problems.

QuoteIm not sure if I've done this right, but I unzipped all the files to my AGS location, and overwrote the same file names, and now it says "This application has failed to start because the configuration is incorrect, re-installing may fix the problem".

Create a new empty folder and unzip the zip file into that. See if the editor will start then.

QuoteUPDATE: did quick compile of Darkdevil County and got tons of error messages:

Most of those look like warnings, not errors. Because the dialog script compiler has been rewritten in 3.1.1, it will detect problems that it didn't used to find.

QuoteDialog 0(26): The command 'return' will be ignored since the script for this option has already finished

This is simply warning you that the dialog script has already finished so the "return" is redundant. For example if you do this:

@1
ego: "Hello"
goto-dialog dSecondDialog
return

you'll get that warning because "goto-dialog" aborts the script, so you don't need the "return".

QuoteDialog 7(26): set-globalint must supply global int number and new value

Can you post the line of dialog script that causes this error, so I can see if it's a bug in the compiler or a genuine script error?

freshpaint

Here's the entire dialog in question.  Lines 18 and 26 get the red-x error message when I compile with the new 3.1.1 rc 1.  With the new dialog features don't have to do this any longer, but anyway....

// Dialog script file
@S  // Dialog startup entry point
PLAYER: Lina!
LINA: Magwyn?  What are you doing here?
PLAYER: I just gave blood.  How could you forget?
LINA: I don't understand.  Forget what?
PLAYER: I got a message from you, saying it was urgent.  I came right over.
LINA: I didn't send you a message.
return
@1
PLAYER: That's odd.  I heard your brother got shot up pretty bad in that skirmish,
PLAYER: ... so I figured --
LINA: Please!  Enough about the war!  It's all I ever hear!
LINA: If the clones want their independence,
LINA: I say fine!
LINA: I'm leaving.
PLAYER: Lina!
set-globalint 0, 0
run-script 4
stop
@2
LINA: To visit Kyle, of course.
PLAYER: Don't you ever think about anything other than guys?
LINA: Never!
LINA: It's much better than thinking about -- I'm sorry...
set-globalint 0, 1
run-script 4
PLAYER: Lina! I'm sorry!  I forgot about your brother!



stop
///////////////////////////////////

Sorry to hear your "resting" period will soon be over.  Mine continues (unless anyone knows of a job for an old-school C programmer with VB skills, lite HTML..)

Lt. Smash

is there a maximum kbps for sound files or is this a bug in the new version? I can't play soundfiles with 3072kbps. I lowered the rate of the wave file down to 128kbps and now it works in the game (of course with bad quality since its 128kbps).

SSH

Quote from: Lt. Smash on Mon 17/11/2008 19:06:53
is there a maximum kbps for sound files or is this a bug in the new version? I can't play soundfiles with 3072kbps. I lowered the rate of the wave file down to 128kbps and now it works in the game (of course with bad quality since its 128kbps).

Well, of course, there's little point going higher than 3072kps since that's about all that the human ear can discern, in stereo. (48kHz 2x 32-bit)

What program did you generate the files in and are they wav, ogg or mp3?
12

Lt. Smash

I used adobe audition and its a wave file. Anyone knows whats the real maximum kbps for sound?

SSH

Quote from: Lt. Smash on Mon 17/11/2008 20:16:44
I used adobe audition and its a wave file. Anyone knows whats the real maximum kbps for sound?

Most humans can hear up to 20KHz. You need double that sampling frequency to capture that frequency, lets say 48KHz to be on the safe side. You need 32 bits for each channel (left and right) and so you get 48000*32*2=3072kbps. However:

Do you really need stereo? Do you really need 24-kHz frequencies? Do you really need 32-bits? Not if you don't have your own sound-proof recording studio. I'd say that 22kHz sampling, 16-bit resolution and  mono is good enough for sound effects and voice and stereo for music. That makes  352kbps...
12

Adamski


Ishmael

Higher bitrates than 16 seem to cause more or less trouble all over the place. Unless you're making a game targeted for audiophiles I don't see a reason to go that high
I used to make games but then I took an IRC in the knee.

<Calin> Ishmael looks awesome all the time
\( Ö)/ ¬(Ö ) | Ja minähän en keskellä kirkasta päivää lähden minnekään juoksentelemaan ilman housuja.

rvampire

I noticed the interaction editor is still haunting the help file. Some parts of the help file concerning how to detect which inventory item the player is trying to use still reference interaction editor. I think you can find all the references if you search 'conditional' from the help file.

Shane 'ProgZmax' Stevens

freshpaint-  your problem in both cases is the run-script call.  Since CJ has removed the need for dialog_request, so has the need for run-script calls been removed.  What you will want to do is take the code you have in dialog_request for each of those calls and pop it in place of the run-script (with at least one space after each line).  Unless he's making it fully backwards compatible, in which case I suppose it's a glitch afterall.

Trent R

rvampire, 'conditional' brings up Interaction events, and the two scripting tutorials. But everything still applies to interaction scripting. Conditional is just the normal, non-programming name for an if-statement.

Pumaman, that did remind me. It always annoyed me that the tutorial help pages where all named 'untitled'. But I read somewhere (previous beta thread I think while running a forum search) that this couldn't be changed because of how the help file was compiled. Is this still the case?

QuoteHehe don't push your luck
Yeah yeah, I knew it wouldn't be with release cycle. But that would be my most desired feature (followed by a variable tab in the output window, but I won't expect that until at least AGS 8.3 :P).

And lastly, excellent work as always CJ! Shame (for AGS 3.2 :D) that your break will be ending soon.


~Trent
To give back to the AGS community, I can get you free, full versions of commercial software. Recently, Paint Shop Pro X, and eXPert PDF Pro 6. Please PM me for details.


Current Project: The Wanderer
On Hold: Hero of the Rune

rvampire

I'm aware what a conditional is  :) But following direct quote - including the quotation marks - sounds to me as a reference to interaction editor. Or maybe my reading comprehension is not so good, being a non-native speaker.  (Which you can tell from over sophisticated word choices  ;) )

QuoteAdd a "Conditional - if inventory item was used" check to determine which item they used.

freshpaint

Yes, I know how to fix the run-script thing, thanks. He'd asked me to post the compile errors I received and the lines causing them.  I assume he's looking for a certain amount of backward compatibility.  It will take a long time for me to move all my dialogs (I'm pretty wordy) into the new format, plus there's a lot of possibility for redesign now -- doing stuff while talking! 

This was the only place I'd used global ints, tho, since when new to AGS it was one of the first dialogs I'd done and was following the doc. Don't know whether others have made use of them in this manner.

Pumaman

QuoteHere's the entire dialog in question.  Lines 18 and 26 get the red-x error message when I compile with the new 3.1.1 rc 1.  With the new dialog features don't have to do this any longer, but anyway....
set-globalint 0, 0
...
set-globalint 0, 1

Thanks, looks like the new compiler doesn't allow commas between the parameters here. I'll fix it.

QuoteI noticed the interaction editor is still haunting the help file. Some parts of the help file concerning how to detect which inventory item the player is trying to use still reference interaction editor. I think you can find all the references if you search 'conditional' from the help file.

Well spotted, thanks, I'll get them removed.

Quotefreshpaint-  your problem in both cases is the run-script call

I think it's important to note that existing run-script calls should still work fine; the new dialog script should be 100% backwards compatible.

QuotePumaman, that did remind me. It always annoyed me that the tutorial help pages where all named 'untitled'. But I read somewhere (previous beta thread I think while running a forum search) that this couldn't be changed because of how the help file was compiled. Is this still the case?

Yes, the help file is still compiled the same way.

Lt. Smash

error:
if you start typing #XXX (X = random chars) in script editor you get an error.

Ryan Timothy B

I noticed if you start typing and when the Auto-Complete menu pops up.  If you backspace whatever text you have typed and type a '(' bracket, it automatically types for you 'AbortGame('.

I seem to do this a lot because I always forget to place brackets on If statements and what-not and once I type a few characters I usually realize.  Therefor creating a 'Grrr' moment once 'AbortGame(' takes place instead of a bracket.

;)  It's not a 911 emergency or anything by all means, just annoying.

Pumaman

Quote from: Lt. Smash on Thu 20/11/2008 15:59:36
if you start typing #XXX (X = random chars) in script editor you get an error.

What error, exactly? I get a compile error as expected, but what are you expecting it to do?

QuoteI noticed if you start typing and when the Auto-Complete menu pops up.  If you backspace whatever text you have typed and type a '(' bracket, it automatically types for you 'AbortGame('.

Hmm, well you can always press ESC to cancel the autocomplete. I'll have a look at it though.

Vince Twelve

Wow, I'm gone for a while and my entire awesome custom dialog system is rendered obsolete!  Well, I guess not really since I can't upgrade to this version due to Resonance using that upscaled ttf font bug in 3.0.2.  But it will be extremely helpful for Ivy's new game!  Thanks CJ!

Pumaman

Ok, RC 2 is now up. Unless any major problems are found, I hope to make this into the Final release in the next week or two.

Please let me know how you get on. In particular, any problems with dialog scripts, Theora video or the D3D driver, please don't keep them to yourselves!

Ghost

#50
My save/load GUI (fullscreen GUI in a 320x240 game) creates six dynamic sprites to put savegame screenshots on buttons; this works without any trouble when I use DirectDraw, but causes a short, but noticeable delay when using D3D: About a second in fullscreen and a bit more in windowed mode.
I suppose there's an easy workaround, but wanted to report anyway. Apart from that, no troubles at all, though all else I could test was dialog scripts. One thing I noticed is that in all scripts, when you "stick to the autocomplete", a space is inserted, so that you end up with, say, player.walk(120, 120, eBlock);
When writing scripts in the dialog section, you get player.walk(120,120,eBlock); - no auto-spacing.


Dualnames

#51
Quote from: Pumaman on Wed 03/12/2008 22:15:10
Please let me know how you get on. In particular, any problems with dialog scripts, Theora video or the D3D driver, please don't keep them to yourselves!


Sorry mate. I didn't do it in purpose. I thought that it was impossible to open videos in D3D that's all. I promise, I'll let you know. Thanks a bunch for fixing it.
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)

subspark

One rather annoying thing is the default install path.
There are so many versions of AGS 3+ available now that I believe they all need to be housed in a neat folder like:

C:\Program Files\Adventure Game Studio 3\

or C:\Program Files\BigBlueCup\Adventure Game Studio 3.x.x\

Cheers,
Sparx.

Gilbert

Well, IMO installation itself is annoying enough already, but I understand that someone may find this helpful (especially VISTA users I think) so I have no objective to it. As long as there is a non-installation alternate download (which is the case for official releases) it's fine with me.

However, the most irritating thing is, test versions that are close to a release are available in installation versions only. I used to keep various versions of AGS in this working computer for testing and such. Also, since I don't have administrative right officially, that means it will cost me extra work to install them. Furthermore, IMO the 'My Documents' folder was one of the most evil features of Windows, which I never use. The change that the default game path is in 'My Documents' (I think it was done because of something related to VISTA) upset me, not that I cannot change it when I make my own games, but when installing AGS itself I will have to choose either not to install the Demo game or to install it and then move it to a much better location, to prevent the mess it causes.

subspark

Your point above is 1 of two of the annoyances I was pointing out.
If the install path was standardized then RC installers wouldn't be such a problem.

No more cluttering:
C:\Program Files\Adventure Game Studio 3.0
C:\Program Files\Adventure Game Studio 3.0.1
C:\Program Files\Adventure Game Studio 3.0.2
C:\Program Files\Adventure Game Studio 3.1
C:\Program Files\Adventure Game Studio 3.1.1
C:\Program Files\Adventure Game Studio 3.1.2

I could go on. ;)

Cheers,
Sparx.

Pumaman

QuoteMy save/load GUI (fullscreen GUI in a 320x240 game) creates six dynamic sprites to put savegame screenshots on buttons; this works without any trouble when I use DirectDraw, but causes a short, but noticeable delay when using D3D: About a second in fullscreen and a bit more in windowed mode.

The DynamicSPrite.CreateFromScreenShot function is slow in D3D mode, because reading from the screen is very slow with the 3D graphics pathway. There's not much I can do about this, unfortunately.

QuoteOne thing I noticed is that in all scripts, when you "stick to the autocomplete", a space is inserted, so that you end up with, say, player.walk(120, 120, eBlock);
When writing scripts in the dialog section, you get player.walk(120,120,eBlock); - no auto-spacing.

Yes, the comma-indentation is disabled in dialog scripts so that it doesn't get in the way when typing normal dialog lines. There is an outstanding request to allow it to be disabled in normal scripts too.

QuoteOne rather annoying thing is the default install path.
There are so many versions of AGS 3+ available now that I believe they all need to be housed in a neat folder like:

C:\Program Files\Adventure Game Studio 3\
or C:\Program Files\BigBlueCup\Adventure Game Studio 3.x.x\

Well, if I did that, then other people would complain that it was installed in an unnecessary sub-folder that made it hard to get to.
I don't think that many people have more than one or two versions of AGS installed at the same time, so I can't see this being a big issue. If it bothers you, just change the install path when you install it.

QuoteHowever, the most irritating thing is, test versions that are close to a release are available in installation versions only

This is done only with the final RC version, and is after a previous incident where the "Final" installer didn't work and the demo game was broken. By distributing the full thing as RC2, it allows any problems with these things to be found before it's too late.

QuoteThe change that the default game path is in 'My Documents' (I think it was done because of something related to VISTA) upset me, not that I cannot change it when I make my own games, but when installing AGS itself I will have to choose either not to install the Demo game or to install it and then move it to a much better location, to prevent the mess it causes.

With recent versions the demo game is now installed to the AGS folder in Program Files, rather than into your profile, so this should no longer be a problem.

GarageGothic

#56
Speaking of savegames, is there any chance that the name could be stored as a String (or even just a 255 char string) rather than the currently very limited number of characters? I like to use it for storing additional information such as time of save, room ID and the current day in the game, which doesn't leave much space for whatever the player types.

Gilbert

#57
Quote from: subspark on Thu 04/12/2008 10:46:30
Your point above is 1 of two of the annoyances I was pointing out.
If the install path was standardized then RC installers wouldn't be such a problem.

In fact, what I want is the opposite, I'd rather have different test versions installed into different folders (which is the case at the moment), as test versions are not supposed to be used by a normal user, but for more advanced users for testing. Having them in different folders helps people compare the versions during tests. Moreover, installing the final version into a fresh new folder will illiminate possible (rare) problems arising from just copying over the files.

However, the problem is, installers complicate things, by having a default folder (in Programme Files, which I don't want AGS to be installed to) that means I need to go through all those explorer-clickings or type out a path during install if I don't want to use the default folder. Worse of all, you can't remove a version (especially those RC versions, for which only installers are provided) by just deleting the folder, but have to use the annoying 'add/remove programmes' function. I understand the reasons of the move to providing installers (and we have gone through the debate so there's no point in arguing about it) but IMO it's more reasonable to have the non-installer version for the release candidates (having both versions for the official release is enough).

Quote from: Pumaman on Thu 04/12/2008 18:18:19
With recent versions the demo game is now installed to the AGS folder in Program Files, rather than into your profile, so this should no longer be a problem.

Oh, didn't notice that. After knowing that it installed the Demo Game in V3.0 (I think, maybe a test version of V3.0) I never install the Demo Game anymore. It's still annoying that creating a new game defaults to My Documents though (and you have to type the whole path manually if you want to create it elsewhere). Yes, I know that this can be changed in Preference, just ranting.

subspark

Quote from: Gilbet V7000a on Fri 05/12/2008 01:19:13
In fact, what I want is the opposite, I'd rather have different test versions installed into different folders.

Oh I get you now. Fair enough actually. :)

You also make a good point, CJ. I guess we don't really install every version there is without first removing the old ones.

Cheers,
Sparx.

Dualnames

So since now I’m not the same fool..so I could check my games on D3D..I’ve noticed that the baselines of the objects match each other perfectly, but they don’t match with the walk behinds area.
I’ve opened a game using AGS 3.1.1 RC 2. Everything appeared to be fine, but normally(I’m using AGS 3.1.0) when I click on a character
If that character isn’t no tea or brush.
a GUI with 3 buttons appears (gChars)
If that character is no tea or brush.
A GUI with two buttons created only for those characters appears.(gOtherCharacters)
and when I click on anything else a GUI with two buttons appears.(gEquip). 
However when I loaded the game in RC 2 (didn’t open it with RC 1), when I clicked on a character instead of gChars(since that character wasn’t tea) gEquip would open. Trying to solve this alone, I’ve put some return commands. (Those I’ve commented on the code below).
The code below works fine without the return commands for any character in 3.1.0. And in 3.1.1  it works only when I put the return. So this difference does it have to do with something that changed on the GetLocationType command(I recall seeing a post about it)?
Other than that everything seems to be in perfect order.

Code: ags

function on_mouse_click(MouseButton button) {
if (button == eMouseLeft) {
if (GetLocationType(mouse.x,mouse.y)==eLocationCharacter) {
if ((chr==cNoTea)||(chr==cBrush)) {
gOtherCharacters.SetPosition(mouse.x,mouse.y);
gOtherCharacters.Visible=true;
//return;
}
if ((chr!=cNoTea)&&(chr!=cBrush)){
gChars.SetPosition(mouse.x,mouse.y);
gChars.Visible=true;
//return;
}
}
if (GetLocationType(mouse.x,mouse.y)!=eLocationCharacter) {
gEquip.SetPosition(mouse.x,mouse.y);
gEquip.Visible=true;
//return;
}
}


Note: If you need the files let me know.,
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)

Gilbert

I think the problem is, because when you clicked a character the GUI thus popped up under the cursor will now make the locationtype eLocationNothing. So the '!=eLocationCharacter ' part will also be executed and thus gEquip also pops up. You can actually solve this in a more systematic way by using some 'else' instead of 'return'

Code: ags

function on_mouse_click(MouseButton button) {
  if (button == eMouseLeft) {
    if (GetLocationType(mouse.x,mouse.y)==eLocationCharacter) {
      if ((chr==cNoTea)||(chr==cBrush)) {
        gOtherCharacters.SetPosition(mouse.x,mouse.y);
        gOtherCharacters.Visible=true;
      } else if ((chr!=cNoTea)&&(chr!=cBrush)){
        gChars.SetPosition(mouse.x,mouse.y);
        gChars.Visible=true;  
      }
    } else {
      gEquip.SetPosition(mouse.x,mouse.y);
      gEquip.Visible=true;
    }
  }


I didn't check how different was the original behaviour of the functions so I don't know why it worked in the past though.

Dualnames

That's what I'm wondering. It shouldn't have worked in the past version. However for a reason it did.
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)

freshpaint

#62
With my Darkdevil game, I hear no music running with the latest (rc2) version.  I will do more testing later, but thought you should know initial trial.  I've been having a few problems with my computer lately, but I can play both the mp3 files and the .ogg files in the game thru audacity.  The sound files seem to play ok, just not the music.

Don't know whether the same problem was in the rc1, since because of the comma error problem with the dialogs I never had a successful, runnable compile.

How I executed it:  just downloaded the new exe and ran the installer.  I have 3d drivers 800 px. I use 120 dpi and XP Professional with 3.0 upgrade and all the latest drivers (I think).

UPDATE: I removed the lines that were causing RC1 to fail and have the same problem with music not playing in that version too.  Music plays fine elsewhere and in all the other games I have, and in my current online demo, etc., so don't think it's anything to do with my computer. Also, ambient sounds play fine, and all the playsounds are fine.  Just seems to be the music.

UPDATE2: .mid and .ogg files play just fine using playmusic. It's just the .mp3 files for playmusic.  If I play the same mp3 file using playsound, it works.



Pumaman

QuoteSpeaking of savegames, is there any chance that the name could be stored as a String (or even just a 255 char string) rather than the currently very limited number of characters? I like to use it for storing additional information such as time of save, room ID and the current day in the game, which doesn't leave much space for whatever the player types.

Sorry, it's too late for requests for this version. Please can you open another thread or use the wishlist thread for suggestions at this point.

QuoteThe code below works fine without the return commands for any character in 3.1.0. And in 3.1.1  it works only when I put the return. So this difference does it have to do with something that changed on the GetLocationType command(I recall seeing a post about it)?
Other than that everything seems to be in perfect order.

Hmm, as Gilbert says it looks like it shouldn't have worked before. Thanks for reporting it though, I'll have a think if there's any reason why that might be.

QuoteWith my Darkdevil game, I hear no music running with the latest (rc2) version.  I will do more testing later, but thought you should know initial trial.  I've been having a few problems with my computer lately, but I can play both the mp3 files and the .ogg files in the game thru audacity.  The sound files seem to play ok, just not the music.

Thanks for reporting this, I'll look into it.

Pumaman

Ok, the 3.1.1 Final release is now available, which fixes the music issue.

This version is now ready for release, so if you're still using 3.1 please try upgrading to this version and let me know if you have any problems.

Once I'm happy that people are using this Final release and it's working properly, I'll make it official and release it to the website.

Dualnames

Quote from: Pumaman on Wed 10/12/2008 22:49:25
Ok, the 3.1.1 Final release is now available, which fixes the music issue.

This version is now ready for release, so if you're still using 3.1 please try upgrading to this version and let me know if you have any problems.

Once I'm happy that people are using this Final release and it's working properly, I'll make it official and release it to the website.


Well, I was about to post something concerning 3.1 but well I'll try upgrading to 3.1.1,however here's what happened.

Instead of using an inventory sprite when the player selects due to I want two sprites per inventory item, I have a function that changes mode graphic.

Situation:
Accidentally, you could open the menus and save your game having as inventory cursor that sprite. Thing is I saved the game. When I load it the sprite that I set as starting sprite appeared.

To make things totally clear:
sprite number 1(imagine a big blue cup, not set in a inventory item)
sprite number 2(inventory  1 sprite)
now when you open the inventory sprite number 2 appears in the inventory window and that's what i want ,so fine with that.
If you click on a button called select the mouse changes graphic, but the inventory window still has the same sprite..so that's fine too.
However if I click on select and then save, for no reason explained by script the sprite that is supposed to be on the inventory window is set as mouse graphic instead of sprite 1.

Thing is this happens on the older versions of the game too. Which is totally weird.
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)

OneDollar

Brand new AGS project in 1024x768 resolution. I'm trying to use a DynamicSprite to load a bitmap and draw it on a button, but when I run
Code: ags

function LoadTilesBtn_OnClick(GUIControl *control, MouseButton button)
{
  TilesSprite = DynamicSprite.CreateFromFile("Edges.bmp");
  TilesBtn.NormalGraphic = TilesSprite.Graphic;
}

I don't get the right-hand column or the bottom row of pixels drawn.

However if I do...
Code: ags

function LoadTilesBtn_OnClick(GUIControl *control, MouseButton button)
{
  TilesSprite = DynamicSprite.CreateFromFile("Edges.bmp");
  TilesBtn.NormalGraphic = TilesSprite.Graphic;
  TilesBtn.Height += 1;
  TilesBtn.Width += 1;
}

I get the whole picture drawn on the button. Looks like when the button's resized to the imported bitmap is 1 pixel out on both the width and the height.

Other than that everything's all fine and dandy. Thanks for all the hard work!

Trent R

Quote from: OneDollar on Sat 13/12/2008 21:05:30Looks like when the button's resized to the imported bitmap is 1 pixel out on both the width and the height.
Actually, I think I had a similar problem like that with a label. The text of it would show in the editor, but not in-game(I believe it was wrapping to the next line, but the height too short). I solved it by increasing it's width by 1 pixel.

I think it was with 3.1 release.

~Trent
To give back to the AGS community, I can get you free, full versions of commercial software. Recently, Paint Shop Pro X, and eXPert PDF Pro 6. Please PM me for details.


Current Project: The Wanderer
On Hold: Hero of the Rune

OneDollar

I'm getting the missing pixel row and column when changing the height and width of buttons as well (no dynamic sprites). I've got another button that I'm setting the height and width to 2, but when its drawn I only see 1 pixel. You can click on all 4 pixels, so it seems like there's an invisible border being added.

By the way, I should have mentioned earlier that I've got the Clip Image setting on true.

Shane 'ProgZmax' Stevens

This is a bug barely worth a mention, but when I started an empty game with this version it defaulted the first room created to 301 for some reason.

DoorKnobHandle

#70
In AGS 3.1.0.59, 16-bit game:

(ignore 'r' -> 'are' through spelling corrector)

Code: ags

function CRenderer::SetDrawingColorRGB ( int are,  int g, int b )
// sets drawing color
{
      // select new color
      this.Surface.DrawingColor = Game.GetColorFromRGB ( are, g, b );
}

// then later
Renderer.SetDrawingColorRGB ( 0, 255, 0 );


Gives completely wrong, random results when I draw something after calling DrawingColorRGB. Calling the function with ( 0, 255, 0 ) should give me green, it gives me pink, calling it with ( 255, 0, 255 ) gives me white, ( 255, 0, 0 ) gives black etc.

Code: ags

function CRenderer::SetDrawingColor ( int color )
// sets drawing color
{
      if ( this.Surface.DrawingColor != color )
      // if new color is not already selected
            // select new color
            this.Surface.DrawingColor = color;
}


The above function works, however, which is why I think that it's a bug in AGS. Can anybody confirm?

EDIT: Also, I imported a module named "Renderer" in another project, in AGS 3.1.0.59 it renamed it to "renderer" (lower case) and whenever I try to capitalize it, it says "Module 'Renderer' already exists". I can rename it to "renderer2" or "rensjfkdgsdkf2", but even when capitalizing THAT it'll say "Module 'Rensjkfdjkdfsd2' already exists".

freshpaint

#71
Errors for 3.1.1 Final:

Ok, the .mp3 problem has been solved, but one other problem persists.  A few weeks ago I posted the problem about getting warnings/error codes in the dialogs with "unnecessary" returns following goto-dialogs (UPDATE: also happens with new-room).  Decided to clean up the code a bit and removed the return statements. 

This is what I now get -- red circle-with-x errors, not warnings.  I put the offending "return" for Dialog 9 line 22 back to show what I was trying to correct.  If I remove it, I get the error message as well, and the game won't compile.

Dialog 0(26): Script commands can only be used in the area between a @ entry point and the closing return/stop statement
Dialog 0(36): Script commands can only be used in the area between a @ entry point and the closing return/stop statement
Dialog 5(51): Script commands can only be used in the area between a @ entry point and the closing return/stop statement
Dialog 8(7): Script commands can only be used in the area between a @ entry point and the closing return/stop statement
Dialog 8(10): Script commands can only be used in the area between a @ entry point and the closing return/stop statement
Dialog 9(22): The command 'return' will be ignored since the script for this option has already finished
Dialog 10(20): Script commands can only be used in the area between a @ entry point and the closing return/stop statement
Dialog 11(14): Script commands can only be used in the area between a @ entry point and the closing return/stop statement
Dialog 24(24): Script commands can only be used in the area between a @ entry point and the closing return/stop statement

Gilbert

Can you post your dialog script here for us to check?
(If you don't want us to see the actual dialog texts you can just change them to something like 'bla bla'. We only need to see the structure of the codes.)

freshpaint

#73
// Dialog script file
@S  // Dialog startup entry point
PLAYER: Let's see... where do I want to go?
return
@1
new-room 12
return

@2
new-room 8
return

@3
new-room 13
return

@4
stop


****************
This generates 3 warnings.  If I remove the offending 3 return statements (after the new-room statements) I get the red-circle-with-x errors instead, so the game can't be created.  UPDATE: I think it might be a whitespace thing -- I removed the blank lines and don't get the error messages when I recompile after removing the returns. This still not good, since I like to use a lot of whitespace, comments, etc. in my code.  Could get tricky, since the new way of handling dialogs uses leading spaces to figure out whether it's "dialog" or "script".



Gilbert

#74
Hmmm I didn't check much. But if the problem really came form the blank lines and you like to leave them in you may make a compromise by making them into comments instead, like:

@1
new-room 12
return
//
@2
...

(I'm not quite sure and I didn't check it, but I think it's possible that those blank lines are treated by AGS as dialog text also, so leaving some blank lines (speech texts) after the return's can cause problem.)

freshpaint

Is just easier for me to live with the warnings for now.  Seems like something Chris might want to fix at some point.  I can't be the only one with this problem. THanks for looking at it.

Shane 'ProgZmax' Stevens

The problem with blank space is probably a parsing issue and I'm sure CJ will want it fixed regardless.

abstauber

#77
Just encountered a bug in AGS 3.1.1

I'm modifying Akumayos weather plugin right now and stumbled across this.
Whenever a function in a struct has more than 10 parameters, I get an "unresolved import error". With less than 10, it works fine.

Code: ags

function WeatherModule::BeginEnvEffect(int slota, int slotb, int slotc, int slotd, int slote, int slotf, int slotg, int envfallingspeed, int envwindspeed, int weathergoing)


for example calling this function returns:
unresolved import 'WeatherModule::BeginEnvEffect^10'

When I remove e.g. 'int slotg', it works fine. Of course a workaround is obvious, but this might be still worth mentioning.

SSH

I think its been said before that no AGS function can have more  than 10 arguments...
12

abstauber

oops ;)

Well I've only searched for unresolved import errors - nevermind then.

Pumaman

QuoteSituation:
Accidentally, you could open the menus and save your game having as inventory cursor that sprite. Thing is I saved the game. When I load it the sprite that I set as starting sprite appeared.

I'm really not clear about what you're saying. Can you post some snippets of the script you're using to do this?

QuoteI'm trying to use a DynamicSprite to load a bitmap and draw it on a button, but when I run
I don't get the right-hand column or the bottom row of pixels drawn.

Thanks for reporting this, yes it seems that ClipImage is chopping off the right and bottom row of pixels if the button size is exactly equal to the image size.

QuoteThis is a bug barely worth a mention, but when I started an empty game with this version it defaulted the first room created to 301 for some reason.

Did you check the "Do not save state in this room" box?

QuoteGives completely wrong, random results when I draw something after calling DrawingColorRGB. Calling the function with ( 0, 255, 0 ) should give me green, it gives me pink, calling it with ( 255, 0, 255 ) gives me white, ( 255, 0, 0 ) gives black etc.

I can't reproduce this problem. What colour depth is your game?
When you say that the second example works, what colour number are you passing into it?

QuoteEDIT: Also, I imported a module named "Renderer" in another project, in AGS 3.1.0.59 it renamed it to "renderer" (lower case) and whenever I try to capitalize it, it says "Module 'Renderer' already exists". I can rename it to "renderer2" or "rensjfkdgsdkf2", but even when capitalizing THAT it'll say "Module 'Rensjkfdjkdfsd2' already exists".

Thanks for reporting this, yes it seems that you can't rename a script to the same name but different capitalisation. As a workaround, rename the script to a totally different name like "temp" then rename it back to the name that you want.

QuoteThis generates 3 warnings.  If I remove the offending 3 return statements (after the new-room statements) I get the red-circle-with-x errors instead, so the game can't be created.  UPDATE: I think it might be a whitespace thing -- I removed the blank lines and don't get the error messages when I recompile after removing the returns.

Well spotted, I get this problem too if there is an indented blank line between script sections. The easy workaround is just to make sure that the line is totally blank and doesn't have any spaces on it.

QuoteI'm modifying Akumayos weather plugin right now and stumbled across this.
Whenever a function in a struct has more than 10 parameters, I get an "unresolved import error". With less than 10, it works fine.

Although this is a known issue, AGS should handle it better and provide a better error message for this, which I'll look into.


In terms of where we are now, none of these reported bugs except freshpaint's blank dialog lines problem are new problems in 3.1.1 -- all the others also affect AGS 3.1.

Therefore, I don't intend to unduly delay 3.1.1 by trying to fix everything now; I'll produce an updated version with a fix for the blank lines to avoid any backwards compatibility issues, and then unless any other 3.1.1-specific problems are found we'll go to the final official release.

Pumaman

Ok, I've uploaded a Final 2 release with the blank lines fix.

The other issues reported can wait until 3.1.2, since they also affect 3.1 and therefore the new version is not making things worse.

Shane 'ProgZmax' Stevens

QuoteDid you check the "Do not save state in this room" box?

Nope, though it hasn't happened again.  Also, I tried importing one of my games into 3.1.1 Final 1 and a lot of the sounds weren't playing for some reason.  The game had been built with a 3.0 version as well.

DoorKnobHandle

Quote from: Pumaman on Sun 21/12/2008 16:17:57
QuoteGives completely wrong, random results when I draw something after calling DrawingColorRGB. Calling the function with ( 0, 255, 0 ) should give me green, it gives me pink, calling it with ( 255, 0, 255 ) gives me white, ( 255, 0, 0 ) gives black etc.

I can't reproduce this problem. What colour depth is your game?
When you say that the second example works, what colour number are you passing into it?

Solved the problem, I forgot to import an actual black background for the room, so the color depth was messed up or something. It works fine now. I always forget to import an actual room image now that the room starts out with a black image initially. Is there any way around this, a warning or some kind of automation?

freshpaint

Thanks for addressing the blank line thing.  Unfortunately, I am without a computer I can use to test the game right now (am using a public computer while mine gets fixed again).  Will check it out as soon as my system is returned to me (maybe Friday or this coming Monday).  Until then, Happy Christmas to all who believe in Santa.

Pumaman

Quote from: ProgZmax on Mon 22/12/2008 01:07:22
I tried importing one of my games into 3.1.1 Final 1 and a lot of the sounds weren't playing for some reason.  The game had been built with a 3.0 version as well.

Can you confirm whether there is a problem here? Has anyone else had any problems with sounds?

QuoteSolved the problem, I forgot to import an actual black background for the room, so the color depth was messed up or something. It works fine now. I always forget to import an actual room image now that the room starts out with a black image initially. Is there any way around this, a warning or some kind of automation?

Ok great, glad it's solved. I'll look into some sort of warning in this situation.

Dualnames

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

Ah ok, this is because you're using ChangeModeGraphic to change the graphic of the inventory cursor. However, because the inventory cursor is automatically managed by AGS it is getting changed back again.

This isn't a 3.1.1-specific issue, therefore I won't let it hold up the release. I will look into a fix.

Dualnames

I said that yes I located a version that still occured (3.02)..I've bypassed it manually but thanks for looking it up.
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)

Shane 'ProgZmax' Stevens

#89
QuoteCan you confirm whether there is a problem here? Has anyone else had any problems with sounds?

All I can confirm is that it is indeed happening with the game every time I load it.  Some sounds still play while a majority of others do not.  Not sure what happened to do this to the sound files, really.

When I try playing some of these sounds in the audio manager for the new version the playback bar pingpongs back and forth and no audio plays, though they played fine in 3.0. 

I've uploaded one of the sounds this happens with.
http://www.mediafire.com/?2mxigxmmqez

Also, the editor still has problems importing images that don't use palette slot 0 as the transparent color, in other words it just makes it transparent even though I'm clearly using slot 255 of the palette.  It will even make any uses of slot 0 black if I use no transparent color at all and simply tell it to subtract the top left pixel (which is from slot 255).  I really hope you can fix this since it greatly reduces productivity with me having to go back to the animation and remove all references to slot 0 in the images and then re-import them.  I've pmed you with an example animation where this occurs.

Pumaman

Quote from: ProgZmax on Tue 23/12/2008 05:03:46
All I can confirm is that it is indeed happening with the game every time I load it.  Some sounds still play while a majority of others do not.  Not sure what happened to do this to the sound files, really.

Hmm, interesting. The sound file you posted does play in 3.1 but not in 3.1.1, so I'll look into that. However, it also doesn't play for me in Winamp, but does play in Media Player... strange.

QuoteAlso, the editor still has problems importing images that don't use palette slot 0 as the transparent color, in other words it just makes it transparent even though I'm clearly using slot 255 of the palette.

I'll look into this for 3.1.2.

Shane 'ProgZmax' Stevens

#91
That sound plays for me in winamp.  Thanks for looking into it :).

Something else I noticed today with the middle mouse button is that if you press it a bunch of times in succession it freezes the game with a  reference to the repeatedly_execute code block (which is empty in my game).  I tested this with identical code for a keypress (space) and for the middle mouse button and the keypress never generates an error and the middle mouse always does.  You have to press it repeatedly since single, delayed clicks don't always trigger it, but I have reproduced this.

And here is the strange area it references after crashing.


DoorKnobHandle

This just appeared out of nothing:

Code: ags

Error: StartIndex cannot be less than zero.
Parameter name: startIndex
Version: AGS 3.1.1.66

System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
   at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   at AGS.Editor.ScintillaWrapper.CheckFunctionForLocalVariables(Int32 currentPos, ScriptFunction func, String scriptExtract)
   at AGS.Editor.ScintillaWrapper.GetListOfLocalVariablesForCurrentPosition(Int32 currentPos)
   at AGS.Editor.ScintillaWrapper.FindLocalVariableWithName(Int32 startAtPos, String nameToFind)
   at AGS.Editor.ScintillaWrapper.GetFinalPartOfExpression(Int32 currentPos, ScriptStruct& memberOfStruct, Boolean functionsOnly)
   at AGS.Editor.ScintillaWrapper.ShowCalltip(Int32 openingBracketPos, Int32 parameterIndex, Boolean functionsOnly)
   at AGS.Editor.ScintillaWrapper.scintillaControl1_DwellStart(Object sender, DwellStartEventArgs e)
   at Scintilla.ScintillaControl.DispatchScintillaEvent(SCNotification notification)
   at Scintilla.ScintillaControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Didn't do anything though, didn't crash or anything.

Pumaman

QuoteThat sound plays for me in winamp.  Thanks for looking into i

Ok, this is now fixed and Final 3 is uploaded with the fix.

Hopefully (third time lucky!) this will be the final release of 3.1.1 and it can finally go forth if no further issues are found. Please try it out, guys!

QuoteSomething else I noticed today with the middle mouse button is that if you press it a bunch of times in succession it freezes the game with a  reference to the repeatedly_execute code block (which is empty in my game). 

Are you sure it has crashed? It looks like it might have triggered a breakpoint for some reason ... when it happens, if you press F5 does the game continue?

QuoteThis just appeared out of nothing:

Error: StartIndex cannot be less than zero.
Parameter name: startIndex
Version: AGS 3.1.1.66

Hmm, this looks like the same bug Ryan Timothy just reported in the 3.1 thread. Therefore, as it also affects 3.1 and 3.1.1 is not making it any worse, I will not hold back the release for this.
However, I will of course look into a fix for 3.1.2.

Shane 'ProgZmax' Stevens

You're right, it just generates a breakpoint.  I was very tired and wasn't thinking straight.  Still, I think it's rather odd that the middle mouse does this.  Thanks for the fix!

Pumaman

That is strange ... I tried madly pressing my middle mouse button, but it didn't do that. Maybe your mouse sends a Scroll Lock command if you click and move the mouse wheel or something, because it's Scroll Lock that breaks out into the debugger.


Anyway, I'm now opening a new thread for the 3.1.1 release so I'll lock this one.

SMF spam blocked by CleanTalk