public IOpsCommand RemapCommand(OpsParsedStatement statement) { OpsParsedArgument fileArg = statement.FindArgument("filename"); if (fileArg == null) { fileArg = statement.FindArgument(""); if (fileArg == null) { throw OpsException.ArgRequired("filename"); } } string filename = fileArg.Value; string extension = System.IO.Path.GetExtension(filename); if (extension == null || extension[0] == '\0') { throw new OpsException("Cannot find an appropriate loader for file: " + filename); } if (extension[0] == '.') { extension = extension.TrimStart(new char[] { '.' }); } return(Program.CommandLibrary.GetCommand("Load" + extension)); }
public ShadeArgs(OpsParsedStatement statement) { foreach (OpsParsedArgument arg in statement.Args) { if (string.Compare(arg.Name, "Shader", true) == 0) { Shader = arg.Value; } else if (string.Compare(arg.Name, "filename", true) == 0) { File = arg.Value; } else if (string.Compare(arg.Name, "", true) == 0) { File = arg.Value; } else if (string.Compare(arg.Name, "Src", true) == 0) { } //do nothing...this is just to make sure we don't make it a parameter for the psh else { Constants.Add(arg); } } if (File == null) { throw OpsException.ArgRequired("filename"); } }
public NewTex2dArgs(OpsParsedStatement statement) { OpsParsedArgument nameArg = statement.FindArgument("dst"); if (nameArg == null) { nameArg = statement.FindArgument(""); if (nameArg == null) { throw OpsException.ArgRequired("dst"); } } Name = nameArg.Value; OpsParsedArgument formatArg = statement.FindArgument("Format"); if (formatArg == null) { throw OpsException.ArgRequired("format"); } this.Format = OpsFormatHelper.FindByFormat(formatArg.Value).Format; OpsParsedArgument widthArg = statement.FindArgument("Width"); if (widthArg == null) { throw OpsException.ArgRequired("width"); } Width = int.Parse(widthArg.Value); OpsParsedArgument heightArg = statement.FindArgument("Height"); if (heightArg == null) { throw OpsException.ArgRequired("height"); } Height = int.Parse(heightArg.Value); if (Width > 4096 || Height > 4096) { throw new OpsException("Dimensions must not exceed 4k"); } OpsParsedArgument mipsArg = statement.FindArgument("Mips"); if (mipsArg != null) { Mips = int.Parse(mipsArg.Value); } OpsParsedArgument srcArg = statement.FindArgument("Src"); Src = (srcArg == null) ? null : srcArg.Value; }
//IOpsCommand public object ParseArguments(OpsParsedStatement statement) { OpsParsedArgument pathArg = statement.FindArgument("filename"); if(pathArg == null) { pathArg = statement.FindArgument(""); if(pathArg == null) throw OpsException.ArgRequired("filename"); } return pathArg.Value; }
public TexFormatArgs(OpsParsedStatement statement) { OpsParsedArgument formatArg = statement.FindArgument("format"); if (formatArg == null) { formatArg = statement.FindArgument(""); if (formatArg == null) { throw OpsException.ArgRequired("format"); } } this.Format = OpsFormatHelper.FindByFormat(formatArg.Value).Format; }
public FlattenArguments(OpsParsedStatement statement) { OpsParsedArgument newModelArg = statement.FindArgument("dst"); if (newModelArg == null) { newModelArg = statement.FindArgument(""); if (newModelArg == null) { throw OpsException.ArgRequired("dst"); } } NewModel = newModelArg.Value; }
public UnloadArguments(OpsParsedStatement statement) { OpsParsedArgument srcArg = statement.FindArgument("src"); if (srcArg == null) { srcArg = statement.FindArgument(""); if (srcArg == null) { throw OpsException.ArgRequired("src"); } } Src = srcArg.Value; OpsParsedArgument filterArg = statement.FindArgument("Type"); if (filterArg != null) { if (0 == string.Compare(filterArg.Value, "Texture", true)) { Type = ContentType.TEXTURES; } else if (0 == string.Compare(filterArg.Value, "Textures", true)) { Type = ContentType.TEXTURES; } else if (0 == string.Compare(filterArg.Value, "Model", true)) { Type = ContentType.MODELS; } else if (0 == string.Compare(filterArg.Value, "Models", true)) { Type = ContentType.MODELS; } else if (0 == string.Compare(filterArg.Value, "Both", true)) { Type = ContentType.GENERIC; } else { throw new OpsException("Type Argument is invalid. Value must be (Textures|Models|Both)."); } } }
public TexSaverArgs(OpsParsedStatement statement) { OpsParsedArgument fileArg = statement.FindArgument("filename"); if (fileArg == null) { fileArg = statement.FindArgument(""); if (fileArg == null) { throw OpsException.ArgRequired("filename"); } } this.Path = fileArg.Value; string extension = System.IO.Path.GetExtension(Path); extension = extension.TrimStart(new char[] { '.' }); this.Format = (ImageFileFormat)Enum.Parse(typeof(ImageFileFormat), extension, true); }
public SavexArguments(OpsParsedStatement statement) { OpsParsedArgument fileArg = statement.FindArgument("filename"); if (fileArg == null) { fileArg = statement.FindArgument(""); if (fileArg == null) { throw OpsException.ArgRequired("filename"); } } Filename = fileArg.Value; if (!Path.IsPathRooted(Filename)) { Filename = Path.Combine(Directory.GetCurrentDirectory(), Filename); } OpsParsedArgument argX = statement.FindArgument("XFileType"); if (argX != null) { if (0 == String.Compare(argX.Value, "text", true)) { saveType = XFileFormat.Text; } else if (0 == String.Compare(argX.Value, "binary", true)) { saveType = XFileFormat.Binary; } else if (0 == String.Compare(argX.Value, "compressed", true)) { saveType = XFileFormat.Compressed; } else { throw new OpsException("Unrecognized XFile argument value. Use (text|binary|compressed)"); } } }
public DelVDataArguments(OpsParsedStatement statement) { OpsParsedArgument usageArg = statement.FindArgument("usage"); if (usageArg == null) { usageArg = statement.FindArgument(""); if (usageArg == null) { throw OpsException.ArgRequired("usage"); } } usage = MeshDeclarationHelper.DecodeUsage(usageArg.Value); OpsParsedArgument usageIdxArg = statement.FindArgument("usageIdx"); if (usageIdxArg != null) { hasSrcUsageIdx = true; usageIdx = int.Parse(usageIdxArg.Value); } }
public TexLoaderArgs(OpsParsedStatement statement) { OpsParsedArgument pathArg = statement.FindArgument("filename"); if (pathArg == null) { pathArg = statement.FindArgument(""); if (pathArg == null) { throw OpsException.ArgRequired("filename"); } } Path = pathArg.Value; OpsParsedArgument srgbArg = statement.FindArgument("srgb"); if (srgbArg != null) { SRGB = bool.Parse(srgbArg.Value); } }
public CloneVDataArguments(OpsParsedStatement statement) { OpsParsedArgument usageArg = statement.FindArgument("usage"); if (usageArg == null) { usageArg = statement.FindArgument(""); if (usageArg == null) { throw OpsException.ArgRequired("usage"); } } srcUsage = MeshDeclarationHelper.DecodeUsage(usageArg.Value); OpsParsedArgument usageIdxArg = statement.FindArgument("usageIdx"); if (usageIdxArg != null) { srcUsageIdx = int.Parse(usageIdxArg.Value); hasSrcUsageIdx = true; } OpsParsedArgument dstUsageArg = statement.FindArgument("newusage"); if (dstUsageArg != null) { dstUsage = MeshDeclarationHelper.DecodeUsage(dstUsageArg.Value); } OpsParsedArgument dstUsageIdxArg = statement.FindArgument("newusageIdx"); if (dstUsageIdxArg != null) { dstUsageIdx = int.Parse(dstUsageIdxArg.Value); hasDstUsageIdx = true; } }
public Splice2dArgs(OpsParsedStatement statement) { OpsParsedArgument dstArg = statement.FindArgument("dst"); if (dstArg == null) { dstArg = statement.FindArgument(""); if (dstArg == null) { throw OpsException.ArgRequired("dst"); } } Dst = dstArg.Value; OpsParsedArgument volumeArg = statement.FindArgument("Volume"); if (volumeArg != null) { Volume = int.Parse(volumeArg.Value); } OpsParsedArgument faceArg = statement.FindArgument("Face"); if (faceArg != null) { if (0 == string.Compare(faceArg.Value, "+x", true)) { Face = CubeMapFace.PositiveX; } else if (0 == string.Compare(faceArg.Value, "+y", true)) { Face = CubeMapFace.PositiveY; } else if (0 == string.Compare(faceArg.Value, "+z", true)) { Face = CubeMapFace.PositiveZ; } else if (0 == string.Compare(faceArg.Value, "-x", true)) { Face = CubeMapFace.NegativeX; } else if (0 == string.Compare(faceArg.Value, "-y", true)) { Face = CubeMapFace.NegativeY; } else if (0 == string.Compare(faceArg.Value, "-z", true)) { Face = CubeMapFace.NegativeZ; } else { throw new OpsException("Face Argument was not recognized. must be '[+-][xyz]'"); } } OpsParsedArgument mipsArg = statement.FindArgument("mipmap"); if (mipsArg != null) { Mips = int.Parse(mipsArg.Value); } }
public NewTexCubeArgs(OpsParsedStatement statement) { OpsParsedArgument nameArg = statement.FindArgument("dst"); if (nameArg == null) { nameArg = statement.FindArgument(""); if (nameArg == null) { throw OpsException.ArgRequired("dst"); } } Name = nameArg.Value; OpsParsedArgument formatArg = statement.FindArgument("Format"); if (formatArg == null) { throw OpsException.ArgRequired("format"); } this.Format = OpsFormatHelper.FindByFormat(formatArg.Value).Format; OpsParsedArgument sizeArg = statement.FindArgument("Size"); if (sizeArg == null) { throw OpsException.ArgRequired("size"); } Size = int.Parse(sizeArg.Value); if (Size > 4096) { throw new OpsException("Dimensions must not exceed 4k"); } OpsParsedArgument mipsArg = statement.FindArgument("Mips"); if (mipsArg != null) { Mips = int.Parse(mipsArg.Value); } OpsParsedArgument srcxpArg = statement.FindArgument("SrcXP"); SrcXP = (srcxpArg == null) ? null : srcxpArg.Value; OpsParsedArgument srcxmArg = statement.FindArgument("SrcXM"); SrcXM = (srcxmArg == null) ? null : srcxmArg.Value; OpsParsedArgument srcypArg = statement.FindArgument("SrcYP"); SrcYP = (srcypArg == null) ? null : srcypArg.Value; OpsParsedArgument srcymArg = statement.FindArgument("SrcYM"); SrcYM = (srcymArg == null) ? null : srcymArg.Value; OpsParsedArgument srczpArg = statement.FindArgument("SrcZP"); SrcZP = (srcypArg == null) ? null : srczpArg.Value; OpsParsedArgument srczmArg = statement.FindArgument("SrcZM"); SrcZM = (srczmArg == null) ? null : srczmArg.Value; }