Skip to content

An RDR2 menu base that is used to make similar menus to how they are in-game

License

Notifications You must be signed in to change notification settings

Halen84/RDR2-Native-Menu-Base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RDR2 Native Menu Base

An RDR2 UI Menu Base that uses in-game sprites to make UI menus similar to how they are in-game

Sample Images

  • These examples are included in the source code, and are easy to remove if needed
Basic Samples (Outdated) (Taken on June 15th, 2022)

Regular Option Bool Option Vector Option Vector Option With Changed Value Submenu Example Another submenu

Abstraction Branch

  • The abstraction branch's purpose is to implement more abstraction/polymorphism into this menu base
  • It has its ups and downs, but I implemented this because I thought some people might prefer this over the master branch

Features

  • Easy to configure, organize, and use
  • Keyboard and controller support with rebindable keybinds
  • Faster scrolling keybind (up to 10 options at a time)
  • Ability to draw your own custom text on the screen with fonts that Rockstar uses
  • Debug console for testing purposes
  • And more

Option Types

  • Submenu Options
    • These options will bring up another page when clicked that can bring up more options to choose from.
  • Regular Options
    • These options will immediately execute your custom code when clicked.
  • Bool Options
    • These options are like an on/off switch. When clicked, the passed boolean pointer will be switched from true to false and vice versa, allowing you to execute your custom code.
  • Vector Options
    • These options contain multiple selections of choosable items. If you know what an std::vector is, then this option is basically that. Everytime this option is switched, your custom code will execute.
  • Empty Options
    • These options will insert a blank spot into the page. Mainly used for organization purposes.

Help & Info

  • The UI will look and function the best on 1920x1080 displays
  • script.cpp would be where to look first
  • The "Submenus" folder is where you can put your functions for options. Its up to you how you want to organize everything.
  • ^^^ You can also create the options in other files as long as you call it in InitializeMenu()
  • To change keybinds, see UI/Menu.cpp in CheckInput()
  • UI/Options/ contains all option types
  • UI/Submenu.hpp is the Submenu class
  • UI/Menu.cpp handles keypresses, navigation, some drawing, and other things
  • UI/Menu.hpp is the CNativeMenu class
  • UI/Drawing.cpp does the texture and text drawing for everything

Changelog

TODO List + Bugs

  • More support for displays that arent 1920x1080 (mostly done)
  • Better/Improved scrolling
  • Mouse support

Credits

  • Alexander Blade for the Scripthook SDK for RDR2
  • GitHub contributors

About

An RDR2 menu base that is used to make similar menus to how they are in-game

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published