public sealed class HeightmapPngTargetA sixteen-bit greyscale PNG, decoded as a heightmap.
Remarks
The only target here whose input is a file somebody was handed. A bundle and a chunk are written by the content build and read by the runtime; a heightmap arrives from World Machine, Gaea or Photoshop, or from a download, and is dropped on an importer by a person who has no way to know what is in it. Every chunk length in it is a 32-bit number that decides a slice, and its IHDR is eight bytes that decide how large two buffers are.
⚠ ArgumentException is the refusal and nothing else is. The importer above this catches exactly that to report a bad file, so an OverflowException from a dimension nobody bounded and an EndOfStreamException from a truncated deflate stream are not refusals — they are an importer crash with somebody's terrain in it, and they are what this target is here to keep out.
Fields and properties (2)
public string NameWhat to call it on a command line and in a report.
public string WhatWhich receive path this is, in one line.
Methods (3)
public long AllowanceFor(int inputLength)How many bytes an input may cause to be allocated.
public void Seed(ICollection<byte[]> corpus)Adds well-formed inputs for the mutator to start from.
public long Run(ReadOnlySpan<byte> input)Pushes one input through the decoder.
Used by (1)
- FuzzTargetsVixen.Fuzz