diff --git a/SaltySD/exceptions.txt b/SaltySD/exceptions.txt index 8ea870c..e7fa3fa 100644 --- a/SaltySD/exceptions.txt +++ b/SaltySD/exceptions.txt @@ -8,7 +8,7 @@ ;YouTube ;Stucks in infinite loop -X01003A400C3DA000 +01003A400C3DA000 ;Alien: Isolation ;1.1_46609 - 1.1.4_60709 crash on first loading @@ -19,12 +19,14 @@ X01003A400C3DA000 01004A600EC0A000 ;Stubbs the Zombie in Rebel Without a Pulse -;1.0.0 - 1.0.2 crash on boot -X0100964012528000 +;1.0.0 - 1.0.3 crash on boot +0100964012528000 ;Olympic Games Tokyo 2020 – The Official Video Game -;1.0.0 crash on boot -X010034B00E14C000 +;1.0.0-1.0.2 crash on boot +;1.0.9 crash on boot +010034B00E14C000 +01004CE00AAE2000 ;Mario Strikers: Battle League ;1.0.0 crash on boot @@ -46,15 +48,3 @@ X010034B00E14C000 ;Company of Heroes Collection ;1.5_66915 crashes 0100ABD0156F8000 - -;Donkey Kong Country: Tropical Freeze -;Crash at second level -X0100C1F0051B6000 - -;Death Road to Canada -;1.0.8 crash -X0100423009358000 - -;Splatoon 3 -;10.0.0 upwards crashes after online match -X0100C2500FC20000 diff --git a/SaltySD/plugins/FPSLocker/patches/01000AB01F9C0000/657F40EEBD955F31.yaml b/SaltySD/plugins/FPSLocker/patches/01000AB01F9C0000/657F40EEBD955F31.yaml index a7a91f0..adad723 100644 --- a/SaltySD/plugins/FPSLocker/patches/01000AB01F9C0000/657F40EEBD955F31.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01000AB01F9C0000/657F40EEBD955F31.yaml @@ -1,8 +1,6 @@ # Chernobylite 1.2 # BID: 657F40EEBD955F31 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget - @@ -21,4 +19,7 @@ ALL_FPS: type: write address: [MAIN, 0x5C83700, 0] value_type: int32 - value: [0, 0] \ No newline at end of file + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01000AD01F94A000/52DA46C0166A8643.yaml b/SaltySD/plugins/FPSLocker/patches/01000AD01F94A000/52DA46C0166A8643.yaml new file mode 100644 index 0000000..1f992d1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000AD01F94A000/52DA46C0166A8643.yaml @@ -0,0 +1,25 @@ +# Tony Hawk's Pro Skater 3 + 4 1.07 +# BID: 52DA46C0166A8643 + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x77F8148, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7826330, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x7020598, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01000CE002072000/346959B36CD9F14D.yaml b/SaltySD/plugins/FPSLocker/patches/01000CE002072000/346959B36CD9F14D.yaml index 9055293..9e0c85c 100644 --- a/SaltySD/plugins/FPSLocker/patches/01000CE002072000/346959B36CD9F14D.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01000CE002072000/346959B36CD9F14D.yaml @@ -1,8 +1,6 @@ # The LEGO NINJAGO Movie Video Game 1.0.3 # BID: 346959B36CD9F14D -unsafeCheck: true - ALL_FPS: # Block to 30 FPS when prerendered cutscene is played # REF: LegoCutscenes::s_fmvCutsceneAudioInstance @@ -12,6 +10,5 @@ ALL_FPS: compare_type: "!=" compare_value_type: uint64 compare_value: 0 - address: [MAIN] value_type: refresh_rate value: 30 diff --git a/SaltySD/plugins/FPSLocker/patches/01001040220E8000/336E56D09501A52E.yaml b/SaltySD/plugins/FPSLocker/patches/01001040220E8000/336E56D09501A52E.yaml new file mode 100644 index 0000000..9a319a5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001040220E8000/336E56D09501A52E.yaml @@ -0,0 +1,19 @@ +# Troublemaker 1.0.2 +# BID: 336E56D09501A52E + +ALL_FPS: + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x5E26958, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x562A778, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01001E9023920000/169AD641E042A8B4.yaml b/SaltySD/plugins/FPSLocker/patches/01001E9023920000/169AD641E042A8B4.yaml new file mode 100644 index 0000000..83b9197 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001E9023920000/169AD641E042A8B4.yaml @@ -0,0 +1,43 @@ +# 하늘의 궤적 the 1st 1.0.4 +# BID: 169AD641E042A8B4 + +DECLARATIONS: + # Lock Max Handheld Resolution to 720p instead of 900p + - + type: code + name: adjustDrResToNativeInHH + instructions: [ + [cmp, w9, 1280], + [b.le, :goto1], + [adrp, x21, 0x65F000], + [ldr, w21, [x21, 0x830]], ## REF: nn::oe::GetOperationMode in nnMain + [cbnz, w21, :goto1], + [mov, w9, 1280], + [mov, w8, 720], + :goto1, [stp, w9, w8, [x19, 0x10]], + [ret] + ] +MASTER_WRITE: + ## REF: 69 22 02 29 + - + type: asm_a64 + main_offset: 0x2380A4 + instructions: [ + [bl, _adjustDrResToNativeInHH()] + ] +ALL_FPS: + # Min Delta + ## REF: 88 01 80 52 C1 03 80 52 28 4D 28 9B 29 00 80 52, first ADRP + ADD below it + - + type: evaluate_write + address: [MAIN, 0x65F860, 0x2C] + value_type: uint32 + value: FPS_TARGET + # Dynamic Resolution + ## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2) + ## Adding there 0.95 by myself because game seems to have issues with reaching 60 FPS with 1.0 + - + type: write + address: [MAIN, 0x65F378] + value_type: float + value: 0.95 diff --git a/SaltySD/plugins/FPSLocker/patches/01001E9023920000/4FC3CB13E1D3292E.yaml b/SaltySD/plugins/FPSLocker/patches/01001E9023920000/4FC3CB13E1D3292E.yaml new file mode 100644 index 0000000..73a6e35 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001E9023920000/4FC3CB13E1D3292E.yaml @@ -0,0 +1,43 @@ +# 하늘의 궤적 the 1st 1.0.3 +# BID: 4FC3CB13E1D3292E + +DECLARATIONS: + # Lock Max Handheld Resolution to 720p instead of 900p + - + type: code + name: adjustDrResToNativeInHH + instructions: [ + [cmp, w9, 1280], + [b.le, :goto1], + [adrp, x21, 0x65D000], + [ldr, w21, [x21, 0x830]], ## REF: nn::oe::GetOperationMode in nnMain + [cbnz, w21, :goto1], + [mov, w9, 1280], + [mov, w8, 720], + :goto1, [stp, w9, w8, [x19, 0x10]], + [ret] + ] +MASTER_WRITE: + ## REF: 69 22 02 29 + - + type: asm_a64 + main_offset: 0x236744 + instructions: [ + [bl, _adjustDrResToNativeInHH()] + ] +ALL_FPS: + # Min Delta + ## REF: 88 01 80 52 C1 03 80 52 28 4D 28 9B 29 00 80 52, first ADRP + ADD below it + - + type: evaluate_write + address: [MAIN, 0x65D860, 0x2C] + value_type: uint32 + value: FPS_TARGET + # Dynamic Resolution and Min Delta multiplier (some UI elements are not adjusted by it, that's why I'm using both values) + ## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2) + ## Adding there 0.95 by myself because game seems to have issues with reaching 60 FPS with 1.0 + - + type: write + address: [MAIN, 0x65D378] + value_type: float + value: 0.95 diff --git a/SaltySD/plugins/FPSLocker/patches/01002B9012E28000/6C3F685C62070885.yaml b/SaltySD/plugins/FPSLocker/patches/01002B9012E28000/6C3F685C62070885.yaml new file mode 100644 index 0000000..f313879 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002B9012E28000/6C3F685C62070885.yaml @@ -0,0 +1,23 @@ +# 真・三國無双8 Empires 1.0.1 +# BID: 6C3F685C62070885 + +ALL_FPS: + ## REF: 02 00 00 00 3C 00 00 00 + - + type: evaluate_write + address: [MAIN, 0x2111728] + value_type: int32 + value: [VSYNC_TARGET, FPS_TARGET] + - + type: evaluate_write + address: [MAIN, 0x2111730] + value_type: float + value: FPS_TARGET + - + type: evaluate_write + address: [MAIN, 0x34DF954] + value_type: float + value: "1 / FPS_TARGET" + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01002C9022770000/2AD8CC7892EBF9FA.yaml b/SaltySD/plugins/FPSLocker/patches/01002C9022770000/2AD8CC7892EBF9FA.yaml new file mode 100644 index 0000000..1562827 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002C9022770000/2AD8CC7892EBF9FA.yaml @@ -0,0 +1,43 @@ +# Trails in the Sky 1st Chapter 1.0.4 +# BID: 2AD8CC7892EBF9FA + +DECLARATIONS: + # Lock Max Handheld Resolution to 720p instead of 900p + - + type: code + name: adjustDrResToNativeInHH + instructions: [ + [cmp, w9, 1280], + [b.le, :goto1], + [adrp, x21, 0x65F000], + [ldr, w21, [x21, 0x820]], ## REF: nn::oe::GetOperationMode in nnMain + [cbnz, w21, :goto1], + [mov, w9, 1280], + [mov, w8, 720], + :goto1, [stp, w9, w8, [x19, 0x10]], + [ret] + ] +MASTER_WRITE: + ## REF: 69 22 02 29 + - + type: asm_a64 + main_offset: 0x238D24 + instructions: [ + [bl, _adjustDrResToNativeInHH()] + ] +ALL_FPS: + # Min Delta + ## REF: 88 01 80 52 C1 03 80 52 28 4D 28 9B 29 00 80 52, first ADRP + ADD below it + - + type: evaluate_write + address: [MAIN, 0x65F850, 0x2C] + value_type: uint32 + value: FPS_TARGET + # Dynamic Resolution and Min Delta multiplier (some UI elements are not adjusted by it, that's why I'm using both values) + ## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2) + ## Adding there 0.95 by myself because game seems to have issues with reaching 60 FPS with 1.0 + - + type: write + address: [MAIN, 0x65F368] + value_type: float + value: 0.95 diff --git a/SaltySD/plugins/FPSLocker/patches/01003990220BE000/820EF220126FF10A.yaml b/SaltySD/plugins/FPSLocker/patches/01003990220BE000/820EF220126FF10A.yaml new file mode 100644 index 0000000..5cb1962 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003990220BE000/820EF220126FF10A.yaml @@ -0,0 +1,10 @@ +# ABYSS SEEKER――What Do You See Deep in Abyss 1.3.0.105 +# BID: 820EF220126FF10A + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x7B04500, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml b/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml index 68769eb..f4ec51e 100644 --- a/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01003CC00D0BE000/F6FB99E54347E740.yaml @@ -2,8 +2,6 @@ # BID: F6FB99E54347E740 # Double buffer is hardcoded line by line, it's hard to make it triple -unsafeCheck: true - DECLARATIONS: - type: variable @@ -46,3 +44,4 @@ MASTER_WRITE: [adrp, x9, $dr_target], [ldr, w9, [x9, $dr_target]] ] + diff --git a/SaltySD/plugins/FPSLocker/patches/01003E601E324000/A6BD61CFB142E663.yaml b/SaltySD/plugins/FPSLocker/patches/01003E601E324000/A6BD61CFB142E663.yaml new file mode 100644 index 0000000..9995b7f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003E601E324000/A6BD61CFB142E663.yaml @@ -0,0 +1,25 @@ +# DRAGON QUEST III HD-2D Remake 1.1.2 +# BID: A6BD61CFB142E663 + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x5AB93E8, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x62A5E28, 0] + value_type: float + value: [FRAMETIME_TARGET, FRAMETIME_TARGET] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x62D3B68, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010044D015F4A000/37C3FAEFC9A4C374.yaml b/SaltySD/plugins/FPSLocker/patches/010044D015F4A000/37C3FAEFC9A4C374.yaml new file mode 100644 index 0000000..f0ddfef --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010044D015F4A000/37C3FAEFC9A4C374.yaml @@ -0,0 +1,56 @@ +# 英雄傳說 閃之軌跡III 1.0.0 +# BID: 37C3FAEFC9A4C374 +# Button polling is 2x more sensitive to holding any button at 60 FPS +# Fishing timer is decreasing 2x faster at 60 FPS +# Bike is turning 2x faster at 60 FPS + +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "FRAMETIME_TARGET * 930000" + - + type: variable + name: frame_time + value_type: float + default_value: 0.0333333333 + - + type: code + name: dynamicSpeed + instructions: [ + [str, d0, [x8, 0x20]], + [fcvt, s4, d0], + [adrp, x8, $frame_time], + [str, s4, [x8, $frame_time]], + [ret] + ] +MASTER_WRITE: + # Move loading FPS lock time + ## REF: MOV with 0x1FCA055 + - + type: asm_a64 + main_offset: 0x4FEC28 + instructions: [ + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]] + ] + # Write game's loop time as float + ## Ref: Replace STR D0, [X8,#0x20] below + - + type: asm_a64 + main_offset: 0x4FEC94 + instructions: [ + [bl, _dynamicSpeed()] + ] + # Read lowest timing float factor + ## REF: 20 20 22 1E EA 03 00 32, replace ADRP + FMINM + LDR + - + type: asm_a64 + main_offset: 0x5E4AC + instructions: [ + [adrp, x8, $frame_time], + [fminnm, s1, s1, s2], + [ldr, s2, [x8, $frame_time]] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml index 0757116..e0bd2e8 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100453019AA8000/2A720C7CE5C84905.yaml @@ -1,8 +1,6 @@ # Xenoblade Chronicles X: Definitive Edition 1.0.2 # BID: 2A720C7CE5C84905 -unsafeCheck: true - DECLARATIONS: - type: variable @@ -349,3 +347,4 @@ ALL_FPS: compare_value: 2 value_type: refresh_rate value: 30 + diff --git a/SaltySD/plugins/FPSLocker/patches/01004D20219E0000/6DE3725465A43249.yaml b/SaltySD/plugins/FPSLocker/patches/01004D20219E0000/6DE3725465A43249.yaml new file mode 100644 index 0000000..8887b7e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004D20219E0000/6DE3725465A43249.yaml @@ -0,0 +1,43 @@ +# 空の軌跡 the 1st 1.0.4 +# BID: 6DE3725465A43249 + +DECLARATIONS: + # Lock Max Handheld Resolution to 720p instead of 900p + - + type: code + name: adjustDrResToNativeInHH + instructions: [ + [cmp, w9, 1280], + [b.le, :goto1], + [adrp, x21, 0x65E000], + [ldr, w21, [x21, 0x820]], ## REF: nn::oe::GetOperationMode in nnMain + [cbnz, w21, :goto1], + [mov, w9, 1280], + [mov, w8, 720], + :goto1, [stp, w9, w8, [x19, 0x10]], + [ret] + ] +MASTER_WRITE: + ## REF: 69 22 02 29 + - + type: asm_a64 + main_offset: 0x237E54 + instructions: [ + [bl, _adjustDrResToNativeInHH()] + ] +ALL_FPS: + # Min Delta + ## REF: 88 01 80 52 C1 03 80 52 28 4D 28 9B 29 00 80 52, first ADRP + ADD below it + - + type: evaluate_write + address: [MAIN, 0x65E850, 0x2C] + value_type: uint32 + value: FPS_TARGET + # Dynamic Resolution + ## REF: First function in .init_array section, ADRP + ADD + 0x220 (default float: 2) + ## Adding there 0.95 by myself because game seems to have issues with reaching 60 FPS with 1.0 + - + type: write + address: [MAIN, 0x65E368] + value_type: float + value: 0.95 diff --git a/SaltySD/plugins/FPSLocker/patches/01004FF021942000/5D738626CE19A40F.yaml b/SaltySD/plugins/FPSLocker/patches/01004FF021942000/5D738626CE19A40F.yaml new file mode 100644 index 0000000..7455fe9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004FF021942000/5D738626CE19A40F.yaml @@ -0,0 +1,10 @@ +# EA SPORTS FC 26 1.80.11a0 +# BID: 5D738626CE19A40F + +ALL_FPS: + # Internal FPS Lock + - + type: evaluate_write + address: [MAIN, 0xC5CC448, 8] + value_type: double + value: FPS_TARGET \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml index 6a68d02..94a19ca 100644 --- a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/BC99D4D0A9474360.yaml @@ -32,3 +32,6 @@ ALL_FPS: address: [MAIN, 0x8DD7418, 0] value_type: int32 value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010054A020574000/EF85880A244D33EC.yaml b/SaltySD/plugins/FPSLocker/patches/010054A020574000/EF85880A244D33EC.yaml new file mode 100644 index 0000000..738b856 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010054A020574000/EF85880A244D33EC.yaml @@ -0,0 +1,30 @@ +# 優米雅的鍊金工房 ~追憶之鍊金術士與幻創之地~ 1.4.2 +# BID: EF85880A244D33EC + +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 0.035714 + evaluate: "1.01 / FPS_TARGET" +MASTER_WRITE: + # Redirect DR + # REF: A9 24 89 52 49 A2 A7 72, second REF + - + type: asm_a64 + main_offset: 0x10EC6A4 + instructions: [ + [adrp, x9, $dr_target], + [ldr, s1, [x9, $dr_target]], + [nop] + ] +ALL_FPS: + # Disable FPS Lock + # REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it + - + type: write + address: [MAIN, 0x2FC3CB0, 0xE0, 0x294] + address_unsafe: true + value_type: uint8 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010058600E530000/BD5F1ED30FDBA245.yaml b/SaltySD/plugins/FPSLocker/patches/010058600E530000/BD5F1ED30FDBA245.yaml new file mode 100644 index 0000000..8c51962 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010058600E530000/BD5F1ED30FDBA245.yaml @@ -0,0 +1,36 @@ +# Empire of Sin 1.10.0 +# BID: BD5F1ED30FDBA245 + +DECLARATIONS: + - + type: variable + name: dr_target_min + value_type: double + default_value: 28.5714282989502 + evaluate: "999.9996 / (FPS_TARGET + 5)" + - + type: variable + name: dr_target_max + value_type: double + default_value: 33.33333206176758 + evaluate: "0.9999996 * FRAMETIME_TARGET" +MASTER_WRITE: + # REF: RomeroGames.DynamicResolutionService::UpdateService() + - + type: asm_a64 + main_offset: 0x17B8A3C + instructions: [ + [nop], + [nop], + [adrp, x9, $dr_target_max], + [ldr, d0, [x9, $dr_target_max]] + ] + - + type: asm_a64 + main_offset: 0x17B8C00 + instructions: [ + [nop], + [nop], + [adrp, x8, $dr_target_min], + [ldr, d1, [x8, $dr_target_min]] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010058F01DF8C000/1670D126B5E8EE66.yaml b/SaltySD/plugins/FPSLocker/patches/010058F01DF8C000/1670D126B5E8EE66.yaml new file mode 100644 index 0000000..4ba0eb3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010058F01DF8C000/1670D126B5E8EE66.yaml @@ -0,0 +1,25 @@ +# Funko Fusion 3.3.0 +# BID: 1670D126B5E8EE66 + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x7C58A68, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: evaluate_write + address: [MAIN, 0x8C34078, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8C61F60, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/2D22A87AE49C75AA.yaml b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/2D22A87AE49C75AA.yaml new file mode 100644 index 0000000..0e83a94 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005AE0209A8000/2D22A87AE49C75AA.yaml @@ -0,0 +1,75 @@ +# WARRIORS: Abyss 1.4.2 +# BID: 2D22A87AE49C75AA + +DECLARATIONS: + - + type: variable + name: dr_target1 + value_type: float + default_value: 50 + evaluate: "1.5 * FRAMETIME_TARGET" + - + type: variable + name: dr_target2 + value_type: float + default_value: 40 + evaluate: "1.2 * FRAMETIME_TARGET" +MASTER_WRITE: + # REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E + # Use FPS Target instead of vsync value for Dynamic Resolution max delta + - + type: asm_a64 + main_offset: 0x6E3B50 + instructions: [ + [adrp, x1, 0x1021000], + [ldr, s1, [x1, 0xe10]] + ] + # Redirect DR Targets + - + type: asm_a64 + main_offset: 0x6E3BF4 + instructions: [ + [adrp, x9, $dr_target1], + [ldr, s1, [x9, $dr_target1]] + ] + - + type: asm_a64 + main_offset: 0x6E3C04 + instructions: [ + [adrp, x9, $dr_target2], + [ldr, s1, [x9, $dr_target2]] + ] +ALL_FPS: + # REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00 + # FPS Lock + - + type: evaluate_write + address: [MAIN, 0x1021E1C] + value_type: uint32 + value: "120 / FPS_LOCK_TARGET" + # Prevent from setting it as 0, otherwise game crashes + - + type: evaluate_compare + compare_address: [MAIN, 0x1021E1C] + compare_type: "==" + compare_value_type: uint32 + compare_value: 0 + address: [MAIN, 0x1021E1C] + value_type: uint32 + value: 1 + # Others + - + type: evaluate_write + address: [MAIN, 0x1021E10] + value_type: float + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0x1021E14] + value_type: uint32 + value: "FPS_TARGET" + - + type: evaluate_write + address: [MAIN, 0x1021E18] + value_type: float + value: "FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010064C01A9BA000/FB852EECDE7A745D.yaml b/SaltySD/plugins/FPSLocker/patches/010064C01A9BA000/FB852EECDE7A745D.yaml new file mode 100644 index 0000000..fecfb69 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010064C01A9BA000/FB852EECDE7A745D.yaml @@ -0,0 +1,10 @@ +# Tamagotchi Plaza 1.0.5 +# BID: FB852EECDE7A745D + +ALL_FPS: + # UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x68B7188, 0xB8, 0] + value_type: int32 + value: -1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100690020FBE000/CC93EA5C0A2F96FE.yaml b/SaltySD/plugins/FPSLocker/patches/0100690020FBE000/CC93EA5C0A2F96FE.yaml new file mode 100644 index 0000000..6607e0b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100690020FBE000/CC93EA5C0A2F96FE.yaml @@ -0,0 +1,25 @@ +# Formula Legends 1.0.3 +# BID: CC93EA5C0A2F96FE + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x73ACEE8, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x8390F68, 0] + value_type: float + value: [FRAMETIME_TARGET, FRAMETIME_TARGET] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x83CC780, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010069C01AB82000/0A4F14A5C12F470A.yaml b/SaltySD/plugins/FPSLocker/patches/010069C01AB82000/0A4F14A5C12F470A.yaml index 2f62cbd..f426f09 100644 --- a/SaltySD/plugins/FPSLocker/patches/010069C01AB82000/0A4F14A5C12F470A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010069C01AB82000/0A4F14A5C12F470A.yaml @@ -1,8 +1,6 @@ # SHIN MEGAMI TENSEI V: Vengeance 1.0.3 US/EUR # BID: 0A4F14A5C12F470A -unsafeCheck: true - MASTER_WRITE: # Block from reapplying t.MaxFPS by game, REF: 01 E4 00 2F 00 AC 21 1E 08 00 40 F9 08 75 41 F9, nop BLR X8 after LDR X8, [X8,#0x2E8] - @@ -30,3 +28,6 @@ ALL_FPS: address: [MAIN, 0x7AD5858, 0] value_type: float value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01006AC01F630000/FFF55266A618D06A.yaml b/SaltySD/plugins/FPSLocker/patches/01006AC01F630000/FFF55266A618D06A.yaml index 9480e63..e20b0c1 100644 --- a/SaltySD/plugins/FPSLocker/patches/01006AC01F630000/FFF55266A618D06A.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01006AC01F630000/FFF55266A618D06A.yaml @@ -1,8 +1,6 @@ # Sword of the Necromancer: Resurrection 1.0.5 # BID: FFF55266A618D06A -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget - @@ -21,4 +19,7 @@ ALL_FPS: type: write address: [MAIN, 0x6DE8CB8, 0] value_type: int32 - value: [0, 0] \ No newline at end of file + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100711022E24000/BCEB97447A39F9FE.yaml b/SaltySD/plugins/FPSLocker/patches/0100711022E24000/BCEB97447A39F9FE.yaml new file mode 100644 index 0000000..065bb1f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100711022E24000/BCEB97447A39F9FE.yaml @@ -0,0 +1,25 @@ +# Lynked: Banner of the Spark 1.2.0 +# BID: BCEB97447A39F9FE + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7EA5348, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x7ED3028, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x76D62F8, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100781020710000/48D35EF3C7EFBF5F.yaml b/SaltySD/plugins/FPSLocker/patches/0100781020710000/48D35EF3C7EFBF5F.yaml new file mode 100644 index 0000000..0984551 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100781020710000/48D35EF3C7EFBF5F.yaml @@ -0,0 +1,10 @@ +# NINJA GAIDEN: Ragebound 1.0.4 +# BID: 48D35EF3C7EFBF5F + +ALL_FPS: + # UnityEngine.Time::fixedDeltaTime + - + type: evaluate_write + address: [MAIN, 0x61216C0, 0x48] + value_type: float + value: "1 / FPS_TARGET" \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010078C01769A000/7BA282E94D34C620.yaml b/SaltySD/plugins/FPSLocker/patches/010078C01769A000/7BA282E94D34C620.yaml index dd63d8b..b473835 100644 --- a/SaltySD/plugins/FPSLocker/patches/010078C01769A000/7BA282E94D34C620.yaml +++ b/SaltySD/plugins/FPSLocker/patches/010078C01769A000/7BA282E94D34C620.yaml @@ -1,8 +1,6 @@ # Kao the Kangaroo US 1.5 # BID: 7BA282E94D34C620 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal - @@ -22,3 +20,6 @@ ALL_FPS: address: [MAIN, 0x696CDD8, 0] value_type: int32 value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01007BE01FCC2000/BDDD7E8FA07C8C75.yaml b/SaltySD/plugins/FPSLocker/patches/01007BE01FCC2000/BDDD7E8FA07C8C75.yaml index 078c862..5ac7beb 100644 --- a/SaltySD/plugins/FPSLocker/patches/01007BE01FCC2000/BDDD7E8FA07C8C75.yaml +++ b/SaltySD/plugins/FPSLocker/patches/01007BE01FCC2000/BDDD7E8FA07C8C75.yaml @@ -1,8 +1,6 @@ # Achilles Legends Untold 1.0.1/1.0.2 # BID: BDDD7E8FA07C8C75 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget - @@ -21,5 +19,7 @@ ALL_FPS: type: write address: [MAIN, 0x6199738, 0] value_type: int32 - value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100853015E86000/4995675B5380FA50.yaml b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/4995675B5380FA50.yaml new file mode 100644 index 0000000..63dbcfd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/4995675B5380FA50.yaml @@ -0,0 +1,21 @@ +# No Man's Sky 6.0.0 +# BID: 4995675B5380FA50 + +DECLARATIONS: + - + type: variable + name: dr_target + value_type: float + default_value: 30 + evaluate: FPS_TARGET +MASTER_WRITE: + # Redirect DR frametime target + # REF: 08 4E A8 52 00 01 27 1E 48 8F A8 52, ADRP + ADD + LDR above that + - + type: asm_a64 + main_offset: 0x1F9BC40 + instructions: [ + [adrp, x9, $dr_target], + [ldr, s0, [x9, $dr_target]], + [nop] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010093C01F256000/CABB3B5447C2F79F.yaml b/SaltySD/plugins/FPSLocker/patches/010093C01F256000/CABB3B5447C2F79F.yaml new file mode 100644 index 0000000..bde3ba2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010093C01F256000/CABB3B5447C2F79F.yaml @@ -0,0 +1,25 @@ +# MOBILE SUIT GUNDAM SEED BATTLE DESTINY REMASTERED 1.0.1 +# BID: CABB3B5447C2F79F + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x6CA8608, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x6CD62D8, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x64D97E8, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml b/SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml index abd1d0a..33e48c1 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml @@ -1,8 +1,6 @@ # Kao the Kangaroo EU 1.5 # BID: F9C83728910E28A4 -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal - @@ -22,3 +20,6 @@ ALL_FPS: address: [MAIN, 0x696CDD8, 0] value_type: int32 value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010095D012E5E000/929D9160BA57A570.yaml b/SaltySD/plugins/FPSLocker/patches/010095D012E5E000/929D9160BA57A570.yaml new file mode 100644 index 0000000..7536c4a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010095D012E5E000/929D9160BA57A570.yaml @@ -0,0 +1,23 @@ +# DYNASTY WARRIORS 9 Empires 1.0.1 +# BID: 929D9160BA57A570 + +ALL_FPS: + ## REF: 02 00 00 00 3C 00 00 00 + - + type: evaluate_write + address: [MAIN, 0x2110728] + value_type: int32 + value: [VSYNC_TARGET, FPS_TARGET] + - + type: evaluate_write + address: [MAIN, 0x2110730] + value_type: float + value: FPS_TARGET + - + type: evaluate_write + address: [MAIN, 0x34DE954] + value_type: float + value: "1 / FPS_TARGET" + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010098A02288A000/7E610F688F92412B.yaml b/SaltySD/plugins/FPSLocker/patches/010098A02288A000/7E610F688F92412B.yaml new file mode 100644 index 0000000..1cb2248 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010098A02288A000/7E610F688F92412B.yaml @@ -0,0 +1,25 @@ +# Out of Sight 1.0.3 +# BID: 7E610F688F92412B + +ALL_FPS: + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x7995058, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x79D1700, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x7E26190, 0] + value_type: uint32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A88012504000/BCAA04FAF88EEA4A.yaml b/SaltySD/plugins/FPSLocker/patches/0100A88012504000/BCAA04FAF88EEA4A.yaml new file mode 100644 index 0000000..7296d6d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A88012504000/BCAA04FAF88EEA4A.yaml @@ -0,0 +1,10 @@ +# art of rally 1.1.9 +# BID: BCAA04FAF88EEA4A + +ALL_FPS: + # DynamicResolutionManager_TypeInfo + - + type: evaluate_write + address: [MAIN, 0x63C5AA8, 0xB8, 4] + value_type: float + value: FPS_TARGET diff --git a/SaltySD/plugins/FPSLocker/patches/0100CF5010FEC000/A1CE2940D813ACAB.yaml b/SaltySD/plugins/FPSLocker/patches/0100CF5010FEC000/A1CE2940D813ACAB.yaml new file mode 100644 index 0000000..5dad435 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CF5010FEC000/A1CE2940D813ACAB.yaml @@ -0,0 +1,45 @@ +# Bayonetta Origins: Cereza and the Lost Demon 1.0.0 +# BID: A1CE2940D813ACAB +# By blocking writing bit 0x17 and bits 0x1C (some single instructions have both 0x1B and 0x1C) we are forcing game to run at dynamic speed +# Some parts of game may use code I didn't find that write those bits, then I need to update this config +# Game has somewhere hardcoded min delta to be 60 FPS, so settings FPS Target above 60 speeds up the game + +MASTER_WRITE: + ## REF: 08 00 AA 52 1F 01 34 6A - MOV & BICS + - + type: asm_a64 + main_offset: 0xFF9EBC + instructions: [ + [nop], + [nop] + ] + ## REF: 08 00 AA 52 1F 01 34 6A - ORR & STR + - + type: asm_a64 + main_offset: 0xFF9EC8 + instructions: [ + [nop], + [nop] + ] + ## REF: You need to find address that STR above writes to, look at its XREFS for write, find references to nnMain and search for "ORR W8, W8, #0x800000", nop ORR and STR + - + type: asm_a64 + main_offset: 0xFF87F4 + instructions: [ + [nop], + [nop] + ] + ## REF: 2A 01 04 32 29 79 03 12 + - + type: asm_a64 + main_offset: 0x141017C + instructions: [ + [mov, w10, w9] + ] + # Force default interval to 2 + - + type: asm_a64 + main_offset: 0xFFB01C + instructions: [ + [mov, w1, 2] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D1202322A000/89E4C9599C96D7DE.yaml b/SaltySD/plugins/FPSLocker/patches/0100D1202322A000/89E4C9599C96D7DE.yaml new file mode 100644 index 0000000..cbb7d51 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D1202322A000/89E4C9599C96D7DE.yaml @@ -0,0 +1,25 @@ +# Mandragora: Whispers of the Witch Tree EUR 1.5.3.135819 +# BID: 89E4C9599C96D7DE + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x7CA62C8, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x84723A8, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x8497A90, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D1202322A000/E04F5D58727DDE13.yaml b/SaltySD/plugins/FPSLocker/patches/0100D1202322A000/E04F5D58727DDE13.yaml new file mode 100644 index 0000000..e3f0f77 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D1202322A000/E04F5D58727DDE13.yaml @@ -0,0 +1,25 @@ +# Mandragora: Whispers of the Witch Tree EUR 1.5.4.135908 +# BID: E04F5D58727DDE13 + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x5D56250, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x6522698, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x6547F28, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml b/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml index 9f52539..fbb1b04 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100D5801E904000/89349071D2B0BFF7.yaml @@ -13,4 +13,7 @@ ALL_FPS: type: evaluate_write address: [MAIN, 0x7A84920, 0] value_type: float - value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] \ No newline at end of file + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100E57010542000/3FB33205C25D3436.yaml b/SaltySD/plugins/FPSLocker/patches/0100E57010542000/3FB33205C25D3436.yaml new file mode 100644 index 0000000..cdc59db --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E57010542000/3FB33205C25D3436.yaml @@ -0,0 +1,56 @@ +# 英雄伝説 閃の軌跡Ⅲ 1.0.0 +# BID: 3FB33205C25D3436 +# Button polling is 2x more sensitive to holding any button at 60 FPS +# Fishing timer is decreasing 2x faster at 60 FPS +# Bike is turning 2x faster at 60 FPS + +DECLARATIONS: + - + type: variable + name: fps_lock + value_type: uint32 + default_value: 33333333 + evaluate: "FRAMETIME_TARGET * 930000" + - + type: variable + name: frame_time + value_type: float + default_value: 0.0333333333 + - + type: code + name: dynamicSpeed + instructions: [ + [str, d0, [x8, 0x20]], + [fcvt, s4, d0], + [adrp, x8, $frame_time], + [str, s4, [x8, $frame_time]], + [ret] + ] +MASTER_WRITE: + # Move loading FPS lock time + ## REF: MOV with 0x1FCA055 + - + type: asm_a64 + main_offset: 0x4FF478 + instructions: [ + [adrp, x9, $fps_lock], + [ldr, w9, [x9, $fps_lock]] + ] + # Write game's loop time as float + ## Ref: Replace STR D0, [X8,#0x20] below + - + type: asm_a64 + main_offset: 0x4FF4E4 + instructions: [ + [bl, _dynamicSpeed()] + ] + # Read lowest timing float factor + ## REF: 20 20 22 1E EA 03 00 32, replace ADRP + FMINM + LDR + - + type: asm_a64 + main_offset: 0x5E2BC + instructions: [ + [adrp, x8, $frame_time], + [fminnm, s1, s1, s2], + [ldr, s2, [x8, $frame_time]] + ] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100EF401D9B2000/35FAA72E03DDE0D1.yaml b/SaltySD/plugins/FPSLocker/patches/0100EF401D9B2000/35FAA72E03DDE0D1.yaml new file mode 100644 index 0000000..90a4a33 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100EF401D9B2000/35FAA72E03DDE0D1.yaml @@ -0,0 +1,19 @@ +# HYKE:Northern Light(s) 1.0.0 +# BID: 35FAA72E03DDE0D1 + +ALL_FPS: + # r.VSync + - + type: write + address: [MAIN, 0x84FD958, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x94F5260, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100F2300D4BA000/DB17131624D04A9C.yaml b/SaltySD/plugins/FPSLocker/patches/0100F2300D4BA000/DB17131624D04A9C.yaml index b8017fe..73fabf1 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F2300D4BA000/DB17131624D04A9C.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F2300D4BA000/DB17131624D04A9C.yaml @@ -1,8 +1,6 @@ # Darksiders: Genesis 1.0.3 # BID: DB17131624D04A9C -unsafeCheck: true - ALL_FPS: # r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal - @@ -22,3 +20,6 @@ ALL_FPS: address: [MAIN, 0x51A7A78, 0] value_type: int32 value: [0, 0] + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml index 96107b3..12ee918 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F2C0115B6000/5CB42B1CF25469FB.yaml @@ -21,7 +21,7 @@ DECLARATIONS: name: dr_factor value_type: float default_value: 0.001 - evaluate: 0.001 * (FPS_TARGET / 30) + evaluate: "FPS_TARGET / 30000" - type: const name: nanoseconds_in_s @@ -35,7 +35,7 @@ DECLARATIONS: [mov, w2, 1], [adrp, x3, $cutscene_flag], [strb, w2, [x3, $cutscene_flag]], - [bl, 0x5f888], #Jump to original BL + [bl, 0x5f888], # Jump to original BL [ldp, x29, x30, [sp], 16], [ret] ] @@ -64,6 +64,13 @@ DECLARATIONS: [ret] ] MASTER_WRITE: + # Force default 30 FPS Lock + - + type: asm_a64 + main_offset: 0x104E9D8 + instructions: [ + [mov, w1, 2] + ] # Remove double buffer ## REF: A0 2A 40 F9 61 A2 40 39 - @@ -87,8 +94,8 @@ MASTER_WRITE: [bl, _convertTickToTimeSpan()], [mov, w2, $nanoseconds_in_s], [movk, w2, $nanoseconds_in_s, 16], - [scvtf, s2, w2], - [scvtf, s1, x0], + [ucvtf, s2, w2], + [ucvtf, s1, x0], [fdiv, s1, s2, s1], [fcmp, s1, s9], [fcsel, s1, s9, s1, gt], @@ -131,7 +138,7 @@ MASTER_WRITE: instructions: [ [nop] ] - # When prerendered cutscene is active write flag to cutscene_flag + # When prerendered cutscene is active write flag ## REF: 68 52 40 79 08 01 19 32 68 52 00 79 ## BL to Code Cave 1 - @@ -148,7 +155,7 @@ MASTER_WRITE: instructions: [ [b, _cutscene_2()] ] - # Adjust DR timing to factor from dr_factor + # Adjust DR timing to factor # REF: 88 02 15 CB 00 01 23 9E - type: asm_a64 diff --git a/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml b/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml index f143741..d58f0cb 100644 --- a/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml +++ b/SaltySD/plugins/FPSLocker/patches/0100F3400332C000/E3938FA78579C1CA.yaml @@ -36,7 +36,7 @@ DECLARATIONS: value: 1000000 - type: const - name: milliseconds_in_sec + name: nano_in_micro value: 1000 - type: code @@ -52,8 +52,8 @@ DECLARATIONS: [sub, x0, x0, x1], [bl, _convertTickToTimeSpan()], [adrp, x1, $max_delta], - [ldr, s2, [x1, $max_delta], - [mov, w1, $milliseconds_in_sec], + [ldr, s2, [x1, $max_delta]], + [mov, w1, $nano_in_micro], [udiv, x0, x0, x1], [ucvtf, s0, x0], [mov, w1, $microseconds_in_sec], @@ -92,14 +92,14 @@ DECLARATIONS: MASTER_WRITE: # Dynamic speed - # Jump before pushing frame to the end of .plt, which is 0x8B3448 (backup: MOV W8, #0x21A0) + # Jump before pushing frame - type: asm_a64 main_offset: 0x700050 instructions: [ [bl, _dynamicSpeed()] ] - # Patch wind speed to take game speed from MAIN + 0x15ECF08 + # Patch wind speed to take game speed - type: asm_a64 main_offset: 0x747CC4 @@ -107,7 +107,7 @@ MASTER_WRITE: [adrp, x8, $game_speed], [ldr, s6, [x8, $game_speed]] ] - # Redirect DR timing to MAIN + 0x15ECF18 + # Redirect DR timing - type: asm_a64 main_offset: 0x6AA038 diff --git a/SaltySD/plugins/FPSLocker/patches/0100FD70134FA000/4246AC9E465556D6.yaml b/SaltySD/plugins/FPSLocker/patches/0100FD70134FA000/4246AC9E465556D6.yaml new file mode 100644 index 0000000..9423d97 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100FD70134FA000/4246AC9E465556D6.yaml @@ -0,0 +1,37 @@ +# 드래곤볼 Z 카카로트 + 새로운 각성 편 1.60 +# BID: 4246AC9E465556D6 + +ALL_FPS: + # Disable bUseFixedFrameRate in cutscenes to unlock framerate + - + type: write + address: [MAIN, 0x996A558, 0x810] + address_unsafe: true + value_type: uint32 + # Default is 0x47 in cutscenes, bUseFixedFrameRate |= 0x40 + # By writing 7 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + # bCanBlueprintsTickByDefault |= 1 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: evaluate_write + address: [MAIN, 0x9935498, 0] + value_type: float + value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"] + # t.MaxFPS + - + type: evaluate_write + address: [MAIN, 0x996AE08, 0] + value_type: float + value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET] + # r.VSync + - + type: write + address: [MAIN, 0x8DD7418, 0] + value_type: int32 + value: [0, 0] + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/saltysd_core.elf b/SaltySD/saltysd_core.elf index d0df4f0..32a61ea 100644 Binary files a/SaltySD/saltysd_core.elf and b/SaltySD/saltysd_core.elf differ diff --git a/SaltySD/saltysd_core32.elf b/SaltySD/saltysd_core32.elf index 479943b..a22d49f 100644 Binary files a/SaltySD/saltysd_core32.elf and b/SaltySD/saltysd_core32.elf differ diff --git a/atmosphere/contents/0000000000534C56/exefs.nsp b/atmosphere/contents/0000000000534C56/exefs.nsp index 21b9f11..c5654f3 100644 Binary files a/atmosphere/contents/0000000000534C56/exefs.nsp and b/atmosphere/contents/0000000000534C56/exefs.nsp differ diff --git a/atmosphere/exefs_patches/SaltyNX_Fixes/053ABE9494B5397AE818B3721DE50995.ips b/atmosphere/exefs_patches/SaltyNX_Fixes/053ABE9494B5397AE818B3721DE50995.ips new file mode 100644 index 0000000..9d3bba0 Binary files /dev/null and b/atmosphere/exefs_patches/SaltyNX_Fixes/053ABE9494B5397AE818B3721DE50995.ips differ diff --git a/atmosphere/exefs_patches/SaltyNX_Fixes/10C14AD346AE02E32AA52A9030A3A87B98D89642000000000000000000000000.ips b/atmosphere/exefs_patches/SaltyNX_Fixes/10C14AD346AE02E32AA52A9030A3A87B98D89642000000000000000000000000.ips new file mode 100644 index 0000000..050f115 Binary files /dev/null and b/atmosphere/exefs_patches/SaltyNX_Fixes/10C14AD346AE02E32AA52A9030A3A87B98D89642000000000000000000000000.ips differ diff --git a/atmosphere/exefs_patches/SaltyNX_Fixes/66A8EB853DE90A1AF13D19DA575E339B.ips b/atmosphere/exefs_patches/SaltyNX_Fixes/66A8EB853DE90A1AF13D19DA575E339B.ips new file mode 100644 index 0000000..d9b45ef Binary files /dev/null and b/atmosphere/exefs_patches/SaltyNX_Fixes/66A8EB853DE90A1AF13D19DA575E339B.ips differ diff --git a/atmosphere/exefs_patches/SaltyNX_Fixes/C4D1BCED9D8C5B813295345B7F9FDF97.ips b/atmosphere/exefs_patches/SaltyNX_Fixes/C4D1BCED9D8C5B813295345B7F9FDF97.ips new file mode 100644 index 0000000..3e150a2 Binary files /dev/null and b/atmosphere/exefs_patches/SaltyNX_Fixes/C4D1BCED9D8C5B813295345B7F9FDF97.ips differ diff --git a/atmosphere/exefs_patches/SaltyNX_Fixes/ECF4B91AF1B669ECD92829F25E4B530EE48985FA000000000000000000000000.ips b/atmosphere/exefs_patches/SaltyNX_Fixes/ECF4B91AF1B669ECD92829F25E4B530EE48985FA000000000000000000000000.ips new file mode 100644 index 0000000..c782abd Binary files /dev/null and b/atmosphere/exefs_patches/SaltyNX_Fixes/ECF4B91AF1B669ECD92829F25E4B530EE48985FA000000000000000000000000.ips differ diff --git a/atmosphere/exefs_patches/SaltyNX_Fixes/IDs.txt b/atmosphere/exefs_patches/SaltyNX_Fixes/IDs.txt new file mode 100644 index 0000000..2b546d4 --- /dev/null +++ b/atmosphere/exefs_patches/SaltyNX_Fixes/IDs.txt @@ -0,0 +1,5 @@ +10C14AD346AE02E32AA52A9030A3A87B98D89642000000000000000000000000.ips - Stubbs the Zombie in Rebel Without a Pulse 1.0.3, TID: 0100964012528000 +ECF4B91AF1B669ECD92829F25E4B530EE48985FA000000000000000000000000.ips - Stubbs the Zombie in Rebel Without a Pulse 1.0.0, TID: 0100964012528000 +053ABE9494B5397AE818B3721DE50995.ips - Olympic Games Tokyo 2020 EUR/AUS 1.0.0, TID: 010034B00E14C000 +C4D1BCED9D8C5B813295345B7F9FDF97.ips - Olympic Games Tokyo 2020 EUR/AUS 1.0.2, TID: 010034B00E14C000 +66A8EB853DE90A1AF13D19DA575E339B.ips - Olympic Games Tokyo 2020 Asia 1.0.9, TID: 01004CE00AAE2000 diff --git a/atmosphere/package3 b/atmosphere/package3 index cd197a4..a83f591 100644 Binary files a/atmosphere/package3 and b/atmosphere/package3 differ diff --git a/atmosphere/stratosphere.romfs b/atmosphere/stratosphere.romfs index c60eb97..2bf42ed 100644 Binary files a/atmosphere/stratosphere.romfs and b/atmosphere/stratosphere.romfs differ diff --git a/config/sys-clk/lang/de.json b/config/sys-clk/lang/de.json index bcc4d45..aef6fb0 100644 --- a/config/sys-clk/lang/de.json +++ b/config/sys-clk/lang/de.json @@ -1,28 +1,35 @@ { - "Edit App Profile": "App-Profil bearbeiten", + "Edit App Profile": "App Profil bearbeiten", "Advanced": "Erweitert", "Edit Global Profile": "Globales Profil bearbeiten", "Temporary Overrides": "Temporäre Überschreibungen", + "Temporary Overrides   Reset": "Temporäre Überschreibungen   Reset", "Settings": "Einstellungen", "Enable": "Aktivieren", "Uncapped Clocks": "Unbegrenzte Taktraten", - "Override Boost Mode": "Boost-Modus überschreiben", - "Auto CPU Boost": "Automatischer CPU-Boost", + "Override Boost Mode": "Boost Modus überschreiben", + "Auto CPU Boost": "Auto CPU Boost", "Sync ReverseNX": "ReverseNX synchronisieren", - "GPU DVFS": "GPU-DVFS", + "Auto GPU Vmin": "Auto GPU Vmin", "Off": "Aus", - "Official Service Method": "Offizielle Servicemethode", - "Hijack Method": "Hijack-Methode", - "App ID": "App-ID", - "EOS mode": "EOS-Modus", - "Skin": "Look", + "Official Service": "Offizieller Dienst", + "Hijack": "Hijack", + "GPU Vmin Offset": "GPU Vmin Offset", + "App ID": "App ID", + "EOS mode": "EOS Modus", + "Skin": "Skin", "Now": "Jetzt", "Avg": "Ø", "Docked": "Gedockt", "Handheld": "Handheld", "Charging": "Lädt", "Official Charger": "Offizielles Ladegerät", - "USB Charger": "USB-Ladegerät", + "USB Charger": "USB Ladegerät", + "Docked   Reset": "Gedockt   Reset", + "Handheld   Reset": "Handheld   Reset", + "Charging   Reset": "Lädt   Reset", + "Official Charger   Reset": "Offizielles Ladegerät   Reset", + "USB Charger   Reset": "USB Ladegerät   Reset", "Memory": "Speicher", "Do not override": "Nicht überschreiben", "Profile": "Profil" diff --git a/config/sys-clk/lang/en.json b/config/sys-clk/lang/en.json index baa348c..b4c73ed 100644 --- a/config/sys-clk/lang/en.json +++ b/config/sys-clk/lang/en.json @@ -3,16 +3,18 @@ "Advanced": "Advanced", "Edit Global Profile": "Edit Global Profile", "Temporary Overrides": "Temporary Overrides", + "Temporary Overrides   Reset": "Temporary Overrides   Reset", "Settings": "Settings", "Enable": "Enable", "Uncapped Clocks": "Uncapped Clocks", "Override Boost Mode": "Override Boost Mode", "Auto CPU Boost": "Auto CPU Boost", "Sync ReverseNX": "Sync ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Auto GPU Vmin", "Off": "Off", - "Official Service Method": "Official Service Method", - "Hijack Method": "Hijack Method", + "Official Service": "Official Service", + "Hijack": "Hijack", + "GPU Vmin Offset": "GPU Vmin Offset", "App ID": "App ID", "EOS mode": "EOS mode", "Skin": "Skin", @@ -23,6 +25,11 @@ "Charging": "Charging", "Official Charger": "Official Charger", "USB Charger": "USB Charger", + "Docked   Reset": "Docked   Reset", + "Handheld   Reset": "Handheld   Reset", + "Charging   Reset": "Charging   Reset", + "Official Charger   Reset": "Official Charger   Reset", + "USB Charger   Reset": "USB Charger   Reset", "Memory": "Memory", "Do not override": "Do not overrride", "Profile": "Profile" diff --git a/config/sys-clk/lang/es.json b/config/sys-clk/lang/es.json index cfc32d4..028fe72 100644 --- a/config/sys-clk/lang/es.json +++ b/config/sys-clk/lang/es.json @@ -3,17 +3,19 @@ "Advanced": "Avanzado", "Edit Global Profile": "Editar perfil global", "Temporary Overrides": "Anulaciones temporales", + "Temporary Overrides   Reset": "Anulaciones temporales   Reiniciar", "Settings": "Configuración", "Enable": "Habilitar", "Uncapped Clocks": "Relojes sin límite", "Override Boost Mode": "Sobrescribir modo Boost", - "Auto CPU Boost": "Impulso automático de CPU", + "Auto CPU Boost": "Auto CPU Boost", "Sync ReverseNX": "Sincronizar con ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Auto GPU Vmin", "Off": "Apagado", - "Official Service Method": "Método de servicio oficial", - "Hijack Method": "Método de secuestro", - "App ID": "ID App", + "Official Service": "Servicio oficial", + "Hijack": "Hijack", + "GPU Vmin Offset": "Offset Vmin GPU", + "App ID": "ID de la app", "EOS mode": "Modo EOS", "Skin": "Tema", "Now": "Ahora", @@ -23,6 +25,11 @@ "Charging": "Cargando", "Official Charger": "Cargador oficial", "USB Charger": "Cargador USB", + "Docked   Reset": "Conectado al dock   Reiniciar", + "Handheld   Reset": "Portátil   Reiniciar", + "Charging   Reset": "Cargando   Reiniciar", + "Official Charger   Reset": "Cargador oficial   Reiniciar", + "USB Charger   Reset": "Cargador USB   Reiniciar", "Memory": "Memoria", "Do not override": "No sobrescribir", "Profile": "Perfil" diff --git a/config/sys-clk/lang/fr.json b/config/sys-clk/lang/fr.json index c1eb418..6d0db46 100644 --- a/config/sys-clk/lang/fr.json +++ b/config/sys-clk/lang/fr.json @@ -3,16 +3,18 @@ "Advanced": "Avancé", "Edit Global Profile": "Modifier global", "Temporary Overrides": "Remplacements temporaires", + "Temporary Overrides   Reset": "Remplacements temporaires   Réinitialiser", "Settings": "Paramètres", "Enable": "Activer", "Uncapped Clocks": "Horloges sans limite", "Override Boost Mode": "Forcer mode Boost", "Auto CPU Boost": "Boost CPU auto", "Sync ReverseNX": "Synchroniser ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Auto GPU Vmin", "Off": "Éteint", - "Official Service Method": "Service officiel", - "Hijack Method": "Détournement", + "Official Service": "Service officiel", + "Hijack": "Détournement", + "GPU Vmin Offset": "GPU Vmin Offset", "App ID": "ID App", "EOS mode": "Mode EOS", "Skin": "Skin", @@ -23,6 +25,11 @@ "Charging": "En charge", "Official Charger": "Chargeur off.", "USB Charger": "Chargeur USB", + "Docked   Reset": "Ancré   Réinitialiser", + "Handheld   Reset": "Portable   Réinitialiser", + "Charging   Reset": "En charge   Réinitialiser", + "Official Charger   Reset": "Chargeur off.   Réinitialiser", + "USB Charger   Reset": "Chargeur USB   Réinitialiser", "Memory": "Mémoire", "Do not override": "Ne pas remplacer", "Profile": "Profil" diff --git a/config/sys-clk/lang/it.json b/config/sys-clk/lang/it.json index fe9ed3f..e133243 100644 --- a/config/sys-clk/lang/it.json +++ b/config/sys-clk/lang/it.json @@ -3,16 +3,18 @@ "Advanced": "Avanzate", "Edit Global Profile": "Modifica profilo globale", "Temporary Overrides": "Sostituzioni temporanee", + "Temporary Overrides   Reset": "Sostituzioni temporanee   Reimposta", "Settings": "Impostazioni", "Enable": "Abilita", "Uncapped Clocks": "Clock senza limiti", "Override Boost Mode": "Forza modalità Boost", "Auto CPU Boost": "Boost CPU automatico", "Sync ReverseNX": "Sincronizza con ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Auto GPU Vmin", "Off": "Spento", - "Official Service Method": "Servizio ufficiale", - "Hijack Method": "Dirottamento", + "Official Service": "Servizio ufficiale", + "Hijack": "Dirottamento", + "GPU Vmin Offset": "GPU Vmin Offset", "App ID": "ID App", "EOS mode": "Modalità EOS", "Skin": "Tema", @@ -23,6 +25,11 @@ "Charging": "In carica", "Official Charger": "Caricatore ufficiale", "USB Charger": "Caricatore USB", + "Docked   Reset": "In modalità dock   Reimposta", + "Handheld   Reset": "Portatile   Reimposta", + "Charging   Reset": "In carica   Reimposta", + "Official Charger   Reset": "Caricatore ufficiale   Reimposta", + "USB Charger   Reset": "Caricatore USB   Reimposta", "Memory": "Memoria", "Do not override": "Non sovrascrivere", "Profile": "Profilo" diff --git a/config/sys-clk/lang/ja.json b/config/sys-clk/lang/ja.json index 48b67f1..2fd1e8c 100644 --- a/config/sys-clk/lang/ja.json +++ b/config/sys-clk/lang/ja.json @@ -3,16 +3,18 @@ "Advanced": "詳細設定", "Edit Global Profile": "グローバルプロフィールを編集", "Temporary Overrides": "一時的なオーバーライド", + "Temporary Overrides   Reset": "一時的なオーバーライド   リセット", "Settings": "設定", "Enable": "有効化", "Uncapped Clocks": "クロック制限解除", "Override Boost Mode": "ブーストモードをオーバーライド", "Auto CPU Boost": "自動CPUブースト", "Sync ReverseNX": "ReverseNXと同期", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "自動GPU Vmin", "Off": "オフ", - "Official Service Method": "公式サービス", - "Hijack Method": "ハイジャック", + "Official Service": "公式サービス", + "Hijack": "ハイジャック", + "GPU Vmin Offset": "GPU Vminオフセット", "App ID": "アプリID", "EOS mode": "EOSモード", "Skin": "スキン", @@ -23,6 +25,11 @@ "Charging": "充電中", "Official Charger": "公式充電器", "USB Charger": "USB充電器", + "Docked   Reset": "ドックモード   リセット", + "Handheld   Reset": "携帯モード   リセット", + "Charging   Reset": "充電中   リセット", + "Official Charger   Reset": "公式充電器   リセット", + "USB Charger   Reset": "USB充電器   リセット", "Memory": "メモリ", "Do not override": "オーバーライドしない", "Profile": "プロフィール" diff --git a/config/sys-clk/lang/ko.json b/config/sys-clk/lang/ko.json index 485be7c..125e336 100644 --- a/config/sys-clk/lang/ko.json +++ b/config/sys-clk/lang/ko.json @@ -3,16 +3,18 @@ "Advanced": "고급 설정", "Edit Global Profile": "글로벌 프로필 편집", "Temporary Overrides": "임시 오버라이드", + "Temporary Overrides   Reset": "임시 오버라이드   리셋", "Settings": "설정", "Enable": "활성화", "Uncapped Clocks": "클럭 제한 해제", "Override Boost Mode": "부스트 모드 오버라이드", "Auto CPU Boost": "자동 CPU 부스트", "Sync ReverseNX": "ReverseNX 동기화", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "자동 GPU Vmin", "Off": "끔", - "Official Service Method": "공식 서비스", - "Hijack Method": "하이재킹", + "Official Service": "공식 서비스", + "Hijack": "하이재킹", + "GPU Vmin Offset": "GPU Vmin 오프셋", "App ID": "앱 ID", "EOS mode": "EOS 모드", "Skin": "스킨", @@ -23,6 +25,11 @@ "Charging": "충전 중", "Official Charger": "공식 충전기", "USB Charger": "USB 충전기", + "Docked   Reset": "독 모드   리셋", + "Handheld   Reset": "휴대 모드   리셋", + "Charging   Reset": "충전 중   리셋", + "Official Charger   Reset": "공식 충전기   리셋", + "USB Charger   Reset": "USB 충전기   리셋", "Memory": "메모리", "Do not override": "오버라이드 안 함", "Profile": "프로필" diff --git a/config/sys-clk/lang/nl.json b/config/sys-clk/lang/nl.json index cbc2f48..2932326 100644 --- a/config/sys-clk/lang/nl.json +++ b/config/sys-clk/lang/nl.json @@ -3,18 +3,20 @@ "Advanced": "Geavanceerd", "Edit Global Profile": "Globaal profiel bewerken", "Temporary Overrides": "Tijdelijke overschrijvingen", + "Temporary Overrides   Reset": "Tijdelijke overschrijvingen   Resetten", "Settings": "Instellingen", "Enable": "Inschakelen", "Uncapped Clocks": "Ongelimiteerde kloksnelheden", "Override Boost Mode": "Boostmodus overschrijven", "Auto CPU Boost": "Automatische CPU-boost", "Sync ReverseNX": "ReverseNX synchroniseren", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Automatische GPU Vmin", "Off": "Uit", - "Official Service Method": "Officiële service", - "Hijack Method": "Kapingsmethode", - "App ID": "App-ID", - "EOS mode": "EOS-modus", + "Official Service": "Officiële service", + "Hijack": "Kapen", + "GPU Vmin Offset": "GPU Vmin Offset", + "App ID": "App ID", + "EOS mode": "EOS modus", "Skin": "Thema", "Now": "Nu", "Avg": "Gem", @@ -23,6 +25,11 @@ "Charging": "Bezig met opladen", "Official Charger": "Officiële oplader", "USB Charger": "USB-oplader", + "Docked   Reset": "In dockingstation   Resetten", + "Handheld   Reset": "Handheld   Resetten", + "Charging   Reset": "Bezig met opladen   Resetten", + "Official Charger   Reset": "Officiële oplader   Resetten", + "USB Charger   Reset": "USB-oplader   Resetten", "Memory": "Geheugen", "Do not override": "Niet overschrijven", "Profile": "Profiel" diff --git a/config/sys-clk/lang/pl.json b/config/sys-clk/lang/pl.json index b5bc9a4..7039d37 100644 --- a/config/sys-clk/lang/pl.json +++ b/config/sys-clk/lang/pl.json @@ -3,16 +3,18 @@ "Advanced": "Zaawansowane", "Edit Global Profile": "Edytuj profil globalny", "Temporary Overrides": "Tymczasowe nadpisania", + "Temporary Overrides   Reset": "Tymczasowe nadpisania   Resetuj", "Settings": "Ustawienia", "Enable": "Włącz", "Uncapped Clocks": "Nieograniczone taktowanie", "Override Boost Mode": "Nadpisz tryb Boost", "Auto CPU Boost": "Automatyczny Boost CPU", "Sync ReverseNX": "Synchronizuj z ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Automatyczny GPU Vmin", "Off": "Wył.", - "Official Service Method": "Oficjalna usługa", - "Hijack Method": "Przejęcie", + "Official Service": "Oficjalna usługa", + "Hijack": "Przejęcie", + "GPU Vmin Offset": "GPU Vmin Offset", "App ID": "ID app", "EOS mode": "Tryb EOS", "Skin": "Motyw", @@ -23,6 +25,11 @@ "Charging": "Ładowanie", "Official Charger": "Oficjalna ładowarka", "USB Charger": "Ładowarka USB", + "Docked   Reset": "W dokowaniu   Resetuj", + "Handheld   Reset": "Tryb przenośny   Resetuj", + "Charging   Reset": "Ładowanie   Resetuj", + "Official Charger   Reset": "Oficjalna ładowarka   Resetuj", + "USB Charger   Reset": "Ładowarka USB   Resetuj", "Memory": "Pamięć", "Do not override": "Nie nadpisuj", "Profile": "Profil" diff --git a/config/sys-clk/lang/pt.json b/config/sys-clk/lang/pt.json index 119357f..1fd4d79 100644 --- a/config/sys-clk/lang/pt.json +++ b/config/sys-clk/lang/pt.json @@ -3,16 +3,18 @@ "Advanced": "Avançado", "Edit Global Profile": "Editar perfil global", "Temporary Overrides": "Substituições temporárias", + "Temporary Overrides   Reset": "Substituições temporárias   Reiniciar", "Settings": "Configurações", "Enable": "Ativar", "Uncapped Clocks": "Clock ilimitado", "Override Boost Mode": "Substituir modo Boost", "Auto CPU Boost": "Boost automático CPU", "Sync ReverseNX": "Sync ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Automático GPU Vmin", "Off": "Desligado", - "Official Service Method": "Serviço oficial", - "Hijack Method": "Sequestro", + "Official Service": "Serviço oficial", + "Hijack": "Sequestro", + "GPU Vmin Offset": "GPU Vmin Offset", "App ID": "ID app", "EOS mode": "Modo EOS", "Skin": "Tema", @@ -23,6 +25,11 @@ "Charging": "Carregando", "Official Charger": "Carreg. of.", "USB Charger": "Carregador USB", + "Docked   Reset": "Acoplado   Reiniciar", + "Handheld   Reset": "Portátil   Reiniciar", + "Charging   Reset": "Carregando   Reiniciar", + "Official Charger   Reset": "Carreg. of.   Reiniciar", + "USB Charger   Reset": "Carregador USB   Reiniciar", "Memory": "Memória", "Do not override": "Não substituir", "Profile": "Perfil" diff --git a/config/sys-clk/lang/ru.json b/config/sys-clk/lang/ru.json index e320dc5..afb2ebb 100644 --- a/config/sys-clk/lang/ru.json +++ b/config/sys-clk/lang/ru.json @@ -3,16 +3,18 @@ "Advanced": "Продвинутые", "Edit Global Profile": "Глобальный профиль", "Temporary Overrides": "Временный профиль", + "Temporary Overrides   Reset": "Временный профиль   Сброс", "Settings": "Настройки", "Enable": "sys-clk", "Uncapped Clocks": "Не ограничивать MHz", "Override Boost Mode": "Замещать Boost", "Auto CPU Boost": "Авто Boost CPU", "Sync ReverseNX": "Синхр. с ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Авто GPU Vmin", "Off": "Отключен", - "Official Service Method": "Сервисный метод", - "Hijack Method": "Метод перехвата", + "Official Service": "Официальный сервис", + "Hijack": "Перехват", + "GPU Vmin Offset": "GPU Vmin Offset", "App ID": "App ID", "EOS mode": "Режим EOS", "Skin": "Плата", @@ -23,6 +25,11 @@ "Charging": "На зарядке", "Official Charger": "Офиц. зарядка", "USB Charger": "USB зарядка", + "Docked   Reset": "В доке   Сброс", + "Handheld   Reset": "Портатив   Сброс", + "Charging   Reset": "На зарядке   Сброс", + "Official Charger   Reset": "Офиц. зарядка   Сброс", + "USB Charger   Reset": "USB зарядка   Сброс", "Memory": "RAM", "Do not override": "По умолчанию", "Profile": "Профиль" diff --git a/config/sys-clk/lang/uk.json b/config/sys-clk/lang/uk.json index b332d72..a39cc47 100644 --- a/config/sys-clk/lang/uk.json +++ b/config/sys-clk/lang/uk.json @@ -3,16 +3,18 @@ "Advanced": "Розширені", "Edit Global Profile": "Редагувати глобальний", "Temporary Overrides": "Тимчасові заміни", + "Temporary Overrides   Reset": "Тимчасові заміни   Скидання", "Settings": "Налаштування", "Enable": "Увімкнути", "Uncapped Clocks": "Без обмежень", "Override Boost Mode": "Перезапис Boost", "Auto CPU Boost": "Авто Boost CPU", "Sync ReverseNX": "Синхр. ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "Авто GPU Vmin", "Off": "Вимкнено", - "Official Service Method": "Офіційний сервіс", - "Hijack Method": "Захоплення", + "Official Service": "Офіційний сервіс", + "Hijack": "Захоплення", + "GPU Vmin Offset": "GPU Vmin Offset", "App ID": "ID ап.", "EOS mode": "Режим EOS", "Skin": "Тема", @@ -23,6 +25,11 @@ "Charging": "Зарядка", "Official Charger": "Оф. зарядка", "USB Charger": "USB зарядка", + "Docked   Reset": "У доку   Скидання", + "Handheld   Reset": "Портативний   Скидання", + "Charging   Reset": "Зарядка   Скидання", + "Official Charger   Reset": "Оф. зарядка   Скидання", + "USB Charger   Reset": "USB зарядка   Скидання", "Memory": "Пам’ять", "Do not override": "Не змінювати", "Profile": "Профіль" diff --git a/config/sys-clk/lang/zh-cn.json b/config/sys-clk/lang/zh-cn.json index 0760353..b0c5b68 100644 --- a/config/sys-clk/lang/zh-cn.json +++ b/config/sys-clk/lang/zh-cn.json @@ -1,21 +1,23 @@ { - "Edit App Profile": "编辑应用配置", - "Advanced": "高级", - "Edit Global Profile": "编辑全局配置", - "Temporary Overrides": "临时覆盖", - "Settings": "设置", - "Enable": "启用", - "Uncapped Clocks": "无限时钟", - "Override Boost Mode": "覆盖加速模式", - "Auto CPU Boost": "自动CPU加速", + "Edit App Profile": "程序配置", + "Advanced": "进阶项目", + "Edit Global Profile": "全局配置", + "Temporary Overrides": "临时配置", + "Temporary Overrides   Reset": "临时配置   重置", + "Settings": "高级设置", + "Enable": "启用调频", + "Uncapped Clocks": "解锁频率", + "Override Boost Mode": "升压模式", + "Auto CPU Boost": "自动CPU", "Sync ReverseNX": "同步ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "自动GPU Vmin", "Off": "关闭", - "Official Service Method": "官方服务", - "Hijack Method": "劫持", - "App ID": "应用ID", - "EOS mode": "EOS模式", - "Skin": "皮肤", + "Official Service": "官方服务", + "Hijack": "劫持", + "GPU Vmin Offset": "GPU Vmin偏移", + "App ID": "程序ID", + "EOS mode": "EOS", + "Skin": "Skin", "Now": "当前", "Avg": "平均", "Docked": "底座模式", @@ -23,7 +25,12 @@ "Charging": "充电中", "Official Charger": "官方充电器", "USB Charger": "USB充电器", + "Docked   Reset": "底座模式   重置", + "Handheld   Reset": "手持模式   重置", + "Charging   Reset": "充电中   重置", + "Official Charger   Reset": "官方充电器   重置", + "USB Charger   Reset": "USB充电器   重置", "Memory": "内存", - "Do not override": "不覆盖", - "Profile": "配置文件" + "Do not override": "默认", + "Profile": "配置" } diff --git a/config/sys-clk/lang/zh-tw.json b/config/sys-clk/lang/zh-tw.json index 5fa1df9..6d78668 100644 --- a/config/sys-clk/lang/zh-tw.json +++ b/config/sys-clk/lang/zh-tw.json @@ -1,29 +1,36 @@ { - "Edit App Profile": "編輯應用設定", - "Advanced": "進階", - "Edit Global Profile": "編輯全域設定", - "Temporary Overrides": "臨時覆蓋", - "Settings": "設定", - "Enable": "啟用", - "Uncapped Clocks": "無限制時脈", - "Override Boost Mode": "覆蓋加速模式", - "Auto CPU Boost": "自動CPU加速", + "Edit App Profile": "程式配置", + "Advanced": "進階專案", + "Edit Global Profile": "全域性配置", + "Temporary Overrides": "臨時配置", + "Temporary Overrides   Reset": "臨時配置   重置", + "Settings": "高階設定", + "Enable": "啟用調頻", + "Uncapped Clocks": "解鎖頻率", + "Override Boost Mode": "升壓模式", + "Auto CPU Boost": "自動CPU", "Sync ReverseNX": "同步ReverseNX", - "GPU DVFS": "GPU DVFS", + "Auto GPU Vmin": "自動GPU Vmin", "Off": "關閉", - "Official Service Method": "官方服務", - "Hijack Method": "劫持", - "App ID": "應用ID", - "EOS mode": "EOS模式", - "Skin": "外觀主題", - "Now": "目前", + "Official Service": "官方服務", + "Hijack": "劫持", + "GPU Vmin Offset": "GPU Vmin偏移", + "App ID": "程式ID", + "EOS mode": "EOS", + "Skin": "Skin", + "Now": "當前", "Avg": "平均", - "Docked": "座充模式", + "Docked": "底座模式", "Handheld": "手持模式", "Charging": "充電中", "Official Charger": "官方充電器", "USB Charger": "USB充電器", + "Docked   Reset": "底座模式   重置", + "Handheld   Reset": "手持模式   重置", + "Charging   Reset": "充電中   重置", + "Official Charger   Reset": "官方充電器   重置", + "USB Charger   Reset": "USB充電器   重置", "Memory": "記憶體", - "Do not override": "不覆蓋", - "Profile": "設定檔" + "Do not override": "預設", + "Profile": "配置" } diff --git a/config/ultrahand/lang/de.json b/config/ultrahand/lang/de.json index c360cf0..99335db 100644 --- a/config/ultrahand/lang/de.json +++ b/config/ultrahand/lang/de.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Fehlerprotokollierung", "COMMANDS": "(Boot-) Befehle", "SETTINGS": "Optionen", + "FAVORITE": "Favorit", "MAIN_SETTINGS": "Grundlegende Optionen", "UI_SETTINGS": "Ultrahand UI-Optionen", "WIDGET": "Widget für...", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Menüeinstellungen", "USER_GUIDE": "Hilfe", "SHOW_HIDDEN": "Versteckte Anzeigen", + "SHOW_DELETE": "Löschen Anzeigen", "PAGE_SWAP": "Seitenwechsel", "RIGHT_SIDE_MODE": "Rechtsmodus", "OVERLAY_VERSIONS": "Overlay Versionsnr.", @@ -82,8 +84,10 @@ "DEFAULT": "Standard Theme", "ROOT_PACKAGE": "(Boot-)Skriptbefehle", "SORT_PRIORITY": "LaunchMenü Rangfolge", + "OPTIONS": "Optionen", "FAILED_TO_OPEN": "Konnte Paket nicht öffnen", "LAUNCH_COMBOS": "Start-Kombos", + "NOTIFICATIONS": "Benachrichtigungen", "OPAQUE_SCREENSHOTS": "Undurchsichtige Screenshots", "ON": "AN", "OFF": "AUS", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "libultrahand Titel", "LIBULTRAHAND_VERSIONS": "libultrahand Versionen", "PACKAGE_TITLES": "Paket-Titel", - "EMPTY": "Leer", + "ULTRAHAND_HAS_STARTED": "Ultrahand wurde gestartet.", + "NEW_UPDATE_IS_AVAILABLE": "Neues Update verfügbar!", + "REBOOT_IS_REQUIRED": "Neustart erforderlich.", + "HOLD_A_TO_DELETE": "Halte  zum Löschen", + "SELECTION_IS_EMPTY": "Auswahl ist leer!", "SUNDAY": "Sonntag", "MONDAY": "Montag", "TUESDAY": "Dienstag", diff --git a/config/ultrahand/lang/en.json b/config/ultrahand/lang/en.json index fc7446f..8dada9f 100644 --- a/config/ultrahand/lang/en.json +++ b/config/ultrahand/lang/en.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Error Logging", "COMMANDS": "Commands", "SETTINGS": "Settings", + "FAVORITE": "Favorite", "MAIN_SETTINGS": "Main Settings", "UI_SETTINGS": "UI Settings", "WIDGET": "Widget", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Menu Settings", "USER_GUIDE": "User Guide", "SHOW_HIDDEN": "Show Hidden", + "SHOW_DELETE": "Show Delete", "PAGE_SWAP": "Page Swap", "RIGHT_SIDE_MODE": "Right-side Mode", "OVERLAY_VERSIONS": "Overlay Versions", @@ -82,8 +84,10 @@ "DEFAULT": "default", "ROOT_PACKAGE": "Root Package", "SORT_PRIORITY": "Sort Priority", + "OPTIONS": "Options", "FAILED_TO_OPEN": "Failed to open file", "LAUNCH_COMBOS": "Launch Combos", + "NOTIFICATIONS": "Notifications", "OPAQUE_SCREENSHOTS": "Opaque Screenshots", "ON": "On", "OFF": "Off", @@ -103,7 +107,7 @@ "BOOT_ENTRY": "Boot Entry", "GAP_1": " ", "GAP_2": " ", - "USERGUIDE_OFFSET": "176", + "USERGUIDE_OFFSET": "177", "SETTINGS_MENU": "Settings Menu", "SCRIPT_OVERLAY": "Script Overlay", "STAR_FAVORITE": "Star/Favorite", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "libultrahand Titles", "LIBULTRAHAND_VERSIONS": "libultrahand Versions", "PACKAGE_TITLES": "Package Titles", - "EMPTY": "Empty", + "ULTRAHAND_HAS_STARTED": "Ultrahand has started.", + "NEW_UPDATE_IS_AVAILABLE": "New update is available!", + "REBOOT_IS_REQUIRED": "Reboot is required.", + "HOLD_A_TO_DELETE": "Hold  to Delete", + "SELECTION_IS_EMPTY": "Selection is empty!", "SUNDAY": "Sunday", "MONDAY": "Monday", "TUESDAY": "Tuesday", diff --git a/config/ultrahand/lang/es.json b/config/ultrahand/lang/es.json index 74dfd48..3e72045 100644 --- a/config/ultrahand/lang/es.json +++ b/config/ultrahand/lang/es.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Reg. de Errores", "COMMANDS": "Comandos", "SETTINGS": "Configuración", + "FAVORITE": "Favorito", "MAIN_SETTINGS": "Conf. Principal", "UI_SETTINGS": "Conf. de la UI", "WIDGET": "Widget", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Configuración del Menú", "USER_GUIDE": "Guía del usuario", "SHOW_HIDDEN": "Mostrar Ocultos", + "SHOW_DELETE": "Mostrar Eliminar", "PAGE_SWAP": "Cambio de Página", "RIGHT_SIDE_MODE": "Modo derecho", "OVERLAY_VERSIONS": "Etiquetas de Superposición", @@ -82,8 +84,10 @@ "DEFAULT": "defecto", "ROOT_PACKAGE": "Paquete Raíz", "SORT_PRIORITY": "Prioridad de Orden", + "OPTIONS": "Opciones", "FAILED_TO_OPEN": "No se pudo abrir", "LAUNCH_COMBOS": "Combos de Inicio", + "NOTIFICATIONS": "Notificaciones", "OPAQUE_SCREENSHOTS": "Capturas Opacas", "ON": "Encendido", "OFF": "Apagado", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "Títulos de libultrahand", "LIBULTRAHAND_VERSIONS": "Versiones de libultrahand", "PACKAGE_TITLES": "Títulos de Paquete", - "EMPTY": "Vacío", + "ULTRAHAND_HAS_STARTED": "Ultrahand ha iniciado.", + "NEW_UPDATE_IS_AVAILABLE": "¡Nueva actualización disponible!", + "REBOOT_IS_REQUIRED": "Es necesario reiniciar.", + "HOLD_A_TO_DELETE": "Mantén  para eliminar", + "SELECTION_IS_EMPTY": "¡La selección está vacía!", "SUNDAY": "Domingo", "MONDAY": "Lunes", "TUESDAY": "Martes", diff --git a/config/ultrahand/lang/fr.json b/config/ultrahand/lang/fr.json index 18839fc..e741694 100644 --- a/config/ultrahand/lang/fr.json +++ b/config/ultrahand/lang/fr.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Journalisation des Erreurs", "COMMANDS": "Commandes", "SETTINGS": "Paramètres", + "FAVORITE": "Favori", "MAIN_SETTINGS": "Paramètres principaux", "UI_SETTINGS": "Paramètres de l'interface utilisateur", "WIDGET": "Widget", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Paramètres du Menu", "USER_GUIDE": "Guide de l'utilisateur", "SHOW_HIDDEN": "Afficher Cachés", + "SHOW_DELETE": "Afficher Supprimer", "PAGE_SWAP": "Échange de Page", "RIGHT_SIDE_MODE": "Mode Côté Droit", "OVERLAY_VERSIONS": "Étiquettes de superposition", @@ -82,8 +84,10 @@ "DEFAULT": "défaut", "ROOT_PACKAGE": "Paquet Racine", "SORT_PRIORITY": "Priorité de tri", + "OPTIONS": "Options", "FAILED_TO_OPEN": "Échec de l'ouverture du fichier", "LAUNCH_COMBOS": "Combinaisons de Lancement", + "NOTIFICATIONS": "Notifications", "OPAQUE_SCREENSHOTS": "Captures D’écran Opaques", "ON": "Activer", "OFF": "Désactiver", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "Titres de libultrahand", "LIBULTRAHAND_VERSIONS": "Versions de libultrahand", "PACKAGE_TITLES": "Titres de Paquet", - "EMPTY": "Vide", + "ULTRAHAND_HAS_STARTED": "Ultrahand a démarré.", + "NEW_UPDATE_IS_AVAILABLE": "Nouvelle mise à jour disponible !", + "REBOOT_IS_REQUIRED": "Redémarrage requis.", + "HOLD_A_TO_DELETE": "Maintenir  pour supprimer", + "SELECTION_IS_EMPTY": "La sélection est vide !", "SUNDAY": "Dimanche", "MONDAY": "Lundi", "TUESDAY": "Mardi", diff --git a/config/ultrahand/lang/it.json b/config/ultrahand/lang/it.json index 4ea02a8..fc67bea 100644 --- a/config/ultrahand/lang/it.json +++ b/config/ultrahand/lang/it.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Registrazione degli Errori", "COMMANDS": "Comandi", "SETTINGS": "Impostazioni", + "FAVORITE": "Preferito", "MAIN_SETTINGS": "Impostazioni Principali", "UI_SETTINGS": "Impostazioni UI", "WIDGET": "Widget", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Impostazioni del Menu", "USER_GUIDE": "Guida dell'utente", "SHOW_HIDDEN": "Mostra Nascosti", + "SHOW_DELETE": "Afficher Supprimer", "PAGE_SWAP": "Scambio di Pagina", "RIGHT_SIDE_MODE": "Modalità Lato Destro", "OVERLAY_VERSIONS": "Etichette Sovrapposte", @@ -82,8 +84,10 @@ "DEFAULT": "predefinito", "ROOT_PACKAGE": "Pacchetto Principale", "SORT_PRIORITY": "Priorità di Ordinamento", + "OPTIONS": "Opzioni", "FAILED_TO_OPEN": "Apertura del File Fallita", "LAUNCH_COMBOS": "Combinazioni di Avvio", + "NOTIFICATIONS": "Notifiche", "OPAQUE_SCREENSHOTS": "Screenshot Opachi", "ON": "Acceso", "OFF": "Spento", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "Titoli libultrahand", "LIBULTRAHAND_VERSIONS": "Versioni libultrahand", "PACKAGE_TITLES": "Titoli Pacchetto", - "EMPTY": "Vuoto", + "ULTRAHAND_HAS_STARTED": "Ultrahand è stato avviato.", + "NEW_UPDATE_IS_AVAILABLE": "Nuovo aggiornamento disponibile!", + "REBOOT_IS_REQUIRED": "Riavvio richiesto.", + "HOLD_A_TO_DELETE": "Tieni premuto  per eliminare", + "SELECTION_IS_EMPTY": "La selezione è vuota!", "SUNDAY": "Domenica", "MONDAY": "Lunedì", "TUESDAY": "Martedì", diff --git a/config/ultrahand/lang/ja.json b/config/ultrahand/lang/ja.json index 8c7f528..01e1509 100644 --- a/config/ultrahand/lang/ja.json +++ b/config/ultrahand/lang/ja.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "エラーロギング", "COMMANDS": "コマンド", "SETTINGS": "設定", + "FAVORITE": "お気に入り", "MAIN_SETTINGS": "メイン設定", "UI_SETTINGS": "UI設定", "WIDGET": "ウィジェット", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "メニュー設定", "USER_GUIDE": "ユーザーガイド", "SHOW_HIDDEN": "非表示を表示", + "SHOW_DELETE": "削除を表示", "PAGE_SWAP": "ページ切り替え", "RIGHT_SIDE_MODE": "右側モード", "OVERLAY_VERSIONS": "オーバーレイバージョン", @@ -82,8 +84,10 @@ "DEFAULT": "デフォルト", "ROOT_PACKAGE": "ルートパッケージ", "SORT_PRIORITY": "並べ替え優先度", + "OPTIONS": "オプション", "FAILED_TO_OPEN": "ファイルを開けませんでした", "LAUNCH_COMBOS": "起動コンボ", + "NOTIFICATIONS": "通知", "OPAQUE_SCREENSHOTS": "不透明なスクリーンショット", "ON": "オン", "OFF": "オフ", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "libultrahandタイトル", "LIBULTRAHAND_VERSIONS": "libultrahandバージョン", "PACKAGE_TITLES": "パッケージタイトル", - "EMPTY": "空っぽ", + "ULTRAHAND_HAS_STARTED": "Ultrahandが起動しました。", + "NEW_UPDATE_IS_AVAILABLE": "アップデート利用可能!", + "REBOOT_IS_REQUIRED": "再起動が必要です。", + "HOLD_A_TO_DELETE": "を長押しして削除", + "SELECTION_IS_EMPTY": "選択が空です!", "SUNDAY": "日曜日", "MONDAY": "月曜日", "TUESDAY": "火曜日", diff --git a/config/ultrahand/lang/ko.json b/config/ultrahand/lang/ko.json index 110c43a..4d905d3 100644 --- a/config/ultrahand/lang/ko.json +++ b/config/ultrahand/lang/ko.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "오류 기록", "COMMANDS": "명령어", "SETTINGS": "설정", + "FAVORITE": "즐겨찾기", "MAIN_SETTINGS": "기본 설정", "UI_SETTINGS": "UI 설정", "WIDGET": "위젯", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "메뉴 설정", "USER_GUIDE": "사용자 가이드", "SHOW_HIDDEN": "숨김 항목 표시", + "SHOW_DELETE": "삭제 표시", "PAGE_SWAP": "페이지 전환", "RIGHT_SIDE_MODE": "오른쪽 모드", "OVERLAY_VERSIONS": "오버레이 라벨", @@ -82,8 +84,10 @@ "DEFAULT": "기본값", "ROOT_PACKAGE": "루트 패키지", "SORT_PRIORITY": "정렬 순서", + "OPTIONS": "옵션", "FAILED_TO_OPEN": "파일 열기 실패", "LAUNCH_COMBOS": "실행 콤보", + "NOTIFICATIONS": "알림", "OPAQUE_SCREENSHOTS": "불투명한 스크린샷", "ON": "켜기", "OFF": "끄기", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "libultrahand 제목", "LIBULTRAHAND_VERSIONS": "libultrahand 버전", "PACKAGE_TITLES": "패키지 제목", - "EMPTY": "비어 있는", + "ULTRAHAND_HAS_STARTED": "Ultrahand가 시작되었습니다.", + "NEW_UPDATE_IS_AVAILABLE": "업데이트 가능!", + "REBOOT_IS_REQUIRED": "재부팅 필요.", + "HOLD_A_TO_DELETE": "을(를) 길게 눌러 삭제", + "SELECTION_IS_EMPTY": "선택이 비어 있습니다!", "SUNDAY": "일요일", "MONDAY": "월요일", "TUESDAY": "화요일", diff --git a/config/ultrahand/lang/nl.json b/config/ultrahand/lang/nl.json index 0573a5e..5b77557 100644 --- a/config/ultrahand/lang/nl.json +++ b/config/ultrahand/lang/nl.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Foutlogboek", "COMMANDS": "Opdrachten", "SETTINGS": "Instellingen", + "FAVORITE": "Favoriet", "MAIN_SETTINGS": "Hoofdinstellingen", "UI_SETTINGS": "UI-instellingen", "WIDGET": "Widget", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Menu-instellingen", "USER_GUIDE": "Gebruikershandleiding", "SHOW_HIDDEN": "Verborgen Tonen", + "SHOW_DELETE": "Toon Verwijderen", "PAGE_SWAP": "Pagina Wisselen", "RIGHT_SIDE_MODE": "Rechterkant Modus", "OVERLAY_VERSIONS": "Overlay Versies", @@ -82,8 +84,10 @@ "DEFAULT": "standaard", "ROOT_PACKAGE": "Hoofdpakket", "SORT_PRIORITY": "Prioriteit sorteren", + "OPTIONS": "Opties", "FAILED_TO_OPEN": "Kon bestand niet openen", "LAUNCH_COMBOS": "Startcombinaties", + "NOTIFICATIONS": "Meldingen", "OPAQUE_SCREENSHOTS": "Ondoorzichtige Screenshots", "ON": "Aan", "OFF": "Uit", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "libultrahand Titels", "LIBULTRAHAND_VERSIONS": "libultrahand Versies", "PACKAGE_TITLES": "Pakket Titels", - "EMPTY": "Leeg", + "ULTRAHAND_HAS_STARTED": "Ultrahand is gestart.", + "NEW_UPDATE_IS_AVAILABLE": "Update beschikbaar!", + "REBOOT_IS_REQUIRED": "Opnieuw opstarten vereist.", + "HOLD_A_TO_DELETE": "Houd  ingedrukt om te verwijderen", + "SELECTION_IS_EMPTY": "Selectie is leeg!", "SUNDAY": "Zondag", "MONDAY": "Maandag", "TUESDAY": "Dinsdag", diff --git a/config/ultrahand/lang/pl.json b/config/ultrahand/lang/pl.json index f11cb9a..c39ace7 100644 --- a/config/ultrahand/lang/pl.json +++ b/config/ultrahand/lang/pl.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Rejestrowanie błędów", "COMMANDS": "Polecenia", "SETTINGS": "Ustawienia", + "FAVORITE": "Ulubione", "MAIN_SETTINGS": "Ustawienia główne", "UI_SETTINGS": "Ustawienia interfejsu", "WIDGET": "Widżet", @@ -49,11 +50,12 @@ "MENU_SETTINGS": "Ustawienia menu", "USER_GUIDE": "Przewodnik użytkownika", "SHOW_HIDDEN": "Pokaż ukryte", - "PAGE_SWAP": "Zamiana Stron", + "SHOW_DELETE": "Pokaż usuń", + "PAGE_SWAP": "Zamiana stron", "RIGHT_SIDE_MODE": "Tryb prawej strony", - "OVERLAY_VERSIONS": "Wersje Nakładek", - "PACKAGE_VERSIONS": "Wersje Paczek", - "CLEAN_VERSIONS": "Usuń Prefiks Wersji", + "OVERLAY_VERSIONS": "Wersje nakładek", + "PACKAGE_VERSIONS": "Wersje paczek", + "CLEAN_VERSIONS": "Usuń prefiks wersji", "KEY_COMBO": "Kombinacja klawiszy", "MODE": "Tryb", "MODES": "Tryby", @@ -82,8 +84,10 @@ "DEFAULT": "domyślny", "ROOT_PACKAGE": "Główna Paczka", "SORT_PRIORITY": "Sortuj wg Priorytetu", + "OPTIONS": "Opcje", "FAILED_TO_OPEN": "Nie udało się otworzyć pliku", "LAUNCH_COMBOS": "Kombinacje startowe", + "NOTIFICATIONS": "Powiadomienia", "OPAQUE_SCREENSHOTS": "Nieprzezroczyste zrzuty ekranu", "ON": "Włącz", "OFF": "Wyłącz", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "Tytuły libultrahand", "LIBULTRAHAND_VERSIONS": "Wersje libultrahand", "PACKAGE_TITLES": "Tytuły paczek", - "EMPTY": "Puste", + "ULTRAHAND_HAS_STARTED": "Ultrahand został uruchomiony.", + "NEW_UPDATE_IS_AVAILABLE": "Dostępna aktualizacja!", + "REBOOT_IS_REQUIRED": "Wymagany restart.", + "HOLD_A_TO_DELETE": "Przytrzymaj , aby usunąć", + "SELECTION_IS_EMPTY": "Wybór jest pusty!", "SUNDAY": "Niedziela", "MONDAY": "Poniedziałek", "TUESDAY": "Wtorek", diff --git a/config/ultrahand/lang/pt.json b/config/ultrahand/lang/pt.json index 1546611..6997b66 100644 --- a/config/ultrahand/lang/pt.json +++ b/config/ultrahand/lang/pt.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Registro de Erros", "COMMANDS": "Comandos", "SETTINGS": "Configurações", + "FAVORITE": "Favorito", "MAIN_SETTINGS": "Configurações Principais", "UI_SETTINGS": "Configurações de Interface do Usuário", "WIDGET": "Widget", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Configurações do Menu", "USER_GUIDE": "Guia do Usuário", "SHOW_HIDDEN": "Mostrar Ocultos", + "SHOW_DELETE": "Mostrar Excluir", "PAGE_SWAP": "Troca de Página", "RIGHT_SIDE_MODE": "Modo Lado Direito", "OVERLAY_VERSIONS": "Rótulos de Sobreposição", @@ -82,8 +84,10 @@ "DEFAULT": "padrão", "ROOT_PACKAGE": "Pacote Principal", "SORT_PRIORITY": "Prioridade de Ordenação", + "OPTIONS": "Opções", "FAILED_TO_OPEN": "Falha ao Abrir", "LAUNCH_COMBOS": "Combinações de lançamento", + "NOTIFICATIONS": "Notificações", "OPAQUE_SCREENSHOTS": "Capturas de Tela Opaques", "ON": "Ligado", "OFF": "Desligado", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "Títulos do libultrahand", "LIBULTRAHAND_VERSIONS": "Versões do libultrahand", "PACKAGE_TITLES": "Títulos dos Pacotes", - "EMPTY": "Vazio", + "ULTRAHAND_HAS_STARTED": "Ultrahand foi iniciado.", + "NEW_UPDATE_IS_AVAILABLE": "Atualização disponível!", + "REBOOT_IS_REQUIRED": "Reinicialização necessária.", + "HOLD_A_TO_DELETE": "Segure  para excluir", + "SELECTION_IS_EMPTY": "Seleção está vazia!", "SUNDAY": "Domingo", "MONDAY": "Segunda-feira", "TUESDAY": "Terça-feira", diff --git a/config/ultrahand/lang/ru.json b/config/ultrahand/lang/ru.json index 8532942..dcbde57 100644 --- a/config/ultrahand/lang/ru.json +++ b/config/ultrahand/lang/ru.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Журнал ошибок", "COMMANDS": "Команды", "SETTINGS": "Настройки", + "FAVORITE": "Избранное", "MAIN_SETTINGS": "Главные настройки", "UI_SETTINGS": "Настройки интерфейса", "WIDGET": "Виджеты", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Настройки меню", "USER_GUIDE": "Руководство", "SHOW_HIDDEN": "Показать скрытые", + "SHOW_DELETE": "Показать Удалить", "PAGE_SWAP": "Переключение страниц", "RIGHT_SIDE_MODE": "Режим правой стороны", "OVERLAY_VERSIONS": "Версии оверлеев", @@ -82,8 +84,10 @@ "DEFAULT": "Стандартная", "ROOT_PACKAGE": "Корневой пакет", "SORT_PRIORITY": "Приоритет сортировки", + "OPTIONS": "Опции", "FAILED_TO_OPEN": "Файл не открывается", "LAUNCH_COMBOS": "Комбинации запуска", + "NOTIFICATIONS": "Уведомления", "OPAQUE_SCREENSHOTS": "Непрозрачные скриншоты", "ON": "Вкл", "OFF": "Выкл", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "Заголовки libultrahand", "LIBULTRAHAND_VERSIONS": "Версии libultrahand", "PACKAGE_TITLES": "Заголовки пакетов", - "EMPTY": "Пустой", + "ULTRAHAND_HAS_STARTED": "Ultrahand запущен.", + "NEW_UPDATE_IS_AVAILABLE": "Доступно обновление!", + "REBOOT_IS_REQUIRED": "Требуется перезагрузка.", + "HOLD_A_TO_DELETE": "Удерживайте  для удаления", + "SELECTION_IS_EMPTY": "Выбор пуст!", "SUNDAY": "Воскресенье", "MONDAY": "Понедельник", "TUESDAY": "Вторник", diff --git a/config/ultrahand/lang/uk.json b/config/ultrahand/lang/uk.json index 181cfa3..ca85f38 100644 --- a/config/ultrahand/lang/uk.json +++ b/config/ultrahand/lang/uk.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "Журнал помилок", "COMMANDS": "Команди", "SETTINGS": "Налаштування", + "FAVORITE": "Улюблене", "MAIN_SETTINGS": "Головні налаштування", "UI_SETTINGS": "Налаштування інтерфейсу", "WIDGET": "Віджет", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "Налаштування меню", "USER_GUIDE": "Інструкція", "SHOW_HIDDEN": "Показати приховані", + "SHOW_DELETE": "Показати Видалити", "PAGE_SWAP": "Перемикання сторінок", "RIGHT_SIDE_MODE": "Режим правої сторони", "OVERLAY_VERSIONS": "Версії оверлеїв", @@ -82,8 +84,10 @@ "DEFAULT": "Стандартна", "ROOT_PACKAGE": "Кореневий пакет", "SORT_PRIORITY": "Пріоритет сортування", + "OPTIONS": "Опції", "FAILED_TO_OPEN": "Файл не відкривається", "LAUNCH_COMBOS": "Комбінації запуску", + "NOTIFICATIONS": "Сповіщення", "OPAQUE_SCREENSHOTS": "Непрозорі скріншоти", "ON": "Увімк.", "OFF": "Вимк.", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "Заголовки libultrahand", "LIBULTRAHAND_VERSIONS": "Версії libultrahand", "PACKAGE_TITLES": "Заголовки пакетів", - "EMPTY": "Порожньо", + "ULTRAHAND_HAS_STARTED": "Ultrahand запущено.", + "NEW_UPDATE_IS_AVAILABLE": "Доступне оновлення!", + "REBOOT_IS_REQUIRED": "Потрібне перезавантаження.", + "HOLD_A_TO_DELETE": "Утримуйте  для видалення", + "SELECTION_IS_EMPTY": "Вибір порожній!", "SUNDAY": "Неділя", "MONDAY": "Понеділок", "TUESDAY": "Вівторок", diff --git a/config/ultrahand/lang/zh-cn.json b/config/ultrahand/lang/zh-cn.json index 15ed7be..6efd390 100644 --- a/config/ultrahand/lang/zh-cn.json +++ b/config/ultrahand/lang/zh-cn.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "日志上传功能", "COMMANDS": "系统控制", "SETTINGS": "其他设置", + "FAVORITE": "偏好", "MAIN_SETTINGS": "主要设置", "UI_SETTINGS": "界面风格设置", "WIDGET": "窗口组件设置", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "菜单设置", "USER_GUIDE": "用户指南", "SHOW_HIDDEN": "显示隐藏项", + "SHOW_DELETE": "显示 删除", "PAGE_SWAP": "页面切换", "RIGHT_SIDE_MODE": "右侧模式", "OVERLAY_VERSIONS": "插件版本显示", @@ -82,8 +84,10 @@ "DEFAULT": "默认状态", "ROOT_PACKAGE": "插件包初始页", "SORT_PRIORITY": "优先级顺序", + "OPTIONS": "选项", "FAILED_TO_OPEN": "未能打开该文件夹", "LAUNCH_COMBOS": "启动组合键", + "NOTIFICATIONS": "通知", "OPAQUE_SCREENSHOTS": "不透明的截图", "ON": "开启", "OFF": "关闭", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "libultrahand标题", "LIBULTRAHAND_VERSIONS": "libultrahand版本", "PACKAGE_TITLES": "插件包标题", - "EMPTY": "空白的文件", + "ULTRAHAND_HAS_STARTED": "Ultrahand 已启动。", + "NEW_UPDATE_IS_AVAILABLE": "有新更新!", + "REBOOT_IS_REQUIRED": "需要重启。", + "HOLD_A_TO_DELETE": "长按  删除", + "SELECTION_IS_EMPTY": "选择为空!", "SUNDAY": "周日", "MONDAY": "周一", "TUESDAY": "周二", diff --git a/config/ultrahand/lang/zh-tw.json b/config/ultrahand/lang/zh-tw.json index b725d18..53d1d5b 100644 --- a/config/ultrahand/lang/zh-tw.json +++ b/config/ultrahand/lang/zh-tw.json @@ -32,6 +32,7 @@ "ERROR_LOGGING": "錯誤日誌", "COMMANDS": "系統控制", "SETTINGS": "其他設置", + "FAVORITE": "喜好", "MAIN_SETTINGS": "主要設置", "UI_SETTINGS": "界面風格設置", "WIDGET": "窗口組件設置", @@ -49,6 +50,7 @@ "MENU_SETTINGS": "菜單設置", "USER_GUIDE": "用戶指南", "SHOW_HIDDEN": "顯示隱藏項", + "SHOW_DELETE": "顯示 刪除", "PAGE_SWAP": "頁面切換", "RIGHT_SIDE_MODE": "右側模式", "OVERLAY_VERSIONS": "插件的標簽", @@ -82,8 +84,10 @@ "DEFAULT": "默認狀態", "ROOT_PACKAGE": "插件包初始頁", "SORT_PRIORITY": "優先級順序", + "OPTIONS": "選項", "FAILED_TO_OPEN": "未能打開文件夾", "LAUNCH_COMBOS": "啟動組合鍵", + "NOTIFICATIONS": "通知", "OPAQUE_SCREENSHOTS": "不透明的截圖", "ON": "啟用", "OFF": "停用", @@ -121,7 +125,11 @@ "LIBULTRAHAND_TITLES": "libultrahand標題", "LIBULTRAHAND_VERSIONS": "libultrahand版本", "PACKAGE_TITLES": "插件包標題", - "EMPTY": "空", + "ULTRAHAND_HAS_STARTED": "Ultrahand 已啟動。", + "NEW_UPDATE_IS_AVAILABLE": "有新更新!", + "REBOOT_IS_REQUIRED": "需要重新啟動。", + "HOLD_A_TO_DELETE": "長按  刪除", + "SELECTION_IS_EMPTY": "選擇為空!", "SUNDAY": "周日", "MONDAY": "周一", "TUESDAY": "周二", diff --git a/switch/sphaira/sphaira.nro b/hbmenu.nro similarity index 100% rename from switch/sphaira/sphaira.nro rename to hbmenu.nro diff --git a/switch/.overlays/FPSLocker.ovl b/switch/.overlays/FPSLocker.ovl index 981f32f..9defe45 100644 Binary files a/switch/.overlays/FPSLocker.ovl and b/switch/.overlays/FPSLocker.ovl differ diff --git a/switch/.overlays/Status-Monitor-Overlay.ovl b/switch/.overlays/Status-Monitor-Overlay.ovl index 6f0ccc0..a993713 100644 Binary files a/switch/.overlays/Status-Monitor-Overlay.ovl and b/switch/.overlays/Status-Monitor-Overlay.ovl differ diff --git a/switch/.overlays/ovlSysmodules.ovl b/switch/.overlays/ovlSysmodules.ovl index 462286a..00b5735 100644 Binary files a/switch/.overlays/ovlSysmodules.ovl and b/switch/.overlays/ovlSysmodules.ovl differ diff --git a/switch/.overlays/ovlmenu.ovl b/switch/.overlays/ovlmenu.ovl index b18baac..5690843 100644 Binary files a/switch/.overlays/ovlmenu.ovl and b/switch/.overlays/ovlmenu.ovl differ diff --git a/switch/.packages/boot_package.ini b/switch/.packages/boot_package.ini index 6f99b4f..e6f6f07 100644 --- a/switch/.packages/boot_package.ini +++ b/switch/.packages/boot_package.ini @@ -14,7 +14,7 @@ hex-by-swap /switch/.overlays/sys-clk-overlay.ovl 7379732D636C6B2D6F630000000000 hex-by-swap /switch/.overlays/sys-clk-overlay.ovl 7379732D636C6B0000000000000000000000 556C747261204F4320287379732D636C6B29 -cp /switch/sphaira/sphaira.nro /hbmenu.nro +cp /hbmenu.nro /switch/sphaira/sphaira.nro del '/atmosphere/config_templates/' diff --git a/switch/DBI/DBI.nro b/switch/DBI/DBI.nro index c1472ee..29547f6 100644 Binary files a/switch/DBI/DBI.nro and b/switch/DBI/DBI.nro differ