Store Sprite sheet bitmap data on SD

I'm working on a gaming project called Gamebuino which allows any body to build and play games easily using a simple library. Well the OG library is uno based and uses a low res Nokia 5110 as the LCD. I'm trying to improve on the library by adding a higher res color oled and teensy 3.2 or 3.6. I've got a working library that allows me to store bitmap data like this in progmem.....

Const byte green_square[] Progmem {16,16,0x00,0x00, etc

And display them like.......

DrawBitMap(size_x, size_y, pos_x, pos_y, bitmap name, color};

Is there a way to store a Sprite sheet made In the way above using hex or binary for the bitmaps, then open it and read the bitmap data from the SD card instead of storing them in Progmem. So all I have to do is open the txt file then read it then call the drawBitMap functions as needed from the SD?

Sure, but you'll have to read the bitmaps into memory to do anything with them and that is going to be painfully slow with an SD card. It's not going to make for much of a game.

Read bitmaps into memory?

Duhjoker: Read bitmaps into memory?

The processor can't do anything with data it doesn't have in memory. So you can store a bunch of bitmaps on the SD card, but when it comes time for the processor to draw one it will have to read that bitmap into memory. Now that may mean that it reads the whole thing and then draws it or that may mean that it reads in one byte at a time and does something with it or anything in between. But at some point it has to read it off the SD card and that process is going to be painfully slow for what you are talking about.

bare with me here.

Ok so I'm not actually releasing the gaming library til I have a game and some semblance of hardware.

My first game for the system is an RPG based on the first Dune novel with hopefully more to follow. So far I have made sprites for playable characters, monsters, and terrain which equal......

Out of 256k Progmem.

Monsters 82kb Players 93kb Terrain 22kb

Player sprites take the most Progmem which I can deal with for now since it's quicker and they have animations. The other two are monsters and terrain. The monsters are just are non moving so the it just needs to print a monster persistently. So the time for loading them is null.

Now that leaves terrain and tilemap data. If we could store tilemaps and there arrays on the SD with the monsters that could save me a ton of progmem. To use for sprites that have animation tiles more features and so on.

There are couple ways to do the tilemap stuff but I don't understand it. I will post the links shortly. maybe I can get some understanding the process? I've looked at the gifs for one showing how it works and it's not bad on timing. The faster processor should relieve any load time.

Here is a link with a sample gif

This one uses a command called drawbitmapfromSD but I’m confused as to how it works.

this way looks simple enough as I should be able to adapt it to color and still use my tilemap commands but I don’t understand all its doing (38.7 KB)