Skip to content

Latest commit

 

History

History
186 lines (147 loc) · 18.4 KB

README.md

File metadata and controls

186 lines (147 loc) · 18.4 KB

The Rocksmith Mods that nobody asked for

Build status

Branches:

  1. Develop - proxy DLL for D3DX9_42.dll - latest build
  2. GUI - used to customize settings for the internal mod and to add set-and-forget mods - latest build
  3. One-Click-Installer - one big button to start modding :) - latest build

Features:

  • Extended Range Mode

    • Rocksmith by default doesn't officialy support 7 (or more) string guitars or 5 string bass, even though a few low-tuned songs have been released as official DLC. Hence with the power of DX9, GDI+ and some smart reverse engineering, when it detects that a song is in a tuning lower than the set treshold, the color scheme will change accordingly. What that means is that no more will your brain be confused because the lowest string is colored red (usually indicating the low E string), while you actually need to play the low B! So effectively all the strings will be shifted one place down.
    • Options
    1. ZZ's color set - this mode will replicate the default color of high B string (the teal / green used in colorblind mode) and make it match the color of the low B string (7-th string) - See the ER mode in action. Note this video is from an older mod method, but the way it displays in game is the same, the enabling of it is now just all done automatically based on tuning, rather than enabling "Colorblind" mode.
    2. Custom color set - defined by you as the colorblind color set in the settings, it will be used only in extended range mode songs, while regular songs will use the normal colors ** Known bugs: Some highlights for accented open strings or HO / PO notations, flicker between the default colors and the modified ER mode colors. The string pegs shown in the tuner are not changed correctly. The colors change when the song starts, not in the tuner, meaning on first ER use, default colrs will be shown in the tuner. It also means that if you last played an ER song, then go back to a standard tuned song - the pegs in the tuner will still show in ER colors.
  • Custom Song List Titles

    • Normally those are not customizable in-game and simply listed as SONG LIST 1 to SONG LIST 6. Now you can customize those, in for example, a song list for only B Standard songs, only Excercise songs, etc.
  • Add/Decrease Song Volume

    • In case you are playing a song which is unusually low in volume, or is ear-piercingly loud, by invoking the functions of AudioKinetic audio engine used by the game, you can now modify volume of the music on the fly, without going in to the mixer.
  • Toggle Loft

    • If you are a streamer, this one will especially come in handy. The background behind the noteway (be it a crowd in the venue or just a plain wall), can now be removed on the fly with a dark background. It is suggested that you also turn off "Venue Mode" in the game settings as this will help with performance a little.
    • Options - loft can be automatically toggled off as soon as the game is started or only when in a song, or by pressing the hotkey that you define.
  • Force ReEnumeration

    • Normally after adding a new song to your collection, you would have had to either restart the game, or enter the in-game Shop in order for the game to recognize the new songs.
    • Options
    1. Automatic - check if any new songs have been added every X seconds (even while a song is playing!)
    2. By going into Enumerate menu - SHOP in the menu has now been replaced with Enumerate and conveniently moved to the second place (GUI only)
    3. By hotkey - press a hotkey to force the game to enumerate your songs.
  • Removal of certain visual game elements

    • Again something which may come in handy if you are a streamer (or just prefer your screen to be as uncluttered as possible), you can now remove certain elements from the screen
    • Options
    1. Headstock
    2. Skyline (Dynamic Difficulty bars at the top)
    3. Frets
    4. Inlays
    5. Lane Markers
    6. Lyrics
  • Rainbow Strings

    • A fun mod which will continously hue-shift the colors of your strings, making them look like a rainbow!
  • GuitarSpeak

    • What hides behind this mysterious name is an exciting feature that will let you control the game by playing certain notes on your guitar (fully customizable!). Forget your keyboard and mouse, guitar is where it's at! There is an option to continue to use it while in the tuner - it is off be default as it can cause issues, but if you're happy to continue using it there - hit that button. It is OFF while in a song, tuning menus, and calibration menus by default.
  • Auto enter last used profile

    • Also know as the Fork-in-the-toaster mod, due to it's simple but effective nature, it is best used in conjunction with the Fast Load mod. The DLL will spam Enter key in order to automatically enter the game. It may cause potential issues if UPLAY servers are unavailable, but in general it makes your life quite a bit easier.
  • CDLC Enabler

    • After all, this mod is based on the proxy DLL which bypassed the check which enabled users to play community made songs in the game.
  • Fast Load - GUI Only

    • If you are running the game from an SSD or especially an NVMe SSD drive, you will enjoy this one - it skips the intro screens and lets you load the game in matter of seconds. It can be fairly unstable, but in general it should work provided you don't used it on a good old HDD. This is not a DLL mod! This means that removing the DLL will not reverse the change of this mod, as you will need to restore the backup of your cache.psarc or verify your steam files.
  • Custom Tunings - GUI Only

    • By default, the game has a fairly limited set of tunings it can recongnize and in cases where it doesn't find in the list, it will just display CUSTOM TUNING. And that isn't of much help, is it? But don't worry, you can now make the game know that a B Standard song is actually B Standard, and not just Custom Tuning :( Together with the list we include, you can add your own tunings if you find some which aren't included in the list. This is not a DLL mod! This means that removing the DLL will not reverse the change of this mod, as you will need to restore the backup of your cache.psarc or verify your steam files.
  • EXIT GAME in the menu - GUI Only

    • As useful of a device your mouse is, it is not really the most convenient option when you want to exit the game. And until now, you had to use the said mouse to do that, but fret no more. It took only six and a half years, but now you can exit the game by pressing EXIT GAME in the menu (which replaces the UPLAY button, and let's be honest, noone used that). This is not a DLL mod! This means that removing the DLL will not reverse the change of this mod, as you will need to restore the backup of your cache.psarc or verify your steam files.
  • Enable Direct Connect Mode - GUI Only

    • This mod is done with the same button as Exit in the Main Menu as behind the scenes it is the same file that needs changed for it and we couldn't be bothered offering 3 choices here. It enables a hidden input mode that UbiSoft made - but for unknown reasons disabled for release. It is basically Microphone Mode - but with the tone simulations enabled. This is not a DLL mod! This means that removing the DLL will not reverse the change of this mod, as you will need to restore the backup of your cache.psarc or verify your steam files. ** Known issues; Some interfaces report the guitar input channel as one that the game isn't expecting, in this case - Direct Connected mode may not work for you particularly well. If you want to test before applying - go into Microphone Mode and see if your interface lets you have some note detection. If it does - then DC mode should work for you once enabled.
  • Change Default tones - GUI Only

    • Add your favorite tones to slot number 1 on the tone stick. This is the default tone that is applied when the game loads up. There is a seperate one saved for Lead, Rhythm and Bass. You need to have a tone saved in your profile. It does not need to be assigned to a "tone stick" slot for the GUI to be able to load it and then set it as the new default. This is not a DLL mod! This means that removing the DLL will not reverse the change of this mod, as you will need to restore the backup of your cache.psarc or verify your steam files.

    • Note: While the ability to change the tone of the Emulated Bass is available and can be added easily, we do not want to edit this tone nor do we condone anyone editting this tone. The Emulated Bass tone has a unique characteristic where it's always the same tone either in song, or in the menus. For this reason we believe that the default tone is most likely the best option to pick for the extensive range of songs / genres it can be used in.

Installation:

  • There's two options as how this mod can be installed:
  1. Manually build/copy the DLL to the root folder of Rocksmith 2014 RM, create a file called RSMods.ini and fill it with options as shown below If it is installed in the most common folder (C drive, Program Files/Steam/Steamapps), VS will attempt to copy the DLL to the folder for your convenience.
  2. Use the One-Click-Installer to copy both the DLL and RSMods GUI to the game folder. If it's unable to automatically detect where Rocksmith is installed, it will ask you to point it to the correct folder.

Requirements:

Dependencies:

  • DirectX 9 SDK, ImGUI, GDI+, Detours - all of which are included in the project folder and should require no additional installations to compile and use the project
  • Setup as C++17 / VS2019 project

Settings:

If you want to manually create the settings file for the DLL, download the template from here:

And the general file structure should be as follows:

Section Entry Possible values Info
SongListTitles      
  SongListTitles_1 user defined string  
  ...    
  SongListTitles_6 user defined string  
Keybinds      
  ToggleLoftKey Function keys (F1, F10) / Media Keys (Play/Pause, Stop, NextTrack, PreviousTrack)  
  AddVolumeKey Function keys (F1, F10) / Media Keys (Play/Pause, Stop, NextTrack, PreviousTrack)  
  DecreaseVolumeKey Function keys (F1, F10) / Media Keys (Play/Pause, Stop, NextTrack, PreviousTrack)  
  ShowSongTimerKey Function keys (F1, F10) / Media Keys (Play/Pause, Stop, NextTrack, PreviousTrack)  
  ForceReEnumerationKey Function keys (F1, F10) / Media Keys (Play/Pause, Stop, NextTrack, PreviousTrack)  
  RainbowStringsKey Function keys (F1, F10) / Media Keys (Play/Pause, Stop, NextTrack, PreviousTrack)  
Toggle Switches     on = feature enabled, off = disabled
  ToggleLoft on/off  
  AddVolume on/off  
  DecreaseVolume on/off  
  ShowSongTimer on/off  
  ForceReEnumeration automatic/manual  
  RainbowStrings on/off  
  ExtendedRange on/off  
  CustomStringColors 0/1/2 0 = default colors, 1 = ZZ's color set, 2 = colors defined below
  Headstock on/off on = headstock removed!
  Skyline on/off  
  GreenScreenWall on/off  
  ForceProfileLoad on/off  
  Fretless on/off  
  Inlays on/off  
  ToggleLoftWhen manual/song  
  LaneMarkers on/off  
  ToggleSkylineWhen manual/song  
  Lyrics on/off  
  RemoveLyricsWhen manual/song  
  GuitarSpeak on  
  RemoveHeadstockWhen manual/song  
String Colors   hex defined color (eg. FF0000)  
  string0_N   Colors used in non-ER songs
  ...    
  string5_N    
  string0_CB   Colors used in ER songs
  ...    
  string5_CB    
Mod Settings      
ExtendedRangeModeAt numerical value Offset to E Standard (-1 = Eb, -5 = B)
CheckForNewSongsInterval interval in milliseconds Time between each check
Guitar Speak      
  GuitarSpeakWhileTuning on/off Is GuitarSpeak enabled while tuning (ONLY FOR ADVANCED USERS)
  GuitarSpeakDeleteWhen Numeric index Position in note array (using GUI recommended for this)
  GuitarSpeakSpaceWhen    
  GuitarSpeakEnterWhen    
  GuitarSpeakTabWhen    
  GuitarSpeakPGUPWhen    
  GuitarSpeakPGDNWhen    
  GuitarSpeakUPWhen    
  GuitarSpeanDNWhen    
  GuitarSpeakESCWhen    
  GuitarSpeakCloseWhen    
  GuitarSpeakOBracketWhen    
  GuitarSpeakCBracketWhen    
  GuitarSpeakTildeaWhen    
  GuitarSpeakForSlashWhen    
  • The available keys for the keybinding section can be seen here: Visual Representation You must follow the V-Key format available here: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes (yes that includes the VK_ part). Ex. F3 would be VK_F3, and the music play/ pause button would be VK_MEDIA_PLAY_PAUSE. We understand that us locking down the amount of keys may aggrevate some of you but we want to allow you to search for songs without turning on/ off your mods when you search for "Slipknot". If you are a streamer and have an Elgato Stream Deck set your keybinds to the F13-F24 keys as most keyboards don't have those keys but we allow them to be used for keybinds.

  • String Numbers go from 0-5 as this is zero-index, or how computers normally work. A translation of this is: 0. low E, 1. A, 2. D, 3. G, 4. B, 5. high E.

  • Guitar Speak note values are measured from C-1 to C6 starting at 0 and moving up to 96. Ex. The low E string at the 12th fret is E3, and would translate to the number 52.

  • GuitarSpeakWhileTuning is only for advanced users because if it is on and you have one of your GuitarSpeak values set wrong it can prevent you from tuning or playing this game. This decision was made to prevent people from uninstalling the mod because GuitarSpeak stops them from rocking out.

  • Song list names should be below 25 characters (including spaces) because the text streches out and gets hard to read.

FAQ

  • Q: I want something added to the mod, like I want to remove XYZ from the game!!!

  • A: Post a request in the Issues tab of this Github repo with the name "DLL - FR - XYZ". Please follow this format so we know what we are doing, either fixing something or adding a new feature. Note: Just because you post a request for us to do something doesn't mean we can do it and/ or we will do it. Please don't keep begging us to do your request, we will get to it if we think it's worth our time spent.

  • Q: I found a bug / somethings not working as it should! How do I get this fixed?

  • A: Please post an issue in the Issues tab of this Github repo with the name "DLL - Bug - XYZ" if the bug is in Rocksmith or "GUI - Bug - XYZ" if the bug is in the tool to mod your game. Please try to be descriptive in this, as posting "It don't work" doesn't help us. Screenshots and/ or videos can help, but steps on what you did to get it to break would be greatly appreciated. Sometimes bugs are where we get our best features :)

  • Q: Who made these mods, and how can I thank you guys?

  • A: Thank you for showing interest in the project. We spent a good two months working on this project trying to flesh it out so people would enjoy using it. The developers are mainly: LovroM8 (Lovro), and Ffio1 (Ffio) but we received a lot of help from ZagatoZee (ZZ), Kokolihapihvi (Koko), and L0fka. All we ask for is a quick thank you, and those can either be sent by starring this project on Github, telling your Rocksmith friends, or just coming into the Discord and saying "Thank You". I know it sounds like it's not much, but it really makes our day(s).

  • If you have any questions, feel free to reach us in the r/Rocksmith Discord in the #rsmods channel, or in the #general channel of the CustomsForge Discord