Ensure warnings have been accounted for.
Extract additional platform-specific imports to basic compatibility header.
Only free memory that are dynamically allocated.
Unify variables across the project.
Use SDL's malloc functions in abstractions.
Use abstraction instead of using SDL dependencies.