AGS 3.0.2 Final 2 - Credit Crunch Edition

Started by Pumaman, Mon 28/04/2008 18:22:53

Previous topic - Next topic

GarageGothic

I agree that the Audio Manager is an excellent and very useful plugin. I don't know about packaging it with AGS though. If you've followed the thread about automatic lipsync, you'll see that Smiley considers implementing that functionality in the Audio Manager, which would not only have to include Annosofts .exe file (which can be distributed freely), but also need the user to install Microsoft's SAPI 5.1 SDK.

I guess that the plugin could be somehow made to detect the presence of SAPI 5.1 and deactivate the lipsync feature if it isn't available. But in case that's not possible it could create issues for beginners who aren't aware of those dependencies.

JpSoft

I just want add that the standard  game pause (set with PauseGame() and also when a pop-up GUI is called) do not work for everything you have in the global script, rep_exec function, so you need to clarify what you want to continue working or include all the function between the parameters = If (IsGamePaused = 0).

I dont know if this is a bug or not, but it could have a wrong results if you have important things in the rep_exec. When i found this detail i had a lot of hours copying-paste code  :(

Jp

SSH

Not sure why adding "if game is paused return" code to the front of rep_ex requires a lot of copy/pasting...
12

JpSoft

Well, because some stuff i want it working even if the game is paused (scrolling the room, check help files, change options) and other stuff not (is a RTS game, so units cant move when you pause the game, you cant earn money or even move troops)

My fault was that i had all that info mixed and when i founded that i was unable to stop the rep_exec section, i move all the stuff "pausable" into a function called GameInterfaceRuns, which is called everygame cycle from the rep_exec function only when the game is not paused. . I did that just to make more readable the global script since it is very long (+6000 lines until now) but was very tired check all the rep_exec fucnction (as you can imagine, it is really long and complex in a RTS game)

Jp

Pumaman

QuoteWith the installers, though, would it be possible to package the audiomanager with the main install?  It's one of those rare plugins that I think everyone has some use for, and right now I have to juggle the plugin files back to the install folder to get them to work each time. 

I'm in two minds about this. On the one hand I would like to include it, but on the other hand I have to be able to investigate and respond to bug reports about AGS, and by adding the audio manager plugin I would then have to field questions/issues/etc which I would have no power to fix.

Perhaps the best thing would be to add a "Recommended plugins" section to the download page that people would see when downloading AGS.

QuoteI just want add that the standard  game pause (set with PauseGame() and also when a pop-up GUI is called) do not work for everything you have in the global script, rep_exec function, so you need to clarify what you want to continue working or include all the function between the parameters = If (IsGamePaused = 0).

This has always been the case, and is by design.

However, perhaps the default game template should be modified to add a comment to the rep_exec method mentioning how this works.

GarageGothic

#85
I think I discovered a bug in the DrawingSurface.GetPixel function. If I use it on a DrawingSurface retrieved from a sprite image, or a clean DynamicSprite where a sprite has been drawn with DrawImage, it works fine and returns the correct color.

However, if I use GetPixel on a pixel that I have drawn myself using DrawPixel (also Clear and DrawRectangle, probably all pixel drawing functions), the color returned is a ludicrously large negative number.

I'm writing a graphical toolset for my light/scale-map module, and obviously it needs to be able to repeatedly read/process/draw from and to the same pixel. I've been troubleshooting my code for the last hour before tracking it down to this issue. I hope it can get fixed for the next beta, because it's halting development on the module. Thanks.

Edit: An example. When using this code:

Code: ags

        int x = mouse.x;
        int y = mouse.y;
        int beforecolor = paintsurface.GetPixel(x, y);
        Display("pixel color: %d",beforecolor);
        paintsurface.DrawingColor = beforecolor;
        paintsurface.DrawPixel(x, y);
        Display("pixel color: %d",paintsurface.GetPixel(x, y));


The first Display message will return 59260 (the color of the original sprite), then we draw a pixel using the same color. At most we should expect a slight degradation in tonal range due to AGS' 16-bit values, but while the pixels look identical on-screen, the second GetPixel command returns -1642778. Should we try to draw anything using that negative value, it will be invisible, and the value is unusable for processing RGB data.
I should add that it doesn't make any difference whether or not you Release a drawingsurface in-between writing and reading the pixel values. I've only tested this in a 32-bit game using HiRes coordinates for the DrawingSurfaces.

freshpaint

Bug 3.02 RC 1

The animate feature in the "view" selection doesn't flip frames.

Otherwise, everything I've tried so far is working nicely.

Shane 'ProgZmax' Stevens

#87
The animate 'feature' has never flipped frames; though functionality in 2.72 allowed you to click below a frame to flip it, that ability was moved to the property list for the frame in 3.0.  CJ recently added the 'f' shortcut for quickly flipping frames that are the focus, so use that. :)

freshpaint

re animation:

What I meant is that the animation doesn't pick up the flip settings you've set, so the resulting animation isn't terribly useful.

Pumaman

#89
QuoteHowever, if I use GetPixel on a pixel that I have drawn myself using DrawPixel (also Clear and DrawRectangle, probably all pixel drawing functions), the color returned is a ludicrously large negative number.

Thanks for the report, I'll look into it.

QuoteBug 3.02 RC 1
The animate feature in the "view" selection doesn't flip frames.
What I meant is that the animation doesn't pick up the flip settings you've set, so the resulting animation isn't terribly useful.

I can't reproduce this. What I did was this:

Open up a character view, where Loop 1 had all its frames set Flipped=True, and Loop 2 has the same frames but set as Flipped=False.

