Git Product home page Git Product logo

roulettevshmenu's Introduction

RouLette Vsh Menu

Vsh Menu that loads Playstation 3 game menus like Lexicon, Serendipity, Paradox and FrenchModdingTeam.

To open the vsh menu press R3 + DPAD LEFT

Table of contents

Features

  • Load sprx menus into game without eboots (.sprx)
  • Load InGame payloads (.bin)
  • Write to into game memory on game startup or constantly

Preview

2022-04-04_01-17-50 2022-04-04_01-18-04 2022-04-04_01-18-18

Notes

  • Some games have exceeded their memory limit so using the function GamePatching::StartSprx will not work. So a workaround is to make a eboot for that game to load your sprx. (This is mainly for AAA games like GTAV and RDR)
  • Cobra 8.3 or above is required to use the launcher. If you are on 4.84 Rebug DEX and want to use Cobra 8.3 download 4.84 DEX stage2.dex and stage2.cex transfer the file to /dev_rebug/rebug/cobra/ to your PS3.
    • /dev_rebug/rebug/cobra/ path will only show up if you have the Rebug ToolBox opened on your console
  • CCAPI 2.80rev5 or lower is required to use enstone menus. Also a console restart is required if you want to exit the game. To load a enstone menu open RouLetteVshMenu click on the menu you want to load then mount your game of choice and press R2 + L3 + R3 then finally start the game.
  • If you get placed into Safe Mode when loading into a game try to unload WebMan before starting any game (R2 + L3 + R3).

Download

Releases

Installation

  1. In your PS3 file system go to /dev_hdd0/plugins/ and transfer folder named RouLetteVshMenu provided in Releases and the inside of RouLetteVshMenu folder should look like this

plugins sprx

  1. Navigate back to /dev_hdd0 and you will find a file named boot_plugins.txt (If file is not found just create one named boot_plugins.txt)

hdd0

  1. Open boot_plugins.txt and make a new line and type /dev_hdd0/plugins/RouLetteVshMenu/RouLetteVshMenu.sprx

bootplugins

  1. Restart your console

How to build

Requirements:

If you have the above requirements you can skip to cloning the git repo.

Visual Studio 2013+

Visual Studio 2013 isn't required to build but is required to setup Visual Studio Integration. With that being said if you don't plan on creating projects you can use any version of Visual Studio.

Download Link

Sony PS3 4.75+ SDK with Visual Studio Integration

Visual Studio Integration is REQUIRED in order to build the project using Visual Studio.

Download Link

Fixed std::string library

Download and extract their zip file.

  1. Navigate to your SDK installation folder (default: C:\usr\local\cell\target\ppu)
  2. Drop the include and lib folders in and overwrite any existing files

Download Link

Git

If you haven't installed git on your system go and do so it is REQUIRED for setting up a working build environment.

Download Link

Cloning

Clone the repository including submodules:

git clone https://github.com/TheRouletteBoi/RouLetteVshMenu.git --recursive || echo "You don't have git installed, install it from https://git-scm.com/download/win"

Now, you will be able to open the solution, and simply build it in Visual Studio.

Staying Up To Date

Pull the latest changes from Github:

git pull && git submodule update

Discontinued Features

Credits

@Jordy-Nateur for his paf classes Module, PhHandler, PhPlane, PhText, PhWidget and View and his VSH-Playground

@CaneHaxs for some of the Paradox patches, terrorizer patch and many others

roulettevshmenu's People

Contributors

illusion0001 avatar therouletteboi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

roulettevshmenu's Issues

Console Freezes

Whenever i use L3+R3 or load the plugin in VSH menu it freezes my console. Same with Akari plugin.

Semjases

Could you add semjases to the vsh to load GTA since private servers are back on for PS3

[Request] Support for more Games

I see your other repositories like READ DEAD REDEMPTION mod menu, can it also be included? and some more games that has mod menus.

[Bug] CPU/GPU Information

Seems like the settings below:

showCpuInfo: Off
showGpuInfo: Off

only works if the clock speeds are enabled, otherwise it will show the compact mode that can't be configurable.

BTW i loved the idea of keeping the compact mode if the clock speeds are disabled, but seems like the settings in the yalm are not disabling the cpu or gpu info in this mode.

[Feature Request] Automatic Detect YAML changes

