[Archived] Xenoblade Chronicles 3 Graphics Settings

Status
Not open for further replies.

vonovon

Active Member
Newcomer
Joined
Jun 27, 2022
Messages
28
Trophies
0
Location
PH
XP
90
Country
Philippines
Sorry for posting previously thread with wrong informations. Now everything seems to be working.

Mod is using patch file that was based on Next Method from XC2 thread to get config working outside of ard.
Graphics settings are stored in binary file, so script is necessary to convert it up back to bin file.

Structure
Header:
Python:
MAGIC "INIB"
int32 10000 #unknown purpose
int32 0x10 #offset of entry table
int32 0x175 #entry count

So new config file has 373 entries in comparison to 224 entries in XCDE. Quite a buff.

But issue is that we don't have names of those settings.
Entry table:
Python:
uint32 hash #murmur3 unsigned hash of config name
int32 type #0 - bool, 1 - float, 2 - (float, float, float), 3 - (float, float, float, float)
uint32 offset #direct offset of value

and at the end values.
main doesn't calculate those name hashes in runtime, it has hashes stored already in main, so we don't have access to original names of configs. So 148 entries are unknown (found by brute force only one new name - "ifmg")

Took config names from XCDE config file to fill names for what we can, for unknown names I am using hash as name (starting with 0x)

ao_av_Shwstr for whatever reason is repeated. Since JSON doesn't accept repeated keys and I wanted this to output the same file as original, I have decided to store one name as string, second as hash 0xDD677246.

