i have one major question.
what is happening here;
int PI = 3.14159265f;
for the opengl engine inside dynamic_object.cpp
later youre using it as;
gLoadedTexture.render(x,y, body->GetAngle() * (180.0f / PI), scale);
this just gives you 60 and not 57.29577....
its dividing 180 by 3 and not 3.14159265 because int doesnt support float
int PI = 3.14159265f; //float value set as int
auto x = 180.0f / PI; //division. identified as a float
std::cout << typeid(PI).name() << std::endl; //identified as an INTEGER
std::cout << "PI VALUE: " << PI << std::endl; // value is 3
std::cout << typeid(x).name() << std::endl; //indentified as a FLOAT
std::cout << "X VALUE: " << x << std::endl; // value is 60
besides PI is recommended to be set like this;
long double PI = acos(-1.0L);
which gives you the maximum amount your processor can generate for PI
mine is;
3.14159