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

New functionality: Borderlands:TPS, Challenges, Character Name, Others #11

Open
wants to merge 108 commits into
base: master
Choose a base branch
from

Conversation

apocalyptech
Copy link

Hello! Not sure if you'd be interested in merging this at all, but figured I'd pass it along regardless.

I've added in a couple new features. The big one is supporting editing of Challenge data, so it's possible to (for instance) set all your challenges to one below their "max" value, to more easily bump up your badass ranks or the like. It's... a bit silly, really, given that there's a Profile editor out there which could be used to just edit your badass ranks directly, but I was struck with the desire to figure out how these were stored in the savegames. The possibly-more-useful part would be the ability to zero out a character's challenges, which might be useful if someone wanted to reset but wasn't at the required 85% level for an in-game reset.

One potential problem with the changeset is that my code currently assumes little-endian, and I assume it'd produce invalid non-PC savegames (and probably screw up reading non-PC savegames as well). I didn't see an immediately obvious method of passing around the "endian" var to the necessary functions, so for now it's just hardcoded to assume little. If you were interested in merging this but wanted that straightened out, and had a non-PC savegame or two lying around, I'd be happy to play around with them (though I wouldn't actually be able to test out the non-PC saves "natively").

Anyway, in addition to the challenge stuff, there's also the ability to set the character's name from the commandline, and also setting the save slot number (which I think is ignored by the engine, actually, but c'est la vie!)

Thanks for the app, regardless, even if you don't want to merge this! It's always nice to be able to dig into save formats with tools like this.

…en if it'll probably never make use of that robustness. Still, we've also got the official BL2 challenge names associated with the challenges, so there's that.
apocalyptech and others added 30 commits July 13, 2023 23:35
…erlands2 into loot-midget-print_unexplored_levels
* add black formatter
* apply black to source files
- remove unnecessary shebang lines
- remove relative imports
- convert all pack/unpack printf formats to str.format()
- convert all other printf formats to f-strings
- empty __init__.py
- fix string formatting
- fix struct.pack/unpack prefix
- comment out unused code to reduce refactoring efforts
- cleanup imports
- split savegame to modules
- single launcher code
- fix SDU order
- extract args parsing to config.py
- extract OP check function
- refactor & improve explorer achievements report
- remove spoiling assert
- rename variable
- get rid of self.config.changes: data is always altered but error will be thrown if there are changes and no output file specified
- add --reset option:
    - reset Bad Touch SMG flag
    - reset Doctor's Orders mission in the highest playthru
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

Successfully merging this pull request may close these issues.

4 participants