Giter VIP home page Giter VIP logo

rdr2-native-menu-base's Introduction

RDR2 Native Menu Base

An RDR2 UI Menu Base that uses in-game sprites to make similar menus 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 (Taken on April 18th, 2022)

Regular Option Toggle Option Vector Option Vector Option With Changed Value New Page Another Page

Features

  • Easy to configure
  • Easy to add new pages and more options
  • Keyboard and controller 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

Option Types

  • Page 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.
  • Toggle 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 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. You will be able to get the current selection a vector is on.

Help & Info

  • To create new pages and options, see pages.cpp
  • To execute code when an option is pressed/toggled, see functions.cpp (any pages.cpp)
  • menu.cpp is basically the core UI functionality. Edit at your own risk.
  • script.cpp (generic .asi main loop file) is also core. Handles key presses, indexing, drawing, and some other things.
  • Might be a good idea to "using namespace Menu;" in your files to speed up your coding slightly. Kinda ruins the point of namespaces but I don't care.
  • The "lib" folder is useful if you want to import external libraries to use. You can just throw them in there.
  • Ignore the "xyz is ambiguous" errors! It's just an intellisense error.

Changelog

Credits

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

The codebase isn't the best because I'm not a C++ master. However, it's 100% do-able to work it.

I'm always looking to improve this codebase. One day, it will get a complete overhaul and rewrite. It's already gotten like 2 rewrites, but they aren't as big as the overhaul will be.

rdr2-native-menu-base's People

Contributors

dont-att-me avatar halen84 avatar ijamesss avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.