Qbasicnews.com

Full Version: RelGFX Artifacts
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Code:
DispMap
  DispChara
  Z.Box gamePage(), 143, 83, 176, 116, 1      '### cursor
  WAIT &H3DA, 8, 8: WAIT &H3DA, 8
  Z.PageVideoCopy 0, 0, gamePage(), 1

Z.sub is the original Rel.sub stuff.

DispMap is your basic FOR NEXT set that Rel.SpriteNs (no mask) my tiles.

DispChara Rel.Sprite (with 0 as mask) sprites onto the map.

All of the above code is performed every TIMER + 1500 (to animate characters and water).

It results in this http://send.hokuten.net/artifacts.gif
It leaves those artifacts in the IDE only (not compiled version).

I tried clearing the gamePage buffer on before drawing the map and all, but to no avail. I also tried it without the vSync--nothing.

It's not that big a problem, but I'd like to know if anything can be done about that junk when I'm testing in the IDE.
So when compiled, it works fine?

Prolly signed number problems. Or, you have mistyped something after you converted the original subs. Did you try it with the original relGFX?
Yep, no problems when compiled. Also, the position and occurence of artifacts is random (sometimes they flicker on and off with my animations, sometimes they don't exist at all). They actually become more frequent the longer I work in the IDE and then Run from there (memory usage?)

It shouldn't be a superimpose problem since I'm PSET for the page -> Video Copy and your Sprite routines either POKE or not POKE the pixel on the screen (no math).

Artifacts were present before renaming.

Could you explain more on the signed numbers problem? Why would my numbers be different before/after compile?

I got the routines from this link:
http://rel.betterwebber.com/junk.php?id=4
It's a trick we use for speeding up stuff but would work only compiled since the QB in the IDE would only support signed numbers and you can force it to go unsigned when compiled. But your problem is probably a memory problem.

ie. QB flushes dynamic memories on the fly and RelGFX uses a variable to reference a layer. Better use Varseg directly if you want a resizable video page. If your video page is fixed, make it a static one and use a variable to reference it.