Can't get materials to project and scale properly

Can’t get the materials to project properly. I finally got the roof shingles to look ok on one object but not on another. I’m also having problems with the brick. I have no idea what I have set wrong. PLEASE HELP!!! Thanks! Above is the blender file and below are the images for the textures.

Even if you want one texture file as a result, i would suggest separating texturing in logical parts.
For Rounded door and window openings method used for rectangular walls is not suitable. If roof is some complicated form it also might need different methods to texture parts of it.
Here is a quick example file (used cycles, but that really does not matter as far as texture placement goes). Ah, and you want tileable textures for repeating look right.

All parts are separate elements - Roof, walls, door. Each has a different method for texture applying. Roof initially was just a plane so simple Unwrap command is sufficient. In UV editor rotate and scale until it looks right. Add Solidify - sides get their share of texture, so you need to look after them (apply Solidify or mask sides with some arch’ elements).
If doors are made of brick, it needs to look right if the texture is applied. Easiest way is to have door mesh separate and unwrap it by Follow Active Quads (select just one some medium sized close to square face, then select all door mesh, and only then do Follow Active Quads). Orient that properly on texture in UV editor by rotating uvs (most often that’s ‘r90’ keys) and scale.

For walls which might have all the different openings, protrusions, triangular parts unwrapping gets complicated mildly put. And all that work is ruined as soon as you need to move some edge or loop. But there is UVProject modifier. Just unwrap walls even not looking at what comes out; you wont need this anymore. What you need is to add projecting Object. Could be Camera, SpotLights, i used Plane.
Fill in the values in UVProject fields and set this Plane as a projector. Rotate it while you see texture appearing on the wall, then just key in the 90deg multiple to get it correct. You could orient plane before, apply rotations, but all that is fiddly and simple quick rot, then set number is faster. Plane can be moved in parralel to the wall to place texture where needed; scale plane to scale texture. That is just for one side. Duplicate Plane, set one more Projector in modifier and position plane, rotate. Scale is copied already.
Repeat 2 more times and your complicated walls will be correctly textured whatever you do to their geometry after.