niacdoial / blemd

BMD importer for blender (BDL format also partially supported)
GNU General Public License v3.0
32 stars 12 forks source link

Blender 2.83 BMD Texture not found #48

Open OoLunar opened 2 years ago

OoLunar commented 2 years ago

When attempting to import the Twilight Princess Heart Piece file, the textures fail to load with the following error:

WARNING  bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga': No such file or directory (x1)
) (x8)
ERROR    bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga': No such file or directory (x1)
WARNING  bpy.ops.import_mesh.bmd.matpipeline writeTexGen() type 0: Found src 1, might not yet work (use transformed or untransformed coordinate?) (x2)
WARNING  bpy.ops.import_mesh.bmd.matpipeline Texture uses nativs matrix. Plz implement (x2)
WARNING  bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory (x2)
ERROR    bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory (x2)
WARNING  bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga': No such file or directory (x1)
ERROR    bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga': No such file or directory (x1)
 (x1)

Files generated when importing the first time: Twilight Princess Heart Piece.zip

If you need any more information, I can happily provide it. It should be noted that when the textures are successfully imported, it's very like you'll get an image like this: (Blender 2.77, before the recent commits) image or (Switch Tool) image instead of: (https://noclip.website) image

niacdoial commented 2 years ago

two questions.

OoLunar commented 2 years ago

Hey! Apologies for the late response. When directly clicking on bmdview.exe, I get the following error:

The code execution cannot proceed because MSVP120.dll was not found. Reinstalling the program may fix this problem.

After doing a bit of digging, I found a functioning bmdview.exe over at http://amnoid.de/gc/, specifically: amnoid.de/gc/bmdview.zip. Replacing your copy of bmdview with this one and the dll error seems to go away (note, the dll error only appears when directly clicking on the exe). Using the new bmdview, I get this log:

Read prefs: C:\Users\lunar\AppData\Roaming\Blender Foundation\Blender\3.0\config\userpref.blend
blemd
C:\Users\lunar\AppData\Roaming\Blender Foundation\Blender\3.0\scripts\addons\blemd\__init__.py
2022-03-01 03:57:12,395    DEBUG bpy.ops.import_mesh.bmd.main Load :
INF 1
VTX 1
2022-03-01 03:57:12,401     INFO bpy.ops.import_mesh.bmd.vtx1 length of normal coordinates (1424) is not //3
EVP 1
DRW 1
JNT 1
SHP 1
MAT 3
off[1](raw): 8 vs 4
off[4]: 3.0
off[5]: 1.0 (4)
off[6]: 4 (1)
off[7]: 6.0 (8)
off[8]: 2.0 (4)
off[0](raw): 1328 vs 4
off[3]: 4.0 (312)
off[10]: 4 (1)
off[11]: 2.0 (4)
off[12]: 0.0 (4)
off[13]: 3.0 (100)
2022-03-01 03:57:12,417     INFO bpy.ops.import_mesh.bmd.matv2 (mat3texmtx) 106 instead of 0x0100
2022-03-01 03:57:12,417     INFO bpy.ops.import_mesh.bmd.matv2 (mat3texmtx) 106 instead of 0x0100
off[15]: 4.0 (2)
TEX 1
Read INF1
Read VTX1
Read EVP1
Read DRW1
Read JNT1
Read SHP1
Read MAT3
Read TEX1

Image names:
f4ce D_hutk_heart
  Width: 64, Height: 64, format 0, 1 mipmaps, offset: 128 = 0x80
  2 202 0 80 0 101 0 0 0
f53c D_hutk_glass
  Width: 64, Height: 128, format 0, 1 mipmaps, offset: 2144 = 0x860
  2 202 0 60 0 101 0 0 0
633d Hilight
  Width: 32, Height: 32, format 0, 1 mipmaps, offset: 6208 = 0x1840
  2 202 0 40 0 101 0 0 0
f56d D_hutk_frame
  Width: 64, Height: 128, format 14, 1 mipmaps, offset: 6688 = 0x1a20
  1 202 0 20 0 101 0 0 0
2022-03-01 03:57:12,440    DEBUG bpy.ops.import_mesh.bmd.main DrawScene point reached
2022-03-01 03:57:12,441    DEBUG bpy.ops.import_mesh.bmd.main frame node created
2022-03-01 03:57:12,442  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga': No such file or directory
)
2022-03-01 03:57:12,443    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga': No such file or directory
)
2022-03-01 03:57:12,445  WARNING bpy.ops.import_mesh.bmd.matpipeline writeTexGen() type 0: Found src 1, might not yet work (use transformed or untransformed coordinate?)
2022-03-01 03:57:12,446  WARNING bpy.ops.import_mesh.bmd.matpipeline Texture uses nativs matrix. Plz implement
2022-03-01 03:57:12,446  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 03:57:12,447    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 03:57:12,451  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga': No such file or directory
)
2022-03-01 03:57:12,452    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga': No such file or directory
)
2022-03-01 03:57:12,458  WARNING bpy.ops.import_mesh.bmd.matpipeline writeTexGen() type 0: Found src 1, might not yet work (use transformed or untransformed coordinate?)
2022-03-01 03:57:12,459  WARNING bpy.ops.import_mesh.bmd.matpipeline Texture uses nativs matrix. Plz implement
2022-03-01 03:57:12,459  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 03:57:12,459    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart Piece (O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 03:57:12,484    DEBUG bpy.ops.import_mesh.bmd.main BuildSMesh point reached
2022-03-01 03:57:12,498    DEBUG bpy.ops.import_mesh.bmd.main animations:
2022-03-01 03:57:12,501    DEBUG bpy.ops.import_mesh.bmd.main end!

Using the new bmdviewer, blemd also seems to extract the textures into the same directory as the file being edited: image (note how they're .dds instead of .tga)

Replacing spaces with underscores (thus making a space-less filepath) does not seem to make any difference

niacdoial commented 2 years ago

OK, I see.

In the manual (MANUAL.md), there is a link to help you download the missing DLL, which is microsoft's version of the standard C++ library.

If you want to keep using that other bmdview.exe file (which is different under the hood), there is also a dropdown-style toggle in the "select bmd file" dialog, where you can tell it to use dds files instead of tga files.

As for the lack of change without spaces, that is nice to know. (I though there was a bug there that I didn't catch at some point)

OoLunar commented 2 years ago

After installing the C++ library that you linked in MANUAL.md, I have seen no difference even after a restart. Here's my logs:

Read prefs: C:\Users\lunar\AppData\Roaming\Blender Foundation\Blender\3.0\config\userpref.blend
blemd
C:\Users\lunar\AppData\Roaming\Blender Foundation\Blender\3.0\scripts\addons\blemd\__init__.py
2022-03-01 21:26:44,215    DEBUG bpy.ops.import_mesh.bmd.main Load :
INF 1
VTX 1
2022-03-01 21:26:44,215     INFO bpy.ops.import_mesh.bmd.vtx1 length of normal coordinates (1424) is not //3
EVP 1
DRW 1
JNT 1
SHP 1
MAT 3
off[1](raw): 8 vs 4
off[4]: 3.0
off[5]: 1.0 (4)
off[6]: 4 (1)
off[7]: 6.0 (8)
off[8]: 2.0 (4)
off[0](raw): 1328 vs 4
off[3]: 4.0 (312)
off[10]: 4 (1)
off[11]: 2.0 (4)
off[12]: 0.0 (4)
off[13]: 3.0 (100)
2022-03-01 21:26:44,231     INFO bpy.ops.import_mesh.bmd.matv2 (mat3texmtx) 106 instead of 0x0100
2022-03-01 21:26:44,231     INFO bpy.ops.import_mesh.bmd.matv2 (mat3texmtx) 106 instead of 0x0100
off[15]: 4.0 (2)
TEX 1
2022-03-01 21:26:44,847    DEBUG bpy.ops.import_mesh.bmd.main DrawScene point reached
2022-03-01 21:26:44,847    DEBUG bpy.ops.import_mesh.bmd.main frame node created
2022-03-01 21:26:44,847  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga': No such file or directory
)
2022-03-01 21:26:44,847    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_heart.tga': No such file or directory
)
2022-03-01 21:26:44,847  WARNING bpy.ops.import_mesh.bmd.matpipeline writeTexGen() type 0: Found src 1, might not yet work (use transformed or untransformed coordinate?)
2022-03-01 21:26:44,847  WARNING bpy.ops.import_mesh.bmd.matpipeline Texture uses nativs matrix. Plz implement
2022-03-01 21:26:44,847  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 21:26:44,847    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 21:26:44,847  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga': No such file or directory
)
2022-03-01 21:26:44,847    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_frame.tga': No such file or directory
)
2022-03-01 21:26:44,862  WARNING bpy.ops.import_mesh.bmd.matpipeline writeTexGen() type 0: Found src 1, might not yet work (use transformed or untransformed coordinate?)
2022-03-01 21:26:44,862  WARNING bpy.ops.import_mesh.bmd.matpipeline Texture uses nativs matrix. Plz implement
2022-03-01 21:26:44,862  WARNING bpy.ops.import_mesh.bmd.texhelper Problem with image C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 21:26:44,862    ERROR bpy.ops.import_mesh.bmd.main Material not built correctly (error is Error: Cannot read 'C:\Users\lunar\Documents\Items\Heart_Piece_(O_gD_hutk)\archive\bmde\o_gd_hutk_bmd\Textures\D_hutk_glass.tga': No such file or directory
)
2022-03-01 21:26:44,878    DEBUG bpy.ops.import_mesh.bmd.main BuildSMesh point reached
2022-03-01 21:26:44,894    DEBUG bpy.ops.import_mesh.bmd.main animations:
2022-03-01 21:26:44,894    DEBUG bpy.ops.import_mesh.bmd.main end!

It should be noted that an empty Textures directory is created, however nothing fills it. No dds files were created this time either, as this is with your copy of BMDViewer.exe. Going to attempt to use the other copy of BMDViewer and see if I can find different results there

OoLunar commented 2 years ago

Using the alternative BMDViewer.exe still results in the textures being placed in the same dir as the bmd file instead of the Textures dir. This occurs on both BMDViewers

niacdoial commented 2 years ago

Using the alternative BMDViewer.exe still results in the textures being placed in the same dir as the bmd file instead of the Textures dir. This occurs on both BMDViewers

Er… what happens if you remove the images and the empty "textures" folder before importing? Maybe there is a bug in the code that decides whether or not bmdviewer should be called at all.

OoLunar commented 2 years ago

No difference