gazzamc / starfield_hex_updater

A script to patch SFSE (Starfield Script Extender) to work with gamepass / windows store version of Starfield
https://github.com/gazzamc/starfield_hex_updater/tree/main/docs
27 stars 2 forks source link

Update for 1.8.86 #5

Closed rtfmoz2 closed 10 months ago

rtfmoz2 commented 1 year ago

New Release https://bethesda.net/en/game/starfield/article/3V830KanHH0I2zTIKraEih/starfield-update-1-8-86-notes-november-20-2023 Expect SFSE to update as well. May need updated hex tool

gazzamc commented 1 year ago

I'm just waiting on the Address Library to update (no mods will work without it). SFSE has already pushed a release and I have a patch ready to go.

rtfmoz2 commented 1 year ago

Cool! I posted about my usage over at Reddit - https://www.reddit.com/r/Starfield/comments/180c025/game_pass_editon_with_sfse/

rtfmoz2 commented 1 year ago

I'm just waiting on the Address Library to update (no mods will work without it). SFSE has already pushed a release and I have a patch ready to go.

Developer has COVID

rtfmoz2 commented 1 year ago

I'm just waiting on the Address Library to update (no mods will work without it). SFSE has already pushed a release and I have a patch ready to go.

Updated Address Library is Out! https://www.nexusmods.com/starfield/mods/3256?tab=files all other mods are updated, just waiting on yours

rtfmoz2 commented 1 year ago

How do I find the the commit ID for the Address Library offsets? The filename is not giving me any clues - All in one - v4 (1.8.86.0) Address Library-3256-4-1700643727

rtfmoz2 commented 1 year ago

Ok found the commit for the 0.1.6 release of SFSE. Pushed #8 to update docs so people know how to find it in future. On compile there was an errant // commenting out a close bracket in the SFSE code at line 327 of PluginManager.cpp. Once removed compile worked fine. I have 1.8.86 now running. Will advise how the plugins are going

rtfmoz2 commented 1 year ago

Baka Achievements causes game crash. I may need to have ASI loader running for it.

rtfmoz2 commented 1 year ago

Nope ASI loader dx8input.dll.also causes game crash , Baka does not need it anyway

rtfmoz2 commented 1 year ago

StarUI HUD/WorkBench/ShipBuilder/Inventory all working :white_check_mark:

gazzamc commented 1 year ago

I've updated the script and patcher for the latest version of Starfield 1.8.86 and SFSE 0.1.6, however I have not added it to the main branch just yet as there appears to be issues with the latest version of the game and SFSE.

This was brought up by the author of Baka Achievement Enabler who has completly removed Address Library with their latest update, you can find the comment here, it's the second stickied comment.

As this may require some effort on my part once the SFSE author addresses the concerns I've added a seperate branch for anyone wanting to use the latest SFSE. The procedure is the same, either use the drop down and select update_1.8.86 or click this link.

For anyone who copied the game files when building SFSE for version 1.7.36, I would advise to continue to play that version until things become more stable. As for anyone who hardlinked, you may have to try you're luck on a few of the mods you were using until this gets resolved.

If it not addressed by the weekend I'll try patch the mods in my current list here.

gazzamc commented 1 year ago

Update:

The SFSE mod has been updated to 2.0.0, I've updated the hex table with the latest commit ID on the branch mentioned above, this seems to be working with a handful of mods that have been updated for this version of SFSE. For now, I'll keep it as a separate branch until the bigger mods are updated and tested.

rtfmoz2 commented 1 year ago

How to reapply you patches? Last time I had to redo everything from scratch as the hard linked files did not reflect the updated version of the game (expected). There is no update option #9 which pulls git updates and allows you to select branch name or automatically does so based on game version. If game version changes and using hardlinks then delete and relink the game directory. ditto for updating SFSE and switching commit #9 to build again then redeploy into game dir. You could use release tags for this process as well so the script can easily choose based on version but branches are easier I think. main can always be the latest stable version and branches can always be a specific release which eventually becomes main but leave the branch there as a way to target specific versions in time. So you might have branches , v1.76.0 v1.86.1 etc and main will be latest stable based on one of those - just a thought Possibly - add versions for SFSE and potentially your code as well. sf1.86.1-se2.0.0-b22 or some such then its crystal clear what code is what and you can update main to whatever is stable release.

gazzamc commented 1 year ago

How to reapply you patches? Last time I had to redo everything from scratch as the hard linked files did not reflect the updated version of the game (expected).

Since there's no way for us to rollback windows store updates I don't think it's worth the effort to add this feature, I'd always recommend copying the game entirely, as this way you can separate the original files from the modded version, and most importantly continue to play while waiting for stable releases of certain mods. Of course this comes with a space cost, but well worth it in the long run.

There is no update option #9 which pulls git updates and allows you to select branch name or automatically does so based on game version. If game version changes and using hardlinks then delete and relink the game directory. ditto for updating SFSE and switching commit #9 to build again then redeploy into game dir. You could use release tags for this process as well so the script can easily choose based on version but branches are easier I think. main can always be the latest stable version and branches can always be a specific release which eventually becomes main but leave the branch there as a way to target specific versions in time. So you might have branches , v1.76.0 v1.86.1 etc and main will be latest stable based on one of those - just a thought Possibly - add versions for SFSE and potentially your code as well. sf1.86.1-se2.0.0-b22 or some such then its crystal clear what code is what and you can update main to whatever is stable release.

I'm not sure this is worth the effort, as the game files will always be overwritten by the xbox app and depending on the size of the update may not even work correctly with the old exe.

I can probably add something to tie my commits to SFSE versions (commit id), and depending what you choose/store in the config file I can pull the individual hex_updater.py file and replace it. The commands haven't changed since the first iteration of the powershell script so it should be backwards compatible.

I'll try the above and see how it fairs, I want to avoid having many branches, and I only made one for the new release so that I can update the docs etc and then merge once I have time to test. Unfortunately I've been busy since the release dropped so I haven't been able to patch/test mods.

Edit:

Just a note on your PR, if there's any conflicts this will error out. It better to completly delete the sfse folder and clone it again. Then we patch a fresh version of that repo.