Skip to content

Releases: BigBang1112/gbx-net

GBX.NET 0.15.0

23 Feb 18:24
adce1a4
Compare
Choose a tag to compare

Full Changelog: v0.14.3...v0.15.0

GBX.NET 0.15.0-rc2

19 Feb 15:48
51bb187
Compare
Choose a tag to compare
GBX.NET 0.15.0-rc2 Pre-release
Pre-release

GBX.NET 0.15.0-rc

01 Feb 21:23
b936973
Compare
Choose a tag to compare
GBX.NET 0.15.0-rc Pre-release
Pre-release

Too many changes to write down, see #37.

GBX.NET 0.14.3

19 Dec 22:17
68edbc5
Compare
Choose a tag to compare
  • Temporarily ignore data about free blocks (the project is not too far to figure these out finally)
  • Removed AbsolutePositionInMap and PitchYawRoll from CGameCtnBlock
  • Removed PlaceFreeBlock() from CGameCtnChallenge
  • Made IsFree unsettable
  • Byte3/Int2/Int3/Vec2/Vec3/Vec4's ToString() is formatted into <x, y, z> instead of (x, y, z)
  • Discover() method wont work on ignored chunk
  • Added weird Id parsing methods
  • Added deconstructors to Byte3, Int2, Int3, Vec2, Vec3, Vec4, Quaternion and Ident

GBX.NET 0.14.2

12 Dec 01:28
5fcccf3
Compare
Choose a tag to compare
  • Experimentally removed a check of AvailableInheritanceClasses when parsing chunks to solve an issue related to CGameCtnMediaBlockTimeSpeed, also speeding up the parsing by a little bit
  • Fixed a bug when writing compressed body after parsing only a header with readRawBody: true
  • Fixed GameBoxReader.ReadUntilNextChunk()

GBX.NET 0.14.1

03 Dec 03:55
d627d3d
Compare
Choose a tag to compare
  • Added readRawBody parameter to GameBox.ParseHeader and GameBox.ParseNodeHeader allowing to modify header values without reading the full GBX file
    • In this mode, changing the compression type is forbidden and HeaderOnlyParseLimitationException can be thrown by set;
  • Changed X, Y, ScaleX and ScaleY in CControlEffectSimi to Position and Scale by using Vec2
  • Added Centered(), WithColorBlendMode(), ContinousEffect() and Interpolated() methods to CControlEffectSimi builders
  • Replaced File.OpenWrite() with File.Create()
  • Updated defaults for CGameCtnMediaBlockSoundBuilder
  • GameBoxReader.ReadToEnd() now prefers non-seeking solution by default
  • Split some generic classes into files with OfT.cs suffix
  • Fixed CGameCtnMediaBlockTextBuilder not applying the color
  • Fixed Chunk.Remap() fatal bugs related to downgrading (down-mapping)
    • More GBX files should be now saveable in TMU and lower versions
  • Fixed GameBox.TryNode()

GBX.NET 0.14.0

