Oh, sorry for the double post!

I made a couple of changes to the sprite collection system. Rather than having a sprite type detection (static or dynamic) based on the index of m_Sprites, I added a field and a property to the SpriteBase. A field bool isStatic and the property bool IsStatic that Get and Set the field. All sprites added at runtime are isStatic = false by default. And when the initial SpriteCollection is constructed, all sprites contained within have their isStatic field set to true. I guess it is not as optimal, because when the SpriteCollection is running it's Clean method, it iterates through all the list rather than from the staticSize index value. And it checks each sprite to determine if it is isStatic before actually removing them.
To sum it up, I changed code in two files: SpriteCollection.cs and SpriteBase.cs. The project compiles and everything seems fine. There are no runtime errors from what I can see in my small project.
Now, bluemonkmn I really need your help (in fact, anyone capable of helping me is more than welcomed): I have no debugging tool for C#, and my project is not advanced or complicated enough to throughly test the modifications I've made. I would really like it if someone could give it a look. To ease things up, all the modifications I've made to the source code are within these markers:
///********************************************************************
///**************************added by Vincent**************************
///*******************************Begin********************************
//staticSize = sprites.Length;
//This is to make sure all initial sprites are considered static
int i;
for (i=0; i < InnerList.Count; i++)
{
((SpriteBase)InnerList[i]).IsStatic = true;
}
///********************************End*********************************
///**************************added by Vincent**************************
///********************************************************************
As you can see, I commented the original code out (rather than deleting it) so it can still serve as a reference. And by searching for my name through the code, you can easily find what I modified.
I would really like it if someone could give a look or tell me how to test it efficiently. I am attaching the code files to this message, including my SpritePriorityFunctions.
If you like it bluemonkmn, I give it all to you. Feel free to include it in your next SGDK2 release. I'm happy to help.

If it does not work or if you're not interested, then discard it! :laugh:
I hope to get news soon!
