1
0
Fork 0
mirror of https://github.com/jugeeya/UltimateTrainingModpack.git synced 2024-12-28 19:29:16 +00:00
Commit graph

74 commits

Author SHA1 Message Date
asimon-1
cb6ca02f3a
Make it more intuitive for devs to add new menu items (#709)
* Rework how we set up the menu so we only have to write the fn once

* Clippy warnings
2024-11-20 19:26:51 -08:00
asimon-1
858d35142e
Refactor to remove static mut's, frame advantage on hit (#708)
* Move QUICK_MENU_ACTIVE to RwLock

* VANILLA_MENU_ACTIVE

* EVENT_QUEUE and CURRENT_VERSION

* Stage Hazard Code

* Notifications

* FIGHTER_MANAGER, ITEM_MANAGER, and STAGE_MANAGER

* Airdodge STICK_DIRECTION

* Shield STICK_DIRECTION

* Attack angle DIRECTION

* offsets

* button_config

* imports in menu.rs

* frame_counter

* common::consts

* dev_config

* mappings in training/ui/menu

* input_log

* Move LazyLock to be a re-export

* buffs

* clatter

* directional influence

* fast_fall

* full_hop

* ledge

* sdi

* shield

* tech

* throw

* Refactor combo. Also allow frame advantage on hit.

* Fix bugs in frame advantage

* Move sync into a separate crate so we can import it in subcrates

* Update MENU

* Update DEFAULTS_MENU

* menu.rs and menu.rs

* Fix warning from ambiguous imports

* ptrainer

* mash.rs

* is_transitioning_dash

* items.rs

* input_record.rs

* Small adjustment to notifications

* Revert "Small adjustment to notifications"

This reverts commit 6629c6f456.

* input_delay.rs

* Misc nits

* Rename for clarity and format
2024-11-17 15:49:18 -08:00
asimon-1
c3ab2adbd7
Fix crash when playing back w/o playback slot selected (#683) 2024-04-15 18:12:23 -07:00
jugeeya
7dd05f1afd
13.0.2 Support - With ui2d update; fix notification ticking (#667)
* Correct bytecode for most of the offset searches

* Fix Offset for GET_BATTLE_OBJECT_FROM_ID

* Revert to make it crash on MALLOC

* MALLOC crashing so TODOing it, up to crash on fixed_camera

* attempt to hardcode SET_TRAINING_FIXED_CAMERA_VALUES, which causes the crash whether hardcoded or replaced, maybe due to next hook failing?

* initial

* Small changes to fix notification ticks

---------

Co-authored-by: asimon-1 <40246417+asimon-1@users.noreply.github.com>
Co-authored-by: GradualSyrup <68757075+GradualSyrup@users.noreply.github.com>
2024-02-19 18:16:40 -08:00
GradualSyrup
6862c235fe
Toggleable L + R + A Reset (#663)
* Working w/ raw offset and no icon

* Use dynamic offsets

* Add icon

* Fixed layout.arc

* Cargo fmt
2024-02-05 14:01:32 -08:00
GradualSyrup
1475fb2509
Add Status Only option for input logger (#653)
* Initial attempt, working but menu crashing

* Assign raw enum values to fix crash

* Merge main into add-status-display

---------

Co-authored-by: asimon-1 <40246417+asimon-1@users.noreply.github.com>
2023-12-06 00:27:26 -08:00
asimon-1
65f87df1e0
Weighted Probability Menu Selections + TUI Backend Redesign (#655)
* Add replacement training_mod_tui crate

* Begin work on converting over to byteflags

* Allow StatefulTable.iter_mut()

* Additional merge work

* Fixing more compile errors from the merge

* Replace training_mod_tui with training_mod_tui_2, update byteflags dependency for random selection

* Fix button_config, hero buffs, caps issues. Move button logic into App

* Restore some functions that I cut too agressively

* Move to_vec into byteflags crate

* Fix src/training/ui

* Set `_` match arms on byteflags to `unreachable!()`

* Fix final few compiler errors

* Run formatter

* Reconsider whether unreachable parts are actually unreachable

* Adjust logging and remove dead code

* Fix some menu bugs

* Adjust icon sizes

* Separate checkmark from is_single_option

* Allow fast increment / decrement of slider handles with up/down

* Allow resetting current menu

* Change button behavior: `R/Z` now resets either the whole menu or the selected submenu depending on app.page, and `Y` now clears the current toggle so you don't have to press A six times. Only show keyhelp for `Y` if its relevant.

* Remove unneeded command line interface

* Take care of some minor nomenclature TODO's

* Increase stack size for menu::load_from_file() to avoid crashes

* Implement confirmation page before restoring from defaults

* Run rustfmt

* Fix warnings
2023-12-02 09:02:43 -08:00
GradualSyrup
82a0cf1d35
Save State Random Slots, other bugfixes (#649)
* Fix UI function hook

* Save State Slot Changes

* Random Slots need a static >.<

* Cargo optimization changes

* fix early return (again)
2023-10-06 20:18:38 -07:00
jugeeya
427609ba8e
[Menu Open] Switch hold vs press, immediately take input if holding for >= 10 frames (#630)
* Switch hold vs press, immediately take input if holding for >= 10 frames

* Update README.md
2023-09-10 11:21:16 -07:00
jugeeya
14b76e3c2b
UI Optimizations: Reduce stutter in menu and input display (#627)
* Initial

* Small fix

* Set drawn logs...

* Mutable, formatting

* Update lib.rs
2023-09-07 12:49:08 -07:00
Mohammad Saad
633686c6c1
Add Wario waft options to buff menu (#626)
* add wario waft options to buff menu

* remove comment

* get waft threshold values from params rather than guessing

* more friendly menu names

* set GASS_LEVEL to be safe

* format and cleanup

* use match instead of if

* fix compile warning

* Fix clippy

* Fix clippy again

* fix formatting again

---------

Co-authored-by: jugeeya <jugeeya@live.com>
2023-09-07 10:40:37 -07:00
jugeeya
696376930d
Turn off Input Display by default since it has stutters 2023-09-06 22:59:09 -07:00
GradualSyrup
872911dbb8
Early Reaction Toggle For Tech Chasing (#621)
* Working, fixed camera keeps tag on

* Hide Cursor in Fixed Camera

* quake removal attempt

* testing camera zoom

* camera debug in progress

* All Stages

* first attempt no testing

* smashville adjustment, cleanup

* fmt

* Change clarification
2023-09-04 14:18:09 -07:00
GradualSyrup
7721a34fc0
Add Power Dragon to Buff Options (#620)
* Initial attempt at hooking power dragon func, will be better just to rewrite

* working translation

* cleanup, add buff option

* Rename Power Dragon buff

* Fixed Null ptr comparison (kinda)

* clippy >.>
2023-09-02 17:45:12 -07:00
GradualSyrup
d867616f4f
Kirby Hat Charges (#619)
* Add reusable print_fighter_info()

* rustfmt

* Clippy

* starting charge

* Working Pikmin Save States, motion not working, order can be messed up by loading during an aerial, if you save too quickly you lose pikmin in the state

* often failing boid read

* notes

* Prevent Pikmin from being cleaned up by the regular cleanup process

* migration progress

* skyline-smash branch, more pikmin work

* Using buff to spawn pikmin, character specific file for cleanliness

* failed reordering attempt

* more failed ordering

* almost kind of works but out of order

* failed all, need to try individual hold and status change

* hard reorder crash

* battleobject not boma

* comment clarification

* messing around with printing

* printing, about to try to find where autonomy is being set

* solution found, going to hook backshield to find where autonomy is being set to true

* found where to hook, will start hooking

* switched to charge, issues with inline hook

* need to only have autonomy ignored on save state load

* distance and status controls (doesn't work perfectly)

* Christmas Miracle

* Working w/ Cleanup

* training mode check, improved owner check

* Debug for hooking, Working Implementation (No Transform, No Charge)

* Working for Aegis, PT having issues (LRA into state load works, but not regular state load)

* Working ptrainer hats

* fmt fmt fmt

* Working Samus Charge, debug

* Sheik, improved debug

* No Lucario, many broken

* Try to match main better

* Working Compile

* sun salutation debug

* disable debug assert while debug build is broken

* All charges working, copy ability tracking for save states broken, debug needs cleanup

* no copy state load not working

* Working build

* debug and formatting cleanup

* turn off hitbox vis for jugeeya
2023-09-02 11:49:20 -07:00
jugeeya
7e0617e377
Input Logger (#591)
* Initial

* Begin to use font glyphs, small refactor

* Colored icons in 5 slots

* Dedupe, some color changes

* Add 10 input log spaces

* Add lots, but glitchy fade out needs fixing

* Frame Counter fixes

* Remove testing bflyt

* Use just text for now

* Add support for raw inputs, menu option

* Fix stick thresholding for the most part?

* Small change

* Add statuses!

* Some fixes

* Fix softlock thing, in general fix frame-by-frame + TTL weirdness

* Mid-refactor

* Use i8 for thresholds; update layout.arc to master's

* Merge fixes

* More fixes

* Formatting

* Last fixes for clippy / formatting

* Input Display Status Breakdown

* More formatting

* More fixes

* Fix again

* Replaced input log bflyt, added input icon bflyt

* Fixed sizes of all top level frames

* Added Icon part pane

* Got icons imported to bflyt

* Added icon parts to Icons Pane

* Raised size of layout

* Commented out handling of icons as text

* Added most icons, updated icons to match names

* Added plus and minus

* Added analog stick panes to layout

* Got icons working in game

* Fix for lua consts; update print_fighter_info to use consts with names

* Update for consts

* Fix again

* into_iter

* from_iter

* import trait

* Try setting colors

* Fixes

* deref

* Clippy

* Try white color

* Use same upstream skyline-smash

* Try black color with alpha of 0

* Use white for lstick

* Added input display menu icon, removed breakdown from input status display

* Fix formatting + clippy

* Fixed layout, updated icon colours

---------

Co-authored-by: Matthew Edell <edell.matthew@gmail.com>
2023-09-01 13:53:04 -07:00
GradualSyrup
9e94ef72a9
Pikmin Save States and Skyline Smash update (#613)
* Add reusable print_fighter_info()

* rustfmt

* Clippy

* starting charge

* Working Pikmin Save States, motion not working, order can be messed up by loading during an aerial, if you save too quickly you lose pikmin in the state

* often failing boid read

* notes

* Prevent Pikmin from being cleaned up by the regular cleanup process

* migration progress

* skyline-smash branch, more pikmin work

* Using buff to spawn pikmin, character specific file for cleanliness

* failed reordering attempt

* more failed ordering

* almost kind of works but out of order

* failed all, need to try individual hold and status change

* hard reorder crash

* battleobject not boma

* comment clarification

* messing around with printing

* printing, about to try to find where autonomy is being set

* solution found, going to hook backshield to find where autonomy is being set to true

* found where to hook, will start hooking

* switched to charge, issues with inline hook

* need to only have autonomy ignored on save state load

* distance and status controls (doesn't work perfectly)

* Christmas Miracle

* Working w/ Cleanup

* training mode check, improved owner check

* debug feature print methods

* Pikmin debug assertions

* clippy print fix

* appease clippy
2023-08-30 19:00:29 -07:00
GradualSyrup
230943ac70
Toggle to Remove Dodge Staling (#601)
* Working build

* extra options change

* cargo fmt

* Move stale dodges to defensive tab

* implication explanation

* no Option for as_bool
2023-08-29 14:59:24 -07:00
Matthew Edell
be74ce9959
Add icons for new features (#611)
* Added icons for input recording, updated menu names

* Added missing input recording icons, added auto update icon

* Added input_record

* Added input_playback

* Added menu_open_start_press

* Added save_state_load

* Added save_state_save

* Added missing icons, fixed size of camera icons

* Fixed save_state_slot icon
2023-08-24 08:51:26 -07:00
jugeeya
1c00d2afe9
Open Menu with Minus Press; Reorder Recording Crop (#607)
* Initial

* Menu ordering for recording crop

* Update button_config.rs

* Update Beta Changelog
2023-08-23 10:04:47 -07:00
asimon-1
df6b3ec493
Fix crash if the TRAINING_MODPACK_ROOT path doesn't already exist (#606)
* Fix crash if the TRAINING_MODPACK_ROOT path doesn't already exist

* rustfmt
2023-08-22 17:44:46 -07:00
jugeeya
00f2284397
Open Menu with Start Press (#598)
* Initial

* Another fix

* Don't allow opening our menu when vanilla menu is active

* Add menu option ; remove delay to close menu

* Fix issues when closing menu

* Show button config first, log fade

* Fix test

* Fix test again

* Fix initial notification, turn off hitbox visualization by default
2023-08-22 16:12:12 -07:00
asimon-1
cc66406216
More gracefully handle scenario when TOML file doesn't match schema (#599) 2023-08-18 10:21:47 -07:00
asimon-1
cc78dc7e4a
Automatically Keep the Modpack Up-to-Date (#595)
* Grab releases from Github and install

* Refactor

* Fix crash

* Work on fixing install() crash

* Fix the crash by increasing stack size

* Block main() execution on the auto-updater

* Improve error handling

* Delete hash.txt

* Fix get_update_policy()

* Use current time as default last_update_version; Compare publish date to last_update_version to determine if update should be applied.

* Use skyline_web dialogs for user_wants_to_install. Use default selections on emulator instead.

* Fix some logic

* Convert CURRENT_VERSION to a Mutex; implement functions to update the config file

* Adjust logging

* Remove unneeded file

* Allow unwrap after is_some() check

* Fix format

* Auto-updater (squashed)

* Move update policy from config file to menu

* Skip version check on emulator

* Rustfmt, clippy

---------

Co-authored-by: jugeeya <jugeeya@live.com>
2023-08-17 21:21:59 -07:00
jugeeya
c360ce1ad5
Fix text for multiple options (#597) 2023-08-17 17:37:45 -07:00
jugeeya
afdd620c53
Fix Toggle Naming; Update import for skyline-web (#596)
* Initial

* Convert to using Display

* Small test refactor

* Fix for recent skyline_web change
2023-08-17 13:10:31 -07:00
Austin Traver
10ebff5a6f
Refactor string representation for buttons and menus (#592)
* Refactor string representation for buttons and menus

* Pass test cases

* Update help text
2023-08-15 19:37:35 -07:00
GradualSyrup
7c522c02bc
Option to Crop Recording when it ends with neutral inputs (#587)
* Working neutral end early

* fmt

* Default on

* Normalize namespace
2023-08-12 15:37:27 -07:00
GradualSyrup
a76808c838
Ledge Recording Fixes (#585)
* Add reusable print_fighter_info()

* rustfmt

* Clippy

* Standby fix, ngu fix, beginning posY fix, debugging ledge delay

* Fighter specific ledge adjustments

* Fix ledge delay

* Remove debug, fmt

* Fix Savestate Record

* fmt

* clippy
2023-08-11 08:33:46 -07:00
jugeeya
77f527c99a
Use Native Smash Input for All Input Processing (#581)
* Initial

* Finishing up with button config

* Formatting, some clippy

* Move button config to menu

* Consts formatting

* Fix input_record_press (thanks test!)

* Properly migrate menu button inputs

* Updates to triggers, including text

* Convert to multi-select
2023-08-10 07:28:13 -07:00
jugeeya
03cac66d5c
Record Trigger Refactor (#580)
* Initial

* Formatting
2023-08-07 20:11:26 -07:00
jugeeya
85815f87ff
Input Recording Menu Refactor (#579)
* Initial

* Formatting

* Slight name changes
2023-08-07 11:59:47 -07:00
jugeeya
fb9d1648d4
Configurable Recording Frames (#570)
* Playback Slots for Actions and Ledge Options

* Inital attempt

* Fix playback slot

* Fix menu option, probably

* Fix reading from menu option
2023-08-06 17:07:01 -07:00
jugeeya
60f8ffc410
Playback Slots for Actions and Ledge Options (#569) 2023-08-04 15:45:07 -07:00
GradualSyrup
dcb1e831dc
Shulk Monado Art Buffs, SFX and Visual Buff Fixes (#564)
* Monado Buffs, Shulk Dial on Input Recording, Silent Buffs

* All Buffs Silent

* Shulk Flash removed, working on KO UI update

* Little Mac Meter Update

* Remove a few debug functions

* More cleanup

* merge with main

* Paren

* Paren

* rustfmt

* Clippy Fixes

* Fix further Shulk effect issues, improve buff functions
2023-08-04 10:23:22 -07:00
jugeeya
9ef506aac7
[Build] Fix formatting (#557)
* [Build] Fix formatting

* Another set of fixes
2023-08-02 13:53:24 -07:00
jugeeya
3a40d46fca
Add input recording slots as menu options, randomize playback slots (#553) 2023-08-02 10:27:50 -07:00
asimon-1
ace4654f3d
Set tumble trigger as default (#541) 2023-07-29 13:39:09 -07:00
GradualSyrup
78d4b36400
Override ledge fix and input recording menu fixes (#542)
* GCC+tinkering

* First working pass with 8-byte structure usage.
Control scheme is effectively copied for CPU.

* CPU override, sticks not working properly

* Recording working again during record, playback issues.
Also, aerials are all nair, and jump/Dash Attack issues.

* Structure creation cleanup

* Continued testing, still aerial, jump, and dash attack issues

* Fix Dockerfile

* Rework with ControlModuleInternal and ControlModuleStored - same exact issues

* Fix playback inconsistency

* Dead code of trying to find attack air address

* It works! Fix mash.rs overrides of input playback

* Action passing groundwork; Clatter off by default for now

* All Overrides implemented, notes on Snake

* Input Submenu, dummy slots and save state/mash playback interaction

* Nana command fix, mash fix

* Initial Savestate/Ledge record (slight issues)

* Add TODO

* Lasso handled, ledge jump issue fixed, shield decay with input recording fixed, standby setup begun

* first frame playback clear, fix neutral getup

* Standy by groundwork, broken by our frame late record impl

* Prepare for structure change

* On time small structure recording, needs ledge adjustments

* Coloring fix for poessession, lockout implemented and full ledge functionality

* Cleaning and menu fix

* Fix ledge option loop and shield holding on mash

* Fix shielding issues

* turn off playback

* Enable input recording

* Resolving comments 1,2,4,5

* Resolve comments 6, 7, and 8

* External Mash Function

* No Trigger for Overrides, Clatter and Tumble Added

* LR Support, Full Hop Fix

* Starting Status WIP, Structure WIP, LedgeOption PLAYBACK renaming

* WIP Playback Mash - OoS issues - WIP Slots

* Merge branch 'main' into for-restructure prep

* more merge prep

* Return None fix

* More cleanup

* Block -> Shieldstun

* Don't crash on missing menu icons

* Add input recording tab to prevent crash

* Fix general override behavior

* Fix teching overrides

* Additional merge changes

* Nana fixes (also on master so this will be awkward)

* Additional Merge Fixes

* Remove extra tab, prevent panic on missing input recording items

* Needs proper selection of action

* Ledge overrides work without trigger, remove playback/record slot until working
2023-07-29 13:12:32 -07:00
jugeeya
62298ecbc1
Input Recording (#539)
* GCC+tinkering

* First working pass with 8-byte structure usage.
Control scheme is effectively copied for CPU.

* CPU override, sticks not working properly

* Recording working again during record, playback issues.
Also, aerials are all nair, and jump/Dash Attack issues.

* Structure creation cleanup

* Continued testing, still aerial, jump, and dash attack issues

* Fix Dockerfile

* Rework with ControlModuleInternal and ControlModuleStored - same exact issues

* Fix playback inconsistency

* Dead code of trying to find attack air address

* It works! Fix mash.rs overrides of input playback

* Action passing groundwork; Clatter off by default for now

* All Overrides implemented, notes on Snake

* Input Submenu, dummy slots and save state/mash playback interaction

* Nana command fix, mash fix

* Initial Savestate/Ledge record (slight issues)

* Add TODO

* Lasso handled, ledge jump issue fixed, shield decay with input recording fixed, standby setup begun

* first frame playback clear, fix neutral getup

* Standy by groundwork, broken by our frame late record impl

* Prepare for structure change

* On time small structure recording, needs ledge adjustments

* Coloring fix for poessession, lockout implemented and full ledge functionality

* Cleaning and menu fix

* Fix ledge option loop and shield holding on mash

* Fix shielding issues

* turn off playback

* Enable input recording

* Resolving comments 1,2,4,5

* Resolve comments 6, 7, and 8

* External Mash Function

* No Trigger for Overrides, Clatter and Tumble Added

* LR Support, Full Hop Fix

* Starting Status WIP, Structure WIP, LedgeOption PLAYBACK renaming

* WIP Playback Mash - OoS issues - WIP Slots

* Merge branch 'main' into for-restructure prep

* more merge prep

* Return None fix

* More cleanup

* Block -> Shieldstun

* Don't crash on missing menu icons

* Add input recording tab to prevent crash

* Fix general override behavior

* Fix teching overrides

* Additional merge changes

* Nana fixes (also on master so this will be awkward)

* Additional Merge Fixes

* Remove extra tab, prevent panic on missing input recording items

* Remove some TODOs

---------

Co-authored-by: GradualSyrup <68757075+GradualSyrup@users.noreply.github.com>
2023-07-27 16:42:21 -07:00
asimon-1
7eec409086
Mash Overrides (#533)
* Merge from CookieScythe branch

* Rename block to shieldstun, add icons to layout.arc, add new options to ui_menu

* Address clippy warnings and reformat

* Add fn_null_check back to whitelist

* Pray to clippy gods
2023-07-12 11:36:32 -07:00
jugeeya
dbfa60bebc
Fix Save State Slots menu crash (#526)
* Update options.rs

* Update save_states.rs

* Update options.rs
2023-04-29 12:22:45 -07:00
jugeeya
1ce2850af3
Save State Slots as Menu Option (#520)
* Initial

* Clippy + Format

* Update save_states.rs

* selected vs random

* fix

* Formats

* Format

* Format

* Updated copy, 2 randomize_slots, 2 save_slot_state

* Update to 5.1, fix random logic

---------

Co-authored-by: Matthew Edell <edell.matthew@gmail.com>
2023-04-14 15:48:22 -07:00
Chris McDonald
5b2e4c7319
Add rustfmt CI checker and format (#518)
* Add rustfmt CI checker

Minimal checker that just runs `cargo fmt --check` on all targets.

* rustfmt
2023-04-11 14:56:14 -07:00
jugeeya
330976f490
Change default button config for save states: load/save to Shield, slots to Grab (#510)
* initial

* Change references to grab/shield

* Update README.md
2023-03-22 14:22:27 -07:00
Austin Traver
c74a2b3432
Adjust wording of some help-text (#508) 2023-03-14 18:29:16 -07:00
jugeeya
58a18de2b9
Save State Slots: Add enabler toggle, switch to Shield+Left/Right (#505)
* Switch to Shield+Left/Right

* Add option in menu
2023-03-13 22:12:24 -07:00
Austin Traver
c3a36e78e5
Convert line separators from CRLF to LF (#499) 2023-02-26 12:14:03 -08:00
jugeeya
e981a0bfd0
Move files to sd:/ultimate/TrainingModpack (#480)
* Initial

* Move filepaths

* Small fix

* Notification on save state save
2023-02-13 19:58:22 -08:00
jugeeya
3d6ea34eeb
Use layout.arc to Build UI (#473)
* Update lib.rs

* Remaining fixes

* Initial

* Forgot to commit

* Clippy

* Initial

* Use feature gate

* Fixes

* layout.arc actually working. Add training_mod_menu_button

* Add docstring, fix from static

* Use include_flate to keep binary smaller

* Add most menu features back

* Add help, tabs

* Add help, tabs

* Small refactor

* Fix clippy, some other issues

* Updated menu buttons, inactive text colour (btns), layouts

---------

Co-authored-by: Matthew Edell <edell.matthew@gmail.com>
2023-02-09 07:51:40 -08:00