Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FR - Custom tuning fix via dll #7

Closed
zagatozee opened this issue Jul 22, 2020 · 9 comments
Closed

FR - Custom tuning fix via dll #7

zagatozee opened this issue Jul 22, 2020 · 9 comments

Comments

@zagatozee
Copy link
Collaborator

Inject our own tuningdatabase.json to the game, or append entries to the games one, first might be easier.

The psarc based mod also edits the maingame.csv file to add tuning definitions, but that is "only really" needed to have the font used be correct, could we add the definitions "on the fly" from the definitions used in the tuningdb.json?

Json only mod will show up in game, more or less correctly, for English users, maingame mod is needed for non-english users to have a useful tuning name. (much, much lower priority)

@ffio1
Copy link
Collaborator

ffio1 commented Jul 22, 2020

Note: maingame.csv, the language file, has already been looked at in the CustomSongList mod in the case # section. Maybe we could use that 🤔

@zagatozee
Copy link
Collaborator Author

Would it maybe make more sense / just be "easier" to do this via the gui - and have the gui inject the required changes to the players cache.psarc?

Have a big ass list of pre-defined options, but also let the player add an additional definition and name from within the gui?

@ffio1
Copy link
Collaborator

ffio1 commented Jul 22, 2020

The only issue is unpacking, and repacking the psarc. Everything else should be good. We could just include 2 cache files, one original one, and another modified one. Both baked into the executable and ship accordingly.

@Lovrom8
Copy link
Owner

Lovrom8 commented Jul 22, 2020

My vote goes to the GUI.
Doing it internally would require quite significant RE work with questionable results while in the GUI you can use RSTK lib and all that stuff, so.. yeah.

@zagatozee
Copy link
Collaborator Author

I'd like to avoid shipping pre-modded psarcs.

I'm not saying adding the packer functions into the gui is easy - but those are at least known processes. I also like the idea of being able to add your own definitions as you require, and the gui would - to me - be the easiest way to do it.

Define -2-3-4-5-6-7 as "Pointlessly silly tuning", it gets appended to the json

 },
"Pointlessly Silly Tuning": {
  "UIName": "$[374xx]Pointlessly Silly Tuning",
  "Strings": {
    "string0": -2,
    "string1": -3,
    "string2": -4,
    "string3": -5,
    "string4": -6,
    "string5": -7
  }
},

Value, adds the defined tuning name then also adds a matching [347xx] to the maingame.csv file.

Changing those "live" doesn't make a lot of sense, from a computational view, since they are really "set and forget" changes, so a do it once via the gui, edit the cache file and never have to touch it again unless you have a weird random new tuning to add - seems most sensible to me.

What are the psarc packer functions from the toolkit / cfsm / cozys toolkit written in anyway?

@JustinAiken
Copy link
Collaborator

What are the psarc packer functions from the toolkit / cfsm / cozys toolkit written in anyway?

I think C#

But there's both python and js examples out there

@ffio1
Copy link
Collaborator

ffio1 commented Jul 22, 2020

Yep it's C#, and it's a separate package inside of the toolkit. https://github.com/rscustom/rocksmith-custom-song-toolkit/tree/master/RocksmithToolkitLib

Best way of opening it is to download the whole repo, and just mess with the project in VS, and just build it.

@zagatozee
Copy link
Collaborator Author

a pre-modded tuningdatabase.json file has been aded to the \mods\ folder.
matching entries for the maingame.csv have also been added.

I'm questioning having 2 options here, since a lot of the definitions are for "just plain stupid" tunings.

1 for "everything" and another for "covers all odlc and the not really stupid cdlc" tunings.

Downside to the "all the tunings" (files as shared currently) is the tuning list in game, when you go to select a tuning rather than letting the game tell you, will be mahoosive.

@zagatozee
Copy link
Collaborator Author

Added by Lovro as a set and forget mod.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants