Describe the bug
Detail textures are misaligned in Blender, even if they're aligned in Hammer
To Reproduce
Steps to reproduce the behavior:
- Import any VMF with materials that have detail textures (such as "gm_construct/grass" from Garry's Mod)
- Switch to material preview
- See misaligned detail texture
Expected behavior
Detail textures should be aligned as they are in Hammer
Related files
gm_uvdemo.zip
Logs
Read prefs: "C:\Users\Andrew\AppData\Roaming\Blender Foundation\Blender\4.1\config\userpref.blend"
[Plumber] [INFO] opening file system of game `Garry's Mod`...
[Plumber] [WARN] opening filesystem: directory `D:\Steam\steamapps\common\GarrysMod\garrysmod/download` not found
[Plumber] [INFO] file system opened in 0.05 s
[Plumber] [INFO] importing vmf `C:\Users\Andrew\AppData\Local\Temp\plumber-uv\gm_uvdemo.vmf`...
[Plumber] [INFO] vmf imported in 0.19 s
Screenshots
Original map in Hammer:

Imported map in Blender:

Details (please complete the following information):
- OS: Windows 10 22H2
- Blender Version: 4.1
- Addon Version: 1.0.1
- Did you download a release or build the addon yourself: downloaded release
- Related Game: any (Garry's Mod used for example)
Additional context
After skimming through the code I believe the issue is in plumber-core, specifically where UVs are "normalized" by adjusting the UV coords by a whole number. For the base texture, this is fine, but detail textures use scaled coords, which means that UVs used by detail textures are adjusted by a non-whole number.
Describe the bug
Detail textures are misaligned in Blender, even if they're aligned in Hammer
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Detail textures should be aligned as they are in Hammer
Related files
gm_uvdemo.zip
Logs
Screenshots


Original map in Hammer:
Imported map in Blender:
Details (please complete the following information):
Additional context
After skimming through the code I believe the issue is in plumber-core, specifically where UVs are "normalized" by adjusting the UV coords by a whole number. For the base texture, this is fine, but detail textures use scaled coords, which means that UVs used by detail textures are adjusted by a non-whole number.