README.md 1.8 KB

Xtreme-Apps

Bundle of external apps tweaked for Xtreme

Why?

Apps we use for Xtreme are all modified (some lots more than others). This includes:

  • Removing duplicate icons that are part of firmware to support our Asset Packs system
  • Removing duplicate keyboard implementations to use our extended system keyboard
  • With our system keyboard also support our CLI command input keyboard to type with PC keyboard
  • Moving location of save files or changing how they are saved
  • Changing application display names to fit our scheme
  • Changing how some menus work/look or adding new exclusive menus and features
  • Improving or extending functionality and better integrating with Xtreme firmware
  • Updating and fixing apps that were abandoned by the original developers

How?

Apps made by the Xtreme team are just kept as code in the main branch. Others instead come from elsewhere and need tweaks applied. Due to how Git works we can't just make edits in a submodule and publish it as a signle repo like that. Our changes need to be committed and tracked somewhere, but we didn't want to have a fork repo for each app. Instead we use fork branches:tm: where the code for the apps is in branches of this same repo and the main branch has submodules to other branches this same repo. As for pulling updates from the upstream repositories, remotes are not kept when pushing and cloning, so we use a modular system:

  • set it up by running git config --local include.path ../.gitremotes (this makes your git config import the file .gitremotes)
  • each app branch has a .gitremotes file which contains configuration for its upstream remote
  • this also has an alias for merging upstream updates with the correct ref by git merge-upstream