Move 3D rendering to wolf_frame function

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Parametrize wolf_raycast wall drawing

Add a "draw_wall" function pointer to wolf_raycast so we can use it for
3D rendering as well.

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Move 3D wall drawing to wolf_draw_wall

In preparation for using the raycaster engine for visiblity culling,
move the OpenGL 3D wall drawing to a separate function.

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Use raycaster for 3D rendering

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Fix edge clipping issue in 3D walls

We need to multiply field of view by aspect ratio to make the traced
rays cover all the visible area.

Fixes edge clipping issue in the 3D walls.

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Change initial position

Change initial position of the player to hide collision detection
problems which make it look like we're starting inside a wall.

Signed-off-by: Pekka Enberg <penberg@iki.fi>
Make 3D walls taller

Signed-off-by: Pekka Enberg <penberg@iki.fi>