/// <summary>Print out some information about this HDU.</summary> public override void Info() { BinaryTable myData = (BinaryTable)this.myData; Console.Out.WriteLine(" Binary Table"); Console.Out.WriteLine(" Header Information:"); int nhcol = myHeader.GetIntValue("TFIELDS", -1); int nrow = myHeader.GetIntValue("NAXIS2", -1); int rowsize = myHeader.GetIntValue("NAXIS1", -1); Console.Out.Write(" " + nhcol + " fields"); Console.Out.WriteLine(", " + nrow + " rows of length " + rowsize); for (int i = 1; i <= nhcol; i += 1) { Console.Out.Write(" " + i + ":"); PrtField("Name", "TTYPE" + i); PrtField("Format", "TFORM" + i); PrtField("Dimens", "TDIM" + i); Console.Out.WriteLine(" "); } Console.Out.WriteLine(" Data Information:"); if (myData == null || table.NRows == 0 || table.NCols == 0) { Console.Out.WriteLine(" No data present"); if (table.HeapSize > 0) { Console.Out.WriteLine(" Heap size is: " + table.HeapSize + " bytes"); } } else { Console.Out.WriteLine(" Number of rows=" + table.NRows); Console.Out.WriteLine(" Number of columns=" + table.NCols); if (table.HeapSize > 0) { Console.Out.WriteLine(" Heap size is: " + table.HeapSize + " bytes"); } Object[] cols = table.FlatColumns; for (int i = 0; i < cols.Length; i += 1) { Console.Out.WriteLine(" " + i + ":" + ArrayFuncs.ArrayDescription(cols[i])); } } }
public bool ReadFromBinary(BinaryTable table, int index) { LevelMonsterRecord record = GetRecord(table, index); group = DataRecordUtility.ExtractInt(table, record.group, 0); scene = DataRecordUtility.ExtractInt(table, record.scene, 0); camp = DataRecordUtility.ExtractInt(table, record.camp, 0); actorID = DataRecordUtility.ExtractInt(table, record.actorID, 0); x = DataRecordUtility.ExtractFloat(table, record.x, 0); y = DataRecordUtility.ExtractFloat(table, record.y, 0); dir = DataRecordUtility.ExtractFloat(table, record.dir, 0); level = DataRecordUtility.ExtractInt(table, record.level, 0); passive = DataRecordUtility.ExtractBool(table, record.passive, false); aiLogic = DataRecordUtility.ExtractString(table, record.aiLogic, ""); aiParams = DataRecordUtility.ExtractStringList(table, record.aiParams, null); return(true); }
public void WriteToBinary(BinaryTable table) { LevelMonsterRecord record = new LevelMonsterRecord(); record.group = DataRecordUtility.SetValue(table, group, 0); record.scene = DataRecordUtility.SetValue(table, scene, 0); record.camp = DataRecordUtility.SetValue(table, camp, 0); record.actorID = DataRecordUtility.SetValue(table, actorID, 0); record.x = DataRecordUtility.SetValue(table, x, 0); record.y = DataRecordUtility.SetValue(table, y, 0); record.dir = DataRecordUtility.SetValue(table, dir, 0); record.level = DataRecordUtility.SetValue(table, level, 0); record.passive = DataRecordUtility.SetValue(table, passive, false); record.aiLogic = DataRecordUtility.SetValue(table, aiLogic, ""); record.aiParams = DataRecordUtility.SetValue(table, aiParams, null); byte[] bytes = GetRecordBytes(record); table.Records.Add(bytes); }
public void AddToBinary(BinaryTable table) { AttributeConfigRecord record = new AttributeConfigRecord(); record.Id = DBCUtil.SetValue(table, Id, 0); record.Describe = DBCUtil.SetValue(table, Describe, ""); record.AddStrength = DBCUtil.SetValue(table, AddStrength, 0); record.AddStrengthRate = DBCUtil.SetValue(table, AddStrengthRate, 0); record.AddIntelligence = DBCUtil.SetValue(table, AddIntelligence, 0); record.AddIntelligenceRate = DBCUtil.SetValue(table, AddIntelligenceRate, 0); record.AddCharm = DBCUtil.SetValue(table, AddCharm, 0); record.AddCharmRate = DBCUtil.SetValue(table, AddCharmRate, 0); record.AddAction = DBCUtil.SetValue(table, AddAction, 0); record.AddActionMax = DBCUtil.SetValue(table, AddActionMax, 0); record.AddGold = DBCUtil.SetValue(table, AddGold, 0); byte[] bytes = GetRecordBytes(record); table.Records.Add(bytes); }
public bool CollectDataFromBinary(BinaryTable table, int index) { AttributeConfigRecord record = GetRecord(table, index); Id = DBCUtil.ExtractInt(table, record.Id, 0); Describe = DBCUtil.ExtractString(table, record.Describe, ""); AddStrength = DBCUtil.ExtractInt(table, record.AddStrength, 0); AddStrengthRate = DBCUtil.ExtractInt(table, record.AddStrengthRate, 0); AddIntelligence = DBCUtil.ExtractInt(table, record.AddIntelligence, 0); AddIntelligenceRate = DBCUtil.ExtractInt(table, record.AddIntelligenceRate, 0); AddCharm = DBCUtil.ExtractInt(table, record.AddCharm, 0); AddCharmRate = DBCUtil.ExtractInt(table, record.AddCharmRate, 0); AddAction = DBCUtil.ExtractInt(table, record.AddAction, 0); AddActionMax = DBCUtil.ExtractInt(table, record.AddActionMax, 0); AddGold = DBCUtil.ExtractInt(table, record.AddGold, 0); AfterCollectData(); return(true); }
public bool CollectDataFromBinary(BinaryTable table, int index) { BlocksRecord record = GetRecord(table, index); Id = DBCUtil.ExtractInt(table, record.Id, 0); Description = DBCUtil.ExtractString(table, record.Description, ""); Length = DBCUtil.ExtractFloat(table, record.Length, 0); Width = DBCUtil.ExtractFloat(table, record.Width, 0); Res = DBCUtil.ExtractString(table, record.Res, ""); Type = DBCUtil.ExtractInt(table, record.Type, 0); LeftPortType = DBCUtil.ExtractInt(table, record.LeftPortType, 0); LeftOffeset = DBCUtil.ExtractFloatArray(table, record.LeftOffeset, null); RightPortType = DBCUtil.ExtractInt(table, record.RightPortType, 0); RightOffset = DBCUtil.ExtractFloatArray(table, record.RightOffset, null); ForwardPortType = DBCUtil.ExtractInt(table, record.ForwardPortType, 0); ForwardOffset = DBCUtil.ExtractFloatArray(table, record.ForwardOffset, null); BackPortType = DBCUtil.ExtractInt(table, record.BackPortType, 0); BackOffset = DBCUtil.ExtractFloatArray(table, record.BackOffset, null); return(true); }
public void AddToBinary(BinaryTable table) { BlocksRecord record = new BlocksRecord(); record.Id = DBCUtil.SetValue(table, Id, 0); record.Description = DBCUtil.SetValue(table, Description, ""); record.Length = DBCUtil.SetValue(table, Length, 0); record.Width = DBCUtil.SetValue(table, Width, 0); record.Res = DBCUtil.SetValue(table, Res, ""); record.Type = DBCUtil.SetValue(table, Type, 0); record.LeftPortType = DBCUtil.SetValue(table, LeftPortType, 0); record.LeftOffeset = DBCUtil.SetValue(table, LeftOffeset, null); record.RightPortType = DBCUtil.SetValue(table, RightPortType, 0); record.RightOffset = DBCUtil.SetValue(table, RightOffset, null); record.ForwardPortType = DBCUtil.SetValue(table, ForwardPortType, 0); record.ForwardOffset = DBCUtil.SetValue(table, ForwardOffset, null); record.BackPortType = DBCUtil.SetValue(table, BackPortType, 0); record.BackOffset = DBCUtil.SetValue(table, BackOffset, null); byte[] bytes = GetRecordBytes(record); table.Records.Add(bytes); }
public void BuildByColumn() { BinaryTable btab = new BinaryTable(); btab.AddColumn(floats); btab.AddColumn(vf); btab.AddColumn(strings); btab.AddColumn(vbool); btab.AddColumn(ints); Fits f = new Fits(); f.AddHDU(Fits.MakeHDU(btab)); // BufferedDataStream bdos = new BufferedDataStream(new FileStream("bt3.fits",FileMode.Open)); BufferedFile bdos = new BufferedFile("bt3.fits", FileAccess.ReadWrite, FileShare.ReadWrite); f.Write(bdos); bdos.Close(); f = new Fits("bt3.fits"); BinaryTableHDU bhdu = (BinaryTableHDU)f.GetHDU(1); btab = (BinaryTable)bhdu.Data; Assertion.AssertEquals("col1", true, ArrayFuncs.ArrayEquals(floats, bhdu.GetColumn(0))); Assertion.AssertEquals("col2", true, ArrayFuncs.ArrayEquals(vf, bhdu.GetColumn(1))); // problem is here only String[] col = (String[])bhdu.GetColumn(2); for (int i = 0; i < col.Length; i += 1) { col[i] = col[i].Trim(); } Assertion.AssertEquals("coi3", true, ArrayFuncs.ArrayEquals(strings, col)); Assertion.AssertEquals("col4", true, ArrayFuncs.ArrayEquals(vbool, bhdu.GetColumn(3))); Assertion.AssertEquals("col5", true, ArrayFuncs.ArrayEquals(ints, bhdu.GetColumn(4))); f.Close(); }
public void BuildByRow() { Fits f = null; try { f = new Fits( TestFileSetup.GetTargetFilename("bt2.fits"), FileAccess.Read); f.Read(); BinaryTableHDU bhdu = (BinaryTableHDU)f.GetHDU(1); Header hdr = bhdu.Header; BinaryTable btab = (BinaryTable)bhdu.Data; for (int i = 0; i < 50; i += 1) { Object[] row = (Object[])btab.GetRow(i); float[] qx = (float[])row[1]; Array[] p = (Array[])row[0]; float[] pt = (float[])p.GetValue(0); pt[0] = (float)(i * Math.Sin(i)); btab.AddRow(row); } f.Close(); f = new Fits(); f.AddHDU(Fits.MakeHDU(btab)); BufferedFile bf = new BufferedFile( TestFileSetup.GetTargetFilename("bt4.fits"), FileAccess.ReadWrite, FileShare.ReadWrite); f.Write(bf); bf.Flush(); bf.Close(); bf.Dispose(); f.Close(); f = new Fits( TestFileSetup.GetTargetFilename("bt4.fits"), FileAccess.Read); btab = (BinaryTable)f.GetHDU(1).Data; Assert.AreEqual(100, btab.NRows); // Try getting data before we Read in the table. Array[] xf = (Array[])btab.GetColumn(0); Array[] xft = (Array[])xf.GetValue(50); float[] xftt = (float[])xft.GetValue(0); Assert.AreEqual((float)0, (float)xftt[0]); xft = (Array[])xf.GetValue(99); xftt = (float[])xft.GetValue(0); Assert.AreEqual((float)(49 * Math.Sin(49)), (float)xftt[0]); for (int i = 0; i < xf.Length; i += 3) { bool[] ba = (bool[])btab.GetElement(i, 5); float[] fx = (float[])btab.GetElement(i, 1); int trow = i % 50; Assert.AreEqual(true, ArrayFuncs.ArrayEquals(ba, vbool[trow])); // prob 1 Assert.AreEqual(true, ArrayFuncs.ArrayEquals(fx, vf[trow])); } // Fill the table. Data data = f.GetHDU(1).Data; xf = (Array[])btab.GetColumn(0); xft = (Array[])xf.GetValue(50); xftt = (float[])xft.GetValue(0); Assert.AreEqual(0F, (float)xftt[0]); xft = (Array[])xf.GetValue(99); xftt = (float[])xft.GetValue(0); Assert.AreEqual((float)(49 * Math.Sin(49)), (float)xftt[0]); for (int i = 0; i < xf.Length; i += 3) { bool[] ba = (bool[])btab.GetElement(i, 5); float[] fx = (float[])btab.GetElement(i, 1); int trow = i % 50; Assert.AreEqual(true, ArrayFuncs.ArrayEquals(ba, vbool[trow])); // prob 2 Assert.AreEqual(true, ArrayFuncs.ArrayEquals(fx, vf[trow])); } } finally { if (f != null) { f.Close(); } } }
public BinaryTableHDU(Header hdr, Data datum) : base((TableData)datum) { myHeader = hdr; myData = datum; table = (BinaryTable)datum; }
public void WriteToBinary(BinaryTable table) { SkillRecord record = new SkillRecord(); record.id = DataRecordUtility.SetValue(table, id, 0); record.desc = DataRecordUtility.SetValue(table, desc, ""); record.type = DataRecordUtility.SetValue(table, type, 0); record.icon = DataRecordUtility.SetValue(table, icon, 0); record.distance = DataRecordUtility.SetValue(table, distance, 0); record.cooldown = DataRecordUtility.SetValue(table, cooldown, 0); record.BaseCooldown = DataRecordUtility.SetValue(table, BaseCooldown, 0); record.duration = DataRecordUtility.SetValue(table, duration, 0); record.interval = DataRecordUtility.SetValue(table, interval, 0); record.damage = DataRecordUtility.SetValue(table, damage, 0); record.mpRecover = DataRecordUtility.SetValue(table, mpRecover, 0); record.hpRecover = DataRecordUtility.SetValue(table, hpRecover, 0); record.addAttack = DataRecordUtility.SetValue(table, addAttack, 0); record.addShield = DataRecordUtility.SetValue(table, addShield, 0); record.addSpeed = DataRecordUtility.SetValue(table, addSpeed, 0); record.canmove = DataRecordUtility.SetValue(table, canmove, 0); record.leadAnim = DataRecordUtility.SetValue(table, leadAnim, ""); record.leadAnimTime = DataRecordUtility.SetValue(table, leadAnimTime, 0); record.leadEffect = DataRecordUtility.SetValue(table, leadEffect, ""); record.leadEffectBone = DataRecordUtility.SetValue(table, leadEffectBone, ""); record.leadEffectStartTime = DataRecordUtility.SetValue(table, leadEffectStartTime, 0); record.leadEffectDeleteTime = DataRecordUtility.SetValue(table, leadEffectDeleteTime, 0); record.castAnim = DataRecordUtility.SetValue(table, castAnim, ""); record.castAnimTime = DataRecordUtility.SetValue(table, castAnimTime, 0); record.selfEffect = DataRecordUtility.SetValue(table, selfEffect, ""); record.selfEffectBone = DataRecordUtility.SetValue(table, selfEffectBone, ""); record.selfEffectStartTime = DataRecordUtility.SetValue(table, selfEffectStartTime, 0); record.selfEffectDeleteTime = DataRecordUtility.SetValue(table, selfEffectDeleteTime, 0); record.targetEffect = DataRecordUtility.SetValue(table, targetEffect, ""); record.targetEffectBone = DataRecordUtility.SetValue(table, targetEffectBone, ""); record.targetEffectStartTime = DataRecordUtility.SetValue(table, targetEffectStartTime, 0); record.targetEffectDeleteTime = DataRecordUtility.SetValue(table, targetEffectDeleteTime, 0); record.emitEffect = DataRecordUtility.SetValue(table, emitEffect, ""); record.emitEffectBone = DataRecordUtility.SetValue(table, emitEffectBone, ""); record.emitEffectStartTime = DataRecordUtility.SetValue(table, emitEffectStartTime, 0); record.emitSpeed = DataRecordUtility.SetValue(table, emitSpeed, 0); record.hitAnim = DataRecordUtility.SetValue(table, hitAnim, ""); record.hitAnimTime = DataRecordUtility.SetValue(table, hitAnimTime, 0); record.hitEffect = DataRecordUtility.SetValue(table, hitEffect, ""); record.hitEffectBone = DataRecordUtility.SetValue(table, hitEffectBone, ""); record.hitEffectStartTime = DataRecordUtility.SetValue(table, hitEffectStartTime, 0); record.hitEffectDeleteTime = DataRecordUtility.SetValue(table, hitEffectDeleteTime, 0); record.impactToSelf = DataRecordUtility.SetValue(table, impactToSelf, 0); record.impactToTarget = DataRecordUtility.SetValue(table, impactToTarget, 0); record.interruptPriority = DataRecordUtility.SetValue(table, interruptPriority, 0); record.isInterrupt = DataRecordUtility.SetValue(table, isInterrupt, false); record.targetType = DataRecordUtility.SetValue(table, targetType, 0); record.aoeType = DataRecordUtility.SetValue(table, aoeType, 0); record.aoeSize = DataRecordUtility.SetValue(table, aoeSize, 0); record.aoeAngleOrLength = DataRecordUtility.SetValue(table, aoeAngleOrLength, 0); record.maxAoeTargetCount = DataRecordUtility.SetValue(table, maxAoeTargetCount, 0); record.dslSkillId = DataRecordUtility.SetValue(table, dslSkillId, 0); record.dslFile = DataRecordUtility.SetValue(table, dslFile, ""); record.sound = DataRecordUtility.SetValue(table, sound, ""); record.soundDelay = DataRecordUtility.SetValue(table, soundDelay, 0); record.skilltimescale = DataRecordUtility.SetValue(table, skilltimescale, 0); record.skilltimescalestarttime = DataRecordUtility.SetValue(table, skilltimescalestarttime, 0); record.skilltimescaleendtime = DataRecordUtility.SetValue(table, skilltimescaleendtime, 0); byte[] bytes = GetRecordBytes(record); table.Records.Add(bytes); }
public bool ReadFromBinary(BinaryTable table, int index) { SkillRecord record = GetRecord(table, index); id = DataRecordUtility.ExtractInt(table, record.id, 0); desc = DataRecordUtility.ExtractString(table, record.desc, ""); type = DataRecordUtility.ExtractInt(table, record.type, 0); icon = DataRecordUtility.ExtractInt(table, record.icon, 0); distance = DataRecordUtility.ExtractFloat(table, record.distance, 0); cooldown = DataRecordUtility.ExtractFloat(table, record.cooldown, 0); BaseCooldown = DataRecordUtility.ExtractFloat(table, record.BaseCooldown, 0); duration = DataRecordUtility.ExtractFloat(table, record.duration, 0); interval = DataRecordUtility.ExtractFloat(table, record.interval, 0); damage = DataRecordUtility.ExtractInt(table, record.damage, 0); mpRecover = DataRecordUtility.ExtractInt(table, record.mpRecover, 0); hpRecover = DataRecordUtility.ExtractInt(table, record.hpRecover, 0); addAttack = DataRecordUtility.ExtractInt(table, record.addAttack, 0); addShield = DataRecordUtility.ExtractInt(table, record.addShield, 0); addSpeed = DataRecordUtility.ExtractFloat(table, record.addSpeed, 0); canmove = DataRecordUtility.ExtractInt(table, record.canmove, 0); leadAnim = DataRecordUtility.ExtractString(table, record.leadAnim, ""); leadAnimTime = DataRecordUtility.ExtractInt(table, record.leadAnimTime, 0); leadEffect = DataRecordUtility.ExtractString(table, record.leadEffect, ""); leadEffectBone = DataRecordUtility.ExtractString(table, record.leadEffectBone, ""); leadEffectStartTime = DataRecordUtility.ExtractInt(table, record.leadEffectStartTime, 0); leadEffectDeleteTime = DataRecordUtility.ExtractInt(table, record.leadEffectDeleteTime, 0); castAnim = DataRecordUtility.ExtractString(table, record.castAnim, ""); castAnimTime = DataRecordUtility.ExtractInt(table, record.castAnimTime, 0); selfEffect = DataRecordUtility.ExtractString(table, record.selfEffect, ""); selfEffectBone = DataRecordUtility.ExtractString(table, record.selfEffectBone, ""); selfEffectStartTime = DataRecordUtility.ExtractInt(table, record.selfEffectStartTime, 0); selfEffectDeleteTime = DataRecordUtility.ExtractInt(table, record.selfEffectDeleteTime, 0); targetEffect = DataRecordUtility.ExtractString(table, record.targetEffect, ""); targetEffectBone = DataRecordUtility.ExtractString(table, record.targetEffectBone, ""); targetEffectStartTime = DataRecordUtility.ExtractInt(table, record.targetEffectStartTime, 0); targetEffectDeleteTime = DataRecordUtility.ExtractInt(table, record.targetEffectDeleteTime, 0); emitEffect = DataRecordUtility.ExtractString(table, record.emitEffect, ""); emitEffectBone = DataRecordUtility.ExtractString(table, record.emitEffectBone, ""); emitEffectStartTime = DataRecordUtility.ExtractInt(table, record.emitEffectStartTime, 0); emitSpeed = DataRecordUtility.ExtractInt(table, record.emitSpeed, 0); hitAnim = DataRecordUtility.ExtractString(table, record.hitAnim, ""); hitAnimTime = DataRecordUtility.ExtractInt(table, record.hitAnimTime, 0); hitEffect = DataRecordUtility.ExtractString(table, record.hitEffect, ""); hitEffectBone = DataRecordUtility.ExtractString(table, record.hitEffectBone, ""); hitEffectStartTime = DataRecordUtility.ExtractInt(table, record.hitEffectStartTime, 0); hitEffectDeleteTime = DataRecordUtility.ExtractInt(table, record.hitEffectDeleteTime, 0); impactToSelf = DataRecordUtility.ExtractInt(table, record.impactToSelf, 0); impactToTarget = DataRecordUtility.ExtractInt(table, record.impactToTarget, 0); interruptPriority = DataRecordUtility.ExtractInt(table, record.interruptPriority, 0); isInterrupt = DataRecordUtility.ExtractBool(table, record.isInterrupt, false); targetType = DataRecordUtility.ExtractInt(table, record.targetType, 0); aoeType = DataRecordUtility.ExtractInt(table, record.aoeType, 0); aoeSize = DataRecordUtility.ExtractFloat(table, record.aoeSize, 0); aoeAngleOrLength = DataRecordUtility.ExtractFloat(table, record.aoeAngleOrLength, 0); maxAoeTargetCount = DataRecordUtility.ExtractInt(table, record.maxAoeTargetCount, 0); dslSkillId = DataRecordUtility.ExtractInt(table, record.dslSkillId, 0); dslFile = DataRecordUtility.ExtractString(table, record.dslFile, ""); sound = DataRecordUtility.ExtractString(table, record.sound, ""); soundDelay = DataRecordUtility.ExtractInt(table, record.soundDelay, 0); skilltimescale = DataRecordUtility.ExtractFloat(table, record.skilltimescale, 0); skilltimescalestarttime = DataRecordUtility.ExtractInt(table, record.skilltimescalestarttime, 0); skilltimescaleendtime = DataRecordUtility.ExtractInt(table, record.skilltimescaleendtime, 0); return(true); }