diff --git a/src/pc/lua/smlua_require.c b/src/pc/lua/smlua_require.c index 5852ac54a..c331a0570 100644 --- a/src/pc/lua/smlua_require.c +++ b/src/pc/lua/smlua_require.c @@ -68,6 +68,7 @@ void smlua_cache_module_result(lua_State* L, struct Mod* mod, struct ModFile* fi static struct ModFile* smlua_find_mod_file(const char* moduleName) { char basePath[SYS_MAX_PATH] = ""; char absolutePath[SYS_MAX_PATH] = ""; + char normalizedRelative[SYS_MAX_PATH] = ""; if (!gLuaActiveMod) { return NULL; @@ -100,8 +101,10 @@ static struct ModFile* smlua_find_mod_file(const char* moduleName) { continue; } - // check for match - if (!strcmp(file->relativePath, luaName) || !strcmp(file->relativePath, luacName)) { + // check for match, normalizing to system separators + strcpy(normalizedRelative, file->relativePath); + normalize_path(normalizedRelative); + if (!strcmp(normalizedRelative, luaName) || !strcmp(normalizedRelative, luacName)) { return file; } }