Fast floating point behaviour can optimise out handling for special
floating point values e.g. NaNs. As GSdx needs to handle NaNs in a few
places, precise floating point behaviour should be used instead.
Fixes a flashlight regression in Silent Hill 2/3 that was caused by
VS2019 optimising out NaN handling.
* spu2-x: Make portaudio an optional dependency.
v2: Fix crash in the audio settings with SDL1 and without portaudio.
* cmake: Add PORTAUDIO_API to disable portaudio support.
ePSXe for example.
There is little to no benefit in keeping it, especially when nobody was
maintaining the code. If we ever want to reintroduce it we can do so
from older branches like 1.6.
Plus if we want to integrate plugins into pcsx2 itself this is a required step.
PS1 games can ofc still be played within pcsx2.
Leave it as an ini option only.
People should never use custom resolution as it causes many issues and
many features aren't supported with it.
On linux option was removed a long time ago.
This reverts commit 99f814d376.
The assert gets triggered on Linux and so debug build can't be used properly.
Would be nice to investigate why in the first place but until then revert the
entire commit. We have checks for texture limits anyway so it shouldn't be an issue.
Previous behaviour:
Anisotropic filtering was continuing to run even with Nearest filtering.
On opengl it doesn't run on nearest filtering. The gui for both
renderers also greys out aniso when nearest is selected.
Anisotropic filtering being able to run on palette texture. This caused
to break the rendering on palette textures for games that use it.
PR behavior:
The PR corrects both of these behaviors, Aniso won't run on palette
textures as well as nearest filtering.
Test cases for observing the issues were used: Star Ocean 3, Fifa
Street.
Automatic, Force Disabled, Force Enabled.
Automatic - automatically determinate if a game needs the half screen
fix.
Force Disabled - fully disables the half bottom fix. It will help
Xenosaga games.
Force Enabled - fully enables the half bottom fix. Will help Lord of the
Rings Two Towers, Superman Shadows of Apokolips, Midnight Club 3.
Automatic, same as before, automatically enable based on height delta.
Force Disabled, fully disables the half bottom detection.
Force Enabled: Fully enables the half bottom detection.
Separate and group hack types in to Rendering and Upscaling hacks. This
should help users identify better what some hacks do and make it a
little bit easier to use.
Rename Automatic CRC Level label back to CRC Hack Level.
Rename Accurate Date label to DATE Accuracy.
Rename Accurate Blending label to Blending Accuracy.
Remove 10x and 12x upscaling options, we don't want to hit the maximum
texture size limit and cause issues so better play it safe and allow
only up until 8x upscaling.
Reword the tooltip to make it a bit more fitting with it's current
behavior.
Add all games in the list that have some sort of aggressive state.
Update anisotropic filtering, autoflush sw, sparse texture, gl blending tooltips.
Xenosaga handles the half bottom as an vertex offset instead of a buffer
offset which does the effect twice.
Half bottom won't trigger a cache miss that skip the draw because it is
still the normal buffer but with a vertices offset.
Issue #3147
Previous skip value 6 wasn't enough and caused some visual issues on the
ntsc version. Use value of 8 instead.
Issue reported by ozzie212121 on discord.
Effect is properly rendered with depth emulation, so far only Burnout
Revenge triggered the crc hack from my testing.
Triggering the draw is done when the player car crashes.
* spu2-x: Fix crash with an invalid output module.
This will default to SDLOut.
Fixes https://github.com/PCSX2/pcsx2/issues/3124
* spu2-x: Create non-empty defaults for OutputApi and SdlOutputApi.
[107/641] Building CXX object plugins/GSdx_legacy/CMakeFiles/GSdx-legacy-1.0.0.dir/stdafx.cpp.o
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-packed-not-aligned'; did you mean '-Wno-over-aligned'? [-Wunknown-warning-option]
2 warnings generated.
Partially replace the Linux ini code so that it:
- works on both Windows and Linux
- is backwards compatible with older GSdx inis
- properly handles UTF-8 ini pathnames
Fix an issue with GSdx on Windows not being able to handle non-ASCII
ini pathnames.
* cdvd: Fix off-by-one end of file checks
* cdvd: Fix loading for games that attempt to read non-existent sectors
Some games will hang when attempting to read non-existent sectors.
Just do nothing when it occurs instead of erroring out.
* cdvdgigaherz: Fix loading for games that attempt to read non-existent sectors
Some games will hang when attempting to read non-existent sectors.
Just do nothing when it occurs instead of erroring out.
* cdvd: Don't write non-existent sectors to blockdump
Fixes eyes rendering in Jak games both ingame and in cutscenes.
Previous method yielded no eyes in Jak 2/3/X cutscenes.
- Generalized offset search logic with caching system (works for BW > 1
and any PSM, limited to PSMCT32 for now)
- CRC Flags mechanism for default behavior enabling in Jak games
Fixes eyes blinking in Jak games with tex in rt search
enabled.
- Target TEX0 in Source is Source TEX0 if the Source is
not build from Target, otherwise it is the Target TEX0,
allowing improved Source invalidation
Add XgKickHack gamefix for Dog of Bay., fixes corrupt textures. Issue
#3041
Add some crc ids. Big Mutha JP version(Bakusou Convoy Densetsu - Otoko
Hanamichi America Roman),
Jak X Public Beta v.1 US, Sly 3 EU Prototype.
Fixes the noise generator outputting a 4.8 kHz tone instead of white noise. The random number generator used in GetNoiseValues currently repeats every 10 samples, which is really really awful for a random number generator.
New code based on http://problemkaputt.de/psx-spx.htm#spunoisegenerator
Developed a new SW sprite render function, which is used to fix
Jak and Daxter colors in Jak games and to remove the old Jak games hack
which yielded wrong colors and clashed with TC search texture in RT function.
- Remove OO_JakGames hack for palette readback from framebuffer (slow,
clashes with texture in RT TC function, clashes with Target readback logic)
- Developed new method SwSpriteRender with CPU rendering logic
- Add OI_JakGames method using SwSpriteRender for CPU palette rendering (fast,
does not clash with texture in RT TC function, no readback required)
Bonus: fps also sees an improvement in Jak games 3-5 increase.
* Refactor build.sh. Restructure finding plugins. Remove legacy code. Add --clean-plugins option. Document --no-trans option.
Don't do setcap if dev9ghzdrk isn't being built. List dependencies if they are missing. Remove code related to zerospu2, and misc plugins we aren't building. Minor message changes.
It will allow to render the shadows properly.
Rendering pattern is:
Save RG channel with a kind of a TS (replaced by a copy in this hack),
compute shadow in RG,
save result in alpha with a TS,
Restore RG channel that we previously copied to render shadows.
Seems like Texture shuffle/depth is not handled properly in all cases so
revert the change until we fix it properly. Move it to gl level too.
Commit:
11cd6b56cd
With the sprite hack removed it was no longer possible to toggle this
hack on nvidia gpus, the toggle has been moved to Disable Safe Features.
It some issues caused by the hack in sotc, fatal frame and border offset
issues.
The adapter ID was needed to be passed before for a legacy DX9 hack which is no longer present, I figured it could cause a potential conflict when the adapter value stored at INI is outdated. (which is now a possibility after
lightning removed reference device)
The other alternative would be to just force set the INI value on dialog initialization to avoid unavailable values in the INI file, but that would be a rough for a person transitioning from debug build to release build using the reference device
option, so just removing this outdated variable for now, I rather doubt we'd be needing it in the future, in case we need adapter passing to subdialogs, the former suggestion needs to be implemented. Not implementing it right now since there's no need for it.
in vs 2019, the system xhash used by unordered_map uses Target in its template definition. pcsx2 #defines this in the r5900 and r3000 headers which leak cause a cryptic compilation error. A quick fix here is just to undef it in gamebase.h. A better fix would be to encapsulate the definition or use something more c++ to avoid the pre-processor. Add a comment to explain the _Target_ undef.
tap.h did not have string defined. I guess this was included transitively somewhere with an earlier set of system headers.
Biostools, the file is opened in text mode which causes the bios to be partially read. I'm not sure that's vs2019 specific but it's wrong in any case. Maybe the default mode parameter changed at some point. Maybe wxFile would be a better choice here rather than WxFFile because wxFile always open s in binary mode.
It is quite complex to handle rescaling on ComputeFixedTEX0
so this function is less stricter than GetSizeFixedTEX0,
therefore we remove the reduce optimization,
and we don't handle bilinear filtering which might create wrong interpolation at the border.
Fixes FFX upscaling issues on Bilinear filter during cutscenes.
comment
Remove some crc lookups for gamefix patches that share the same serial
and patch codes. It will allow game versions with different crc ids to
use the patches. Close#2654
Add JP version to automatic mipmapping.