I made a nice XMBML menu using webMAN MOD commands to enable/disable the features by editing the yaml file, can the plugin detect that the yaml file has been edited/changed and atomatically loads the new values?

[IDEA] Ram UsaGe

As v2.3 shows ram usage in MB, I suggest to automatically switch from MB to KB , just like the temperature that automatically switches from C to F.

BTW looks like it became inaccurate, when it was in KB, the memory usage was between 91-92% now in MB is 89.4%

FPS Counter

Can a standalone fps counter be created? that stays on the screen all the time enabled/disabled by simple buttom combo?

FPS Counter Issue

Webman mod has been updated to .44 and fps counter plugin cannot work together with webman anymore by boot_plugin.txt, if both are loaded the system will not boot.

Maybe the lv2 scan be improved to use less memory? recently Evilnat improved the speeds detection in his xai plugin

Evilnat/xai_plugin@fbfd746

[Request] Clock Speeds

Following the overclock patched firmwares and the ongoing xai plugin overclock on the fly, would be a nice addition to show the CPU/RAM and RSX/VRAM clock speeds.

HEN issue

I'm using the v2.6 just fine on CFW, but i switched to HFW with HEN and now when the plugin is enabled if i launch a game. sometimes it gives me a black screen and the system freezes

[Request] New Stand Alone FPS Counter Configurable .INI

Would be nice if we can configure the new FPS counter plugin with a .ini file to remove unwanted information.

For example, to remove the Firmware Information or Ram Usage, so the user can hide/show each information overlay, would be nice too if we can set the order too.

Versions 2.4 and 2.5 freeze on XMB

It seems that the current scanning method is buggy. It takes too long and sometimes the value is not found.
But the big issue is that it seems to be the cause of freeze on XMB. I tested versions 2.4 and 2.5, both freeze the console. So I had to revert the plugin to 2.2.

It would be great if it can be optional. Or cache the found value and show it unless a change is detected in lv0 on flash storage.

Empty space on HEN

I know that the clock info is disabled on HEN consoles, but could the information take place in that slot while on HEN instead of leaving a blank space? Something similar to Akari that dynamically allocates the info space

image

Freeze returning to XMB using VshFpsCounter 2.3 + bloated text + wrong info

Version 2.3 freezes exiting a game to XMB. It freezes the console with a black screen and I have to press power button to shutdown. It didn't happen with version 2.2.

How to reproduce: launch a game (e.g. Apollo Save Tool), wait until it loads, press PS and select exit the game. It exits the game but freezes showing the XMB.

This version also shows too much static text on screen. Please make the clock information optional or rotate the clock info (show each clock speed every few seconds, like you do with temps). I would prefer it to be optional.

Note: It looks like the clock information changes its address in LV1. I got wrong clock speed values once, but I couldn't reproduce the bug on the next 2 reboots.

Idea to reduce text information + Bug report: Slash on PSX games

I understand that the text labels are important for easy understanding of the information.

My concern is that since 2.3 there is too much static information taking too much space on screen.

My proposed solution is to show only the clock speeds without labels.
image
BTW The CPU/GPU labels for temperatures act as labels for the clock speeds too.

The user just need to read the documentation to interpret the meaning of the 3 values.


On PSX games, there is a slash under the firmware version. That occurs because you show Title / Game ID. An easy fix is to replace the slash with a space to show: Title Game ID

Feature Request: Show system time.

Title… I think it’d be pretty handy to show the time, especially when you want to have a quick game session, but have places to be at a certain time.

Version 2.3

The new version does not change the values once loaded

all overlays stays the same and no cpu/clock speed and black screen exiting games.

i'm on 4.88 evilnat

CEX options

I think your vsh menu needs to have two versions or two menus CEX and DEX, needing to click one by one to know if it runs in CEX is kinda annoying.

Feature Request: Quit game after crash/freeze

Would it be possible to implement a feature that automatically quits the current game if a crash is detected, or perhaps with a button combination instead (like you did in Semjase’s)? Possibly even add a toggle in the config file for those that don’t want it.

[BUG] PlayTime

Turns out that it only works when showPlayTime is set to On in both XMB and GAME but the playtime will display the time since the system was booted.

Also when this feature is enabled on the XMB environment it could say Startup Time (actually enabling it on XMB environment does nothing) and when in game Play Time.

webMAN MOD does something similar to it.

EDIT; Seems like the PlayTime (Startup time) does not reset after a system reboot unlike webMAN MOD