If someone can write some sophisticated dictionary brute force attack on hashes and run it to fill out names, it would be appreciated.
C++:
{
    "tonemap": true,
    "ssao": false,
    "bloom": false,
    "godray": true,
    "AntiAliasing": true,
    "ColReduction": true,
    "dof": false,
    "lensFlare": false,
    "aoskip": false,
    "lut": true,
    "toneHistogramLow": 0.8,
    "toneHistogramHigh": 0.9,
    "tonemax": 1.0,
    "tonemin": 0.15,
    "tonescale": 7.0,
    "toneUpSpeed": 0.1,
    "toneDownSpeed": 0.5,
    "toneBlmmax": 1000.0,
    "toneBlmmin": 0.001,
    "toneBlmmul": 100.0,
    "godray_inival": 0.95,
    "godray_decay": 0.99,
    "godray_scale": 1.235,
    "blm_border_sub": 1.0,
    "blm_border_mul": 0.105,
    "blm_border_sub2": 0.0,
    "blm_border_mul2": 0.0,
    "blm_border_max": 3.5,
    "blm_str1": 1.0,
    "blm_str2": 1.0,
    "blm_str3": 1.0,
    "blm_gauss1": 0.9, //Ignored (superseeded by blm_gauss3)
    "blm_gauss2": 0.8, //Ignored (superseeded by blm_gauss3)
    "blm_gauss3": 0.8,
    "blm_weight1": 0.63, //Ignored (superseeded by blm_weight5)
    "blm_weight2": 0.1, //Ignored (superseeded by blm_weight5)
    "blm_weight3": 0.14, //Ignored (superseeded by blm_weight5)
    "blm_weight4": 0.53, //Ignored (superseeded by blm_weight5)
    "blm_weight5": 0.58,
    "blm_deviation1": 0.2, //Ignored (superseeded by blm_deviation5)
    "blm_deviation2": 0.5, //Ignored (superseeded by blm_deviation5)
    "blm_deviation3": 1.0, //Ignored (superseeded by blm_deviation5)
    "blm_deviation4": 1.0, //Ignored (superseeded by blm_deviation5)
    "blm_deviation5": 1.0,
    "blm_saturation1": 0.0, //Ignored (superseeded by blm_saturation5)
    "blm_saturation2": 0.0, //Ignored (superseeded by blm_saturation5)
    "blm_saturation3": 0.0, //Ignored (superseeded by blm_saturation5)
    "blm_saturation4": 0.0, //Ignored (superseeded by blm_saturation5)
    "blm_saturation5": 0.35,
    "blm_emissive_str": 9.0,
    "blm_tone_scale": 0.05,
    "blm_emissive_max": 20.0,
    "blm_emissive_min": 0.0,
    "0x66F0BD34": true,
    "0x5D63DA76": 1.0,
    "0xFC6A6BB8": 1.1,
    "0x3857A64C": 0.7,
    "0x2B755BF": 0.1, //Ignored (superseeded by 0xD357E3AE)
    "0x35CD4D20": 0.11, //Ignored (superseeded by 0xD357E3AE)
    "0x506684C7": 0.25, //Ignored (superseeded by 0xD357E3AE)
    "0xD357E3AE": 0.36,
    "lens_max": 1.0,
    "lens_rot": 0.0,
    "lens_sub": 1.5,
    "lens_mul": 3.5,
    "lens_weight": 0.1,
    "lens_decay": 1.0,
    "lens_str": 1.5,
    "lens_paMax": 4.0,
    "lens_UVDecay": 0.29,
    "AA_Sharpness": 8.0,
    "AA_Range": 0.5,
    "AA_Threshold": 0.17,
    "AA_ThresholdMin": 0.05,
    "red_sclX": 1.0,
    "red_sclY": 1.0,
    "red_hdsclX": 0.75,
    "red_hdsclY": 0.75,
    "red_Auto": true,
    "red_AtMaxX": 1.0,
    "red_AtMaxY": 1.0,
    "red_AtMinX": 0.7,
    "red_AtMinY": 0.7,
    "red_AtRate": 99.0,
    "ao_Lengs": 0.1, //Ignored (not read at all)
    "ao_LengsRatio": 1.98, //Ignored (not read at all)
    "ao_range": 5.7, //Ignored (not read at all)
    "ao_rangeRatio": 1.0, //Ignored (not read at all)
    "ao_sub": 0.02, //Ignored (not read at all)
    "ao_subRatio": 0.15, //Ignored (not read at all)
    "ao_Mul": 2.0, //Ignored (not read at all)
    "ao_blurRange": 0.72, //Ignored (not read at all)
    "ao_blurScale": 0.75, //Ignored (not read at all)
    "ao_av_Shwstr": 0.5,
    "blur": false,
    "blurStr": 0.2,
    "blurAlpha": 40.0,
    "blurSub": 0.025,
    "blurBlurRange": 0.32,
    "shadowStr": 1.0,
    "shadowHalf": true,
    "shadowColor": [
        1.0,
        1.0,
        1.0
    ],
    "simShwStr": 1.6,
    "simShwIn": 0.7,
    "simShwMin": 0.15,
    "sRGBMode": true,
    "gamma": 6.0,
    "ao_av_CenterWeight": 1.09,
    "ao_av_MaxDistance": 0.15,
    "ao_av_MaxRadius": 0.2,
    "ao_av_FadeOutStart": 70000.0,
    "ao_av_FadeOutDistance": 10000.0,
    "0xFF8D3307": 0.05,
    "ao_av_BlurScale": 1.6,
    "0xDD677246": 0.5, //ao_av_Shwstr
    "cam_near": 0.1,
    "cam_far": 80000.0,
    "avmp01": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp02": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp03": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp04": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp05": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp06": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp07": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp08": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp09": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp10": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp11": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp12": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp13": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp14": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp15": [ //Ignored (superseeded by avmp16)
        0.5,
        0.5,
        0.5
    ],
    "avmp16": [
        0.5,
        0.5,
        0.5
    ],
    "cloud_h_min": 1000.0,
    "cloud_h_max": 1100.0,
    "cloud_color": [
        1.0,
        1.0,
        1.0
    ],
    "toonDirType": 0.0,
    "toonDirBackBright": 1.0,
    "toonDirElevation": 0.1,
    "toonDirPntSptRatio": 0.5,
    "toonDirLightScaleVal": 0.75,
    "toonDirInOutMin": 0.6,
    "toonIBLScaleVal": 0.28,
    "toonShadowAlpha": 0.15,
    "toonCharShadowAlpha": 0.02,
    "toonCharShadowMin": 0.46,
    "0xF333710C": 8.0, //Ignored (superseeded by 0x8D2766E2)
    "0xFFD3EE80": 15.0, //Ignored (superseeded by 0x8D2766E2)
    "0x8D2766E2": 30.0,
    "0xF6FF1D20": 0.5, //Ignored (superseeded by 0x189ADEE9)
    "0x1A1693FE": 6.0, //Ignored (superseeded by 0x189ADEE9)
    "0x189ADEE9": 9.5,
    "0x301232E3": 0.1,
    "0xA7951F52": true, //Ignored (not read at all)
    "0x6099124E": 0.0, //Ignored (not read at all)
    "0xC94C3D6C": 0.0,
    "0x9B196145": 2.3,
    "0x5789A4A": true,
    "0xB12E641E": 40.0,
    "0xC4662501": 0.0,
    "0x5F104B4": 0.4,
    "0x336AFD5E": 1.5,
    "0xD6CEDAEF": [
        0.0,
        0.0,
        0.0
    ],
    "0x712CE7F5": 8.0, //Ignored (superseeded by 0x9144CB69)
    "0x72A9D801": 15.0, //Ignored (superseeded by 0x9144CB69)
    "0x9144CB69": 30.0,
    "0x7DECFD2B": 0.5, //Ignored (superseeded by 0xF7FE9B66)
    "0x35BB3EB": 6.0, //Ignored (superseeded by 0xF7FE9B66)
    "0xF7FE9B66": 9.5,
    "0x427B5122": 0.1,
    "rim_color": [ //Ignored (not read at all)
        1.0,
        1.0,
        1.0
    ],
    "rim_intensity": 3.0, //Ignored (not read at all)
    "iblDirectLightIntensity": 1.0,
    "iblSkyIntensity": 1.5,
    "iblBlendBetweenFrame": 30.0,
    "0xCC9776A3": 2.2,
    "0xDC58DD66": 0.2,
    "0x81CA303C": 0.32,
    "tssao": true,
    "tssaoRadius": 1.0,
    "tssaoIntensityMul": 1.0,
    "tssaoIntensityPow": 0.16,
    "tssaoOutputAO": 0.35,
    "tssaoPostBlurSharpness": 0.55,
    "tssaoLuminanceCorrection": 0.3,
    "tssaoSelectiveFiltering": true, //Ignored (not read at all)
    "tssaoWeakenRatio": 0.8,
    "ssr": true,
    "ssrIntensity": 1.0,
    "ssrShinessFade": 0.8, //Ignored (not read at all)
    "ssrGroundness": 0.73,
    "ssrFadeSec": 5.0,
    "shadowCloud": true,
    "shadowCloudStr": 0.8,
    "shadowCloudSize": 300.0,
    "shadowCloudScrollDir": 150.0,
    "shadowCloudScrollSpeed": 6.0,
    "shadowRaytraceDistance": 0.15,
    "shadowRaytracePitch": 0.0,
    "tmaa": true,
    "tmaaSharpness_0": 0.4, //Ignored (superseeded by tmaaSharpness_5)
    "tmaaSharpness_1": 0.6, //Ignored (superseeded by tmaaSharpness_5)
    "tmaaSharpness_2": 0.6, //Ignored (superseeded by tmaaSharpness_5)
    "tmaaSharpness_3": 0.72, //Ignored (superseeded by tmaaSharpness_5)
    "tmaaSharpness_4": 0.8, //Ignored (superseeded by tmaaSharpness_5)
    "tmaaSharpness_5": 0.9,
    "tmaaSharpness_Hnd_0": 1.2, //Ignored (superseeded by tmaaSharpness_Hnd_5)
    "tmaaSharpness_Hnd_1": 1.1, //Ignored (superseeded by tmaaSharpness_Hnd_5)
    "tmaaSharpness_Hnd_2": 1.1, //Ignored (superseeded by tmaaSharpness_Hnd_5)
    "tmaaSharpness_Hnd_3": 1.12, //Ignored (superseeded by tmaaSharpness_Hnd_5)
    "tmaaSharpness_Hnd_4": 1.2, //Ignored (superseeded by tmaaSharpness_Hnd_5)
    "tmaaSharpness_Hnd_5": 1.3,
    "tmaaBlendDefault": 0.05,
    "tmaaBlendPBR": 0.0,
    "tmaaBlendMPF": 0.3,
    "tmaaBlendToon": 0.05,
    "tmaaNewUpScale": true,
    "tmaaSharpnessType": 2.0,
    "tmaaSharpnessAwareIntensity": 0.2,
    "shwCharParm": 17.92,
    "shwHalfLamParm": 1.0,
    "wetMaxShiness": 0.5,
    "wetDarkness": 0.48,
    "wetShinessScale": 0.6,
    "wetToInsideFrame": 10.0,
    "wetToOutsideFrame": 20.0,
    "TransReduction": true,
    "trans_red_sclX": 0.5,
    "trans_red_sclY": 0.5,
    "blur2": true,
    "blur2Str": 10.0,
    "blur2Sub": 0.25,
    "blur2ObjScale": 0.65,
    "blur2CameraScale": 0.8,
    "blur2BlurRange": 0.7,
    "blur2PixelRange": 20.0,
    "blur2HLV": true,
    "gpucount": 64.0,
    "leafSpecColMinShiness": 0.1,
    "leafSpecColMaxShiness": 0.4,
    "leafSpecColRatio": 0.85,
    "furBlur": true,
    "furBlurStr": 0.3,
    "furBlurPixelRange": 20.0,
    "0x9E2BDF35": true,
    "0xCBF60DCC": 0.45,
    "0xE7B8E359": 20.0,
    "0x3E8B2DFF": 0.172,
    "0xFAB5D0F": 0.396,
    "0x15D13C05": 0.403,
    "0x1F3EB72A": 0.3,
    "0xFE2A5D4C": 0.545,
    "0xEEF1A09B": 0.291,
    "0xCB34ED6F": 0.478,
    "0xE3A59F1C": 0.701,
    "0x94F0215F": 0.612,
    "lightShaft": true,
    "0x4B214CF3": 1.0,
    "0x2EBCBD3E": 6.5,
    "reduceDirLightRim": 3.0,
    "monochromeToonId": 128.0,
    "monochromeFogScale": 0.5,
    "0x6EF1CDA4": true,
    "0xBDDCEAFD": 2.0,
    "0x11FECE04": true,
    "0xB1F493C2": 0.5,
    "0xF5EB7B25": 3.0,
    "0x44D18825": 0.0,
    "0x2FCECF30": 0.4,
    "0x635B1A7B": [
        0.88,
        0.91,
        1.0,
        0.0
    ],
    "0xFB0982CB": 0.4,
    "0x2496CDB5": 0.8,
    "0x829607F": 0.3,
    "0xFCA5701C": 0.6,
    "0x9DB8A56E": [
        0.81,
        0.86,
        1.0,
        0.0
    ],
    "0x55FB8D0A": 0.4,
    "0xC7CE9119": 0.8,
    "0xA72DEF7C": 0.3,
    "0xC7A407A3": 0.6,
    "0xBA390E46": false,
    "0x5F14B998": 0.0,
    "0x57CEA10C": 0.0,
    "0x649AAB9D": true,
    "0xDBBE01E6": false,
    "0xD770A81C": 1.0,
    "0xD63B15D7": 1.0,
    "0x8644220F": 0.0,
    "0xB0D850D5": 0.0,
    "0x6B9AE74E": 2.0,
    "0x4E9A09B4": 1.0,
    "0xF4096DDB": [
        0.0,
        0.0,
        0.0,
        1.0
    ],
    "0xA19E7F6A": 0.0,
    "0xC4B90990": 0.0,
    "0xB8F7EDAE": false,
    "0x784D9270": [
        0.5,
        0.5,
        1.0
    ],
    "0xDF6D3430": 10.0,
    "0xB3EB5046": 0.3,
    "0x6FA1D395": 5.0,
    "0xFD3F07AF": 0.2,
    "0x6272E208": 0.5,
    "0x29B2FD3A": 1.0,
    "0x22858515": 1.0,
    "0xF4524CBA": true,
    "0x61D26460": 9.0,
    "0x4236F1E7": 10.0,
    "0xC191A703": 0.1,
    "0x83BC7501": 0.8,
    "0x26C9A218": true,
    "0x6533AC49": 0.5,
    "0x8946B815": 0.3,
    "0x76E6D31": 1.0,
    "0x5AFB4305": [
        1.0,
        0.3,
        0.0
    ],
    "0x396603C6": 2.0,
    "0xC6AEF946": 1.5,
    "0xF873E01": 0.7,
    "0xCEE2545E": 400.0,
    "0x122F2051": 200.0,
    "0x32DA3BA1": 0.5,
    "0xE35FE997": 1.0,
    "0xF2509119": 0.8,
    "0xB6C16A92": 0.2,
    "0x7AC5C042": [
        0.06,
        0.0,
        0.15
    ],
    "0xDB44E95F": 1.0,
    "0x394D8ADD": 1.0,
    "0xCC286031": 0.0,
    "0xD0044ECA": 0.0,
    "0x46FDEFE": 400.0,
    "0xF2F951A0": 400.0,
    "0xAE7AAA37": [
        1.0,
        0.24,
        0.0
    ],
    "0x90795FB8": 0.5,
    "0xE95E879C": 0.0,
    "0xA671F91F": 25.0,
    "ifmg": 75.0,
    "0x3C5AB47C": 75.0,
    "0x1C71EDDC": 0.0,
    "0x9A1225D0": 0.0,
    "0x60392758": 75.0,
    "0xCF37604F": 75.0,
    "0x95236DF0": 0.0,
    "0x692E4637": 1.0,
    "0x7B297FB2": [
        1.0,
        0.52,
        0.08
    ],
    "0x27733291": 1.2,
    "0xDDFD9943": 0.0,
    "0x3DB94B93": 0.0,
    "0x8AB3E426": 80.0,
    "0x1811244E": 80.0,
    "0x2871F67": 300.0,
    "0x1EAA9061": 400.0,
    "0x8A1103DB": 1.0,
    "0x7BF25AFD": 3.5,
    "0xFBD4A02": 0.3, //Ignored (not read at all)
    "0xEBCB4443": 300.0, //Ignored (not read at all)
    "0x30EC7F91": 1.0,
    "0x7F693558": -1.0,
    "0x4E548": 0.65,
    "0x38041560": 0.4,
    "0xCDFD665A": 50.0,
    "0xFD3B3C9A": 0.0,
    "0x68F91A18": 0.0,
    "0x2988AA37": [
        1.0,
        0.54,
        0.0
    ],
    "0x948D0A42": 3.0,
    "0xF4DBB5E9": 0.0,
    "0xF51E544F": 0.0,
    "0x4860955B": 200.0,
    "0x736ED30F": 400.0,
    "0xF58EB9B5": 1.0,
    "0x5CB90504": 1.0,
    "0x81154B3B": 3.0,
    "0xB8C8D60E": true,
    "0x2328A055": 1.0,
    "0x66A4EB5F": 3.0,
    "0xD211F9B0": 2.5,
    "0x27D2D389": 3.5
}

