GBX.NET 0.10.0
Version 0.10.0 is finally out together with GBX.NET.LZO and GBX.NET.Imaging.
The library successfully drops System.Drawing.Common from its needed supports, making the library package-independent in .NET Standard 2.0.
- The library is now separated into GBX.NET and GBX.NET.LZO
- GBX.NET, GBX.NET.Imaging, and GBX.NET.Json are now distributed under MIT
- GBX.NET.LZO stays GNU GPL 3.0, which means you have to use GNU GPL 3.0 after referencing
- More details available in README
- Added support for TM2020 ghost sample data reading
CPlugEntRecordDatahas been successfully reverse-engineered- The ghost now provides the same data as a usual TM ghost (position, rotation, velocity, speed)
- Shootmania ghost samples are also retrievable, but the only position that is accurate
CSystemConfig(.SystemConfig.Gbx) is now officially supported- Added support for input reading ranging TM1.0 - TM2
- Getting TM2020 to work is likely impossible
- Added experimental
readUncompressedBodyDirectlyparameter recommended for parsing internal GBX files from the internet - Added support for reading nodes in streams with
CanSeek: false - Added map lightmap read/write support
- Methods currently missing in GBX.NET.Imaging
- Map thumbnail is now presented as a byte array
- GBX.NET.Imaging has extensions that convert them into Bitmap
- Collector icons are now presented as 2D arrays of colors
- GBX.NET.Imaging has extensions that convert them into Bitmap
- Added
INodeHeadertoCGameCtnChallengeandCGameCtnReplayRecord- An interface that shows only the properties that can be read from the header
- Added
CGameCtnMediaBlockTimeSpeed - Added
CCtnMediaBlockUiTMSimpleEvtsDisplay - Added
GameBox.TryNodemethod DiscoverAllmethod has now parallel and serial methods- Enhanced
CGamePlayerProfile GameBoxReader.ReadArraymethod now has an optionallengthparameter- Fixed ghost parse for TM Turbo
- Fixed ghost checkpoints for TMUF and lower ghosts
- Fixed light trail color for TM2 not showing
- Fixed BakedBlocks property not discovering its chunks
- Fixed name collisions with reference table classes
- Removed more obsoletes
- Class reorganizations
- Tons of more minor changes
Renames:
- Renamed
CGameGhost.DatatoCGameGhost.SampleData - Renamed
MediaBlockKeytoCGameCtnMediaBlock.Key - Renamed
MapOriginandMapTargettoMapCoordOriginandMapCoordTarget - Renamed
EmbedstoEmbeddedObjects - Renamed
SecondaryPackDesctoForegroundPackDesc