Make a flag wave
05AB1E, 25 23 26 25 bytes
-2 thanks to Adnan
-1 thanks to Emigna
+3 thanks to Jonathan Allan (thanks for spending the time to catch that invalidity!)
øvyN>²Öi¦¨'\.ø}N²÷ú}).Bø»
Try it online!
This is 1-indexed instead of 0, +2 bytes if that isn't okay.
ø # Transpose.
vy } # For each column...
N>²Öi¦¨'\.ø} # Replace outside dashes with slants.
N²÷ # Current index / input #2.
ú # Prepend that many spaces to current column.
).Bø # Join, pad, transpose back.
» # Print with newlines.
Emigna/Adnan/Anyone - There HAS to be a better solution to replace those slants, but I'm stumped.
Pyth, 35 bytes
j.ts.e+L*k;?qQtlb+PbjPteb*2\\bcC.zh
Try it online!
Python 2, 129 bytes
lambda f,n,j=''.join:map(j,zip(*[i/n*' '+'-\\'[i%n>n-2]+j(s[1:-1])+'-\\'[i%n>n-2]+len(f[0])/n*' 'for i,s in enumerate(zip(*f))]))
Try it online!