Releases: BigBang1112/gbx-net
GBX.NET 0.3.0
This one took way too long, but it's out either way!
Tons of changes, major ones:
- CGameCtnBlockInfoClassic (EDClassic.Gbx) parsing added
- Introduced embed reading in CGameCtnChallenge
- Merged Block.cs with CGameCtnBlock.cs
- Added RaceValidateGhost to CGameCtnChallengeParameters
- Added more implicit operators to data types used in GBX
- Added a new Collection class to distinguish types of collection storage in Meta.
- Slightly simplified header access (full system will be coming soon)
- Improved node debug views using DebuggerTypeProxy
- Enhanced the documentation
GBX.NET 0.2.1
This release mainly fixes a major issue with reading Items from maps.
- Remove
body
parameter fromNode.Parse<T>()
- Fixed
null
errors related to chunks - Fixed header writing with no user data
- Experimental error avoidance of reading node reference
- Fixed thumbnail write if
Thumbnail
isnull
- Custom exception if the node is missing
GBX.NET 0.2.0
A big step closer to 1.0.0!
- Now compatible with .NET Standard 2.0
- Improved Node parsing algorithm, mainly by eliminating dynamic declaration while reading
- Up to 35% improvement in reading speed!
- No requirement to have an inherited constructor
- Improved GBX header parsing, small boost in there as well
- Added
CCtnMediaBlockEventTrackMania
, tracking stunt timestamps from TMS, lovely node that got deprecated in TMUF - Widen
CGameCtnReplayRecord
support - Avoided
CGameCtnMediaBlockTriangles
andCGameCtnMediaBlockFxColors
crash when reading TMUF maps- Proper read not supported yet
- Enhanced data types
- Changed
Vector2
andVector3
to new structsVec2
andVec3
- Moved body chunks from
GameBoxBody
toNode
for consistency with aux nodes - Added
ReadToEnd()
,ReadStringTillFacade()
andReadArrayTillFacade()
- Renamed ChunkList to ChunkSet
Includes a release GBX.NET.Json 0.1.1 which very simply just downgrades the required framework to .NET Standard 2.0.
You can also test the Island Converter port to .NET Framework 4.6.1 by cloning the project.
GBX.NET 0.1.0
This release rewrites the entire system of chunk data storing. Now available on NuGet. This release still works under .NET Standard 2.1.
- Added
GameBox.Parse
to simplify the GBX parsing.GameBox.Load()
is now obsolete. - Introduced a chunk system of
HeaderChunk<T> : SkippableChunk<T> : Chunk<T> : Chunk
- Necessary rework to make the simplest possible chunk read/write mechanism - method arguing the specific node class
SkippableChunk<T>
additionally implementsISkippableChunk
andHeaderChunk<T>
implementsIHeaderChunk
for simplified non-type specific actions
- Header chunks are not part of the
Node
properties anymore (obsoletes weren't included so if you have worked with the library already, you may experience errors)- At the moment, you have to read them through
GameBoxHeader
- At the moment, you have to read them through
- Added wider expand of chunk management
- Added a new class
ChunkList
for easier list management - Added
ReadBytes()
andReadArray<T>()
which read the number of elements first - Added
ReadTill(uint)
andReadTillFacade()
which read bytes until hitting the number, or0xFACADE01
- Modernized the
ChunkAttribute
- Added tons of MediaTracker blocks:
- CGameCtnMediaBlockVehicleLight
- CGameCtnMediaBlock3dStereo
- CGameCtnMediaBlockBloomHdr
- CGameCtnMediaBlockTime
- ... many more ...
- Expanded
CGameCtnReplayRecord
support - Fixed
CGameCtnGhost
for TM® - Added
GhostTrigram
property toCGameCtnGhost
, available in TM® - Added
CGameCtnMediaClip
chunks0x008
and0x009
- Expanded the documentation
- Tons of minor changes
The new approach right now for the chunk reading is:
- Inherit generic
Chunk<T>
/SkippableChunk<T>
where theT
is theNode
the class is nested in - Override the Read/Write/ReadWrite with the
T node
included - Implement known values to the desired
Node
class and set them throughT n
- Implement unknown values in the chunk or through the
Unknown
stream, just as before - No need to implement the constructor,
Chunk
now has a parameterless constructor
A new subcomponent has been added called GBX.NET.Json:
- Library for simplified JSON serialization of GBX, useful for comparing data for example
GameBox
andNode
classes are extended by a new methodToJson()
after including
Another version 0.2.0 is gonna be coming out next week that will expand the library compatibility to .NET Standard 2.0.
GBX.NET 0.0.3
This release adds an early testing custom block reading support, includes mesh data like vertices or UV maps.
- Added Block.Gbx support (custom blocks, not macroblocks - these are already supported)
- Added special exception if you miss a ChunkAttribute
- Moved IsHeavy to SkippableChunk
This is the last update before the rewrite of the chunk data storing system. Chunk data will become stored in node classes instead of chunk classes. This will fix a lot of recent confusing issues. Also, additional features like UnknownStream (for easier viewing of unknown chunk data) or HeaderChunk inheriting SkippableChunk will be coming too.
New branch will be made called chunk-data-storing-rewrite for this mini-project. After it's done, the library is going to move to 0.1.0. Can't wait for this to happen.
Island Converter 0.3.0
This release fixes some major minor issues.
- Fixed block height in 32x32 base
- Fixed more Island blocks
- Fixed platform T and cross corners to not have holes
- Fixed Change Maps folder menu item
This version still uses GBX.NET version 0.0.2.
If you can't open the exe, you might have an outdated .NET runtime. You need .NET Core 3.1 Runtime x86: https://dotnet.microsoft.com/download
Island Converter 0.2.0
This release fixes problems with Sunrise maps and makes passworded maps convertible.
- Added map password cracking
- Fixed few seaway roads/pillars and more blocks
- Fixed a Graphics API crash if no thumbnail
- Fixed UI crash after loading a map without a thumbnail
- Attempted to fix envimix transfer
If you can't open the exe, you might have an outdated .NET runtime. You need .NET Core 3.1 Runtime x86: https://dotnet.microsoft.com/download
GBX.NET 0.0.2
This update fixes a few Sunrise map related things.
- Fixed CGameCtnChallenge 0x016 to be skippable
- Changed how CrackPassword works
GBX.NET 0.0.1
The very first release of the library and the Island Converter.
Known issues of the Island Converter:
- Clips are missing
- Several pillars are bugged
- Most of the time the top pillar part is missing
- CGameCtnMediaBlockFxColors and CGameCtnMediaBlockTriangles2D aren't readable at the moment
To use Island Converter, you only need to download IslandConverter.zip. If you can't open the exe, you might have an outdated .NET runtime. You need .NET Core 3.1 Runtime x86: https://dotnet.microsoft.com/download
Feel free to report any issues in Issues.