XaiJu
LukeUsher
LukeUsher

patreon


Progress Report (November)

Strelok gave me the text for this progress report a few weeks back, unfortunately I got sick and was out of action for just over a week, so I apologise to all for the lateness of this report.


Strelok here again and I hope you guys liked the amount of progress reported in the last post... because we have much more to talk about this month. From usability improvements, to performance optimizations and many bug fixes, a lot of games are now running better (some of them even running for the first time ever), which made our compatibility numbers better than ever before. Some results for the graphic below aren't up to date as expected because we had too much to test (and this doesn't even take into account the results from the PR #1791), so I'll probably share an updated list later this month (maybe via edit in this same post or a "Surprise Compatibility Report™") 

 General Improvements  

Disabled LLE GPU option in the GUI (PR #1761

This probably isn't a surprise for most people following the project for some time now: the LLE GPU emulation in it's current state is slow, unstable and not very useful for anyone  other than developers, so the most obvious move was to disable the option on the graphic interace  so the users don't enable it by accident (causing issues for themselves or false positives when reporting a problem). 

Speed up drawing indexed quads (PR# 1757

This optimization solved a possible performance bottleneck for games that draw indexed quads. I've said "possible" because even with some hard data I've collected for the sake of comparision, it's really hard to notice the improvements (this will probably be very positive for older and slower hardwares, but in general you shouldn't see much more than +2 fps for the games affected by this change). 

Added support for relative Xbe paths (PR #1766

This change improves the way you can load games via CLI (command line interface), allowing you to use relative paths to your games without issues. 

Avoid memory leak in point-sprite texture swaps (PR #1770

From this change we have solved an issue with handling resources retrieved from Direct3D internal state (in special the fact that they should be released once the variables goes out of scope), preventing any future problems related to this (point sprites aren't used all that much, and the issue was that without the fix, those textures never got freed). 

Fix IP network traffic (PR #1772

DNS queries and other IP network traffic are now working within Cxbx-R. This was achieved by means of a hack to allow handles created with the Nt Event APIs to function properly when passed to Ke APIs (the Xbox network drivers depend on this functionality) This also has potential to solve crash/hang issues in other games too. 

Rendering Improvements 

Update expp instruction handling (PR #1776)  

With the behavior of the handling reflecting the version vs_1_1 of the expp instruction, we had some visual improvements in some games. 

Corrected old ordering of D3DTOP enum elements (PR #1789

This fixes alpha texture blending on titles that use D3D XDK 3948 and older, but also had the nice side effect of improving the compatibility of many games. 

Speed up paletized texture (PR: #1791

Included a palette hash in the texture lookup key, instead of patching Palette_Lock functions and freeing textures when setting palette's. To avoid overflowing the resource cache, PruneResourceCache now applies cache eviction as well. Thanks to that change, two Palette_Lock patches could be removed as well. With all those changes in, performance for many games improved A LOT (yeah, all caps, check this comparison to understand the hype [https://www.youtube.com/watch?v=0Uy9V2Mm43M]) 

Notable Game Improvements

Crash Tag Team Racing [PLAYABLE]

https://www.youtube.com/watch?v=GIInNFUwGoI

Out of nowhere, this game came from not even booting to fully playable. It's worth saying that, even with a good performance and rendering, there is a small chance of it hanging on the loading screens between the HUB world and the races (so SAVE OFTEN after any event). 

Raze's Hell [IN-GAME] 

https://www.youtube.com/watch?v=Subg-lcDtH4

Finally in-game and rendering something (a lot to be honest...), but we still have an issue where the screen is covered in black when looking at some angles. 

Maximum Chase [IN-GAME] 

https://www.youtube.com/watch?v=_uKZq3s0Wy0

Another good case of progressing from not even booting to in-game, and very close to playable (only issue now is the 2D elements not rendering so you can't see the menus or aim properly on the on-rails stages). 

Teen Titans [IN-GAME] 

Reached in-game for some time now, but with the recent rendering improvements the HUD and some of the in-game geometry are now visible. 

Nakashima Tetsunari no Othello [PLAYABLE]  

https://www.youtube.com/watch?v=sw_nm-5gFmM 

Untested until recently, game is fully playable with good performance. 

Ford Racing 2 [IN-GAME] 

We were able to reach in-game before, but wasn't always (had to try a certain number of times to even boot it). Now it's much more stable and it doesn't crash after 5 seconds in-game (you can even finish an entire race, but it's harder to progress beyond this as the menus aren't rendered yet). 

Wrath Unleashed [IN-GAME] 

Rendering improved a lot in-game for the characters models (both on the map and in battles). From what I was able to test so far, it's potentially playable. 

Tony Hawk's Pro Skater 4 [IN-GAME] 

Rendering improved for pretty much everything in-game, but performance is still lacking (and your character is invisible...). 

Predator - Concrete Jungle [IN-GAME] 

Finally rendering something in-game for the first time (menus were rendered for a long time now). 

Warpath [IN-GAME] 

Another game affected by the rendering improvements from this month, but still unplayable due to performance and some other critical visual issues. 

Marvel Nemesis: Rise of the Imperfects [IN-GAME] 

Progressed from not being able to boot to in-game with good performance. We still have some annoying rendering issues (black textures for many models) , but even with the issues you can progress a lot (probably finishable, yet to be confirmed). 

Yu-Gi-Oh! The Dawn of Destiny [PLAYABLE] 

 With the amazing performance boost we had from the PR #1791, this game improved by 1000% (was running around 6 fps, and it's now running at a solid 60 fps). 

Auto Modellista [PLAYABLE] 

Yet another game affected by the improvements of the PR #1791, performance goes from around 11 fps to solid 60 fps in-game (so now you can make turns without wanting to break your controller). 

Final Words

With all these results added to the updated compatibility (download at the end of this post), I'm proud to announce that we've just reached 50 playable games. This wouldn't be possible without a lot of work from the developers and the support of our patrons, so once again: THANK YOU!   


More Creators