* savestates: add a build_name field to the header
* savestates: display build name on save/load menu
* savestates: add zero member to header just in case of UB from an older save state
* savestates: add legacy hash lookup
* savestate_data: update hash database
* citra-qt config: small misc changes
Remove unused ReadSettingGlobal
Remove unused WriteSetting overload
ReadGlobalSetting: rename default value variable
* qt config: fix u16 values being written as QMetaType
* qt config: rework post processing shader setting
handles post processing setting properly when per-game settings are used.
the anaglyph shader is given its own setting, separate from the post
processing name.
* qt config: use u32 instead of unsigned int when casting
* Improve directory creation in WindowsCopyFiles.cmake
* Release msvc compiled binaries as an alternative to mingw releases
* msvc: do not ship .pdb files
* msvc: Copy necessary files to the release
* windows-msvc: enable compatibility reporting
translation was disabled because the bundled qt doesn't have
the necessary component
Co-authored-by: Michał Janiszewski <janisozaur@users.noreply.github.com>
previous changes had forced every single user to use custom
directories for NAND and SDMC. Those paths were saved to the
config file and would interact badly with portable builds.
Games will sometimes use these when representing open right bounds
and so disallowing it caused regressions, with a notable example
being when MemoryFill is called to the end of vram, causing an
"invalid end address" error.
This had been noted on a comment in GetPhysicalRef prior to the
regression.
* Update README.md
Add information about the official release channels and update the IRC chat network.
* Apply suggestions from code review
Co-authored-by: Pengfei Zhu <zhupf321@gmail.com>
Co-authored-by: Pengfei Zhu <zhupf321@gmail.com>
* Update deps.sh
GitHub's virtual environment provides 7zip and llvm by default, so brew may fail to install them as another version is already installed
* Use || true to ignore brew installation errors
* Implement the basics of controller auto mapping. From testing doesn't currenlty work.
Opening the controller requires the device index, but it is only known and guaranteed
at boot time or when a controller is connected.
* Use the SDL_INIT_GAMECONTROLLER flag to initialize the controller
subsystem. It automatically initializes the joystick subsystem too,
so SDL_INIT_JOYSTICK is not needed.
* Implement the SDLGameController class to handle open game controllers.
Based on the SDLJoystick implementation.
* Address review comments
* Changes SDLJoystick and SDLGameController to use a custom default
constructible destructor, to improve readability. The only deleters
used previously were SDL_JoystickClose and SDL_GameControllerClose,
respectively, plus null lambdas. Given that both SDL functions
accept null pointers with just an early return, this should be
functionally the same.
with just an early return
* warn the user when a controller mapping is not found
* Get axis direction and threshold from SDL_ExtendedGameControllerBind
* Reject analog bind if it's not axis, for the couple of examples present in SDL2.0.10's db.
Also add SDL_CONTROLLER_BINDTYPE_NONE for the button bind switch, with a better log message.
* sdl_impl.cpp: Log the error returned by SDL_GetError upon failure to open joystick
* sdl: only use extended binding on SDL2.0.6 and up
* sdl_impl.cpp: minor changes
Try fixing macos build.
2to3 from 2.7 is not really used and is interfering with the
installation of Python 3.9, on which one of ffmpeg's dependencies
depends.
The current inconsistency can result in a developer unintentionally
creating a crash when using UNIMPLEMENTED_MSG, if they're only
familiar with UNIMPLEMENTED. The two macros shouldn't have such
wildly different behaviors.
The feature wasn't working when the "single window mode" was off.
Changed the cursor setting to only affect the render_window and
moved to a signal/slot model to show the mouse.
* Forward declare ui and use unique_ptr
* ConfigureEnhancements: use unique_ptr for ui
* Use make_unique instead of new where applicable
* Move some of the ui includes that already used unique_ptr
* main.cpp: also make use of make_unique on Config
* Address review comments