void camera_update(CIndieLib &engine, IND_Camera2d &cam, IND_Camera2d &bcam, float &dx, float &dy, float &cam_x, float &cam_y, float d) {
	

	// Move up
	if (engine.Input->IsKeyPressed(IND_W)) {
		cam_y -=		d;
		dy -=			d;
	}

	// Move down
	if (engine.Input->IsKeyPressed(IND_S)) {
		cam_y +=		d;
		dy +=			d;
	}

	// Move right
	if (engine.Input->IsKeyPressed(IND_D)) {
		cam_x +=		d;
		dx +=			d;
	}

	// Move left
	if (engine.Input->IsKeyPressed(IND_A)) {
		cam_x -=		d;
		dx -=			d;
	}

	// Zoom in
	if (engine.Input->OnKeyPress(IND_E) && cam.GetZoom() < 1)
		cam.SetZoom(cam.GetZoom() + 0.05f);

	// Zoom out
	if (engine.Input->OnKeyPress(IND_Q) && cam.GetZoom() > 0.35)
		cam.SetZoom(cam.GetZoom() - 0.05f);

	cam.SetPosition((int) cam_x, (int) cam_y);
	bcam.SetPosition((int) cam_x, (int) cam_y);
}