public static bool CreateMidAirPatternInfo(ref udtPatternInfo pattern, ArgumentResources resources, udtCutByMidAirArg rules) { var pinnedRules = new PinnedObject(rules); resources.PinnedObjects.Add(pinnedRules); pattern.Type = (UInt32)udtPatternType.MidAirFrags; pattern.TypeSpecificInfo = pinnedRules.Address; return true; }
public static bool CutDemosByMidAir(ref udtParseArg parseArg, List<string> filePaths, udtCutByMidAirArg rules, CutByPatternOptions options) { var resources = new ArgumentResources(); var patterns = new udtPatternInfo[1]; if(!CreateMidAirPatternInfo(ref patterns[0], resources, rules)) { return false; } return CutDemosByPattern(resources, ref parseArg, filePaths, patterns, options); }
public static udtCutByMidAirArg CreateCutByMidAirArg(UdtConfig config) { UInt32 weaponFlags = 0; if(config.MidAirCutAllowRocket) { weaponFlags |= (UInt32)udtWeaponBits.Rocket; } if(config.MidAirCutAllowGrenade) { weaponFlags |= (UInt32)udtWeaponBits.Grenade; } if(config.MidAirCutAllowBFG) { weaponFlags |= (UInt32)udtWeaponBits.BFG; } var rules = new udtCutByMidAirArg(); rules.AllowedWeapons = weaponFlags; rules.MinDistance = (UInt32)Math.Max(0, config.MidAirCutMinDistance); rules.MinAirTimeMs = (UInt32)Math.Max(0, config.MidAirCutMinAirTimeMs); return rules; }