Skip to content

Releases: BigBang1112/gbx-net

GBX.NET 2.1.1

22 Jan 23:51
21b8d88
Compare
Choose a tag to compare
  • Added support for Shader.Gbx, CtrlCam.Gbx, CtrlCamTarget.Gbx, CtrlCamOrbital3d.Gbx, CtrlCamTmRace.Gbx, CtrlCamTmRace2.Gbx, CtrlCamTmRace3.Gbx, DecoSolid.Gbx, TrackManiaVehicle.Gbx, TMVehicle.Gbx/ConstructionVehicle.Gbx, VehicleStruct.Gbx, FuncClouds.Gbx, FuncShader.Gbx, AmbientOcc.Gbx, ParticleModel.Gbx (only TMUF), Scene3d.Gbx (only TMUF), and RefBuffer.Gbx.
  • Added support for reading external nodes directly inside Pak files
    • GbxRefTable ExternalData is now ExternalNodes
  • Fixed header chunks for CGameCtnCollection and CGameCtnDecoration
  • Recognized many member names from various classes (mostly TMUF, but some TMS too)
  • Named some TMUnlimiter classes
  • Fixed many classes for TMUF Pak export

GBX.NET.PAK 2.1.0

  • Added v6+ support for unencrypted parts (decryption coming soon!)
    • Pak6 class inherits Pak, but Pak.Parse can recognize the version. To view Pak v6 specifics, gotta cast to Pak6 class.
  • Added possibility to not pass the key to read the unencrypted parts
  • OpenGbxFile now fills GbxRefTable.ExternalNodes when importExternalNodesFromRefTable=true

Gbx Explorer (yo updates to Explorer?)

  • Chunk IDs in Value Explorer are no longer masked to the last 3 digits
  • Hovering over class grouping shows the namespace of the class
  • Fixed some CSS on unknown class names

Assets were automatically generated using the publish workflow.

GBX.NET 2.1.0

