![]() |
![]() |
![]() |
![]() |
![]() |
Make 'Ys I & II Eternal Story' playable.
Posted on 2006-02-15 00:00:00 |
I let the movie play during the night, but nothing special seems to have happened... It actually seems to have finished playing correctly. I'll make another try this night with a different v-sync timing and see if I can catch the problem.
Added a Windows assembly manifest into the executable to allow Windows XP styles into the user interface. The UI is still a bit ugly when using them though, but it's not really important for the moment. I'll work on that when preparing the v0.20 release. Added preliminary support for saved states in the main interface. There's still some more data to include into the saved state files before it becomes useful (IOP modules states), but I'm waiting till tomorrow to add them because I still need that state where the intro movie starts playing for tonight. There's also some changes I'd need to do in the communication method between the virtual machine thread and the UI thread to allow the VM functions to return a value when being called... Knowing if a certain function has failed (ie.: "SaveState" or "LoadState") would probably be interesting to know and would be something important to report to the user. This will also go in the TODO list of the v0.20 release development. Fixed alpha blending issues with the game. I always had in mind that I would need to use some fancy OpenGL function to be able to support the 2 formulae this game was using, but actually, they were really easy to do. One of them was already implemented and the FIX parameter was just fooling me into thinking it was different. The other one was easily implemented using the GL_ONE and GL_ZERO parameters to glBlendFunc. I also had to add some code to fix the alpha value of the colors in the CLUT. This is what it gives: There's not too much left to fix now... There's the movie playing bug that I'll hopefully catch this night, saved states, the crashing bug when hitting an enemy in-game, the screwed sprite animation if it's not too hard to find and finally adding the reset functionality. |