def replace_objects(replacements)
replaced = 0
reset_progress 'Replacing objects', @objects.size / OBJECTS_PER_PROGRESS
@objects.each_with_index do |object, index|
replacement = replacements[object.name]
unless replacement.nil?
new_object = replacement[rand(replacement.size)]
object.name = new_object[:name]
model_offset = new_object[:offset]
world_offset = rotate(model_offset[0], model_offset[1], object.dir)
object.position.x += world_offset[0]
object.position.y += world_offset[1]
object.position.z += model_offset[2]
replaced += 1
end
increment_progress if index.modulo(OBJECTS_PER_PROGRESS) == 0
end
replaced
end