A tool to edit Cyberpunk 2077 sav.dat files

Overview

CyberpunkSaveEditor

A tool to edit Cyberpunk 2077 sav.dat files (join the CP modding discord: https://discord.gg/cp77modding)

This is a holidays project and will probably not reach the user-friendly GUI state that a save editor is expected to have.

If you are looking for an intuitive editor, please take a look at the other save editor project made by a group of C# developers on the CP modding discord:

Install

To download CPSE as an executable, please click on Releases in the right pane as shown in this screenshot:

What works

  1. load, save node tree
  2. mini hexeditor for nodes data (can change node data size)
  3. search tools (string, crc32(namehash) of string, u32, float double, from hexeditor clipboard)
  4. [experimental] copy/paste skin blob between saves (this can fail for unknown reasons yet between fresh save and high-level save)
  5. inventory editor (most fields are still obscure and some item names are not resolved)
  6. can unflag all quest items to make them normal items
  7. can add stat modifiers to items!
  8. can edit the scriptables data in system nodes.

Preview

Roadmap

  1. Code cleaning
  2. Work on github issues
Comments
  • Patch 1.5 - Update?

    Patch 1.5 - Update?

    Hey!

    First of all: Best Save editor for CP2077, imo.

    Since Patch 1.5 has been released (which is actually a really nice Upgrade), will there be an update of the CPSE? I think they didn't change much of the file system, so maybe it's not even necessary - but I could be wrong (I'm anything but a coding / scripting pro).

    Best regards Sona

    game update 
    opened by Sonatine1 9
  • [Feature request] Import and Export of character presets for 1.5

    [Feature request] Import and Export of character presets for 1.5

    Regarding this post and the request to file a new issue: https://github.com/PixelRick/CyberpunkSaveEditor/issues/5#issuecomment-1050359924

    @vulpes9 Can you please open a new issue for this ? (Also if you can tell a bit more about it: Has CyberCAT got this feature ? What data a "character preset" should include ?)

    The way I understand it, CyberCAT offers de- and re-compression of saves and can parse data of them: https://github.com/WolvenKit/CyberCAT

    This was the GUI offshot: https://github.com/Deweh/CyberCAT/tree/dev https://github.com/Deweh/CyberCAT-SimpleGUI

    Both are in development hell since Apr/Aug 2021 respectively.

    Characters are im- and exported in JSON arrays alike: https://github.com/Deweh/CyberCAT-SimpleGUI/blob/master/CP2077SaveEditor/Resources/FemaleDefault.preset

    Basically I am asking to mod the app clipboard to allow exporting characters (as files) without having to share the whole save. I don't know your stance about the Nexus, but I guess for ease of access having your tool would mean more work, but lots of happy people. So hold that thought, I'll gladly download anywhere. Github is fine ;) https://forums.nexusmods.com/index.php?showtopic=9475693/#entry105842433

    It would feel really good knowing there is at least one up-to-date tool being able to handle presets again without damaging the saves, in case CDPR changes the serialization (again).

    We are glad to have a smart mirror redscript mod that gives access to slow manual character editing slider by slider, but it would be much faster for sharing to have these presets back as file:

    {"DataExists":true,"Unknown1":0,"UnknownFirstBytes":"AwAAAAAA","FirstSection":{"AppearanceSections":[{"SectionName":"TPP","MainList":[{"Hash":11127614498395143143,"FirstString":"h0_000_pwa__basehead__03_ca_senna","SecondString":"skin_type_01","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16043278657831145316,"FirstString":"he_000_pwa__basehead__15_gradient_light_blue","SecondString":"eyes_color","TrailingBytes":"AAAAAAAAAAA="},{"Hash":5580371224339221950,"FirstString":"heb_pwa__basehead__02_blonde","SecondString":"eyebrows_color7","TrailingBytes":"AAAAAAAAAAA="},{"Hash":5491315604699331944,"FirstString":"h0_000_pwa__scars_01__scar_01","SecondString":"scars","TrailingBytes":"AAAAAAAAAAA="},{"Hash":17416343193870066273,"FirstString":"i0_000_pwa__earring__03_black","SecondString":"piercings_09","TrailingBytes":"AAAAAAAAAAA="},{"Hash":4335264894338256315,"FirstString":"female_ht_000__basehead","SecondString":"teeth","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7841373126957531331,"FirstString":"hx_000_pwa__morphs_makeup_freckles_01__03_light_brown","SecondString":"makeupCheeks_02","TrailingBytes":"AAAAAAAAAAA="},{"Hash":10193113560071498966,"FirstString":"hx_000_pwa__basehead_pimples_01__brown_01","SecondString":"makeupPimples_03","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[{"FirstString":"eyes","SecondString":"h111","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"nose","SecondString":"h032","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"mouth","SecondString":"h113","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"jaw","SecondString":"h064","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"ear","SecondString":"h135","TrailingBytes":"AAAAAAAAAAA="}]},{"SectionName":"FPP","MainList":[{"Hash":10731250262594030950,"FirstString":"n0_000_pwa_fpp__neck__03_ca_senna","SecondString":"neck","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"hairs","MainList":[{"Hash":12652197010004652555,"FirstString":"01_blonde_platinum","SecondString":"hair_color14","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"character_customization","MainList":[{"Hash":11127614498395143143,"FirstString":"h0_000_pwa__basehead__03_ca_senna","SecondString":"skin_type_01","TrailingBytes":"AAAAAAAAAAA="},{"Hash":12652197010004652555,"FirstString":"01_blonde_platinum","SecondString":"hair_color14","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16043278657831145316,"FirstString":"he_000_pwa__basehead__15_gradient_light_blue","SecondString":"eyes_color","TrailingBytes":"AAAAAAAAAAA="},{"Hash":5580371224339221950,"FirstString":"heb_pwa__basehead__02_blonde","SecondString":"eyebrows_color7","TrailingBytes":"AAAAAAAAAAA="},{"Hash":5491315604699331944,"FirstString":"h0_000_pwa__scars_01__scar_01","SecondString":"scars","TrailingBytes":"AAAAAAAAAAA="},{"Hash":17416343193870066273,"FirstString":"i0_000_pwa__earring__03_black","SecondString":"piercings_09","TrailingBytes":"AAAAAAAAAAA="},{"Hash":4335264894338256315,"FirstString":"female_ht_000__basehead","SecondString":"teeth","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7841373126957531331,"FirstString":"hx_000_pwa__morphs_makeup_freckles_01__03_light_brown","SecondString":"makeupCheeks_02","TrailingBytes":"AAAAAAAAAAA="},{"Hash":10193113560071498966,"FirstString":"hx_000_pwa__basehead_pimples_01__brown_01","SecondString":"makeupPimples_03","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[{"FirstString":"eyes","SecondString":"h111","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"nose","SecondString":"h032","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"mouth","SecondString":"h113","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"jaw","SecondString":"h064","TrailingBytes":"AAAAAAAAAAA="},{"FirstString":"ear","SecondString":"h135","TrailingBytes":"AAAAAAAAAAA="}]}]},"SecondSection":{"AppearanceSections":[{"SectionName":"holstered_default_tpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":4185585899683046648,"FirstString":"a0_000_pwa_base__nails_grey_light","SecondString":"nails_color_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":18255181641299694784,"FirstString":"a0_000_pwa_base__03_ca_senna","SecondString":"h_default_arms_colors_tpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_default_fpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7789881357550050267,"FirstString":"a0_000_pwa_fpp__nails_grey_light","SecondString":"nails_color_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":1951233403238964808,"FirstString":"a0_000_pwa_base__03_ca_senna","SecondString":"h_default_arms_colors_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16407952206209645574,"FirstString":"female_a0_000_personal_link","SecondString":"personal_link_simple","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_strong_tpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":17608390161697568906,"FirstString":"female_a0_000_strong_arms__03_ca_senna","SecondString":"h_strong_arms_colors_base_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":17114838716404445585,"FirstString":"female_a0_000_strong_arms__03_ca_senna","SecondString":"h_strong_arms_colors_cyberware01_tpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_strong_fpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16990187420757166753,"FirstString":"female_a0_000_strong_arms__03_ca_senna","SecondString":"h_strong_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":11522684623843550794,"FirstString":"female_a0_000_strong_arms__03_ca_senna","SecondString":"h_strong_arms_colors_cyberware01_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16407952206209645574,"FirstString":"female_a0_000_personal_link","SecondString":"personal_link_simple","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"unholstered_strong","MainList":[{"Hash":6349005316216539408,"FirstString":"female_a0_000_strong_arms__03_ca_senna","SecondString":"u_strong_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":10258929172936258939,"FirstString":"female_a0_000_strong_arms__03_ca_senna","SecondString":"u_strong_arms_colors_cyberware01_fpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_nanowire_tpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":4185585899683046648,"FirstString":"a0_000_pwa_base__nails_grey_light","SecondString":"nails_color_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":15905102067097217885,"FirstString":"female_a0_000_personal_link__03_ca_senna","SecondString":"h_monowire_arms_colors_base_tpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_nanowire_fpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7789881357550050267,"FirstString":"a0_000_pwa_fpp__nails_grey_light","SecondString":"nails_color_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":1306664051472799422,"FirstString":"female_a0_000_personal_link__03_ca_senna","SecondString":"h_monowire_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16407952206209645574,"FirstString":"female_a0_000_personal_link","SecondString":"personal_link_simple","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"unholstered_nanowire","MainList":[{"Hash":7789881357550050267,"FirstString":"a0_000_pwa_fpp__nails_grey_light","SecondString":"nails_color_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":10615025493550468539,"FirstString":"female_a0_000_personal_link__03_ca_senna","SecondString":"u_monowire_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"character_customization","MainList":[{"Hash":4185585899683046648,"FirstString":"a0_000_pwa_base__nails_grey_light","SecondString":"nails_color_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":18255181641299694784,"FirstString":"a0_000_pwa_base__03_ca_senna","SecondString":"h_default_arms_colors_tpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"personal_link_simple","MainList":[{"Hash":16407952206209645574,"FirstString":"female_a0_000_personal_link","SecondString":"personal_link_simple","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"personal_link_advanced","MainList":[{"Hash":10365434196603567427,"FirstString":"female_a0_000_personal_link","SecondString":"personal_link_advanced","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_launcher_tpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":4185585899683046648,"FirstString":"a0_000_pwa_base__nails_grey_light","SecondString":"nails_color_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":8176614337494735084,"FirstString":"female__03_ca_senna","SecondString":"h_launcher_arms_colors_base_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":17371119636816561915,"FirstString":"female__03_ca_senna","SecondString":"h_launcher_arms_colors_cyberware01_tpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_launcher_fpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7789881357550050267,"FirstString":"a0_000_pwa_fpp__nails_grey_light","SecondString":"nails_color_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":2276572548010059327,"FirstString":"female__03_ca_senna","SecondString":"h_launcher_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":11950704061544772736,"FirstString":"female__03_ca_senna","SecondString":"h_launcher_arms_colors_cyberware01_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16407952206209645574,"FirstString":"female_a0_000_personal_link","SecondString":"personal_link_simple","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"unholstered_launcher","MainList":[{"Hash":5126128806554524844,"FirstString":"female__03_ca_senna","SecondString":"u_launcher_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7745136095954041807,"FirstString":"female__03_ca_senna","SecondString":"u_launcher_arms_colors_cyberware01_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":121866437883897908,"FirstString":"a0_000_pwa_base__nails_beige","SecondString":"u_launcher_nails_color","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_mantis_tpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":4185585899683046648,"FirstString":"a0_000_pwa_base__nails_grey_light","SecondString":"nails_color_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":15020998300600289572,"FirstString":"female_a0_000_mantisblade__03_ca_senna","SecondString":"h_mantis_arms_colors_base_tpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":15785262664659153011,"FirstString":"female_a0_000_mantisblade__03_ca_senna","SecondString":"h_mantis_arms_colors_cyberware01_tpp","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"holstered_mantis_fpp","MainList":[{"Hash":13328453398705956150,"FirstString":"holstered_arms_data_female","SecondString":"holstered_data","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7789881357550050267,"FirstString":"a0_000_pwa_fpp__nails_grey_light","SecondString":"nails_color_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":15768631978898956071,"FirstString":"female_a0_000_mantisblade__03_ca_senna","SecondString":"h_mantis_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":7562701651359576520,"FirstString":"female_a0_000_mantisblade__03_ca_senna","SecondString":"h_mantis_arms_colors_cyberware01_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":16407952206209645574,"FirstString":"female_a0_000_personal_link","SecondString":"personal_link_simple","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"unholstered_mantis","MainList":[{"Hash":2747349617996698706,"FirstString":"female_a0_000_mantisblade__03_ca_senna","SecondString":"u_mantis_arms_colors_base_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":2853248466956479269,"FirstString":"female_a0_000_mantisblade__03_ca_senna","SecondString":"u_mantis_arms_colors_cyberware01_fpp","TrailingBytes":"AAAAAAAAAAA="},{"Hash":4288886144569452246,"FirstString":"a0_000_pwa_base__nails_beige","SecondString":"u_mantise_nails_color","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]}]},"ThirdSection":{"AppearanceSections":[{"SectionName":"FPP_Body","MainList":[{"Hash":14920680558686302904,"FirstString":"t0_000_pwa_fpp__03_ca_senna","SecondString":"fpp_body_color","TrailingBytes":"AQAAAAEAAAA="},{"Hash":18052529923140282516,"FirstString":"t0_000_pwa_fpp__03_ca_senna","SecondString":"fpp_body_color_censored","TrailingBytes":"AQAAAAAAAAA="},{"Hash":1270113483780776886,"FirstString":"scars_pwa_001__03_ca_senna","SecondString":"body_scars_01","TrailingBytes":"AAAAAAAAAAA="},{"Hash":18171731966644557866,"FirstString":"female_001","SecondString":"underpants","TrailingBytes":"AQAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"TPP_Body","MainList":[{"Hash":13876824607332389147,"FirstString":"t0_000_pwa_base__03_ca_senna","SecondString":"body_color","TrailingBytes":"AQAAAAEAAAA="},{"Hash":6124762102644877205,"FirstString":"t0_000_pwa_base__03_ca_senna","SecondString":"body_color_censored","TrailingBytes":"AQAAAAAAAAA="},{"Hash":17949477145130904651,"FirstString":"female_i0_002_base__nipple__03_ca_senna","SecondString":"nipples_03","TrailingBytes":"AQAAAAEAAAA="},{"Hash":1270113483780776886,"FirstString":"scars_pwa_001__03_ca_senna","SecondString":"body_scars_01","TrailingBytes":"AAAAAAAAAAA="},{"Hash":18171731966644557866,"FirstString":"female_001","SecondString":"underpants","TrailingBytes":"AQAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"character_creation","MainList":[{"Hash":13876824607332389147,"FirstString":"t0_000_pwa_base__03_ca_senna","SecondString":"body_color","TrailingBytes":"AQAAAAEAAAA="},{"Hash":6124762102644877205,"FirstString":"t0_000_pwa_base__03_ca_senna","SecondString":"body_color_censored","TrailingBytes":"AQAAAAAAAAA="},{"Hash":17949477145130904651,"FirstString":"female_i0_002_base__nipple__03_ca_senna","SecondString":"nipples_03","TrailingBytes":"AQAAAAEAAAA="},{"Hash":1270113483780776886,"FirstString":"scars_pwa_001__03_ca_senna","SecondString":"body_scars_01","TrailingBytes":"AAAAAAAAAAA="},{"Hash":3178724759333055970,"FirstString":"i0_000_pwa_base__genitals_none__03_ca_senna","SecondString":"genitals_04","TrailingBytes":"AQAAAAEAAAA="},{"Hash":18171731966644557866,"FirstString":"female_001","SecondString":"underpants","TrailingBytes":"AQAAAAAAAAA="},{"Hash":6997184798500539635,"FirstString":"l0_000_pwa_base__03_ca_senna","SecondString":"lifted_feet","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[{"FirstString":"breast","SecondString":"t0_000_wa_base__full_breast_small","TrailingBytes":"AQAAAAEAAAA="}]},{"SectionName":"genitals","MainList":[{"Hash":3178724759333055970,"FirstString":"i0_000_pwa_base__genitals_none__03_ca_senna","SecondString":"genitals_04","TrailingBytes":"AQAAAAEAAAA="}],"AdditionalList":[]},{"SectionName":"breast","MainList":[],"AdditionalList":[{"FirstString":"breast","SecondString":"t0_000_wa_base__full_breast_small","TrailingBytes":"AQAAAAEAAAA="}]},{"SectionName":"lifted_feet","MainList":[{"Hash":6997184798500539635,"FirstString":"l0_000_pwa_base__03_ca_senna","SecondString":"lifted_feet","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]},{"SectionName":"flat_feet","MainList":[{"Hash":5979156899619118120,"FirstString":"l0_000_pwa_base__03_ca_senna","SecondString":"flat_feet","TrailingBytes":"AAAAAAAAAAA="}],"AdditionalList":[]}]},"StringTriples":[{"FirstString":"FPP_Body","SecondString":"FPP_Body","ThirdString":"TPP_Body"},{"FirstString":"holstered_default","SecondString":"holstered_default_fpp","ThirdString":"holstered_default_tpp"},{"FirstString":"holstered_strong","SecondString":"holstered_strong_fpp","ThirdString":"holstered_strong_tpp"},{"FirstString":"holstered_nanowire","SecondString":"holstered_nanowire_fpp","ThirdString":"holstered_nanowire_tpp"},{"FirstString":"holstered_launcher","SecondString":"holstered_launcher_fpp","ThirdString":"holstered_launcher_tpp"},{"FirstString":"holstered_mantis","SecondString":"holstered_mantis_fpp","ThirdString":"holstered_mantis_tpp"}],"Strings":["blonde_platinum","Buzz"]}
    

    Thanks for having voiced interest in it! Hope you can find the time if real life allows it.

    opened by vulpes9 8
  • [Feature request] Add new entries inside arrays

    [Feature request] Add new entries inside arrays

    I noticed that you can add entries in structs but only remove them inside arrays. Is it possible to extend arrays with new entries? Thank you for your awesome work btw!

    enhancement 
    opened by ryselgh 8
  • Excessive RAM usage from the program utilizing until available RAM is depleted on Windows 11

    Excessive RAM usage from the program utilizing until available RAM is depleted on Windows 11

    Hello!

    Ever since making a new character to swap character presets. Whenever I try to open the old character save file, it causes it to use excessive RAM. This is with the new 1.6 update.

    Here is a save file reference and a screenshot below.

    ManualSave-13.zip

    image

    image

    opened by dstn-idly 4
  • SaveEditor.exe wont launch

    SaveEditor.exe wont launch

    I am unable to launch this program. Please help.

    I have installed https://aka.ms/vs/16/release/vc_redist.x64.exe I have tried running in compatibility mode and running as admin

    Running win10 with all latest drivers

    Windows 10 Home Version 20H2 Installed on ‎9/‎10/‎2020 OS build 19042.867 Experience Windows Feature Experience Pack 120.2212.551.0

    question 
    opened by bWildcard 4
  • [Feature request] UI button in navigation for %username%\Saved Games\

    [Feature request] UI button in navigation for %username%\Saved Games\

    If you add a button to %username%\Saved Games\ you can jump directly into C:\Users\MyUsername\Saved Games
    Of course that is nagging on high level, I just think it would help some people navigate on first launch easier ;) Love your tool and thanks for still coding for so long!

    enhancement 
    opened by vaporwave9 4
  • Unable to build solution - 0.6.0 alpha 0

    Unable to build solution - 0.6.0 alpha 0

    Just wanted to let you know that I'm getting the following errors when building as Release, Release with Debug and Debug:

    Severity Code Description Project File Line Suppression State Warning The referenced project '..\external\rttr.vcxproj' does not exist. tdb_editor C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets 2066 Error C1083 Cannot open include file: 'winfsp/winfsp.h': No such file or directory cpfs_winfsp C:\Users\lostl\GitHub\CyberpunkSaveEditor-0.6.0-alpha\source\cpfs_winfsp\winfsp.h 5 Error C1083 Cannot open include file: 'winfsp/winfsp.h': No such file or directory cpfs_winfsp C:\Users\lostl\GitHub\CyberpunkSaveEditor-0.6.0-alpha\source\cpfs_winfsp\main.cpp 10 Error C1083 Cannot open include file: 'winfsp/winfsp.h': No such file or directory cpfs_winfsp C:\Users\lostl\GitHub\CyberpunkSaveEditor-0.6.0-alpha\source\cpfs_winfsp\utils.hpp 4 Error C1083 Cannot open include file: 'redx/io/file_stream.hpp': No such file or directory tdb_editor C:\Users\lostl\GitHub\CyberpunkSaveEditor-0.6.0-alpha\source\redx\tweakdb\tweakdb.hpp 12 Error C1083 Cannot open include file: 'redx/io/file_stream.hpp': No such file or directory tdb_editor C:\Users\lostl\GitHub\CyberpunkSaveEditor-0.6.0-alpha\source\redx\tweakdb\tweakdb.hpp 12

    opened by LostLogic 3
  • Is there a way to reset attribute points ?

    Is there a way to reset attribute points ?

    It's my first time using this mod and i was wondering if there was a way to reset attribute points by using this mod ? Thanks for your hard work and good luck in the future !

    question 
    opened by LikeVII 3
  • Copy/Paste skin not copying between saves

    Copy/Paste skin not copying between saves

    I read through the documentation and saw the copy-paste functionality is still experimental so this ticket is more a bug report but no matter what save type I use (level 50 to level 50 or level 10 to level 10) this functionality doesn't seem to do work. No value is changed between the saves.

    Initially I tried copying the appearance from a level 50 save (just after the Ripperdoc story mission) to my level 10 (16 hour in) save and nothing happened as my appearance remained the same.

    Trying it with a seperate level 50 save and the level 50 save I was originally trying to use results in the same thing, as does using a modified, but older save of my own (using Arasaka's appearance editor to change my appearance to test this functionality out).

    Initially I was given a "version mismatch" on the donor level 50 save but loading it up in-game and saving again, then quitting seemed to fix that so that is unlikely to be the cause of this failing when using my own saves (although it might have an influence on the donor saves not working).

    Is there a way to verify whether the appearance blob data was copied to the clipboard? As copying the appearance data across to my manual save, then trying to edit the save in Arasaka (for example changing the hair style which remained unchanged) would result in the game showing a black screen when trying to load the save.

    bug 
    opened by FIying-Scotsman 3
  • Editing DataTrackingSystem had side effects

    Editing DataTrackingSystem had side effects

    Hey guys,

    just to let you know, I edited ScriptableSystemsContainer > DataTrackingSystem as it seems to be partly linked to game success. It broke my ScriptableSystemsContainer > PreventionSystem, and all Fast travel points disappeared from the map... (Can't use fast travel anymore and have to rediscover them all... Or load a backup ;) )

    Cheers

    bug 
    opened by Psype 3
  • [Feature request] Expand and Collapse - Fields/idx

    [Feature request] Expand and Collapse - Fields/idx

    Having the ability to Expand or Collapse the Fields/idxs Collapsed Fields would only show the Names Values until clicked on Collapsed Index would Only Show the Idx Values until clicked on Maybe Adding also Collapse/Expand all

    Having everything collapsed at the start image

    enhancement 
    opened by SkillerCMP 2
  • Add support for Wannabe Edgerunner mod

    Add support for Wannabe Edgerunner mod

    Description

    Adds support for the Wannabe Edgerunner mod. The system counts "humanity" and inflicts debuffs, if a certain threshold is reached.

    Humanity is computed by subtracting the weighted sum of installed implants added to the currentHumanityDamage (source: save) from the base humanity (source: r6\tweaks\wannabeEdgerunner.yaml).

    This PR allows modifying the damage to humanity.

    Problem

    Currently, when loading a save with the mod the following msgbox is shown:

    ---------------------------
    error
    ---------------------------
    couldn't load node_t ScriptableSystemsContainer
    reason: CObject::serialize_in: serial field Edgerunning.System.EdgerunningSystem::currentHumanityDamage is missing from bp fields
    ---------------------------
    OK   
    ---------------------------
    

    Solution

    Add the Wannabe Edgerunner object to CObjectBPs.json:

    "Edgerunning.System.EdgerunningSystem": {
        "ctypename": "edgerunningSystemEdgerunningSystem",
        "props": [
          {
            "ctypename": "Int32",
            "name": "currentHumanityDamage"
          }
        ]
      }
    

    Result

    opened by ProphetLamb 0
  • weapon skin/variant editing issue

    weapon skin/variant editing issue

    Editing Item Skin/variant no longer changes weapon appearance in 1st person, after editing the weapon appearance only changes in the character menu for some reason.

    opened by LittleMoscowGuy300 5
  • Any Way to Undo Quest Faliure?

    Any Way to Undo Quest Faliure?

    I don't know whether to file this under bug, unimplemented request, or lack of user knowledge, but editing quest flags seems to do nothing to the actual quests. I tried setting mq008_done to 0 to undo the quest failing, and it didn't work. I then took another game and added mq008_done=1 and it didn't fail the quest either. I have two saves with identical quest flags right now, and in one the quest is failed and in the other I am in the middle of it. I tried this with another quest as well and no dice. Any insight would be appreciated.

    opened by ripleysawzen 1
  • PS4 Item Name not loading

    PS4 Item Name not loading

    only loading as ID #s looked around for a list online but im new and know very little. Loads in PR just fine after exporting out of SW as ususal. am I missing something or Click a option for ID#s instead of names? lol

    opened by Kwrinkles 0
Releases(v0.6.0-alpha.1)
  • v0.6.0-alpha.1(Oct 1, 2022)

    If you are missing dlls : https://aka.ms/vs/16/release/vc_redist.x64.exe

    Please open an issue when you see a bug, thank you !

    (I have no time to play the game much.. and other projects to work on too, so I cannot check everything)

    Game version: 1.6

    Known issues

    • Persistent Data parsing is broken
    • Entity editor may not work yet (not tested)

    Patch Notes

    v0.6.0-alpha

    • (.1) Updated cp object blueprints for game version 1.6 (enums updated) and fixed CItemData serialization.
    • Updated cp object blueprints for game version 1.5 (enums updated)
    • Reworked core lib to prepare for new rtti system.
    • Also, the core lib is now called redx instead of cpinternals.

    v0.5.4-alpha

    • (.14b) Hotfix, stats are being reworked by cdpr.
    • (.14) Updated cp object blueprints for game version 1.3 (enums updated)
    • (.13b) Hotfix, previous blueprints dump was incorrect.
    • (.13) Updated cp object blueprints for game version 1.23 (enums updated)
    • (.12) Updated cp object blueprints for game version 1.2 (however enums are being reworked and have not been updated).
    • (.11) Fix: Facts table 'delete' button wasn't working.
    • (.10) DB: TDBIDs update from gibbed.
    • (.9) Hotfix: PS4w support was broken.
    • (.8) Hotfix (#19): SKIN copy/paste was no longer working since the introduction of the customization data tab
    • (.7) Update for game version 1.1 (best practice: update your saves in-game first)
    • (.6) Fix: The game expects the FactsTable to be sorted by hash to work.
    • (.5) Fix (#14): re-enable "add new entry" in most character customization arrays
    • (.4) Hot Request: new constant stats are now initialized by default, the warning about unknown default value wasn't clear enough for the average user.
    • (.3) Added FactsDB
    • (.2) Hot Request: better tdbid combo entries for quick search (prefix-less), + enum properties
    • Fun Stuff tab: change all already spawned vehicles near you (includes all playable and non-playable vehicles, Basilisk!)
    • UI: some inventories now have names

    v0.5.3-alpha

    • (.2) HotFix UI: "unknown value" warning showing up when it isn't supposed to.
    • (.2) ps4w: quest item flags are slightly different, "unflag all" now clears 3 bits.
    • UI: "make legendary" button in the Item widget.
    • UI: God mode system editor reintroduced.
    • UI: Dynamic Array properties now have an "insert" button.
    • UI: Drag&drop had a null-character related issue.
    • UI: minor changes (sub-inventory name for V, default property...).
    • Experimental: hidden .buffer (non cr2w) archive file draft editor (drag&drop a .buffer file to try out).
    • CObject: fields definition is now hard-coded with a dumped DB (thanks to https://github.com/WopsS/RED4ext and its playground)
    • CEnumProperty: enums have been dumped too. The previous dump was incomplete.
    • Temporary Fix: Properties' actual default values are unknown. If they are not serialized in, you'll be warned that the current value widget is only displaying the editor's own default value (zero).

    v0.5.2-alpha

    • (.2) HotFix: CObject BPs auto-update has been disabled as it corrupts BPs with some save files. (will be investigated)
    • (.2) UI: Added file drag&drop, and two quick access buttons in the open dialog (one to "saved games").
    • HotFix: NodeRef property wasn't reserialized properly (corruption)
    • Removed per-node editor behavior
    • Tests: All editable nodes are tested for reserialization when opening a save file
    • UI: Collapsing headers have been replaced by tabs
    • UI: More tables have resizable columns
    • UI: CObjects' fields which do not fit in one line are now collapsible (and collapsed by default)
    • CObject: properties are less memory hungry
    • CObject: fields ordering is now recovered using a topological sort.
    • Options: button to show/hide CObject field types
    Source code(tar.gz)
    Source code(zip)
    CPSE_v0.6.0-alpha.1.zip(1.81 MB)
    entity_editor_addon_data.zip(7.46 MB)
  • v0.5.4-alpha.14b(Aug 22, 2021)

  • CPFS-v0.1(Aug 21, 2021)

    CPFS - CyberPunk File System It is a virtual filesystem to view archives' content in windows' file explorer (drive Z).

    If you are missing dlls : https://aka.ms/vs/16/release/vc_redist.x64.exe

    Please open an issue when you see a bug, thank you !

    Source code(tar.gz)
    Source code(zip)
    cpfs_winfsp.zip(7.13 MB)
  • win10-issue-test(Mar 20, 2021)

  • v0.5.5-dev(Feb 19, 2021)

  • v0.5.4-alpha.6(Jan 16, 2021)

  • v0.5.3-alpha.2(Jan 11, 2021)

    If you edited saves with a version prior to 0.5.3, you may be warned that the "reserialization test failed", then please let the game save it again first. If you added new objects manually, please mind that:

    • The serialization logic does skip newly constructed values that weren't edited nor serialized in.
    • It wasn't explicit enough that default values weren't actually game's default values so I added a warning on top of relevant widgets until I find a way to dump default values.
    Source code(tar.gz)
    Source code(zip)
    CPSE_v0.5.3-alpha.2.zip(1.62 MB)
  • v0.4.6-alpha.3(Jan 1, 2021)

    Inventory items are sorted by name on open. Better combo box to choose a new name (with keyboard input). If you are missing dlls : https://aka.ms/vs/16/release/vc_redist.x64.exe If you have a crash on Win10 since the Win7 fix, please try the debug version and open an issue. .2: Better Better Combo box (handles special characters + backspace) .3: HOTFIX: was crashing when closing a file tab (the idea was to prompt on unsaved changes, but this will be properly implemented later on)

    Happy New Year !! <3

    Source code(tar.gz)
    Source code(zip)
    CPSEApp_v0.4.6-alpha.3.zip(1.96 MB)
Owner
null
A tool for use with clang to analyze #includes in C and C++ source files

Include What You Use For more in-depth documentation, see docs. Instructions for Users "Include what you use" means this: for every symbol (type, func

null 3.2k Jan 4, 2023
A tool for Pikmin 1 model files

MODConv A Pikmin 1 model format converter Functionality NOTE: these are not command-line parameters, the program has a built-in input parser load (inp

null 4 Oct 20, 2021
A shebang-friendly script for "interpreting" single C99, C11, and C++ files, including rcfile support.

c99sh Basic Idea Control Files Shebang Tricks C++ C11 Credits Basic Idea A shebang-friendly script for "interpreting" single C99, C11, and C++ files,

Rhys Ulerich 100 Dec 3, 2022
Libelf is a simple library to read ELF files

libelf Libelf is a simple library which provides functions to read ELF files. Headers #include <stdint.h> #include <elf.h> Structures typedef struct

David du Colombier 44 Aug 7, 2022
ByteCopy , or BCP, intends to copy files accurately (down to the bytes) in a simple , safe and efficient manner.

ByteCopy v3.6 About ByteCopy , or BCP, intends to copy files accurately (down to the bytes) in a simple , safe and efficient manner. It's functionalit

A.P. Jo. 16 Jun 22, 2022
Cobalt Strike BOF Files with Nim!

BOF-Nim oh yeah baby I have an inkling it's possible, right now the problem seems to be getting the go function to be present in the Symbol table. No

byt3bl33d3r 77 Dec 24, 2022
Load Aseprite files for animated sprites in raylib.

raylib-aseprite Load Aseprite .aseprite files for animated sprites in raylib. Features Load Aseprite files directly for use in raylib Draw individual

Rob Loach 30 Dec 20, 2022
Disassembling .class files

jvmdisassembler Contribution You can contribute by creating an issue or pull request. Please keep the code clean and readable. All contributed code mu

Jonas 6 Jun 20, 2022
This is a collection of tools for creating and manipulating BitTorrent v2 torrent files

torrent tools This is a collection of tools for creating and manipulating BitTorrent v2 torrent files. torrent-new can create hybrid torrents, but the

Arvid Norberg 9 Nov 12, 2022
Atomically exchange two files in Linux

Atomically exchange two files in Linux.

David Pape 9 Aug 4, 2022
RapidObj is an easy-to-use, single-header C++17 library that loads and parses Wavefront .obj files.

RapidObj About Integration Prerequisites Manual Integration CMake Integration API RapidObj Result Next Steps OS Support Third Party Tools and Resource

Slobodan Pavlic 108 Jan 2, 2023
libnpy is a simple C++ library for reading and writing of numpy's .npy files.

C++ library for reading and writing of numpy's .npy files

Leon Merten Lohse 203 Dec 30, 2022
A combined suite of utilities for manipulating binary data files.

BinaryTools A combined suite of utilities for manipulating binary data files. It was developed for use on Windows but might compile on other systems.

David Walters 6 Oct 1, 2022
Authenticode Hash Calculator for PE32/PE32+ files

AuthHashCalc Authenticode Hash Calculator for PE32/PE32+ files System Requirements x86/x64 Windows 7/8/8.1/10/11 Administrative privilges are not requ

null 65 Dec 7, 2022
zsh module for automatically compiling sourced files

Zinit Module Motivation The module is a binary Zsh module (think about zmodload Zsh command, it's that topic) which transparently and automatically co

zdharma-continuum 13 Dec 25, 2022
C-shellcode to hex converter, handy tool for paste & execute shellcodes in gdb, windbg, radare2, ollydbg, x64dbg, immunity debugger & 010 editor

shellex WARNING: the ugliest code in the world C-shellcode to hex converter. Handy tool for paste & execute shellcodes in gdb, windbg, radare2, ollydb

David Reguera Garcia aka Dreg 90 Dec 30, 2022
GSmartControl - Hard disk drive and SSD health inspection tool

GSmartControl Hard disk drive and SSD health inspection tool GSmartControl is a graphical user interface for smartctl (from smartmontools package), wh

Alexander Shaduri 225 Jan 5, 2023
Windows user-land hooks manipulation tool.

MineSweeper Windows user-land hooks manipulation tool. Highlights Supports any x64/x86 Windows DLL (actually, any x64/x86 Windows PE for that matter)

Arsenii Pustovit 130 Dec 9, 2022
Orbit, the Open Runtime Binary Instrumentation Tool, is a standalone C/C++ profiler for Windows and Linux

Orbit, the Open Runtime Binary Instrumentation Tool, is a standalone C/C++ profiler for Windows and Linux. Its main purpose is to help developers visualize the execution flow of a complex application.

Google 3k Dec 30, 2022