2024/08/23

RE4 UHD vs PS4/NS

Aqui apresento uma comparação entre os arquivos entre as versões.
para saber quais são iguais e quais são diferentes:

LFS: compressão somente no UHD link
FEN: compressão somente no PS4/NS link

UDAS/DAT/MAP: é um contêiner de arquivos é igual para ambas a versões, porem os arquivos internos são diferentes link DATUDAS TOOL

BIN: é diferente o header dos arquivos (offset de 64 bytes)
TPL: são diferentes, por causa dos offset de 64 bytes;
SMD: os arquivos BIN internos são diferentes;
SHD: mesma estrutura do SMD porem não tem TPL, e só tem 1 BIN.

AEV: diferentes, Header igual 16 bytes, Entry Line: UHD 156 e PS4NS 240
ITA: diferentes, Header igual 16 bytes, Entry Line: UHD 156 e PS4NS 184
BLK: tem leve diferença no r100_024.BLK, os outros são iguais, pois são sem entry
CAM: diferentes (offset de 64 bytes)
CNS: igual
DRA: igual (esse arquivo é nada)
DSE: igual
EAR: igual
EAT/SAT: pequena diferença, campo "size" é u64 em vez u32
EFF: igual (só muda a parte do BIN/TPL)
EMI: igual
ESE: igual
ETM: estrutura de contêiner igual, arquivos interno diferente.
ETS: igual
EVS: nada
FCV: Diferença na parte dos offsets (desconheço o formato desse arquivo)
FSE: igual
ITM: estrutura de contêiner igual, arquivos interno diferente.
LIT: igual
MDT: tem diferenças, mas pode ser que funciona igual
OSD: igual (mesmo nada)
PTH: igual r333_027.PTH
RTP: diferença na parte dos offsets
SAR: igual
SEQ: igual (não sei qual é estrutura do arquivo)
SMX: igual
STB: igual (não sei qual é estrutura do arquivo)
TEX: igual exceto que a parte do TPL é diferente.
UWF: diferente, provavelmente offset (não sei qual é estrutura do arquivo)
SND: igual (não sei qual é estrutura do arquivo)

PACK: contêiner de imagens UHD TOOL PS4/NS TOOL
FIX: contêiner de imagens
ESL: igual

text/DCT: offset diferente, não sei oque é, tem texto dentro
sv/dbgfont.tga: igual
rel/REL: é igual (estranho pois era pra ser código de exe)
font/FNT: tem TPL dentro do arquivo
evd/EVD: contêiner de arquivos, funciona com a tool de EVD do Percia.
conteúdo da pasta "bgm" é igual

pasta "snd" tem diferença:
UHD: xgs, xsb, xwb
PS4/NS: acb, awb

pasta "movie" tem diferença:
UHD: sfd
PS4/NS: usm

sobre texturas:
UHD, usa DDS e TGA
NS, usa só DDS, mas suporta TGA.
PS4, usa principalmente GNF, poucas vezes TGA, (não tem DDS)

RE4 PS4NS FEN TOOL

 link e tutorial para a tool para extrair e compactar arquivos .fen
sendo que o .fen é um tipo de compressão usado nos arquivos .pack.fen e .evd.fen
(teoricamente essa compressão deve funcionar dos outros arquivos, desde que termine com .fen)

tool feita por "Luigi Auriemma" com QuickBMS, basicamente é um script para o programa.
link da tool: https://aluigi.altervista.org/quickbms.htm
Arquivo do script: Procure por "Re4 Lfs Fen . Resident Evil 4 lfs fen (script 0.1.2) ... [re4_lfs_fen.bms]" no site acima,
ou segue o link:  https://aluigi.altervista.org/bms/re4_lfs_fen.bms 
(nesse script além de .fen, ele extrai outros formatos de arquivo)

para simplificar fiz um zip com tudo que é necessário:
https://www.mediafire.com/file/dnrwqflgf9ewo7k/RE4_PS4NS_FEN_TOOL_quickbms.zip/file

EXTRACT:

coloque o arquivo .FEN a extraído na mesma pasta que o programa e execute o arquivo bat:
"RUN EXTRACT ALL FEN.bat"

REPACK:
aqui é um pouco mais complicado, pois o programa tem limitações:
primeiro que você em que ter o arquivo FEM original, se nãa tiver ele não faz repack.
segunda o arquivo .FEM e o extraído deve ter o mesmo Nome, ex
44000100.pack.fen
44000100.pack
terceiro, o conteúdo comprimido do teu arquivo tem que ser menor que o arquivo original.
(abaixo ensino a burlar isso.) 

com os dois arquivos na mesma pasta do programa execute o arquivo bat:
"RUN REPACK ALL FEN.bat"

resolvendo problemas com o tamanho do arquivo:
ao fazer repack o arquivo comprimido fica menor que o original, porem o programa mantem o arquivo do mesmo tamanho que o original. pare reduzir o arquivo abra-o com o HxD (ou outro editor hexadecimal) vá para para o final de traz para frente apague os bytes de valor 00 ate chegar a parte onde tem bytes com outros valores, deixe uns 32 bytes com 00 no final do arquivo para margem de segurança; (assim vc reduz o tamanho do arquivo recompactado)

agora se o programa não estiver recompactando por o tamanho do original for menor que o necessário, vc tem 2 opções:

primeira opção:  arrume outro arquivo .fen de tamanho maior, e renomeie para o nome do seu arquivo .fen
(o conteúdo não importa muito, pois ele sobrescreve todos os dados.)

segunda opção: abra o arquivo .fen com o HxD vá para o final do arquivo, e insira mais bytes no arquivo. 

Nota, dentro da pasta do programa você pode criar uma pasta de qualquer nome para colocar seus arquivos .fen dentro, para você ter organização, os arquivos .bat vão reconhecer os arqivos .fen dentro das pastas.

RE4 Documentação Arquivo .pack

Referente ao arquivo .pack (e .pack.yz2) para as versões de UHD e PS4/NS

é um Contêiner de imagens, é Little Endian, a estrutura do arquivo é a mesma com a exceção que que os offsets para o UHD é de 32 bits, e para PS4/NS os offsets são de 64bits.
Além de claros, os formatos das imagens armazenadas nos arquivos também são diferentes entre as versões, segue abaixo das imagens permitidas entre cada versão do jogo:

