SmackerPlayer now creates a surface in the constructor and deletes it in the destructor. There will be only this surface during the lifetime of the player, so there shouldn't be any issues any more when the player is reused for different Smacker files. This is imo nicer than to remove/add the surface.
I kept the several openSmacker since it wraps some code which is nice.
When a new Smacker is opened, the old Smacker surface is deleted
and a new one is created. Therefore, it has to be removed from the
scene and the new one has to be added.
Sounds and music play now in some scenes
(I didn't change the comments to code in all modules yet)
- Fix calcHash to ignore non-alphanumeric characters, this fixes at least
one animation glitch (when inserting tapes into the player)
- Move SoundResource to sound.cpp