First, a few weeks ago I managed to restore the original file structure for the attack animations, so now I see the animations grouped by unit instead of completely randomly.
Then I started to check the units in order to see if everything is replaced as should, and that the animations play properly in game (searching for bugs caused by the texture patch). Since I'm looking trough all the animations, I started recording and uploading them too here
https://www.youtube.com/playlist?list=PLqaKP88vhg_U2MgZcbnC0155t6CosKTeY
When I got to the Guntank, I have noticed, that the textures have multiple phases for the thread/tractor wheel of the guntank, yet in game it just stays still. After a bit of thinking, I realized what could probably cause the issue (and later confirmed it too):
Originally the game's engine was created for the PS2 (SD Gundam G Generation Spirits was the first game to use this engine I believe). On this system the games run at 60 fps, and the units attack animation description files describe the animation for every single frame, at this speed, and the animation goes like this:
Code:
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
Hide thread Frame A
Show thread Frame B
Render Frame (Frame B is visible)
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
Hide thread Frame A
Show thread Frame B
Render Frame (Frame B is visible)
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
On the PSP however the game only runs at 30 fps, essentially skipping every 2nd frame in the animation, which results in this:
Code:
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
Hide thread Frame A
Show thread Frame B
Skip frame rendering
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
Hide thread Frame A
Show thread Frame B
Skip frame rendering
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
After realizing this I have started looking through the animation description file for the guntank's body looking for any rapidly changing values, and did found the visibility switches for the two thread frames being turned on and off every frame. Finally I changed the values, so every thread frame would be visible for two frames instead of one (effectively halving the animation speed), so it would work like this:
Code:
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
Show thread Frame A
Hide thread Frame B
Skip frame rendering
Hide thread Frame A
Show thread Frame B
Render Frame (Frame B is visible)
Hide thread Frame A
Show thread Frame B
skip frame rendering
Show thread Frame A
Hide thread Frame B
Render Frame (Frame A is visible)
Then I checked the animation in game, and was happy because the Guntank started rolling.