public string GetParameter(int index, string s) { var b = ulong.TryParse(s, out var t); if (!b) { return(s); } //maybe t is common param? if (t > 0x00FFFFFFFFFFFFFF) { return(Common.GetParam(t)); } if (!Parameters.ContainsKey(index)) { return(s); } return(Parameters[index] switch { Parameter.None => s, Parameter.FaceKeyRegister => Common.GetFaceKey(t), Parameter.FloatRegister => "fp" + s, Parameter.GameKeyCode => Common.GetGameKey(t), Parameter.KeyCode => Common.GetKey(t), Parameter.Position => "pos" + s, Parameter.String => "s" + s, Parameter.InventorySlot => Common.GetInventorySlot(t), Parameter.Tooltip => Common.GetTooltip(t), Parameter.Color => Common.GetColor(t), Parameter.TextFlags => Common.DecompileTextFlags((uint)t), Parameter.Alpha => Common.GetAlpha(t), Parameter.MenuFlags => Menus.DecompileFlags(t), Parameter.TroopFlags => Troops.DecompileFlags((uint)t), Parameter.WeaponProficiency => Common.GetWeaponProficiency(t), Parameter.CharacterAttribute => Common.GetCharacterAttribute(t), Parameter.PartyFlags => Parties.DecompileFlags((uint)t), Parameter.AiBehavior => Parties.GetAiBehavior(t), Parameter.ItemProperty => Items.DecompileFlags(t), Parameter.ItemCapability => Items.DecompileCapabilities(t), Parameter.TroopIdentifier => Common.GetCommonIdentifier("trp", Common.Troops, t), Parameter.ItemIdentifier => Common.GetCommonIdentifier("itm", Common.Items, t), Parameter.PartyIdentifier => Common.GetCommonIdentifier("p", Common.Parties, t), Parameter.AnimationIdentifier => Common.GetCommonIdentifier("anim", Common.Animations, t), Parameter.ScenePropIdentifier => Common.GetCommonIdentifier("spr", Common.SceneProps, t), Parameter.SceneIdentifier => Common.GetCommonIdentifier("scn", Common.Scenes, t), Parameter.FactionIdentifier => Common.GetCommonIdentifier("fac", Common.Factions, t), Parameter.TableauMaterialIdentifier => Common.GetCommonIdentifier("tableau", Common.Tableaus, t), Parameter.QuestIdentifier => Common.GetCommonIdentifier("qst", Common.Factions, t), Parameter.PartyTemplateIdentifier => Common.GetCommonIdentifier("pt", Common.Factions, t), Parameter.InfoPageIdentifier => Common.GetCommonIdentifier("ip", Common.InfoPages, t), Parameter.SkillIdentifier => Common.GetCommonIdentifier("skl", Common.Skills, t), Parameter.MapIconIdentifier => Common.GetCommonIdentifier("icon", Common.MapIcons, t), Parameter.MeshIdentifier => Common.GetCommonIdentifier("mesh", Common.Meshes, t), Parameter.ItemType => Items.DecompileType(t), Parameter.SoundIdentifier => Common.GetCommonIdentifier("snd", Common.Sounds, t), Parameter.SoundFlags => Sounds.DecompileFlags((uint)t), Parameter.ScriptIdentifier => Common.GetCommonIdentifier("script", Common.Procedures, t), Parameter.ParticleSystemIdentifier => Common.GetCommonIdentifier("psys", Common.ParticleSystems, t), Parameter.AttributeIdentifier => Troops.DecompileCharacterAttribute((uint)t), Parameter.ItemModifier => Items.DecompileModifier((uint)t), Parameter.MenuIdentifier => Common.GetCommonIdentifier("mnu", Common.Menus, t), Parameter.PresentationIdentifier => Common.GetCommonIdentifier("prsnt", Common.Presentations, t), Parameter.TrackIdentifier => Common.GetCommonIdentifier("track", Common.Music, t), Parameter.MusicFlags => Music.DecompileFlags((uint)t), Parameter.EquipmentOverrideFlags => MissionTemplates.DecompileAlterFlags((uint)t), Parameter.MissionTemplateIdentifier => Common.GetCommonIdentifier("mt", Common.MissionTemplates, t), Parameter.SceneFlags => Scenes.DecompileFlags((uint)t), Parameter.SortMode => Common.DecompileSortMode(t), Parameter.SkinIdentifier => Common.GetCommonIdentifier("tf_", Common.Skins, t), _ => s, });