generalize Q_stricmp, Q_strncasecmp defines instead of local implementations replace Q_strncpyz, Q_strcat, Q_strncat with strlcpy, strlcat versions: strcpyQ, strcatQ, strncatQ fix ExtractFilePath, ExtractFileBase, ExtractFileExtension edge case (empty path string) ExtractFileBase() : mimic StripExtension() logic BeginMapShaderFile() : use ExtractFileBase(), ExtractFilePath()