Dynamically allocate cave struct arrays