Nothing loads/shows up

Hello, so every time I try to load anything nothing shows up and if it says it's loaded it still doesn't load like it should. I was just wondering why that might be.

[FEATURE REQUEST] Different Environments in YALM Config

Can different environment configs be added ?

Lets say,

Version: 1
XMB overlay :
   position: TOP_LEFT
   showFPS: Off
   showCpuInfo: Off
   showGpuInfo: Off
   showRamInfo: Off
   showFanSpeed: On
   showFirmware: On
   showAppName: Off
   showClockSpeeds: Off
   temperatureType: BOTH 
GAME overlay :
   position: TOP_LEFT
   showFPS: On
   showCpuInfo: On
   showGpuInfo: On
   showRamInfo: On
   showFanSpeed: On
   showFirmware: On
   showAppName: On
   showClockSpeeds: On
   temperatureType: BOTH

So the user can use different overlays on the XMB and GAME

Developer menu should have seperate folder to drag and drop menus so they can be loaded

The Developer menu should have seperate folder to drag and drop .sprx or .bin menus so they can be loaded.

Example /dev_hdd0/plugins/RouLetteVshMenu/modmenus/autoscan this will scan all .sprx in the folder and load them up into a submenu. Maybe we can do the same for all .sprx in the tmp folder /dev_hdd0/tmp/plugin.sprx

other names that might be better
/dev_hdd0/plugins/RouLetteVshMenu/menuloader/sprx/
/dev_hdd0/plugins/RouLetteVshMenu/menuloader/bin/

void DeveloperSubmenu()
{
g_Menu.Title(L"Developer");
g_Menu.Option(L"Load /dev_hdd0/tmp/plugin.sprx into game process").Action([]
{
if (FileExist("/dev_hdd0/tmp/plugin.sprx"))
{
bool couldLoad = GamePatching::StartSprx("/dev_hdd0/tmp/plugin.sprx");
if (couldLoad)
vsh::ShowNavigationMessage(L"Successfully loaded /dev_hdd0/tmp/plugin.sprx into process");
else
vsh::ShowNavigationMessage(L"You are not in game");
}
else
{
vsh::ShowNavigationMessage(L"File does not exist");
}
});
g_Menu.Option(L"Unload /dev_hdd0/tmp/plugin.sprx from game process").Action([]
{
if (FileExist("/dev_hdd0/tmp/plugin.sprx"))
{
sys_pid_t processId = vsh::GetGameProcessId();
if (processId)
{
sys_prx_id_t prxId = GamePatching::GetProcessModuleIdByFilePath(processId, "/dev_hdd0/tmp/plugin.sprx");
if (prxId)
{
ps3mapi_unload_process_modules(vsh::GetGameProcessId(), prxId);
vsh::ShowNavigationMessage(L"Successfully unloaded /dev_hdd0/tmp/plugin.sprx from process");
}
else
vsh::ShowNavigationMessage(L"sprx is not loaded into game");
}
else
vsh::ShowNavigationMessage(L"You are not in game");
}
else
{
vsh::ShowNavigationMessage(L"File does not exist");
}
});
static uint64_t pageTable[2]{};
g_Menu.Option(L"Load /dev_hdd0/tmp/payload.bin into game process").Action([]
{
const char* fileName = "/dev_hdd0/tmp/payload.bin";
if (FileExist(fileName))
{
// I need to find a way to get file size on disk; see https://imgur.com/a/bSFHbGT
CellFsStat st;
cellFsStat(fileName, &st);
uint64_t fileSize = st.st_size;
uint64_t blockSize = st.st_blksize;
uint64_t payloadPadding = 0x4000; // https://imgur.com/a/aFEfVIM
uint64_t fileSizeOnDisk = fileSize + (4 * blockSize);
uint64_t fileSizeOnDisk2 = fileSize + payloadPadding;
vsh::printf("fileSize = %d | blockSize = %d | payloadPadding = %d | fileSizeOnDisk = %d | fileSizeOnDisk2 = %d\n", fileSize, blockSize, payloadPadding, fileSizeOnDisk, fileSizeOnDisk2);
if (GamePatching::StartPayload(fileName, KB(4), 0x7D0, 0x4000, pageTable))
{
vsh::printf("Payload injected at table[0] = 0x%016llX\n", pageTable[0]);
vsh::printf("Payload injected at table[1] = 0x%016llX\n", pageTable[1]);
vsh::ShowNavigationMessage(L"Successfully loaded /dev_hdd0/tmp/payload.bin into process");
}
}
else
{
vsh::ShowNavigationMessage(L"File does not exist");
}
});
g_Menu.Option(L"Unload /dev_hdd0/tmp/payload.bin from game process").Action([]
{
sys_pid_t processId = vsh::GetGameProcessId();
if (processId)
{
if (pageTable[0] && pageTable[1])
{
int ret = ps3mapi_process_page_free(processId, 0x2F, pageTable);
vsh::memset(pageTable, 0, sizeof(pageTable));
if (ret == SUCCEEDED)
vsh::ShowNavigationMessage(L"page sucessfully free'd");
else
{
vsh::printf("failed to free page 0x%X\n", ret);
vsh::ShowNavigationMessage(L"failed to free page");
}
}
else
{
vsh::ShowNavigationMessage(L"page has not been allocated");
}
}
else
vsh::ShowNavigationMessage(L"You are not in game");
});
}