UHD:
Arquivo .DDS = Magic: 0x 44 44 53 20
Arquivo .TGA = Mafic: 0x 00 00 02 00  ou  00 00 0A 00

sendo os DDS dos tipos: DXT1, DXT5, DXT3, (UVER NVTT DXT1), (tipo não identificado)
Nota: isso são referente as imagens encontradas originalmente no jogo. 

PS4:
Arquivo .GNF = Magic: 0x 47 4E 46 20
Arquivo .TGA = Magic: 0x 00 00 02 00

sendo GNF um tipo de imagem especifico do ps4 (esse é o formato mais usado)
e o TGA é usado somente para o efeito de neblina nos pack usados nos cenários.
print: https://i.imgur.com/WpYbnEV.png

NS (Switch):
Arquivo .DDS = Magic: 0x 44 44 53 20

sendo os DDS dos tipos: DXT3, DXT5, DX10, (tipo não identificado)
Nota: nessa versão só tem arquivo DDS
Nota2: editando o pack, coloquei TGA e funcionou (no emulador pelo menos)

------------------------

Atenção: Para TGA na verdade ele não tem um Magic no inicio do arquivo, os valores já são dados dos arquivos. porem são sempre os mesmo dados.

Referente as Tool: para UHD é uma tool, e para PS4/NS deve ser usada outra tool, para extrair corretamente os arquivos.

Compressão:
no UHD os arquivo packs são comprimidos com .LFS
e para PS4/NS são comprimidos com .FEN
você deve descomprimir o arquivo antes de extrair os packs.

Hexpat
arquivo que informa a estrutura dos arquivos, usar no ImHex: https://imhex.werwolv.net/ 

Para UHD: https://pastebin.com/R880vzCn
Para PS4/NS: https://pastebin.com/jQXJjPLU

-------
especificação dos formatos de texturas:

TGA:
https://paulbourke.net/dataformats/tga/
https://en.wikipedia.org/wiki/Truevision_TGA

DDS
https://learn.microsoft.com/en-us/windows/win32/direct3ddds/dx-graphics-dds-pguide
https://en.wikipedia.org/wiki/DirectDraw_Surface

GNF
Não tem, não descobriram, o povo usa um programa vazado de devtoolkit do ps4, para converter para GNF.

2024/08/17

RE4 UHD BIN TOOL - Documentação: IDXUHDBIN

A colocar informações sobre IDXUHDBIN nesse post.



RE4 UHD TPL DIFERENTES

 Nessa postagem venho informar sobre os tpl do uhd que tem uma estrutura diferente da suportada pela minha tool.
Basicamente esse arquivos tem campos a mais.

* core.udas/core_015.TPL
* memcard.udas/memcard_000.TPL
* uma grande partes do tpl que estão dentro do EFF


A colocar especificação do arquivo.
Ao analisar o arquivo um dos campos é um offset, porem os valores neles, não fazem sentido, pois apontam para depois do final do arquivo, e mesmo olhando diretamente no arquivo eff, não faz sentido o conteúdo que esta sendo apontado.
Até o momento vou considerar como dados inválidos e não usados pelo jogo.

2024/08/09

Só dou suporte para as versões de PS2/2007/UHD (RE4)

Só dou suporte para as versões de PS2/2007/UHD do re4

(PS3) sobre o crc, basta você apagar a extensão do arquivo, pois isso não é uma compressão, e apagar os ultimos 4 bytes do arquivos, pois esses 4 bytes é o "crc", se vc procurar no google vc descobre como calcular.
Agora referente ao formato .lfs de ps3, esse sim é uma compressão, do tipo ZLDR, no qual não temos tool para extrair.
E esse arquivo .pack, ele é do tipo big endian, e as texturas dentro dele são de um formato desconhecido.(provavelmente o mesmo formato de textura da versão de wii)

-------

(Xbox360) referente a versão de xbox, ele é uma mistura de big endian e little endian, os arquivos .lfs podem ser extraidos com a mesma tool do de lfs do UHD, podem os arquivos extraidos são big endian, e os arquivos udas das pastas st, tem a mesma compressão de wii/gc, que so tem tool para estrair mas não recompactar. 
E os arquivos .pack são big endian, porem as imagem internas são dds e tga.

-------

(GC/WII) são big endian as duas versões tem praticamente os mesmos arquivos/ estrutura de arquivos, temos tool somente para extrair os arquivos não recompactar. seus arquivos "das" tem uma compressão que não entendemos, e so tem uma tool para extrair esse  arquivos e não tem como recomprimi-lo de volta, por isso não da para editar essa versão.

-------

(xBoxOne) não vi os arquivos desse versõe do jogo, então não tenho informações sobre.
E não tem emulador para esse console, e então também não temos como testar.

------

(ps2/2007) são Little Endian, a versão de 2007 tem todos os arquivos que tem na versão de ps2, então as tools são compatível entre as duas versões. os arquivos .Bin são modelos 3d, porem só são carregados no ps2, no 2007 o jogo faz sideload para os arquivos Pmd.
O 2007 também faz sideload nos arquivos de áudio, e também claro o executável é diferente.

------

(UHD/switch) são Little Endian, temos muitas tools para uhd.
Referente a versão de switch é muito parecida com a de uhd, porem tem algumas diferenças:
os arquivos BIN (modelo 3d) são diferentes.
os arquivos .pack tem uma compressão do tipo fen (pode ser extraídos ), e esses .pack tem o começo do arquivo diferente da versão do uhd.
e alguns outros arquivos também tem pequenas diferenças com as versão uhd. 


--------
novo: (PS4/
switch) com shadps4 verifiquei a versão de PS4, basicamente todos os arquivos são iguais a versão de switch, Exceto:
o executável, os arquivos Pack, o arquivo pack é compactado com .fen que já tem como extrair, sendo que o pack é um contêiner de texturas, a estrutura do pack é igual, porem as texturas internas são diferentes, para 
switch são DDS, para PS4 são do formato GNF, que é um formato de textura especifico de PS4. 

---------

também não dou suporte para a versão de switch/PS4, pois já tenho muitos tool para fazer para as versões de PC.

2024/08/05

JADERLINK RE4 EFF TOOL

 Disponibilizo a tool para edição dos arquivos .EFF das versões de UHD/PS2/2007 do Re4.
