public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.NextLoopTriggerID, ref lastHash); HashUtils.ContentHashOnto(this.AfterSkillTriggerID, ref lastHash); if (this.BeforeSkillIDs != null) { foreach (string str in this.BeforeSkillIDs) { HashUtils.ContentHashOnto(str, ref lastHash); } } if (this.ChargeLoopSkillIDs != null) { foreach (string str2 in this.ChargeLoopSkillIDs) { HashUtils.ContentHashOnto(str2, ref lastHash); } } if (this.AfterSkillIDs != null) { foreach (string str3 in this.AfterSkillIDs) { HashUtils.ContentHashOnto(str3, ref lastHash); } } if (this.TransientSkillIDs != null) { foreach (string str4 in this.TransientSkillIDs) { HashUtils.ContentHashOnto(str4, ref lastHash); } } if (this.ChargeLoopDurations != null) { foreach (float num5 in this.ChargeLoopDurations) { HashUtils.ContentHashOnto(num5, ref lastHash); } } if (this.ChargeTimeRatio != null) { HashUtils.ContentHashOnto(this.ChargeTimeRatio.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.ChargeTimeRatio.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.ChargeTimeRatio.dynamicKey, ref lastHash); } if (this.ChargeLoopEffects != null) { foreach (MixinEffect effect in this.ChargeLoopEffects) { HashUtils.ContentHashOnto(effect.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(effect.AudioPattern, ref lastHash); } } if (this.ChargeSwitchEffects != null) { foreach (MixinEffect effect2 in this.ChargeSwitchEffects) { HashUtils.ContentHashOnto(effect2.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(effect2.AudioPattern, ref lastHash); } } if (this.ChargeLoopAudioPatterns != null) { foreach (string str5 in this.ChargeLoopAudioPatterns) { HashUtils.ContentHashOnto(str5, ref lastHash); } } if (this.ChargeSwitchAudioPatterns != null) { foreach (string str6 in this.ChargeSwitchAudioPatterns) { HashUtils.ContentHashOnto(str6, ref lastHash); } } HashUtils.ContentHashOnto(this.ChargeSwitchWindow, ref lastHash); }
public Field GetField(string name) { CheckValidity(); return(GetField(HashUtils.GetFNV(name))); }
void ImportPhoto(Photo photo, bool copy) { Log.WarningFormat("Importing {0}", photo.Name); PhotoStore to_store = to_db.Photos; string photo_path = photo.VersionUri(Photo.OriginalVersionId).AbsolutePath; while (!System.IO.File.Exists(photo_path)) { Log.Debug("Not found, trying the mappings..."); foreach (string key in PathMap.Keys) { string path = photo_path; path = path.Replace(key, PathMap [key]); Log.DebugFormat("Replaced path {0}", path); if (System.IO.File.Exists(path)) { photo_path = path; break;; } } if (System.IO.File.Exists(photo_path)) { Log.Debug("Exists!!!"); continue; } string [] parts = photo_path.Split(new char[] { '/' }); if (parts.Length > 6) { string folder = String.Join("/", parts, 0, parts.Length - 4); PickFolderDialog pfd = new PickFolderDialog(mdd.Dialog, folder); string new_folder = pfd.Run(); pfd.Dialog.Destroy(); if (new_folder == null) //Skip { return; } Log.DebugFormat("{0} maps to {1}", folder, new_folder); PathMap[folder] = new_folder; } else { Log.Debug("point me to the file"); } Log.DebugFormat("FNF: {0}", photo_path); } string destination; Photo newp; if (copy) { destination = FindImportDestination(new Hyena.SafeUri(photo_path), photo.Time).AbsolutePath; } else { destination = photo_path; } var dest_uri = new SafeUri(photo_path); photo.DefaultVersionId = 1; photo.DefaultVersion.Uri = dest_uri; if (photo.DefaultVersion.ImportMD5 == String.Empty) { (photo.DefaultVersion as PhotoVersion).ImportMD5 = HashUtils.GenerateMD5(photo.DefaultVersion.Uri); } if (photo_path != destination) { System.IO.File.Copy(photo_path, destination); try { File.SetAttributes(destination, File.GetAttributes(destination) & ~FileAttributes.ReadOnly); DateTime create = File.GetCreationTime(photo_path); File.SetCreationTime(destination, create); DateTime mod = File.GetLastWriteTime(photo_path); File.SetLastWriteTime(destination, mod); } catch (IOException) { // we don't want an exception here to be fatal. } } //FIXME simplify the following code by letting CreateFrom import all versions // instead of looping over all versions here newp = to_store.CreateFrom(photo, true, roll_map [photo.RollId]); if (newp == null) { return; } foreach (Tag t in photo.Tags) { Log.WarningFormat("Tagging with {0}", t.Name); newp.AddTag(tag_map [t.Id]); } foreach (uint version_id in photo.VersionIds) { if (version_id != Photo.OriginalVersionId) { PhotoVersion version = photo.GetVersion(version_id) as PhotoVersion; uint newv = newp.AddVersion(version.BaseUri, version.Filename, version.Name, version.IsProtected); if (version_id == photo.DefaultVersionId) { newp.DefaultVersionId = newv; } } } //FIXME Import extra info (time, description, rating) newp.Time = photo.Time; newp.Description = photo.Description; newp.Rating = photo.Rating; to_store.Commit(newp); }
/// <summary> /// Make sure no data duplicated /// </summary> public void FilterDatasetByMD5(string[] datasetByPriority) { var dsMap = (from dir in GetDatasetDirectories() let dataset = Path.GetFileName(dir) from file in CelFile.GetCelFiles(dir) select new { Dataset = dataset, File = file, MD5 = HashUtils.GetDecompressedMD5Hash(file) }).ToGroupDictionary(m => m.Dataset); foreach (var dataset in datasetByPriority) { var fileMap = dsMap[dataset].ToDictionary(m => m.MD5); foreach (var ds in dsMap) { if (ds.Key.Equals(dataset)) { continue; } var dsfiles = ds.Value; foreach (var cel in dsfiles) { if (!File.Exists(cel.File)) { continue; } if (fileMap.ContainsKey(cel.MD5)) { Console.WriteLine("Excluding " + cel.File); ExcludeFile(cel.File); } } } } }
byte[] CalculateHash() { byte[] data = Shared.StructToBytes(this); return(HashUtils.ComputeSha256(data, 0, DataToHash)); }
public void ObjectContentHashOnto(ref int lastHash) { if (this.HitDistanceBeyond != null) { HashUtils.ContentHashOnto(this.HitDistanceBeyond.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.HitDistanceBeyond.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.HitDistanceBeyond.dynamicKey, ref lastHash); } HashUtils.ContentHashOnto(this.Reverse, ref lastHash); if (this.Distance != null) { HashUtils.ContentHashOnto(this.Distance.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.Distance.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.Distance.dynamicKey, ref lastHash); } if (this.DamagePercentageUp != null) { HashUtils.ContentHashOnto(this.DamagePercentageUp.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.DamagePercentageUp.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.DamagePercentageUp.dynamicKey, ref lastHash); } if (this.AttackRatio != null) { HashUtils.ContentHashOnto(this.AttackRatio.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.AttackRatio.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.AttackRatio.dynamicKey, ref lastHash); } if (this.AniDamageRatioUp != null) { HashUtils.ContentHashOnto(this.AniDamageRatioUp.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.AniDamageRatioUp.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.AniDamageRatioUp.dynamicKey, ref lastHash); } if (this.CriticalChanceRatioUp != null) { HashUtils.ContentHashOnto(this.CriticalChanceRatioUp.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.CriticalChanceRatioUp.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.CriticalChanceRatioUp.dynamicKey, ref lastHash); } if (this.CriticalDamageRatioUp != null) { HashUtils.ContentHashOnto(this.CriticalDamageRatioUp.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.CriticalDamageRatioUp.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.CriticalDamageRatioUp.dynamicKey, ref lastHash); } if (this.Actions != null) { foreach (ConfigAbilityAction action in this.Actions) { if (action is IHashable) { HashUtils.ContentHashOnto((IHashable)action, ref lastHash); } } } if (this.Predicates != null) { foreach (ConfigAbilityPredicate predicate in this.Predicates) { if (predicate is IHashable) { HashUtils.ContentHashOnto((IHashable)predicate, ref lastHash); } } } }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto((int)this.LevelBuff, ref lastHash); HashUtils.ContentHashOnto(this.OnModifierName, ref lastHash); HashUtils.ContentHashOnto(this.OffModifierName, ref lastHash); }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.PointName, ref lastHash); HashUtils.ContentHashOnto(this.OriginName, ref lastHash); HashUtils.ContentHashOnto(this.OtherName, ref lastHash); }
public override int GetHashCode() => HashUtils.Combine(Line, Column);
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto((int)this.TargetNature, ref lastHash); }
public IByteBuffer Encode(IByteBuffer byteBuf) { ByteBufUtils.WriteUTF8(byteBuf, HashUtils.MD5(OldPassword)); ByteBufUtils.WriteUTF8(byteBuf, HashUtils.MD5(NewPassword)); return(byteBuf); }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.CDSkillID, ref lastHash); }
public string GenerateHash(string input, Encoding encoding) { return(HashUtils.ConvertToSha256HashString(input, encoding)); }
public void ObjectContentHashOnto(ref int lastHash) { if (this.DamagePercentage != null) { HashUtils.ContentHashOnto(this.DamagePercentage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.DamagePercentage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.DamagePercentage.dynamicKey, ref lastHash); } if (this.AddedDamageValue != null) { HashUtils.ContentHashOnto(this.AddedDamageValue.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.AddedDamageValue.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.AddedDamageValue.dynamicKey, ref lastHash); } if (this.PlainDamage != null) { HashUtils.ContentHashOnto(this.PlainDamage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.PlainDamage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.PlainDamage.dynamicKey, ref lastHash); } if (this.PlainDamagePercentage != null) { HashUtils.ContentHashOnto(this.PlainDamagePercentage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.PlainDamagePercentage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.PlainDamagePercentage.dynamicKey, ref lastHash); } if (this.FireDamage != null) { HashUtils.ContentHashOnto(this.FireDamage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.FireDamage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.FireDamage.dynamicKey, ref lastHash); } if (this.FireDamagePercentage != null) { HashUtils.ContentHashOnto(this.FireDamagePercentage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.FireDamagePercentage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.FireDamagePercentage.dynamicKey, ref lastHash); } if (this.ThunderDamage != null) { HashUtils.ContentHashOnto(this.ThunderDamage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.ThunderDamage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.ThunderDamage.dynamicKey, ref lastHash); } if (this.ThunderDamagePercentage != null) { HashUtils.ContentHashOnto(this.ThunderDamagePercentage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.ThunderDamagePercentage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.ThunderDamagePercentage.dynamicKey, ref lastHash); } if (this.IceDamage != null) { HashUtils.ContentHashOnto(this.IceDamage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.IceDamage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.IceDamage.dynamicKey, ref lastHash); } if (this.IceDamagePercentage != null) { HashUtils.ContentHashOnto(this.IceDamagePercentage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.IceDamagePercentage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.IceDamagePercentage.dynamicKey, ref lastHash); } if (this.AlienDamage != null) { HashUtils.ContentHashOnto(this.AlienDamage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.AlienDamage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.AlienDamage.dynamicKey, ref lastHash); } if (this.AlienDamagePercentage != null) { HashUtils.ContentHashOnto(this.AlienDamagePercentage.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.AlienDamagePercentage.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.AlienDamagePercentage.dynamicKey, ref lastHash); } if (this.AniDamageRatio != null) { HashUtils.ContentHashOnto(this.AniDamageRatio.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.AniDamageRatio.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.AniDamageRatio.dynamicKey, ref lastHash); } if (this.RetreatVelocity != null) { HashUtils.ContentHashOnto(this.RetreatVelocity.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.RetreatVelocity.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.RetreatVelocity.dynamicKey, ref lastHash); } if (this.FrameHalt != null) { HashUtils.ContentHashOnto(this.FrameHalt.isDynamic, ref lastHash); HashUtils.ContentHashOnto(this.FrameHalt.fixedValue, ref lastHash); HashUtils.ContentHashOnto(this.FrameHalt.dynamicKey, ref lastHash); } HashUtils.ContentHashOnto((int)this.HitEffect, ref lastHash); if (this.AttackEffect != null) { HashUtils.ContentHashOnto(this.AttackEffect.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(this.AttackEffect.SwitchName, ref lastHash); HashUtils.ContentHashOnto(this.AttackEffect.MuteAttackEffect, ref lastHash); HashUtils.ContentHashOnto((int)this.AttackEffect.AttackEffectTriggerPos, ref lastHash); } if (this.CameraShake != null) { HashUtils.ContentHashOnto(this.CameraShake.ShakeOnNotHit, ref lastHash); HashUtils.ContentHashOnto(this.CameraShake.ShakeRange, ref lastHash); HashUtils.ContentHashOnto(this.CameraShake.ShakeTime, ref lastHash); if (this.CameraShake.ShakeAngle.HasValue) { HashUtils.ContentHashOnto(this.CameraShake.ShakeAngle.Value, ref lastHash); } HashUtils.ContentHashOnto(this.CameraShake.ShakeStepFrame, ref lastHash); HashUtils.ContentHashOnto(this.CameraShake.ClearPreviousShake, ref lastHash); } HashUtils.ContentHashOnto(this.IsAnimEventAttack, ref lastHash); HashUtils.ContentHashOnto(this.IsInComboCount, ref lastHash); HashUtils.ContentHashOnto((int)this.HitLevel, ref lastHash); HashUtils.ContentHashOnto((int)base.Target, ref lastHash); if ((base.TargetOption != null) && (base.TargetOption.Range != null)) { HashUtils.ContentHashOnto(base.TargetOption.Range.isDynamic, ref lastHash); HashUtils.ContentHashOnto(base.TargetOption.Range.fixedValue, ref lastHash); HashUtils.ContentHashOnto(base.TargetOption.Range.dynamicKey, ref lastHash); } if (base.Predicates != null) { foreach (ConfigAbilityPredicate predicate in base.Predicates) { if (predicate is IHashable) { HashUtils.ContentHashOnto((IHashable)predicate, ref lastHash); } } } }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto((int)this.CategoryTag, ref lastHash); }
private void WriteXmlHeader(StreamWriter sw, FileInfo sourceFile, List <int> scans) { /* * xml header and namespace info */ sw.Write("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" + lf + "<mzXML" + lf); sw.Write(" xmlns=\"http://sashimi.sourceforge.net/schema_revision/mzXML_2.0\"" + lf + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"" + lf + " xsi:schemaLocation=\"http://sashimi.sourceforge.net/schema_revision/mzXML_2.0 http://sashimi.sourceforge.net/schema_revision/mzXML_2.0/mzXML_idx_2.0.xsd\">" + lf); int firstScan = this.rawFile.GetFirstSpectrumNumber(); int lastScan = this.rawFile.GetLastSpectrumNumber(); double startTime = this.rawFile.ScanToRetentionTime(firstScan) * 60; double endTime = this.rawFile.ScanToRetentionTime(lastScan) * 60; /* * begin msRun */ sw.Write(MyConvert.Format(" <msRun scanCount=\"{0}\" startTime=\"PT{1:0.000}S\" endTime=\"PT{2:0.000}S\">" + lf, scans.Count, startTime, endTime)); string sha1; try { sha1 = HashUtils.GetSHA1Hash(sourceFile.FullName).ToLower(); } catch (Exception ex) { throw new Exception("Exception when calculating sha1 value of file " + sourceFile.Name, ex); } /* * parent (raw input) file */ sw.Write(" <parentFile fileName=\"file://" + sourceFile.Name + "\" fileType=\"RAWData\" fileSha1=\"" + sha1 + "\"/>" + lf); /* * mass spec instrument section */ // get the instrument model string instModel = this.rawFile.GetInstModel(); // get acquisition software version string instSoftVersion = this.rawFile.GetInstSoftwareVersion(); sw.Write(" <msInstrument>" + lf + " <msManufacturer category=\"msManufacturer\" value=\"Thermo Finnigan\"/>" + lf + " <msModel category=\"msModel\" value=\"" + instModel + "\"/>" + lf + " <msIonisation category=\"msIonisation\" value=\"ESI\"/>" + lf + " <msMassAnalyzer category=\"msMassAnalyzer\" value=\"Ion Trap\"/>" + lf + " <msDetector category=\"msDetector\" value=\"EMT\"/>" + lf); sw.Write(" <software type=\"acquisition\"" + lf + " name=\"Xcalibur\"" + lf + " version=\"" + instSoftVersion + "\"/>" + lf + " </msInstrument>" + lf); /* * data processing info */ sw.Write(" <dataProcessing centroided=\"" + (this.doCentroid ? 1 : 0) + "\">" + lf + " <software type=\"conversion\"" + lf + " name=\"" + this.dataProcessingSoftware + "\"" + lf + " version=\"" + this.dataProcessingSoftwareVersion + "\"/>" + lf); foreach (string dataProcessingOperationName in this.dataProcessingOperations.Keys) { sw.Write(MyConvert.Format(" <processingOperation name=\"{0}\"" + lf + " value=\"{1}\"/>" + lf, dataProcessingOperationName, this.dataProcessingOperations[dataProcessingOperationName])); } /* * if (MIN_PEAKS_PER_SPECTRA > 0) * { * // Note the use of the namevaluetype element! * m_fout << " <processingOperation name=\"min_peaks_per_spectra\"" << lf * << " value=\"" << MIN_PEAKS_PER_SPECTRA << "\"/>" << lf; * // And the comment field to give a little bit more information about the meaning of * // the last element. * m_fout << " <comment>Scans with total number of peaks less than min_peaks_per_spectra were not included in this XML file</comment>" << lf; * } */ sw.Write(" </dataProcessing>" + lf); // end data processing info }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.UniquModifierName, ref lastHash); }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.SkillID, ref lastHash); HashUtils.ContentHashOnto(this.ReplaceButtonIconPath, ref lastHash); }
/// <summary> /// Get filename for a url as its MD5 hash /// </summary> /// <param name="url"></param> /// <returns></returns> public static string getFileName(string url) { return(HashUtils.GetMD5Hash(url)); }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.TracingLerpCoef, ref lastHash); HashUtils.ContentHashOnto(this.TracingLerpCoefAcc, ref lastHash); HashUtils.ContentHashOnto(this.TraceStartDelay, ref lastHash); HashUtils.ContentHashOnto(this.Distance, ref lastHash); HashUtils.ContentHashOnto(this.Angle, ref lastHash); HashUtils.ContentHashOnto(this.BaseOnTarget, ref lastHash); HashUtils.ContentHashOnto(base.BulletTypeName, ref lastHash); HashUtils.ContentHashOnto((int)base.Targetting, ref lastHash); if (base.BulletSpeed != null) { HashUtils.ContentHashOnto(base.BulletSpeed.isDynamic, ref lastHash); HashUtils.ContentHashOnto(base.BulletSpeed.fixedValue, ref lastHash); HashUtils.ContentHashOnto(base.BulletSpeed.dynamicKey, ref lastHash); } HashUtils.ContentHashOnto(base.IgnoreTimeScale, ref lastHash); if (base.AliveDuration != null) { HashUtils.ContentHashOnto(base.AliveDuration.isDynamic, ref lastHash); HashUtils.ContentHashOnto(base.AliveDuration.fixedValue, ref lastHash); HashUtils.ContentHashOnto(base.AliveDuration.dynamicKey, ref lastHash); } if (base.HitExplodeRadius != null) { HashUtils.ContentHashOnto(base.HitExplodeRadius.isDynamic, ref lastHash); HashUtils.ContentHashOnto(base.HitExplodeRadius.fixedValue, ref lastHash); HashUtils.ContentHashOnto(base.HitExplodeRadius.dynamicKey, ref lastHash); } HashUtils.ContentHashOnto(base.IsFixedHeight, ref lastHash); if (base.BulletEffect != null) { HashUtils.ContentHashOnto(base.BulletEffect.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(base.BulletEffect.AudioPattern, ref lastHash); } HashUtils.ContentHashOnto(base.ApplyDistinctHitExplodeEffectPattern, ref lastHash); if (base.DistinctHitExplodeHeight != null) { HashUtils.ContentHashOnto(base.DistinctHitExplodeHeight.isDynamic, ref lastHash); HashUtils.ContentHashOnto(base.DistinctHitExplodeHeight.fixedValue, ref lastHash); HashUtils.ContentHashOnto(base.DistinctHitExplodeHeight.dynamicKey, ref lastHash); } if (base.HitExplodeEffect != null) { HashUtils.ContentHashOnto(base.HitExplodeEffect.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(base.HitExplodeEffect.AudioPattern, ref lastHash); } if (base.HitExplodeEffectAir != null) { HashUtils.ContentHashOnto(base.HitExplodeEffectAir.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(base.HitExplodeEffectAir.AudioPattern, ref lastHash); } if (base.HitExplodeEffectGround != null) { HashUtils.ContentHashOnto(base.HitExplodeEffectGround.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(base.HitExplodeEffectGround.AudioPattern, ref lastHash); } if (base.SelfExplodeEffect != null) { HashUtils.ContentHashOnto(base.SelfExplodeEffect.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(base.SelfExplodeEffect.AudioPattern, ref lastHash); } HashUtils.ContentHashOnto(base.MuteSelfHitExplodeActions, ref lastHash); HashUtils.ContentHashOnto(base.IsHitChangeTargetDirection, ref lastHash); HashUtils.ContentHashOnto(base.HitAnimEventID, ref lastHash); HashUtils.ContentHashOnto(base.FaceTarget, ref lastHash); HashUtils.ContentHashOnto((int)base.RemoveClearType, ref lastHash); HashUtils.ContentHashOnto((int)base.BulletHitType, ref lastHash); HashUtils.ContentHashOnto(base.BulletEffectGround, ref lastHash); HashUtils.ContentHashOnto(base.ExplodeEffectGround, ref lastHash); HashUtils.ContentHashOnto(base.ResetTime, ref lastHash); if (base.HitExplodeActions != null) { foreach (ConfigAbilityAction action in base.HitExplodeActions) { if (action is IHashable) { HashUtils.ContentHashOnto((IHashable)action, ref lastHash); } } } }
/// <summary> /// Make sure no data duplicated /// </summary> public void CheckDuplication(string outputFile) { outputFile = CheckFileName(outputFile); var cels = new Dictionary <string, HashSet <string> >(); var dirs = GetDatasetDirectories(); foreach (var subdir in dirs) { Console.Out.WriteLine(subdir); var files = CelFile.GetCelFiles(subdir); foreach (var file in files) { try { string md5 = HashUtils.GetDecompressedMD5Hash(file); var name = Path.GetFileName(subdir) + ":" + Path.GetFileName(file); if (cels.ContainsKey(md5)) { cels[md5].Add(name); } else { cels[md5] = new HashSet <string>(new string[] { name }); } } catch (Exception) { Console.Error.WriteLine(file); if (Path.GetFileName(file).ToLower().StartsWith("gsm")) { var gsm = GeoUtils.GetGsmName(file).ToUpper(); var filename = Path.GetFileNameWithoutExtension(file); WebClient webClient = new WebClient(); var uri = string.Format(@"http://www.ncbi.nlm.nih.gov/geosuppl/?acc={0}&file={1}%2ECEL%2Egz", gsm, filename); Console.WriteLine(uri); webClient.DownloadFile(uri, file + ".gz"); } throw; } } } var dupfile = Path.Combine(DataDir, outputFile); using (StreamWriter sw = new StreamWriter(dupfile)) { sw.WriteLine("Duplicated entries = " + cels.Count(m => m.Value.Count > 1).ToString()); sw.WriteLine("Duplicated cels = " + (from cel in cels where cel.Value.Count > 1 select cel.Value.Count).Sum().ToString()); var dscount = (from c in cels.Values from v in c select v).GroupBy(m => m.StringBefore(":")).ToDictionary(m => m.Key, m => m.Count()); var keys = cels.Keys.OrderBy(m => m).ToList(); var sets = (from c in cels where c.Value.Count > 1 from v in c.Value select new { MD5 = c.Key, Dataset = v.StringBefore(":"), FileName = v.StringAfter(":") }); var grp = sets.GroupBy(m => m.Dataset).OrderByDescending(m => m.Count()).ToList(); sw.WriteLine(); sw.Write("md5"); foreach (var g in grp) { sw.Write(string.Format("\t{0}({1}/{2})", g.Key, g.Count(), dscount[g.Key])); } sw.WriteLine(); foreach (var md5 in keys) { if (cels[md5].Count > 1) { sw.Write(md5); foreach (var g in grp) { var m = g.FirstOrDefault(n => n.MD5.Equals(md5)); if (m != null) { sw.Write("\t" + m.FileName); } else { sw.Write("\t"); } } sw.WriteLine(); } } } }
public BetteryMember AuthenticateUser(string UserName, string Password) { bool isMember = false; BetteryMember Member = new BetteryMember(); SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["MemberDBContext"].ToString()); try { bool isAuthed = false; string passwordDigest = String.Empty; HashUtils hashUtils = new HashUtils(); SqlCommand sqlCMD = new SqlCommand("GetPasswordDigest", sqlConn); sqlCMD.CommandType = CommandType.StoredProcedure; sqlCMD.Parameters.Add(new SqlParameter("@UserName", UserName)); sqlConn.Open(); if (sqlCMD.ExecuteScalar() != null) { passwordDigest = sqlCMD.ExecuteScalar().ToString(); } sqlConn.Close(); if (passwordDigest != String.Empty) { string salt = passwordDigest.Substring(passwordDigest.Length - 8); string hash = passwordDigest.Substring(0, passwordDigest.Length - 8); isAuthed = hashUtils.VerifyHashString(Password, hash, salt); } if (isAuthed) { sqlCMD = new SqlCommand("SwapStationAuthenticate", sqlConn); sqlCMD.CommandType = CommandType.StoredProcedure; sqlCMD.Parameters.Add(new SqlParameter("@UserName", UserName)); sqlCMD.Parameters.Add(new SqlParameter("@Password", passwordDigest)); sqlConn.Open(); SqlDataReader reader = sqlCMD.ExecuteReader(); while (reader.Read()) { isMember = true; Member.MemberFirstName = reader["FirstName"].ToString(); Member.MemberLastName = reader["LastName"].ToString(); Member.MemberID = (int)reader["MemberID"]; if (Convert.IsDBNull(reader["AccountBalance"])) { Member.AccountBalance = 0m; } else { Member.AccountBalance = reader.GetDecimal(reader.GetOrdinal("AccountBalance")); } if (reader["CustomerProfileID"] != System.DBNull.Value) { Member.CustomerProfileID = reader["CustomerProfileID"].ToString(); } if (reader["PaymentProfileID"] != System.DBNull.Value) { Member.PaymentProfileID = reader["PaymentProfileID"].ToString(); } if (reader["BatteryPacksInPlan"] != System.DBNull.Value) { Member.BatteryPacksInPlan = (int)reader["BatteryPacksInPlan"]; } if (reader["BatteryPacksCheckedOut"] != System.DBNull.Value) { Member.BatteryPacksCheckedOut = (int)reader["BatteryPacksCheckedOut"]; } if (reader["MemberTotalBatteries"] != System.DBNull.Value) { Member.MemberTotalBatteries = (int)reader["MemberTotalBatteries"]; } if (reader["FreeCases"] != System.DBNull.Value) { Member.FreeCases = (int)reader["FreeCases"]; } if (reader["CCExpireDate"] != System.DBNull.Value) { Member.CCExPireDate = reader["CCExpireDate"].ToString(); } if (reader["CCLastFourDigits"] != System.DBNull.Value) { Member.CCLastFourDigits = reader["CCLastFourDigits"].ToString(); } if (reader["CCLastFourDigits"] != System.DBNull.Value) { Member.CCLastFourDigits = reader["CCLastFourDigits"].ToString(); } if (reader["GroupID"] != System.DBNull.Value) { Member.GroupID = (int)reader["GroupID"]; } if (reader["CorpAccountID"] != System.DBNull.Value) { Member.GroupID = Common.Constants.Group.CorpAccount; } } } if (isMember) { return(Member); } else { return(null); } } catch { // TODO: Log Error throw; } finally { sqlConn.Close(); } }
public string ToString(Perso perso, TranslatedScript.TranslationSettings ts, bool advanced = false) { MapLoader l = MapLoader.Loader; short mask = 0; AITypes aiTypes = Settings.s.aiTypes; Vector3 vector3 = new Vector3 { x = 0, y = 0, z = 0 }; switch (nodeType) { case ScriptNode.NodeType.KeyWord: // KeyWordFunctionPtr if (param < aiTypes.keywordTable.Length) { if (ts.exportMode) { if (aiTypes.keywordTable[param] == "Me") { return("this"); } if (aiTypes.keywordTable[param] == "MainActor") { return("Controller.MainActor"); } if (aiTypes.keywordTable[param] == "Nobody" || aiTypes.keywordTable[param] == "NoInput" || aiTypes.keywordTable[param] == "Nowhere" || aiTypes.keywordTable[param] == "NoGraph" || aiTypes.keywordTable[param] == "NoAction" || aiTypes.keywordTable[param] == "CapsNull") { return("null"); } } return(aiTypes.keywordTable[param]); } return("UnknownKeyword_" + param); case ScriptNode.NodeType.Condition: // GetConditionFunctionPtr if (param < aiTypes.conditionTable.Length) { return(aiTypes.conditionTable[param]); } return("UnknownCondition_" + param); case ScriptNode.NodeType.Operator: // GetOperatorFunctionPtr if (advanced) { if (param < aiTypes.operatorTable.Length) { return(aiTypes.operatorTable[param] + " (" + param + ")"); } } if (param < aiTypes.operatorTable.Length) { return(aiTypes.operatorTable[param]); } return("UnknownOperator_" + param); case ScriptNode.NodeType.Function: // GetFunctionFunctionPtr if (param < aiTypes.functionTable.Length) { return(aiTypes.functionTable[param]); } return("UnknownFunction_" + param); case ScriptNode.NodeType.Procedure: // ProcedureFunctionReturn if (param < aiTypes.procedureTable.Length) { return(aiTypes.procedureTable[param]); } return("UnknownProcedure_" + param); case ScriptNode.NodeType.MetaAction: // meta action if (param < aiTypes.metaActionTable.Length) { return(aiTypes.metaActionTable[param]); } return("UnknownMetaAction_" + param); case ScriptNode.NodeType.BeginMacro: return("BeginMacro"); case ScriptNode.NodeType.EndMacro: return("EndMacro"); case ScriptNode.NodeType.Field: if (param < aiTypes.fieldTable.Length) { return(aiTypes.fieldTable[param]); } return("UnknownField_" + param); case ScriptNode.NodeType.DsgVarRef: // Dsg Var if (perso != null && perso.brain != null && perso.brain.mind != null) { Mind mind = perso.brain.mind; if (mind.dsgMem != null && mind.dsgMem.dsgVar != null) { if (param < mind.dsgMem.dsgVar.dsgVarInfos.Length) { return(mind.dsgMem.dsgVar.dsgVarInfos[param].NiceVariableName); } } else if (mind.AI_model != null && mind.AI_model.dsgVar != null) { if (param < mind.AI_model.dsgVar.dsgVarInfos.Length) { return(mind.AI_model.dsgVar.dsgVarInfos[param].NiceVariableName); } } } return("dsgVar_" + param); case ScriptNode.NodeType.Constant: if (advanced) { return("Constant: " + BitConverter.ToInt32(BitConverter.GetBytes(param), 0)); } return(BitConverter.ToInt32(BitConverter.GetBytes(param), 0).ToString()); case ScriptNode.NodeType.Real: NumberFormatInfo nfi = new NumberFormatInfo() { NumberDecimalSeparator = "." }; if (advanced) { return("Real: " + BitConverter.ToSingle(BitConverter.GetBytes(param), 0).ToString(nfi)); } return(BitConverter.ToSingle(BitConverter.GetBytes(param), 0).ToString(nfi) + "f"); case ScriptNode.NodeType.Button: // Button/entryaction EntryAction ea = EntryAction.FromOffset(param_ptr); if (ea == null) { return("ERR_ENTRYACTION_NOTFOUND"); } string eaName = (advanced ? ea.ToString() : ea.ToBasicString()); if (advanced) { return("Button: " + eaName + "(" + param_ptr + ")"); } if (!ts.expandEntryActions && ea != null) { return("\"" + ea.ExportName + "\""); } return(eaName); case ScriptNode.NodeType.ConstantVector: return("Constant Vector: " + "0x" + param.ToString("x8")); // TODO: get from address case ScriptNode.NodeType.Vector: return("new Vector3"); // TODO: same case ScriptNode.NodeType.Mask: mask = (short)param; // TODO: as short if (advanced) { return("Mask: " + (mask).ToString("x4")); } if (ts.exportMode) { return("\"" + (mask).ToString("x4") + "\""); } return("Mask(" + (mask).ToString("x4") + ")"); case ScriptNode.NodeType.ModuleRef: if (advanced) { return("ModuleRef: " + "0x" + (param).ToString("x8")); } return("GetModule(" + (int)param + ")"); case ScriptNode.NodeType.DsgVarId: if (advanced) { return("DsgVarId: " + "0x" + (param).ToString("x8")); } return("DsgVarId(" + param + ")"); case ScriptNode.NodeType.String: string str = "ERR_STRING_NOTFOUND"; if (l.strings.ContainsKey(param_ptr)) { str = l.strings[param_ptr]; } if (advanced) { return("String: " + param_ptr + " (" + str + ")"); } return("\"" + str + "\""); case ScriptNode.NodeType.LipsSynchroRef: return("LipsSynchroRef: " + param_ptr); case ScriptNode.NodeType.FamilyRef: if (advanced) { return("FamilyRef: " + param_ptr); } Family f = Family.FromOffset(param_ptr); if (f != null) { return("GetFamily(\"" + f.name + "\")"); } else { return("Family.FromOffset(\"" + param_ptr + "\")"); } case ScriptNode.NodeType.PersoRef: Perso argPerso = Perso.FromOffset(param_ptr); if (argPerso != null && perso != null && argPerso.offset == perso.offset) { if (advanced) { return("PersoRef: this"); } return("this"); } string persoName = argPerso == null ? "ERR_PERSO_NOTFOUND" : argPerso.fullName; if (advanced) { return("PersoRef: " + param_ptr + " (" + persoName + ")"); } if (argPerso?.brain?.mind?.AI_model != null) { AIModel aiModel = argPerso.brain.mind.AI_model; // Make sure to add a cast in case the AI Model is accessed return("((" + aiModel.name + ")GetPerso(\"" + argPerso.namePerso + "\"))"); } return("GetPerso(\"" + argPerso.namePerso + "\")"); case ScriptNode.NodeType.ActionRef: State state = State.FromOffset(param_ptr); string stateName = state == null ? "ERR_STATE_NOTFOUND" : state.ShortName; if (advanced) { return("ActionRef: " + param_ptr + " " + stateName); } if (ts.useStateIndex) { return("GetAction(" + state.index.ToString() + ")"); } return(stateName); case ScriptNode.NodeType.SuperObjectRef: if (advanced) { return("SuperObjectRef: " + param_ptr); } SuperObject so = SuperObject.FromOffset(param_ptr); if (so != null) { return("GetSuperObject(\"" + so.Gao.name + "\")"); } else { return("SuperObject.FromOffset(\"" + param_ptr + "\")"); } case ScriptNode.NodeType.WayPointRef: if (advanced) { return("WayPointRef: " + param_ptr); } return("WayPoint.FromOffset(\"" + param_ptr + "\")"); case ScriptNode.NodeType.TextRef: if (l.localization == null) { return("TextRef"); } if (advanced) { return("TextRef: " + param + " (" + l.localization.GetTextForHandleAndLanguageID((int)param, 0) + ")"); } if (ts.expandStrings) { return("\"" + l.localization.GetTextForHandleAndLanguageID((int)param, 0) + "\""); // Preview in english } else { return("new TextReference(" + (int)param + ")"); } case ScriptNode.NodeType.ComportRef: Behavior comportRef = Behavior.FromOffset(param_ptr); if (comportRef == null) { if (advanced) { return("ComportRef: " + param_ptr + " (null)"); } return("null"); } else { return(comportRef.ShortName); //string type = comportRef.type == Behavior.BehaviorType.Normal ? "normalBehavior" : "reflexBehavior"; //return type + "[" + script.behaviorOrMacro.aiModel.GetBehaviorIndex(comportRef) + "]"; } case ScriptNode.NodeType.SoundEventRef: if (advanced) { return("SoundEventRef: " + (int)param); } return("SoundEvent.FromID(0x" + ((int)param).ToString("X8") + ")"); case ScriptNode.NodeType.ObjectTableRef: if (advanced) { return("ObjectTableRef: " + param_ptr); } if (ts.useHashIdentifiers) { string objectListJson = ObjectList.FromOffset(param_ptr).ToJSON(); string objectListHash = HashUtils.MD5Hash(objectListJson); return("ObjectList.FromHash(\"" + objectListHash + "\")"); } return("ObjectTable.FromOffset(\"" + param_ptr + "\")"); case ScriptNode.NodeType.GameMaterialRef: if (advanced) { return("GameMaterialRef: " + param_ptr); } if (ts.useHashIdentifiers) { string gmtJson = GameMaterial.FromOffset(param_ptr).ToJSON(); string gmtHash = HashUtils.MD5Hash(gmtJson); return("GameMaterial.FromHash(\"" + gmtHash + "\")"); } return("GameMaterial.FromOffset(\"" + param_ptr + "\")"); case ScriptNode.NodeType.ParticleGenerator: return("ParticleGenerator: " + "0x" + (param).ToString("x8")); case ScriptNode.NodeType.VisualMaterial: if (advanced) { return("VisualMaterial: " + param_ptr); } if (ts.useHashIdentifiers) { string vmtJson = VisualMaterial.FromOffset(param_ptr).ToJSON(); string vmtHash = HashUtils.MD5Hash(vmtJson); return("VisualMaterial.FromHash(\"" + vmtHash + "\")"); } return("VisualMaterial.FromOffset(\"" + param_ptr + "\")"); case ScriptNode.NodeType.ModelRef: // ModelCast if (advanced) { return("AIModel: " + param_ptr); } AIModel model = AIModel.FromOffset(param_ptr); return(model != null ? model.name : "null"); case ScriptNode.NodeType.DataType42: if (advanced) { return("EvalDataType42: " + "0x" + (param).ToString("x8")); } return("EvalDataType42(" + "0x" + (param).ToString("x8") + ")"); case ScriptNode.NodeType.CustomBits: if (advanced) { return("CustomBits: " + "0x" + (param).ToString("x8")); } if (ts.exportMode) { return("0x" + (param).ToString("x8")); } return("CustomBits(" + "0x" + (param).ToString("x8") + ")"); case ScriptNode.NodeType.Caps: if (advanced) { return("Caps: " + "0x" + (param).ToString("x8")); } if (ts.exportMode) { return("0x" + (param).ToString("x8")); } return("Caps(" + "0x" + (param).ToString("x8") + ")"); case ScriptNode.NodeType.SubRoutine: if (advanced) { return("Eval SubRoutine: " + param_ptr); } Macro macro = Macro.FromOffset(param_ptr); if (macro == null) { return("null"); } return("evalMacro(" + macro.ShortName + ");"); case ScriptNode.NodeType.Null: return("null"); case ScriptNode.NodeType.GraphRef: if (advanced) { return("Graph: " + "0x" + (param).ToString("x8")); } return("Graph.FromOffset(\"" + param_ptr + "\")"); } return("unknown"); }
public int PullKeysFromFile() { var exeData = File.ReadAllBytes(FilePath); int foundCount = 0; for (int i = 0; i < exeData.Length - 32; i++) { byte[] hash32 = HashUtils.ComputeSha256(exeData, i, 32); DurangoKeyEntry keyEntry; foreach (var kvp in DurangoKeys.GetAllXvdSigningKeys()) { string keyName = kvp.Key; keyEntry = kvp.Value; if (keyEntry.HasKeyData) { continue; } if (keyEntry.DataSize > exeData.Length - i) { continue; } byte[] signKeyHash = HashUtils.ComputeSha256(exeData, i, keyEntry.DataSize); if (!keyEntry.SHA256Hash.IsEqualTo(signKeyHash)) { continue; } Console.WriteLine($"Found {keyEntry.KeyType} \"{keyName}\" at offset 0x{i:X}"); byte[] keyData = new byte[keyEntry.DataSize]; Array.Copy(exeData, i, keyData, 0, keyData.Length); DurangoKeys.LoadSignKey(keyName, keyData, out bool newKey, out keyName); foundCount++; } foreach (var kvp in DurangoKeys.GetAllODK()) { OdkIndex keyId = kvp.Key; keyEntry = kvp.Value; if (keyEntry.HasKeyData) { continue; } if (!hash32.IsEqualTo(keyEntry.SHA256Hash)) { continue; } Console.WriteLine($"Found {keyEntry.KeyType} \"{keyId}\" at offset 0x{i:X}"); byte[] keyData = new byte[keyEntry.DataSize]; Array.Copy(exeData, i, keyData, 0, keyData.Length); DurangoKeys.LoadOdkKey(keyId, keyData, out bool newKey); foundCount++; } foreach (var kvp in DurangoKeys.GetAllCIK()) { Guid keyId = kvp.Key; keyEntry = kvp.Value; if (keyEntry.HasKeyData) { continue; } if (!hash32.IsEqualTo(keyEntry.SHA256Hash)) { continue; } Console.WriteLine($"Found {keyEntry.KeyType} \"{keyId}\" at offset 0x{i:X}"); byte[] keyData = new byte[0x10 + keyEntry.DataSize]; Array.Copy(keyId.ToByteArray(), 0, keyData, 0, 0x10); Array.Copy(exeData, i, keyData, 0x10, keyEntry.DataSize); DurangoKeys.LoadCikKeys(keyData, out Guid[] keyGuid); foundCount++; } } return(foundCount); }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.AbilityName, ref lastHash); HashUtils.ContentHashOnto(this.AbilityNameSub, ref lastHash); if (this.ChargeMissleAmount != null) { foreach (int num in this.ChargeMissleAmount) { HashUtils.ContentHashOnto(num, ref lastHash); } } if (base.ChargeLoopDurations != null) { foreach (float num3 in base.ChargeLoopDurations) { HashUtils.ContentHashOnto(num3, ref lastHash); } } if (base.ChargeTimeRatio != null) { HashUtils.ContentHashOnto(base.ChargeTimeRatio.isDynamic, ref lastHash); HashUtils.ContentHashOnto(base.ChargeTimeRatio.fixedValue, ref lastHash); HashUtils.ContentHashOnto(base.ChargeTimeRatio.dynamicKey, ref lastHash); } HashUtils.ContentHashOnto(base.AllowHoldLockDirection, ref lastHash); HashUtils.ContentHashOnto(base.SkillButtonID, ref lastHash); HashUtils.ContentHashOnto(base.NextLoopTriggerID, ref lastHash); HashUtils.ContentHashOnto(base.AfterSkillTriggerID, ref lastHash); if (base.BeforeSkillIDs != null) { foreach (string str in base.BeforeSkillIDs) { HashUtils.ContentHashOnto(str, ref lastHash); } } if (base.ChargeLoopSkillIDs != null) { foreach (string str2 in base.ChargeLoopSkillIDs) { HashUtils.ContentHashOnto(str2, ref lastHash); } } if (base.AfterSkillIDs != null) { foreach (string str3 in base.AfterSkillIDs) { HashUtils.ContentHashOnto(str3, ref lastHash); } } if (base.TransientSkillIDs != null) { foreach (string str4 in base.TransientSkillIDs) { HashUtils.ContentHashOnto(str4, ref lastHash); } } if (base.ChargeSubTargetAmount != null) { foreach (int num9 in base.ChargeSubTargetAmount) { HashUtils.ContentHashOnto(num9, ref lastHash); } } HashUtils.ContentHashOnto(base.SubTargetModifierName, ref lastHash); HashUtils.ContentHashOnto(base.ChargeTimeRatioAIKey, ref lastHash); if (base.ChargeLoopEffects != null) { foreach (MixinEffect effect in base.ChargeLoopEffects) { HashUtils.ContentHashOnto(effect.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(effect.AudioPattern, ref lastHash); } } if (base.ChargeSwitchEffects != null) { foreach (MixinEffect effect2 in base.ChargeSwitchEffects) { HashUtils.ContentHashOnto(effect2.EffectPattern, ref lastHash); HashUtils.ContentHashOnto(effect2.AudioPattern, ref lastHash); } } if (base.ChargeLoopAudioPatterns != null) { foreach (string str5 in base.ChargeLoopAudioPatterns) { HashUtils.ContentHashOnto(str5, ref lastHash); } } if (base.ChargeSwitchAudioPatterns != null) { foreach (string str6 in base.ChargeSwitchAudioPatterns) { HashUtils.ContentHashOnto(str6, ref lastHash); } } HashUtils.ContentHashOnto(base.ImmediatelyDetachLoopEffect, ref lastHash); HashUtils.ContentHashOnto(base.ChargeSwitchWindow, ref lastHash); HashUtils.ContentHashOnto(base.DisallowReleaseButtonInBS, ref lastHash); }
public void ObjectContentHashOnto(ref int lastHash) { HashUtils.ContentHashOnto(this.Param, ref lastHash); }
public Config GetConfig(string name, ConfigType cfgType) { CheckValidity(); return(GetConfig(HashUtils.GetFNV(name), cfgType)); }
public override int GetHashCode() => HashUtils.Combine(Text, HashUtils.Combine(Start, EndIncludingLineBreak));
/* * public static uint GetUIntRep(string name) * { * uint result = 0; * byte i = 0; * foreach (char c in name) * { * result |= (((uint) c) << (8 * i)); * i++; * } * return result; * } * * * public static void PrintUIntChars(uint enc) * { * for (int i = 0; i < 4; i++) * { * char c = (char) ((0x000000ff) & (enc >> (i * 8))); * Console.Write("{0}", c); * } * Console.Write("\n"); * } */ public static int Main(string[] args) { TestBench testBench = new TestBench(); Container container = testBench.LoadAndTrackContainer(new List <string>(args), out List <Level> levels); /* * string tstFX = "com_sfx_ord_flame"; * var fxConfig = container.FindConfig(ConfigType.Effect, tstFX); * * Field lEmitter = fxConfig.GetField("ParticleEmitter"); * * * Console.WriteLine("Num particles: {0}", (int) lEmitter.scope.GetField("MaxParticles").GetVec2().Y); * * Field lTransformer = lEmitter.scope.GetField("Transformer"); * Field lSpawner = lEmitter.scope.GetField("Spawner"); * * if (lTransformer == null) * { * Console.WriteLine("Transformer is null!"); //return 0; * } * * if (lSpawner == null) * { * Console.WriteLine("Spawner is null!"); //return 0; * } * * Console.WriteLine("Start size: {0}", lSpawner.scope.GetField("Size").GetVec3().Z); * //Console.WriteLine("Lifetime: {0}", lTransformer.GetChildConfig("Position").GetFloat("LifeTime")); * * //return 1; */ Level level = levels[0]; if (level == null) { return(-1); } World[] worlds = level.GetWrappers <World>(); foreach (World world in worlds) { Console.WriteLine("\nWorld: {0}", world.name); //Test for crash... Config skydome = container.FindConfig(ConfigType.Skydome, world.skydomeName); if (skydome != null) { Console.WriteLine("Skydome: {0} (0x{1:x})", world.skydomeName, HashUtils.GetFNV(world.name)); Field domeInfo = skydome.GetField("DomeInfo"); if (domeInfo != null) { List <Field> domeModelConfigs = domeInfo.scope.GetFields("DomeModel"); foreach (Field domeModelConfig in domeModelConfigs) { string geometryName = domeModelConfig.scope.GetField("Geometry").GetString(); Console.WriteLine(" Dome geometry: " + geometryName); } } } Config lighting = level.GetConfig(world.name, ConfigType.Lighting); if (lighting == null) { continue; } Console.WriteLine("Lighting: "); uint lightHash = HashUtils.GetFNV("Light"); List <Field> lights = lighting.GetFields(lightHash); Console.WriteLine("\n Lights: "); int i = 0; foreach (Field light in lights) { Console.WriteLine("\n\tName: " + light.GetString()); Console.WriteLine("\tColor: " + light.scope.GetField("Color").GetVec3().ToString()); Console.WriteLine("\tType: " + light.scope.GetField("Type").GetFloat().ToString()); } Field globalLighting = lighting.GetField("GlobalLights"); if (globalLighting == null) { continue; } Console.WriteLine("\n Global lighting config: "); Console.WriteLine("\tLight 1: " + globalLighting.scope.GetField("Light1").GetString()); Console.WriteLine("\tLight 2: " + globalLighting.scope.GetField("Light2").GetString()); Console.WriteLine("\tTop Ambient Color: " + globalLighting.scope.GetField("Top").GetVec3().ToString()); Console.WriteLine("\tBottom Ambient Color: " + globalLighting.scope.GetField("Bottom").GetVec3().ToString()); } List <Config> effects = level.GetConfigs(ConfigType.Effect); Console.WriteLine("\nEffects: "); foreach (Config effect in effects) { Console.WriteLine(" Effect name hash: 0x{0:x}", effect.name); //Console.WriteLine("\tEmitter name: {0}", (effect.IsPropertySet("ParticleEmitter") ? effect.GetString("ParticleEmitter") : "No emitter set!")); } List <Config> paths = level.GetConfigs(ConfigType.Path); Console.WriteLine("\nPath configs: "); foreach (Config path in paths) { Console.WriteLine(" Path config: 0x{0:x}", path.name); int i = 0; List <Field> pathNames = path.GetFields("Path"); foreach (Field pathName in pathNames) { Console.WriteLine("\tPath {0} has {1} nodes.", pathName.GetString(), pathName.scope.GetField("Node").GetFloat()); } } container.Delete(); return(1); }
public string GetNonKeyHash(HashAlgorithm hashAlgorithm) { return(HashUtils.ComputeAggregationHash(hashAlgorithm, this.Value, this.AnotherValue, this.LastChangeTime)); }