Hey Smartboy, I'm willing to help a little. I don't have much time to afford, but I can point you some things out.
pausing game:
------------
When you say: messages won't pause the game, I suppose you are using the usual message function of SGDK2, not something particular that you developed? If that is the case, showing messages this way doesn't pause the game. You have to manage the pause by yourself. In my game, I do a pause when dialog appears. For that, I added a counter called pause and in each sprite and plan I make a check before running the code:
if counter.pause.currentvalue = 0 then
do the actual code of this object
end
When I show a message, I set the value of the counter to 1 and when the message disappears, I put it to 0. Of course don't forget to allow the player to clear the message, otherwise, he will get stuck. Had you another way in mind to pause the game?
collisions mask / rectangles:
---------------------------
The difference between collision masks and collision rectangle is this. When you have a sprite, whatever the sprite looks like, it is contained in a "rectangular cell". Do not confuse this "rectangular cell" with the one containing the image on the graphic sheet. If you do not specify this "cell", it will be identical to the one in the graphic sheet but you can make it bigger or smaller by moving the sprite it in the frameset.
The frameset allows to set to top-left most part of this cell. This corner is the origin in the frameset (the spot where to two lines cross). Then, in the sprite definition, you can set the width and the height of the sprite, which determines the lower right corner of the "cell" containing the sprite. With these two corners, you have a "cell" to check for collision rectangles.
Do you follow me? If not, I'll take some screenshots to give you better examples.
When you check a collision rectangle with a sprite, anything that touches the "cell" is considered colliding with the sprite.
If you add a collision mask on a sprite, you can set which part of the sprite you want to consider when detecting a collision.
When you check a collision mask with the sprite, the "cell" is not considered a part of the sprite, a collision occurs only when something touches the collision mask.
Since the collision mask is a more precise collision detection, it is slower than a collision rectangle.
I think I'm pretty mush quoting the help file. Do you need more information on any of this? If you asked some questions, it would be easier for me to help you out, since I don't really have to time to look at your project right now.
Good luck!
