Skip to content

Releases: BigBang1112/gbx-net

GBX.NET 0.3.0

13 Oct 18:09
571b372
Compare
Choose a tag to compare

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

19 Sep 22:19
7f8ac5e
Compare
Choose a tag to compare

This release mainly fixes a major issue with reading Items from maps.

  • Remove body parameter from Node.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 is null
  • Custom exception if the node is missing

GBX.NET 0.2.0

19 Sep 17:30
b0123ae
Compare
Choose a tag to compare

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 and CGameCtnMediaBlockFxColors crash when reading TMUF maps
    • Proper read not supported yet
  • Enhanced data types
  • Changed Vector2 and Vector3 to new structs Vec2 and Vec3
  • Moved body chunks from GameBoxBody to Node for consistency with aux nodes
  • Added ReadToEnd(), ReadStringTillFacade() and ReadArrayTillFacade()
  • 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

12 Sep 13:49
ddf9959
Compare
Choose a tag to compare

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 implements ISkippableChunk and HeaderChunk<T> implements IHeaderChunk 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
  • Added wider expand of chunk management
  • Added a new class ChunkList for easier list management
  • Added ReadBytes() and ReadArray<T>() which read the number of elements first
  • Added ReadTill(uint) and ReadTillFacade() which read bytes until hitting the number, or 0xFACADE01
  • Modernized the ChunkAttribute
  • Added tons of MediaTracker blocks:
    • CGameCtnMediaBlockVehicleLight
    • CGameCtnMediaBlock3dStereo
    • CGameCtnMediaBlockBloomHdr
    • CGameCtnMediaBlockTime
    • ... many more ...
  • Expanded CGameCtnReplayRecord support
  • Fixed CGameCtnGhost for TM®
  • Added GhostTrigram property to CGameCtnGhost, available in TM®
  • Added CGameCtnMediaClip chunks 0x008 and 0x009
  • Expanded the documentation
  • Tons of minor changes

The new approach right now for the chunk reading is:

  • Inherit generic Chunk<T>/SkippableChunk<T> where the T is the Node 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 through T 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 and Node classes are extended by a new method ToJson() 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

31 Aug 22:03
3497cf0
Compare
Choose a tag to compare

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

30 Aug 12:32
7124900
Compare
Choose a tag to compare

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

27 Aug 13:18
04b7ee4
Compare
Choose a tag to compare

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

27 Aug 13:10
04b7ee4
Compare
Choose a tag to compare

This update fixes a few Sunrise map related things.

  • Fixed CGameCtnChallenge 0x016 to be skippable
  • Changed how CrackPassword works

GBX.NET 0.0.1

26 Aug 10:02
e2ad10a
Compare
Choose a tag to compare

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.