A tool na verdade são divididos em dois executáveis:
RE4_PS2_EFF_SPLIT.exe/RE4_UHD_EFF_SPLIT.exe
Que irá gerar o arquivo .EFFBLOB e para editar esse arquivo você deve usar a tool a baixo:
RE4_EFFBLOB_RUST.exe

Lembre-se que para o repack você deve primeiro fazer o repack do arquivo EFFBLOB, para depois fazer o repack do arquivo EFF;

Links:
https://github.com/JADERLINK/RE4_EFF_SPLIT_TOOL
https://github.com/JADERLINK/RE4_EFF_BLOB_RUST

RE4_EFF_SPLIT_TOOL

Extract and repack RE4 EFF files (RE4 2007/UHD/PS2)

Translate from Portuguese Brazil

Tool destinada a dividir o arquivo EFF em 3 partes, você deve usar outra tool para editar o arquivo .EFFBLOB resultante da extração.

Extract

Use o arquivo .bat para extrair:
(nota: a versão de PS2 também serve para o Re4 2007)
RE4_PS2_EFF_SPLIT EXTRACT.bat
RE4_UHD_EFF_SPLIT EXTRACT.bat

Para o exemplo "core_001.EFF" será gerados os arquivos:
* "core_001.IDX_UHD_EFF_SPLIT" = arquivo usado para o repack;
* "core_001/Effect Models/" = pasta contendo os arquivos BIN/TPL (Table10);
* "core_001/Effect TPL" = pasta contendo os arquivos TPL (table05);
* "core_001/core_001.EFFBLOB" = arquivo que contem as outras tabelas, você deve usar outra tool para poder editar esse arquivo.

Repack

Use o arquivo .bat para recompactar:
RE4_PS2_EFF_SPLIT REPACK.bat
RE4_UHD_EFF_SPLIT REPACK.bat

Tendo como exemplo o arquivo anterior, será necessários os arquivos para o repack:
* "core_001.IDX_UHD_EFF_SPLIT"
* "core_001/Effect Models/" = a quantidade de arquivo colocado no repack, é enumerada em ordem sem pular numeração;
* "core_001/Effect TPL" = a quantidade de arquivo colocada no repack, é enumerada em ordem sem pular a numeração;
* "core_001/core_001.EFFBLOB"

RE4_EFF_BLOB_RUST

Extract and repack RE4 EFFBLOB files (RE4 2007/UHD/PS2)

Translate from Portuguese Brazil

Tool destinada a extrair e recompactar arquivos .EFFBLOB, que são arquivos gerados pela tool "RE4_EFF_SPLIT_TOOL".
Aviso: Tool criada por Zatarita, fork da tool por JaderLink;

Extract

Use o arquivo .bat para extrair:
EFFBLOB Extract ALL.bat (todos que estão na pasta)
EFFBLOB Extract One.bat (araste o arquivo .effblob, sobre o .bat)

Para o exemplo "core_001.EFFBLOB" serão gerados os arquivos:
* "core_001.EFFBLOBTXT" = arquivo usado para o repack;
* "core_001/Tables/Table_0_TPL_Texture_IDs.txt2"
* "core_001/Tables/Table_1_Effect_0_Indexes.txt2"
* "core_001/Tables/Table_2_EAR_Links.txt2"
* "core_001/Tables/Table_3_Effect_Path_IDs.txt2"
* "core_001/Tables/Table_4_BIN_Model_IDs.txt2"
* "core_001/Tables/Table_6_TextureData.txt2"
* "core_001/Tables/Table_9_Paths.txt2"
* "core_001/Effect 0/" = Quantidade de "Effect Group" tem que ser o mesmo definido no arquivo "Table_1_Effect_0_Indexes.txt2";
* "core_001/Effect 1/" = Quantidade de "Effect Group" tem que ser o mesmo definido no arquivo "Table_2_EAR_Links.txt2";
* "core_001/Effect */Effect Group * Data.txt2" = arquivo com os "EffectEntry";
* "core_001/Effect */Effect Group * Data.obj" = arquivo apenas para referência, não usado para o repack (aviso: escala 1/100, sendo Y a altura);

Repack

Use o arquivo .bat para recompactar:
EFFBLOB Repack ALL.bat (todos que estão na pasta)
EFFBLOB Repack One.bat (araste o arquivo .effblobtxt, sobre o .bat)

Tendo como exemplo o arquivo anterior, para o repack serão usados os arquivos informados acima.
Nota importante sobre a edição dos arquivos txt2:
* Os campos em decimal devem permanecer em decimal e os em hexadecimal devem permanecer em hexadecimal.
* Os campos nos arquivos serão reconhecidos pela ordem no arquivo e não pelo nome, então não mude os campos de ordem, e também não exclua os campos.
* Não é permitido comentários nos arquivos, pois pode dar conflito no repack.

2024/08/03

EFF mariokart64n Info