Faster Pattern Scanner for LV1, LV2 or any external process

Overview

The available external process pattern scanners are extremely slow which is normal but we can speed things up. Also when having multiple patterns in a single thread can be every slow because the previous scan needs to finish it's task.

Features

  • External process scanning should be async
  • Use SIMD instructions to speed up performance (compiler intrinsics)

paradox mw2

hello i would like to know if the paradox is cracked or it is the paid version that requires a key

[Improvement] CCAPI checks for Endstones Menus

Can a check be added to the menus that requires CCAPI?

Menus that require CCAPI could have explicit information in the mod's menu description that says it requires CCAPI and if the user tries to load it without CCAPI a popup could be displayed with a message that the MOD MENU cannot be activated because CCAPI is not installed on the system.

FPS Plugin causes console to softlock if COBRA CFW SYSCALLS are disabled.

Upon booting a game, i normally disable CFW SYSCALLS from the in-game XMB, however, upon doing this, while the plugin is loaded, and closing the application/game, the console will softlock and not reload the VSH menu. Also, if SYSCALLS are disabled while the plugin is active, it will cause this weird jumble of characters on the right side of the screen. Disappears once SYSCALLS are restored.

Console Shuts down

Consoles: CECHH04, CECHG04 EvilNAT 4.89CFW + webMAN MOD 1.47.41
Here is what happens on both consoles:
Console starts up alright and works flawlessly.
But after activating fps counter everything shows as it should except cpu/gpu clocks are missing. After ~17 seconds YLOD, console shuts down power led red flashing and beeping. It doesn't matter what I do, browse in XMB, start a game, do nothing, it always happens at ~17 seconds.
Powering the console up again, hdd checking("the unit was not properly shut down the last time is was used") and after that the xmb starts up.
And here is the difference, after activating the fps counter again (L3+R3) everything happens as before except after ~17 seconds the cpu/gpu clocks appear too. No crash.
After shutting down the console and powering up again next day everything happens again from start.
It's like the cpu/gpu clock speed readout crashes the console.
I tried configuring the plugin to only show fps/cpu/gpu temperature/fan speed, but crashed again. It works only after a YLOD/hdd check. I checked the hdd its flawles in both consoles.
Reinstalled cfw, no luck.
I tried version 2.2 and it works flawlessly, it only freezes sometimes when exiting a game, but its a known bug.

Crash when show clock speed is set to on in xmb webMAN MOD v1.47.45 and Evilnat 4.91 CEax

I am noticing a bug when using webMAN MOD v1.47.45 and Evilnat 4.91 CEX. When I activate the show FPS screen (L3+R3) for webman the system crashes after around 15-25 seconds. I have found this older thread ( https://www.psx-place.com/threads/webman-mod-general-information-thread.9643/page-102 )

It describes the same issue I'm having and a suggested solution by aldostools. It does indeed not crash when setting 'showClockSpeeds: Off' for the XMB at this location; http://0/edit.ps3/dev_hdd0/tmp/wm_res/VshFpsCounter.yaml
I didnt notice this issue on 4.90 CEX with webMAN MOD v1.47.45

[Feature Request] Warning about webMAN MOD

I think mod menus that don't work with webMAN MOD could display a message to unload webMAN first after mounting the game or the plugin could automatically disable webMAN or switch it to Lite mode.

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.