gonetz / GLideN64

A new generation, open-source graphics plugin for N64 emulators.
Other
754 stars 174 forks source link

Quake 64 hirestextures don't show up after using gliden64 cache extract and cygwin #2821

Open Knight09able opened 4 months ago

Knight09able commented 4 months ago

I'm having trouble getting gliden64 to read an extracted htc file of Quake 64

I'm using Project 64 Dev-4.0.0.5752

I extract the htc file in order to have a folder of png files. I use cygwin along with the gliden64 cache extract. The issue I'm having is gliden64 is able to load the png files for hirestextures, but it won't read them once I play the game. I just have the original graphics. There is actually an htc cache file in the folder once everything has loaded up, but it just shows the original graphics, regardless of what's in the cache, and hirestextures folders. The paths are all correct also.

Use file storage instead of memory cache doesn't work

Both compress, and uncompress texture cache doesn't work either

None of the settings work.

For cygwin I use the following steps

WINDOWS Install Cygwin with the following packages (including all of their dependencies): gcc-core git ImageMagick make pkg-config

CYGWIN Run Cygwin

Clone gliden64-cache-extract from GitHub using the following command: git clone https://github.com/ecsv/gliden64-cache-extract.git

This will create: /home/[USER]/gliden64-cache-extract

Compile the gliden64-cache-extract by using the following command: make

This will create: gliden64_cache_extract.exe

Copy gliden64_cache_extract.exe to /bin by using the following command: cp gliden64_cache_extract.exe /bin/gliden64_cache_extract.exe

Change gliden64_cache_extract.exe permissions to make it executable by using the following command: chmod +x /bin/gliden64_cache_extract.exe

Change directory back to /home/[USER] by using the following command: cd ..

Create a new directory called textures by using the following command: mkdir textures

Change directory to textures by using the following command: cd textures

WINDOWS Place *_HIRESTEXTURES.htc in C:\cygwin\home[USER]\textures

CYGWIN

Extract Quake_HIRESTEXTURES.htc by using the following command: zcat "Quake_HIRESTEXTURES.htc" | gliden64_cache_extract -b -p "Quake" | tar x

This will extract the .bmp texture files.

Convert the extracted .bmp texture files to .png by using the following command: for i in *.bmp; do convert -strip -define png:format=png32 -define png:compression-level=9 "${i}" "${i%.bmp}.png"; done

Remove the .bmp files by using the following command: rm *.bmp

Create a new directory called QUAKE by using the following command: mkdir "QUAKE"

Move the .png files to QUAKE directory by using the following command: mv *.png "QUAKE"

Here are what my png files look like after using cygwin, and gliden64 cache extract

Message to github 4

I put the folder of png files into the hirestextures folder in project64

Gliden64 is able to load the textures, but is not able to show them in the game. It's just the original graphics that show up.

Message to github 1

Am I using the wrong version of project64? I have Project64 Dev-4.0.0.5752 Or did I extract the htc file wrong, by not having the right commands on cygwin.

If I didn't follow any of the steps properly, please let me know.

Any help is greatly appreciated.

Thanks.

GhostlyDark commented 4 months ago

This is because of #2640. The old cache format lacks the texture format and size information (everything being #3#0 is not correct), which is now crucial for loading the textures. You have the option to use an older or modified build to work around this: https://github.com/GhostlyDark/GLideN64/tree/emg_ocf

The only real solution to fix the file names involves dumping the textures to create a renaming script or something similar.