[
  {
    "path": ".gitattributes",
    "content": "# Auto detect text files and perform LF normalization\n* text=auto\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]\npatreon: \nopen_collective: # Replace with a single Open Collective username\nko_fi: exelix11\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\ncustom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']\n"
  },
  {
    "path": ".github/workflows/DraftRelease.yml",
    "content": "name: Prepare release\n\non:\n  push:\n    branches: [ master ]\n    paths:\n      - '**.ips'\n\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      \n      - name: Pack files for atmosphere\n        run: |\n          mkdir -p atmosphere/exefs_patches/\n          mv am atmosphere/exefs_patches/\n          zip -r dvr-patches.zip atmosphere/\n      \n      - name: Prepare draft\n        uses: softprops/action-gh-release@v1\n        with:\n          files: dvr-patches.zip\n          fail_on_unmatched_files: true\n          draft: true\n          token: ${{ secrets.GITHUB_TOKEN }}\n"
  },
  {
    "path": "LICENSE",
    "content": "BSD 3-Clause License\n\nhttps://github.com/exelix11/dvr-patches\nCopyright (c) 2022, exelix11\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n   list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n   this list of conditions and the following disclaimer in the documentation\n   and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\n   contributors may be used to endorse or promote products derived from\n   this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
  },
  {
    "path": "readme.md",
    "content": "# dvr-patches\n[![Discord](https://img.shields.io/discord/643436008452521984.svg?logo=discord&logoColor=white&label=Discord&color=7289DA\n)](https://discord.gg/rqU5Tf8)\n[![Latest release](https://img.shields.io/github/v/release/exelix11/dvr-patches)](https://github.com/exelix11/dvr-patches/releases)\n[![Downloads](https://img.shields.io/github/downloads/exelix11/dvr-patches/total)](https://github.com/exelix11/dvr-patches/releases)\n[![ko-fi](https://img.shields.io/badge/supporting-ko--fi-f96854)](https://ko-fi.com/exelix11)\n\nThis is a set of exefs patches to allow streaming incompatible games with [sysdvr](https://github.com/exelix11/SysDVR)\n\nThis is experimental and I did not test it with many games, **use at your own risk: may not work at all, cause instability and crashes or degrade performances.**\n\nI doubt this can get you banned but again, **use at your own risk**.\n\n## Firmware compatibility\n**All firmwares starting from 11.0 should be supported, however patches must be updated with new firmwares.** \n\nWhen a new firmware is released i'll try to update this repo in a timely manner, you can check if the latest firmware is supported in the [releases tab](https://github.com/exelix11/dvr-patches/releases) or enable github notifications for this repo to get notified of updates.\n\nSometimes firmware updates don't need new patches, for example 14.0 uses the same ones as 14.1 because the relevant system module (am) was not changed, before opening an issue when a new firmware releases try running the patches ! \n\nI have no plans to port to older firmwares, of course pull requests are welcome.\n\n## Installing\nDownload `dvr-patches.zip` from latest [release](https://github.com/exelix11/dvr-patches/releases) and extract it to the root of your sd card then reboot your console. Now streaming should just work™.\n\nEvery time you install a new firmware update you'll probably need to download a new version of these patches which may not be available right away, check the commit messages to know when support for a new firmware is added.\n\n## Game compatibility\nMost games seem to work fine, a few games require additional patches to work [full list here](https://github.com/exelix11/dvr-patches/issues?q=label%3A%22Fix+available%22+label%3A%22requires+patch%22) patches are provided in the thread but i offer no support for them.\n\nA few games are not supported [full list here](https://github.com/exelix11/dvr-patches/labels/requires%20patch) if you find other games that don't work or crash open an issue, although i can't guarantee i'll be able to fix it.\n\nIf you get a crash with title id `0100000000000023` it's most likely because of this.\n\n## Technical stuff\n### What do these patches do ?\nCurrently only the AM sysmodule is patched, the following changes are made:\n- All games that don't support recording will behave as if they have auto recording enabled in the nacp.\n- All games will have screenshots enabled in the nacp.\n- Am's code flow is adjusted to avoid crashing when memory allocation for auto recording fails.\n- The function to block recording in certain sections of the game is stubbed .\n- As a nice bonus, the function games use to load an overlay image is stubbed.\n\nIf you want to port these patches to different firmware versions, check out [porting notes](https://github.com/exelix11/dvr-patches/wiki/Porting-notes)\n"
  }
]