## Description
This PR allows the browser to open ZIP files as directories and extract
files from the archive. For simplicity ZIP archives are treated as flat
directories with each entry simply showing the full folder hierarchy.
However the appropriate folder structure is still created when
extracting a file from a subfolder in the ZIP.
## Motivation and Context
Sometimes you might put a zipped ROM on your SD card when not paying
attention. Rather than having to put the SD card back into your PC you
can just extract it using your N64 instead.
## How Has This Been Tested?
I've tested it by extracting various files from `sc64-extra-v2.20.2.zip`
to test extracting files with subfolders.
I've also created my own test zip to test empty folders and file
comments.
## Screenshots
<img width="640" height="480" alt="screenshot"
src="https://github.com/user-attachments/assets/f4599904-a698-4b8f-b2d9-a4c28ae78b00"
/>
<img width="640" height="480" alt="screenshot"
src="https://github.com/user-attachments/assets/57d3ada2-a928-4a36-95c1-caca126b7012"
/>
## Types of changes
- [x] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [x] Documentation Improvement
- [x] Config and build (change in the configuration and build system,
has no impact on code or features)
## Checklist:
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
You agree with the license terms and that other license types may be
granted with permission of the original `N64FlashcartMenu` project
license holders.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- Browse ZIP archives in the file browser, view contents, and extract
individual files with real-time progress and clear error messages.
- Archive-aware navigation and context actions (open archive, show entry
properties, extract).
- Detailed entry information screen (size, compression, directory/file
status, encryption, comments).
- Style
- Distinct styling for archive items in file lists to improve
recognition.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Description
- Made sure the titles are identical between the index and each of the
page's headers.
- Removed "Joypad" as it's not a proper word used on N64's public-facing
reference documents.
- Added some of the writing included on the main branch.
- Added code tags to some button names I missed out.
- Other uppercasing fixes and nitpicks.
## Motivation and Context
Typo fixing, leaving the docs polished to the Nth degree.
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [x] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
## Description
Proofread and partial rewrite of the docs.
## Motivation and Context
Adding more information written in an user-friendly way (not just
developer-friendly way), writing materials that were left to do,
cleaning up existing materials.
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [x] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)
## Checklist:
- [ ] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Updated multiple documentation files with improved clarity,
consistency, and formatting
- Refined section titles and headings across various documentation pages
- Enhanced explanations and instructions for N64FlashcartMenu features
- Improved navigation links and added more descriptive return-to-index
references
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Robin Jones <networkfusion@users.noreply.github.com>
<!--- Provide a general summary of your changes in the Title above -->
## Description
<!--- Describe your changes in detail -->
Reworks and splits the documentation.
## Motivation and Context
<!--- What does this sample do? What problem does it solve? -->
<!--- If it fixes/closes/resolves an open issue, please link to the
issue here -->
Improves documentation to be more readable.
## How Has This Been Tested?
<!-- (if applicable) -->
<!--- Please describe in detail how you tested your sample/changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
## Screenshots
<!-- (if appropriate): -->
## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [ ] Improvement (non-breaking change that adds a new feature)
- [ ] Bug fix (fixes an issue)
- [ ] Breaking change (breaking change)
- [x] Documentation Improvement
- [ ] Config and build (change in the configuration and build system,
has no impact on code or features)
## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [ ] I have added tests to cover my changes.
- [ ] All new and existing tests passed.
<!--- It would be nice if you could sign off your contribution by
replacing the name with your GitHub user name and GitHub email contact.
-->
Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
Based on the comprehensive summary, here are the release notes:
- **New Features**
- Added ROM history and favorites functionality
- Introduced tabbed interface for file browsing
- Implemented ROM information descriptions
- Added support for ROM configuration overrides
- Enhanced menu settings management
- **Documentation**
- Expanded user guide and documentation
- Added sections on ROM patches, controller PAKs, and emulator support
- Improved flashcart and menu customization instructions
- **Chores**
- Updated documentation structure
- Refined code organization and naming conventions
- Updated subproject references
<!-- end of auto-generated comment: release notes by coderabbit.ai -->