Skip to content

ALAR2 incompatible files #99

@priverop

Description

@priverop

I found some alar2 files that cannot be exported using the tool.

Between the Alar2File there is always a gap of 34 bytes, but these files contain 36 byte gaps.

Our function to jump between Alar2Files is hardcoded, and it fails.

We should make it more robust. Although I think these are the only files that fails, so, don't worry about this too much.

Hexpat to help

u32 nameOffset = 0x10;

struct AlarFile {
    u32 fileID;
    u32 absolutePointer;
    u32 size;
    u32 unknown;
    u16 unknown2 @ absolutePointer - 2;
    u32 fileName @ nameOffset + 2; // this should return the first 4 bytes of the string // TODO: ToString
    u8 data[size] @ absolutePointer;
    nameOffset += size + 0x24;
};

struct ALAR2 {
    u32 magicID; // TODO: toString
    u8 version;
    u8 minorVersion;
    u16 fileNumber;
    u8 IDs[8];
    nameOffset += fileNumber * 0x10;
    AlarFile fileInfo[fileNumber];
};

ALAR2 alar @ 0x0;

List of files

/data/chr/aar/ChrArc.aar/chr/op_b_02.aar
/data/chr/aar/ChrArc.aar/chr/db_b_08.aar
/data/chr/aar/ChrArc.aar/chr/bl_b_01.aar
/data/chr/aar/ChrArc.aar/chr/op_b_06.aar
/data/chr/aar/ChrArc.aar/chr/ss_b_02.aar
/data/chr/aar/ChrArc.aar/chr/hk_b_01.aar
/data/chr/aar/ChrArc.aar/chr/db_b_05.aar
/data/chr/aar/ChrArc.aar/chr/kk_b_01.aar
/data/chr/aar/ChrArc.aar/chr/dt_b_02.aar
/data/chr/aar/ChrArc.aar/chr/db_b_09.aar
/data/chr/aar/ChrArc.aar/chr/db_b_06.aar
/data/chr/aar/ChrArc.aar/chr/dt_b_03.aar
/data/chr/aar/ChrArc.aar/chr/gt_b_01.aar
/data/chr/aar/ChrArc.aar/chr/db_b_03.aar
/data/chr/aar/ChrArc.aar/chr/op_b_04.aar
/data/chr/aar/ChrArc.aar/chr/jj_b_02.aar
/data/chr/aar/ChrArc.aar/chr/bl_b_04.aar
/data/chr/aar/ChrArc.aar/chr/op_b_05.aar
/data/chr/aar/ChrArc.aar/chr/na_b_02.aar
/data/chr/aar/ChrArc.aar/chr/jj_b_01.aar
/data/chr/aar/ChrArc.aar/chr/hk_b_02.aar
/data/chr/aar/ChrArc.aar/chr/sk_b_01.aar
/data/chr/aar/ChrArc.aar/chr/ds_b_02.aar
/data/chr/aar/ChrArc.aar/chr/hh_b_02.aar
/data/chr/aar/ChrArc.aar/chr/db_b_04.aar
/data/chr/aar/ChrArc.aar/chr/kn_b_01.aar
/data/chr/aar/ChrArc.aar/chr/op_b_07.aar
/data/chr/aar/ChrArc.aar/chr/tr_b_01.aar
/data/chr/aar/ChrArc.aar/chr/db_b_12.aar
/data/chr/aar/ChrArc.aar/chr/sk_b_02.aar
/data/chr/aar/ChrArc.aar/chr/ss_b_01.aar
/data/chr/aar/ChrArc.aar/chr/op_b_03.aar
/data/chr/aar/ChrArc.aar/chr/bb_b_01.aar
/data/chr/aar/ChrArc.aar/chr/ds_b_01.aar
/data/chr/aar/ChrArc.aar/chr/bb_b_04.aar
/data/chr/aar/ChrArc.aar/chr/gt_b_02.aar
/data/chr/aar/ChrArc.aar/chr/na_b_04.aar
/data/chr/aar/ChrArc.aar/chr/bl_b_03.aar
/data/chr/aar/ChrArc.aar/chr/db_b_11.aar
/data/chr/aar/ChrArc.aar/chr/na_b_01.aar
/data/chr/aar/ChrArc.aar/chr/dg_b_02.aar
/data/chr/aar/ChrArc.aar/chr/yh_b_02.aar
/data/chr/aar/ChrArc.aar/chr/yh_b_03.aar
/data/chr/aar/ChrArc.aar/chr/bb_b_03.aar
/data/chr/aar/ChrArc.aar/chr/yo_b_01.aar
/data/chr/aar/ChrArc.aar/chr/hs_b_01.aar
/data/chr/aar/ChrArc.aar/chr/rk_b_01.aar
/data/chr/aar/ChrArc.aar/chr/bc_b_01.aar
/data/chr/aar/ChrArc.aar/chr/na_b_05.aar
/data/chr/aar/ChrArc.aar/chr/dt_b_01.aar
/data/chr/aar/ChrArc.aar/chr/db_b_01.aar
/data/chr/aar/ChrArc.aar/chr/na_b_03.aar
/data/chr/aar/ChrArc.aar/chr/oj_b_01.aar
/data/stage/stage.aar/stage/bg_hh.aar
/data/stage/stage.aar/stage/bg_kk.aar
/data/stage/stage.aar/stage/bg_kn.aar
/data/stage/stage.aar/stage/bg_old_ig.aar
/data/stage/stage.aar/stage/bg_cs.aar
/data/stage/stage.aar/stage/bg_cm.aar
/data/stage/stage.aar/stage/bg_cj.aar
/data/stage/stage.aar/stage/bg_gt.aar
/data/stage/stage.aar/stage/bg_old_bc.aar
/data/stage/stage.aar/stage/bg_old_sk.aar
/data/stage/stage.aar/stage/bg_cg.aar
/data/stage/stage.aar/stage/bg_old_sd.aar
/data/stage/stage.aar/stage/bg_old_dn.aar
/data/stage/stage.aar/stage/bg_old_ch.aar
/data/stage/stage.aar/stage/bg_es.aar
/data/stage/stage.aar/stage/bg_old_rk.aar
/data/stage/stage.aar/stage/bg_ch.aar
/data/stage/stage.aar/stage/bg_oj.aar
/data/stage/stage.aar/stage/bg_ss.aar
/data/stage/stage.aar/stage/bg_db.aar
/data/stage/stage.aar/stage/bg_op.aar
/data/stage/stage.aar/stage/bg_hk.aar
/data/stage/stage.aar/stage/bg_cu.aar
/data/stage/stage.aar/stage/bg_na.aar
/data/stage/stage.aar/stage/bg_old_yh.aar
/data/stage/stage.aar/stage/bg_old_bu.aar
/data/stage/stage.aar/stage/bg_old_ds.aar
/data/stage/stage.aar/stage/bg_old_dg.aar
/data/stage/stage.aar/stage/bg_old_cs.aar
/data/stage/stage.aar/stage/bg_old_pj.aar
/data/stage/stage.aar/stage/bg_old_yo.aar
/data/stage/stage.aar/stage/bg_old_to.aar
/data/stage/stage.aar/stage/bg_old_jj.aar
/data/stage/stage.aar/stage/bg_old_tr.aar
/data/stage/stage.aar/stage/bg_bl.aar
/data/stage/stage.aar/stage/bg_bb.aar

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions