Adding wall decorations should be fairly simple, you'd need to have a left, right and centre image for every distance level, then again for every wall variation. The actual drawing starts on line 134, swap out any line draws with the relevant sprite. The actual sizes for each view level are on line 116, and you'd want to have the sprites correlate with those.
For walking, duplicate the block starting on line 215, and invert the directions in the if(cameraDir==whatever) area. For the wall variations themselves, you'd need to alter the wall array to a different variable type, preferably an 8-bit type like uint8_t, and adjust anything that refers to them.
Swapping between the 3d view and map should be easy, have a bool specifying what mode it's in and display the appropriate image. Also adjust the map drawing code so it's aligned with the left of the screen, not the right.
I'm currently working on a v2 that should incorporate some of these changes, alongside a few other goodies