Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

QuickMenuReborn Vita: Difference between revisions

From GameBrew
m (Text replacement - "GameBrew!" to "GameBrew")
m (HydeWing moved page Quickmenureborn Vita to QuickMenuReborn Vita without leaving a redirect)
(No difference)

Revision as of 05:30, 12 Ocak 2023

QuickMenuReborn
File:Quickmenurebornvita.jpg
General
AuthorIbrahim778
TypePlugins
Version2.5
LicenseMixed
Last Updated2022/05/16
Links
Download
Source

QuickMenuReborn is a library for developers to easily add their own widgets, to the vita's Quick Menu.

Installing QuickMenuReborn

  1. Download the plugin
  2. Copy the plugin to your tai folder
  3. Add it's path under *main to enable it
  4. Make a folder called QuickMenuReborn (exactly that, case sensitive) in ur0: or ux0: (ur0: if you use sd2vita)
  5. Copy qmr_plugin.rco into the folder
  6. Reboot

Installing plugins that use QuickMenuReborn

Simply drag and drop the plugin in the QuickMenuReborn folder you made earlier.

There is also a sample plugin provided. It's totally useless (don't know why anyone would want it in their menu, but it shows most of the features)

File:Quickmenurebornvita.jpg

Media

Usage

First thing I recommend doing is checking out the sample plugin.

Adding widgets

First thing you need for your widgets is a refrence id, it doesn't need to be anything specifically, just needs to be something not likely to be used elsewhere.

Once you've gotten your id figured out you need to make a layout, this layout will need tweaking until it feels right so be prepared to experiment.

To actually add the widget you can use the QuickMenuRebornRegisterWidget, after that you will need to adjust some properties for it to show up.

You can use QuickMenuRebornSetWidgetColor and QuickMenuRebornSetWidgetSize to adjust the size, then you can use QuickMenuRebornSetWidgetPosition to adjust the position.

Assigning and managing callbacks

Checkboxes, slidebars and buttons can have callbacks assigned to them, use the QuickMenuRebornRegisterEventHanlder.

In order to save checkbox / slidebar values / positions and reassign them when the quickmenu opens you must assign recall and save callbacks.

You can either use your own custom ones and use QuickMenuRebornAssignRecallHandler and QuickMenuRebornAssignSaveHandler or you can use premade ones with QuickMenuRebornAssignDefaultSliderSave and QuickMenuRebornAssignDefaultSliderRecall and the same for other widgets.

Other than that you can assign OnLoad callbacks with QuickMenuRebornAssignOnLoadHandler.

Textures

You will first need to register a texture before you can use it, Use QuickMenuRebornRegisterTexture("texture_refrence_id", "path/to/file") You can then use the refrence id you passed to assign the texture to the widget, use QuickMenuRebornSetWidgetTexture("widget_refrence_id", "texture_refrence_id") For Example:

    SceIoStat s;
    if(sceIoGetstat(TEST_TEXTURE_PATH, &s) >= 0) //File Exists
    {
        QuickMenuRebornRegisterWidget(TEX_PLANE_ID, NULL, plane);
        QuickMenuRebornRegisterTexture(TEXTURE_REF_ID, TEST_TEXTURE_PATH);
        QuickMenuRebornSetWidgetSize(TEX_PLANE_ID, 128, 128, 0, 0);
        QuickMenuRebornSetWidgetColor(TEX_PLANE_ID, 1,1,1,1);
        QuickMenuRebornSetWidgetTexture(TEX_PLANE_ID, TEXTURE_REF_ID);
    }

Separators

You may have noticed that the default widgets in the quick menu all have a line to separate themselves. You can use Separators in quickmenureborn to do this.

Once again these need refrence id's, You should only add separators at the start of your code so they appear at the top, DO NOT ADD SEPARATORS ON THE BOTTOM, this is for 2 reasons.

  1. If your plugin is the first one, there is a separator between your widget and the accessability widgets
  2. If your widgets are in the middle, they separate with the previous ones and blend in with the next ones

Removing Widgets and Textures

Use the QuickMenuRebornRemoveWidget function and pass in the widget refrence id.

To remove separators use the QuickMenuRebornRemoveSeparator function and pass in the refrence id.

To remove textures use the QuickMenuRebornUnregisterTexture function and pass in the refrence id.

For Example

    QuickMenuRebornRemoveWidget(BUTTON_REF_ID);
    QuickMenuRebornRemoveWidget(CHECKBOX_REF_ID);
    QuickMenuRebornRemoveWidget(TEXT_ID);
    QuickMenuRebornRemoveWidget(CHECKBOX_TEXT_ID);
    QuickMenuRebornRemoveWidget(PLANE_ID);
    QuickMenuRebornRemoveSeparator(SEPARATOR_ID); //Don't forget this!

Kernel Plugins

QuickMenuReborn does not suppourt kernel plugins, it's not worth making a kernel plugin because kernel can't call userland functions.

I recommend devs to make a separete user plugin for their gui, it's not hard and use syscalls to send over the commands. I may create a kernel / user registry bridge later though.

Developer Library

VitaSDK / DolceSDK

  1. Make sure you have installed the plugin (see above).
  2. Download the file dev_pkg.zip
  3. Extract it
  4. Copy the folder quickmenureborn to your sdk's include folder so that the subdirectory quickmenureborn is inside it.
  5. Copy the stubs from vitasdk_stubs to your lib folder, stubs inside stubs are for vdsuite
  6. Done

VDSuite

  1. Either follow instructions for vitaSDK but using the vdsuite stubs (recommended) or,
  2. Clone Repo
  3. Build with cmake and use target install_vdsuite

Changelog

(v.2.5)

  • Implimented onDelete Callback
  • Implimented BusyIndicator
  • Updated to new headers
  • New functions and improvements

(v.2.4)

  • Bug Fixes and optimisation.

(v.2.3)

  • Added more info in callbacks, this'll make life easier (for devs).

(v.2.2)

  • Fixed a bug with texture and memory.

(v.2.1)

  • Several Bug Fixes, Now added texture suppourt.

(v.2.0)

  • Widgets now make sounds
  • Text looks like official ones
  • Performance Improvements
  • Entire rewrite (you wont cry if you read it now)
  • Added slidebars
  • Custom RCO usage, Now we can add pretty much anything

(v.1.8)

  • Fix a load of bugs. Cleaned up code.

(v.1.7)

  • Fix Bug When Updating Widgets (finally tracked it down!)
  • Separators now also look like the original ones!

(v.1.6)

  • Fixed text randomly spawning as bold.

(v.1.5)

  • Separators didn't work how I intended, fixed it now.

(v.1.2)

  • Fixed VitaSDK stubs

(v.1.1)

  • Some functions were missing in stubs, fixed include files

(v.1.0)

  • First Release.

External links

Advertising: