Skip to content

[minori] 《Angel Type》支持#193

Merged
crskycode merged 1 commit into
crskycode:masterfrom
YeLikesss:master
May 5, 2026
Merged

[minori] 《Angel Type》支持#193
crskycode merged 1 commit into
crskycode:masterfrom
YeLikesss:master

Conversation

@YeLikesss
Copy link
Copy Markdown

@YeLikesss YeLikesss commented May 5, 2026

《ANGEL TYPE》 2005 版

SchemeTool 代码

GameRes.Formats.Musica.PazOpener format = GameRes.FormatCatalog.Instance.ArcFormats
                .FirstOrDefault(a => a is GameRes.Formats.Musica.PazOpener) as GameRes.Formats.Musica.PazOpener;

if (format != null)
{
    GameRes.Formats.Musica.MusicaScheme scheme = format.Scheme as GameRes.Formats.Musica.MusicaScheme;
    GameRes.Formats.Musica.PazScheme angle_type_scheme = new GameRes.Formats.Musica.PazScheme()
    {
        ArcKeys = new Dictionary<string, GameRes.Formats.Musica.PazKey>(),
        TypeKeys = new Dictionary<string, string>(),
        Version = 0,
    };

    byte[] idxkey = new byte[]
    {
        0xFA, 0x07, 0xB4, 0x39, 0xF8, 0x01, 0x8D, 0x8A, 0xEC, 0xF9, 0x86, 0xE6, 0x41, 0x0B, 0x30, 0xF2,
        0x01, 0x31, 0x73, 0x7A, 0x32, 0x0E, 0x25, 0xB2, 0x12, 0x5D, 0xCA, 0xFB, 0xCD, 0xB6, 0x3C, 0xDB,
        0x8B, 0x71, 0x06, 0xF7, 0x84, 0x65, 0x26, 0xCC, 0xE3, 0x43, 0xFF, 0xD8, 0x31, 0x4A, 0x33, 0x0F,
        0x12, 0x1E, 0x29, 0x3E, 0x0A, 0x74, 0x06, 0x32, 0x0D, 0x5F, 0xC7, 0x57, 0x9E, 0xF3, 0x51, 0x99,
        0x3A, 0x0A, 0x26, 0x36, 0xCB, 0xE5, 0x89, 0x5B, 0xEB, 0x63, 0xD1, 0x2E, 0xB3, 0x98, 0xA0, 0x1C,
        0xD4, 0x84, 0xCE, 0x24, 0xBA, 0x9D, 0xBD, 0xDC, 0x84, 0xFB, 0xD5, 0xEE, 0x79, 0xDF, 0xF4, 0xD9,
        0xDC, 0x58, 0x83, 0xA7, 0xB8, 0xBE, 0xFD, 0x63, 0x89, 0xCF, 0x9A, 0x07, 0x66, 0x25, 0xEE, 0xB0,
        0x7A, 0xCB, 0x31, 0xBC, 0x8F, 0xA5, 0xF1, 0xBA, 0x5A, 0x85, 0xF2, 0xC3, 0x59, 0x88, 0xFC, 0x17,
        0x04, 0xA0, 0x4F, 0xBC, 0xF7, 0xED, 0x8B, 0xCB, 0x00, 0xBD, 0xBB, 0x47, 0xA2, 0xDE, 0x55, 0x25,
        0xF8, 0x16, 0xE1, 0x59, 0x94, 0x6B, 0x09, 0x97, 0x32, 0x13, 0xDE, 0x95, 0xFA, 0xBC, 0x00, 0x8B,
        0x05, 0xE7, 0x77, 0xA5, 0xF4, 0x30, 0xF8, 0x3E, 0x53, 0x22, 0x53, 0x8D, 0x86, 0x70, 0xCD, 0x95,
        0x01, 0x4B, 0x2E, 0x0B, 0x93, 0x8A, 0x2E, 0xFA, 0x71, 0x7C, 0x19, 0xE8, 0xD7, 0x07, 0x59, 0x2E,
        0xF3, 0xF4, 0xAD, 0x54, 0xD9, 0x04, 0xCE, 0x24, 0x46, 0xB3, 0x41, 0x3C, 0xEB, 0x49, 0x0D, 0xDA,
        0x09, 0x10, 0x27, 0xA4, 0x19, 0x62, 0x47, 0x2F, 0x39, 0x53, 0xE2, 0xFC, 0x2B, 0xB9, 0x1D, 0xBB,
        0xF3, 0xF4, 0xAD, 0x54, 0xD9, 0x04, 0xCE, 0x24, 0x46, 0xB3, 0x41, 0x3C, 0xEB, 0x49, 0x0D, 0xDA,
        0x09, 0x10, 0x27, 0xA4, 0x19, 0x62, 0x47, 0x2F, 0x39, 0x53, 0xE2, 0xFC, 0x2B, 0xB9, 0x1D, 0xBB,
        0xA1, 0x4B, 0x5E, 0x7B, 0x93, 0xA7, 0x53, 0xA9, 0x5C, 0xE6, 0x25, 0x76, 0x6D, 0x96, 0x8B, 0x8D,
        0x43, 0xCB, 0x9C, 0xB6, 0x72, 0x10, 0xFB, 0x3D, 0x6E, 0xF0, 0x39, 0xD4, 0xF2, 0xDD, 0x24, 0xAA,
    };
    byte[] datkey = new byte[]
    {
        0x27, 0x1C, 0x36, 0xA7, 0x22, 0x3E, 0x6D, 0xCC, 0x7F, 0x3C, 0xBE, 0x50, 0x7A, 0xF0, 0x00, 0x91,
        0x4F, 0xA1, 0x6A, 0xBB, 0x03, 0xAB, 0xA4, 0x9A, 0xE7, 0xF4, 0x71, 0x9B, 0x9E, 0xE4, 0xB3, 0xB7,
        0x51, 0xB4, 0x92, 0x0A, 0xF1, 0xC0, 0x78, 0xDB, 0x26, 0xAA, 0xAC, 0xC5, 0xC1, 0x08, 0x4A, 0xD8,
        0x6B, 0x60, 0x55, 0x5F, 0x49, 0x28, 0xA5, 0x14, 0x65, 0x9C, 0x74, 0x7F, 0x8F, 0x1E, 0x41, 0x42,
        0x75, 0xD8, 0xD6, 0x12, 0xC2, 0x7A, 0x27, 0x19, 0xEC, 0xB6, 0xC9, 0x87, 0x8C, 0x52, 0xCE, 0x0D,
        0xE6, 0x7D, 0xB3, 0x06, 0x70, 0x3A, 0x32, 0x08, 0x1F, 0x8D, 0xA9, 0xA7, 0x1C, 0x3E, 0xE7, 0x1F,
        0xCE, 0xDB, 0x08, 0xAC, 0xC5, 0xD7, 0x37, 0x4D, 0x7B, 0x65, 0x0C, 0xB6, 0x7D, 0xE7, 0x3A, 0x29,
        0xDA, 0xAB, 0x6A, 0x00, 0x8C, 0xAD, 0xE6, 0x9F, 0x9D, 0x2A, 0xE6, 0x95, 0xC8, 0xBF, 0x33, 0xA7,
        0x54, 0xD1, 0xEC, 0x89, 0xED, 0x03, 0x28, 0x00, 0x3C, 0x79, 0x29, 0x32, 0xF4, 0xA4, 0xFA, 0xE3,
        0x20, 0x5E, 0x1E, 0x5C, 0x6D, 0x0D, 0x21, 0xBF, 0x2B, 0x97, 0xC0, 0x86, 0xD3, 0xDF, 0x72, 0xF0,
        0xC1, 0x8E, 0x0A, 0x18, 0xEB, 0xEA, 0x34, 0x78, 0x59, 0x77, 0x95, 0x99, 0x14, 0x25, 0x3C, 0xB2,
        0x53, 0xC9, 0x36, 0xEA, 0xA4, 0xA5, 0xFF, 0x10, 0xD1, 0xB7, 0x8D, 0x7B, 0x3F, 0x97, 0xB2, 0xD3,
        0x8F, 0xA4, 0xA5, 0x89, 0x30, 0x36, 0x5C, 0xBC, 0xBA, 0xA1, 0x88, 0x4C, 0xBD, 0xC4, 0xEE, 0xCD,
        0xCB, 0xE0, 0xD6, 0x39, 0x83, 0x81, 0x5F, 0xFB, 0x59, 0x2D, 0x62, 0x34, 0xCE, 0xA4, 0xC1, 0xE6,
        0x8F, 0xA4, 0xA5, 0x89, 0x30, 0x36, 0x5C, 0xBC, 0xBA, 0xA1, 0x88, 0x4C, 0xBD, 0xC4, 0xEE, 0xCD,
        0xCB, 0xE0, 0xD6, 0x39, 0x83, 0x81, 0x5F, 0xFB, 0x59, 0x2D, 0x62, 0x34, 0xCE, 0xA4, 0xC1, 0xE6,
        0xF7, 0x68, 0xC4, 0xCA, 0xEE, 0x54, 0x5B, 0x96, 0x0B, 0xFC, 0xF5, 0x6A, 0x91, 0x9D, 0xBD, 0x2D,
        0xA1, 0x56, 0xE6, 0x99, 0x1C, 0x6B, 0xDD, 0xA5, 0x4C, 0x5D, 0x15, 0x2F, 0x01, 0x81, 0x2C, 0x81,
    };
    string[] names = new string[]
    {
        "scr",
        "bg",
        "st",
        "sys",
        "bgm",
        "voice",
        "se",
        "se",
        "mov",
    };

    for (int i = 0; i < idxkey.Length; ++i)
    {
        idxkey[i] = (byte)-idxkey[i];
    }
    for (int i = 0; i < datkey.Length; ++i)
    {
        datkey[i] = (byte)-datkey[i];
    }

    for(int i = 0; i < names.Length; ++i)
    {
        byte[] idx = new byte[32];
        byte[] dat = new byte[32];
        Array.Copy(idxkey, i * 32, idx, 0, 32);
        Array.Copy(datkey, i * 32, dat, 0, 32);

        GameRes.Formats.Musica.PazKey pk = new GameRes.Formats.Musica.PazKey()
        {
            IndexKey = idx,
            DataKey = dat,
        };
        angle_type_scheme.ArcKeys[names[i]] = pk;
    }

    scheme.KnownTitles.Add("Angle Type", angle_type_scheme);
}

@crskycode crskycode merged commit d24f20c into crskycode:master May 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants