XaiJu
LukeUsher
LukeUsher

patreon


Cxbx-Reloaded Progress Report (April 2021)

Many people probably saw ImGui being used as the main GUI in emulation projects, and this month it’s part of our own graphical interface bringing some interesting new features, including some nice debug information in real time. Some old options (heritage from the old CxBx original project behavior) were removed, visual issues were fixed in many games and some game breaking issues were fixed bringing us another 3 playable games.

General Improvements

Convert STENCILFAIL [PR #2181]

This change improved shadows in many games (eg. Dead or Alive series) and some cel shaded ones as well. Known games that improved:

● Dead or Alive 3

● Dead or Alive 2

● Dead or Alive Xtreme Beach Volleyball

● Indiana Jones and the Emperor's Tomb

● Cel Damage

Add Basic ImGui Support [PR #2174]

Basic ImGui introduction support into Cxbx-Reloaded as emulation overlay GUI.

Following features has been implemented:

● Overlay:

○ Main menu bar

○ FPS

○ HLE/LLE stats

○ Vertex Buffer (was from console prints)

○ Audio Buffer Cache (was from console prints)

● Ability to remember windows last position in memory and file (currently disabled) on start and restart of emulation.

● F1 permanent hotkey to toggle overlay view, any opened windows will remain open

○ Also will be remembered to keep ImGui focus as well

With F1 hotkey toggle to show our ImGui overlay, all inputs into the title are ignored.

Removed patch menu and SaveXbe(As) options from GUI [PR #2188]

This removes the Allow >64MB option in the patch menu. This, because it's misleading, as it suggests that, when you turn it on, cxbxr will use 128 MiB of ram, which is not true. All it does is toggling the bLimit64MBflag in the xbe, and VMManager only checks for that if the xbe type is debug, and ignores it if it's retail or chihiro. In addition, the patch is only done to the xbe loaded in memory, and won't have any effect if the patched xbe is not saved back to disk before launching the emulation.

Obs: this also removes the patch menu completely and also the SaveXbe(As) options as well.

Fix RtlUnicodeStringToAnsiString bug [PR #2200]

When one attempt was made to create a profile from DoA 1 Ultimate's online section, it caused a fatal crash due to incorrect unicode to string size which led to buffer overflow exception. After adding a test for the xbox kernel test suite, we have fixed any possible result for success and failure in the process of fixing Cxbx-Reloaded's RtlUnicodeStringToAnsiString bug.

With this fix, DoA 1 Ultimate's profile creation no longer crashes.

kernel: implement title mount path [PR #2193]

Finally, it is here! Ability to remember first load title (from CdRom0/Mbfs devices).

In theory, this is enough to make sure titles using xbox live have the ability to go into the xbox live dashboard and back properly.

check for null device [PR #2206]

Check to make sure device is null before creating it, avoids losing device due to unneeded recreation (eg. Indiana Jones and Buffy menus).

Add a new LTCG variation of D3DDevice_SetStreamSource [PR #2209]

Found in Juiced. It does not make the game usable (still not rendering anything), but looking at the data the newly patched function receives I can tell it's correct. PR'ing it because maybe it'll get some other game in-game.

Notable Game Improvements

Red Faction 2 [PLAYABLE]

https://youtu.be/QokxyUVA8bM

Night vision regression fixed! The game is now fully playable. 2 months ago we had 1 major gamebreaking issue: not being able to create a character profile to save your progress. Then last month we had it fixed, should be playable now… but nope, a regression made night vision break the entire rendering (black screen of “try again later, bye bye progress”). With this fixed, the entire game can be played properly.

Total Overdose [PLAYABLE]

https://youtu.be/AdAqbxkZHlM

No longer crash happy, it’s finally fully playable. Performance is enough to get me to the end of the game while still having fun with my potato hardware (i3 2100 @ 3.1 GHz), so anything closer to “modern hardware” will be able to run it nicely (the game itself has an interesting frameskip feature that will make gameplay work properly even at very low framerates)

Batman: Rise of Sin Tzu [PLAYABLE]

https://youtu.be/JYb-kSaojYk

With some of the latest rendering improvements, all the HUD details are fully visible and also the health bars are updated when the value changes (previously you couldn’t tell when a special enemy or a boss HP bar went down, as the bar was always at the same size). Another side-effect of the upscaling fixes from last month is that the fear gas post processing effect no longer makes the entire screen lower resolution, working exactly as it should.

Final Words

For those following the project, this isn’t really a surprise, but some major improvement is being worked on for some time now into a specific branch. The tldr on this is: pixel shader emulation being rewritten using HLSL, with the result being better and more accurate rendering behavior for most games. This work is dangerously close to being merged and will bring many games to the playable state, but we need some help finding regressions (to be sure nothing is broken once the code is added to the master branch, aka “main builds”). Here’s a direct download of the latest pixel shader HLSL branch build: [Download]

And here’s where you can download the latest master builds:[Download]

Once you have both downloaded (each on their own folder, running as portable), test your games and take notes about anything different you see, and please report the information here: https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/pull/2136.

Any help would be greatly appreciated, see you all next month!

As always, don’t forget to check the updated compatibility information in our site ;) https://cxbx-reloaded.co.uk/compatibility

Comments

You need to log into Github to be able to download that build

Literalmente Game

The link for the pixel shader hlsl branch build goes to a 404 GitHub page. Can you please double check that it’s the correct link. The master build link works fine, it’s just the pixel shader link that isn’t working. Thanks.

Cooks


More Creators