Skip to content

Releases: ChetSimpson/KAOSToolkit

KAOS Toolkit Milestone 1

16 Jan 22:27
Compare
Choose a tag to compare
Pre-release

Milestone 1 - Completed 2023/01/16

The release consists of initial core functionality, color conversion, pixel conversion, palette loading, and image loading. Also included is documentation for all classes, documentation for TC1014 (Tandy Color Computer 3) based image formats (CM3, HRS, MGE, RAT, and VEF), and 1,029 unit tests covering all components (676 for Core and 353 for AssetFoo).

The following components are provided in the Core library

  • KAOS specific exceptions
  • RGBA color representation.
  • Fixed Variant for common data types with built-in conversion between most supported data.
  • 2 dimensional point (vector2) and size (dimension2) representations for integral and decimal values.
  • Abstract Bitfield to provide a base interface for all named bitfield types.
  • Single Bitfield providing simple support for a single named bitfield with configurable position and size.
  • Split Bitfield providing advanced support for fields that have bitfields composed from two different locations in an integral value with configurable positions and sizes.
  • Empty Bitfield for situations where a placeholder with no size or position is required.
  • Box View providing a 2 dimensional view of sequential data (IE. std::vector and std::array) with iterator support.
  • Binary Reader for reading binary data from input streams with big and little endian support
  • Bit Stream Reader for reading individual bits from in-memory buffers.
  • Auxiliary functionality for string trimming and dynamic casting of std::unique_ptr types.

The following components are provided in the AssetFoo library

  • Color Layout representation providing information defining the size and details of red, green, blue, and alpha color components.
  • Color space providing RGB and Composite color indications.
  • Color Converter for converting colors between retro color formats and a modern RGBA representation.
  • Color map for maintaining lists of RGBA colors.
  • TC1014 specific color layout definitions.
  • TC1014 specific color converter implementation.
  • GIMP color map (palette) reader.
  • Packed Pixel Layout providing details of the position and size for various packed pixel formats.
  • Packed Pixel Converter providing facilities to convert between packed pixel formats and RGBA pixels.
  • Monochrome bitmap patterns
  • RGBA Image with support for efficient views and sub views of RGBA pixel data.
  • TC1014 image type providing common support for all TC1014 based images
  • TC1014 image reader type providing common support for image file formats common to the Tandy Color Computer 3 platform.
  • TC1014 based image implementation for CoCoMax III images that carries properties specific to the CM3 format including color animation, color cycling, and monochrome patterns.
  • TC1014 based image reader for CoCoMax III CM3 images.
  • TC1014 based image implementation for Hi-Res HRS images used by various programs on the Color Computer 3 including Davinci 3.
  • TC1014 based image reader for Hi-Res HRS images.
  • TC1014 based image implementation for ColorMax Deluxe MGE images that carries properties specific to the MGE format.
  • TC1014 based image reader ColorMax Deluxe MGE images.
  • TC1014 based image implementation for The Rat Graphics Package RAT images that carries properties specific to the MGE format.
  • TC1014 based image reader for The Rat Graphics Package RAT images.
  • TC1014 based image reader for OS-9 Level II VEF images supporting uncompressed and compressed images in 2, 4, and 16 colors.
  • PNG image reader.