Question
When you specify a ceiling, floor, middle, and WALL graphic ID, this grants the user one graphic ID associated with a single picture which you call a wall. But in the game itself, there are many wall graphics from many angles. Was this intended on being a sole-picture variable or perhaps the start of some 'array' where you add offsets to fetch pictures? I suppose since all it is is a number, it is what you make of it from using the WallGrapicID call.
Answer:
The Wall Graphic ID that is associated with a skin is only for your convenience. You are free to ignore it. If you have 18 wall graphics for each of your skins then you might put those 18 graphics in 18 separate WallGraphicIDs and determine which to use a formula like this:
137 CurrentCell skinNumber 18 * + + // Compute GraphicID
Or you might want to use the Wall Graphic Id as simply a starting value like this:
CurrentSkin WallGraphicID CurrentCell + // Compute GraphicID
Or simply put hard-coded numbers into your code. But hard-coded numbers are difficult to maintain and it turns out that all programs need maintenance.
But my intention was that a designer could use the same code for many skins by creating a single wall graphic for each skin, all in the same format, with all of the 'pictures' of walls included in that single graphic. And prepare masks for each relative cell number that extract the proper 'picture' from that graphic. Then, the same masks and code can be used for all of your skins because it can retrieve the graphic number from the runtime engine. And the masks are identical. In fact, even if some of the skins have a couple of 'special cases', the same code might be used by putting in code that has conditional structures based on the skin number. This sort of 'special case' business can get out of hand quickly and is not recommended for other than a very few special condition.