Vixen
c7401864
csharp
public sealed class HeightmapPngTarget

A sixteen-bit greyscale PNG, decoded as a heightmap.

Read the guide page for this →

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 Name

    What to call it on a command line and in a report.

  • public string What

    Which 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