; =============================================================
;      Resident Evil 4 Ultimate HD Edition - Sprite Data
;             Generated from re4eff by mariokart64n
; -------------------------------------------------------------
;
; * Defines Paths to Resource Folders both relative and
;   absolute paths are allowed
;
; -------------------------------------------------------------
;
;                  -- CORE SPRITE CHART --
;       ________________________________________________
;      | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
;      |________________________________________________
;   00 | 00 01 __ 03 04 05 06 07 08 09 0A 0B 0C __ 0E 0F 
;   01 | 10 __ 12 13 __ __ 16 17 18 19 __ 1B 1C 1D 1E 1F 
;   02 | 20 __ 22 23 __ 25 26 __ 28 __ __ __ 2C __ 2E __ 
;   03 | __ __ 32 __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   04 | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   05 | 50 51 52 53 __ __ 56 57 58 59 5A __ __ __ __ 5F 
;   06 | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 6F 
;   07 | __ __ 72 __ __ __ __ __ __ 79 __ __ __ __ __ __ 
;   08 | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   09 | __ __ __ __ __ __ 96 __ __ __ __ __ __ __ __ __ 
;   0A | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0B | __ B1 B2 __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0C | __ __ __ __ __ __ __ __ __ __ __ __ __ CD CE __ 
;   0D | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0E | __ __ E2 __ __ __ __ __ __ E9 __ __ __ __ __ __ 
;   0F | __ __ __ __ __ __ __ F7 __ __ __ __ FC __ __ FF 
;
;
;       00: Blood Splat 1         25: Vertical Gradient
;       01: Blood Splat 2         26: Flame 1
;       03: Blood Splat 3         28: Flame 2
;       04: Blood Spot 1          2C: Explosion 5
;       05: Blood Spot 2          2E: Explosion 6
;       06: Blood Splat 4         32: Blended Square
;       07: Blood Splat 5         50: Dish
;       08: Specular 1            51: Smoke 4
;       09: Blood Splat 6         52: Smoke 5
;       0A: Explosion 1           53: Smoke 6
;       0B: V Shaped Gradient     56: Splash 1
;       0C: Blood Splat 7         57: Splash 2
;       0E: Blood Splat 8         58: Splash 3
;       0F: Blood Splat 9         59: Splash 4
;       10: Blood Splat 10        5A: Splash 5
;       12: Bullet Hole           5F: Splash 6
;       13: Specular 2            6F: Bubbles
;       16: Blood Splat 11        72: Screen Static
;       17: Specular 3            79: Specular 5
;       18: Blood Splat 12        96: Web
;       19: Blood Splat 13        B1: Transparent Circle
;       1B: Water Ripple          B2: Circle
;       1C: Specular 4            CD: Smoke 7
;       1D: Smoke 1               CE: Splash 7
;       1E: Smoke 2               E2: Splash 8
;       1F: Smoke 3               E9: Highlighted Gradient
;       20: Explosion 2           F7: Square
;       22: Explosion 3           FC: Square Smoke
;       23: Explosion 4           FF: Blended Circle
;
; =============================================================

; =============================================================
;    Resident Evil 4 Ultimate HD Edition - Animation Data
;             Generated from re4eff by mariokart64n
; -------------------------------------------------------------
;
; * Defines Paths to Resource Folders both relative and
;   absolute paths are allowed
;
; * 'group_id' represents the memory location in which the 
;   resource is written to. If the same 'group_id' is assigned
;   then only the last resource will be accessible through
;   memory. Therefore you should keep the 'group_id' discret
;
; -------------------------------------------------------------
;
;                    -- EFF CORE CHART --
;       ________________________________________________
;      | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
;      |________________________________________________
;   00 | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 
;   01 | 10 11 12 13 14 15 16 17 18 19 1A 1B 1C __ 1E 1F 
;   02 | 20 21 22 __ 24 25 26 27 28 __ __ __ 2C __ 2E 2F 
;   03 | 30 31 32 33 34 __ 36 __ __ 39 3A 3B 3C 3D __ 3F 
;   04 | 40 41 42 43 44 45 46 47 __ __ __ __ __ 4D 4E 4F 
;   05 | 50 51 52 __ __ __ __ 57 58 __ __ __ __ __ __ __ 
;   06 | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   07 | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   08 | __ __ __ __ __ __ __ 87 __ __ __ __ __ __ 8E __ 
;   09 | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0A | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0B | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0C | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0D | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0E | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ 
;   0F | __ __ __ F3 __ F5 F6 __ __ F9 FA FB __ __ __ __ 
;
;
;       00: Blood Spurt           28: Water Surface Expl
;       01: Blood Splat           2C: Blue Pickup Aura
;       02: Blood Splat 2         2E: Blue Pickup Aura, 
;       03: Red Laser             2F: Red Pickup Aura
;       04: Water Splash          30: Red Pickup Aura, S
;       05: Water Splash 2        31: Green Pickup Aura
;       06: Screen Glare          32: Green Pickup Aura,
;       07: Screen Glare 2        33: White Pickup Aura
;       08: Screen Glare 3        34: Blood Drop on Grou
;       09: Screen Glare 4        36: Explosion with Deb
;       0A: Water Surface Expl    39: Water Surface Expl
;       0B: Explosion with Deb    3A: Water Surface Spla
;       0C: Burst of Smoke        3B: Multiple Sparks
;       0D: Explosion with Deb    3C: Violent Screen Fla
;       0E: Water Surface Spla    3D: Short Burst Sparkl
;       0F: Water Surface Spla    3F: Slow Screen Flashe
;       10: Fire Explosion, Bl    40: Tiny Water Splash
;       11: Water Surface Spla    41: Tiny Water Splash 
;       12: Water Surface Ripp    42: Mid Water Splash, 
;       13: Water Surface Spla    43: Mid Water Splash, 
;       14: Water Surface Spla    44: Small Water Splash
;       15: Water Surface Expl    45: Green Splashes
;       16: Small Smoke Cloud     46: Light Blue item Pi
;       17: Small Smoke Cloud     47: Light Blue item Pi
;       18: Small Explosion       4D: Extend Time Pickup
;       19: Water Surface Spla    4F: Flashing Red Dot 1
;       1A: Ground Scurched Bl    50: Flashing Red Dot 2
;       1B: Screen Grain Effec    51: Screen Flashing Wh
;       1C: Blood Drop on Grou    52: Yellow Shooting Pl
;       1E: Screen goes black     57: Small Explosion 2
;       1F: Mid Smoke Cloud       58: Blood Drop on Grou
;       20: Small Smoke Cloud     87: Black on White Dot
;       21: Pulsating Sparkle     8E: Circle Made of Dot
;       22: Small Water Surfac    F3: Thermal Vision Scr
;       24: Pulsating Sparkle     F5: Amber Screen
;       25: Pulsating Sparkle     F6: Amber Screen + Lav
;       26: Ground Scurched Bl    F9: Falling Green Smok
;       27: Fire Explosion, Bl    FA: Enveloping Grey Sm
;
; =============================================================

2024/07/28

RE4 EFF Documentation

https://docs.google.com/document/d/1vesS78d2KnZiYB1-wtkcB5washUtWJ3mZ9KtrycXFjA/edit

Arquivo referente aos efeitos do jogo. o arquivo é composto por 12 tabelas, No geral o arquivo é igual entre as versões UHD/PS2(2007), porem tem diferença entre as seguintes tabelas.
Table_5 (TPL Offsets) = o arquivo tpl é diferente entre as versões
Table_10 (Data Offset) = os modelos BIN/TPL são diferente entre as versões.
Table_6 (Texture Metadata) = a unica diferença aqui é que as entry do ps2 são 16 bytes, e no UHD são 32 bytes, porem esses 16 bytes a mais, são padding e sempre preenchido como 00

