The segfault is hit while trying to render bhvCheckerboardElevatorGroup
when the player first enters the stage.
So here's some background: bhvCheckerboardElevatorGroup is the invisible
parent object that defines where the two platforms will rotate around. It
has a model, but it's never rendered in game. The entity only exists for
a few frames before being removed from the scene.
Here's the theory: Since it is only valid for a few frames, I believe the
model gets deallocated after removal. Since changing the camera precision
makes the camera end up in a slightly different spot, it could be trying
to render the object when precision is set to 3 but not to 1.
Here's the solution: Adding cur_obj_hide() to the start of
bhv_checkerboard_elevator_group_init() prevents the crash
fixes#437
The precision of ray casting was too low previously, causing the
collision checks to skip right past a wall sometimes. There was also
nothing to prevent the camera from getting too close to a wall
horizontally or vertically.