mirror of
https://github.com/crskycode/GARbro.git
synced 2026-07-08 01:30:18 +08:00
implemented "CHERRY PACK 3.0" archives.
This commit is contained in:
@@ -138,13 +138,17 @@ namespace GameRes.Formats.Cherry
|
|||||||
|
|
||||||
public override ArcFile TryOpen (ArcView file)
|
public override ArcFile TryOpen (ArcView file)
|
||||||
{
|
{
|
||||||
if (!file.View.AsciiEqual (0, "CHERRY PACK 2.0\0"))
|
if (!file.View.AsciiEqual (0, "CHERRY PACK 2.0\0") &&
|
||||||
|
!file.View.AsciiEqual (0, "CHERRY PACK 3.0\0"))
|
||||||
return null;
|
return null;
|
||||||
|
int version = file.View.ReadByte (0xC) - '0';
|
||||||
bool is_compressed = file.View.ReadInt32 (0x10) != 0;
|
bool is_compressed = file.View.ReadInt32 (0x10) != 0;
|
||||||
int count = file.View.ReadInt32 (0x14);
|
int count = file.View.ReadInt32 (0x14);
|
||||||
long base_offset = file.View.ReadUInt32 (0x18);
|
long base_offset = file.View.ReadUInt32 (0x18);
|
||||||
bool is_encrypted = false;
|
bool is_encrypted = false;
|
||||||
while (!IsSaneCount (count) || base_offset >= file.MaxOffset || (!is_compressed && base_offset != (0x1C + count*0x18)))
|
int min_offset = 0x1C + count * 0x18;
|
||||||
|
while (!IsSaneCount (count) || base_offset >= file.MaxOffset
|
||||||
|
|| (2 == version && !is_compressed && base_offset != min_offset))
|
||||||
{
|
{
|
||||||
if (is_encrypted)
|
if (is_encrypted)
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -140,6 +140,7 @@ Shiosai no Himei<br/>
|
|||||||
Cynthia ~Sincerely to You~<br/>
|
Cynthia ~Sincerely to You~<br/>
|
||||||
Folklore Jam<br/>
|
Folklore Jam<br/>
|
||||||
I/O<br/>
|
I/O<br/>
|
||||||
|
Natsuiro Kouen ~Denpatou no Shita de Ai wo Kataru~<br/>
|
||||||
Onegai O-Hoshi-sama<br/>
|
Onegai O-Hoshi-sama<br/>
|
||||||
Tsuma Youji<br/>
|
Tsuma Youji<br/>
|
||||||
Tsuma Youji 2<br/>
|
Tsuma Youji 2<br/>
|
||||||
@@ -308,6 +309,7 @@ Yatohime Zankikou<br/>
|
|||||||
<tr class="odd"><td>*.arc+*.ari</td><td><tt>WFL1</tt></td><td>No</td><td rowspan="2">KaGuYa</td><td rowspan="2">
|
<tr class="odd"><td>*.arc+*.ari</td><td><tt>WFL1</tt></td><td>No</td><td rowspan="2">KaGuYa</td><td rowspan="2">
|
||||||
Onna Kyoushi<br/>
|
Onna Kyoushi<br/>
|
||||||
Medorei ~Okasareta Houkago~<br/>
|
Medorei ~Okasareta Houkago~<br/>
|
||||||
|
Serina<br/>
|
||||||
Ura Nyuugaku ~Ineki ni Nureta Kyoukasho~<br/>
|
Ura Nyuugaku ~Ineki ni Nureta Kyoukasho~<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr class="odd"><td>*.bg_<br/>*.cg_</td><td><tt>AP</tt></td><td>Yes</td></tr>
|
<tr class="odd"><td>*.bg_<br/>*.cg_</td><td><tt>AP</tt></td><td>Yes</td></tr>
|
||||||
@@ -336,9 +338,10 @@ Maid no Yakata ~Zetsubou Hen~<br/>
|
|||||||
</td></tr>
|
</td></tr>
|
||||||
<tr class="odd"><td>*.crx</td><td><tt>CRXG</tt></td><td>No</td></tr>
|
<tr class="odd"><td>*.crx</td><td><tt>CRXG</tt></td><td>No</td></tr>
|
||||||
<tr class="odd"><td>*.pcm</td><td><tt>XPCM</tt></td><td>No</td></tr>
|
<tr class="odd"><td>*.pcm</td><td><tt>XPCM</tt></td><td>No</td></tr>
|
||||||
<tr><td>*.pak</td><td><tt>CHERRY PACK 2.0</tt><br/>-</td><td>No</td><td>Cherry</td><td>
|
<tr><td>*.pak</td><td><tt>CHERRY PACK 2.0</tt><br/><tt>CHERRY PACK 3.0</tt><br/>-</td><td>No</td><td>Cherry</td><td>
|
||||||
Double<br/>
|
Double<br/>
|
||||||
Exile ~Blood Royal 2~<br/>
|
Exile ~Blood Royal 2~<br/>
|
||||||
|
Gakuen ~Nerawareta Chitai~<br/>
|
||||||
Kimon Youitan<br/>
|
Kimon Youitan<br/>
|
||||||
Unbalance<br/>
|
Unbalance<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@@ -409,6 +412,7 @@ Kango Sentai Nurse Ranger<br/>
|
|||||||
<tr class="odd"><td>*.abm</td><td><tt>BM</tt></td><td>No</td></tr>
|
<tr class="odd"><td>*.abm</td><td><tt>BM</tt></td><td>No</td></tr>
|
||||||
<tr><td>*.arc<br/>*.xarc<br/>*.bin</td><td><tt>MIKO</tt><br/><tt>KOTORI</tt></td><td>No</td><td rowspan="2">Xuse<br/>ETERNAL</td><td rowspan="2">
|
<tr><td>*.arc<br/>*.xarc<br/>*.bin</td><td><tt>MIKO</tt><br/><tt>KOTORI</tt></td><td>No</td><td rowspan="2">Xuse<br/>ETERNAL</td><td rowspan="2">
|
||||||
Kikouyoku Senki Gin no Toki no Corona<br/>
|
Kikouyoku Senki Gin no Toki no Corona<br/>
|
||||||
|
Nega0<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td>*.wag<br/>*.4ag</td><td><tt>WAG@</tt><br/><tt>GAF4</tt></td><td>No</td></tr>
|
<tr><td>*.wag<br/>*.4ag</td><td><tt>WAG@</tt><br/><tt>GAF4</tt></td><td>No</td></tr>
|
||||||
<tr class="odd"><td>*.ykc</td><td><tt>YKC001</tt></td><td>Yes</td><td rowspan="2">Yuka</td><td rowspan="2">
|
<tr class="odd"><td>*.ykc</td><td><tt>YKC001</tt></td><td>Yes</td><td rowspan="2">Yuka</td><td rowspan="2">
|
||||||
@@ -505,10 +509,10 @@ Ippai Shimasho<br/>
|
|||||||
<tr><td>*.gpc+*.gph<br/>*.snd+*.snh<br/>*.snr+*.snh</td><td>-</td><td>No</td><td>Eushully</td><td>
|
<tr><td>*.gpc+*.gph<br/>*.snd+*.snh<br/>*.snr+*.snh</td><td>-</td><td>No</td><td>Eushully</td><td>
|
||||||
Genrin no Kishougun<br/>
|
Genrin no Kishougun<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td>*.mpk</td><td>-</td><td>No</td><td rowspan="2">propeller</td><td rowspan="2">
|
<tr class="odd"><td>*.mpk</td><td>-</td><td>No</td><td rowspan="2">propeller</td><td rowspan="2">
|
||||||
Bullet Butlers<br/>
|
Bullet Butlers<br/>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td>*.mgr</td><td>-</td><td>No</td></tr>
|
<tr class="odd"><td>*.mgr</td><td>-</td><td>No</td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p><a name="note-1" class="footnote">1</a> Non-encrypted only</p>
|
<p><a name="note-1" class="footnote">1</a> Non-encrypted only</p>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user