[Libnds] Fondos Extended-Rotoscale @ 512x512x8

Solucionado: Se tenía que agregar al grit las lineas:
-aw512
-ah512


Buenas.

Estoy teniendo unos problemillas con las libnds, y es que al cargar un fondo de 256x256, en una configuración de fondo:

REG_DISPCNT = MODE_5_2D | DISPLAY_BG2_ACTIVE;
VRAM_A_CR = VRAM_ENABLE | VRAM_A_MAIN_BG;
BGCTRL[2] = BG_BMP_BASE(0) | BgSize_B8_512x512;


Y copiarla en memoria:

dmaCopy(imgBitmap, BG_GFX, imgBitmapLen);
dmaCopy(imgPal, BG_PALETTE, imgPalLen);


Se me muestra así:
Imagen
Siendo la imagen original esta:
Imagen

Lógicamente la matriz de transformación la he tenido que modificar de esta forma para que al menos se me muestre cuadrada la imagen, porque si la dejo a 1:1 se me muestra mas pequeña "por abajo" (la espachurra de forma vertical vamos xD) y ocupando todo el ancho de la pantalla. (Ocuparía la imagen unos 256x128 así a ojo)

bgTransform[2]->xdx = 512;
bgTransform[2]->ydx = 0;
bgTransform[2]->xdy = 0;
bgTransform[2]->ydy = 256;
bgTransform[2]->dx  = 0;
bgTransform[2]->dy  = 0;


Pero es que encima como veis en la imagen, al hacerle un escalado, podemos ver que hay otra imagen idéntica a su derecha Imagen.
Esto ya parece cachondeo -.-U

Un saludo!

PD: Necesito que el fondo tenga una configuración de 512x512 píxeles, ya que necesito copiar la imagen 4 veces mostrando una matriz de 2x2.
(mensaje borrado)
1 respuesta