bigbang1112-cz / clip-checkpoint

A tool to convert checkpoint data available inside a replay or ghost into its Clip.Gbx visualization overlay.
https://gbx.bigbang1112.cz/tool/clip-checkpoint
GNU Affero General Public License v3.0
8 stars 2 forks source link

ChunkVersionNotSupportedException Error is being thrown when trying to run the script. #9

Closed vlodamir closed 3 months ago

vlodamir commented 3 months ago

Hi, I'm trying to run your program to extract checkpoint times but I get this error when trying to run the script:

Initializing the console... Using the tool: Clip Checkpoint Retrieving possible config options... Scanning all the command line arguments...

Detected input files:

Using existing ConsoleOptions.yml...

Additional arguments: (none) Loading config Default.yml... Config Default.yml saved in standard format.

Parsing Arynya~_pavouk911(00'40''91)_JE_TAAAM_cropped.Replay.Gbx...

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> GBX.NET.Exceptions.ChunkVersionNotSupportedException: Chunk version 10 is not supported. at GBX.NET.Engines.Game.CGameCtnMediaBlockCameraCustom.Key.ReadWriteVersion6AndAbove(GameBoxReaderWriter, Int32) at GBX.NET.Engines.Game.CGameCtnMediaBlockCameraCustom.Key.ReadWrite(GameBoxReaderWriter, Int32) at GBX.NET.GameBoxReaderWriter.<>cDisplayClass182_01.<ListKey>b__0(GameBoxReaderWriter , T) at GBX.NET.GameBoxReaderWriter.List[T](IList1 , Action2) at GBX.NET.GameBoxReaderWriter.List[T](IList1& , Action2) at GBX.NET.GameBoxReaderWriter.ListKey[T](IList1& , Int32) at GBX.NET.Engines.Game.CGameCtnMediaBlockCameraCustom.Chunk030A2006.ReadWrite(CGameCtnMediaBlockCameraCustom, GameBoxReaderWriter) at GBX.NET.Chunk1.GBX.NET.IReadableWritableChunk.ReadWrite(Node, GameBoxReaderWriter) at GBX.NET.Node.ReadUnskippableChunk(Node, GameBoxReader, UInt32) at GBX.NET.Node.IterateChunks(Node, GameBoxReader, IProgress1 , Nullable1&, Boolean ) at GBX.NET.Node.ReadChunkData(GameBoxReader, IProgress1 , Boolean) at GBX.NET.Node.Parse(Node, GameBoxReader, IProgress1 , Boolean ) at GBX.NET.Node.Parse(GameBoxReader, Nullable1, IProgress1 , Boolean ) at GBX.NET.GameBoxReader.ReadNodeRef(File& ) at GBX.NET.GameBoxReader.ReadNodeRef[T]() at GBX.NET.GameBoxReaderWriter.<>c__1861.b__186_0(GameBoxReader ) at GBX.NET.GameBoxReader.ReadEnumerable[T](Int32, Func2)+MoveNext() at GBX.NET.Extensions.EnumerableExtensions.ToList[T](IEnumerable1, Int32) at GBX.NET.GameBoxReader.ReadList[T](Int32, Func2) at GBX.NET.GameBoxReader.ReadList[T](Func2) at GBX.NET.GameBoxReaderWriter.List[T](IList1 , Func2, Action2) at GBX.NET.GameBoxReaderWriter.ListNode[T](IList1 ) at GBX.NET.GameBoxReaderWriter.ListNodeT at GBX.NET.Engines.Game.CGameCtnMediaTrack.Chunk03078001.ReadWrite(CGameCtnMediaTrack, GameBoxReaderWriter) at GBX.NET.Chunk1.GBX.NET.IReadableWritableChunk.ReadWrite(Node, GameBoxReaderWriter) at GBX.NET.Node.ReadUnskippableChunk(Node, GameBoxReader, UInt32) at GBX.NET.Node.IterateChunks(Node, GameBoxReader, IProgress1 , Nullable1&, Boolean ) at GBX.NET.Node.ReadChunkData(GameBoxReader, IProgress1 , Boolean) at GBX.NET.Node.Parse(Node, GameBoxReader, IProgress1 , Boolean ) at GBX.NET.Node.Parse(GameBoxReader, Nullable1, IProgress`1 , Boolean ) at GBX.NET.GameBoxReader.ReadNodeRef(File& ) at GBX.NET.GameBoxReader.ReadNodeRef[T]() at GBX.NET.GameBoxReaderWriter.<>c1861.<ListNode>b__186_0(GameBoxReader ) at GBX.NET.GameBoxReader.ReadEnumerable[T](Int32, Func2)+MoveNext() at GBX.NET.Extensions.EnumerableExtensions.ToList[T](IEnumerable1, Int32) at GBX.NET.GameBoxReader.ReadList[T](Int32, Func2) at GBX.NET.GameBoxReader.ReadListT at GBX.NET.GameBoxReaderWriter.List[T](IList1 , Func2, Action2) at GBX.NET.GameBoxReaderWriter.ListNode[T](IList1 ) at GBX.NET.GameBoxReaderWriter.ListNodeT at GBX.NET.Engines.Game.CGameCtnMediaClip.Chunk0307900D.ReadWrite(CGameCtnMediaClip, GameBoxReaderWriter) at GBX.NET.Chunk1.GBX.NET.IReadableWritableChunk.ReadWrite(Node, GameBoxReaderWriter) at GBX.NET.Node.ReadUnskippableChunk(Node, GameBoxReader, UInt32) at GBX.NET.Node.IterateChunks(Node, GameBoxReader, IProgress1 , Nullable1&, Boolean ) at GBX.NET.Node.ReadChunkData(GameBoxReader, IProgress1 , Boolean) at GBX.NET.Node.Parse(Node, GameBoxReader, IProgress1 , Boolean ) at GBX.NET.Node.Parse(GameBoxReader, Nullable1, IProgress1 , Boolean ) at GBX.NET.GameBoxReader.ReadNodeRef(File& ) at GBX.NET.GameBoxReader.ReadNodeRef[T]() at GBX.NET.GameBoxReaderWriter.NodeRef[T](T ) at GBX.NET.GameBoxReaderWriter.NodeRef[T](T& , Boolean ) at GBX.NET.Engines.Game.CGameCtnChallenge.Chunk03043049.ReadWrite(CGameCtnChallenge, GameBoxReaderWriter) at GBX.NET.Chunk1.GBX.NET.IReadableWritableChunk.ReadWrite(Node, GameBoxReaderWriter) at GBX.NET.Node.ReadUnskippableChunk(Node, GameBoxReader, UInt32) at GBX.NET.Node.IterateChunks(Node, GameBoxReader, IProgress1 , Nullable1&, Boolean ) at GBX.NET.Node.ReadChunkData(GameBoxReader, IProgress1 , Boolean) at GBX.NET.Node.Parse(Node, GameBoxReader, IProgress1 , Boolean ) at GBX.NET.GameBoxBody.ReadMainNode(Node, GameBoxReader, IProgress1 ) at GBX.NET.GameBoxBody.ReadMainNode(Node, Stream, IProgress1 , ILogger , GbxState) at GBX.NET.GameBoxBody.ReadMainNode(Node, Byte[], IProgress1 , ILogger , GbxState) at GBX.NET.GameBoxBody.ReadMainNode(Node, Byte[], Int32, IProgress1 , ILogger , GbxState) at GBX.NET.GameBoxBody.ReadCompressed(Node, GameBoxReader, IProgress1 ) at GBX.NET.GameBoxBody.Read(Node, GameBoxHeader, GameBoxReader, IProgress1 , Boolean) at GBX.NET.GameBox.Parse(Stream, IProgress1 , Boolean , ILogger ) at GBX.NET.GameBox.Parse[T](Stream, IProgress1 , Boolean , ILogger ) at GBX.NET.GameBox.ParseNode[T](Stream, IProgress1 , Boolean , ILogger ) at GBX.NET.Engines.Game.CGameCtnReplayRecord.get_Challenge() at ClipCheckpoint.ClipCheckpointTool..ctor(CGameCtnReplayRecord replay) in D:\a\clip-checkpoint\clip-checkpoint\ClipCheckpoint\ClipCheckpointTool.cs:line 30 at System.RuntimeMethodHandle.InvokeMethod(Object, Void**, Signature, Boolean) at System.Reflection.ConstructorInvoker.Invoke(Object, IntPtr*, BindingFlags) --- End of inner exception stack trace --- at System.Reflection.ConstructorInvoker.Invoke(Object, IntPtr*, BindingFlags) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags, Binder, Object[], CultureInfo) at System.Reflection.ConstructorInfo.Invoke(Object[] ) at GbxToolAPI.CLI.ToolConstructorPicker.CreateInstances[T](Dictionary2 inputByType, Boolean singleOutput)+MoveNext() at GbxToolAPI.CLI.ToolConsole1.RunCanThrowAsync(String[] args) at GbxToolAPI.CLI.ToolConsole1.RunAsync(String[] args) Press any key to continue...

BigBang1112 commented 3 months ago

Yea the wave of these problems is coming in. This is happening on many runs driven on maps since the Summer campaign. It needs an internal update of some sort.

vlodamir commented 3 months ago

:/ Bummer. I noticed you have to update the code quite often because of the TM updates. Good luck fixing it!

BigBang1112 commented 3 months ago

The issue has been fixed on day 1, but there's still an ongoing transition from GBX.NET 1 to GBX.NET 2 and Gbx Web Tools is the most difficult.

BigBang1112 commented 3 months ago

I decided to push a small internal update to the library which should fix the problem, but I need to chain the updates all the way through. Should be fixed towards the end of the working week.

BigBang1112 commented 3 months ago

The fixes have been pushed to both executable and web!

vlodamir commented 3 months ago

Works flawlessly, thank you! Jsi frajer :D