Cutscenes and refactoring in one PR

This combines the pullrequest of @hean01 (#410) and me (#541).
This PR resolves the merge conflicts, no functionality added.