Releases: BigBang1112/gbx-net
Releases · BigBang1112/gbx-net
GBX.NET 0.15.0
- GBX.NET 0.15.0-rc by @BigBang1112 in #37
- GBX.NET 0.15.0-rc2 by @BigBang1112 in #38
- GBX.NET 0.15.0 by @BigBang1112 in #39
Full Changelog: v0.14.3...v0.15.0
GBX.NET 0.15.0-rc2
GBX.NET 0.15.0-rc
Too many changes to write down, see #37.
GBX.NET 0.14.3
- Temporarily ignore data about free blocks (the project is not too far to figure these out finally)
- Removed
AbsolutePositionInMap
andPitchYawRoll
fromCGameCtnBlock
- Removed
PlaceFreeBlock()
fromCGameCtnChallenge
- 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
- Experimentally removed a check of
AvailableInheritanceClasses
when parsing chunks to solve an issue related toCGameCtnMediaBlockTimeSpeed
, 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
- Added
readRawBody
parameter toGameBox.ParseHeader
andGameBox.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 byset;
- In this mode, changing the compression type is forbidden and
- Changed
X
,Y
,ScaleX
andScaleY
inCControlEffectSimi
toPosition
andScale
by usingVec2
- Added
Centered()
,WithColorBlendMode()
,ContinousEffect()
andInterpolated()
methods toCControlEffectSimi
builders - Replaced
File.OpenWrite()
withFile.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
- 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
andCGameCtnMediaBlockCameraOrbital
- 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
andParseNodeHeader
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 toGBX.NET.Exceptions
GameBox
constructor is no longer exposed to guide the beginners towards static methodsFormatter
has been replaced with the one fromTmEssentials
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 benull
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
chunk0x015
modifying thePlayerModel
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
- 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
withCGameCtnChallenge Challenge
andGetChallengeAsync
- Replace
Task<CGameCtnGenealogy> Genealogies
toCGameCtnGenealogy 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
- Added PAK3 file parsing
- Fixed reference table writing
- Decreased the whole parse time by almost 3 times
GBX.NET 0.11.0
- Added new
GameBox.ParseNode
methods, the new conventional way to parse GBX with GBX.NET Node
has been transferred toCMwNod
- First parse of GBX has been sped by more than 60%
- All MediaTracker block
Key[]
have been changed toIList<Key>
- Added
CMwNod.Save
method to simplify GBX saving - Added support for TM2020 block colors
- Added
IVersionable
to group versionable chunks - Added
IsValidatedForScriptModes
toCGameCtnChallengeParameters
- 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
toGameBox<T>.Node