Sorry for the lack of updates.
Here's what's done so far:
-Rough file format (will probably need to be revised)
-Loading tiles from the file based on coordinates
-Skeleton of the screen and map objects
-Rough interface design is complete
So i've got the rough skeleton worked out and i'm filling it all in now. My engine uses 2 main concepts right now: a map, and a screen.
The map is a global look at the world, and it's primary purpose is retrieving data from a map file. It can do this on a per-tile basis, or in chunks called sectors which are basically just arrays of tiles. It's pretty simple and straightforward.
The screen is a small view into the map, and this can be moved around in the world. It's main purpose is to maintain and update an array of tiles that represent what the screen can see.
It begins by requesting the nearest 9 sectors from the map, and loads/unloads them as it moves into other sectors. This helps prevent a lot of read operations at the expense of memory. Currently i'm filling an array with the tiles that are visible to the screen, but it's not efficient. It's got some overhead memory wise, and the screen object needs to keep it updated which is costly. So next up is to replace this array with a method that will perform the simple math to grab a tile from the screen object on request.
C&C on the design so far is welcome.
EDIT:
I coded some stupid stuff last night and didn't comment any of it. It works for the most part, but it's so messy and i have no clue what the hell i was trying to do. So i removed a lot of the code, simplified the sectors idea, and extended the file format to include the sector info explicitly instead of trying to generate the info on the fly.
EDIT:
And now i'm done with the map class for the most part. Onto the screen class. I've also realized i'm going to need to create a map editor somewhere down the line..
Btw, what's the policy on double posting?