27 Nov 05:09
7a12408
Compare
Choose a tag to compare
  • Library support has been shifted up to .NET 6. Support for .NET Framework 4.5 was dropped and replaced with .NET Framework 4.8. It is still possible for the framework support to be widened in the future.
  • Added 5 new node builders
    • CGameCtnMediaClip.Create()
    • CGameCtnMediaTrack.Create()
    • CGameCtnMediaBlockText.Create()
    • CGameCtnMediaBlockSound.Create()
    • CControlEffectSimi.Create()
  • Added some ghost sample data findings to CPlugEntRecordData by TheMrMiku and the TMDojo team
  • Expanded CGamePlayerProfile (Profile.Gbx)
  • Added CGameNetOnlineMessage
  • Added CGameLeague
  • Added support for CGameCtnMediaBlockTimeSpeed and CGameCtnMediaBlockCameraOrbital
  • Added GameBox.Decompress() static method that turns a GBX file into an uncompressed version while still being compatible with the game
    • GBX Decompressor tool is available in the Tools folder
  • Reduced overloads across the whole project more towards default parameters
  • Returning values of ParseNode and ParseNodeHeader are now marked as nullable (they can be null if the node is not recognized by the library)
  • All GameBoxReaderWriter methods now won't change the returned value to its written default after writing
  • All CMwNod.Parse() methods are now internal
  • Enhanced documentation across GameBoxReader, GameBoxWriter, GameBoxReaderWriter, but it still isn't complete because it takes ages xd
  • Generalogies in CGameCtnChallenge are back
  • Chunk's ToString now includes the version of the chunk
  • Added NodeCacheManager.GetNodeInstance()
  • Added GameBoxReader.ReadBytesUntilNextChunk()
  • Added GameBoxReaderWriter.Uri()
  • Lists reads/writes have been rewritten more towards iteration behavior
  • Time-related methods in GameBoxReaderWriter are now preferring truncating over rounding
  • Added AppliedWithChunkAttribute that will be used later in the updates to improve the reference/documentation of chunks availabilities across different Trackmania versions
  • Moved attributes to GBX.NET.Attributes and exceptions to GBX.NET.Exceptions
  • GameBox constructor is no longer exposed to guide the beginners towards static methods
  • Formatter has been replaced with the one from TmEssentials
  • CGameCtnBlock.AbsolutePositionInMap is now a nullable property
  • Ghost sample data now expose full data buffers instead of only showing the unknown buffers
  • CGameCtnGhost.SampleData will be null if its node ID is -1
  • Fixed LZO methods not being statically defined
  • Fixed bugs related to GameBoxReaderWriter.EnumInt32(), possibly fixing the camera game bug
  • Fixed the Y block coordinate on ManiaPlanet maps
  • Fixed CGameCtnGhost chunk 0x015 modifying the PlayerModel property even though it shouldn't
  • Code now fully uses file-scoped namespaces and implicit usings

The library has also started to add hundreds of unit and integration tests and this process is expected to expand on for the next years.

GBX.NET 0.13.0

26 Oct 18:29
429d785
Compare
Choose a tag to compare
  • Use TmEssentials library
  • Use C# 9 (C# 10 soon)
  • Use nullable reference types
  • Add more summaries
  • Add specialized exceptions
  • Improved parse speed of map blocks
  • Parse methods should not return null (this case might still exist) but throw exceptions
  • Replace Task<CGameCtnChallenge> Challenge with CGameCtnChallenge Challenge and GetChallengeAsync
  • Replace Task<CGameCtnGenealogy> Genealogies to CGameCtnGenealogy Genealogies
  • Fixed CGameCtnMediaBlockCameraEffectScript chunk version 0
  • Fixed reading of CGameCtnMediaBlockFxBlurDepth
  • Added some Plug engine progress
  • Fixed exception on item's and block's property Color
  • Fixed exception caused by ManiaPlanet 3 metadata chunk
  • Preparing new debugging methods, currently only available in Debug configuration
  • Remove public constructors from nodes (alternative solution coming in 0.14)

GBX.NET 0.12.0

26 Aug 19:17
956710e
Compare
Choose a tag to compare
  • Added PAK3 file parsing
  • Fixed reference table writing
  • Decreased the whole parse time by almost 3 times

GBX.NET 0.11.0

25 Jun 22:45
ff0b51f
Compare
Choose a tag to compare
  • Added new GameBox.ParseNode methods, the new conventional way to parse GBX with GBX.NET
  • Node has been transferred to CMwNod
  • First parse of GBX has been sped by more than 60%
  • All MediaTracker block Key[] have been changed to IList<Key>
  • Added CMwNod.Save method to simplify GBX saving
  • Added support for TM2020 block colors
  • Added IVersionable to group versionable chunks
  • Added IsValidatedForScriptModes to CGameCtnChallengeParameters
  • Added more samples and updated current samples
  • Added Byte(int) to reader-writer
  • Added CGameCtnReplayRecord.GetGhosts
  • Fixed map metadata parse
  • Fixed replay ghost validation chunk writing
  • Fixed ghost checkpoints to be nullable
  • Removed more obsoletes

Renames:

  • Renamed GameBox<T>.MainNode to GameBox<T>.Node