SINT32 LVSPRecord::WriteRecord(FileWriter &writer) { WRITE(EDID); WRITE(LVLD); WRITE(LVLF); WRITEAS(Entries,LVLO); return -1; }
SINT32 ARMORecord::WriteRecord(FileWriter &writer) { WRITE(EDID); WRITE(OBND); WRITE(FULL); WRITE(SCRI); WRITE(EITM); WRITE(BMDT); MODL.Write(writer); if(MOD2.IsLoaded()) { MOD2->WRITEAS(MODL,MOD2); MOD2->WRITEAS(MODT,MO2T); MOD2->WRITEAS(Textures,MO2S); } WRITE(ICON); WRITE(MICO); if(MOD3.IsLoaded()) { MOD3->WRITEAS(MODL,MOD3); MOD3->WRITEAS(MODT,MO3T); MOD3->WRITEAS(Textures,MO3S); MOD3->WRITEAS(MODD,MOSD); } if(MOD4.IsLoaded()) { MOD4->WRITEAS(MODL,MOD4); MOD4->WRITEAS(MODT,MO4T); MOD4->WRITEAS(Textures,MO4S); } WRITE(ICO2); WRITE(MIC2); WRITE(BMCT); WRITE(REPL); WRITE(BIPL); WRITE(ETYP); WRITE(YNAM); WRITE(ZNAM); WRITE(DATA); WRITE(DNAM); WRITE(BNAM); WRITEAS(Sounds,SNAM); WRITE(TNAM); return -1; }
SINT32 NOTERecord::WriteRecord(FileWriter &writer) { WRITE(EDID); WRITE(OBND); WRITE(FULL); MODL.Write(writer); WRITE(ICON); WRITE(MICO); WRITE(YNAM); WRITE(ZNAM); WRITE(DATA); WRITE(ONAM); WRITE(XNAM); if(IsVoice()) WRITEAS(TNAMAlt,TNAM); else WRITE(TNAM); WRITE(SNAM); return -1; }
int32_t WTHRRecord::WriteRecord(FileWriter &writer) { WRITE(EDID); _0IAD.Write(REV32(_IAD) & 0xFFFFFF00 | 0x00, writer); _1IAD.Write(REV32(_IAD) & 0xFFFFFF00 | 0x01, writer); _2IAD.Write(REV32(_IAD) & 0xFFFFFF00 | 0x02, writer); _3IAD.Write(REV32(_IAD) & 0xFFFFFF00 | 0x03, writer); _4IAD.Write(REV32(_IAD) & 0xFFFFFF00 | 0x04, writer); _5IAD.Write(REV32(_IAD) & 0xFFFFFF00 | 0x05, writer); WRITE(DNAM); WRITE(CNAM); WRITE(ANAM); WRITE(BNAM); MODL.Write(writer); WRITE(LNAM); WRITE(ONAM); WRITE(PNAM); WRITE(NAM0); WRITE(FNAM); WRITE(INAM); WRITE(DATA); WRITEAS(Sounds,SNAM); return -1; }
SINT32 MGEFRecord::WriteRecord(FileWriter &writer) { if(OBME.IsLoaded()) { //EDDX and EDID are switched internally for consistency //So EDDX is written as if it was the EDID chunk, and vice versa //Hence the mismatched type in record_write_subrecord if(OBME->EDDX.IsLoaded()) OBME->WRITEAS(EDDX,EDID); if(OBME->OBME.IsLoaded()) OBME->WRITE(OBME); WRITEAS(EDID,EDDX); WRITE(FULL); WRITE(DESC); WRITE(ICON); MODL.Write(writer); DATA.value.numCounters = (UINT16)ESCE.value.size(); //Just to ensure that the proper value is written WRITE(DATA); if(OBME->DATX.IsLoaded()) OBME->WRITE(DATX); WRITE(ESCE); } else { WRITE(EDID); WRITE(FULL); WRITE(DESC); WRITE(ICON); MODL.Write(writer); DATA.value.numCounters = (UINT16)ESCE.value.size(); //Just to ensure that the proper value is written WRITE(DATA); WRITE(ESCE); } return -1; }