This week, work was somewhat slow. I started my week with finishing up restoring the feature to dump QML output to an XML file, which aids in visually comparing what is loaded from the QML file. This task primarily involved rewriting all the save script methods using Common::SeekableWriteStream
. There were nearly 200 methods that needed rewriting.
Another task was fixing the loading of previous games such as Pilots3D and Pilots. Sev significantly contributed to this by implementing the reading of tag IDs based on the game target. Additionally, I made a simple fix in the qdFileManager
class to address an issue where the wrong number of resource packs were stored due to zero-based indexing. You can check this commit for details on the fix.
Lastly, I worked on implementing video playback. Initially, this seemed straightforward, but it required a more sophisticated approach. My first method involved setting up a new rendering loop inside the existing one to play each video. However, Sev pointed out that this was not how the original engine rendered video. Instead of creating a new rendering loop in the play()
method of the video player class, I needed to use the existing loop and write an update()
method to run on each cycle. In each iteration, we would check if the video had stopped and then continue with the usual engine processes.
This is all for this week.
Leave a Reply