Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - violgamba

Pages: [1]
Whoops!  I just saw the original post date.  I am still open to trying this, but I won't expect a response.

Hi.  If you send me the lines for Pelias, I'm totally willing to do some recording and send you my results.  I have a fairly fatherly voice, and I can do murderously insane, I think.  Also, I'm extremely open to directorial criticism as I have no VO ego and am interested in doing a solid job.

Advanced Technical Forum / Re: Scaling in C++ plugins
« on: 17 Apr 2011, 01:38 »
Ah, ok.  I guess that's what I needed to know. :-\
Probably the same story to get finer grained control of the rotational blitting too, huh?
Thanks for letting me know.  It's time to roll up my programmer sleeves and write me some algorithm. :)
Shader support'd be perfect for this sort of thing.

Advanced Technical Forum / Re: Scaling in C++ plugins
« on: 16 Apr 2011, 23:06 »
Hi Rocco.  Thanks for the link.  I'm trying to do this as a plugin (in C++, rather than an AGS module) for maximum speedage, though it might not prove to be the best route to follow.  I don't know that I could easily use the module you've sent me with this method.

"To scale a bitmap in C++ you'll have to make a new bitmap of the correct size and blit the old sprite to the new sprite at the new size."

Hmm.  Yeah, that's pretty much what I thought.  I guess I'm looking for is a way to accomplish "blit the old sprite to the new sprite at the new size" part.  It doesn't seem as though I can scale with the 3 blit functions that I've found:

  // draw a bitmap to the active screen
  AGSIFUNC(void) BlitBitmap (int32 x, int32 y, BITMAP *, int32 masked);
  // draw a translucent bitmap to the active screen
  AGSIFUNC(void)   BlitSpriteTranslucent(int32 x, int32 y, BITMAP *, int32 trans);
  // draw a sprite to the screen, but rotated around its centre
  AGSIFUNC(void)   BlitSpriteRotated(int32 x, int32 y, BITMAP *, int32 angle);

The only extra info is a "masked" flag, a transparancy value and an angle value, respectively.

I'm wondering if the plugin info that I'm using is out of date, and there are more functions than what I'm seeing in agsplugin.h.
Alternately, perhaps I should be directly referencing the DirectDraw surfaces via GetBitmapSurface?  That would certainly give me enough power to do whatever I want, though it'd mean needing to download the dx5sdk, I think.

Advanced Technical Forum / Re: Scaling in C++ plugins
« on: 16 Apr 2011, 16:03 »
Also, a related question, if I may ;D:
The "BlitSpriteRotated" allows for 255 points of rotation.  Is there any way to get a finer grain of rotational control?  I'm trying to do a subtle, continuous rotation on a sin wave and it comes out looking reeally choppy as each integer of rotation leaps forward from the last.

Advanced Technical Forum / Scaling in C++ plugins
« on: 16 Apr 2011, 02:15 »
Hi everyone.  I'm a longtime fan, player and developer of AGS, though I barely ever post (or finish any projects :P).  I've finally hit a development wall that I can't seem to forum-search my way over, so I'm breaking the silence.
Hi.  :D
I'm working with the C++ plugin system at the moment and am trying to scale a BITMAP object.  I've found that you can blit, translucent-blit, and rotate-blit BITMAPs around, but the functionality to scale-blit seems to be a glaring ommision.  Am I missing something?  I sure hope so.  I really need to be able to scale the virtual screen to a BITMAP buffer and visa-versa.

Thanks for any help you can provide.

Wow!  Thank you for your quick response!

I thought it odd that this would slip by as a bug so I'm not surprised that you have a reason.  I still don't quite understand it but I'll accept that it exists and is reasonable.

Amazing job with AGS, btw.  Like many others (I am sure), I am awed and grateful that you still hold the freeware license.

Advanced Technical Forum / File I/O request for next ver.
« on: 03 May 2008, 19:12 »
  I've noticed that if you access a picture file in AGS (say, to load into a sprite).  The picture file remain's locked (ie. resaving from MS Paint recieves a "Sharing Violation Error") until you close AGS back down again.  Even if you delete the sprite you've loaded from the file.
  Since the data gets loaded and stored in the game, this seems unnecessary and, at least unless I'm missing something, it would be a simple matter to fix (just release the file once you've gathered the data).
  The reason this would be helpful is that I'm often drawing a sprite in MS Paint, loading it into AGS, seeing that it could look better, then altering it in MS Paint.  If I want to update my changes then I have to close AGS first, save the file, then reopen AGS to re-import the picture.

Pages: [1]