Breaking changes - BigBang1112/gbx-net GitHub Wiki
In case your interested version isn't documented enough, you can try using the FuGet Explorer and set the API diff version.
- 
CGameCtnBlockInfoIntroInfoandPodiumInfowere madeCMwNodfromCGamePodiumInfo(mapping issues)
- 
CPlugMediaClipListMediaClipFidsis nowExternal<>
- 
CGameCtnBlockPhyCharSpecialPropertychanged type fromCScenePhyCharSpecialPropertytoCPlugCharPhySpecialProperty, and with that,CScenePhyCharSpecialPropertywas removed
- 
CGameCtnBlockUnitInfoClips*,CMwRefBufferNods,CPlugParticleEmitterModelParticleEmitterSubModelsare nowExternal<>
- 
CGameCtnCampaignMapGroupswas renamed toChallengeGroups
- 
CGameCtnCollectionCollectiontype changed fromstring?toId?
- Moved CHmsSoundSource'sCMwNod AudioSoundtoCPlugSound PlugSound
- 
CPlugGameSkin:- 
Fids->CustomizableFids
- 
ParentPackDesc->PainterTextureName
- 
RelativeSkinDirectory->DirName
 
- 
- 
CPlugLightGxLightModelrenamed toLight
- 
CPlugLightMotionManagersrenamed toMotionManagerModels
- 
CSceneMessageHandlerScriptrenamed toOnClickScript
- 
CGameCtnReplayRecord:- 
Gamewas moved toGhosts[0].Validate_ExeVersion
- 
Extraswas moved to unknown values
 
- 
- 
CGameCtnCollection:- 
CollectionIconFid->IconSmallFid
- 
HasCollectionIconFid->IconSmallFid is not null
- 
HasIconFid->IconFid is not null
- 
IconCollection->IconSmallFullName
- 
IconEnv->IconFullName
- 
MapFid->MapFullName
- 
MapCoordDesc,MapCoordElem,MapCoordIconare no longer nullable
 
- 
- 
CPlugEntRecordData.ReadWritemoved to explicitIReadableWritableimplementation
- Removed ZLibDataAttribute
- 
GbxRefTable.ExternalDatahas been removed (changed toExternalNodes, which is a new solution to the problem)
- 
CGameItemModel:CamerasandNadeoSkinFidsare wrapped toExternal<>
- All IListmembers have changed to theListclass - this shouldn't break almost anything functionally
- 
CGameCtnBlockVariantandSubVariantare no longer nullable
No breaking changes.
- Changed CPlugMaterialUserInstSurfaceGameplayIdfrombytetoCPlugMaterialUserInst.GameplayIdandSurfacePhysicIdtoCPlugSurface.MaterialId
- 
CGameCtnColectionstring DefaultZonehas changed toDefaultZoneId- 
DefaultZoneis now of typeCGameCtnZone
 
- 
- 
CGameCtnGhostInputschanged fromImmutableArraytoImmutableList
- 
CGameCtnReplayRecordInterfaceScriptInfoschanged fromImmutableArraytoImmutableList
- 
Gbx.CompressandGbx.Decompressmethods do not returnboolanymore
- 
Gbx.Recompressmethod has been removed
- Optional includeUnassigned1parameter fromCGameCtnChallenge.GetBlocks()has been removed
- 
CPlugTreeVisualMipLevelshas changed fromIDictionary<float, CPlugTree>toIList<Level>
- Renamed CPlugTreeTranslationtoLocation
No breaking changes.
- 
CGameCtnCollector0x009Versionhas been removed
- 
CGameCtnChallengeTMObjective_IsLapRaceandIsLapRacehave been merged toIsLapRace
- 
CGameCtnChallengeTMObjective_NbLapsandNbLapshave been merged toNbLaps(could cause inexact behavior, report to me in case)
- Added more ways to construct Ident- 
("", new(26), "")for example does not work that well anymore.
- For indexed collection, just do ("", 26, ""), or for named one, go with("", "", "")
 
- 
- Renamed ClassManager.GetClassIdtoGetId
CGameBlockItem has changed
- 
Dictionary<int, CPlugCrystal>is nowIList<CGameBlockItem.Mobil>
- 
Mobilhasint IdandCPlugCrystal Crystal
A LOT. For any problem not mentioned here, don't hesitate to hit me up on Discord.
- 
FileRefhas changed toPackDesc- Constructor has changed: version was removed and checksum is UInt256
 
- Constructor has changed: version was removed and checksum is 
- 
CGameCtnMediaBlock.Keyhas changed toIKey
TODO
No breaking changes.
Int4.Zero returns Int4 now.
Removed Version from CGameItemModel 0x009.
In CGameCtnChallenge, changing MapUid or HashedPassword tweaks with CRC32 now, which could be unexpected.
No breaking changes.
No breaking changes.
- Using GBX.NET reflection on Blazor WebAssembly projects or projects with enabled trimming can break. Consider turning off trimming of GBX.NET in this case.
TODO
- 
CGameCtnGhost.PlayerInputDatapropertyInputsnow implicitly appliesStartOffsetto individualTimes ofIInput
- 
CGameGhost.Data- Constructor requires two parameters, byte[] ghostDataandbool isOldData
- All Readmethods have been privated
 
- Constructor requires two parameters, 
- 
CGameItemModel.Cameras- changed fromCMwNod?[]?toExternalNode<CMwNod>[]?
- 
CGameObjectPhyModel- changed a bunch of nullable properties to their not-nullable variant
- 
CPlugEntRecordData- replacedSampleswith more exact solution, now there are multiple sample buffers insideEntListinstead
- 
CPlugShaderApply- changed fromCPlugBitmapAddress?[]?toExternalNode<CPlugBitmapAddress>[]?
- 
GameBoxHeaderis no longer immutable
- Removed GBX.NET.Sample
- Older class names have been replaced with newer class names, usually CSceneVehicle...toCPlug
- 
GameBoxWriter.WriteBigInthas changed signature
- 
CPlugSolid2Model.MaterialUserInstsrenamed toMaterialInsts(as it's the exact name)
- Changed a lot of CGameCtnReplayRecordarrays toIReadOnlyCollection(I regret this change as you cannot index anymore, which I didn't know before)- ControlEntries
- Extras
- Ghosts
- InterfaceScriptInfos
- SceneryVortexKeys
 
- 
CGameCtnGhostpropertyLightTrailColortypeVec3?has been changed toVec3
- Made Node.WriteAsyncinternal (which should not have been public)
- 
CGameCtnGhost.PlayerInputData:- 
InputChangeclass has been changed toTrackmaniaInputChange
- 
TrackmaniaInputChangepropertyIsRespawnwas changed toRespawn
 
- 
- 
CGameCtnCollectorpropertyAuthorwas changed toIdent(to apply namings considered from asserts in the code)
- 
CGameCtnGhost.DatapropertyNodeIDwas changed toSavedMobilClassId
TODO
