public override L2DatDefinition ParseMain(BinaryReader f, int RecNo) { L2DatDefinition ret = new L2DatDefinition(); if (Program.main_form.selectedDatVersion >= DatVersion.ChaoticThrone1_0_Kamael) { ChargrpInfo_CT1 info = new ChargrpInfo_CT1(); //info = (ChargrpInfo_CT1)base.ReadFieldValue(f, info, "START", "END"); ret = info; } else { ChargrpInfo info = new ChargrpInfo(); info = (ChargrpInfo)base.ReadFieldValue(f, info, "face_icon", "cnt_ft"); info.hair_mesh = new UNICODE(); for (int i = 0; i < info.cnt_hm; i++) { info.hair_mesh.Text += L2DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_hm - 1) info.hair_mesh.Text += ","; } info.hair_tex = new UNICODE(); for (int i = 0; i < info.cnt_ht; i++) { info.hair_tex.Text += L2DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_ht - 1) info.hair_tex.Text += ","; } info.face_mesh = new UNICODE(); for (int i = 0; i < info.cnt_fm; i++) { info.face_mesh.Text += L2DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_fm - 1) info.face_mesh.Text += ","; } info.face_tex = new UNICODE(); for (int i = 0; i < info.cnt_ft; i++) { info.face_tex.Text += L2DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_ft - 1) info.face_tex.Text += ","; } info = (ChargrpInfo)base.ReadFieldValue(f, info, "body_mesh1", "cnt_dmg"); info.snd_att = new UNICODE(); for (int i = 0; i < info.cnt_att; i++) { info.snd_att.Text += L2DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_att - 1) info.snd_att.Text += ","; } info.snd_def = new UNICODE(); for (int i = 0; i < info.cnt_def; i++) { info.snd_def.Text += L2DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_def - 1) info.snd_def.Text += ","; } info.snd_dmg = new UNICODE(); for (int i = 0; i < info.cnt_dmg; i++) { info.snd_dmg.Text += L2DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_dmg - 1) info.snd_dmg.Text += ","; } info = (ChargrpInfo)base.ReadFieldValue(f, info, "voice_snd_hand", "voice_snd_fist"); ret = info; } return ret; }
public override Definition ParseMain(BinaryReader f, int RecNo) { var ret = new Definition(); if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Gracia_Plus__Epilogue) { var info = new ChargrpInfo_Gracia_Plus(); int count = 300; info.hair_tab = new UNICODE(); for (int i = 0; i < count; i++) { info.hair_tab.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < count - 1) info.hair_tab.Text += ","; } info = (ChargrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "face_mesh", "cnt_dmg"); info.snd_att = new UNICODE(); for (int i = 0; i < info.cnt_att.Value; i++) { info.snd_att.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_att.Value - 1) info.snd_att.Text += ","; } info.snd_def = new UNICODE(); for (int i = 0; i < info.cnt_def.Value; i++) { info.snd_def.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_def.Value - 1) info.snd_def.Text += ","; } info.snd_dmg = new UNICODE(); for (int i = 0; i < info.cnt_dmg.Value; i++) { info.snd_dmg.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_dmg.Value - 1) info.snd_dmg.Text += ","; } info = (ChargrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "voice_snd_hand", "p2"); ret = info; } else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Kamael) { var info = new ChargrpInfo_CT1(); ret = info; } else { var info = new ChargrpInfo(); info = (ChargrpInfo) base.ReadFieldValue(f, info, "face_icon", "cnt_ft"); info.hair_mesh = new UNICODE(); for (int i = 0; i < info.cnt_hm.Value; i++) { info.hair_mesh.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_hm.Value - 1) info.hair_mesh.Text += ","; } info.hair_tex = new UNICODE(); for (int i = 0; i < info.cnt_ht.Value; i++) { info.hair_tex.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_ht.Value - 1) info.hair_tex.Text += ","; } info.face_mesh = new UNICODE(); for (int i = 0; i < info.cnt_fm.Value; i++) { info.face_mesh.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_fm.Value - 1) info.face_mesh.Text += ","; } info.face_tex = new UNICODE(); for (int i = 0; i < info.cnt_ft.Value; i++) { info.face_tex.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_ft.Value - 1) info.face_tex.Text += ","; } info = (ChargrpInfo) base.ReadFieldValue(f, info, "body_mesh1", "cnt_dmg"); info.snd_att = new UNICODE(); for (int i = 0; i < info.cnt_att.Value; i++) { info.snd_att.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_att.Value - 1) info.snd_att.Text += ","; } info.snd_def = new UNICODE(); for (int i = 0; i < info.cnt_def.Value; i++) { info.snd_def.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_def.Value - 1) info.snd_def.Text += ","; } info.snd_dmg = new UNICODE(); for (int i = 0; i < info.cnt_dmg.Value; i++) { info.snd_dmg.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_dmg.Value - 1) info.snd_dmg.Text += ","; } info = (ChargrpInfo) base.ReadFieldValue(f, info, "voice_snd_hand", "voice_snd_fist"); ret = info; } return ret; }
public override Definition ParseMain(BinaryReader f, int RecNo) { var ret = new Definition(); if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Gracia_Plus__Epilogue) { var info = new ChargrpInfo_Gracia_Plus(); int count = 300; info.hair_tab = new UNICODE(); for (int i = 0; i < count; i++) { info.hair_tab.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < count - 1) { info.hair_tab.Text += ","; } } info = (ChargrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "face_mesh", "cnt_dmg"); info.snd_att = new UNICODE(); for (int i = 0; i < info.cnt_att.Value; i++) { info.snd_att.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_att.Value - 1) { info.snd_att.Text += ","; } } info.snd_def = new UNICODE(); for (int i = 0; i < info.cnt_def.Value; i++) { info.snd_def.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_def.Value - 1) { info.snd_def.Text += ","; } } info.snd_dmg = new UNICODE(); for (int i = 0; i < info.cnt_dmg.Value; i++) { info.snd_dmg.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_dmg.Value - 1) { info.snd_dmg.Text += ","; } } info = (ChargrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "voice_snd_hand", "p2"); ret = info; } else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Kamael) { var info = new ChargrpInfo_CT1(); ret = info; } else { var info = new ChargrpInfo(); info = (ChargrpInfo)base.ReadFieldValue(f, info, "face_icon", "cnt_ft"); info.hair_mesh = new UNICODE(); for (int i = 0; i < info.cnt_hm.Value; i++) { info.hair_mesh.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_hm.Value - 1) { info.hair_mesh.Text += ","; } } info.hair_tex = new UNICODE(); for (int i = 0; i < info.cnt_ht.Value; i++) { info.hair_tex.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_ht.Value - 1) { info.hair_tex.Text += ","; } } info.face_mesh = new UNICODE(); for (int i = 0; i < info.cnt_fm.Value; i++) { info.face_mesh.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_fm.Value - 1) { info.face_mesh.Text += ","; } } info.face_tex = new UNICODE(); for (int i = 0; i < info.cnt_ft.Value; i++) { info.face_tex.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_ft.Value - 1) { info.face_tex.Text += ","; } } info = (ChargrpInfo)base.ReadFieldValue(f, info, "body_mesh1", "cnt_dmg"); info.snd_att = new UNICODE(); for (int i = 0; i < info.cnt_att.Value; i++) { info.snd_att.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_att.Value - 1) { info.snd_att.Text += ","; } } info.snd_def = new UNICODE(); for (int i = 0; i < info.cnt_def.Value; i++) { info.snd_def.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_def.Value - 1) { info.snd_def.Text += ","; } } info.snd_dmg = new UNICODE(); for (int i = 0; i < info.cnt_dmg.Value; i++) { info.snd_dmg.Text += DatTool.ReadStringSimple_UnicodeInt32Length(f); if (i < info.cnt_dmg.Value - 1) { info.snd_dmg.Text += ","; } } info = (ChargrpInfo)base.ReadFieldValue(f, info, "voice_snd_hand", "voice_snd_fist"); ret = info; } return(ret); }