MaterialPathResolver acts as an alternative to GameInfoFile. While GameInfoFile works well for Source engine development, we can not assume that all imported files are in a Source game/mod
directory, while we can still assume material path structure.
Example use-cases include models and materials folders downloaded from SFMLab, extracted Garry's Mod gma archives. Especially relevant on platforms where few or no Source games are supported natively, and a GameInfo.txt is rarely available. (Linux, macOS)
In addition, the Source engine's inability to deal with case-sensitive filesystems bites me in the ass once more. :cry: I added the option that tries to resolve vmt material names case-insensitively in case we are overriding existing materials. I noticed that the materials created by the MDL importer often differ from VMT names.
Edit: please note that I was unable to test the existing GameInfoFile functionality, so please test before merging. <3
MaterialPathResolver
acts as an alternative toGameInfoFile
. WhileGameInfoFile
works well for Source engine development, we can not assume that all imported files are in a Source game/mod directory, while we can still assume material path structure.Example use-cases include models and materials folders downloaded from SFMLab, extracted Garry's Mod gma archives. Especially relevant on platforms where few or no Source games are supported natively, and a GameInfo.txt is rarely available. (Linux, macOS)
In addition, the Source engine's inability to deal with case-sensitive filesystems bites me in the ass once more. :cry: I added the option that tries to resolve vmt material names case-insensitively in case we are overriding existing materials. I noticed that the materials created by the MDL importer often differ from VMT names.
Edit: please note that I was unable to test the existing
GameInfoFile
functionality, so please test before merging. <3