I ticked the "Show Preview" button and then ticked "Animate", and changed the Loop to 1. It correctly animated showing the frames flipped. I then changed the Loop to 2 and it correctly showed them un-flipped.

Can you post the steps that you took to get this problem?

Quote
QuoteWhen I use an animated cursor the x and y locations of the cursor's hotspot set in the editor aren't used. I set them to 7,7 but ingame they are 0,0. I had to use the script commands for setting cursors hotspots to get them to 7,7.

it also seems that an animated wait cursor isn't animated in-game.

I am unable to replicate either of these things -- I made both my Wait and Walk cursors into animated cursors with its hotspot at (5,14) and they both animated correctly and the hotspot seemed to be correct.

Can you upload something that demonstrates the problem?

LT Smash / Gold Dragon: can you please reply and confirm whether this is actually a problem or not?

GarageGothic

#90
Could the "General definitions" scrolldown menu please be longer and/or have a scrollbar on the side? It's annoying that only some of the functions in your script show up.

Ah, never mind. It seems that it's just functions that are called on pointers that are not listed unless you import them. I guess this is as designed.

Goldmund

You are a true friend, mr Puma, and a great implementor!
Thank you for the Say!
Thank you for the Say!

freshpaint

http://img.photobucket.com/albums/v211/cmkinchi/AGS/anibug.png

Hope this shows the problem.  This is a view created using 3.0.  I upgraded to 3.01, and now to 3.02 rc1.

Lt. Smash

Quote from: Pumaman on Wed 21/05/2008 19:35:35
Quote
QuoteWhen I use an animated cursor the x and y locations of the cursor's hotspot set in the editor aren't used. I set them to 7,7 but ingame they are 0,0. I had to use the script commands for setting cursors hotspots to get them to 7,7.

it also seems that an animated wait cursor isn't animated in-game.

I am unable to replicate either of these things -- I made both my Wait and Walk cursors into animated cursors with its hotspot at (5,14) and they both animated correctly and the hotspot seemed to be correct.

Can you upload something that demonstrates the problem?

LT Smash / Gold Dragon: can you please reply and confirm whether this is actually a problem or not?

it seems I had some code setting the cursors sprite. It works now.

TwinMoon

#94
First of all: Great work on all the updates! I'm seeing a lot of new features I can't wait to try. But you already know everyone here loves you, right? ;)

When I start the editor, it crashed on me during the splashscreen with the same error screen GrogGames had (page two of this thread).
I updated .Net 3.0 to 3.5 and now it works. So it seems a minimum requirement for AGS is dotnetframework version 3.5.

EDIT: Well, at least in XP, since that's what I'm using.

Pumaman

QuoteAh, never mind. It seems that it's just functions that are called on pointers that are not listed unless you import them. I guess this is as designed.

I'm not really sure what you mean by this, but ok!!

QuoteYou are a true friend, mr Puma, and a great implementor

I sense no danger for you, sir. Have a nice day!

QuoteHope this shows the problem.  This is a view created using 3.0.  I upgraded to 3.01, and now to 3.02 rc1.

I wasn't able to reproduce this for ages, then I finally worked out that it only happens if the sprites are large so that the preview window has to scale them down. I'll look into a fix.

QuoteWhen I start the editor, it crashed on me during the splashscreen with the same error screen GrogGames had (page two of this thread).

Hmm, is this RC 1? It's a bit worrying if this can happen with the installer version.

QuoteI updated .Net 3.0 to 3.5 and now it works. So it seems a minimum requirement for AGS is dotnetframework version 3.5.

That's definitely not the case, I don't even have .net 3.5 installed. But probably the installation of 3.5 installs something else that has fixed it.

freshpaint

You are too quick!  I was about to edit and tell you that the reason I rarely use the animate option by clicking on the character screen is that most of my sprites are larger than about 200 pixels, and the animate feature cuts off their legs!

TwinMoon

This was with the installer.

Quote from: Pumaman on Thu 22/05/2008 20:15:38That's definitely not the case, I don't even have .net 3.5 installed. But probably the installation of 3.5 installs something else that has fixed it.

It must have. It's pretty weird.
I installed the dotnet framework when AGS 3.0 was released - I don't use it for anything else. I definitely didn't fidget with it. I "repaired" 3.0 which according to Microsoft resets it. AGS 3.0.1 didn't work.

But after I installed 3.5 I could remove 3.5 AND 3.0 and RC 1 still works.
Maybe I didn't do the full installation the last time or something.

GarageGothic

Quote from: Pumaman on Thu 22/05/2008 20:15:38
QuoteAh, never mind. It seems that it's just functions that are called on pointers that are not listed unless you import them. I guess this is as designed.
I'm not really sure what you mean by this, but ok!!

I mean that the general definitions dropdown in the script window only lists basic functions. Any extender function such as  "function FloodFill(this DrawingSurface*, int x, int y, int color, bool outline)" won't be in the list. Yesterday, when I wrote this, I thought it was because I didn't import them in the module header, but that doesn't seem make any difference. Any chance the dropdown menu could also support extender functions?

Gold Dragon

Pumaman.... as for the cursor not animating is this.

When I use the code 'while (!WaitMouseKey(1)) {}' I get a wait cursor but it doesn't animate. But when there is a function that has eBlocking like 'player.walk(4,6,eBlock);' it does animate

is this a bug?
Want to see how I am doing and how far I've gotten in my game? Visit my forum  http://www.freepowerboards.com/DragonKnight

SMF spam blocked by CleanTalk