Originally posted by **bytetec** May 13, 2024
Hi everyone
Since the update from FLAME GPU 2.0.0-rc to FLAME GPU 2.0.0-rc.1 the export of the logfile in JSON produces only a one liner. Does anybody else has this issue?
Before:
![image](https://github.com/FLAMEGPU/FLAMEGPU2/assets/138150718/6118a5d0-d5d7-4746-921e-c0d4dc54f466)
After:
![image](https://github.com/FLAMEGPU/FLAMEGPU2/assets/138150718/aa7ce8ba-f84d-40dd-8720-4edf7d40d745)
It appears the methods of RapidJSON's Writer are not virtual, hence when a pointer to the PrettyWriter subclass is cast to Writer, method calls are not forwarded to the sub class.
Discussed in https://github.com/FLAMEGPU/FLAMEGPU2/discussions/1204
It appears the methods of RapidJSON's
Writer
are not virtual, hence when a pointer to thePrettyWriter
subclass is cast toWriter
, method calls are not forwarded to the sub class.https://github.com/FLAMEGPU/FLAMEGPU2/blob/b5173e78765d03be8d1b393f8a037499b064b676/src/flamegpu/io/JSONStateWriter.cu#L33
This bug was introduced when the
StateWriter
interface was refactored to better enable partial state writes.Solution would probably be to template
JSONStateWriter
so that the two different printers have distinct objects.