Releases: smlu/Urgon
v0.11.0
Changes
libim
- Refactored
IndexMapto make it generic associative container - Added
Tablealias for case-sensitive string-keyedIndexMap - Added
UniqueTablealias for case-insensitive string-keyedIndexMap - Refactored code to use
Table&UniqueTable - Fixed CND material section parsing to properly handle multiple entries with the same filename in mixed-cases.
This fix preserve correct indices to texture file.
gobext
- Changed
--output-dirto not append<gob-file>_GOBfolder to provided user path
cndtool
Updated to use the latest libim, which resolves previous issues in converting level 09_olv.cnd to NDY format
where multiple entries of olv_Wall_Facade_B.mat were ignored, causing some level surfaces to have incorrect textures.
Other Changes
- Updated
libpngto version 1.6.50 - Updated
zlibto version 1.3.1
SHA256 Checksums
- Windows x86-64: 597ee9f1092074f2d882dddbab2d276053d29f86b064bd42569a8e758d25ab73
- Linux x86-64: 4f0e3c52e825d0526b5573c2ed166bc5d181e45e40e49e9e80bfed2bc9f44f17
v0.10.1
Changes
libim
- Fixed parsing NDY param
lightIntensityas RGB
cndtool
- As result of libim bug fix the RGB head light is fixed when converting NDY to CND.
SHA256 Checksums
- Linux x86-64: 41c6f59ee104c3c573bdfa722d18ef7049914bb9d79af4bb9b3e69905c52c994
- Windows x86-64: a241be464cdd59824ddb9ad8c72ebe9de11f1c37ef4be5e3b2640eaa2e6ea06b
v0.10
Changes
Added support for C++20.
LibIM now supports parsing and writing CND & NDY file formats.
CNDTool now supports converting CND level file to NDY level format and vice versa.
libim
- Fixed major bugs
- Implemented parsing of NDY sections: TEMPLATES, THINGS, PVS
- Refactored class
Soundbankto support writing to load sound (WAV & WV) to sound track, and exporting track to stream. - Implemented writing CND section sounds
- Fixed writing CND sections: TEMPLATES & THINGS
- Fixed writing empty vector and byte array to stream
- Refactored
IndexMapto support case insensitive string key comparisons & store string keys asstd::string_view - Added
bystes_viewas alias forstd::span<const byte_t> - Added new type traits
- Added
AbstractVectormember functions for serializing vector to/from string.
cndtool
- Added new sub-command "convert cnd" which converts NDY level file to CND level file. See cndtool's docs.
- Updated
exportcommand to support exporting of templates and soundbank from CND file - Fixed major bugs.
- Added support for batch mode to commands:
export,convert cnd&convert ndy.
These commands can now accept either path to the single file or path to folder with multiple required files.
matool
- Fixed conversion bug where new stride size was not calculated when converting to different color format.
- Fixed minor bugs.
See more changes in v0.10.0-rc1: https://github.com/smlu/Urgon/releases/tag/v0.10-rc1
Full Changelog: v0.9.0...v0.10.0
SHA256 Checksums
- Linux x86-64: 924d1f85fcaefa32c20f0c9c94fd9e1bcc33b5b700afd4b5e0e097d672777b29
- Windows x86-64: bf52f2fbccd7c438ed5821ea500f83fc0e8b54bb1283c716413f357f3ba3e11b
v0.10-rc1
Changes
cndtool
- Added new sub-command "convert ndy" which converts CND level file to NDY level file.
- Updated sub-command "convert obj" to use and extract materials from jones3dstatic.cnd.
Generated obj file is now compatible with Blender 2.80+. See this tutorial. - Fixed minor bugs.
matool
- Fixed conversion bug where new stride size was not calculated when converting to different color format.
- Fixed minor bugs.
Full Changelog: v0.9.0...v0.10-rc1
SHA256 Checksums
- Linux x86-64: ea9c61fa76e9d3b82d3206798d9d7c6535e337fc80c81ec0cc65e9bb4f499236
- Windows x86-64: 7b1079e0e5cc21bcb61158e0636c1913cba4f8e24518b9d13a2e88602e45f2bc
v0.9.0
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.

(The Meroe Pyramids level imported into Blender) - Added option
--mat-pngto command extract which extracts images from extractedmatfiles 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 functionflushand fixed functionclose. 3cc0ac35
Fixed truncating file on Linux systems. 85de7ac4 - Added function
remainingto classInputStream.
Function returns how many bytes remain to read. 1bf824e9 - Added new global function
isDirPathand fixed global functionsfileExistsanddirExists. fa7f7965 - Renamed member
texIdxtouvIdxfor structsVertexIdxandCndSurfaceVerts. f846a0af - Fixed dangling reference bug in
TextResourceReader::readListwhen reading sized list. 969c04af - Added new member functions
readNumericArrayandwriteNumericArrayto classes
TextResourceReaderandTextResourceWriter. 027680fe, 211d314c - Added global functions
min,maxandclamp. 114f54d7 - Added new member functions
size,tellandremainingto classTokenizer. 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
ColorandColorRgbto represent non-linear (gamma space) 8-bit/component RGB and RGBA color. - Added classes
LinearColorandLinearColorRGB(exColor&ColorRgb) to represent linear space 32-bit/component color. - Added conversion between linear and non-linear color.
- Added class
TextureView. Textureclass represents now mipmap pyramid image and can now generate new mipmap pyramid chain.Texturecolor format can now be changed viaconvertandconvertedmember functions.Texturecan now be resized viascaleandscaledmember 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
v0.6.6
Changes
-
[cndtool] Extract sounds from CND file in IndyWV format by default f0cf1c
-
[cndtool] Fix patching CND file with new materials dd1728
-
Remove
cndextcommand line tool
SHA256 Checksums
- Linux x86-64: 4a05cc5255232ddcc691c5ce358cee4667343265e201bcc2c66f22833cbc6dec
- Windows x86: 98258cc1c78e88d330f3f28b7e97b95cb4a77c892290d3bc5147a60129abfc2b
- Windows x86-64: b143fd821d61648fe082a81d1340a933e70fb08bcd1a7c717dd5b805343940c4
v0.3.2
Changes
-
Add
cndtoolcommand line tool which can extract sounds (.wav), animations (.key) and materials (.mat) from compact level files (.cnd). Tool can also import new material and animation files into cnd level file or replace existing. -
Deprecate
cndextcommand line tool
SHA256 Checksums
- Linux x86-64: a0ac8be0eb01cdff9ac3823c8e9c9929c93c69e1b7570e1dd1ad2a261f52902d
- Windows x86: 63323f438ceeed6d98b134d54c4dc519cc613f2802bffeeb4854e4d43787773f
- Windows x86-64: 3725fee79dfcc66bbd1f6343657f866ff405a7768a108e666cff8b672aeb60e0