GoneUp / GPK_RePack

C# .gpk Unpacker/Repacker for Tera, released under the name Terahelper
MIT License
26 stars 12 forks source link

textures too small #8

Closed mizu666 closed 4 years ago

mizu666 commented 4 years ago

I am not sure what I am doing wrong. I opened multiple .gpk files and I have the same issue. I went to Texture2D, selected the files and went to Texture Preview. The preview is very small, only 64x64 pixels. I exported DDS files and opened them in Photoshop. Even in Photoshop they are still 64x64 pizels. These textures should be 1024x1024. The issue is not with Photoshop because I can still open old DDS files which I exported with uthelper and they are at proper resolution. Am I doing something wrong or is there a bug? unknown

GoneUp commented 4 years ago

This is related to a feature they are now using extensively: storing the actual high-res image data in a separate file, a texture cache. For the composite gpks there are the WorldTexture.tfc, CharTexture.tfc files etc, Terahelper will load them if the TextureCache is in the same folder.

e.g this GPK export

Type: Export UID: S1_MI.Tex.Default_Black_diff Object: Default_Black_diff Class: Core.Texture2D Super: none Package: S1_MI.Tex Netindex: -1 Data_Offset: 37466 Data_Size: 243 Properties: ObjectName: SizeX Type: IntProperty Value: 4 ObjectName: SizeY Type: IntProperty Value: 4 ObjectName: OriginalSizeX Type: IntProperty Value: 4 ObjectName: OriginalSizeY Type: IntProperty Value: 4 ObjectName: Format Type: ByteProperty NameValue: PF_DXT5 NameValue: 0 > ObjectName: TextureFileCacheName Type: NameProperty Value: WorldTextures000 ObjectName: MipTailBaseIdx Type: IntProperty Value: 2 ObjectName: SourceFilePath Type: StrProperty Value: D:\Repos\Art\Library\TA\Tex\Default_Black_diff.tga ObjectName: SourceFileTimestamp Type: StrProperty Value: 2007-07-24 03:00:49 ObjectName: LightingGuid Type: StructProperty Length: 16

You also see in the mipmaps that everything higher than 64x64 is stored externally

Mipmap 0 Size: 256 x 256 Compression: 17 Data for this MipMap is stored in tfc EffectTextures000 Compressed Size: 17867 Uncompressed Size: 32768 Blocks: 1 Block: Uncompressed Size: 32768, Compressed Size: 17867

Mipmap 1 Size: 128 x 128 Compression: 17 Data for this MipMap is stored in tfc EffectTextures000 Compressed Size: 5044 Uncompressed Size: 8192 Blocks: 1 Block: Uncompressed Size: 8192, Compressed Size: 5044

Mipmap 2 Size: 64 x 64 Compression: 0 Compressed Size: 0 Uncompressed Size: 2048 Blocks: 0

The current behaviour of Terahelper is to load this data and save it directly into the file on rebuild, but I plan to make this configurable.

GoneUp commented 4 years ago

I just saw that I also added a debug info to the mipmap where it tried to locate the tfc.

Data for this MipMap is stored in tfc WorldTextures029 TFC data was not found. Searched for tfc file at I:\Programme\Steam\SteamApps\common\Tera\Client\S1Game\CookedPC\ArtData\Packages\\WorldTextures029.tfc

GoneUp commented 4 years ago

In the new version it will load the tfc automatically after you set a game path.

GoneUp commented 4 years ago

Release is out https://github.com/GoneUp/GPK_RePack/releases/tag/v1.0