Releases: BigBang1112/gbx-net
GBX.NET 0.10.2
- Fixed exception related to
EventsDuration == 0
- Fixed problems with CGameCtnMediaBlockTime
GBX.NET 0.10.1
- Added
GBX.NET.IO
- Added null check on
GameBox.AssignBodyToNode
- Fixed parse of
CGameCtnMediaTrack
0x004
- Other fixes
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
CPlugEntRecordData
has 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
readUncompressedBodyDirectly
parameter 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
INodeHeader
toCGameCtnChallenge
andCGameCtnReplayRecord
- An interface that shows only the properties that can be read from the header
- Added
CGameCtnMediaBlockTimeSpeed
- Added
CCtnMediaBlockUiTMSimpleEvtsDisplay
- Added
GameBox.TryNode
method DiscoverAll
method has now parallel and serial methods- Enhanced
CGamePlayerProfile
GameBoxReader.ReadArray
method now has an optionallength
parameter- 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.Data
toCGameGhost.SampleData
- Renamed
MediaBlockKey
toCGameCtnMediaBlock.Key
- Renamed
MapOrigin
andMapTarget
toMapCoordOrigin
andMapCoordTarget
- Renamed
Embeds
toEmbeddedObjects
- Renamed
SecondaryPackDesc
toForegroundPackDesc
GBX.NET 0.9.0
- Project now supports AnyCPU and x64 for reading purposes
- New parsing strategy so that GBX streams with
CanSeek
set tofalse
can be parsed - Improved ghost's control entries to support analog input with
ControlEntryAnalog
class - Added a new contrustor
GameBox<T>(T node)
to make savingNode
to GBX format easier - Added
CGameCtnGhostData.GetSampleLerp
for sample data interpolation - Added
CGameCtnChallenge
chunks0x01A
,0x01B
,0x01D
- Added
CGameCtnReplayRecord
chunk0x018
- Added
CGameCtnGhost
chunk0x025
, fixed parse of0x000
- Added
AnchorTreeId
toCGameCtnAnchoredObject
- Added
TriggerSize
to offzones - Added
CompressedStream
to reduce repetitiveness - Added better handle of ghost data exceptions
- Added more classes to ClassID.txt
- Added
GameBoxReader.HasMagic
method - Added
TimeSpan.ToStringTM
method for a string representation similar to Trackmania's - Added
Lerp
methods forVec2
,Vec3
andQuaternion
DiscoverAll
methods now discovers chunk in parallel- Block coords now substract by 1,1,1 only if chunk version >= 6
- Changed
FileRef
LocatorUrl
toUri
type - Removed DebugViews on nodes
- Removed more obsolete features
GBX.NET 0.9.0-rc
Full changelog will come on full release.
GBX.NET 0.8.0
- Item.Gbx and Block.Gbx parsing has been expanded
- Added CGameCommonItemEntityModelEdition
- Added support for mesh reading (+ ToOBJ method converting the mesh to .obj) through CPlugCrystal
- CGameItemPlacementParam now reflects map editor placement values
- New properties for CGameItemModel and CGameBlockItem
- Added CPlugVehiclePhyModelCustom for custom vehicle item reading
- Data type classes rename
LookbackString
toId
andMeta
toIdent
, including renames inGameBoxReader
,GameBoxWriter
andGameBoxReaderWriter
- Wrongly parsed unskippable chunk now throws an exception
- Added new chunk support:
- CGameCtnChallenge: 0x050 (offzones), 0x052 (deco height), 0x053 (bot paths), 0x056 (light settings)
- CGameCtnMediaBlockCameraGame: 0x005
- CGameCtnMediaBlockBloomHdr: 0x001
- Fixed chunks:
- CGameCtnMediaBlockCameraPath: 0x003
- CGameCtnMediaBlockGhost: 0x002
- CGameCtnReplayRecord: 0x003
- Added
TriggerSize
property for CGameCtnChallenge 0x049 (MediaTracker). - Added a new clean way of reading+writing chunks through
ref
keyword - Added new methods for
GameBoxReader
,GameBoxWriter
andGameBoxReaderWriter
to reduce parse code repetition. - Added vector magnitude methods
- Added
AdditionalMath.Lerp()
method - Prefer km/h over m/s in ghost speed measures
- Support ghost sample reading from CGameGhost 0x003 chunk
- GBX saving can be now controlled with other streams other than
MemoryStream
- However there might be actions involving seeking, so check that your stream supports seeking!
This update also reveals a road to the x64 platform library support. A new check has been added for GameBox.Save()
to throw an exception if the library is running in x64 (as the bug is with the LZO compressing). In this version though, the library is still x86 only. x64 platform support for reading-only is planned for 0.9.0.
Island Converter 1.0.0
- Program now runs on .NET Framework 4.5.2, included natively in every Windows since Win7
- Fixes problems with opening the exe file. If Nations Converter did open to you, Island Converter will also open.
- Added clip support for all blocks
- Added Platform gamemode conversion support
- Added official port of some TMS sign skins
- Fixed TONS of blocks
- Fixed problems with 32x32 (+ 31x31) base
- Converting multiple maps at once won't break the maps
- Fixed MediaTracker trigger and camera alignment
- Fixed invisible water underground in 32x32 base
- Fixed centering being off by 1 unit
- Fixed item height for 31x31
- New water-removing system that properly handles water cleanup under terrain
- Fixed crash when selecting a map without thumbnail
- GBX.NET has been updated to 0.8.0
- Better performance, minor conversion fixes, MediaTracker parsing fixes
How to install Island Converter
- Download the IslandConverter.zip
- Extract it anywhere (on Desktop for example)
- Open the folder
- Open IslandConverter.exe
Island Converter 1.0.0-rc2
- Added clip system with clips currently available only on highway road start and finish
- Added Platform gamemode conversion support
- Added official port of some TMS skins
- Fixed bugged water blocks in 32x32
- Fixed invisible water underground in 32x32 base
- Fixed item height for 31x31
- Fixed crash when selecting a map without thumbnail
- Many block fixes (very close to all-fixed). Look around for remaining bugs!
How to install Island Converter
- Download the IslandConverter-rc2.zip
- Extract it anywhere (on Desktop for example)
- Open the folder
- Open IslandConverter.exe
GBX.NET 0.8.0-rc2
- Fixed parse of
CGameCtnMediaClip
chunk 0x005 - Improved logging for
WriteNodes()
method - Added
TriggerSize
property to 0x049 - Added logging Push event intended for moving log report display cursor up
Island Converter 1.0.0-rc1
- Program now runs on .NET Framework 4.5.2, included natively in every Windows since Win7
- Fixes problems with opening the exe file. If Nations Converter did open to you, Island Converter will also open.
- GBX.NET has been updated to 0.8.0-rc2
- Better performance, minor conversion fixes, MediaTracker parsing fixes
- Fixed problems with 32x32 (+ 31x31) base
- Converting multiple maps at once won't break the maps
- MediaTracker triggers and cameras are correctly aligned
- Fixed centering being off by 1 unit
- New water-removing system which should improve with less water in tunnels
Please report load-related, conversion-related and block-related issues. A full release is planned at the end of the week.
How to install Island Converter
- Download the IslandConverter-rc1.zip
- Extract it anywhere (on Desktop for example)
- Open the folder
- Open IslandConverter.exe
GBX.NET 0.8.0-rc
v0.8.0gbx-rc Fix IslandConverter errors
GBX.NET 0.7.0
- Added the new
CGameGhost.Data
member providingCGameGhostData
, which contains the most basic sample data of a ghost at the moment - Added some of the missing chunks related to MediaTracker, maps, and replays
- Added
Quaternion
struct and moreAdditionalMath
features - Fixed some improper time values, added
GameBoxReader.ReadTimeSpan()
andGameBoxWriter.Write(TimeSpan? timeSpan)
- Provided a less wordy method of parsing arrays in ReaderWriter methods
Doc Generator has been also added to the repository which helps with partially automating the chunk navigation in markdown.