From d23dcdf968518ab9302bc94cf25d070c7c3a9a52 Mon Sep 17 00:00:00 2001 From: jugeeya Date: Tue, 7 Feb 2023 06:01:52 -0800 Subject: [PATCH] Deprecate Web Menu (#472) * Initial * Fixes --- .github/workflows/rust.yml | 2 +- README.md | 51 ++- src/common/menu.rs | 135 +------ src/lib.rs | 18 +- src/static/css/nouislider.min.css | 1 - src/static/css/training_modpack.css | 342 ------------------ src/static/js/nouislider.min.js | 1 - src/static/js/training_modpack.js | 521 ---------------------------- src/templates/frame_adv.webp | Bin 129008 -> 0 bytes src/templates/menu.html | 83 ----- src/templates/slider.js | 77 ---- training_mod_consts/src/lib.rs | 9 - 12 files changed, 32 insertions(+), 1208 deletions(-) delete mode 100644 src/static/css/nouislider.min.css delete mode 100644 src/static/css/training_modpack.css delete mode 100644 src/static/js/nouislider.min.js delete mode 100644 src/static/js/training_modpack.js delete mode 100644 src/templates/frame_adv.webp delete mode 100644 src/templates/menu.html delete mode 100644 src/templates/slider.js diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 7bfe276..6dbf46b 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -28,7 +28,7 @@ jobs: - name: Check run: cargo +nightly check --target=x86_64-unknown-linux-gnu - name: Clippy - run: cargo +nightly clippy --all-targets --all-features --target=x86_64-unknown-linux-gnu + run: cargo +nightly clippy --all-targets --all-features --target=x86_64-unknown-linux-gnu -- -D warnings - name: TUI Test working-directory: training_mod_tui run: cargo +nightly test diff --git a/README.md b/README.md index 3b34d3a..fc5c7d3 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ [![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 interfaces with [skyline-web](https://github.com/skyline-rs/skyline-web) to provide a menu for customizing training options. +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). @@ -36,7 +36,6 @@ These are the features that can be found [in the latest beta release](https://gi ### Features * Added option for CPU to crouch when grounded - @asimon-1 -* Improved web menu UI - @asimon-1, @xhudaman, @jugeeya * 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 @@ -235,7 +234,6 @@ When multiple options are selected, one of the selected options will be chosen a | 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 | -| Misc Settings | Quick Menu | Should use the quick menu instead of the web menu | Yes, No | @@ -256,8 +254,6 @@ SD Card Root ├── manual_html │ └── html-document │ └── training_modpack.htdocs - │ ├── css - │ │ └── training_modpack.css │ ├── img │ │ ├── aerial_delay.svg │ │ ├── air_dodge_dir.svg @@ -280,7 +276,6 @@ SD Card Root │ │ ├── miss_tech_state.svg │ │ ├── oos_offset.svg │ │ ├── pummel_delay.svg - │ │ ├── quick_menu.svg │ │ ├── reaction_time.svg │ │ ├── save_damage.svg │ │ ├── save_state_enable.svg @@ -293,8 +288,6 @@ SD Card Root │ │ ├── tech_state.svg │ │ ├── throw_delay.svg │ │ └── throw_state.svg - │ └── js - │ └── training_modpack.js └── romfs └── skyline └── plugins @@ -343,22 +336,20 @@ To install a beta version of the modpack, follow the same procedure using the [l 11. **How do I open the menu?** Hold the `SPECIAL` button and press `UP TAUNT` while in training mode. Typically this is `B+DPAD UP`, but do note that these are affected by your control scheme so if you have changed those inputs you need to adjust accordingly. -12. **Why does the menu open slowly?** - The menu uses a built-in web browser for its display, inputs, and styling. It takes about 2 seconds for the browser to open. If you prefer a quicker experience and are frequently opening the menu to adjust your settings, the beta release includes a "Quick Menu" with a different backend. -13. **Why are the save state mirroring positions slightly off on Town and City and Smashville?** +12. **Why are the save state mirroring positions slightly off on Town and City and Smashville?** These two stages are actually slightly asymmetrical. On Smashville, the left side is 4 units longer than the right side. On Town and City, the left side is 2 units shorter than the right side. This asymmetry is not currently accounted for in the Training Modpack when mirroring save states. -14. **How do I install the Training Modpack?** +13. **How do I install the Training Modpack?** Full installation instructions are provided in the [#setup-and-download](https://discord.com/channels/407970595418931200/407971997008658432) Discord channel. -15. **How do I install an update to the Training Modpack?** +14. **How do I install an update to the Training Modpack?** The process for installing and update is very similar to the initial installation. Download the new `.zip` file from the Github releases page, extract the contents, then drag the atmosphere folder to the root of your SD card. Any existing files will be replaced, so there is no need to delete any files manually. -16. **How do I install a beta release to the Training Modpack?** +15. **How do I install a beta release to the Training Modpack?** To install a beta release, follow the same process as updating the Training Modpack. Download the beta `.zip` file from the Github releases page, extract the contents, and drag the atmosphere folder to the root of your SD card. Any existing files will be replaced, so there is no need to delete any files manually. -17. **How do I remove the Training Modpack?** +16. **How do I remove the Training Modpack?** Removing the Training Modpack is as simple as deleting the files and folders that are associated with the modpack, listed below: `SD:/atmosphere/contents/01006A800016E000/manual_html/html-document/training_modpack.htdocs/` @@ -367,45 +358,45 @@ To install a beta version of the modpack, follow the same procedure using the [l `SD:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/libparam_hook.nro` `SD:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins/libtraining_modpack.nro` `SD:/TrainingModpack/` -18. **Can I donate to the Training Modpack?** +17. **Can I donate to the Training Modpack?** You can find the donation link in the [#faq](https://discord.com/channels/407970595418931200/714960353058095216) Discord channel. We use the money to commission video edits for releases, so thank you if you do end up donating! -19. **Do I have to repeat the process of installing the mods EVERY time I turn my switch on?** +18. **Do I have to repeat the process of installing the mods EVERY time I turn my switch on?** The custom firmware Atmosphere stays loaded when the switch goes to sleep, but not if it is fully powered off. So you only need to go through the process of injecting the payload through TegraRCMGui when the switch is fully powered off, such as if the SD card is removed. -20. **I've heard about people getting banned while uing this mod online. Can I use this while playing online without getting banned?** +19. **I've heard about people getting banned while uing this mod online. Can I use this while playing online without getting banned?** The Training Modpack features are only applied while in training mode and do not affect any of the other game modes outside of it, including online play. Smash online is client sided, so only the data that is sent to other players is available for inspection by Nintendo. Since the Training Modpack doesn't affect that data, the Training Modpack is safe to use when playing online. This conclusion is backed up by user experience, where many users have played online with the Training Modpack active and have suffered no adverse consequences. *HOWEVER*, please understand that there is inherent risk involved with smash modding, and no guarantee is made that your switch will not be banned. Other wifi-unsafe mods, unsportsmanlike online play, cheating, save editors, online emuMMC, pirating, and other activities may result in a ban. Nintendo has not published a list of ban-worthy activities, nor have they communicated that modding is acceptable, but these are several well-known causes from user experience. It is your responsibility to understand these risks, since it is your switch and your choices. -21. **Can I change the button combination to bring up the menu?** +20. **Can I change the button combination to bring up the menu?** This functionality is not supported at this time. However, it is a common request and we are looking into the possibility for the future. -22. **What features does the Training Modpack have? What does each option do?** +21. **What features does the Training Modpack have? What does each option do?** The Training Modpack has a wide array of features to improve training mode. Some of the more impactful improvements are the ability to save and load fighter positions, practice with hazards off, and adjust CPU behavior in certain scenarios. A full list and explanation of the different settings is available on the Github page here: https://github.com/jugeeya/UltimateTrainingModpack#features -23. **I think I found a bug in the Training Modpack. How do I report it?** +22. **I think I found a bug in the Training Modpack. How do I report it?** First check in the #bug-reports channel and Github Issues to see if it has already been reported. If it hasn't, please collect as much information as you can about the bug (including how to reproduce it!) and submit it either in the [#bug-reports](https://discord.com/channels/407970595418931200/407971515171340289) Discord channel or as an issue on Github here: https://github.com/jugeeya/UltimateTrainingModpack/issues -24. **I have an idea for a new feature in the Training Modpack? How do I suggest it?** +23. **I have an idea for a new feature in the Training Modpack? How do I suggest it?** Suggestions are always welcome! You can request new features in the [#requests](https://discord.com/channels/407970595418931200/407971627138285579) Discord channel. Please do keep in mind that the developers are volunteers with busy lives, so we may not be able to implement every suggestion, but we do read all requests in that channel and often prioritize features that are highly requested. -25. **What happens when I pick multiple options for a setting, such as mash or tech options?** +24. **What happens when I pick multiple options for a setting, such as mash or tech options?** Some menu settings allow for multiple selections. When there are several settings selected, the CPU will randomly choose between the selections when that setting is triggered. For instance, if you have both "Ledge Jump" and "Neutral Getup" selected under "Ledge Options", then the CPU will randomly select between those two options when deciding what to do when it is on the ledge. -26. **How do I reset my Training Modpack settings?** +25. **How do I reset my Training Modpack settings?** If you want to completely reset your menu selections back to the factory default, all you have to do is delete this file: `SD:/TrainingModpack/training_modpack_menu.conf` -27. **What input delay should I pick for practicing online?** +26. **What input delay should I pick for practicing online?** Good LAN connections can be simulated with an input delay of 3-5 frames. Poorer Wifi connections can be up to 6-8 frames. -28. **How do I install other mods, like skins or stages?** +27. **How do I install other mods, like skins or stages?** You will need to use the Arcropolis mod manager to enable other types of mods. This discord is focused on the Training Modpack; more information on installation of other mods can be found in the general SSBU modding Discord, which is linked in the [#welcome](https://discord.com/channels/407970595418931200/721077130456203335) channel. -29. **Can I put the Training Modpack under my `SD:/ultimate/mods` folder?** +28. **Can I put the Training Modpack under my `SD:/ultimate/mods` folder?** No, the Training Modpack is not supported in a chainloading configuration. Please only install in the recommended location. -30. **Are there any known mods that conflict with the Training Modpack?** +29. **Are there any known mods that conflict with the Training Modpack?** Currently the known conflicts are: @@ -413,11 +404,11 @@ To install a beta version of the modpack, follow the same procedure using the [l * Minecraft Skins * Blujay's Hitbox Visualizer -31. **Who created the Training Modpack?** +30. **Who created the Training Modpack?** jugeeya is the creator of the Training Modpack, along with its predecessor in Smash 4. There are a number of developers who contribute new features and bugfixes as well, listed on the contributors page: https://github.com/jugeeya/UltimateTrainingModpack/graphs/contributors -32. **I want to contribute as a developer to the Training Modpack. How do I get started?** +31. **I want to contribute as a developer to the Training Modpack. How do I get started?** If you'd like to help out as a developer, we welcome any contributions! The Training Modpack is written in Rust, and uses the Skyline framework to hook into existing Smash functions to add functionality to training mode. If you aren't already familiar with Rust, the Rust book is a great place to start familiarizing yourself with the syntax and structure: https://doc.rust-lang.org/book/ . You can also take a look through the existing codebase on Github to check out how everything works right now. It's all open source! diff --git a/src/common/menu.rs b/src/common/menu.rs index 548b4b8..95870d9 100644 --- a/src/common/menu.rs +++ b/src/common/menu.rs @@ -3,13 +3,7 @@ use crate::events::{Event, EVENT_QUEUE}; use crate::logging::*; use crate::training::frame_counter; -use ramhorns::Template; -use skyline::info::get_program_id; use skyline::nn::hid::NpadGcState; -use skyline::nn::web::WebSessionBootMode; -use skyline_web::{Background, BootDisplay, WebSession, Webpage}; -use std::fs; -use std::path::Path; use training_mod_consts::MenuJsonStruct; static mut FRAME_COUNTER_INDEX: usize = 0; @@ -21,9 +15,6 @@ pub fn init() { unsafe { FRAME_COUNTER_INDEX = frame_counter::register_counter(); QUICK_MENU_FRAME_COUNTER_INDEX = frame_counter::register_counter(); - if !is_emulator() { - write_web_menu_file(); - } } } @@ -45,32 +36,13 @@ pub unsafe fn menu_condition(module_accessor: &mut smash::app::BattleObjectModul } } -pub unsafe fn write_web_menu_file() { - let tpl = Template::new(include_str!("../templates/menu.html")).unwrap(); - - let overall_menu = ui_menu(MENU); - - let data = tpl.render(&overall_menu); - - // Now that we have the html, write it to file - // From skyline-web - let program_id = get_program_id(); - let htdocs_dir = "training_modpack"; - let menu_html_path = Path::new("sd:/atmosphere/contents") - .join(format!("{program_id:016X}")) - .join(format!("manual_html/html-document/{htdocs_dir}.htdocs/")) - .join("training_menu.html"); - fs::write(menu_html_path, data).expect("Failed to write menu HTML file"); -} - const MENU_CONF_PATH: &str = "sd:/TrainingModpack/training_modpack_menu.json"; pub unsafe fn set_menu_from_json(message: &str) { - let web_response = serde_json::from_str::(message); + let response = serde_json::from_str::(message); info!("Received menu message: {message}"); - if let Ok(message_json) = web_response { + if let Ok(message_json) = response { // Includes both MENU and DEFAULTS_MENU - // From Web Applet MENU = message_json.menu; DEFAULTS_MENU = message_json.defaults_menu; std::fs::write( @@ -85,14 +57,6 @@ pub unsafe fn set_menu_from_json(message: &str) { &format!("{message:#?}\0") ); }; - if MENU.quick_menu == OnOff::Off && is_emulator() { - skyline::error::show_error( - 0x69, - "Cannot use web menu on emulator.\n\0", - "Only the quick menu is runnable via emulator currently.\n\0", - ); - MENU.quick_menu = OnOff::On; - } } pub fn spawn_menu() { @@ -102,24 +66,12 @@ pub fn spawn_menu() { frame_counter::reset_frame_count(QUICK_MENU_FRAME_COUNTER_INDEX); frame_counter::start_counting(QUICK_MENU_FRAME_COUNTER_INDEX); - if MENU.quick_menu == OnOff::Off { - #[cfg(feature = "web_session_preload")] - { - WEB_MENU_ACTIVE = true; - } - - #[cfg(not(feature = "web_session_preload"))] - { - spawn_web_session(new_web_session(false)); - } - } else { - let mut app = QUICK_MENU_APP.lock(); - *app = training_mod_tui::App::new( - ui_menu(MENU), - (ui_menu(DEFAULTS_MENU), serde_json::to_string(&DEFAULTS_MENU).unwrap())); - drop(app); - QUICK_MENU_ACTIVE = true; - } + let mut app = QUICK_MENU_APP.lock(); + *app = training_mod_tui::App::new( + ui_menu(MENU), + (ui_menu(DEFAULTS_MENU), serde_json::to_string(&DEFAULTS_MENU).unwrap())); + drop(app); + QUICK_MENU_ACTIVE = true; } } @@ -371,73 +323,4 @@ pub unsafe fn quick_menu_loop() { } } } -} - -static mut WEB_MENU_ACTIVE: bool = false; - -unsafe fn spawn_web_session(session: WebSession) { - info!("Opening menu session..."); - let loaded_msg = session.recv(); - info!("Received loaded message from web: {}", &loaded_msg); - let message_send = MenuJsonStruct { - menu: MENU, - defaults_menu: DEFAULTS_MENU, - }; - session.send_json(&message_send); - let message_recv = session.recv(); - info!("Tearing down Training Modpack menu session"); - session.exit(); - session.wait_for_exit(); - set_menu_from_json(&message_recv); - EVENT_QUEUE.push(Event::menu_open(message_recv)); -} - -unsafe fn new_web_session(hidden: bool) -> WebSession { - Webpage::new() - .background(Background::BlurredScreenshot) - .boot_icon(true) - .boot_display(BootDisplay::BlurredScreenshot) - .htdocs_dir("training_modpack") - .start_page("training_menu.html") - .open_session(if hidden { - WebSessionBootMode::InitiallyHidden - } else { - WebSessionBootMode::Default - }) - .unwrap() -} - -pub unsafe fn web_session_loop() { - // Don't query the FighterManager too early otherwise it will crash... - std::thread::sleep(std::time::Duration::new(30, 0)); // sleep for 30 secs on bootup - let mut web_session: Option = None; - loop { - std::thread::sleep(std::time::Duration::from_millis(100)); - if (is_ready_go() || entry_count() > 0) && is_training_mode() { - if web_session.is_some() { - if WEB_MENU_ACTIVE { - spawn_web_session(web_session.unwrap()); - web_session = None; - WEB_MENU_ACTIVE = false; - } - } else { - // TODO - // Starting a new session causes some ingame lag. - // Investigate whether we can minimize this lag by - // waiting until the player is idle or using CPU boost mode - info!("Starting new menu session..."); - web_session = Some(new_web_session(true)); - } - } else { - // No longer in training mode, tear down the session. - // This will avoid conflicts with other web plugins, and helps with stability. - // Having the session open too long, especially if the switch has been put to sleep, can cause freezes - if let Some(web_session_to_kill) = web_session { - info!("Tearing down Training Modpack menu session"); - web_session_to_kill.exit(); - web_session_to_kill.wait_for_exit(); - } - web_session = None; - } - } -} +} \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index ddecf48..764a4dc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,7 +3,6 @@ #![feature(exclusive_range_pattern)] #![feature(once_cell)] #![feature(c_variadic)] -#![deny(warnings)] #![allow( clippy::borrow_interior_mutable_const, clippy::declare_interior_mutable_const, @@ -33,9 +32,7 @@ use std::fs; use crate::logging::*; use crate::menu::quick_menu_loop; -#[cfg(feature = "web_session_preload")] -use crate::menu::web_session_loop; -use training_mod_consts::{MenuJsonStruct, OnOff}; +use training_mod_consts::MenuJsonStruct; use crate::training::ui::notifications::notification; fn nro_main(nro: &NroInfo<'_>) { @@ -145,14 +142,6 @@ pub fn main() { button_config::save_all_btn_config_from_defaults(); } - if is_emulator() { - unsafe { - DEFAULTS_MENU.quick_menu = OnOff::On; - MENU.quick_menu = OnOff::On; - BASE_MENU.quick_menu = OnOff::On; - } - } - std::thread::spawn(|| loop { std::thread::sleep(std::time::Duration::from_secs(10)); unsafe { @@ -174,9 +163,4 @@ pub fn main() { }); std::thread::spawn(|| unsafe { quick_menu_loop() }); - - #[cfg(feature = "web_session_preload")] - if !is_emulator() { - std::thread::spawn(|| unsafe { web_session_loop() }); - } } diff --git a/src/static/css/nouislider.min.css b/src/static/css/nouislider.min.css deleted file mode 100644 index 60f217c..0000000 --- a/src/static/css/nouislider.min.css +++ /dev/null @@ -1 +0,0 @@ -.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;height:100%;width:100%;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin{left:0;right:auto}.noUi-vertical .noUi-origin{top:-100%;width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:transform .3s;transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;right:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;right:-6px;bottom:-17px}.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle{left:-17px;right:auto}.noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-connects{border-radius:3px}.noUi-connect{background:#3FB8AF}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-sub{background:#AAA}.noUi-marker-large{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0,50%);transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.noUi-horizontal .noUi-origin>.noUi-tooltip{-webkit-transform:translate(50%,0);transform:translate(50%,0);left:auto;bottom:10px}.noUi-vertical .noUi-origin>.noUi-tooltip{-webkit-transform:translate(0,-18px);transform:translate(0,-18px);top:auto;right:28px} \ No newline at end of file diff --git a/src/static/css/training_modpack.css b/src/static/css/training_modpack.css deleted file mode 100644 index 6d1f404..0000000 --- a/src/static/css/training_modpack.css +++ /dev/null @@ -1,342 +0,0 @@ -button { - padding: unset; - margin: unset; -} - -@-moz-document url-prefix() { - @font-face { - font-family: 'nintendo_udsgr_std_003'; - src: url('../fonts/nintendo_udsgr_std_003.ttf'); - } - - @font-face { - font-family: 'nintendo_ext_003'; - src: url('../fonts/nintendo_ext_003.ttf'); - } -} - -@keyframes background-slide { - 0% { - background-position-x: 0px; - } - - 100% { - background-position-x: 422.4px; - } -} - -.tab-list-container { - overflow: hidden; - background-color: #555; - display: flex; - justify-content: flex-start; - width: 100%; - align-items: center; -} - -.tab-list-container p { - color: #fff; - width: 130px; - height: fit-content; - margin: 0px 10px 0px 10px; - padding: 0px; -} - -.tab-list { - overflow: hidden; - display: flex; - justify-content: flex-start; - width: 100%; -} - -.tab-list button { - background-color: inherit; - float: left; - border: none; - outline: none; - cursor: pointer; - padding: 14px 16px; - color: #fff; - margin: 5px 0px 0px 8px; - border-radius: 8px 8px 0px 0px; - font-size: large; -} - -.tab-list button:hover { - background: #797979; -} - -.tab-list button.active { - color: #000; - background: #ccc; -} - -body { - background: none; - font-family: 'nintendo_ext_003', 'nintendo_udsgr_std_003'; - margin: 0; -} - -.header { - display: flex; - justify-content: space-between; - position: relative; - width: 100%; - height: 80px; - z-index: 100; - background: #000; - box-shadow: 0px 1px 1px #000; -} - -.header-title { - color: #f46264; - font-size: 26px; - line-height: 2.5; - margin: 0px; - padding: 0px; - word-break: normal; -} - -.header-label { - display: flex; - flex-direction: column; - justify-content: center; - align-items: end; - margin-right: 15px; -} - -.header-label > p { - color: #fff; - margin: 0; - padding: 0; -} - -.return-icon-container { - width: 101px; - height: 65px; - padding-left: 21px; - background: #a80114; - border-radius: 0px 0px 15px 0px; -} - -.return-icon { - width: 58px; - height: 58px; - padding-left: 7px; - filter: drop-shadow(3px 5px 2px rgba(0, 0, 0, 0.8)); -} - -/* Center Icons */ -.question::before { - width: 70px; -} - -/* Footer */ -.footer { - position: fixed; - bottom: 0px; - left: 0px; - background: #000; - display: flex; - justify-content: center; - align-items: center; - height: 73px; - width: 100%; - color: #fff; - z-index: 100; -} - -/* Save Defaults Container */ -.defaults-checkbox-container { - position: fixed; - right: 50px; - margin-top: 10px; - display: flex; - justify-content: center; - flex-direction: column; -} - -/* Checkbox element (hidden) */ -#saveDefaults { - position: absolute; - left: -100vw; -} - -.checkbox-display { - margin: 10px 70px; -} - -/* Displayed Checkbox (unchecked) */ -.checkbox-display::after { - content: '\E14C'; - color: white; -} - -/* Displayed Checkbox (checked) */ -#saveDefaults:checked ~ .checkbox-display::after { - content: '\E14B'; -} - -.hide { - display: none !important; -} - -.hidden { - visibility: hidden; -} - -:focus:not(.noUi-handle), -.handleSelected, -.noUi-connect -{ - background: rgb(255, 70, 2); - background: linear-gradient( - 45deg, - rgba(255, 70, 2, 1) 20%, - rgba(255, 215, 0, 1) 46%, - rgba(255, 215, 0, 1) 54%, - rgba(255, 70, 2, 1) 80% - ); - background-size: 500% 100%; - will-change: animation; - animation: translate-anim 5s infinite linear; -} - -:focus > div { - color: #fff; - text-shadow: -1px -1px 1px #000, 1px -1px 1px #000, -1px 1px 1px #000, 1px 1px 1px #000; -} - -@keyframes translate-anim { - 0% { - background-position: 0% 0%; - } - 100% { - background-position: 100% 0%; - } -} - -.tab-content-container { - height: 513px; -} - -.tab-content { - display: flex; - flex-wrap: wrap; - height: 100%; -} - -.tab-content-wrapper, -.modal { - display: flex; - justify-content: center; - align-items: center; - flex-wrap: wrap; - height: 100%; -} - -.modal { - position: fixed; - height: 513px; - width: 100%; -} - -.menu-item, -.modal-button { - flex-basis: 23%; - margin: 0 1%; - height: 84px; - display: flex; - justify-content: center; - align-items: center; -} - -.modal-button { - flex-basis: 20%; - height: 50px; - border-color: black; - border-radius: 0.5rem; - border-style: solid; - border-width: 0.25rem 0.75rem; - justify-content: flex-start; - padding: 0 0.5rem; -} - -.modal-button-title { - margin: 0 auto; - font-size: large; -} - -.menu-button-content, -.modal-button-content { - display: flex; - justify-content: flex-start; - align-items: center; - width: 100%; - height: 100%; -} - -.menu-button { - display: flex; - justify-content: flex-start; - align-items: center; - height: 100%; - width: 100%; - padding: 0.5rem; - border-color: black; - border-radius: 0.5rem; - border-style: solid; - border-width: 0.25rem 1.25rem; -} - -.menu-icon { - width: 25%; - height: 100%; -} - -.menu-icon img { - width: 100%; - height: 100%; -} - -.menu-title { - padding: 0 0.025rem; - margin: 0 auto; - text-align: center; - font-size: large; -} - -.modal-slider { - width: 70%; - margin-bottom: 170px; -} - -.modal-slider-label { - width: 100%; - display: flex; - justify-content: center; -} - -.modal-slider-label > p { - font-size: 26px; - padding: 0.5rem; - background: #ccc; - border-color: black; - border-radius: 0.5rem; - border-style: solid; - border-width: 0.25rem; -} - -.noUi-value, .noUi-pips { - margin-top: 12px; - color: #000; -} - -.noUi-marker, .noUi-marker-large { - background: #000; -} - -.noUi-tooltip { - padding: 12px; - font-size: 1.5rem; -} diff --git a/src/static/js/nouislider.min.js b/src/static/js/nouislider.min.js deleted file mode 100644 index ca2b37b..0000000 --- a/src/static/js/nouislider.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).noUiSlider={})}(this,function(ot){"use strict";function n(t){return"object"==typeof t&&"function"==typeof t.to}function st(t){t.parentElement.removeChild(t)}function at(t){return null!=t}function lt(t){t.preventDefault()}function i(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function ut(t,e,r){0=e[r];)r+=1;return r}function r(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=l(r,t),i=t[n-1],o=t[n],t=e[n-1],n=e[n];return t+(r=r,a(o=[i,o],o[0]<0?r+Math.abs(o[0]):r-o[0],0)/s(t,n))}function o(t,e,r,n){if(100===n)return n;var i=l(n,t),o=t[i-1],s=t[i];return r?(s-o)/2this.xPct[n+1];)n++;else t===this.xPct[this.xPct.length-1]&&(n=this.xPct.length-2);r||t!==this.xPct[n+1]||n++;for(var i,o=1,s=(e=null===e?[]:e)[n],a=0,l=0,u=0,c=r?(t-this.xPct[n])/(this.xPct[n+1]-this.xPct[n]):(this.xPct[n+1]-t)/(this.xPct[n+1]-this.xPct[n]);0= 2) required for mode 'count'.");for(var e=t.values-1,r=100/e,n=[];e--;)n[e]=e*r;return n.push(100),U(n,t.stepped)}(d),m={},t=S.xVal[0],e=S.xVal[S.xVal.length-1],g=!1,v=!1,b=0;return(h=h.slice().sort(function(t,e){return t-e}).filter(function(t){return!this[t]&&(this[t]=!0)},{}))[0]!==t&&(h.unshift(t),g=!0),h[h.length-1]!==e&&(h.push(e),v=!0),h.forEach(function(t,e){var r,n,i,o,s,a,l,u,t=t,c=h[e+1],p=d.mode===ot.PipsMode.Steps,f=(f=p?S.xNumSteps[e]:f)||c-t;for(void 0===c&&(c=t),f=Math.max(f,1e-7),r=t;r<=c;r=Number((r+f).toFixed(7))){for(a=(o=(i=S.toStepping(r))-b)/(d.density||1),u=o/(l=Math.round(a)),n=1;n<=l;n+=1)m[(s=b+n*u).toFixed(5)]=[S.fromStepping(s),0];a=-1ot.PipsType.NoValue&&((t=P(a,!1)).className=p(n,f.cssClasses.value),t.setAttribute("data-value",String(r)),t.style[f.style]=e+"%",t.innerHTML=String(s.to(r))))}),a}function L(){n&&(st(n),n=null)}function T(t){L();var e=D(t),r=t.filter,t=t.format||{to:function(t){return String(Math.round(t))}};return n=d.appendChild(O(e,r,t))}function j(){var t=i.getBoundingClientRect(),e="offset"+["Width","Height"][f.ort];return 0===f.ort?t.width||i[e]:t.height||i[e]}function z(n,i,o,s){function e(t){var e,r=function(e,t,r){var n=0===e.type.indexOf("touch"),i=0===e.type.indexOf("mouse"),o=0===e.type.indexOf("pointer"),s=0,a=0;0===e.type.indexOf("MSPointer")&&(o=!0);if("mousedown"===e.type&&!e.buttons&&!e.touches)return!1;if(n){var l=function(t){t=t.target;return t===r||r.contains(t)||e.composed&&e.composedPath().shift()===r};if("touchstart"===e.type){n=Array.prototype.filter.call(e.touches,l);if(1r.stepAfter.startValue&&(i=r.stepAfter.startValue-n),t=n>r.thisStep.startValue?r.thisStep.step:!1!==r.stepBefore.step&&n-r.stepBefore.highestStep,100===e?i=null:0===e&&(t=null);e=S.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(e))),[t=null!==t&&!1!==t?Number(t.toFixed(e)):t,i]}ft(t=d,f.cssClasses.target),0===f.dir?ft(t,f.cssClasses.ltr):ft(t,f.cssClasses.rtl),0===f.ort?ft(t,f.cssClasses.horizontal):ft(t,f.cssClasses.vertical),ft(t,"rtl"===getComputedStyle(t).direction?f.cssClasses.textDirectionRtl:f.cssClasses.textDirectionLtr),i=P(t,f.cssClasses.base),function(t,e){var r=P(e,f.cssClasses.connects);l=[],(a=[]).push(N(r,t[0]));for(var n=0;n { - switch (event.keyCode) { - case 37: // Control stick left - decreaseSelectedHandle(); - break; - case 39: // Control stick right - increaseSelectedHandle(); - break; - } - }) -} else { - document.addEventListener('keydown', (event) => { - switch (event.key) { - case 'a': - console.log('a'); - select(document.activeElement); - break; - case 'b': - console.log('b'); - closeOrExit(); - break; - case 'x': - console.log('x'); - resetCurrentMenu(); - break; - case 'l': - console.log('l'); - resetAllMenus(); - break; - case 'r': - console.log('r'); - saveDefaults(); - break; - case 'p': - console.log('p'); - cycleNextTab(); - break; - case 'o': - console.log('o'); - cyclePrevTab(); - break; - case 'ArrowLeft': - console.log('ArrowLeft'); - decreaseSelectedHandle(); - break; - case 'ArrowRight': - console.log('ArrowRight'); - increaseSelectedHandle(); - break; - } - }); -} - -const onLoad = () => { - // Activate the first tab - openTab(document.querySelector('button.tab-button')); - initializeAllSliders(); - if (isNx) { - window.nx.sendMessage("loaded"); - } else { - settings = {}; - setSettingsFromJSON("{\"menu\":{\"aerial_delay\":0,\"air_dodge_dir\":0,\"attack_angle\":0,\"buff_state\":0,\"character_item\":0,\"clatter_strength\":0,\"crouch\":0,\"di_state\":0,\"falling_aerials\":0,\"fast_fall_delay\":0,\"fast_fall\":0,\"follow_up\":0,\"frame_advantage\":0,\"full_hop\":0,\"hitbox_vis\":1,\"input_delay\":1,\"ledge_delay\":0,\"ledge_state\":31,\"mash_state\":0,\"mash_triggers\":131,\"miss_tech_state\":15,\"oos_offset\":0,\"pummel_delay\":0,\"quick_menu\":0,\"reaction_time\":0,\"save_damage\":4,\"save_damage_limits\":[63,106],\"save_state_autoload\":1,\"save_state_enable\":1,\"save_state_mirroring\":1,\"sdi_state\":0,\"sdi_strength\":0,\"shield_state\":0,\"shield_tilt\":0,\"stage_hazards\":0,\"tech_state\":15,\"throw_delay\":0,\"throw_state\":1},\"defaults_menu\":{\"aerial_delay\":0,\"air_dodge_dir\":0,\"attack_angle\":0,\"buff_state\":0,\"character_item\":0,\"clatter_strength\":0,\"crouch\":0,\"di_state\":0,\"falling_aerials\":0,\"fast_fall_delay\":0,\"fast_fall\":0,\"follow_up\":0,\"frame_advantage\":0,\"full_hop\":0,\"hitbox_vis\":1,\"input_delay\":1,\"ledge_delay\":0,\"ledge_state\":31,\"mash_state\":0,\"mash_triggers\":131,\"miss_tech_state\":15,\"oos_offset\":0,\"pummel_delay\":0,\"quick_menu\":0,\"reaction_time\":0,\"save_damage\":4,\"save_damage_limits\":[41,118],\"save_state_autoload\":1,\"save_state_enable\":1,\"save_state_mirroring\":1,\"sdi_state\":0,\"sdi_strength\":0,\"shield_state\":0,\"shield_tilt\":0,\"stage_hazards\":0,\"tech_state\":15,\"throw_delay\":0,\"throw_state\":1}}"); - } -}; - -window.onload = onLoad; - -var settings; -var defaultSettings; - -var lastFocusedItem = document.querySelector('.menu-item > button'); -var selectedSliderHandle = -1; - -const currentTabContent = () => { - const currentActiveTab = document.querySelector('.tab-button.active'); - - var currentActiveTabContent = document.querySelector(`#${currentActiveTab.id.replace('button', 'tab')}`); - - return currentActiveTabContent; -}; - -const openTab = (eventTarget) => { - playSound('SeWebZoomIn'); - const selectedTab = document.getElementById(eventTarget.id.replace('button', 'tab')); - const activeTabContent = document.querySelector('.tab-content:not(.hide)'); - const activeTab = document.querySelector('.tab-button.active'); - - // Hide content of current active tab - if (activeTabContent) { - activeTabContent.classList.add('hide'); - } - - closeAllActiveModals(); - - // Remove "active" class from current active tab - if (activeTab) { - activeTab.classList.remove('active'); - } - - // Show the new current tab, and add an "active" class to the button that opened the tab - eventTarget.classList.add('active'); - selectedTab.classList.remove('hide'); - selectedTab.querySelector('button').focus(); -}; - -const openMenuItem = (eventTarget) => { - playSound('SeWebMenuListOpen'); - - var { target } = eventTarget.dataset; - const modal = document.querySelector(`.modal[data-id=${target}]`); - - currentTabContent().classList.toggle('hide'); - - modal.classList.toggle('hide'); - elem = modal.querySelector('button'); - if (!elem) { - elem = modal.querySelector('.noUi-handle-lower') - } - elem.focus(); - - lastFocusedItem = eventTarget; -}; - -const closeAllActiveModals = () => { - document.querySelectorAll('.modal:not(.hide)').forEach((modal) => { - modal.classList.add('hide'); - }); - lastFocusedItem.focus(); -}; - -const toggleOption = (element) => { - playSound('SeSelectCheck'); - - if (element.parentElement.classList.contains('single-option')) { - selectSingleOption(element); - return; - } - - const img = element.querySelector('img'); - const previouslySelected = !img.classList.contains('hidden'); - const menuId = element.parentElement.dataset.id; - const toggleValue = parseInt(img.dataset.val); - - settings[menuId] = previouslySelected ? settings[menuId] - toggleValue : settings[menuId] + toggleValue; - - element.querySelector('img').classList.toggle('hidden'); -}; - -// Add this later -// function toggleSingleOption(element) { -// selectSingleOption(element); -// } - -const closestClass = (element, class_) => { - if (!element) { - return null; - } - - if (element.classList.contains(class_)) { - return element; - } - - // Didn't find it, go up a level - return closestClass(element.parentElement, class_); -}; - -function playSound(label) { - //** Valid labels **// - // SeToggleBtnFocus, SeToggleBtnOn, SeToggleBtnOff, SeCheckboxFocus, SeCheckboxOn - // SeCheckboxOff, SeRadioBtnFocus, SeRadioBtnOn, SeSelectCheck, SeSelectUncheck, SeBtnDecide - // SeTouchUnfocus, SeBtnFocus, SeKeyError, SeDialogOpen, SeWebZoomOut, SeWebZoomIn, SeWebNaviFocus - // SeWebPointerFocus, SeFooterFocus, SeFooterDecideBack, SeFooterDecideFinish, SeWebChangeCursorPointer - // SeWebTouchFocus, SeWebLinkDecide, SeWebTextboxStartEdit, SeWebButtonDecide, SeWebRadioBtnOn - // SeWebCheckboxUncheck, SeWebCheckboxCheck, SeWebMenuListOpen - - if (isNx) { - window.nx.playSystemSe(label); - } else { - console.log('Sound Effect: ' + label); - } -} - -const exit = () => { - playSound('SeFooterDecideBack'); - const messageObject = { - menu: settings, - defaults_menu: defaultSettings - } - - if (isNx) { - window.nx.sendMessage( - JSON.stringify(messageObject) - ); - } else { - console.log(JSON.stringify(messageObject)); - } -}; - -function closeOrExit() { - // Deselect any sliders - handlesWereSelected = deselectSliderHandles(); - if (handlesWereSelected) {return} - - selectedHandles = document.querySelectorAll(".handleSelected"); - if (selectedHandles.length) { - console.log("Found selected handles"); - selectedHandles.forEach((handle) => { - handle.classList.remove("handleSelected"); - }); - return; - } - - // Close any open menus - if (document.querySelector('.modal:not(.hide)')) { - console.log('Closing Items'); - closeAllActiveModals(); - currentTabContent().classList.remove('hide'); - lastFocusedItem.focus(); - return; - } - - console.log('Exiting'); - exit(); -} - -function setSettingsFromJSON(msg) { - // Receive a menu message and set settings - var msg_json = JSON.parse(msg); - settings = msg_json["menu"]; - defaultSettings = msg_json["defaults_menu"]; - populateMenuFromSettings(); -} - -function selectSingleOption(eventTarget) { - // Deselect all options in the submenu - const parent = eventTarget.parentElement; - - parent.querySelectorAll('.menu-icon:not(.hidden)').forEach((sibling) => { - sibling.classList.add('hidden'); - settings[parent.dataset.id] = settings[parent.dataset.id] - parseInt(sibling.dataset.val); - }); - - eventTarget.querySelector('.menu-icon').classList.remove('hidden'); - - const value = parseInt(eventTarget.querySelector('.menu-icon').dataset.val); - - settings[parent.dataset.id] = settings[parent.dataset.id] + value; -} - -const isValueInBitmask = (value, mask) => (mask & value) != 0; - -const setOptionsForMenu = (menuId) => { - const modal = document.querySelector(`.modal[data-id="${menuId}"]`); - - if (modal.querySelector('.modal-button')) { - // Toggle menu - modal.querySelectorAll('.menu-icon').forEach(function (toggle) { - if (isValueInBitmask(toggle.dataset.val, settings[menuId])) { - toggle.classList.remove('hidden'); - } else { - toggle.classList.add('hidden'); - } - }); - - if (modal.classList.contains('single-option')) { - // If no option is selected default to the first option - if (modal.querySelectorAll('.menu-icon:not(.hidden)').length === 0) { - selectSingleOption(modal.querySelector('button')); - } - } - } else { - // Slider menu - slider = modal.querySelector('.modal-slider'); - setSliderVals(slider, settings[menuId]); - } -}; - -function populateMenuFromSettings() { - document.querySelectorAll('.menu-item').forEach((item) => setOptionsForMenu(item.id)); -} - -function getSettingsValFromMenuID(id) { - const modal = document.querySelector(`.modal[data-id='${id}']`); - - if (modal.querySelector('.modal-button')) { - // Toggle menu - // Return value is a bitmask - var value = 0; - const options = modal.querySelectorAll('img:not(.hidden)'); - - options.forEach(function (toggle) { - value += parseInt(toggle.dataset.val); - }); - return value; - } else { - // Slider menu - // Return value is a [lower,upper] array - slider = modal.querySelector('.modal-slider'); - return getSliderVals(slider); - } -} - -function resetCurrentMenu() { - playSound('SeWebTextboxStartEdit'); - const menu = document.querySelector('.modal:not(.hide)'); - - const menuId = menu.dataset.id; - const defaultSubmenuSetting = defaultSettings[menuId]; - - settings[menuId] = defaultSubmenuSetting; - - deselectSliderHandles(); - populateMenuFromSettings(); -} - -function resetAllMenus() { - // Resets all submenus to the default values - if (confirm('Are you sure that you want to reset all menu settings to the default?')) { - document.querySelectorAll('.menu-item').forEach(function (item) { - const defaultMenuId = item.id; - const defaultSubmenuSetting = defaultSettings[defaultMenuId]; - - settings[item.id] = defaultSubmenuSetting; - - deselectSliderHandles(); - populateMenuFromSettings(); - }); - } -} - -function setHelpText(text) { - document.getElementById('help-text').innerText = text; -} - -function saveDefaults() { - if (confirm('Are you sure that you want to change the default menu settings to the current selections?')) { - document.querySelectorAll('.menu-item').forEach((item) => { - const menu = item.id; - defaultSettings[menu] = getSettingsValFromMenuID(item.id); - }); - } -} - -function cycleNextTab() { - deselectSliderHandles(); - // Cycle to the next tab - const activeTab = document.querySelector('.tab-button.active'); - var nextTab = activeTab.nextElementSibling; - if (!nextTab) { - // On the last tab - set the next tab as the first tab in the list - nextTab = document.querySelector('.tab-button'); - } - openTab(nextTab); -} - -function cyclePrevTab() { - deselectSliderHandles(); - // Cycle to the previous tab - const activeTab = document.querySelector('.tab-button.active'); - var previousTab = activeTab.previousElementSibling; - if (!previousTab) { - // On the first tab - set the next tab as the last tab in the list - tabs = document.querySelectorAll('.tab-button'); - previousTab = tabs[tabs.length - 1]; - } - openTab(previousTab); -} - -function getSliderVals(slider) { - var arr = slider.noUiSlider.get(); - return [parseFloat(arr[0]), parseFloat(arr[1])] -} - -function setSliderVals(slider, vals) { - slider.noUiSlider.set(vals); -} - -function setSettingsFromSlider(slider) { - menuId = closestClass(slider, "modal").dataset.id; - settings[menuId] = getSliderVals(slider) -} - -function initializeSlider(slider) { - noUiSlider.create( - slider, - { - start: [ - parseFloat(slider.dataset.selectedMin), - parseFloat(slider.dataset.selectedMax), - ], - connect: true, - range: { - 'min': parseFloat(slider.dataset.absMin), - 'max': parseFloat(slider.dataset.absMax), - }, - step: 1, - tooltips: [ - { to: function (value) { return value.toFixed(0) + '%'; } }, - { to: function (value) { return value.toFixed(0) + '%'; } }, - ], - pips: { - mode: 'range', - density: 10, - }, - keyboardMultiplier: 0, // Prevents doublestepping with custom implementation - } - ); - slider.noUiSlider.on('set', function () { setSettingsFromSlider(slider) }); -} - -function initializeAllSliders() { - document.querySelectorAll(".modal-slider").forEach((item) => { - initializeSlider(item); - }); -} - -function select(element) { - if (element.classList.contains("noUi-handle")) { - element.classList.toggle("handleSelected"); - } - element.click(); -} - -function increaseSelectedHandle() { - // Increments the selected slider handle, if one is selected - // Won't go past the slider limit - handle = document.querySelector(".noUi-handle.handleSelected"); - if (handle) { - slider = closestClass(handle, "modal-slider"); - isLowerHandle = handle.classList.contains("noUi-handle-lower"); - step = slider.noUiSlider.options.step; - currentVals = getSliderVals(slider); - if (isLowerHandle) { - setSliderVals( - slider, - [currentVals[0] + step, null] - ); - } else { - setSliderVals( - slider, - [null, currentVals[1] + step] - ); - } - // Refocus the handle, since the native navigation might focus the other handle - // TODO: Is there a more elegant way to do this? - setTimeout( function() {handle.focus() }, 15); - } -} - -function decreaseSelectedHandle() { - // Decrements the selected slider handle, if one is selected - // Won't go past the slider limit - handle = document.querySelector(".noUi-handle.handleSelected"); - if (handle) { - slider = closestClass(handle, "modal-slider"); - isLowerHandle = handle.classList.contains("noUi-handle-lower"); - step = slider.noUiSlider.options.step; - currentVals = getSliderVals(slider); - if (isLowerHandle) { - setSliderVals( - slider, - [currentVals[0] - step, null] - ); - } else { - setSliderVals( - slider, - [null, currentVals[1] - step] - ); - } - // Refocus the handle, since the native navigation might focus the other handle - // TODO: Is there a more elegant way to do this? - setTimeout( function() {handle.focus() }, 15); - } -} - -function deselectSliderHandles() { - /// Returns true if any slider handles were changed from selected -> deselected - /// Returns false if there were no selected slider handles to begin with - selectedHandles = document.querySelectorAll(".handleSelected"); - if (selectedHandles.length) { - selectedHandles.forEach((handle) => { - handle.classList.remove("handleSelected"); - }); - return true; - } else { - return false; - } -} diff --git a/src/templates/frame_adv.webp b/src/templates/frame_adv.webp deleted file mode 100644 index 5cffa7e4e1545f8542715f421b15596087d6eb8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129008 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%0ANj15cAr5YH(+ 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 - - - - - - Modpack Menu - - - - - - - - -
-

Prev Tab: 

-
- {{#tabs}} - - {{/tabs}} -
-

Next Tab: 

-
-
- {{#tabs}} - {{#tab_submenus}} -
- {{#toggles}} - - {{/toggles}} - {{#slider}} - - - {{/slider}} -
- {{/tab_submenus}} -
-
- {{#tab_submenus}} - - {{/tab_submenus}} -
-
- {{/tabs}} -
-
-

-
- - diff --git a/src/templates/slider.js b/src/templates/slider.js deleted file mode 100644 index 37d30f1..0000000 --- a/src/templates/slider.js +++ /dev/null @@ -1,77 +0,0 @@ -var slider = document.getElementById('slider'); -const STEP = 5 - -function checkGamepad(index, gamepad) { - // Gets the current value of the sliders - var current_value = slider.noUiSlider.get(); - - // Displays it on the HTML page - document.getElementById("input").innerHTML = current_value; - - - // Checks to see if the L-button is pressed - if(gamepad.buttons[4].pressed){ - // If the right-side of the slider is focused on, subtract STEP from the current value - if(document.activeElement.classList.contains("noUi-handle-upper")){ - slider.noUiSlider.set( - [ - null, - parseInt(current_value[1]) - STEP - ]); - } - // If the left-side of the slider is focused on, subtract STEP from the current value - else if(document.activeElement.classList.contains("noUi-handle-lower")){ - slider.noUiSlider.set( - [ - parseInt(current_value[0]) - STEP, - null - ]); - } - } - // Checks to see if the R-button is pressed - else if(gamepad.buttons[5].pressed){ - // If the right-side of the slider is focused on, add STEP to the current value - if(document.activeElement.classList.contains("noUi-handle-upper")){ - slider.noUiSlider.set( - [ - null, - parseInt(current_value[1]) + STEP - ]); - } - // If the left-side of the slider is focused on, add STEP to the current value - else if(document.activeElement.classList.contains("noUi-handle-lower")){ - slider.noUiSlider.set( - [ - parseInt(current_value[0]) + STEP, - null - ]); - } - } -}; - -window.onload = function(){ - // Creates the slider - noUiSlider.create(slider, { - start: [20, 80], - connect: true, - range: { - 'min': 0, - 'max': 100 - } - }); - - // Listens to see if the gamepad is connected - window.addEventListener("gamepadconnected", function (e) { - document.getElementById("input").innerHTML = "Gamepad Connected!"; - }); - - // Sets an interval and runs a function every 100 seconds to check the gamepads - setInterval(function () { - var gpl = navigator.getGamepads(); - if (gpl.length > 0) { - for (var i = 0; i < gpl.length; i++) { - checkGamepad(i, gpl[i]); - } - } - }, 100); -} \ No newline at end of file diff --git a/training_mod_consts/src/lib.rs b/training_mod_consts/src/lib.rs index f027a46..096e75d 100644 --- a/training_mod_consts/src/lib.rs +++ b/training_mod_consts/src/lib.rs @@ -1131,7 +1131,6 @@ pub struct TrainingModpackMenu { pub miss_tech_state: MissTechFlags, pub oos_offset: Delay, pub pummel_delay: MedDelay, - pub quick_menu: OnOff, pub reaction_time: Delay, pub save_damage_cpu: SaveDamage, pub save_damage_limits_cpu: DamagePercent, @@ -1219,7 +1218,6 @@ pub static DEFAULTS_MENU: TrainingModpackMenu = TrainingModpackMenu { miss_tech_state: MissTechFlags::all(), oos_offset: Delay::empty(), pummel_delay: MedDelay::empty(), - quick_menu: OnOff::Off, reaction_time: Delay::empty(), save_damage_cpu: SaveDamage::DEFAULT, save_damage_limits_cpu: DamagePercent::default(), @@ -1680,13 +1678,6 @@ pub unsafe fn ui_menu(menu: TrainingModpackMenu) -> UiMenu<'static> { true, &(menu.stage_hazards as u32), ); - misc_tab.add_submenu_with_toggles::( - "Quick Menu", - "quick_menu", - "Quick Menu: Should use quick or web menu", - true, - &(menu.quick_menu as u32), - ); misc_tab.add_submenu_with_toggles::( "HUD", "hud",
- - - -

Ultimate Training Modpack Menu

-
-

Reset Current Menu: 

-

Reset All Menus: 

-

Save Defaults: 

-
-