31 Dec 20:01
f99e4ab
Compare
Choose a tag to compare
  • Added experimental Gbx text format support (it hasn't been tested for a long time, please let me know about any issues)
  • Added DataUInt32, binary scope, and other internal things to help with text format Gbx files
  • Added lightmap UV support to CPlugCrystal
  • Added color palette support (TM2020)
  • Added EncryptionInitializer to GbxReadSettings for handling ivXor tricks in Pak files
  • Implemented CPlugDecoratorSolid
  • Improved Normal and Color support for CPlugVisual3D
  • Filled CPlugVehicleCarPhyTuning with many new member names (by @GreffMASTER )
  • Changed all generated IList to List, which provides better options for optimizatoin
  • Changed CPlugTree.Flags from int to ulong
  • CGameCtnBlock Variant and SubVariant are no longer nullable
  • Moved CGamePodiumInfo to Game namespace
  • Various block info read/write improvements for TM2 Gbxs
  • CMwNod.IsGameVersion is now virtual to specify concrete game version cases manually
    • CGameCtnGhost can now distinguish MP4 from TM2020 with this function
  • Extended CGameCtnZone with TM2 features
  • Fixed map embedding reporting missing items (even when they were embedded)
  • Fixed consistency issues with CGameCtnChallenge NbLaps
  • Fixed CGameCtnChallenge AuthorLogin being set to empty string accidentally
  • Fixed CGameCtnBlockInfoVariant Mobils property not being public
  • Fixed CPlugParticleEmitterSubModel for TMUF
  • Fixed CGameBlockItem ArchetypeBlockInfoCollectionId issues with numeric collections - failing to modify custom blocks from TM2020
  • Added normals support to ObjExporter CPlugSolid
  • Various ObjExporter fixes related to LOD
  • Various chunk fixes and improvements
  • Updated to .NET 9 (.NET 8/6 and Standard 2 is still kept)

Various updates to other sub-libraries due to .NET 9 update.

New package GBX.NET.PAK!

Assets were automatically generated using the publish workflow.

GBX.NET 1.2.9

07 Nov 18:18
0f65355
Compare
Choose a tag to compare
  • Fixed constraint of map item chunk version being 8 instead of 9

GBX.NET 1.2.8

07 Nov 18:01
fe0c2ba
Compare
Choose a tag to compare
  • Fixed map item chunk of Fall 2024 update

GBX.NET 2.0.9

01 Oct 15:36
39a49ce
Compare
Choose a tag to compare
  • Added Gbx.IsCompressed and Gbx.IsUncompressed (throws on non-Gbx data)
  • Fixed map item chunk read/write as Nadeo might have changed it a little

Tool framework:

  • Refactored tool execution to be possible to generate compile-time in the future
    • Warning can now be eliminated with methods suffixed with Statically
  • Added stdin support

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.8

29 Sep 15:01
e9e1512
Compare
Choose a tag to compare

An update released earlier before the Platform update to reduce chaos with UOTD and Envimix bots.

  • CPlugCrystal: Added LightLayer
  • CPlugCrystal: Added message for unsupported layers
  • CPlugCrystal: Fixed Materials.Count == 0 being handled incorrectly
  • CGameCtnChallenge: Added item chunk version 8 support (leak from TOTD map made in alpha)
  • CGameCtnChallenge: Linked MapType and MapStyle with ChallengeParameters
  • CGameCtnChallenge: Fixed no lightmap frames writing compressed data
  • CGameCtnBlockInfo: Added SpawnLocAir and SpawnLocGround
  • CPlugMaterialUserInst: Changed types of SurfacePhysicId and SurfaceGameplayId
  • CGameGhost: Fixed chunk 0x003 (very old TM games)
  • CPlugShader: Implemented missing 0x01F chunk
  • Added CPlugVisualQuads
  • Fixed optimized ints when the length is exactly 255 or 65535
  • Fixed face writing in ObjExporter

Tool framework

  • Added IComplexConfig to avoid loading the whole complex configuration into memory on each tool instance
  • Added more YML features

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.7

16 Aug 01:32
20e5b94
Compare
Choose a tag to compare
  • Added CPlugSolid2Model.ExportToObj()
  • Added missing DefaultZone to CGameCtnCollection
  • Added missing CGameUserFileList from v1
  • Added CPlugWeatherModel/CMotionManagerWeathers support
  • Added missing IGbx interface members
  • Added concrete exception for text format Gbxs
  • Added GetValidFileName(), InvalidFileNameChars, and InvalidFileNameCharSearchValues to GbxPath
  • Implemented CFuncKeysSkel 0x001
  • Implemented missing CGameCtnGhost.Checkpoint ToString from v1
  • Made CGameCtnReplayRecord.InterfaceScriptInfos nullable (fixes JSON serialization)
  • Changed CPlugSurface.SurfMaterial.SurfaceId from short to CPlugSurface.MaterialId?
  • Fixed CPlugTree all children methods to properly handle mips
  • Fixed CPlugMaterial for TMF
  • Fixed CPlugCrystal.SpawnPositionLayer being wrongly de/serialized
  • Fixed various serialization problems (often meshes and metadata) when values were between 255-65534
  • Fixed some class IDs not being mapped properly

New package GBX.NET.Crypto!

GBX.NET.Tool.CLI 0.2.0:

  • Added YML support
  • Added HidePath to ConsoleSettings
  • Added JsonOptions to ToolConsoleOptions
  • Renamed JsonSerializerContext to JsonContext in ToolConsoleOptions
  • Enhanced logging

GBX.NET.LZO 2.1.1:

  • Made Lzo.Compress thread-safe due to unknown parallel issues

Assets were automatically generated using the publish workflow.

GBX.NET 1.2.7

12 Aug 22:48
d75f477
Compare
Choose a tag to compare
  • Fixed CGameCtnMediaBlockCameraCustom of Summer 2024 update

GBX.NET 2.0.6

23 Jul 20:20
7e75c7b
Compare
Choose a tag to compare
  • Enhanced CGameCtnBlock properties (by @tomek0055)
    • Unassigned1 blocks have been discovered as decal properties of the previous block: DecalId, DecalIntensity, DecalVariant
    • Added IsPillar and IsReplacement
    • Added PhyCharSpecialProperty (class CScenePhyCharSpecialProperty)
    • Added SquareCardEventIds
    • Some CGameCtnChallenge method signatures have been updated to address the change (breaking change)
    • HasFlags and Bit17 are now obsolete
  • Added full CPlugPrefab support
  • Added CPlugDynaObjectModel support (moving items in TM2020)
  • Block's X and Z coordinates are now subtracted by 1 in TM2 and TM2020 maps (breaking change)
  • Reworked CPlugTreeVisualMip (breaking change)
    • IDictionary<float, CPlugTree> Levels is now IList<CPlugTreeVisualMip.Level>
    • Level has float FarZ and CPlugTree Tree
  • Enabled lightmap support properly in CGameCtnChallenge
  • Added new read setting SafeSkippableChunks
    • Reads skippable chunks more expensively (similarly to GBX.NET 1) while allowing to ignore skippable chunk data
    • Saving Gbx files with these errors can lead to unpredictable issues
  • Added exceptions = true to external node properties
  • Updated GetChallenge methods in CGameCtnReplayRecord with asyncs and parse configuration
  • Implemented some missing CPlugMaterial and CPlugShader chunks from v1
  • Added CGameCtnChallenge.GenerateMapUid()
  • Added Color.ToRgba()
  • Gbx.Compress now attempts to recompress, which can result in better or worse compression
  • Gbx.Compress and Gbx.Decompress no longer return bool (breaking change)
  • Removed Gbx.Recompress to reduce confusion (breaking change)
  • Fixed Gbx.Compress incorrectly copying over
  • Fixed map metadata writing string lengths to write byte lengths instead of character lengths
  • Fixed CPlugSolid 0x000 version 15-28 not being properly written
  • Fixed CPlugVehicleCarPhyTuning for ManiaPlanet
  • Fixed CGameCtnCollection for ManiaPlanet
  • Attempts to fix CPlugSurface for TM2020
  • Updated TmEssentials to 2.5.0
  • Updated some attributes

GBX.NET.LZO 2.1.0 now uses native LZO implementation with 999 compression by default. This compression has been tested on all Trackmania games with success.

GBX.NET.Imaging.SkiaSharp 1.1.0:

  • Added ImportIcon to CGameCtnCollector extensions
  • Fixed incorrect colors on WebAssembly build

GBX.NET.NewtonsoftJson 1.0.1:

  • Added static GbxJson class and trimming annotations

New package GBX.NET.Imaging.ImageSharp, GBX.NET.Tool and GBX.NET.Tool.CLI!

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.6-beta3

20 Jul 00:03
5cdf7d1
Compare
Choose a tag to compare
GBX.NET 2.0.6-beta3 Pre-release
Pre-release

#118

Assets were automatically generated using the publish workflow.