; v2.1.1
* Increase the maximum number of flexed vertices to 511451.
* New qc command: $FileBufferSize; default is 8mb. if your model has very much detail, or very much animation, a larger file buffer will be needed. Increase its size appropriately to prevent compilation failures, and the compiler will also take more memory.
; v2.1.0
* glTF&Assimp: fix wrong end frame causing compilation failure
* Fix the bug that $CmdList can't be parsed
; v2.0.5
* Increase the maximum number of vertices in a single source file to 51w (511451), beyond which it will be split automatically.
: make sure $NoDecal is turned on in vmt, or make sure the number of vertices in each source file does not exceed 65536.
* Fix a bug that prevented compilation.
; v2.0.4
* New $Animation option: AppendScale
* Fix a bug in glTF reading
; v2.0.3
* New command: $NoFastGltf
* Fix some bugs
; v2.0.2
* Fixed inability to correctly parse filenames without extensions.
* Using caching to improve loading speed of 'innode' options.
* glTF and Assimp: fix the animation used by default when ‘pick’ is not used.
; v2.0.1
* Fix 'InNode' error.
; v2.0
* glTF support for animation, default up axis changed to Y, support for node transforms。
* Throw away the FBX sdk.
* Use Assimp model loading library, supports over 40 formats including FBX, PMX, VRM. Support for Animation/SceneNode/Mesh/MorphTarget.
: https://github.com/assimp/assimp/blob/master/doc/Fileformats.md
* New qc command: $FPS, sets the default animation frame rate and the animation sampling rate for glTF or Assimp.
* New source file parameters: 'InNode', 'SampleRate', 'Pick'. Ability to load part of the meshs or one of multiple animations in a single file. Only support glTF&Assimp(FBX..).
* More details in the NewCommands.qci file.
* $UpAxis added parameters: 'glTF', 'Assimp'
* DMX: Does not display an error when a vertex has too many influenced bones.
; v1.4.1
* New commands: $JiggleBoneRealign, $ReverseJiggleBoneRotation.
* Use meshoptimizer instead of forsyth to optimize vertex caching, nvtristrip is no longer recommended.
; v1.4.0
* Upgrading to 64-bit.
* The program is completely independent and no longer depends on the external vphysics.dll.
* Floating point numbers support scientific notation.
* Fixed the problem that after using $PushD, the source file with the absolute path could not be read normally.
* $IF macro support || operator.
; v1.3.3
* Fix $NekoDriverBone not supporting bones with “.” bone names
* Fix not recognizing source files with uppercase suffixes in qc.
; v1.3.2
* Adjust the maximum number of materials to 128。
* Use UTF8 encoding.
; v1.3.1
* Fix a bug in $DefineVariable.
* Fix a bug in $EndIF.
; v1.3.0
* The $if command supports '==' and '!=' expressions.
* Fixed unused bones not collapsing.
; v1.2.0
* When the obj model cannot find the material texture, use the material name instead of "debugempty".
obj model $Scale support.
* Enter standalone mode when the command line parameter does not include "-game".
* Added qc commands: $if,$ifdef,$elif,$eldef,$else,$endif,$UndefineVariable,$Msg.
* Supports defining variables through command line parameters, usage: [-D<variable_name> <value>]
; v1.1.0
* Added fbx animation support.
; v1.0.3
* Added "debris" as a valid option for $Contents.
; v1.0.2
* Fixed: Will not collapse bones with vertex weights.
* Changed: Bones that have only been used by $Attachment will not collapse.
; v1.0.1
* Changed: Do not collapse bones with no vertex weights used by $Attachments and $Bonemerge.
; v1.0
* Added: $NekoModel flex related parameters for FBX and DMX support. The usage can be found in the example qc.
* Added: Fallback to use FBXSDK to parse fbx files, upgrade sdk version to 2020.3.2.
* Added: Use the libraries required for static linking, no more dlls. note that when compiling models with $CollisionJoints, need to load vphysics.dll in the game directory.
* Added: Does not compare sequence differences with the mdl file to be overwritten. This can be turned on with the command line parameter [-checksequenceorder].
* Added: Hot reloading hlmv without checking if the title bar is the same as $ModelName.
; v0.9.4
* Fixed: When the driver bone of $NekoDriverBone is the parent of a procedural bone, the angle calculation of the procedural bone is incorrect.
* Added: New command line parameter: "[-reloadhlmv]", which will hot-reload HLMV after successful compilation.
; v0.9.3
* Added: New command line parameter "[-blender <path>]", tells the compiler the directory where the Blender executable is located.
* Changed: Call Blender to convert FBX to glTF. FBX now has the same functions as glTF. No longer dependent on fbxsdk.
; v0.9.2
* Added command line parameter [-maxbones <number>] to set the maximum number of bones in the compiled model
; v0.9.0 ~ v0.9.1
* Changed: Modify the file buffer size in other places, now the entire model can have up to 1 million triangles.
* Fixed: When automatically splitting a model with too high number of vertices, the split part will become an empty model.
* Added: support for glTF unskinned meshes.
* Fixed: glTF does not support $lod command.
; v0.8.0
* Changed: Increase the buffer size for writing files to prevent high-polygon models from causing memory overflow and crashes.
* Changed: New icon
; v0.7.0
* Added: $NekoModel supports eyeball and eyelid options
* Changed: The maximum number of cmds for animation is 128
* Added: gltf mesh $scale support
* Added: Apply $scale and animation parameter scale when reading animation parameter "forceboneposrot"
* Added: $scale support for dmxeyelid, eyelid, eyeball
; v0.6.2
* Fixed: Parameter "-outdir" does not support relative paths
; v0.6.1
* Added: command line parameters "-modelname"&"-outdir"
* Added: glb morph targer(shape key) support
; v0.6.0
* Added: support gltf morph targer, glb not supported yet
* Added: new qc command "$NekoModel", support gltf using flex
* Changed: $hbox does not write information about the capsule
* Fixed: "noautodmxrules" causes error report
* Changed: $NekoDriverBone logic, supported bone collapse
; v0.5.1
* Fixed: "$NekoDriverBone" position calculation error
* Fixed: When loading mdl in the game, the console reported an error that Keyvalues was missing "{"
; v0.5.0
* Added: "$forcecapsules", the compiler will skip processing this command to prevent errors.
* Added: ".gltf" & ".glb" format support, flex or animation are not supported yet.
The blender process uses the glb format the fastest. The following is a simple test:
(136908 triangular face, divided into four parts, no flex)
Export: glb 12.2s | dmx 65.8s | smd 55.7s
Compile: glb 1.15s | dmx 1.73s | smd 17.72s
; v0.4.1
* Adjusted: Maximum "$Animation" is 4096
; v0.4.0
* Changed: parameter "-usenvtristrip" changed to "-nvtristrip"
* Fixed: $Keyvalues error reported in the console when loading mdl in the game
* Added: new qc command "$NekoDriverBone"
; v0.3.1
* Added: FBX format support (need to add a line of code "$prefer_fbx" to QC before use)
* Added: Use Forsyth's model optimization algorithm (faster) instead of the default Nvidia algorithm (the parameter -usenvtristrip uses the old algorithm, slower)
* Changed: The program uses 32-bit and turns on large memory support to ensure compatibility
* Fixed: Unable to compile collision mesh
* Changed: compatible with model 15 dmx (please use model 18 for new dmx export)
* Adjusted: maximum Sequences is 2048
* Adjusted: Lower the maximum material limit to 64 to save memory
* Fixed: some bugs
* Changed: the message printed by the console
* Changed: the compilation time is printed when the compilation is completed
* Changed: the information starting with "CDynamicFunction:" is not printed
* Fixed: Automatic splitting of meshes with an excess number of vertices causing compilation failure
; v0.2-dev
* Adjusted: Bone weight culling lower than 5% is reduced to 0.01%
* Adjusted: Maximum vertices is 655360
* Adjusted: Maximum faces is 218,453
* Adjusted: Maximum materials is 128
* Adjusted: Maximum bones is 129
|