private List <string> GetMethodOptions(RenderMethodDefinition rmdf, int methodIndex, GameCache cache) { var result = new List <string>(); var method = rmdf.Methods[methodIndex]; foreach (var option in method.ShaderOptions) { result.Add(cache.StringTable.GetString(option.Type)); } return(result); }
private List <string> GetRenderMethodDefinitionMethods(RenderMethodDefinition rmdf, GameCache cache) { var result = new List <string>(); foreach (var method in rmdf.Methods) { var str = cache.StringTable.GetString(method.Type); result.Add(str); } return(result); }
public static void FixRenderMethodDefinition(RenderMethodDefinition definition) { for (var i = definition.DrawModes.Count - 1; i >= 0; i--) { var mode = definition.DrawModes[i]; if (mode.Mode == 2 || mode.Mode == 10 || mode.Mode == 11 || mode.Mode == 12) { definition.DrawModes.RemoveAt(i); } else if (mode.Mode > 12) { mode.Mode -= 4; } else if (mode.Mode > 2) { mode.Mode -= 1; } } }