public Array<DrawableData> verifyDrawablePaths() {
        Array<DrawableData> errors = new Array<>();
        
        if (!areResourcesRelative()) {
            for (DrawableData drawable : atlasData.getDrawables()) {
                if (drawable.type != DrawableType.CUSTOM && drawable.type != DrawableType.PIXEL && (drawable.file == null || !drawable.file.exists())) {
                    errors.add(drawable);
                }
            }
            
            for (DrawableData drawable : atlasData.getFontDrawables()) {
                if (drawable.type != DrawableType.CUSTOM && drawable.type != DrawableType.PIXEL && (drawable.file == null || !drawable.file.exists())) {
                    errors.add(drawable);
                }
            }
        } else {
            FileHandle targetFolder = saveFile.sibling(saveFile.nameWithoutExtension() + "_data/");
            
            for (DrawableData drawable : atlasData.getDrawables()) {
                if (drawable.type != DrawableType.CUSTOM && drawable.type != DrawableType.PIXEL) {
                    if (drawable.file == null) {
                        errors.add(drawable);
                    } else {
                        FileHandle localFile = targetFolder.child(drawable.file.name());
                        if (!localFile.exists()) {
                            errors.add(drawable);
                        }
                    }
                }
            }
            
            for (DrawableData drawable : atlasData.getFontDrawables()) {
                if (drawable.type != DrawableType.CUSTOM && drawable.type != DrawableType.PIXEL) {
                    if (drawable.file == null) {
                        errors.add(drawable);
                    } else {
                        FileHandle localFile = targetFolder.child(drawable.file.name());
                        if (!localFile.exists()) {
                            errors.add(drawable);
                        }
                    }
                }
            }
        }
        return errors;
    }
Checks every drawable path for existence. Errors are reported as a list
of DrawableDatas.
@return A list of all DrawableDatas that must have their paths resolved.
Returns an empty list if there are no errors.
core/src/com/ray3k/skincomposer/data/ProjectData.java