Header Do arquivo EFF

offset[0x00 a 0x03] MAGIC sempre 0B-00-00-00 (representa a quantidade de offsets)
offset[0x04 a 0x07] OFFSET = (0) Texture IDs      [Tables/Table_0_Room_Texture_IDs.txt]
offset[0x08 a 0x0B] OFFSET = (1) Effect IDs       [Tables/Table_1_Core_Texture_IDs.txt]
offset[0x0C a 0x0F] OFFSET = (2) EAR Link         [Tables/Table_2_EAR_Links.txt]
offset[0x10 a 0x13] OFFSET = (3) Unknown Table    [Tables/Table_3_Effect_Path_IDs.txt]
offset[0x14 a 0x17] OFFSET = (4) Model IDs        [Tables/Table_4_BIN_Model_IDs.txt]
offset[0x18 a 0x1B] OFFSET = (5) TPL Offsets      [Effect TPL Folder]
offset[0x1C a 0x1F] OFFSET = (6) Texture Metadata [Tables/TextureData.txt]
offset[0x20 a 0x23] OFFSET = (7) Effect 0 Type    [Effect 0 Folder]
offset[0x24 a 0x27] OFFSET = (8) Effect 1 Type    [Effect 1 Folder]
offset[0x28 a 0x2B] OFFSET = (9) Paths            [Tables/Paths.txt]
offset[0x2C a 0x2F] OFFSET = (10) Data Offset     [Effect Models folder]
// no UHD tem um padding de 16 bytes depois dessa tabela, no ps2 não.

Pares entre as tabela:
as tabelas tem parem entre si, então a quantidade tem que ser igual nas ambas
segue abaixo os pares abaixo:
tabelas 00, 05, 06
tabelas 01, 07
tabelas 02, 08
tabelas 04, 10
tabelas 03, 09 (tem pouca ocorrência dessas tabelas, então é difícil de confirmar)

Tabela 00: [Table_0_Room_Texture_IDs.txt]

offset[0x00 a 0x03]: Amount = quantidade de entry dessa tabela
depois vem seguido as entry uma depois da outra
cada Entry tem 8 bytes, sendo:
Offset[0x00 a 0x01] Room_Texture_ID (ushort)
offset[0x02 a 0x03] ??? Unknown (ushort) valor sempre 00
offset[0x04 a 0x05] ??? Unknown (ushort) valor sempre 00
offset[0x06 a 0x07] ??? Unknown (ushort) valor sempre 00
Nota: Room_Texture_ID é o mesmo ID que vai no campo "Texture ID"

arquivo: Table_0_Room_Texture_IDs.txt
Entry Count: 1
Entry 0: 0xC4  // identificador universal da Textura (não é o id da textura no arquivo pack)

Tabela 06: [Tables/TextureData.txt]

offset[0x00 a 0x03]: Amount = quantidade de entry dessa tabela
depois disso é uma sequencia de OFFSET que apontam para as entry dessa tabela.
referente as entry dessa tabela:
Elas tem 16 bytes de tamanha (no UHD tem mais 16 bytes de padding) 
TextureData Entry:
OFFSET[0x00 a 0x01]: Height
OFFSET[0x02 a 0x03]: Width
OFFSET[0x04 a 0x05]: Effect Height
OFFSET[0x06 a 0x07]: Effect Width
OFFSET[0x08 a 0x09]: Effect Texture Count
OFFSET[0x0A]: Offset[10] (não se sabe oque é)
OFFSET[0x0B]: Offset[11] (não se sabe oque é)
OFFSET[0x0C a 0x0F]: padding, sempre 00

Nota: no final dessa tabela no UHD pode ter os arquivos TPL, mais isso é uma "porquidade" que a capcom fez no arquivo.

Tabela 05: [
Effect TPL Folder]

Aqui é onde contem os arquivos TPL, não vou explica como é armazenado no arquivo EFF, pois isso é uma bagunça.
o importante é quem tenha a mesma quantidade que a tabela 00 e 06;

--------
Tabela 07 ou 08 [
Effect ? Folder]

Aqui as duas tabelas seguem a mesma estrutura de definição.
por mais que seja um sistema de grupo cada EffectEntry é uma coisa diferente, só estão em grupos para definir quando aquele conjunto de Efeitos vão ser ativos ou desativados:

Header:
offset[0x00 a 0x03]: Amount = quantidade de GroupEntry dessa tabela
depois disso é uma sequencia de OFFSET que apontam para as GroupEntry dessa tabela.

GroupEntry:
Tem 48 bytes de tamanho
offset[0x00 a 0x01]: Amount quantidade de "EffectEntry" (Effect Count)
offset[0x02 a 0x03]: ??? (Offset[X02])
offset[0x04 a 0x05]: ??? (Offset[X04])
offset[0x06 a 0x07]: ??? (Offset[X06]) 
offset[0x08 a 0x08]: ??? 
(Offset[X08])
offset[0x0A]: ??? 
(Offset[X0A]) geralmente 0xFE
offset[0x0B]: ??? (
Offset[X0B]) sempre 0x00
offset[0x0C a 0x0F]: Float Group Position X (Offset[X0C])
offset[0x10 a 0x13]: Float Group Position Y (Offset[X10]) 
offset[0x14 a 0x17]: Float Group Position Z (Offset[X14]) 
offset[0x18 a 0x1B]: Float Group Angle X (em degrees 0 a 360) (Offset[X18]) 
offset[0x1C a 0x1F]: Float Group Angle Y (em degrees 0 a 360) (Offset[X1C]) 
offset[0x20 a 0x23]: Float Group Angle Z (em degrees 0 a 360) (Offset[X20]) 
offset[0x24]: ??? (Offset[X24]) sempre 0x10 
offset[0x25 a 0x2F] sempre 0x00

depois disso vem em sequencia os "
EffectEntry"
que são 300 bytes de dados (0x12C)

//Aviso, peguei o nome dos campos da tool de EFF do Zatarita:

