Skip to content

Releases: BigBang1112/gbx-net

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.

GBX.NET 2.0.6-beta2

16 Jul 23:07
82d338e
Compare
Choose a tag to compare
GBX.NET 2.0.6-beta2 Pre-release
Pre-release

#118

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.6-beta1

16 Jul 03:08
5f9e2a7
Compare
Choose a tag to compare
GBX.NET 2.0.6-beta1 Pre-release
Pre-release

#118

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.5

01 Jul 15:38
739a32c
Compare
Choose a tag to compare
  • Added ExportToObj to CPlugCrystal and CPlugSolid
  • Added CPlugTree.GetAllChildrenWithLocation() (don't mind the weird naming)
  • Added CSceneSoundSource.SoundSource
  • Added missing IVersionable on CGameCtnChallenge 0x040 chunk
  • Added Gbx<T>(T node) constructor - easier and safe way to make typed Gbx other than CMwNod.ToGbx()
  • Renamed CPlugTree Translation to Location (breaking change, better late than never)
  • Implemented some CGameCtnChallenge chunks
  • Implemented more guard clauses
  • Fixed CGameCtnMediaBlockCameraCustom of Summer 2024 update
  • Fixed write issue with analog input values in TM2 and older games
  • Fixed MediaTracker not being written properly in CGameCtnMacroBlockInfo
  • Fixed some read/write issues of CPlugSurfaceGeom
  • Fixed various null issues
  • Fixed various Gbx Explorer issues

New package!

  • GBX.NET.NewtonsoftJson 1.0.0
    • Current replacement of GBX.NET.Json, properly working now
    • Upcoming GBX.NET.Json v2 will use System.Text.Json
    • You can dump any Gbx or CMwNod type with ToJson, explore everything in JSON, and maybe even compare changes.

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.4

12 Jun 16:16
87b316c
Compare
Choose a tag to compare
  • Added ScriptMetadata to CGameWaypointSpecialProperty
  • Added CGameItemModel.ItemGroupElements
  • Added more description to CPlugCrystal
  • Added CPlugSolid2Model 0x000 header chunk
  • Added classes related to leaves in TMUF
  • Improved CSceneObjectLink (TMUF triggers can be easily linked now)
  • Published hidden CPlugSolid2Model properties
  • Fixed SBadge read/write for TMTurbo ghosts
  • Fixed Blocks for TMUnlimiter 2

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.3

31 May 15:15
1fe5ecd
Compare
Choose a tag to compare
  • Added partial Action.Gbx support with a bunch of classes with it
    • It is not yet complete, make sure to use IgnoreExceptionsInBody for now
  • Added CGameCtnBlockInfoRectAsym
  • Added UpgradeIconToWebP to GBX.NET.Imaging.SkiaSharp
  • CPlugTree: Added includeVisualMipLevels = false to GetAllChildren
  • CGameCtnChallenge: Fixed AuthorLogin not being linked to MapInfo
  • CGameCtnChallenge: Fixed macroblock instances when all objects of it are removed
  • CPlugTree: Fixed GetAllChildren not working properly
  • Published CollectionManager.Collections
  • Updated some attributes

Gbx Explorer:

  • Added Gbx Explorer support for v2
  • Enabled IgnoreExceptionsInBody by default (node will return with partial data if Gbx body fails)
  • Some features were stripped off, let me know if they are important to you
  • Server supports OpenTelemetry Protocol

Breaking changes:

  • CGameCtnCollector 0x009 Version has been removed
  • CGameCtnChallenge TMObjective_IsLapRace and IsLapRace have been merged to IsLapRace
  • CGameCtnChallenge TMObjective_NbLaps and NbLaps have been merged to NbLaps (could cause inexact behavior, report to me in case)

Assets were automatically generated using the publish workflow.

GBX.NET 2.0.3-beta1

30 May 21:54
c49df66
Compare
Choose a tag to compare
GBX.NET 2.0.3-beta1 Pre-release
Pre-release

Assets were automatically generated using the publish workflow.