Changes in syntax and formatting.
minor ASSERT define fix
Fixed a memory access violation bug. Code formatting.

There was an issue that caused memory access violation which was mostly
due to incorrect memory allocation. Previously surface memory was
allocated via a mixture of C++ new and C-Style pointer cast.
	sprite_norm = (SDL_Surface **)new SDL_Surface[frames];
This is completely wrong and I think it is due to the fact that the
'new' operator actually uses Type-ID to correctly allocate memory size
whereas malloc() would just allocate a memory chunk and return a (void*)
pointer to it. The correct way to allocate P2P memory in C++ would be:
	sprite_norm = new SDL_Surface*[frames];