.aeq - Synthlight/MHW-Editor GitHub Wiki

//------------------------------------------------
//--- 010 Editor v8.0 Binary Template
//
//      File:
//   Authors: 云落羽Loren
//   Version:
//   Purpose:
//  Category:
// File Mask: *.aeq
//  ID Bytes:
//      Lang: Chinese (Simplified)
//   History: March 2020
//            You need to use the "MHW Decode" to decrypt the "*.aeq" first
//------------------------------------------------
// Header Information
typedef struct {
    short    signature<name="Capcom Garbage">;
    long    fType<name="File Type">;
    long  AeqCnt<bgcolor=0x0000ff,name="Aeq Count">;
} Header;

//------------------------------------------------
// custommods
typedef struct {
    long    CM_1<name="一号零件">;
    long    CM_2<name="二号零件">;
    long    CM_3<name="三号零件">;
    long    CM_4<name="四号零件">;
    long    CM_5<name="五号零件">;
    local string s;
    SPrintf(s, "[CM1: %d \t CM2: %d \t CM3: %d CM4: %d CM5: %d]", 
                CM_1, CM_2, CM_3, CM_4, CM_5);
} custommods;

//------------------------------------------------
// armor
typedef struct {
    long    Armor_1<name="头盔">;
    long    Armor_2<name="盔甲">;
    long    Armor_3<name="手臂">;
    long    Armor_4<name="腰带">;
    long    Armor_5<name="腿部">;
    long    Armor_6<name="护石">;
    long    Mantle_1<name="特殊装备1">;
    long    Mantle_2<name="特殊装备2">;
    local string s;
    SPrintf(s, "[Armor1: %d \t Armor2: %d \t Armor3: %d Armor4: %d Armor5: %d Armor6: %d Mantle1: %d Mantle2: %d]", 
                Armor_1, Armor_2, Armor_3, Armor_4, Armor_5, Armor_6, Mantle_1, Mantle_2);
} armor;

//------------------------------------------------
// armorLv
typedef struct {
    long    Lv_1<name="头盔等级">;
    long    Lv_2<name="护甲等级">;
    long    Lv_3<name="手部等级">;
    long    Lv_4<name="腰带等级">;
    long    Lv_5<name="下装等级" >;
    local string s;
    SPrintf(s, "[Lv1: %d \t Lv2: %d \t Lv3: %d Lv4: %d Lv5: %d]", 
                Lv_1, Lv_2, Lv_3, Lv_4, Lv_5);
} armorLv;

//------------------------------------------------
// unkn
typedef struct {
    short   unkn<name="unkn">; 
    local string s;
    SPrintf(s, "[uk: %d \t]", 
                unkn);
} unkn;

//------------------------------------------------
// Decorations
typedef struct {
    long   Decorations_1<name="孔位1">;
    long   Decorations_2<name="孔位2">;
    long   Decorations_3<name="孔位3">;   
} Decorations;

//------------------------------------------------
// kinsect
typedef struct {
    long   KinsectID<name="猎虫ID">; 
    long   KinsectLv<name="猎虫属性">; 
    local string s;
    SPrintf(s, "[ksID: %d \t ksLV: %d \t]", 
                KinsectID, KinsectLv);
} kinsect;

//------------------------------------------------
// unkn2
typedef struct {
    long   unkn_1<name="unkn1">; 
    long   unkn_2<name="unkn2">; 
    long   unkn_3<name="unkn3">; 
    long   unkn_4<name="unkn4">; 
    long   unkn_5<name="unkn5">; 
    local string s;
    SPrintf(s, "[uk: %d \t uk: %d \t uk: %d \t uk: %d \t uk: %d \t]", 
                unkn_1, unkn_2, unkn_3, unkn_4, unkn_5);
} unkn2;

//------------------------------------------------
// Item
typedef struct {
    long   item_id<name="道具id">; 
    long   carry<name="携带数量">; 
} Item;

//------------------------------------------------
// Ammo
typedef struct {
    long   ammo_id<name="子弹、瓶id">; 
    long   carry2<name="携带数量">; 
} Ammo;

//------------------------------------------------
// [decorations]
typedef struct {
    Decorations r[9]<read=ReadDecorations,name="镶嵌槽",optimize=false>;
} decorations;

string ReadDecorations(Decorations& r) {
    string s;   
    SPrintf(s, "[Decorations1: %d \t Decorations2: %d \t Decorations3: %d]", r.Decorations_1, r.Decorations_2, r.Decorations_3);
    return s;
}

//------------------------------------------------
// [item]
typedef struct {
    Item r[24]<read=ReadItem,name="道具",optimize=false>;
} item;
string ReadItem(Item& r){
    string s;
    SPrintf(s, "[ItemId: %d \t Carry: %d \t]", r.item_id, r.carry);
    return s;
}

//------------------------------------------------
// [ammo]
typedef struct {
    Ammo        r[16]<read=ReadAmmo,name="子弹、瓶",optimize=false>;
} ammo;

    string ReadAmmo(Ammo& r) {
    string s;
    SPrintf(s, "[AmmoId: %d \t Carry: %d \t]", r.ammo_id, r.carry2);
    return s;
}

//------------------------------------------------
// AEQ
typedef struct {
    long    EquipID<bgcolor=0xff0000,name="装备序号">;
    long    WpKind<bgcolor=0x0000ff,name="武器种类">;
    long    WpID<bgcolor=0x800800,name="武器ID">;

    custommods   Custommods<bgcolor=0x008000,name="客制零件">;   
    armor        Armor<bgcolor=0xFF00FF,name="装备">; 
    armorLv      ArmorLv<bgcolor=0x00FF00,name="装备等级">; 
    unkn         Unkn<name="Unkn">; 
    decorations  DecoraTions<bgcolor=0xFF0000,name="珠子">; 
    kinsect      Kinsect<bgcolor=0xFF00FF,name="猎虫">; 
    unkn2        Unkn2<name="Unkn2">; 
    item         ITEM<bgcolor=0x000000,name="道具">; 
    ammo         AMMO<bgcolor=0x008000,name="子弹、瓶">; 

} AEQ;


//------------------------------------------------
//Read Strings
string ReadHead(Header& r) {
    string s;
    SPrintf(s, "Aeq: %d", r.AeqCnt);
    return s;
}


//------------------------------------------------
//Display Info
Header header<bgcolor=0x00ffff,read=ReadHead,name="Header">;

local int i;
local int p;

//Changes the if or case
for (i = 0; i < header.AeqCnt; i++) {
        if (header.fType == 44701705) {
            FSkip(4);
            switch (i) {
                case 0           : FSkip(-4); AEQ aeq<name="第一套">;            break; 
                case 1           : FSkip(-4); AEQ aeq<name="第二套">;              break;
                case 2           : FSkip(-4); AEQ aeq<name="第三套">;         break;
                case 3           : FSkip(-4); AEQ aeq<name="第四套">;           break;
                case 4           : FSkip(-4); AEQ aeq<name="第五套">;            break;               
              }  
        }
}
⚠️ **GitHub.com Fallback** ⚠️