Effect 0 // esse é o índice da ordem no arquivo
offset[0x00]=  ID: 1 = esse campo é sempre 0x01
offset[0x01]=  ESP ID: 78 = tipo do efeito
offset[0x02]= Texture ID: 246 = ID da textura aplicado no efeito (nota, é o mesmo id definido na tabela 00,
nota2: esse id tambem é o mesmo id da table04, que vincula os modelos 3d)
offset[0x03]= ?????????
offset[0x04 a 0x05]= 
Time: 0 (ushort)
offset[0x06]= Parent: 0
offset[0x07]= Parent Part: 0xFE
offset[0x08 a 0x0B]= Flags: 0x0 (uint)
offset[0x0C a 0x0F]= Position X: -92885.1875  (float)
offset[0x10 a 0x13]= Position Y: 1404.5344  (float)
offset[0x14 a 0x17]= Position Z: -9848.6962  (float)
offset[0x18 a 0x1B]= Random Position X: 0  (float)
offset[0x1C a 0x1F]= Random Position Y: 0  (float)
offset[0x20 a 0x23]= Random Position Z: 0  (float)
offset[0x24 a 0x27]= Speed X: 0  (float)
offset[0x28 a 0x2B]= Speed Y: 0  (float)
offset[0x2C a 0x2F]= Speed Z: 0  (float)
offset[0x30 a 0x33]= Delta Speed: 0  (float)
offset[0x34 a 0x37]= Random Speed X: 0  (float)
offset[0x38 a 0x3B]= Random Speed Y: 0  (float)
offset[0x3C a 0x3F]= Random Speed Z: 0  (float)
offset[0x40 a 0x43]= Acceleration X: 0  (float)
offset[0x44 a 0x47]= Acceleration Y: 0  (float)
offset[0x48 a 0x4B]= Acceleration Z: 0  (float)
offset[0x4C a 0x4F]= Random Acceleration X: 0  (float)
offset[0x50 a 0x53]= Random Acceleration Y: 0  (float)
offset[0x54 a 0x57]= Random Acceleration Z: 0  (float)
offset[0x58 a 0x5B]= Rotation X: 0  (float)
offset[0x5C a 0x5F]= Rotation Y: 0  (float)
offset[0x60 a 0x63]= Rotation Z: 0  (float)
offset[0x64 a 0x67]= Random Rotation X: 0  (float)
offset[0x68 a 0x6B]= Random Rotation Y: 0  (float)
offset[0x6C a 0x6F]= Random Rotation Z: 0  (float)
offset[0x70 a 0x73]= Rotation Acceleration X: 0  (float)
offset[0x74 a 0x77]= Rotation Acceleration Y: 0  (float)
offset[0x78 a 0x7B]= Rotation Acceleration Z: 0  (float)
offset[0x7C a 0x7F]= Random Rotation Acceleration X: 0  (float)
offset[0x80 a 0x83]= Random Rotation Acceleration Y: 0  (float)
offset[0x84 a 0x87]= Random Rotation Acceleration Z: 0  (float)
offset[0x88 a 0x8B]= Width: 90  (float) = esse campo interfere no tamanho da textura e do modelo 3d
offset[0x8C a 0x8F]= Height: 90  (float) = o mesmo que de cima so que para a altura.
offset[0x90 a 0x93]= Random Size: 0  (float)
offset[0x94 a 0x97]= Grow: 0  (float)
offset[0x98 a 0x9B]= Delta Grow: 0  (float)
offset[0x9C]= R: 0x80
offset[0x9D]= G: 0x80
offset[0x9E]= B: 0x80
offset[0x9F]= A: 0xFF
offset[0xA0 a 0xA3]= Delta R: 1  (float)
offset[0xA4 a 0xA7]= Delta G: 1  (float)
offset[0xA8 a 0xAB]= Delta B: 1  (float)
offset[0xAC a 0xAF]= Delta A: 1  (float)
offset[0xB0 a 0xB1]= Delta Color Max Frame: 0  (ushort)
offset[0xB2 a 0xB3]= Delta Color Start Frame: 0  (ushort)
offset[0xB4 a 0xB5]= ???????????????  (ushort)
offset[0xB6 a 0xB7]= Delta Size Start Frame: 0  (ushort)
offset[0xB8 a 0xB9]= Lifetime: 0  (ushort)
offset[0xBA a 0xBD]= Animation Speed: 0  (uint)
offset[0xBE a 0xBF]= ?????????????  (ushort)
offset[0xC0]= Release Time: 0  (byte)
offset[0xC1 a 0xC2]= Blend: 0  (ushort)
offset[0xC3]= Simulation Type: 0
offset[0xC4]= Simulation Power: 0
offset[0xC5]= Mask Texture ID: 0
offset[0xC6]= Value In: 0
offset[0xC7]= Value Out: 0
offset[0xC8]= Work 0: 0
offset[0xC9]= Work 1: 0
offset[0xCA]= Work 2: 0
offset[0xCB]= Work 3: 0
offset[0xCC a 0xCF]= Work 4: 0  (uint)
offset[0xD0 a 0xD3]= Work 5: 0  (uint)
offset[0xD4 a 0xD7]= Work 6: 0  (uint)
offset[0xD8 a 0xDB]= Vector 0 X: 0  (float)
offset[0xDC a 0xDF]= Vector 0 Y: 0  (float)
offset[0xE0 a 0xE3]= Vector 0 Z: 0  (float)
offset[0xE4 a 0xE7]= Vector 1 X: 0  (float)
offset[0xE8 a 0xEB]= Vector 1 Y: 0  (float)
offset[0xEC a 0xEF]= Vector 1 Z: 0  (float)
offset[0xF0 a 0xF3]= Vector 2 X: 0  (float)
offset[0xF4 a 0xF7]= Vector 2 Y: 0  (float)
offset[0xF8 a 0xFB]= Vector 2 Z: 0  (float)
offset[0xFC]= Spline 0: 0
offset[0xFD]= Spline 1: 0
offset[0xFE]= Spline 2: 0
offset[0xFF]= Spline 3: 0
offset[0x100 a 0x103]= ???????????   (uint)
offset[0x104]= Path Own: 0
offset[0x105]= Path Number: 0
offset[0x106]= Path Start: 0
offset[0x107]= Path Random: 0
offset[0x108]= Effect Type: 0
offset[0x109]= Control ID: 0
offset[0x10A a 0x10B]= Control Flag: 0  (ushort)
offset[0x10C]= Control Interval: 0
offset[0x10D]= Control Number: 0
offset[0x10E]= Control RP: 0
offset[0x10F]= ??????????????
offset[0x110 a 0x111]= Control Life: 0  (ushort)
offset[0x112 a 0x113]= ???????????  (ushort)
offset[0x114 a 0x115]= ???????????  (ushort)
offset[0x116 a 0x117]= ???????????  (ushort)
offset[0x118 a 0x11B]= Control Path Scale X: 0  (float) aviso: na tool do zatarita esse campo esta nos offset errados;
offset[0x11C a 0x11F]= Control Path Scale Y: 0  (float) aviso: na tool do zatarita esse campo esta nos offset errados;
offset[0x120 a 0x123]= Control Path Scale Z: 0  (float) aviso: na tool do zatarita esse campo esta nos offset errados;
offset[0x124]= Control Path Delta Size: 0
offset[0x125]= Control Path Delta Speed: 0
offset[0x126]= Control Path Delta Alpha: 0
offset[0x127]= Control Path Delta Interval: 0
offset[0x128]= Control Path Random Interval: 0
offset[0x129]= Control Path Rotation X: 0
offset[0x12A]= Control Path Rotation Y: 0
offset[0x12B]= Control Path Flag: 0 
//Fim do EffectEntry

Tabela 02 [Table_2_EAR_Links.txt]
offset[0x00 a 0x03]: Amount = quantidade de entry dessa tabela
depois vem seguido as entry uma depois da outra
cada Entry tem 8 bytes, sendo:
offset[0x00 a 0x01]: 
Effect Group: (index, identificador único do group da table08)
offset[0x02 a 0x03]: EAR Link ID: (índice de conexão com uma entry do arquivo EAR).
offset[0x04 a 0x07]: ???? : (desconhecido valor sempre 00)
(questão, fico na duvidada do porque ter um index, sendo que a própria ordem poderia ser um, e no que esse index é associado)

Tabela 01 [Table_1_Core_Texture_IDs.txt]
offset[0x00 a 0x03]: Amount = quantidade de entry dessa tabela
depois vem seguido as entry uma depois da outra
cada Entry tem 8 bytes, sendo:
Offset[0x00 a 0x01] CoreTextureID (ushort) ??? o correto seria um index do group da table 07
offset[0x02 a 0x03] ??? Unknown (ushort) valor sempre 00
offset[0x04 a 0x05] ??? Unknown (ushort) valor sempre 00
offset[0x06 a 0x07] ??? Unknown (ushort) valor sempre 00

Arquivo: Table_1_Core_Texture_IDs.txt
Entry Count: 1
Entry 0: 0x0

Tabela 04 [Table_4_BIN_Model_IDs.txt]
offset[0x00 a 0x03]: Amount = quantidade de entry dessa tabela
depois vem seguido as entry uma depois da outra
cada Entry tem 8 bytes, sendo:
Offset[0x00 a 0x01] Room_Model_ID (ushort)
offset[0x02 a 0x03] ??? Unknown (ushort) valor sempre 00
offset[0x04 a 0x05] ??? Unknown (ushort) valor sempre 00
offset[0x06 a 0x07] ??? Unknown (ushort) valor sempre 00
Nota: Room_Model_ID é o mesmo ID que vai no campo "
Texture ID"

arquivo: Table_0_Room_Texture_IDs.txt
Entry Count: 4
Entry 0: 0xA3  // identificador universal do modelo 3d (usar mesmo valor no campo "Texture ID")


RE4 EAR Documentation

https://docs.google.com/document/d/1TNBbyNf6K9khh0RZ7OIK3k5UYDZ7Lq76gprmmI_dyrk/edit
https://docs.google.com/document/d/1vesS78d2KnZiYB1-wtkcB5washUtWJ3mZ9KtrycXFjA/edit

Essencialmente, o arquivo EAR contém TriggerZones para ativar/desativar efeitos dentro de certos grupos de efeitos no arquivo EFF.
O arquivo é igual entre as versões do UHD/PS2/2007

Header do arquivo: 16 bytes
ZZ-YY-XX-XX-00-00-00-00-00-00-00-00-00-00-00-00
primeiro campo é um "uint" (4 bytes) que representa a quantidade de entry.
sendo que o valor é do tipo "little endian".
então o valor de quantidade 12 é representado como:
0C-00-00-00

Entry: cada entry tem 152 bytes;

offset[0x00]: INDEX = identificador único da entry (por arquivo)
offset[0x01]: UNKNOWN1 = não sei, o valor é sempre 0x01
offset[0x02]: EAR_Link_ID (o mesmo valor que vai na table2 do EFF)
offset[0x03]: UNKNOWN3 = o valor é sempre 0x00
//campos abaixo faz parte da TriggerZone
offset[0x04]: U_GH (sempre 0x01)
offset[0x05]: Category (tipo da triggerZone)
offset[0x06 A 0x07]: U_GK (sempre 0000)
offset[0x08 A 0x0B]: TriggerZoneTrueY (float)
offset[0x0C A 0x0F]: TriggerZoneMoreheight (float)
offset[0x10 A 0x13]: TriggerZoneCircleRadius (float)
offset[0x14 A 0x17]: TZC_0.X (float)
offset[0x18 A 0x1B]: TZC_0.Z (float)
offset[0x1C A 0x1F]: TZC_1.X (float)
offset[0x20 A 0x23]: TZC_1.Z (float)
offset[0x24 A 0x27]: TZC_2.X (float)
offset[0x28 A 0x2B]: TZC_2.Z (float)
offset[0x2C A 0x2F]: TZC_3.X (float)
offset[0x30 A 0x33]: TZC_3.Z (float)
//fim da TriggerZone, os campos abaixo fazem parte do ear
offset[0x34 A 0x37]: UNKNOWN34, não sei, tipo uint, esse campo é  preenchido como 0x00 ou 0x01
Todos os campo seguintes são preenchidos como 0x00





Re4 MR.CURIOUS TUTORIALS

 
MR.CURIOUS TUTORIALS LINK: 
https://docs.google.com/document/d/1XWXl8naf8NZhV0k56cdAPYTOobgOcmVtHN1QYQnC7mA/edit

Tools do percia:
https://residentevilmodding.boards.net/thread/9780/2018-re4uhd-toolset-persia-released

Modding Index 2023/2024
https://residentevilmodding.boards.net/thread/17912/modding-guide-index-2023

