Typical shuffle case is 1/2 height so other half is undesired
In dbz we split the depth buffer.
- Sample first half, write to `0x0`.
- Sample second half, write to `0x800`
- Finally, sample `0x0` though `0xffc`
Crash Twinsanity is a similar case.
A short summary how d3d option behaves compared to gl.
None d3d-> behaves the same
Basic d3d-> even less than 1/3 of Basic opengl.
Medium d3d -> less than 1/3 of Basic opengl.
High d3d -> 1/3 of Basic opengl.
Note: Medium and High options are mostly intended for debug use.
Add the remaining code and separate it in levels because dx sux.
Basic blending mode -> doesn't enable fbmask on texture shuffle and
triangle primitives.
Medium -> doesn't enable fbmask on triangle primitives.
High mode- > fully enables fbmask, note it's still not on par with
opengl because we miss sw blending for some games.
Also keep in mind that High Blending option on d3d11 is like 1/3 of
Basic Blending option on GL.
It works on games such as Fifa Street 1 and 2 (character and stage
rendering), mission impossible operation surma (shadow rendering).
It needs at least Basic level of blending enabled on d3d11.
Attention! Older savestates will be incompatible so please use a
previous older dev build (such as dev 3043) to save your progress on
memory cards instead!
Squashed commit:
[7955b42e3] recording: Throw errors on fread/fwrite errors.
[5a2160f9e] recording: Remove function implementation from header files
[f2937ab5f] recording: Fixed UndoCount metadata bug and will gracefully fail if savestate is missing
[d7f4d43e5] recording: Refactored code-style to be consistent
[0f77fbb71] recording: Refactor to use switch statements
[28d7945f6] recording: Resolve CMake warnings and use tagged github links for cross-linking to LilyPad
[7c01c6cb4] recording: corrected disparity between comment and code
[17a8bd8d6] recording: Remove all usages of #define
[3830f5a82] recording: Refactor enums and general cleanup
[569ef7d67] recording: Completely disable new console log sources when recording is disabled
Regressions were discovered after merging with master due to way the save state data was saved within the movie file.
This change uses the same functions used in the GUI to create savestates to create a compressed save-state file. Eventually this could be re-incorporated back into the recording file and could be backwards compatible.
This PR allow each fixes to by apply in all situations (such as exiting from the NETGUI utility). It makes these games completely playable in all cases.