Tutorial

Requirements:
  • Python 3.10.0+
  • python library mmh3 (you can install it with command "pip3 install mmh3" in cmd/bash if you checked "Add to PATH"/"Add Python to environment variables" when installing Python) [if you have pip error while installing mmh3, try to install "wheel" through pip first)

Compatible titleID and versions:
  • 010074F013262000 - 1.0.0

Instructions:
  1. Download "GraphicsSettings.zip" and unpack it
  2. Edit "lib_nx.json" with whatever text editor you like. You can use IDE with JSON support (f.e. Visual Studio Code) to check if you didn't broke something in file. Don't change keys (strings before ":") if you don't know what you are doing!
  3. Run "libnxToBin.py"
  4. Put "atmosphere" folder on root of your sdcard (folder structure for Yuzu: Link)
  5. Run game
Remember that messing up with settings can bring unexpected results, in worst case crashing game or even damaging save.
Thanks to @PhiZero and @OldManKain for testing.
I didn't test it personally.

Whatever presets you will figure out, you can upload in this topic.
how do i know if my edit is successful? i tried editing it but the din file modification date didnt change. im not getting any errors when i double click libnxtobin.py but it somehow doesnt work. i tried removing the existing bin file inside atmosphere and ran the script again. its no converting the edited json file to inside the atmosphere folder, it just somehow ends up empty
 
