#131847 - bean_xp - Wed Jun 20, 2007 6:17 pm
I am writing a short GBA program (for learning purposes) which I intend to be a simple sprite editor. In the design mode I intend to display the canvas as an 8x preview, an original size preview, and a 4x preview.
I have implemented the 8x display through manipulating a tiled background (because the tiles are conviniently 8x8 pixels) which works well. I have also implemented the original size preview by writting the array data to a sprite which is dynamicall regenerated when the canvas is modified.
However I for the 4x display I planned to use an affine sprite scaled up to 4x the original size, after investigating this I found (as tonc describes) "the clipping arifact", preventing anything extending beyond 2x original size (in double mode).
So my question is "Are there any workarounds for this, or am I overlooking something?"
If not I would like to hear your thoughts of the best method of implementing the 4x preview?
The methods I have come up with all have individual problems, please let me know any alternative ideas:
I have implemented the 8x display through manipulating a tiled background (because the tiles are conviniently 8x8 pixels) which works well. I have also implemented the original size preview by writting the array data to a sprite which is dynamicall regenerated when the canvas is modified.
However I for the 4x display I planned to use an affine sprite scaled up to 4x the original size, after investigating this I found (as tonc describes) "the clipping arifact", preventing anything extending beyond 2x original size (in double mode).
So my question is "Are there any workarounds for this, or am I overlooking something?"
If not I would like to hear your thoughts of the best method of implementing the 4x preview?
The methods I have come up with all have individual problems, please let me know any alternative ideas:
- Method 1: Use a sprite containing a 4x4 block of colour for each pixel in the sprite. (problem uses 256 sprites, which we don't have - The image is 16x16 pixels)
- Method 2: Create a new sprite from the old sprites tile which is sized 32x32 padded with blank tiles in VRAM which will allow me to scale higher as the blank tiles can be cropped. (problem will waste 12 tiles for blank data, and a further 4 tiles for the copied data, which I do currently have available, but don't want to waste)
- Method 3: Use a bitmap mode and "draw" the preview in the VRAM. (Problem I'm currently using tiled backgrounds and will have to be changed, however if this is necessary I am willing to do this)