ppkantorski / Ultrahand-Overlay

The fully craft-able Nintendo Switch overlay executor.
GNU General Public License v2.0
172 stars 24 forks source link

Development for v1.6.3 #151

Closed ppkantorski closed 3 months ago

ppkantorski commented 3 months ago

List of changes:

  1. IMPORTANT: Tables in v1.6.3 no longer utilize ;header= pattern and no longer draw headers. Tables also no longer require a $ in the command name.

    • To define a header, use an empty package command (like how they are defined normally.)
  2. Introduction of 3 track-bar implementations. i. Regular track-bar is called utilizing ;mode=trackbar.

    • ;min_value= sets the minimum integer value
    • ;max_value= sets the maximum integer value
    • ;units= sets the display units
    • ;unlocked= is an optional true/false parameter for unlocked track-bars (locked by default)
      • At least one track-bar must first be clicked (A) for all track-bars to be editable (unless unlocked).
    • ;on_every_tick= is an optional true/false parameter for executing listed commands on every track-bar tick (off by default)
      • By default, commands are executed the moment the interactions with the slider stop.

    ii. Step track-bar is called utilizing ;mode=step_trackbar.

    • ;steps= is an optional integer parameter for directly specifying the number of steps utilized with the step track-bar.

    iii. Named step track-bar is called utilizing ;mode=named_step_trackbar.

    • Requires a list_source definition or a list_file_source definition (for loading the names).
    • Does not use ;min_value=, ;max_value=, ;units=, nor ;steps=.

    All track-bars commands can be used with placeholders {value} for returning the value and {index} for returning the index. Both value and index are also stored within the package config.ini file according to the track-bar entry.

  3. Introduction of 5 new placeholder commands. i. {slice(<ANY_STRING>,<START_INDEX>,<END_INDEX>)} slices any string according to a start and end index. ii. {decimal_to_hex(<DECIMAL>)} converts a decimal string into a hex string. iii. {ascii_to_hex(<ASCII>)} converts an ascii string into a hex string. iv. {hex_to_rhex(<HEX>)} inverts the endian of a hex string. v. {hex_to_decimal(<HEX>)} converts a hex string into a decimal string.

    Bug fix: All variable placeholders no longer require a specified order for operations.

  4. Optimized input handling for smoother / faster menu item traversal.

  5. New theme colors and updates to theme ultra.ini. i. header_text_color is the text color for category headers. ii. header_separator_color is the separator rectangle color for category headers. iii. star_color is the color of the favorites star when unselected. iv. selection_star_color is the color of the favorites star when selected. v. bottom_button_color is the color of the buttons displayed at the bottom of the window. vi. bottom_separator_color is the color of the separator drawn near the bottom of the window. vii. bottom_text_color is the color of the text drawn at the bottom of the window next to the buttons. viii. trackbar_slider_color is the color of the trackbar slider. ix. trackbar_malleable_slider_color is the color of the trackbar slider when it is in a modifiable mode (unlocked / press A). x. trackbar_slider_border_color is the color of the thin border around the slider. xi. trackbar_full_color is the color of the trackbar for the filled portion. x. trackbar_empty_color is the color of the trackbar for the empty portion.

    IMPORTANT: All colors with word seperator are now spelt correctly separator. (grammer typo fix)

  6. Expansion of backlight command.

    • In addition to on and off, backlight can now take an integer percentage value for precise backlight modifications.
    • backlight <PERCENTAGE>
  7. Bug fix for refresh command.

    • refresh should now behave on the level / page it is called upon.
  8. Improved touch scrolling implementation. (cursor no longer is redrawn as touch scrolling is initiated)

  9. Updated libnx from v4.6.0 to v4.7.0.

  10. Various bug fixes and command optimizations.