2024/07/26

RE4 2007 Extraindo GCA DAT

 Para poder modificar os arquivos do resident evil 4, o primeiro passa é extrair os arquivos .dat que estão na mesma pasta que o game.exe, esse arquivo de extensão .dat são do tipo GCA.

1) faça o download da tool nesse link: (baixe a versão mais recente)
https://github.com/JADERLINK/RE4-2007-GCA-TOOL/releases


2) veja o vídeo abaixo:

2024/07/24

RE4 MASTER SS CMN ITM HDProject BY JADERLINK

 Disponibilizo um patch para corrigir os crashs aleatórios que acontecem ao pegar os itens do chão.


O erro acontece pois o jogo ao não conseguir carregar o modelo do item do arquivo .ITM, (ou por não existir, ou o item ficar invisível), ele vai tentar carregar o modelo do item que esta na pasta "SS/cmn", e caso não exista o modelo nessa pasta o jogo crasha.
Então nesse patch eu coloco os modelos dos itens nessa pasta, para o jogo sempre poder encontrar um modelo valido.
Nota: itens inválidos ainda vão crashar o jogo, mesmo tendo um modelo nessa pasta.

Aviso sobre o arquivo .ITM, com isso não precisa mais ter o modelo do item no arquivo, porem se não tiver o modelo do item nesse arquivo, o item no chão vai ficar invisível, e só vai aparecer na hora de pegar o item (tela de pegando item).

link para Download: https://www.mediafire.com/file/0wt4bwii0yuwqeu/MASTER_SS_CMN_ITM_HDProject_BY_JADERLINK.zip/file

essa versão é para o para o HDProject.

Pra a versão do jogo original: use esse patch:
https://jaderlink.blogspot.com/2024/07/re4-master-ss-cmn-itm-uhd-original.html

RE4 MASTER SS CMN ITM UHD ORIGINAL BY JADERLINK

Disponibilizo um patch para corrigir os crashs aleatórios que acontecem ao pegar os itens do chão.

O erro acontece pois o jogo ao não conseguir carregar o modelo do item do arquivo .ITM, (ou por não existir, ou o item ficar invisível), ele vai tentar carregar o modelo do item que esta na pasta "SS/cmn", e caso não exista o modelo nessa pasta o jogo crasha.
Então nesse patch eu coloco os modelos dos itens nessa pasta, para o jogo sempre poder encontrar um modelo valido.
Nota: itens inválidos ainda vão crashar o jogo, mesmo tendo um modelo nessa pasta.

Aviso sobre o arquivo .ITM, com isso não precisa mais ter o modelo do item no arquivo, porem se não tiver o modelo do item nesse arquivo, o item no chão vai ficar invisível, e só vai aparecer na hora de pegar o item (tela de pegando item).

link para Download: https://www.mediafire.com/file/g4f85z1ymk1pdu9/MASTER_SS_CMN_ITM_UHD_ORIGINAL_BY_JADERLINK.zip/file

essa versão é para o RE4 UHD Original, e não para o HDProject (é compatível, porem vai ter diferença na qualidade das texturas.)
para essa o HDProject o patch esta aqui:
https://jaderlink.blogspot.com/2024/07/re4-master-ss-cmn-itm-hdproject.html

2024/07/05

Re4QuadNewAge


























Info:
License: MIT Licence
Linguage: C#
Platform: Windows
Dependency: Microsoft .NET Framework 4.8
Requires openGL 3.3 or higher

Translate from Portuguese Brazil

O "Re4 Quad Extreme Editor" é um programa voltado para a edição de arquivos do jogo "Resident Evil 4" (RE4). Ele permite a edição de arquivos ESL, ETS, ITA e AEV em um editor com visualização de cenário em 3D, compatível tanto com a versão clássica da Ubisoft (2005/2007), com a versão de PS2, quanto com a versão UHD da Steam (2014)​. No qual agora conta com a visualização de modelos de cenários customizados/editados.

Re4QuadExtremeEditor.exe

Para abrir o programa, é necessário que sua placa de vídeo (GPU) tenha o OpenGL versão 3.3 ou superior. Caso sua versão seja inferior à requerida, o programa mostrará uma mensagem de erro.

2024/04/27

Re4 UHD - What if all the textures in the game were white.

E se todas as texturas do jogo fossem brancas.

https://www.youtube.com/watch?v=fxzYg7rVvcQ

Dentro da pasta BIO4 temos duas pastas de texturas a "ImagePack" e "ImagePackHD", mas com o surgimento do hd project, usamos somente as texturas da pasta "ImagePackHD" oque faz, termos um desperdício de 3gb em texturas não utilizadas pelo jogo, então fiz um mod que troca as texturas do "ImagePack", por texturas brancas de tamanho 4x4, cada arquivo .pack tem um único arquivo textura, mas referencia a 500 ids de texturas.

Então acaba só ocupando 10mb de espaço em disco (todos os arquivos packs juntos).

(nota: ainda tenho que atualizar esse mod para pelo menos tenha as texturas  dos menus, para ter como mudar no menu das texturas originais para as texturas HD)

sobre o vídeo: é apenas uma brincadeira o intuito do mod é apenas economizar espaço em disco, e não de fato ser usado no jogo, a não ser que você queria encarar isso como um desafio.

Download: https://www.mediafire.com/file/9gf0w792wnxr74u/ImagePack_ALL-WHITE-TEXTURES.rar/file

RE4 Ultimate HD ImagePack List

Neste tópico disponibilizo a lista atualizada de qual arquivo usa cada .pack;
O tópico original pode ser encontrado aqui: (créditos a "marcelo20xx" e "mariokart64n")
residentevilmodding.boards.net/thread/955/re4-ultimate-hd-imagepack-list?page=1

Os arquivos .pack se encontram nas pastas ImagePack ou ImagePackHD, estão no formato:
.pack e .pack.yz2, no qual são mesmo formato (caso tiver .LFS no final é porque o arquivo esta compactado)
No nome de todos os arquivos pack na verdade são números representados em hexadecimal,
são números de 32 bits de tamanho (ou 4 bytes), que representados em hexadecimal são 8 caracteres;
Sendo os dois primeiros caracteres são usado para representa o "segmento" de que aquele pack faz parte.
Por exemplo packs iniciados por 44 são os packs de cenários.