void InterpretFlags(KSoft.Collections.BitVector32 flags) { if (flags.Test(GvarAssemblerFlags.ClearTitleUpdateData)) { mClearTitleUpdateData = true; } if (flags.Test(GvarAssemblerFlags.ClearWeaponTuning)) { mClearWeaponTuning = true; } if (flags.Test(GvarAssemblerFlags.AddAllTeams)) { // #TODO_MGLO: } if (flags.Test(GvarAssemblerFlags.ReadOperationNamesOnly)) { EnumFlags.Add(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.UseConditionTypeNames | MegaloModel.MegaloScriptModelTagElementStreamFlags.UseActionTypeNames); } }
void InterpretFlags(KSoft.Collections.BitVector32 flags) { bool using_op_names = false; if (flags.Test(GvarDisassemblerFlags.WriteOperationNamesOnly)) { EnumFlags.Add(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.UseConditionTypeNames | MegaloModel.MegaloScriptModelTagElementStreamFlags.UseActionTypeNames); EnumFlags.Remove(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.WriteConditionTypeNames | MegaloModel.MegaloScriptModelTagElementStreamFlags.WriteActionTypeNames); using_op_names = true; } if (flags.Test(GvarDisassemblerFlags.WriteOperationParameterNames)) { EnumFlags.Add(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.WriteParamNames); } if (flags.Test(GvarDisassemblerFlags.WriteOperationParameterContexts)) { EnumFlags.Add(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.WriteParamKinds); } if (flags.Test(GvarDisassemblerFlags.TryToPort) && mGameBuildAndTarget.Build.IsWithinSameBranch(KBlam.Engine.EngineRegistry.EngineBranchHaloReach)) { if (using_op_names) { Debug.Trace.MgloGui.TraceInformation("Ignoring TryToPort since you have me writing operation names"); } else { EnumFlags.Add(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.TryToPort); } } if (flags.Test(GvarDisassemblerFlags.DoNotWriteEnumOrIndexNames)) { EnumFlags.Remove(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.UseEnumNames | MegaloModel.MegaloScriptModelTagElementStreamFlags.UseIndexNames); } if (flags.Test(GvarDisassemblerFlags.WriteWithObjectIds)) { EnumFlags.Remove(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.EmbedObjectsWriteSansIds); } if (flags.Test(GvarDisassemblerFlags.DoNotEmbedObjects)) { EnumFlags.Remove(ref mModelStreamFlags, MegaloModel.MegaloScriptModelTagElementStreamFlags.EmbedObjects | MegaloModel.MegaloScriptModelTagElementStreamFlags.EmbedObjectsWriteSansIds); } if (flags.Test(GvarDisassemblerFlags.AlwaysWriteDefaultData)) { mIgnoreWritePredicates = true; } }