Skip to content

v0.9.0

Compare
Choose a tag to compare
@smlu smlu released this 08 Sep 00:13
· 208 commits to develop since this release

Changes

cndtool

  • Added new command "convert obj" that converts level geometry resources (level vertices and UV vertices) to Wavefront .obj file.
    See tutorial how to import obj level into Blender here.
    Meroe Pyramids opened in Blender
    (The Meroe Pyramids level imported into Blender)
  • Added option --mat-png to command extract which extracts images from extracted mat files in PNG file format.
  • Refactored command options
  • Fixed bugs

matool - A new command-line tool for creating and modifying texture .mat files.
See README.

libim

  • Added parse functions for parsing CND sections: Templates, Things and PVS. a54b0f58, 47d3cd7e
    The CND file structure is now fully parsed.
  • Added and renamed Surface, Thing and PhysicsInfo flags. 7a8e07c0, c2ef2bed, df5998f8
  • Refactored and fixed class FileStream.
    Added new member function flush and fixed function close. 3cc0ac35
    Fixed truncating file on Linux systems. 85de7ac4
  • Added function remaining to class InputStream.
    Function returns how many bytes remain to read. 1bf824e9
  • Added new global function isDirPath and fixed global functions fileExists and dirExists. fa7f7965
  • Renamed member texIdx to uvIdx for structs VertexIdx and CndSurfaceVerts. f846a0af
  • Fixed dangling reference bug in TextResourceReader::readList when reading sized list. 969c04af
  • Added new member functions readNumericArray and writeNumericArray to classes
    TextResourceReader and TextResourceWriter. 027680fe, 211d314c
  • Added global functions min, max and clamp. 114f54d7
  • Added new member functions size, tell and remaining to class Tokenizer. c6f71fdd
  • Added new type traits and reformat existing type traits. af5774b8
  • Refactored classes and structs ColorFormat, Texture, Material. f4a72763
    • Removed type alias Mipmap.
    • Refactored class Material which is represented now as a container of celluloid textures.
    • Refactored classes Color and ColorRgb to represent non-linear (gamma space) 8-bit/component RGB and RGBA color.
    • Added classes LinearColor and LinearColorRGB (ex Color & ColorRgb) to represent linear space 32-bit/component color.
    • Added conversion between linear and non-linear color.
    • Added class TextureView.
    • Texture class represents now mipmap pyramid image and can now generate new mipmap pyramid chain.
    • Texture color format can now be changed via convert and converted member functions.
    • Texture can now be resized via scale and scaled member functions.
    • Added utility global functions pngWriteTexture, pngReadTexture, bmpWriteTexture, bmpReadTexture
      for reading/writing top texture image at LOD 0 to file in BMP/PNG format.

For building from scratch see main repository.

SHA256 Checksums

  • Windows x86-64: 13cc07f51955f629c96f1a3f7923201adfe62f954a0426855cfac9441be7be89
  • Linux x86-64: 1a8a11ab598543fea83e4f634b3e9e52a8d23713faf0b35694874c54bbe966eb