Last edited by vonovon,

XXeno

Member
Newcomer
Joined
Apr 13, 2021
Messages
10
Trophies
0
Age
41
XP
117
Country
Sweden
Not for me running 1x on emulation with the standard resmod. I've locked the framerate to 45fps.

3090 ti here.
Yeah the game performance absolutely tanks when you reach chapter 2 with the bigger map and the many monsters on the map during combat if you have any kind of resmod activated.

ryzen 5600x, 3070.
 

totxxx

Active Member
Newcomer
Joined
Jul 23, 2022
Messages
44
Trophies
0
Age
34
Location
france
XP
101
Country
France
1658901759026.png
1658901798938.png
1658901822982.png
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • BakerMan @ BakerMan:
    fuck ubisoft, and fuck activision
    +1
  • realtimesave @ realtimesave:
    Nintendo needs to release a new console, switch is getting such shitty little games lately lol it's pathetic
  • Purple_Heart @ Purple_Heart:
    Lmao a new flashcart... The Unlock Switch... I knew it's not fake xD
    +1
  • NinStar @ NinStar:
    A new consoles won't solve that problem
  • NinStar @ NinStar:
    It will actually make it worse
  • The Real Jdbye @ The Real Jdbye:
    well actually
    a new console won't do anything right now, because the games are still in development, that's why there are few games being released
  • The Real Jdbye @ The Real Jdbye:
    it won't make the games finish any faster
  • Veho @ Veho:
    2/3rds of launch titles for the Switch 2 will just be lazy ports of Switch games anyway.
  • The Real Jdbye @ The Real Jdbye:
    probably
  • The Real Jdbye @ The Real Jdbye:
    maybe mario kart 9 will be a launch title
  • The Real Jdbye @ The Real Jdbye:
    i really want a new mario kart
  • Veho @ Veho:
    What, you mean the endless stream of DLCs doesn't count?
  • Veho @ Veho:
    Why develop a new game when you can just sell season passes forever?
  • Veho @ Veho:
    I'm still on MKDS so I'm not bothered :tpi:
  • The Real Jdbye @ The Real Jdbye:
    i like the dlc tbh, i'd like a new game more
  • ZeroT21 @ ZeroT21:
    but the current version is still selling fine at full price
  • SylverReZ @ SylverReZ:
    Hello
  • ZeroT21 @ ZeroT21:
    sup
    +1
  • SylverReZ @ SylverReZ:
    @realtimesave, You seen the Unlock Switch flashcart yet?
  • K3Nv2 @ K3Nv2:
    I'll see the 19.0 update that blocks use ability to it
    +1
  • K3Nv2 @ K3Nv2:
    Lol newegg+
    Screenshot-20240423-053504-Gmail.jpg
  • S @ salazarcosplay:
    does update 19 really block it
  • SylverReZ @ SylverReZ:
    Update 19 never came out yet. Just the 18.1.
    SylverReZ @ SylverReZ: Update 19 never came out yet. Just the 18.1.