So, I’ve continued work on this project and despite the char answers i received earlier, I’ve decided to go with a spritesheet anyways. The reason for this is because the characters get misaligned:

Rather than deal with this (also the font is too big for print accents) I decided to go the bitmap route, but I’m trying to keep it as one spritesheet so that changing languages is as easy as dealing with swapping one chunk of code, rather than multiples.
But then I came upon another problem: spritesheet sizes. I’m reading around that the height of a spritesheet needs to be a multiple of 8, however crait’s converter seems to deal with other sizes just fine. 
But now I have another problem: transparency doesn’t work in the corners.
I’ve tried drawPlusMask, but i can’t tell if im putting a proper mask so I decided to separate the mask (so now I have 2 progmem images, which I’m not a fan of). Had to use a non transparent pngs for this:
and
(this is a mask).
This is the result:
#include <Arduboy2.h>
#include <Sprites.h>
Arduboy2 arduboy;
Sprites sprites;
int playerx = 5;
int playery = 10;
//spritesheet
const unsigned char choicetiles[] PROGMEM = {
25, 20,
0xf8, 0x4, 0x2, 0xf9, 0x29, 0x29, 0x9, 0x1, 0x79, 0x81, 0x1, 0xf9, 0x1, 0xf9, 0x29, 0x29, 0x9, 0x1, 0xf9, 0x11, 0x21, 0xf9, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0x79, 0x81, 0x1, 0xf9, 0x00, 0xf0, 0x8, 0x9, 0xf0, 0x00, 0xf9, 0x81, 0x81, 0xf9, 0x00, 0xf9, 0x00, 0x00, 0x1, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x8, 0x8, 0x9, 0x8, 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x8, 0x9, 0x9, 0x9, 0x9, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0xf9, 0x29, 0x29, 0x9, 0x1, 0x79, 0x81, 0x1, 0xf9, 0x1, 0xf9, 0x29, 0x29, 0x9, 0x1, 0xf9, 0x11, 0x21, 0xf9, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0xf1, 0x9, 0x9, 0x91, 0x00, 0x10, 0x28, 0x29, 0xc8, 0x00, 0xf9, 0x11, 0x21, 0xf9, 0x00, 0x9, 0xf8, 0x8, 0x9, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0xf1, 0x9, 0x9, 0xf1, 0x1, 0xf9, 0x9, 0x9, 0xf1, 0x1, 0xf9, 0x9, 0x9, 0xf1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0x78, 0x81, 0x1, 0xf8, 0x00, 0xf1, 0x9, 0x9, 0xf0, 0x00, 0xf9, 0x81, 0x81, 0xf8, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x8, 0x8, 0x9, 0x8, 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x8, 0x9, 0x9, 0x9, 0x9, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0xf1, 0x9, 0x9, 0xf1, 0x1, 0xf9, 0x9, 0x9, 0xf1, 0x1, 0xf9, 0x9, 0x9, 0xf1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0xf0, 0x9, 0x9, 0x90, 0x00, 0x11, 0x29, 0x29, 0xc8, 0x00, 0xf9, 0x11, 0x21, 0xf8, 0x00, 0x8, 0xf8, 0x8, 0x8, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x8, 0x8, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0x79, 0x81, 0x1, 0xf9, 0x1, 0xf1, 0x9, 0x9, 0xf1, 0x1, 0xf9, 0x81, 0x81, 0xf9, 0x1, 0xf9, 0x1, 0x1, 0x1, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0xf8, 0x28, 0x29, 0x8, 0x00, 0x78, 0x81, 0x1, 0xf8, 0x00, 0xf9, 0x28, 0x28, 0x9, 0x00, 0xf9, 0x11, 0x21, 0xf9, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x9, 0x9, 0x9, 0x9, 0x8, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x9, 0x9, 0x9, 0x8, 0x9, 0x8, 0x8, 0x9, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0x79, 0x81, 0x1, 0xf9, 0x1, 0xf1, 0x9, 0x9, 0xf1, 0x1, 0xf9, 0x81, 0x81, 0xf9, 0x1, 0xf9, 0x1, 0x1, 0x1, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0xf0, 0x8, 0x9, 0xf0, 0x00, 0xf8, 0x9, 0x9, 0xf0, 0x00, 0xf9, 0x8, 0x8, 0xf1, 0x00, 0x1, 0x1, 0x1, 0x1, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x8, 0x9, 0x9, 0x8, 0x8, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9, 0x9, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0xf1, 0x9, 0x9, 0x91, 0x1, 0x11, 0x29, 0x29, 0xc9, 0x1, 0xf9, 0x11, 0x21, 0xf9, 0x1, 0x9, 0xf9, 0x9, 0x9, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0xf8, 0x29, 0x29, 0x8, 0x00, 0x79, 0x81, 0x1, 0xf8, 0x00, 0xf9, 0x28, 0x28, 0x9, 0x00, 0xf8, 0x11, 0x20, 0xf8, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x9, 0x9, 0x9, 0x9, 0x8, 0x8, 0x8, 0x9, 0x8, 0x8, 0x9, 0x9, 0x9, 0x9, 0x8, 0x9, 0x8, 0x8, 0x9, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0xf1, 0x9, 0x9, 0x91, 0x1, 0x11, 0x29, 0x29, 0xc9, 0x1, 0xf9, 0x11, 0x21, 0xf9, 0x1, 0x9, 0xf9, 0x9, 0x9, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0xf0, 0x9, 0x9, 0xf0, 0x00, 0xf9, 0x9, 0x9, 0xf0, 0x00, 0xf9, 0x8, 0x8, 0xf1, 0x00, 0x00, 0x1, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x8, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9, 0x9, 0x8, 0x8, 0x9, 0x9, 0x9, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x4, 0x2, 0x1, 0xf8, 0x4, 0x2, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x2, 0x4, 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1, 0x2, 0x4, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x4, 0x2, 0x1,
};
const unsigned char mask[] PROGMEM = {
25, 20,
0x7, 0xff, 0x3, 0xff, 0x1, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xe, 0xf, 0xc, 0xf, 0x8, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00, 0xf, 0x00,
};
void setup() {
arduboy.boot();
arduboy.flashlight();
arduboy.setFrameRate(10);
arduboy.display();
}
void loop() {
//Prevent the Arduboy from running too fast
if(!arduboy.nextFrame()) return;
arduboy.clear();
arduboy.drawRoundRect(43, 3, 21, 18, 8); //left box
arduboy.drawRoundRect(65, 3, 21, 18, 1); //right box, i need more boxes..'
//arduboy.drawCircle(9,6,11,1); //smaller circle test
arduboy.drawCircle(9,6,12,1); //top circle test
Sprites::drawExternalMask(playerx, playery, choicetiles, mask, 0, 0);
arduboy.pollButtons();
if(arduboy.pressed(LEFT_BUTTON)) {
playerx = playerx - 1;
}
if(arduboy.pressed(RIGHT_BUTTON)) {
playerx = playerx + 1;
}
if(arduboy.pressed(UP_BUTTON)) {
playery = playery - 1;
}
if(arduboy.pressed(DOWN_BUTTON)) {
playery = playery + 1;
}
arduboy.display();
}
But that’s not all! now there is a strange transparent vertical interlacing going on. 
When I put the above code into projectabe, moving the 25x20 icon over the circle and square shows that what’s under it still shows up but interlaced. Anyone know why this is happening?
Preferably I rather use one char progmem for the image…
I spent 3 hours on this and I found myself going around in circles so I decided to post back in this topic for help. It would be greatly appreciated.