diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index ab169b2..ffc09f2 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -131,16 +131,76 @@ jobs: *For fuller instructions, please join the [Discord](https://discord.gg/xUZWJ5BWe7) and visit the #setup-and-download channel.* - - (*Console only*) Install Atmosphere to your hacked Switch. One great guide can be found at https://switch.homebrew.guide/ + The Training Modpack requires the following prerequisite packages: + + * Skyline: https://github.com/skyline-dev/skyline/releases + + * This is a generic code mod loader for Nintendo Switch games that the Training Modpack uses. + + To install the Training Modpack, download the .zip file from the [latest release page](https://github.com/jugeeya/UltimateTrainingModpack/releases/latest). Extract the files from the .zip file using the file explorer on Windows or Mac, or a program such as 7-zip (windows) or unzip (Linux). + + ### Installation on Nintendo Switch + + * Atmosphere: https://github.com/Atmosphere-NX/Atmosphere/releases - - Place the **contents** of the `training_modpack_beta.zip` on the root of your SD card. This means that you first unzip the file, then place its folder on the SD card root. The `atmosphere` folder should be **merged** onto the root of your SD card. + * This is the custom firmware that is required for any hacked Switch. One great guide for installation here can be found at https://switch.homebrew.guide/. + + 1) Transfer the extracted contents of the TrainingModpack .zip (`atmosphere` folder) onto the root of your SD card, merging the `/atmosphere` folder with the one on your SD card. - - *For Ryujinx*: Paste the `contents` folder inside `atmosphere` into `%AppData%/Ryujinx/mods/` + 2) Similarly, transfer the extracted contents of the Skyline .zip (`exefs` folder) into `sd:/atmosphere/contents/01006A800016E000`. - - Download Skyline: https://github.com/skyline-dev/skyline/releases. Place the `exefs` folder from the zip into `atmosphere/contents/01006A800016E000` on your SD card. + 3) No files need to be manually deleted when upgrading from a previous version. - - *For Ryujinx*: Paste these files in `%AppData%/Ryujinx/mods/contents/01006a800016e000` - files: > + 4) The The SD card should have the below files at these locations. + + ``` + SD Card Root + └── atmosphere/ + └── contents/ + └── 01006A800016E000/ + ├── exefs/ + │ ├── subsdk9 + │ └── main.npdm + └── romfs/ + └── skyline/ + └── plugins/ + ├── libnn_hid_hook.nro + ├── libnro_hook.nro + ├── libparam_hook.nro + └── libtraining_modpack.nro + ``` + + ### Installation on Ryujinx Emulator on PC + + Exact same process as above, but the filepaths are in Ryujinx's mod paths. + + 1) Extract the contents of the TrainingModpack .zip (`atmosphere` folder). Within that folder, you'll have a `contents` folder. Paste the `contents` folder inside atmosphere into `%AppData%/Ryujinx/mods/`. + + 2) Similarly, extracted contents of the Skyline .zip (`exefs` folder) into into `%AppData%/Ryujinx/mods/contents/01006a800016e000`. + + 3) No files need to be manually deleted when upgrading from a previous version. + + 4) The Ryujinx mods folder should have the files below at these locations. + + + ``` + %AppData% + └── Ryujinx/ + └── mods/ + └── contents/ + └── 01006A800016E000/ + ├── exefs/ + │ ├── subsdk9 + │ └── main.npdm + └── romfs/ + └── skyline/ + └── plugins/ + ├── libnn_hid_hook.nro + ├── libnro_hook.nro + ├── libparam_hook.nro + └── libtraining_modpack.nro + ``` + files: > training_modpack_beta.zip - name: Upload zip as artifact uses: actions/upload-artifact@v1 diff --git a/Cargo.toml b/Cargo.toml index 0bf200c..1c7876b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "training_modpack" -version = "4.0.0" +version = "5.0.0" authors = ["jugeeya "] edition = "2018" diff --git a/README.md b/README.md index dd7952e..fb55a9b 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,30 @@ -

- - -

+ + + + # Ultimate Training Modpack Plugin +
+ [![GitHub All Releases](https://img.shields.io/github/downloads/jugeeya/UltimateTrainingModpack/total?logo=download&style=for-the-badge)](https://github.com/jugeeya/UltimateTrainingModpack/releases) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/jugeeya/UltimateTrainingModpack/rust.yml?branch=main&logo=github&style=for-the-badge)](https://github.com/jugeeya/UltimateTrainingModpack/actions) -[![Discord](https://img.shields.io/discord/407970595418931200?label=discord&logo=discord&style=for-the-badge)](https://discord.gg/qU4TBwV) +[![Discord](https://img.shields.io/discord/407970595418931200?label=discord&logo=discord&style=for-the-badge)](https://discord.gg/xUZWJ5BWe7) [![Twitter Follow](https://img.shields.io/twitter/follow/jugeeya?color=brightgreen&logo=twitter&style=for-the-badge)](https://twitter.com/jugeeya) +
+ A [Skyline](https://github.com/shadowninja108/Skyline) plugin using [cargo-skyline](https://github.com/jam1garner/cargo-skyline) for adding features to the training mode. It uses native Smash UI to provide a menu for customizing training options. + The latest stable release can be found [here](https://github.com/jugeeya/UltimateTrainingModpack/releases/latest). The latest beta release can be found [here](https://github.com/jugeeya/UltimateTrainingModpack/releases/tag/beta). + - [Beta Changelog](#beta-changelog) - [Features](#features) @@ -29,68 +35,138 @@ The latest beta release can be found [here](https://github.com/jugeeya/UltimateT - [Build Instructions](#build) - - -# Beta Changelog -These are the features that can be found [in the latest beta release](https://github.com/jugeeya/UltimateTrainingModpack/releases/tag/beta) that are not in the stable release. - -### Features -* Added option for CPU to crouch when grounded - @asimon-1 -* Added Mash Triggers feature, allowing configuration of when the CPU performs mash options - @GradualSyrup -* Add ability to perform mash option after ledge trump, footstool, clatter, hitstun, tumble, and within certain distances - @asimon-1 -* Allow configurable button combinations for save states and opening the menu - @asimon-1 -* Prevent Star KOs in training mode - @GradualSyrup -* Allow user to select random damage values on save state load - @asimon-1, @jugeeya -* Clear articles like boomerang, anvil, hydrant when loading save states (crafting table excluded) - @jugeeya, -* Display frame advantage as a notification textbox - @jugeeya -* Display welcome notification with instructions on how to use the mod - @jugeeya -* Greatly improved UI and speed for the quick menu - @jugeeya, @xhudaman -* Add option to toggle off HUD - @jugeeya - -### Bugfixes -* No longer change pokemon when loading a save state with PT - @jugeeya -* Mash options are no longer buffered when loading a save state - @GradualSyrup -* Fixed issue where input delay menu selection would not be respected - @jugeeya, @asimon-1 -* Fixed bug where Pac-Man fruit preparedness wasn't saved in state - @GradualSyrup -* Fixed bug where items would deplete shields set to "Infinite" - @jugeeya -* Fixed bug where back button would not work with touch screen - @gnaomo -* Fix Joycon controllers with input delay - @asimon-1, @jugeeya -* Fix issue where CPU would perform options out of Snake's down throw too early - @asimon-1 -* Fix issue where CPU could tech untechables - @asimon-1 -* Fixed several bugs when loading a save state on ledge - @asimon-1 -* When loading mirrors save states on asymmetric stages, mirror around the stage center - @asimon-1 -* Fixes to Quick Menu when using joycons - @jugeeya - -### Adjustments -* Adjust clatter strength values - @asimon-1 -* Update infinite shield compatibility with modded gameplay - @techyCoder81 # Features The features in this modpack are configured through the menu, which can be accessed within training mode by pressing `SPECIAL+UPTAUNT`. Generally they fall into these categories: -- Enables or disables stage hazards -- Saves and loads the positional state of the player and CPU -- Displays additional information onscreen -- Controls CPU behavior +- **Mash Settings**; **Defensive Settings**: Controls CPU behavior +- **Save State Settings**: Saves and loads the positional state of the player and CPU +- **Miscellaneous Settings**: Displays additional information onscreen, enables or disables stage hazards - +## Menu Settings - +When multiple options are selected, one of the selected options will be chosen at random. Open / focused menus can be reset by pressing the `Y` button. All menus can be reset to the default by pressing the `Z`/`ZR` button. These defaults can be saved upon exiting the menu by pressing `X` when in-menu. Use this to make a preset that fits your personal training style. - +### Mash Settings - -## Stage Hazards + +
Click here for setting descriptions... -Set stage hazards on or off in Training Mode! Use this to practice on tournament legal stages with hazards. +| Feature | Description | Options | +|:---:|:---|:---| +| Mash Toggles | Actions to be performed as soon as possible out of hitstun or shieldstun | Airdodge, jump, shield, spotdodge, roll in, roll out, aerials, jab, tilts, smash attacks, grab, dash, dash attack | +| Followup Toggles | Actions to be performed after the Mash option | Airdodge, jump, shield, spotdodge, roll in, roll out, aerials, jab, tilts, smash attacks, grab, dash, dash attack | +| Mash Triggers | Conditions which will cause the CPU to perform their mash action | Hitstun, shieldstun, parry, tumble, landing, ledge trump, footstool, clatter, ledge option, tech option, grounded, airborne, distance: close, distance: mid, distance: far, always | +| Attack Angles | For attacks that can be angled, such as some forward tilts | Neutral, up, down | +| Throw Options | Throw to be performed when a grab is landed | None, Forward Throw, Back Throw, Up Throw, Down Throw | +| Throw Delay | How many frames to delay the throw option | 0 to 150 frames (2.5 seconds) in increments of 5 frames | +| Pummel Delay | How many frames after a grab to wait before starting to pummel | 0 to 150 frames (2.5 seconds) in increments of 5 frames | +| Falling Aerials | Should aerials be performed when rising or when falling | Yes, No | +| Full Hop | Should the CPU perform a full hop or a short hop | Yes, No | +| Aerial Delay | How long to delay a Mash aerial attack | 0 to 30 frames (0.5 seconds) | +| Fast Fall | Should the CPU fastfall during a jump | Yes, No | +| Fast Fall Delay | How many frames the CPU should delay their fastfall | 0 to 30 frames (0.5 seconds) | +| OoS Offset | How many times the CPU shield can be hit before performing a Mash option | 0 to 30 hits | +| Reaction Time | How many frames to delay before performing an option out of shield | 0 to 30 frames (0.5 seconds) | -## Save States + +
+ +### Defensive Settings + +
Click here for setting descriptions... + +| Feature | Description | Options | +|:---:|:---|:---| +| Airdodge Direction | Direction to angle airdodges | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | +| DI Direction | Direction to angle the directional influence during hitlag | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | +| SDI Direction | Direction to angle the smash directional influence during hitlag | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | +| SDI Strength | Relative strength of the smash directional influence inputs | None, Normal (8 frames between inputs), Medium (6 frames), High (4 frames) | +| Clatter Strength | Relative strength of mashing out of grabs, buries, etc. | None, Normal (8 frames between inputs), Medium (6 frames), High (4 frames) | +| Ledge Options | Actions to be taken when on the ledge | Neutral getup, ledge roll, ledge attack, wait | +| Ledge Delay | How many frames to delay the ledge option | 0 to 300 frames (5 seconds) in increments of 10 frames | +| Tech Options | Actions to take when slammed into a hard surface | Miss tech, tech in place, tech roll in, tech roll out | +| Mistech Options | Actions to take after missing a tech | Neutral getup, getup attack, roll in, roll out | +| Shield Toggles | CPU Shield Behavior | None, Infinite (no shield damage or decay), Hold (no shield decay until the shield is hit for the first time), Constant (no shield decay) | +| Shield Tilt | Direction to tilt the shield | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | +| Crouch | Should the CPU crouch when on the ground | Yes, No | + +
+ + + +The CPU can be instructed to perform a wide array of different actions in response to particular situations. The following situations are available: + +- Mash: To be performed after being hit or shielding an attack +- Followup: To be performed as soon as possible after the mash option +- Ledge: To be performed when hanging on the ledge +- Tech: To be performed when slammed into the ground or wall +- Miss Tech: To be performed after failing to tech +- Hitstun +- Shieldstun +- Parry +- Tumble +- Landing +- Ledge Trump +- Footstool +- Clatter ("Mashing out" of grabs, freeze, bury, etc.) +- Ledge Option +- Tech Option +- Grounded +- Airborne +- Distance: Close +- Distance: Mid +- Distance: Far +- Always + +The timing of the CPU option can be influenced by the following settings: + +- Mash Triggers +- Aerial Delay +- Ledge Delay +- OoS Offset +- Reaction Time +- Fast Fall Delay +- Falling Aerials + + + + +### Save State Settings + + + + +

+ + +

+
Click here for setting descriptions... + +| Feature | Description | Options | +|:---:|:---|:---| +| Mirroring | Flips save states in the left-right direction across the stage center | None, Alternate, Random | +| Save Damage | Should save states retain player/CPU damage | Yes, No | +| Save States Autoload | Load save state when any fighter dies | Yes, No | +| Save Damage (CPU) | What to use for CPU's damage on save state load | Default, Save State, Random | +| Damage Range (CPU) | Random percentage for save state load for CPU | 0 to 150 % | +| Save Damage (Player) | What to use for player's damage on save state load | Default, Save State, Random | +| Damage Range (Player) | Random percentage for save state load for player | 0 to 150 % | +| Enable Save States | Should save states be enabled or disabled | Yes, No | +| Character Item | CPU/Player item to hold when loading a save state | None, Player 1st Variation througher 8th variation, CPU 1st variation through 8th variation +| Buff Options | Buff(s) to be applied to respective character when loading save states | Acceleratle, Oomph, Psyche Up, Bounce, Arsene, Deep Breathing, Limit, K.O. Punch, Wing | + +
+ +#### Save States At any time in Training Mode, you can press `Grab + Down Taunt` to save the state of training mode. This will save the position, state, and damage of each fighter, which can then be reverted to at any time with `Grab + Up Taunt`. With the mirroring setting, loading the save state will flip the positions, allowing you to practice your skills facing both directions. Use this instead of the built-in training mode reset! +You can switch Save State slots by using `Grab + Left Taunt` to switch to a previous slot and `Grab + Right Taunt` to switch to the next. There are 5 slots you can save, and they are persisted between loads of the game! + The following attributes are saved in the save states: - X position @@ -131,7 +207,7 @@ With the following attributes applied according to the menu selection when loadi - Wii Fit Trainer: Deep breathing - Character item -The following table lists the available items to be loaded: +
Click here to see the available items to be loaded. | Fighter | Item Variation 1 | Item Variation 2 | Item Variation 3 | Item Variation 4 | Item Variation 5 | Item Variation 6 | Item Variation 7 | Item Variation 8 | |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| @@ -154,86 +230,43 @@ The following table lists the available items to be loaded: | Villager | Wood Chip | - | - | - | - | - | - | - | | Young Link | Bomb | - | - | - | - | - | - | - | - +
-## Input Delay + + +### Miscellaneous Settings + + +#### Stage Hazards + +Set stage hazards on or off in Training Mode! Use this to practice on tournament legal stages with hazards. + +#### Input Delay Practice with emulated extra input delay, in frames. Use this to practice with online's default delay, which is typically 4-5 frames. -## Frame Advantage +#### Frame Advantage -Practice moves on shield to find out the frame advantage of the moves performed. Best used with Infinite Shield. Can also be used to find the advantage on hit to determine appropriate followups. +Practice moves on shield to find out the frame advantage of the moves performed. Best used with Shield Toggles set to Infinite. -## Hitbox Visualization +#### Hitbox Visualization Currently, hitboxes and grabboxes are supported. When visualization is active, other move effects are temporarily turned off for easier visualization. -## CPU Behavior + +
Click here for setting descriptions... -The CPU can be instructed to perform a wide array of different actions in response to particular situations. The following situations are available: +| Feature | Description | Options | +|:---:|:---|:---| +| Frame Advantage | Display the time difference between when the player is actionable and the CPU is actionable | Yes, No | +| Hitbox Visualization | Should hitboxes be displayed, hiding other visual effects | Yes, No | +| Input Delay | Frames to delay player inputs by | 0 to 10 frames (0.167 seconds) | +| Stage Hazards | Should stage hazards be present | Yes, No | +| HUD | Turn UI on or off | Yes, No | -- Mash: To be performed after being hit or shielding an attack -- Followup: To be performed as soon as possible after the mash option -- Ledge: To be performed when hanging on the ledge -- Tech: To be performed when slammed into the ground or wall -- Miss Tech: To be performed after failing to tech - -The timing of the CPU option can be influenced by the following settings: - -- Mash Triggers -- Aerial Delay -- Ledge Delay -- OoS Offset -- Reaction Time -- Fast Fall Delay -- Falling Aerials - ------ - -## Menu Settings - -When multiple options are selected, one of the selected options will be chosen at random. Open / focused menus can be reset by pressing the `X` button. All menus can be reset to the default by pressing the `L` button. These defaults can be saved upon exiting the menu by pressing `R` when in-menu. Use this to make a preset that fits your personal training style. +
-| Tab | Feature | Description | Options | -|:---:|:---:|:---|:---| -| Mash Settings | Mash Toggles | Actions to be performed as soon as possible out of hitstun or shieldstun | Airdodge, jump, shield, spotdodge, roll in, roll out, aerials, jab, tilts, smash attacks, grab, dash, dash attack | -| Mash Settings | Followup Toggles | Actions to be performed after the Mash option | Airdodge, jump, shield, spotdodge, roll in, roll out, aerials, jab, tilts, smash attacks, grab, dash, dash attack | -| Mash Settings | Mash Triggers | Conditions which will cause the CPU to perform their mash action | Hitstun, shieldstun, parry, tumble, landing, ledge trump, footstool, clatter, ledge option, tech option, grounded, airborne, distance: close, distance: mid, distance: far, always | -| Mash Settings | Attack Angles | For attacks that can be angled, such as some forward tilts | Neutral, up, down | -| Mash Settings | Throw Options | Throw to be performed when a grab is landed | None, Forward Throw, Back Throw, Up Throw, Down Throw | -| Mash Settings | Throw Delay | How many frames to delay the throw option | 0 to 150 frames (2.5 seconds) in increments of 5 frames | -| Mash Settings | Pummel Delay | How many frames after a grab to wait before starting to pummel | 0 to 150 frames (2.5 seconds) in increments of 5 frames | -| Mash Settings | Falling Aerials | Should aerials be performed when rising or when falling | Yes, No | -| Mash Settings | Full Hop | Should the CPU perform a full hop or a short hop | Yes, No | -| Mash Settings | Aerial Delay | How long to delay a Mash aerial attack | 0 to 30 frames (0.5 seconds) | -| Mash Settings | Fast Fall | Should the CPU fastfall during a jump | Yes, No | -| Mash Settings | Fast Fall Delay | How many frames the CPU should delay their fastfall | 0 to 30 frames (0.5 seconds) | -| Mash Settings | OoS Offset | How many times the CPU shield can be hit before performing a Mash option | 0 to 30 hits | -| Mash Settings | Reaction Time | How many frames to delay before performing an option out of shield | 0 to 30 frames (0.5 seconds) | -| ----- | ----- | ----- | ----- | -| Defensive Settings | Airdodge Direction | Direction to angle airdodges | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | -| Defensive Settings | DI Direction | Direction to angle the directional influence during hitlag | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | -| Defensive Settings | SDI Direction | Direction to angle the smash directional influence during hitlag | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | -| Defensive Settings | SDI Strength | Relative strength of the smash directional influence inputs | None, Normal (8 frames between inputs), Medium (6 frames), High (4 frames) | -| Defensive Settings | Clatter Strength | Relative strength of mashing out of grabs, buries, etc. | None, Normal (8 frames between inputs), Medium (6 frames), High (4 frames) | -| Defensive Settings | Ledge Options | Actions to be taken when on the ledge | Neutral getup, ledge roll, ledge attack, wait | -| Defensive Settings | Ledge Delay | How many frames to delay the ledge option | 0 to 300 frames (5 seconds) in increments of 10 frames | -| Defensive Settings | Tech Options | Actions to take when slammed into a hard surface | Miss tech, tech in place, tech roll in, tech roll out | -| Defensive Settings | Mistech Options | Actions to take after missing a tech | Neutral getup, getup attack, roll in, roll out | -| Defensive Settings | Shield Toggles | CPU Shield Behavior | None, Infinite (no shield damage or decay), Hold (no shield decay until the shield is hit for the first time), Constant (no shield decay) | -| Defensive Settings | Shield Tilt | Direction to tilt the shield | Neutral, out, up-out, up, up-in, in, down-in, down, down-out, left, right | -| Defensive Settings | Buff Options | Buff(s) to be applied to respective character when loading save states | Acceleratle, Oomph, Psyche Up, Bounce, Arsene, Deep Breathing, Limit, K.O. Punch, Wing | -| Defensive Settings | Character Item | CPU/Player item to hold when loading a save state | None, Player 1st Variation througher 8th variation, CPU 1st variation through 8th variation | -| ----- | ----- | ----- | ----- | -| Misc Settings | Mirroring | Flips save states in the left-right direction across the stage center | None, Alternate, Random | -| Misc Settings | Save Damage | Should save states retain player/CPU damage | Yes, No | -| Misc Settings | Enable Save States | Should save states be enabled or disabled | Yes, No | -| Misc Settings | Save States Autoload | Load save state when any fighter dies | Yes, No | -| Misc Settings | Frame Advantage | Display the time difference between when the player is actionable and the CPU is actionable | Yes, No | -| Misc Settings | Hitbox Visualization | Should hitboxes be displayed, hiding other visual effects | Yes, No | -| Misc Settings | Input Delay | Frames to delay player inputs by | 0 to 10 frames (0.167 seconds) | -| Misc Settings | Stage Hazards | Should stage hazards be present | Yes, No |
@@ -241,81 +274,85 @@ When multiple options are selected, one of the selected options will be chosen a The training modpack requires the following prerequisite packages: -* Atmosphere: https://github.com/Atmosphere-NX/Atmosphere/releases * Skyline: https://github.com/skyline-dev/skyline/releases + * This is a generic code mod loader for Nintendo Switch games that the Training Modpack uses. -To install the training modpack, download the .zip file from the [latest release page](https://github.com/jugeeya/UltimateTrainingModpack/releases/latest). Extract the files from the .zip file using the file explorer on Windows or Mac, or a program such as 7-zip (windows) or unzip (Linux). Then transfer the extracted contents (atmosphere folder) onto the root of your SD card, merging the /atmosphere folder with the one on your SD card. No files need to be manually deleted when upgrading from a previous version. The SD card should have the below files at these locations. +To install the Training Modpack, download the .zip file from the [latest release page](https://github.com/jugeeya/UltimateTrainingModpack/releases/latest). Extract the files from the .zip file using the file explorer on Windows or Mac, or a program such as 7-zip (windows) or unzip (Linux). + +## Installation on Nintendo Switch + +* Atmosphere: https://github.com/Atmosphere-NX/Atmosphere/releases + * This is the custom firmware that is required for any hacked Switch. One great guide for installation here can be found at https://switch.homebrew.guide/. + +1) Transfer the extracted contents of the TrainingModpack .zip (`atmosphere` folder) onto the root of your SD card, merging the `/atmosphere` folder with the one on your SD card. +2) Similarly, transfer the extracted contents of the Skyline .zip (`exefs` folder) into `sd:/atmosphere/contents/01006A800016E000`. +3) No files need to be manually deleted when upgrading from a previous version. +4) The The SD card should have the below files at these locations. ``` SD Card Root -└── atmosphere - └── contents - └── 01006A800016E000 - ├── manual_html - │ └── html-document - │ └── training_modpack.htdocs - │ ├── img - │ │ ├── aerial_delay.svg - │ │ ├── air_dodge_dir.svg - │ │ ├── attack_angle.svg - │ │ ├── buff_state.svg - │ │ ├── check.svg - │ │ ├── clatter_strength.svg - │ │ ├── di_state.svg - │ │ ├── falling_aerials.svg - │ │ ├── fast_fall.svg - │ │ ├── fast_fall_delay.svg - │ │ ├── follow_up.svg - │ │ ├── frame_advantage.svg - │ │ ├── full_hop.svg - │ │ ├── input_delay.svg - │ │ ├── ledge_delay.svg - │ │ ├── ledge_state.svg - │ │ ├── mash_state.svg - │ │ ├── mash_triggers.svg - │ │ ├── miss_tech_state.svg - │ │ ├── oos_offset.svg - │ │ ├── pummel_delay.svg - │ │ ├── reaction_time.svg - │ │ ├── save_damage.svg - │ │ ├── save_state_enable.svg - │ │ ├── save_state_mirroring.svg - │ │ ├── sdi_state.svg - │ │ ├── sdi_strength.svg - │ │ ├── shield_state.svg - │ │ ├── shield_tilt.svg - │ │ ├── stage_hazards.svg - │ │ ├── tech_state.svg - │ │ ├── throw_delay.svg - │ │ └── throw_state.svg - └── romfs - └── skyline - └── plugins +└── atmosphere/ + └── contents/ + └── 01006A800016E000/ + ├── exefs/ + │ ├── subsdk9 + │ └── main.npdm + └── romfs/ + └── skyline/ + └── plugins/ ├── libnn_hid_hook.nro ├── libnro_hook.nro ├── libparam_hook.nro └── libtraining_modpack.nro ``` +## Installation on Ryujinx Emulator on PC +Exact same process as above, but the filepaths are in Ryujinx's mod paths. + +1) Extract the contents of the TrainingModpack .zip (`atmosphere` folder). Within that folder, you'll have a `contents` folder. Paste the `contents` folder inside atmosphere into `%AppData%/Ryujinx/mods/`. +2) Similarly, extracted contents of the Skyline .zip (`exefs` folder) into into `%AppData%/Ryujinx/mods/contents/01006a800016e000`. +3) No files need to be manually deleted when upgrading from a previous version. +4) The Ryujinx mods folder should have the files below at these locations. + +``` +%AppData% +└── Ryujinx/ + └── mods/ + └── contents/ + └── 01006A800016E000/ + ├── exefs/ + │ ├── subsdk9 + │ └── main.npdm + └── romfs/ + └── skyline/ + └── plugins/ + ├── libnn_hid_hook.nro + ├── libnro_hook.nro + ├── libparam_hook.nro + └── libtraining_modpack.nro +``` + +## Beta Installation + To install a beta version of the modpack, follow the same procedure using the [latest beta release](https://github.com/jugeeya/UltimateTrainingModpack/tree/beta) on Github. Beta releases may have additional features and bugfixes, but are subject to change. # Frequently Asked Questions -1. **There was a switch update, can I install it?** +1. **There was a Switch update, can I install it?** - Whenever there is a switch update, you will need to update Atmosphere as well. To continue playing with mods, you should not install switch updates until there is a corresponding Atmosphere update. If you accidentally update your switch and there isn't an atmosphere update available yet, you can continue playing without mods by turning your switch fully off (hold the power button) then turning it back on normally. -2. **There was a smash update, can I install it?** + Whenever there is a Switch update, you will need to update Atmosphere as well. To continue playing with mods, you should not install switch updates until there is a corresponding Atmosphere update. If you accidentally update your switch and there isn't an atmosphere update available yet, you can continue playing without mods by turning your switch fully off (hold the power button) then turning it back on normally. +2. **There was a Smash update, can I install it?** - Yes, you can install updates to smash. The training modpack is generally resistant to changes in the game, so smash itself can be safely updated. -3. **Can my switch run the Training Modpack?** + Yes, you can install updates to Smash. The training modpack is generally resistant to changes in the game, so Smash itself can be safely updated. +3. **Can my Switch run the Training Modpack?** - Depending on when your switch was manufactured, the exploits used to allow access to mods may or may not be patched and it may be possible for you to run mods like the Training Modpack on your switch. Enter the serial number of your switch into https://ismyswitchpatched.com/ to determine if your switch can be modded or not. -4. **My switch is patched, can I still install the Training Modpack?** + Depending on when your Switch was manufactured, the exploits used to allow access to mods may or may not be patched and it may be possible for you to run mods like the Training Modpack on your switch. Enter the serial number of your switch into https://ismyswitchpatched.com/ to determine if your switch can be modded or not. +4. **My Switch is patched, can I still install the Training Modpack?** - No, your switch cannot run the Training Modpack. Only units that were manufactured before a certain point can run custom firmware and game mods. -5. **My switch is "Possibly Patched", can I still install the Training Modpack?** + No, your Switch cannot run the Training Modpack. Only units that were manufactured before a certain point can run custom firmware and game mods. +5. **My Switch is "Possibly Patched", can I still install the Training Modpack?** Possibly - it is not known whether your switch has the hardware patch installed or not. However, you can find out with no risk by completing the installation steps through step 12. If your switch launches into Atmosphere, then it is unpatched and you can run mods. If Tegra gives the message "Smashed the stack with a 0x0000 byte SETUP request!", then your switch is patched and cannot run mods. 6. **Do I need an emuMMC?** @@ -323,11 +360,11 @@ To install a beta version of the modpack, follow the same procedure using the [l No, an emuMMC is not required for smash mods. Using an emuMMC is complicated and a known ban risk when connected online, so it is not recommended. 7. **Can this mod be run on emulators?** - There is experimental support the Training Modpack on Ryujinx. Yuzu does not support Skyline (a prerequisite for loading the Training Modpack), so it cannot run the Training Modpack at this time. + Yes, using Ryujinx! See the installation instructions for more information. Yuzu does not support Skyline (a prerequisite for loading the Training Modpack), so it cannot run the Training Modpack at this time. 8. **How do I know that I installed the Training Modpack correctly?** - When launching smash for the first time after installing the Training Modpack, you should receive a pop up notification confirming that you've installed it correctly. You can also check your SD card to make sure that you have all of the files installed in the correct location. If you have the following files, its likely that everything else is installed correctly as well. `SD:/atmosphere/contents/01006A800016E000/exefs/main.npdm`, `SD:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/libtraining_modpack.nro` -9. **How do I launch smash without the Training Modpack?** + When launching Smash for the first time after installing the Training Modpack, you should receive a pop up notification confirming that you've installed it correctly. You can also check your SD card to make sure that you have all of the files installed in the correct location. If you have the following files, its likely that everything else is installed correctly as well. `SD:/atmosphere/contents/01006A800016E000/exefs/main.npdm`, `SD:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/libtraining_modpack.nro`, etc. +9. **How do I launch Smash without the Training Modpack?** Hold the `L` button as you are launching smash. 10. **I can launch smash, but the mod doesn't seem to be doing anything in training mode?** @@ -400,9 +437,7 @@ To install a beta version of the modpack, follow the same procedure using the [l Currently the known conflicts are: - * HewDraw Remix (HDR) * Minecraft Skins - * Blujay's Hitbox Visualizer 30. **Who created the Training Modpack?** @@ -426,3 +461,17 @@ To build the entire modpack including supporting files, use the steps in the [Gi ## Prerequisites - Stable Rust environment with [cargo-skyline](https://github.com/jam1garner/cargo-skyline) + + + +# Beta Changelog +These are the features that can be found [in the latest beta release](https://github.com/jugeeya/UltimateTrainingModpack/releases/tag/beta) that are not in the stable release. + +### Features +N/A + +### Bugfixes +N/A + +### Adjustments +N/A diff --git a/photos/2022051021130700-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg b/photos/2022051021130700-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg deleted file mode 100644 index 54a6457..0000000 Binary files a/photos/2022051021130700-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg and /dev/null differ diff --git a/photos/2022051021131000-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg b/photos/2022051021131000-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg deleted file mode 100644 index e168a50..0000000 Binary files a/photos/2022051021131000-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg and /dev/null differ diff --git a/photos/2022051021131300-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg b/photos/2022051021131300-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg deleted file mode 100644 index 7d4e6e6..0000000 Binary files a/photos/2022051021131300-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg and /dev/null differ diff --git a/photos/2022051021134700-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg b/photos/2022051021134700-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg deleted file mode 100644 index e789403..0000000 Binary files a/photos/2022051021134700-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg and /dev/null differ diff --git a/photos/2022051021135400-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg b/photos/2022051021135400-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg deleted file mode 100644 index 3f53342..0000000 Binary files a/photos/2022051021135400-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg and /dev/null differ diff --git a/photos/2022060221360900-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg b/photos/2022060221360900-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg deleted file mode 100644 index 98ed99c..0000000 Binary files a/photos/2022060221360900-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg and /dev/null differ diff --git a/photos/2022060221415900-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg b/photos/2022060221415900-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg deleted file mode 100644 index 734ab1a..0000000 Binary files a/photos/2022060221415900-0E7DF678130F4F0FA2C88AE72B47AFDF.jpg and /dev/null differ diff --git a/photos/character_item.gif b/photos/character_item.gif new file mode 100644 index 0000000..98203e6 Binary files /dev/null and b/photos/character_item.gif differ diff --git a/photos/damage_range.png b/photos/damage_range.png new file mode 100644 index 0000000..4d76fcd Binary files /dev/null and b/photos/damage_range.png differ diff --git a/photos/defensive_settings.png b/photos/defensive_settings.png new file mode 100644 index 0000000..000dd01 Binary files /dev/null and b/photos/defensive_settings.png differ diff --git a/photos/mash_settings.png b/photos/mash_settings.png new file mode 100644 index 0000000..6ca4683 Binary files /dev/null and b/photos/mash_settings.png differ diff --git a/photos/mash_trigger_tumble.gif b/photos/mash_trigger_tumble.gif new file mode 100644 index 0000000..28ae9a5 Binary files /dev/null and b/photos/mash_trigger_tumble.gif differ diff --git a/photos/mash_triggers.png b/photos/mash_triggers.png new file mode 100644 index 0000000..ab75525 Binary files /dev/null and b/photos/mash_triggers.png differ diff --git a/photos/misc_settings.png b/photos/misc_settings.png new file mode 100644 index 0000000..f386d7e Binary files /dev/null and b/photos/misc_settings.png differ diff --git a/photos/save_states.png b/photos/save_states.png new file mode 100644 index 0000000..a03cbd3 Binary files /dev/null and b/photos/save_states.png differ