From 9902fe23f16142499fe8a5c2cda7cb471f61c398 Mon Sep 17 00:00:00 2001 From: redraz Date: Wed, 25 Oct 2023 14:42:26 +0300 Subject: [PATCH] Initial Ultra 1.5 --- SaltySD/exceptions.txt | 52 ++ SaltySD/flags/log.flag | 0 .../010000400F582000/02F2E5C8CBF5A92F.yaml | 75 ++ .../010000600CD54000/78885A1CA987C04C.yaml | 99 +++ .../0100040016EE2000/331E3DFBDF650226.yaml | 219 ++++++ .../0100041018810000/B8BE1CFAE53CAEBE.yaml | 75 ++ .../010007B010FCC000/4EEA2970DF38ECE1.yaml | 75 ++ .../01000A10041EA000/771BDFB65F8D0AF7.yaml | 135 ++++ .../01000BB00E9D2000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../01000BB00E9D2000/D27FD8A515077F34.yaml | 224 ++++++ .../01000BD00CE64000/E417100FFEEFD1DE.yaml | 159 +++++ .../01000BF0152FA000/12024D08CCFD25EB.yaml | 75 ++ .../010010B00DDA2000/8A39E660F956BB00.yaml | 159 +++++ .../010010F01418E000/49CF6B0B0A62F9E2.yaml | 339 +++++++++ .../0100154019A7C000/BE2D1A84420113EC.yaml | 159 +++++ .../010015F018C3C000/593BD545295A65FB.yaml | 135 ++++ .../010016A00AEC0000/5C9CCD358BE85FC9.yaml | 66 ++ .../0100182014022000/56EEFA704373BDB3.yaml | 159 +++++ .../01001890167FE000/5F7A2866D8E20BBA.yaml | 159 +++++ .../010018C01B106000/63B72CD5F2A90020.yaml | 159 +++++ .../010019C00E9CC000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../010019C00E9CC000/D27FD8A515077F34.yaml | 224 ++++++ .../01001A0011798000/66B2DEA98B5CDF65.yaml | 75 ++ .../01001A9018560000/323631B628A32D84.yaml | 159 +++++ .../01001C400E9D8000/737E56D43D2C0B38.yaml | 192 +++++ .../01001CF0190C2000/4C6727375D877B90.yaml | 159 +++++ .../01001E3017A10000/1C38F0E269ED4438.yaml | 91 +++ .../01001F3018880000/DF556AF2E30073C0.yaml | 159 +++++ .../010020B016EF4000/7E25622D50D562BF.yaml | 276 ++++++++ .../01002620102C6000/7D1714279435589C.yaml | 75 ++ .../010027400CDC6000/4979B200D53BB282.yaml | 92 +++ .../010028D00BA1A000/85E49C169A8B988A.yaml | 159 +++++ .../010029B0118E8000/799D1061182C1302.yaml | 220 ++++++ .../01002A501869E000/BFA92380757EF97D.yaml | 159 +++++ .../01002B00111A2000/C3CF52BF2B05D731.yaml | 141 ++++ .../01002B7013440000/A19E113723E5C32E.yaml | 159 +++++ .../01002C0015644000/3A3C781930CB8201.yaml | 225 ++++++ .../01002C400E526000/EF7B49570430043E.yaml | 159 +++++ .../0100300012F2A000/320A17744AEFD67F.yaml | 75 ++ .../0100309016E7A000/14C878ECCA9D7CB5.yaml | 224 ++++++ .../010032C00AC58000/2CDB9B9D70010E88.yaml | 99 +++ .../010036E00FB20000/1DA748FC9499882F.yaml | 102 +++ .../010038900DFE0000/E9578A470B175851.yaml | 159 +++++ .../010039400E8D6000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../010039400E8D6000/D27FD8A515077F34.yaml | 224 ++++++ .../01003980174BC000/217C9ECF258C0312.yaml | 224 ++++++ .../010039B015CB6000/39DC785D9073C22B.yaml | 102 +++ .../01003AE01AA76000/B3F271EF130A5338.yaml | 82 +++ .../01003BD00CAAE000/8B40EBBA7244C94A.yaml | 255 +++++++ .../01003CD01299E000/4232D493269475B2.yaml | 75 ++ .../01003D100E9C6000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../01003D100E9C6000/D27FD8A515077F34.yaml | 224 ++++++ .../01003E3014AFE000/69CACEEC5F01C41B.yaml | 75 ++ .../01003FB00C5A8000/DCDFA5A4AD9A175D.yaml | 83 +++ .../0100416004C00000/01ACE43E724259C3.yaml | 315 +++++++++ .../010042D00D900000/C6901CE5426C704A.yaml | 75 ++ .../0100438012EC8000/1A0EAEC3AE90B018.yaml | 159 +++++ .../010044500CF8E000/9B3DDF2FB9100E51.yaml | 161 +++++ .../010044700DEB0001/3DEF0E36AA8C6592.yaml | 81 +++ .../010046000EE40000/8F6B002FEB5D0F8E.yaml | 159 +++++ .../01004800197F0000/2058227F80E9B40C.yaml | 99 +++ .../01004800197F0000/6D722DED660CD6E3.yaml | 99 +++ .../01004800197F0000/B1C54D7E3540577B.yaml | 99 +++ .../010049B017774000/2F81A2EC9B298B37.yaml | 164 +++++ .../01004AB00A260000/DF3766A2BB651A3E.yaml | 328 +++++++++ .../01004BC0166CC000/44D207EA6428E3F1.yaml | 159 +++++ .../01004D300C5AE000/D9BA7DB72FFAFECD.yaml | 83 +++ .../01004DC00D936000/31CDAD67EA25CC16.yaml | 75 ++ .../0100500012AB4000/118AA7B71E824B3B.yaml | 159 +++++ .../010051B0131F0000/E0E9D0429A2458E1.yaml | 159 +++++ .../010051C0134F8000/13B450093A7DA8E2.yaml | 164 +++++ .../0100521017B2A000/249EAB9BF046C5EA.yaml | 159 +++++ .../01005420101DA000/134EC3D8BE75126F.yaml | 143 ++++ .../0100559011740000/5CE1FFBE4B433343.yaml | 96 +++ .../010056E00853A000/746F0D697EEEE2DD.yaml | 99 +++ .../010057D006492000/B88A8D8E5516DDE9.yaml | 99 +++ .../010057E00AC56000/2D5B93C856CDF009.yaml | 99 +++ .../0100582010AE0000/B3967105033ACC08.yaml | 532 ++++++++++++++ .../01005DF00DC26000/029C2837B0EEE8A9.yaml | 159 +++++ .../01005FD017E60000/448B5EEE940FF0B0.yaml | 224 ++++++ .../010060700AC50000/E853C44FDF18B88F.yaml | 136 ++++ .../0100626011656000/761CD556AB357C87.yaml | 159 +++++ .../010064400B138000/EB8A679B5DDD0060.yaml | 75 ++ .../010065A014024000/6FB56071CCB321B6.yaml | 159 +++++ .../0100664016D5C000/D45B9332B5742A70.yaml | 159 +++++ .../010066F01A0E0000/224357DED42E86ED.yaml | 159 +++++ .../0100670014482000/824B38A25986B2AB.yaml | 84 +++ .../0100670014482001/2B59D6C677258A2A.yaml | 89 +++ .../0100670014482002/0AE4D1770B196094.yaml | 82 +++ .../010069100B7F0000/A953B35A45BEA33D.yaml | 159 +++++ .../010069500DD86000/5AD84EFD9D28FDDE.yaml | 159 +++++ .../01006C300E9F0000/1719AABFA5EAE42B.yaml | 339 +++++++++ .../01006C600E46E000/6D5DB3434CCF63F2.yaml | 159 +++++ .../01006CB010840000/9F2F187D1C6E44EC.yaml | 159 +++++ .../01006CC01182C000/C31E59266A218855.yaml | 159 +++++ .../01006DC010326000/05DE5A7F20BD1532.yaml | 159 +++++ .../01006EC00F2CC000/F199FFD7D83F399E.yaml | 159 +++++ .../010070A00E9CE000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../010070A00E9CE000/D27FD8A515077F34.yaml | 224 ++++++ .../0100711017B30000/2C7A626BA5F25D5F.yaml | 99 +++ .../0100711017B30000/D7D0827ABE36A00D.yaml | 99 +++ .../010071800BA98000/173E2EDEA9E5D940.yaml | 135 ++++ .../010072900AFF0000/FE757B10B45C3444.yaml | 183 +++++ .../010073401175E000/E8DB38F170B0149D.yaml | 159 +++++ .../0100739018020000/035715948447A762.yaml | 219 ++++++ .../0100739018020000/E93D49581521E084.yaml | 220 ++++++ .../010073F0197DA000/75960383063ABB4E.yaml | 224 ++++++ .../010073F0197DA000/955DF07AA5F4497B.yaml | 224 ++++++ .../010074F013262000/0AE74B263D8AC3CF.yaml | 444 ++++++++++++ .../010074F013262000/8E18600222CE90C2.yaml | 427 +++++++++++ .../010074F013262000/B6BE4A6B83D4F237.yaml | 427 +++++++++++ .../010074F013262000/B76CD24AF02ACEA2.yaml | 152 ++++ .../010075A00BA14000/6888027D61CF603D.yaml | 75 ++ .../010076F00E9C8000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../010076F00E9C8000/D27FD8A515077F34.yaml | 224 ++++++ .../010077A012A5C000/F5ECE696120B65B3.yaml | 159 +++++ .../010077B00E046000/D2775FAFCF4835CB.yaml | 224 ++++++ .../01007B5017A12000/C56FA2C9627A26CF.yaml | 219 ++++++ .../01007B5017A12000/CE14D183190A44D2.yaml | 219 ++++++ .../01007E3006DDA000/D55608916FA56C18.yaml | 83 +++ .../01007FB010DC8000/D3744AF2C376CDC4.yaml | 159 +++++ .../0100801011C3E000/C4DF04F647BDC727.yaml | 192 +++++ .../0100830004FB6000/40F973CE3B5EC8D7.yaml | 135 ++++ .../010083501AB36000/0959D87753F9FED4.yaml | 159 +++++ .../010084F017B32000/2BFF5F7711EE6C9F.yaml | 99 +++ .../0100853015E86000/DA7D68D91AB5FA3C.yaml | 87 +++ .../010085500E9D0000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../010085500E9D0000/D27FD8A515077F34.yaml | 224 ++++++ .../010086C00AF7C000/C7DAB27F22ACD2ED.yaml | 87 +++ .../010087800DCEA000/6B0B26802F0DAAAF.yaml | 75 ++ .../01008C8012920000/8C93B930348C9787.yaml | 135 ++++ .../01008CB0156BC000/A3E80F5FE073639D.yaml | 132 ++++ .../01008CD0172D6000/D16558D855603353.yaml | 75 ++ .../01008D4015904000/CA77083E259D87A2.yaml | 159 +++++ .../01009040091E0000/F2FE5EF877839F4F.yaml | 255 +++++++ .../0100906014C3C000/EAB1DC1D53E319F9.yaml | 90 +++ .../0100926016012000/E44D9EFDB2F1D0A6.yaml | 75 ++ .../010092A0172E4000/C4067E8CB3258656.yaml | 165 +++++ .../0100947013122000/9FC46F388F6C684C.yaml | 78 ++ .../0100956016464000/F9C83728910E28A4.yaml | 159 +++++ .../010097100EDD6000/7F4216B6E784A4B2.yaml | 156 ++++ .../010099900CAB2000/F2F739A2F1CAFF72.yaml | 75 ++ .../010099C01896C000/60B9AE6094566A23.yaml | 159 +++++ .../01009E701356A000/72E8F20EBBDBA296.yaml | 159 +++++ .../01009EE0111CC000/EE20B8DD92B8F9B4.yaml | 106 +++ .../01009F8017F48000/69EE5F71F187EAA9.yaml | 159 +++++ .../01009FE010876000/407978D722447B25.yaml | 192 +++++ .../0100A0800E9C4000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../0100A0800E9C4000/D27FD8A515077F34.yaml | 224 ++++++ .../0100A3501946E000/BB891294DA55675E.yaml | 99 +++ .../0100A55019C38000/B9DB6040F70BE58F.yaml | 159 +++++ .../0100A6B01900E000/9E0901B84058B5B4.yaml | 99 +++ .../0100A73016576000/4E2AA28721AFF2C1.yaml | 75 ++ .../0100A88012504000/116535367286904C.yaml | 75 ++ .../0100A8B00F0B4000/92511355705EA8C5.yaml | 159 +++++ .../0100A8E016236000/82AF4E16BBC0BEC8.yaml | 83 +++ .../0100A93016BF4000/770A07C35E631CB2.yaml | 159 +++++ .../0100AA400A238000/14D7D1537BD5A986.yaml | 159 +++++ .../0100AA60136D2000/F73C6504D378C38B.yaml | 159 +++++ .../0100AD0014AB4000/AC8C8EC9DB1A8EF4.yaml | 90 +++ .../0100AD10102B2000/D89FFAA2062E373D.yaml | 75 ++ .../0100AE7010434000/5915CDDDC4EEA6CD.yaml | 159 +++++ .../0100B04011742000/11C9CE3F0676EEFD.yaml | 96 +++ .../0100B04011742000/55D50CA1805E9C5B.yaml | 96 +++ .../0100B04011742000/60EFBA0CB724E3FE.yaml | 96 +++ .../0100B04011742000/9B50DDD970E50DD5.yaml | 96 +++ .../0100B16009C10000/490D681909609015.yaml | 164 +++++ .../0100B1A00D8CE000/5AF6F31EAC42D8C0.yaml | 375 ++++++++++ .../0100B28014132000/810CBA3D7DB83EC0.yaml | 266 +++++++ .../0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml | 224 ++++++ .../0100B750198C6000/CEE6B8B19D3A863E.yaml | 159 +++++ .../0100B7A01386E000/39F1BCCB912A12DF.yaml | 159 +++++ .../0100B8501771A000/78BF042012CF9EE8.yaml | 159 +++++ .../0100B870126CE000/019FBFE7738EA314.yaml | 159 +++++ .../0100BB000A3AA000/B61F280560A937D2.yaml | 75 ++ .../0100BD000CB2C000/1F1363EC8CC83C73.yaml | 159 +++++ .../0100BDB01A0E6000/58636D33E56B931B.yaml | 99 +++ .../0100BDB01A0E6000/6B6D4D60E3187FFC.yaml | 99 +++ .../0100BDB01A0E6000/A8D4FEE18023F15C.yaml | 99 +++ .../0100BDB01A0E6000/E0A5A92EA4F37A3A.yaml | 99 +++ .../0100BF500207C000/12E0B62494B22F62.yaml | 166 +++++ .../0100BFE00E9CA000/4FFB62F1CD9E17F8.yaml | 224 ++++++ .../0100BFE00E9CA000/D27FD8A515077F34.yaml | 224 ++++++ .../0100C09014530000/D92F465FE9920BB6.yaml | 91 +++ .../0100C0F0020E8000/D0798521F563E6A7.yaml | 99 +++ .../0100C1300BBC6000/59719CFCD1671B98.yaml | 99 +++ .../0100C3C012718000/2CF52C8DA4468946.yaml | 159 +++++ .../0100C6C010AE4000/FE211DBFAD6EA549.yaml | 70 ++ .../0100C7300EEE4000/54211726D36A8D9C.yaml | 75 ++ .../0100CA800F9B2000/32BF1643370F70AA.yaml | 99 +++ .../0100CC00102B4000/8AFCBE6A930CD42E.yaml | 159 +++++ .../0100CC80140F8000/2AA7F33234696651.yaml | 159 +++++ .../0100CC80140F8000/F7C20294EFF7E6FA.yaml | 159 +++++ .../0100CD3010AE2000/53EA0196A4AEB260.yaml | 512 ++++++++++++++ .../0100CDC013238000/D626F7A72AF54744.yaml | 136 ++++ .../0100D210177C6000/9510D677DCCE4447.yaml | 75 ++ .../0100D30010C42000/682F4A502035678D.yaml | 159 +++++ .../0100D3C010DE8000/59159483CF88330F.yaml | 140 ++++ .../0100D4900E82C000/85C362CC9790F0ED.yaml | 75 ++ .../0100D4A00B284000/49F3DD78CB5490B5.yaml | 159 +++++ .../0100D4A00B284000/5418E22D160F766F.yaml | 159 +++++ .../0100D560102C8000/48681F1D90704F6C.yaml | 75 ++ .../0100D77019324000/A52C9938956331C9.yaml | 159 +++++ .../0100D7F00FB1A000/D871B992E95B71C5.yaml | 102 +++ .../0100D8700B712000/C56E6F514FADC5C5.yaml | 189 +++++ .../0100DC301186A000/EE295EAAEA7D31E4.yaml | 159 +++++ .../0100DCA0064A6000/79E5950FFA85ACF6.yaml | 113 +++ .../0100DCF0093EC000/71873FEB4648FA39.yaml | 159 +++++ .../0100DFC00E472000/448C08A9533F3CAD.yaml | 159 +++++ .../0100E1C0148F8000/77C053D779EE97F6.yaml | 159 +++++ .../0100E2701A888000/1F0710E2B6C1DEAD.yaml | 188 +++++ .../0100E5900F49A000/A8BA2A8F93AAE647.yaml | 81 +++ .../0100E66010ADE000/45CE2B6625A35771.yaml | 460 ++++++++++++ .../0100E87017D0E000/ACF3FF125C2A3E68.yaml | 159 +++++ .../0100F0400E850000/85C362CC9790F0ED.yaml | 75 ++ .../0100F3200E7CA000/254DF6A118587EA0.yaml | 88 +++ .../0100F4F014108000/2284DFB25F387719.yaml | 224 ++++++ .../0100F8F014190000/AF7114F019CE6E1D.yaml | 159 +++++ .../0100FA2019AC2000/1DF30F9632347530.yaml | 75 ++ .../0100FD101186C000/BF0088C59D7E97C0.yaml | 99 +++ .../0100FF500E34A000/92C78BB3DCBBC3F7.yaml | 72 ++ SaltySD/saltysd_core.elf | Bin 0 -> 406664 bytes atmosphere/config/override_config.ini | 18 + atmosphere/config/system_settings.ini | 127 ++++ .../contents/0000000000534C56/exefs.nsp | Bin 0 -> 142421 bytes .../0000000000534C56/flags/boot2.flag | 0 .../contents/0000000000534C56/toolbox.json | 5 + .../contents/00FF0000636C6BFF/exefs.nsp | Bin 0 -> 173525 bytes .../00FF0000636C6BFF/flags/boot2.flag | 0 .../contents/420000000007E51A/exefs.nsp | Bin 0 -> 25336 bytes .../420000000007E51A/flags/boot2.flag | 0 .../contents/420000000007E51A/toolbox.json | 5 + ...DCD930D0A7462451E9973AB2022D697C77614B.ips | Bin 0 -> 17 bytes ...E4EB5556B98B327D1353E8AA2C7ADF2C544470.ips | Bin 0 -> 35 bytes ...14E9102F1EBCD1B0EAF19C927362CFCB8B5D2C.ips | Bin 0 -> 35 bytes ...7904316C924326084288641825FE5DC259AF6B.ips | Bin 0 -> 17 bytes ...E95FF2929B5B767DCFD41D108AD927D2D7F5DC.ips | Bin 0 -> 35 bytes ...E7884F7DDEA9BE4FF9F7187898FACC466A080A.ips | Bin 0 -> 35 bytes ...8BF56DBEC7225D2EE666B009C42C0DC4552010.ips | Bin 0 -> 35 bytes ...B9AFAED8A9093A3D88F6D61158B1C165F9444A.ips | Bin 0 -> 17 bytes ...A09E1AF740A91D0F73ADFAE81A63E8AC0610D2.ips | Bin 0 -> 35 bytes ...1351EB04199CF0B7A899896C451F2FD1B7A1CE.ips | Bin 0 -> 17 bytes ...35C20E752183914606CCE81293F24B738C3AEF.ips | Bin 0 -> 35 bytes ...935CA6235CA150D790D4DDF09CA3488AEF50D8.ips | Bin 0 -> 35 bytes ...BB737D9780E9FE3117981A77A09FF6756DBC2E.ips | Bin 0 -> 17 bytes ...1B205852731D054B070529D320AD9649E7796C.ips | Bin 0 -> 35 bytes ...E7D98BD335371E1B9A96F6241EA3E83B0C36F4.ips | Bin 0 -> 35 bytes ...BFC6518707AC975295A0B656A051DA885A9045.ips | Bin 0 -> 35 bytes ...F2D40A2210C4EE1137F80098DB776EAC7DDCC1.ips | Bin 0 -> 35 bytes ...8FB4F82D3E2D56720E1EDB14AB06543343E042.ips | Bin 0 -> 35 bytes ...ECC9483E636AE19FE3E314DB41CB18019977D7.ips | Bin 0 -> 17 bytes ...D2430244D162C9FAABE8C89A58C6E3962160F1.ips | Bin 0 -> 35 bytes ...81B1898637E5BC40DBC4AB8F0C6324447E05D1.ips | Bin 0 -> 35 bytes ...8ABC3EF41A0555800127D172C9B8D2C653243A.ips | Bin 0 -> 35 bytes ...5FBA401BAC3CDDEA4917DE22E8B426B3A6C3AD.ips | Bin 0 -> 35 bytes ...6D615F9FC6F0D16C3458BE58C64594DBDAB0DF.ips | Bin 0 -> 35 bytes ...2CFF283777465AFBCC6E160C10EFE7AADC4D3C.ips | Bin 0 -> 35 bytes ...774C42DFCB8B9D7AA61550D6AF7D335472556C.ips | Bin 0 -> 21 bytes ...ED90979B380C6415F975F5B784BEA2B4730E8C.ips | Bin 0 -> 21 bytes ...F10952AE80CFADC39A0BF59EA4E552EF4A4528.ips | Bin 0 -> 21 bytes ...0F71259BCA1E97EA3663CBD6EC9315951F9E96.ips | Bin 0 -> 21 bytes ...35E2DADB4DD570DD811ABF521FA91AC3C7B717.ips | Bin 0 -> 21 bytes ...A461C7B6CAE6B88EDF4F914F7CBCF0943B10BB.ips | Bin 0 -> 21 bytes ...E25CDEEED5C6520AC2AC8E5EAE01CD8FC46E40.ips | Bin 0 -> 21 bytes ...02D68B1DCD2AFFBAED14B5933F81F3C327E537.ips | Bin 0 -> 21 bytes ...43F840337C28D453718843608EEFF78AFD460B.ips | Bin 0 -> 21 bytes ...F07326B6B50CA37F19C1C44F9458406C536B30.ips | Bin 0 -> 21 bytes ...1206E6B5078EFC4E2C30D7B33E33AD266538C6.ips | Bin 0 -> 21 bytes ...B532EA199207191F04CE3DDECEC854C7CF07D6.ips | Bin 0 -> 21 bytes ...9014BFCFE462FD76B2BB3454FB304F63C73AC2.ips | Bin 0 -> 21 bytes ...72C47F0310F7C9F487047D8EB42DBB96882088.ips | Bin 0 -> 21 bytes ...88828ADF447425D97901462EBF732D2E29BC4E.ips | Bin 0 -> 21 bytes ...C3AEE4E5A954908BEBAEDEA2010095E9E521B2.ips | Bin 0 -> 21 bytes ...5F50FBA10E06A3EBA3D3FACB9E075B218C7D6D.ips | Bin 0 -> 21 bytes ...32FB6D8F36668C586E538E32576A8D6A3931C0.ips | Bin 0 -> 21 bytes ...966381A806655B718F1BF11DB5FF836E3085F7.ips | Bin 0 -> 21 bytes ...91B5A61E423F51FB83B2C9E6C153CC5AE27DCB.ips | Bin 0 -> 21 bytes ...7D1506009B340829CD545B2A3F3AA7881FBADA.ips | Bin 0 -> 21 bytes ...2361E0D66DC01AFA3B5116532E5E1ED569C578.ips | Bin 0 -> 21 bytes ...BFDADD5C69E17D43B7C67E2B2EE8B2E50C8E1F.ips | Bin 0 -> 21 bytes ...53CB863709DFFEC19C0889F61D4C424AFFD4ED.ips | Bin 0 -> 21 bytes atmosphere/hbl.nsp | Bin 0 -> 41554 bytes atmosphere/hosts/default.txt | 0 atmosphere/hosts/domains.txt | 46 ++ ...E0377EF526CE6AD2AC6F2CAD7180CE69E74311.ips | Bin 0 -> 80 bytes ...6F10FB367A00BBD8B7D8D1F25CCE0B458D7E89.ips | Bin 0 -> 80 bytes ...2BE3D1243193792E0920955DBC17F5794FDE28.ips | Bin 0 -> 80 bytes ...E991B6A06EBAFB3378DF02BF6B494075976F06.ips | Bin 0 -> 17 bytes ...DDE56628A27116CFC4D8B2AF42BDEEBF97205B.ips | Bin 0 -> 84 bytes ...AC2DF1E2BCAB3BC19DC5CD63DB6FAEC0947097.ips | Bin 0 -> 98 bytes ...A2B78BC5879FC07BE88A4FC9E16812971BC161.ips | Bin 0 -> 17 bytes ...54669ECC5AE576F42D2A9FF6424C623B98E8D8.ips | Bin 0 -> 26 bytes ...99C93305D6A69D465CF597D67465CD69BACCE8.ips | Bin 0 -> 35 bytes ...74BED302613F1E442581FD863708E39112DB50.ips | Bin 0 -> 35 bytes ...0276B3EAD664DA79826FA936F99803B6C28F3B.ips | Bin 0 -> 98 bytes ...FA20546D033EFB1D8EB9B7A8E5ABAB71F39F43.ips | Bin 0 -> 26 bytes ...90F306A5AA5DEC70024D4F9461F94C8E0206AE.ips | Bin 0 -> 26 bytes ...076B11737132EBB1484CF906B6A8EB3B1BF459.ips | Bin 0 -> 98 bytes ...14F7A4845A1F42AAD795573FD2865DADE1C5E0.ips | Bin 0 -> 17 bytes ...D9F762CBA1185ADDAD4EC3C479EC8FBFEC31DD.ips | Bin 0 -> 35 bytes ...C6D03C01D504CC0B17F4FAA919446E7E9DB107.ips | Bin 0 -> 26 bytes ...CE4A5A1DA2D5C393F74224F8BC09DE4AAA4217.ips | Bin 0 -> 80 bytes ...9756804CFF57907E2EAC7BD8E9C1FC1C7B96CE.ips | Bin 0 -> 26 bytes ...CCC371BE2158BF6DD889326648D5C83D50CECF.ips | Bin 0 -> 80 bytes ...0A0D9A222E89805044A6C04ADAB26D2AA1AA5E.ips | Bin 0 -> 26 bytes ...F5D3090215C46F37BD079442977A85B8243BA5.ips | Bin 0 -> 35 bytes ...72DFCFB69D8F1261D80A60F3AC25AC9C90C230.ips | Bin 0 -> 26 bytes ...CEBB93E3E9695C7CFD390F00509B1204101C24.ips | Bin 0 -> 98 bytes ...6957A4B1271C1F8201B99735D8DF152E7913F1.ips | Bin 0 -> 35 bytes ...FD83D0B662AA7177E935C04C36EAC21BAC24AA.ips | Bin 0 -> 26 bytes ...413B0B64CE03BD9BBFEB26F2B3E01C5427C69E.ips | Bin 0 -> 80 bytes ...1F745440422037DAA3537CEF4E856C40273F78.ips | Bin 0 -> 17 bytes ...CC09B3E468E6C78F315F927FBEDD91B16DE27A.ips | Bin 0 -> 26 bytes ...91A36CD1B2DFB2DA2F0AB4A93F03097BB894E0.ips | Bin 0 -> 26 bytes ...D901A62A2452B04F5C5FB86500A2172CC44641.ips | Bin 0 -> 80 bytes ...785A0CD7AA9DC1A63C57D10049423DE7B77E2C.ips | Bin 0 -> 98 bytes ...BAEFE780310AE643D319D6A7A149B9688651A5.ips | Bin 0 -> 80 bytes ...86F3317D20659A8AC8510D8ECF4CE1BD7593E2.ips | Bin 0 -> 17 bytes ...A23B06AFFF5A98055576D5F337A621C0233CE3.ips | Bin 0 -> 35 bytes ...F609C363834471BF18CA375CB6A1DEB77755EA.ips | Bin 0 -> 35 bytes ...42F75B0159771671F73082448ACE30BD6BAE89.ips | Bin 0 -> 35 bytes ...816846605A64739523B4894F847BBED59E31EA.ips | Bin 0 -> 17 bytes ...45535B6829EFE64EF4AAF0DF8DA19885FE4A9A.ips | Bin 0 -> 84 bytes ...2B32B432340DD2C7590CDEFC03E51B844AE805.ips | Bin 0 -> 98 bytes ...E10911FA539A348B7C3D64CE9BA74D9E0355DE.ips | Bin 0 -> 26 bytes ...F0989405AF741A5C7C033AB3EB0EC8680AD98F.ips | Bin 0 -> 26 bytes ...DEA582B13D475B74BCB02B998C66AB1B3E4309.ips | Bin 0 -> 26 bytes ...72EEDFC11FD8626146B388E5E59322719B6AF7.ips | Bin 0 -> 17 bytes ...452D32FD4F7922E5E29A281695B578347F8161.ips | Bin 0 -> 84 bytes ...E0F78013A3684D8AB5D128096674A8F7755B3D.ips | Bin 0 -> 35 bytes ...F940597E0B8EBFF2AC701F34F9997CCB531CDE.ips | Bin 0 -> 17 bytes ...095BB4010856AF280201552F38273B44CECD6F.ips | Bin 0 -> 95 bytes ...EEEF66E5D14BCA2ED73454455FD87C615EEDC0.ips | Bin 0 -> 17 bytes ...961C879F5E90696C1224A1BBE0FF1BCDBFD7DC.ips | Bin 0 -> 17 bytes ...16181814CBD72E915E153174332C6BEAA41FC3.ips | Bin 0 -> 84 bytes ...55B24E4EF924A3DB5F9158792F57FA11DA83A1.ips | Bin 0 -> 26 bytes ...5B7FC305B54F961024BF432575296E4D52BC99.ips | Bin 0 -> 35 bytes ...04582C551A52BACAFA4E8A5D34B88BA6B7BB6C.ips | Bin 0 -> 24 bytes ...DB8C58B9F0B25B6A847F9271019D81B3AEC8C4.ips | Bin 0 -> 14 bytes ...13399DFEE366E615A290418E56838122135EB9.ips | Bin 0 -> 14 bytes ...1013f66c74e7c8f8d1b7038ab7fe8ba9d5ac24.ips | Bin 0 -> 14 bytes ...8EAF3C748E5EF0F4B986B59945F40BF4F3EE2C.ips | Bin 0 -> 14 bytes ...5F755A4AB97A86213F0A8CE4E1C18DF5A79EE8.ips | Bin 0 -> 14 bytes ...90C27C7D3F42E6504DF328F42ACC280EB05D1B.ips | Bin 0 -> 26 bytes ...bfbfbf921b65e187739382fbccccecd64d93e0.ips | Bin 0 -> 14 bytes ...5D2C1FC6A0B6B8485EBECF5F6E872DB0B1A6FE.ips | Bin 0 -> 26 bytes ...7789eb8bdf23d08a5af8d60220ae085dd3d9cc.ips | Bin 0 -> 14 bytes ...7170FF8EA1CC057DBE2E5C58ADD8A442BD0CA8.ips | Bin 0 -> 30 bytes ...420B6DB7A06F9EAFC9E07A265F90426723EC4F.ips | Bin 0 -> 14 bytes ...8454DF112572ECC342A366957270362700E787.ips | Bin 0 -> 26 bytes ...FEE0C68DF07ED0ACBC7B4A0F241A5DF6CC4B99.ips | Bin 0 -> 14 bytes ...0EC2BD30008CC3968FF0A78BFDCE7091D56C94.ips | Bin 0 -> 14 bytes ...611C63664793EFC3D57E4B42D3786ECEC5B1DF.ips | Bin 0 -> 14 bytes ...7BB9554548878EC4A0A11800B3FB4C53501424.ips | Bin 0 -> 14 bytes ...707E6EE28C90608EFA7ABCCA5BE1F86A12E85B.ips | Bin 0 -> 14 bytes ...C9819598865C79BF87674C63B6D248FA7A0BA4.ips | Bin 0 -> 26 bytes ...8302A16B65F6C021A8DE945BF06268535E209D.ips | Bin 0 -> 14 bytes ...52B31F02664020BF29D4F185168B2C4D713F9D.ips | Bin 0 -> 14 bytes ...4F76F2B5E56467A377D9576A8BDBE22E3CA2EA.ips | Bin 0 -> 43 bytes ...511DF68A40CD5BC25485FB3F2C33363CA43601.ips | Bin 0 -> 14 bytes ...A3B24D525C70FC0F9407851FD8EF81067F9386.ips | Bin 0 -> 14 bytes ...921CC39846BC72F7B8DBE2DE24321110054564.ips | Bin 0 -> 14 bytes ...C9B57D0946666C46CD78405827C23205631EC6.ips | Bin 0 -> 14 bytes ...7A34CC8BB97F475AE6521353C40777DC3D3B40.ips | Bin 0 -> 24 bytes ...8A32C0E97D52EBD9073DBFDE33A1506AAA750A.ips | Bin 0 -> 14 bytes ...CD8B6A1709B57131C893084C65C220C683456A.ips | Bin 0 -> 14 bytes ...2a33edd8cfcf8e485a0d3bb000e1bddbffbfc3.ips | Bin 0 -> 14 bytes ...4F1C0609C267A677C9CEBA7D04E53FF69FD8E8.ips | Bin 0 -> 14 bytes ...dafb628e4172a48c78026b71fc3c5695f4ec53.ips | Bin 0 -> 14 bytes ...18FD367678CC2E79B6BFC97A2369B0D62323E2.ips | Bin 0 -> 14 bytes ...8AF2E0D97199443C06280A7E6505E730D26651.ips | Bin 0 -> 14 bytes ...E1DD9BE7FE0265A8FCA67C1758E42F24D318CF.ips | Bin 0 -> 14 bytes ...FEA1FDDFF58511A482F5387DE25FAD822C27C0.ips | Bin 0 -> 30 bytes ...57B120E622429CEEE5A890F4325666B89087B8.ips | Bin 0 -> 14 bytes ...6FAE64D06D3F363146FCAD7AFAB0CADF83F8FB.ips | Bin 0 -> 14 bytes ...EB2380B09F1A45037F423195E800ED8C8E2A94.ips | Bin 0 -> 14 bytes ...23DEE157CCAFA282CEB3019C6F1CC6444FD31D.ips | Bin 0 -> 14 bytes ...79F720A20782D2530189EB981A854582EC14A1.ips | Bin 0 -> 14 bytes ...1B16BC915C4FB182A754E79B1A76628C1CEFE0.ips | Bin 0 -> 14 bytes ...8E183E08739FD70501652158FE11FD00F6565E.ips | Bin 0 -> 14 bytes ...3FB13433208A10EBDF2A59F80358438C7E81F5.ips | Bin 0 -> 14 bytes ...DCD8CA64B6376D95673E9BA9A44CA775FEF7B6.ips | Bin 0 -> 14 bytes ...604B1AFEDE706138FBD3FF907E5AAFD595415F.ips | Bin 0 -> 14 bytes ...24D0B564B85AB962DA739993323A19E3C418E1.ips | Bin 0 -> 14 bytes ...84198C04A5598DAC310F31649B333612ECF76B.ips | Bin 0 -> 14 bytes ...aa42c11383b66d055670949e4744533d477e80.ips | Bin 0 -> 14 bytes ...09b8ebb95ed512aca4a33437fac1a257d2f0ce.ips | Bin 0 -> 14 bytes ...064c0434c061f47cba9f7a146f47e3edd64d9e.ips | Bin 0 -> 14 bytes ...d4aa4aa29ab3b57a33379cc697ec23c0ef4704.ips | Bin 0 -> 14 bytes atmosphere/package3 | Bin 0 -> 8388608 bytes atmosphere/reboot_payload.bin | Bin 0 -> 109888 bytes atmosphere/stratosphere.romfs | Bin 0 -> 1549724 bytes boot.dat | Bin 0 -> 11520 bytes boot.ini | 2 + bootloader/hekate_ipl.ini | 36 + bootloader/nyx.ini | 11 + bootloader/patches.ini | 666 ++++++++++++++++++ bootloader/res/atmo_cfw.bmp | Bin 0 -> 147512 bytes bootloader/res/atmo_sm.bmp | Bin 0 -> 147512 bytes bootloader/res/bootscreen.bmp | Bin 0 -> 3686456 bytes bootloader/res/stock.bmp | Bin 0 -> 147512 bytes bootloader/sys/emummc.kipm | Bin 0 -> 360576 bytes bootloader/sys/l4t/bpmpfw.bin | Bin 0 -> 94692 bytes bootloader/sys/l4t/bpmpfw_b01.bin | Bin 0 -> 192852 bytes bootloader/sys/l4t/mtc_tbl_b01.bin | Bin 0 -> 141904 bytes bootloader/sys/l4t/sc7entry.bin | Bin 0 -> 1764 bytes bootloader/sys/l4t/sc7exit.bin | Bin 0 -> 2420 bytes bootloader/sys/l4t/sc7exit_b01.bin | Bin 0 -> 3624 bytes bootloader/sys/libsys_lp0.bso | Bin 0 -> 43660 bytes bootloader/sys/libsys_minerva.bso | Bin 0 -> 112492 bytes bootloader/sys/nyx.bin | Bin 0 -> 439660 bytes bootloader/sys/res.pak | Bin 0 -> 355072 bytes bootloader/sys/thk.bin | Bin 0 -> 7936 bytes bootloader/update.bin | Bin 0 -> 109888 bytes config/aio-switch-updater/custom_packs.json | 9 + config/aio-switch-updater/hide_tabs.json | 18 + config/aio-switch-updater/preserve.txt | 5 + config/tesla/config.ini | 3 + config/ultrapaw/lang/de.json | 73 ++ config/ultrapaw/lang/en.json | 73 ++ config/ultrapaw/lang/es.json | 73 ++ config/ultrapaw/lang/fr.json | 73 ++ config/ultrapaw/lang/it.json | 73 ++ config/ultrapaw/lang/ja.json | 73 ++ config/ultrapaw/lang/kr.json | 73 ++ config/ultrapaw/lang/nl.json | 73 ++ config/ultrapaw/lang/pt.json | 73 ++ config/ultrapaw/lang/ru.json | 73 ++ config/ultrapaw/lang/zh-cn.json | 73 ++ config/ultrapaw/overlays.ini | 14 + config/ultrapaw/packages.ini | 9 + config/ultrapaw/ultra.ini | 7 + exosphere.ini | 51 ++ fix atributes.bat | 1 + hbmenu.nro | Bin 0 -> 1591283 bytes payload.bin | Bin 0 -> 109888 bytes switch/.overlays/FPSLocker.ovl | Bin 0 -> 626744 bytes switch/.overlays/InfoNX-ovl.ovl | Bin 0 -> 294968 bytes switch/.overlays/ReverseNX-RT-ovl.ovl | Bin 0 -> 286776 bytes switch/.overlays/Status-Monitor-Overlay.ovl | Bin 0 -> 438328 bytes switch/.overlays/Ultra.ovl | Bin 0 -> 364600 bytes switch/.overlays/ovlEdiZon.ovl | Bin 0 -> 370885 bytes switch/.overlays/ovlSysmodules.ovl | Bin 0 -> 393272 bytes switch/.overlays/ovlmenu.ovl | Bin 0 -> 1552440 bytes switch/.packages/Ultra Tuner | 1 + switch/DBI/DBI.nro | Bin 0 -> 6216513 bytes .../aio-switch-updater/aio-switch-updater.nro | Bin 0 -> 9078633 bytes 447 files changed, 36171 insertions(+) create mode 100644 SaltySD/exceptions.txt create mode 100644 SaltySD/flags/log.flag create mode 100644 SaltySD/plugins/FPSLocker/patches/010000400F582000/02F2E5C8CBF5A92F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010000600CD54000/78885A1CA987C04C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100040016EE2000/331E3DFBDF650226.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100041018810000/B8BE1CFAE53CAEBE.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010007B010FCC000/4EEA2970DF38ECE1.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01000A10041EA000/771BDFB65F8D0AF7.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01000BD00CE64000/E417100FFEEFD1DE.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01000BF0152FA000/12024D08CCFD25EB.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010010B00DDA2000/8A39E660F956BB00.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100154019A7C000/BE2D1A84420113EC.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010015F018C3C000/593BD545295A65FB.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010016A00AEC0000/5C9CCD358BE85FC9.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100182014022000/56EEFA704373BDB3.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01001890167FE000/5F7A2866D8E20BBA.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010018C01B106000/63B72CD5F2A90020.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01001A0011798000/66B2DEA98B5CDF65.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01001A9018560000/323631B628A32D84.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01001C400E9D8000/737E56D43D2C0B38.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01001CF0190C2000/4C6727375D877B90.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01001E3017A10000/1C38F0E269ED4438.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01001F3018880000/DF556AF2E30073C0.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010020B016EF4000/7E25622D50D562BF.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01002620102C6000/7D1714279435589C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010028D00BA1A000/85E49C169A8B988A.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01002A501869E000/BFA92380757EF97D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01002B00111A2000/C3CF52BF2B05D731.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01002B7013440000/A19E113723E5C32E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01002C400E526000/EF7B49570430043E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100300012F2A000/320A17744AEFD67F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010032C00AC58000/2CDB9B9D70010E88.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010036E00FB20000/1DA748FC9499882F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010038900DFE0000/E9578A470B175851.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010039400E8D6000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010039400E8D6000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/B3F271EF130A5338.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003BD00CAAE000/8B40EBBA7244C94A.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003CD01299E000/4232D493269475B2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003E3014AFE000/69CACEEC5F01C41B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01003FB00C5A8000/DCDFA5A4AD9A175D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100416004C00000/01ACE43E724259C3.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010042D00D900000/C6901CE5426C704A.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100438012EC8000/1A0EAEC3AE90B018.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010046000EE40000/8F6B002FEB5D0F8E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004800197F0000/2058227F80E9B40C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004800197F0000/6D722DED660CD6E3.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004800197F0000/B1C54D7E3540577B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004BC0166CC000/44D207EA6428E3F1.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01004DC00D936000/31CDAD67EA25CC16.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100500012AB4000/118AA7B71E824B3B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010051B0131F0000/E0E9D0429A2458E1.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010051C0134F8000/13B450093A7DA8E2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100521017B2A000/249EAB9BF046C5EA.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100559011740000/5CE1FFBE4B433343.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010057D006492000/B88A8D8E5516DDE9.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010057E00AC56000/2D5B93C856CDF009.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01005DF00DC26000/029C2837B0EEE8A9.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01005FD017E60000/448B5EEE940FF0B0.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100626011656000/761CD556AB357C87.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010064400B138000/EB8A679B5DDD0060.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010065A014024000/6FB56071CCB321B6.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100664016D5C000/D45B9332B5742A70.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010066F01A0E0000/224357DED42E86ED.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010069100B7F0000/A953B35A45BEA33D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010069500DD86000/5AD84EFD9D28FDDE.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01006C300E9F0000/1719AABFA5EAE42B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01006C600E46E000/6D5DB3434CCF63F2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01006CB010840000/9F2F187D1C6E44EC.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01006CC01182C000/C31E59266A218855.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01006EC00F2CC000/F199FFD7D83F399E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100711017B30000/2C7A626BA5F25D5F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100711017B30000/D7D0827ABE36A00D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010071800BA98000/173E2EDEA9E5D940.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010073401175E000/E8DB38F170B0149D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100739018020000/035715948447A762.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100739018020000/E93D49581521E084.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010073F0197DA000/75960383063ABB4E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010074F013262000/0AE74B263D8AC3CF.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010074F013262000/8E18600222CE90C2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010074F013262000/B6BE4A6B83D4F237.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010074F013262000/B76CD24AF02ACEA2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010075A00BA14000/6888027D61CF603D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010077A012A5C000/F5ECE696120B65B3.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01007B5017A12000/C56FA2C9627A26CF.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01007B5017A12000/CE14D183190A44D2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01007E3006DDA000/D55608916FA56C18.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01007FB010DC8000/D3744AF2C376CDC4.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100801011C3E000/C4DF04F647BDC727.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010083501AB36000/0959D87753F9FED4.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010084F017B32000/2BFF5F7711EE6C9F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100853015E86000/DA7D68D91AB5FA3C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010085500E9D0000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010085500E9D0000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010087800DCEA000/6B0B26802F0DAAAF.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/A3E80F5FE073639D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01008CD0172D6000/D16558D855603353.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01008D4015904000/CA77083E259D87A2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01009040091E0000/F2FE5EF877839F4F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100906014C3C000/EAB1DC1D53E319F9.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100926016012000/E44D9EFDB2F1D0A6.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010092A0172E4000/C4067E8CB3258656.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100947013122000/9FC46F388F6C684C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010097100EDD6000/7F4216B6E784A4B2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010099900CAB2000/F2F739A2F1CAFF72.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/010099C01896C000/60B9AE6094566A23.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01009E701356A000/72E8F20EBBDBA296.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01009EE0111CC000/EE20B8DD92B8F9B4.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01009F8017F48000/69EE5F71F187EAA9.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/01009FE010876000/407978D722447B25.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A3501946E000/BB891294DA55675E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A55019C38000/B9DB6040F70BE58F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A6B01900E000/9E0901B84058B5B4.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A73016576000/4E2AA28721AFF2C1.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A88012504000/116535367286904C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A8B00F0B4000/92511355705EA8C5.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A8E016236000/82AF4E16BBC0BEC8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100A93016BF4000/770A07C35E631CB2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100AA400A238000/14D7D1537BD5A986.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100AA60136D2000/F73C6504D378C38B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100AD0014AB4000/AC8C8EC9DB1A8EF4.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100AD10102B2000/D89FFAA2062E373D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100AE7010434000/5915CDDDC4EEA6CD.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B04011742000/11C9CE3F0676EEFD.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B04011742000/55D50CA1805E9C5B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B04011742000/60EFBA0CB724E3FE.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B04011742000/9B50DDD970E50DD5.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B1A00D8CE000/5AF6F31EAC42D8C0.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B28014132000/810CBA3D7DB83EC0.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B750198C6000/CEE6B8B19D3A863E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B7A01386E000/39F1BCCB912A12DF.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B8501771A000/78BF042012CF9EE8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100B870126CE000/019FBFE7738EA314.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BB000A3AA000/B61F280560A937D2.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BD000CB2C000/1F1363EC8CC83C73.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/58636D33E56B931B.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/6B6D4D60E3187FFC.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/A8D4FEE18023F15C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/E0A5A92EA4F37A3A.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BF500207C000/12E0B62494B22F62.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/4FFB62F1CD9E17F8.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/D27FD8A515077F34.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100C0F0020E8000/D0798521F563E6A7.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100C1300BBC6000/59719CFCD1671B98.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100C3C012718000/2CF52C8DA4468946.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100C7300EEE4000/54211726D36A8D9C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/32BF1643370F70AA.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100CC00102B4000/8AFCBE6A930CD42E.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/2AA7F33234696651.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/F7C20294EFF7E6FA.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100CDC013238000/D626F7A72AF54744.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D30010C42000/682F4A502035678D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D4900E82C000/85C362CC9790F0ED.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/49F3DD78CB5490B5.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/5418E22D160F766F.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D560102C8000/48681F1D90704F6C.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D77019324000/A52C9938956331C9.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D7F00FB1A000/D871B992E95B71C5.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100D8700B712000/C56E6F514FADC5C5.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100DC301186A000/EE295EAAEA7D31E4.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100DCF0093EC000/71873FEB4648FA39.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100DFC00E472000/448C08A9533F3CAD.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100E1C0148F8000/77C053D779EE97F6.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100E2701A888000/1F0710E2B6C1DEAD.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100E87017D0E000/ACF3FF125C2A3E68.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100F0400E850000/85C362CC9790F0ED.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/254DF6A118587EA0.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100F8F014190000/AF7114F019CE6E1D.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100FA2019AC2000/1DF30F9632347530.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100FD101186C000/BF0088C59D7E97C0.yaml create mode 100644 SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml create mode 100644 SaltySD/saltysd_core.elf create mode 100644 atmosphere/config/override_config.ini create mode 100644 atmosphere/config/system_settings.ini create mode 100644 atmosphere/contents/0000000000534C56/exefs.nsp create mode 100644 atmosphere/contents/0000000000534C56/flags/boot2.flag create mode 100644 atmosphere/contents/0000000000534C56/toolbox.json create mode 100644 atmosphere/contents/00FF0000636C6BFF/exefs.nsp create mode 100644 atmosphere/contents/00FF0000636C6BFF/flags/boot2.flag create mode 100644 atmosphere/contents/420000000007E51A/exefs.nsp create mode 100644 atmosphere/contents/420000000007E51A/flags/boot2.flag create mode 100644 atmosphere/contents/420000000007E51A/toolbox.json create mode 100644 atmosphere/exefs_patches/es_patches/02DCD930D0A7462451E9973AB2022D697C77614B.ips create mode 100644 atmosphere/exefs_patches/es_patches/03E4EB5556B98B327D1353E8AA2C7ADF2C544470.ips create mode 100644 atmosphere/exefs_patches/es_patches/1114E9102F1EBCD1B0EAF19C927362CFCB8B5D2C.ips create mode 100644 atmosphere/exefs_patches/es_patches/127904316C924326084288641825FE5DC259AF6B.ips create mode 100644 atmosphere/exefs_patches/es_patches/34E95FF2929B5B767DCFD41D108AD927D2D7F5DC.ips create mode 100644 atmosphere/exefs_patches/es_patches/39E7884F7DDEA9BE4FF9F7187898FACC466A080A.ips create mode 100644 atmosphere/exefs_patches/es_patches/3B8BF56DBEC7225D2EE666B009C42C0DC4552010.ips create mode 100644 atmosphere/exefs_patches/es_patches/4FB9AFAED8A9093A3D88F6D61158B1C165F9444A.ips create mode 100644 atmosphere/exefs_patches/es_patches/5AA09E1AF740A91D0F73ADFAE81A63E8AC0610D2.ips create mode 100644 atmosphere/exefs_patches/es_patches/621351EB04199CF0B7A899896C451F2FD1B7A1CE.ips create mode 100644 atmosphere/exefs_patches/es_patches/7135C20E752183914606CCE81293F24B738C3AEF.ips create mode 100644 atmosphere/exefs_patches/es_patches/76935CA6235CA150D790D4DDF09CA3488AEF50D8.ips create mode 100644 atmosphere/exefs_patches/es_patches/98BB737D9780E9FE3117981A77A09FF6756DBC2E.ips create mode 100644 atmosphere/exefs_patches/es_patches/9C1B205852731D054B070529D320AD9649E7796C.ips create mode 100644 atmosphere/exefs_patches/es_patches/A6E7D98BD335371E1B9A96F6241EA3E83B0C36F4.ips create mode 100644 atmosphere/exefs_patches/es_patches/C0BFC6518707AC975295A0B656A051DA885A9045.ips create mode 100644 atmosphere/exefs_patches/es_patches/CBF2D40A2210C4EE1137F80098DB776EAC7DDCC1.ips create mode 100644 atmosphere/exefs_patches/es_patches/CF8FB4F82D3E2D56720E1EDB14AB06543343E042.ips create mode 100644 atmosphere/exefs_patches/es_patches/D0ECC9483E636AE19FE3E314DB41CB18019977D7.ips create mode 100644 atmosphere/exefs_patches/es_patches/D2D2430244D162C9FAABE8C89A58C6E3962160F1.ips create mode 100644 atmosphere/exefs_patches/es_patches/E581B1898637E5BC40DBC4AB8F0C6324447E05D1.ips create mode 100644 atmosphere/exefs_patches/es_patches/F48ABC3EF41A0555800127D172C9B8D2C653243A.ips create mode 100644 atmosphere/exefs_patches/es_patches/F65FBA401BAC3CDDEA4917DE22E8B426B3A6C3AD.ips create mode 100644 atmosphere/exefs_patches/es_patches/F86D615F9FC6F0D16C3458BE58C64594DBDAB0DF.ips create mode 100644 atmosphere/exefs_patches/es_patches/F92CFF283777465AFBCC6E160C10EFE7AADC4D3C.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/38774C42DFCB8B9D7AA61550D6AF7D335472556C.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/3AED90979B380C6415F975F5B784BEA2B4730E8C.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/43F10952AE80CFADC39A0BF59EA4E552EF4A4528.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/440F71259BCA1E97EA3663CBD6EC9315951F9E96.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/5835E2DADB4DD570DD811ABF521FA91AC3C7B717.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/5DA461C7B6CAE6B88EDF4F914F7CBCF0943B10BB.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/69E25CDEEED5C6520AC2AC8E5EAE01CD8FC46E40.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/6F02D68B1DCD2AFFBAED14B5933F81F3C327E537.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/7A43F840337C28D453718843608EEFF78AFD460B.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/7DF07326B6B50CA37F19C1C44F9458406C536B30.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/881206E6B5078EFC4E2C30D7B33E33AD266538C6.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/8CB532EA199207191F04CE3DDECEC854C7CF07D6.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/929014BFCFE462FD76B2BB3454FB304F63C73AC2.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/9C72C47F0310F7C9F487047D8EB42DBB96882088.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/A188828ADF447425D97901462EBF732D2E29BC4E.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/A2C3AEE4E5A954908BEBAEDEA2010095E9E521B2.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/A85F50FBA10E06A3EBA3D3FACB9E075B218C7D6D.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/AD32FB6D8F36668C586E538E32576A8D6A3931C0.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/B6966381A806655B718F1BF11DB5FF836E3085F7.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/BA91B5A61E423F51FB83B2C9E6C153CC5AE27DCB.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/D47D1506009B340829CD545B2A3F3AA7881FBADA.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/D82361E0D66DC01AFA3B5116532E5E1ED569C578.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/E6BFDADD5C69E17D43B7C67E2B2EE8B2E50C8E1F.ips create mode 100644 atmosphere/exefs_patches/nfim_ctest/FD53CB863709DFFEC19C0889F61D4C424AFFD4ED.ips create mode 100644 atmosphere/hbl.nsp create mode 100644 atmosphere/hosts/default.txt create mode 100644 atmosphere/hosts/domains.txt create mode 100644 atmosphere/kip_patches/fs_patches/02D5ABAAFD20C8B0633AA0DBAEE0377EF526CE6AD2AC6F2CAD7180CE69E74311.ips create mode 100644 atmosphere/kip_patches/fs_patches/06E90719595A010C6246FF70946F10FB367A00BBD8B7D8D1F25CCE0B458D7E89.ips create mode 100644 atmosphere/kip_patches/fs_patches/073099D7C6AD7D8983BC7ADD932BE3D1243193792E0920955DBC17F5794FDE28.ips create mode 100644 atmosphere/kip_patches/fs_patches/0BA15BB304B505633B6DA6B2C6E991B6A06EBAFB3378DF02BF6B494075976F06.ips create mode 100644 atmosphere/kip_patches/fs_patches/0D7005627B07767C0B963F9AFFDDE56628A27116CFC4D8B2AF42BDEEBF97205B.ips create mode 100644 atmosphere/kip_patches/fs_patches/10B2D81605488599DF2242CB6BAC2DF1E2BCAB3BC19DC5CD63DB6FAEC0947097.ips create mode 100644 atmosphere/kip_patches/fs_patches/160D3E104EAD6176991B8AE7AFA2B78BC5879FC07BE88A4FC9E16812971BC161.ips create mode 100644 atmosphere/kip_patches/fs_patches/27073BF0A1B8CE6108EEC562D654669ECC5AE576F42D2A9FF6424C623B98E8D8.ips create mode 100644 atmosphere/kip_patches/fs_patches/2ADBE97E9B5F41779EC95FFE2699C93305D6A69D465CF597D67465CD69BACCE8.ips create mode 100644 atmosphere/kip_patches/fs_patches/2CCE659CEC536A8E4D91F3BE4B74BED302613F1E442581FD863708E39112DB50.ips create mode 100644 atmosphere/kip_patches/fs_patches/330553F6B5FB55C4C2D7B736240276B3EAD664DA79826FA936F99803B6C28F3B.ips create mode 100644 atmosphere/kip_patches/fs_patches/34C0D9ED6AD1873DCD02F1C12AFA20546D033EFB1D8EB9B7A8E5ABAB71F39F43.ips create mode 100644 atmosphere/kip_patches/fs_patches/39EE1F1E0EA7325DD105C1BABE90F306A5AA5DEC70024D4F9461F94C8E0206AE.ips create mode 100644 atmosphere/kip_patches/fs_patches/3A574D436186191D1788EB2C0F076B11737132EBB1484CF906B6A8EB3B1BF459.ips create mode 100644 atmosphere/kip_patches/fs_patches/3EEBD9B7BCD1B5E0BCC2007D6514F7A4845A1F42AAD795573FD2865DADE1C5E0.ips create mode 100644 atmosphere/kip_patches/fs_patches/468740761E193EB758794688F1D9F762CBA1185ADDAD4EC3C479EC8FBFEC31DD.ips create mode 100644 atmosphere/kip_patches/fs_patches/51EBFA9CCF66C09EC796C069C6C6D03C01D504CC0B17F4FAA919446E7E9DB107.ips create mode 100644 atmosphere/kip_patches/fs_patches/549B0F8D6F72C4E9F3FD1F19EACE4A5A1DA2D5C393F74224F8BC09DE4AAA4217.ips create mode 100644 atmosphere/kip_patches/fs_patches/56E856566C38D8BEA79A70FF6F9756804CFF57907E2EAC7BD8E9C1FC1C7B96CE.ips create mode 100644 atmosphere/kip_patches/fs_patches/57397C063F10B6313F4D837653CCC371BE2158BF6DD889326648D5C83D50CECF.ips create mode 100644 atmosphere/kip_patches/fs_patches/62C65EFD9ABF7C434275AA99BE0A0D9A222E89805044A6C04ADAB26D2AA1AA5E.ips create mode 100644 atmosphere/kip_patches/fs_patches/6B09B67B29C020246DC34F5A04F5D3090215C46F37BD079442977A85B8243BA5.ips create mode 100644 atmosphere/kip_patches/fs_patches/763827EE9C207E5BA99AE5BDC872DFCFB69D8F1261D80A60F3AC25AC9C90C230.ips create mode 100644 atmosphere/kip_patches/fs_patches/76F87402C9387C0F0A2FAB1B45CEBB93E3E9695C7CFD390F00509B1204101C24.ips create mode 100644 atmosphere/kip_patches/fs_patches/7C951376E5C12DF85FA6A9F46F6957A4B1271C1F8201B99735D8DF152E7913F1.ips create mode 100644 atmosphere/kip_patches/fs_patches/7D200547178A836A24993B002AFD83D0B662AA7177E935C04C36EAC21BAC24AA.ips create mode 100644 atmosphere/kip_patches/fs_patches/8096AF7C6A35AA8271F3916995413B0B64CE03BD9BBFEB26F2B3E01C5427C69E.ips create mode 100644 atmosphere/kip_patches/fs_patches/817EA2B0B702C1F37EC5E0A7A61F745440422037DAA3537CEF4E856C40273F78.ips create mode 100644 atmosphere/kip_patches/fs_patches/887AC150806C75CCC40DA0AA98CC09B3E468E6C78F315F927FBEDD91B16DE27A.ips create mode 100644 atmosphere/kip_patches/fs_patches/91BA65A21C1D50AEF6E6B535B491A36CD1B2DFB2DA2F0AB4A93F03097BB894E0.ips create mode 100644 atmosphere/kip_patches/fs_patches/981C57E7F02F70F7BCDE753181D901A62A2452B04F5C5FB86500A2172CC44641.ips create mode 100644 atmosphere/kip_patches/fs_patches/A6F27AD9AC7C73AD419B63B23E785A0CD7AA9DC1A63C57D10049423DE7B77E2C.ips create mode 100644 atmosphere/kip_patches/fs_patches/A86DA5E87EF1097B23DAB5B4DBBAEFE780310AE643D319D6A7A149B9688651A5.ips create mode 100644 atmosphere/kip_patches/fs_patches/A952B657ADF9C2BA1434BA9B8B86F3317D20659A8AC8510D8ECF4CE1BD7593E2.ips create mode 100644 atmosphere/kip_patches/fs_patches/B2F5176B3548364D079A29B141A23B06AFFF5A98055576D5F337A621C0233CE3.ips create mode 100644 atmosphere/kip_patches/fs_patches/B4CAE1F24965D92ED24EBE9E97F609C363834471BF18CA375CB6A1DEB77755EA.ips create mode 100644 atmosphere/kip_patches/fs_patches/B5E7A64C6F5C4FE319C36FD7D642F75B0159771671F73082448ACE30BD6BAE89.ips create mode 100644 atmosphere/kip_patches/fs_patches/C86762BE19A51FA0C737AE921A816846605A64739523B4894F847BBED59E31EA.ips create mode 100644 atmosphere/kip_patches/fs_patches/CD7BBE18D6130B28F62F19FA7945535B6829EFE64EF4AAF0DF8DA19885FE4A9A.ips create mode 100644 atmosphere/kip_patches/fs_patches/CE3ECBA2F2F062F575F8F360842B32B432340DD2C7590CDEFC03E51B844AE805.ips create mode 100644 atmosphere/kip_patches/fs_patches/CFAB450C2C539DA947D0A12A9DE10911FA539A348B7C3D64CE9BA74D9E0355DE.ips create mode 100644 atmosphere/kip_patches/fs_patches/D0D4491814B562AF61ABD52E4BF0989405AF741A5C7C033AB3EB0EC8680AD98F.ips create mode 100644 atmosphere/kip_patches/fs_patches/D488D1F29217355C22ABDA773FDEA582B13D475B74BCB02B998C66AB1B3E4309.ips create mode 100644 atmosphere/kip_patches/fs_patches/D5A5BF36640C49EA1D6BC5826772EEDFC11FD8626146B388E5E59322719B6AF7.ips create mode 100644 atmosphere/kip_patches/fs_patches/DBD85FCACC193DA83051C664E6452D32FD4F7922E5E29A281695B578347F8161.ips create mode 100644 atmosphere/kip_patches/fs_patches/DBD941C0C53C52CCF7202C84D8E0F78013A3684D8AB5D128096674A8F7755B3D.ips create mode 100644 atmosphere/kip_patches/fs_patches/DC2A084996BB3C010035FCF196F940597E0B8EBFF2AC701F34F9997CCB531CDE.ips create mode 100644 atmosphere/kip_patches/fs_patches/DE9FDDA4085DD5FE68DCB20B41095BB4010856AF280201552F38273B44CECD6F.ips create mode 100644 atmosphere/kip_patches/fs_patches/E1E8D3D6A2FE0B102CC79F8310EEEF66E5D14BCA2ED73454455FD87C615EEDC0.ips create mode 100644 atmosphere/kip_patches/fs_patches/E399156E844EB0AA3CC5152979961C879F5E90696C1224A1BBE0FF1BCDBFD7DC.ips create mode 100644 atmosphere/kip_patches/fs_patches/E76692DFAA0420E9FDD68E436316181814CBD72E915E153174332C6BEAA41FC3.ips create mode 100644 atmosphere/kip_patches/fs_patches/EE0F4BAC6D1FFC4BB5ADCBD12455B24E4EF924A3DB5F9158792F57FA11DA83A1.ips create mode 100644 atmosphere/kip_patches/fs_patches/F196D144D04445B6E7497CB6405B7FC305B54F961024BF432575296E4D52BC99.ips create mode 100644 atmosphere/kip_patches/loader_patches/0CDAA07AA6662015EDC1EE168E04582C551A52BACAFA4E8A5D34B88BA6B7BB6C.ips create mode 100644 atmosphere/kip_patches/loader_patches/0E41C033A98F85D2D746F918E6DB8C58B9F0B25B6A847F9271019D81B3AEC8C4.ips create mode 100644 atmosphere/kip_patches/loader_patches/0EAF7E159D3BE0969637FFEBD413399DFEE366E615A290418E56838122135EB9.ips create mode 100644 atmosphere/kip_patches/loader_patches/0f3850b7ce489f6a8faee9ad301013f66c74e7c8f8d1b7038ab7fe8ba9d5ac24.ips create mode 100644 atmosphere/kip_patches/loader_patches/11733BF70FA36F44C3B83E94668EAF3C748E5EF0F4B986B59945F40BF4F3EE2C.ips create mode 100644 atmosphere/kip_patches/loader_patches/183CBD5BE392C1AECF14582AD25F755A4AB97A86213F0A8CE4E1C18DF5A79EE8.ips create mode 100644 atmosphere/kip_patches/loader_patches/20EFF0183DA095635F99E8978A90C27C7D3F42E6504DF328F42ACC280EB05D1B.ips create mode 100644 atmosphere/kip_patches/loader_patches/21339e8812a1fbdd4b097d10b9bfbfbf921b65e187739382fbccccecd64d93e0.ips create mode 100644 atmosphere/kip_patches/loader_patches/24589247BF87BAD1C56EC1A5D85D2C1FC6A0B6B8485EBECF5F6E872DB0B1A6FE.ips create mode 100644 atmosphere/kip_patches/loader_patches/299b246d5de84d97cbd0dc4be27789eb8bdf23d08a5af8d60220ae085dd3d9cc.ips create mode 100644 atmosphere/kip_patches/loader_patches/29CA1C792CF3AB6357929DF0627170FF8EA1CC057DBE2E5C58ADD8A442BD0CA8.ips create mode 100644 atmosphere/kip_patches/loader_patches/368B15946BBCFCC3230D8DED8C420B6DB7A06F9EAFC9E07A265F90426723EC4F.ips create mode 100644 atmosphere/kip_patches/loader_patches/384286127A10E36F98D5BC1E3A8454DF112572ECC342A366957270362700E787.ips create mode 100644 atmosphere/kip_patches/loader_patches/39C8A75B9C85222193B724EC5DFEE0C68DF07ED0ACBC7B4A0F241A5DF6CC4B99.ips create mode 100644 atmosphere/kip_patches/loader_patches/3EF3ADCE3A853DB287C90B1AA00EC2BD30008CC3968FF0A78BFDCE7091D56C94.ips create mode 100644 atmosphere/kip_patches/loader_patches/4A2DD3F1BE238FA3F56B603240611C63664793EFC3D57E4B42D3786ECEC5B1DF.ips create mode 100644 atmosphere/kip_patches/loader_patches/4AA57ABADF2922FB9E414AFB8E7BB9554548878EC4A0A11800B3FB4C53501424.ips create mode 100644 atmosphere/kip_patches/loader_patches/4CE5C4B154617D29796F5C231F707E6EE28C90608EFA7ABCCA5BE1F86A12E85B.ips create mode 100644 atmosphere/kip_patches/loader_patches/4D9C6D6993BF5BF058843BE072C9819598865C79BF87674C63B6D248FA7A0BA4.ips create mode 100644 atmosphere/kip_patches/loader_patches/5361CBE7071B08CC585D4ED5978302A16B65F6C021A8DE945BF06268535E209D.ips create mode 100644 atmosphere/kip_patches/loader_patches/55B9D4F35EB7C68589C35D8A5752B31F02664020BF29D4F185168B2C4D713F9D.ips create mode 100644 atmosphere/kip_patches/loader_patches/57F03DC120EE515C58482959AB4F76F2B5E56467A377D9576A8BDBE22E3CA2EA.ips create mode 100644 atmosphere/kip_patches/loader_patches/58F3B8A5D17DA70DE3AE4F7F5D511DF68A40CD5BC25485FB3F2C33363CA43601.ips create mode 100644 atmosphere/kip_patches/loader_patches/5D78D0A6456CD4E1F5CA0240C6A3B24D525C70FC0F9407851FD8EF81067F9386.ips create mode 100644 atmosphere/kip_patches/loader_patches/6DEC1E6A79DA5B2E506499AEFA921CC39846BC72F7B8DBE2DE24321110054564.ips create mode 100644 atmosphere/kip_patches/loader_patches/6F6F028EBDCA8EAD0822CC4C8BC9B57D0946666C46CD78405827C23205631EC6.ips create mode 100644 atmosphere/kip_patches/loader_patches/72EC3AF6AFE4C27CC92608BE477A34CC8BB97F475AE6521353C40777DC3D3B40.ips create mode 100644 atmosphere/kip_patches/loader_patches/77034D19EC5EB64BE78089100C8A32C0E97D52EBD9073DBFDE33A1506AAA750A.ips create mode 100644 atmosphere/kip_patches/loader_patches/7D100543BB7A975966B993F210CD8B6A1709B57131C893084C65C220C683456A.ips create mode 100644 atmosphere/kip_patches/loader_patches/81530982b7d79dbc8c8824c8f72a33edd8cfcf8e485a0d3bb000e1bddbffbfc3.ips create mode 100644 atmosphere/kip_patches/loader_patches/82CB02F144430435FEA3A54B744F1C0609C267A677C9CEBA7D04E53FF69FD8E8.ips create mode 100644 atmosphere/kip_patches/loader_patches/87d1baba23c9d81ee8b619ba9adafb628e4172a48c78026b71fc3c5695f4ec53.ips create mode 100644 atmosphere/kip_patches/loader_patches/8CA78EAD6C6029367AAC65728E18FD367678CC2E79B6BFC97A2369B0D62323E2.ips create mode 100644 atmosphere/kip_patches/loader_patches/8F6B6EF18268D6ABC39B73442D8AF2E0D97199443C06280A7E6505E730D26651.ips create mode 100644 atmosphere/kip_patches/loader_patches/9303CDB8094EFC3FA1DE7D0EEFE1DD9BE7FE0265A8FCA67C1758E42F24D318CF.ips create mode 100644 atmosphere/kip_patches/loader_patches/987521753F9B8CE98718E3C70FFEA1FDDFF58511A482F5387DE25FAD822C27C0.ips create mode 100644 atmosphere/kip_patches/loader_patches/9B898AF251B01982753BF3661C57B120E622429CEEE5A890F4325666B89087B8.ips create mode 100644 atmosphere/kip_patches/loader_patches/A24D79351011C238D7349A3D7D6FAE64D06D3F363146FCAD7AFAB0CADF83F8FB.ips create mode 100644 atmosphere/kip_patches/loader_patches/A30045E6E8AB52978D22AA951DEB2380B09F1A45037F423195E800ED8C8E2A94.ips create mode 100644 atmosphere/kip_patches/loader_patches/AAACFA5FF65047A72054CC7DF823DEE157CCAFA282CEB3019C6F1CC6444FD31D.ips create mode 100644 atmosphere/kip_patches/loader_patches/ABCCC4A3D744BADC1C7765077779F720A20782D2530189EB981A854582EC14A1.ips create mode 100644 atmosphere/kip_patches/loader_patches/AD2E2A97AC706B9A02D5670C6E1B16BC915C4FB182A754E79B1A76628C1CEFE0.ips create mode 100644 atmosphere/kip_patches/loader_patches/BFD7A2BE8D4FEBD59924503FB88E183E08739FD70501652158FE11FD00F6565E.ips create mode 100644 atmosphere/kip_patches/loader_patches/C6319D50A4830F7D7B15BA64943FB13433208A10EBDF2A59F80358438C7E81F5.ips create mode 100644 atmosphere/kip_patches/loader_patches/CED1E857D8CBA3590C29B78B28DCD8CA64B6376D95673E9BA9A44CA775FEF7B6.ips create mode 100644 atmosphere/kip_patches/loader_patches/E2A0529B9BE58DFD67EC6F0105604B1AFEDE706138FBD3FF907E5AAFD595415F.ips create mode 100644 atmosphere/kip_patches/loader_patches/F7EF8F813089AA47309A77459624D0B564B85AB962DA739993323A19E3C418E1.ips create mode 100644 atmosphere/kip_patches/loader_patches/F9D7F2F90AF8F8EF86DD696C6984198C04A5598DAC310F31649B333612ECF76B.ips create mode 100644 atmosphere/kip_patches/loader_patches/a03d932ddbf3512dda9878ce24aa42c11383b66d055670949e4744533d477e80.ips create mode 100644 atmosphere/kip_patches/loader_patches/ade50a0149785ca115743386b109b8ebb95ed512aca4a33437fac1a257d2f0ce.ips create mode 100644 atmosphere/kip_patches/loader_patches/eac30efb8b99ad10cdda37e19b064c0434c061f47cba9f7a146f47e3edd64d9e.ips create mode 100644 atmosphere/kip_patches/loader_patches/fca59c745a07dd7b254281f6edd4aa4aa29ab3b57a33379cc697ec23c0ef4704.ips create mode 100644 atmosphere/package3 create mode 100644 atmosphere/reboot_payload.bin create mode 100644 atmosphere/stratosphere.romfs create mode 100644 boot.dat create mode 100644 boot.ini create mode 100644 bootloader/hekate_ipl.ini create mode 100644 bootloader/nyx.ini create mode 100644 bootloader/patches.ini create mode 100644 bootloader/res/atmo_cfw.bmp create mode 100644 bootloader/res/atmo_sm.bmp create mode 100644 bootloader/res/bootscreen.bmp create mode 100644 bootloader/res/stock.bmp create mode 100644 bootloader/sys/emummc.kipm create mode 100644 bootloader/sys/l4t/bpmpfw.bin create mode 100644 bootloader/sys/l4t/bpmpfw_b01.bin create mode 100644 bootloader/sys/l4t/mtc_tbl_b01.bin create mode 100644 bootloader/sys/l4t/sc7entry.bin create mode 100644 bootloader/sys/l4t/sc7exit.bin create mode 100644 bootloader/sys/l4t/sc7exit_b01.bin create mode 100644 bootloader/sys/libsys_lp0.bso create mode 100644 bootloader/sys/libsys_minerva.bso create mode 100644 bootloader/sys/nyx.bin create mode 100644 bootloader/sys/res.pak create mode 100644 bootloader/sys/thk.bin create mode 100644 bootloader/update.bin create mode 100644 config/aio-switch-updater/custom_packs.json create mode 100644 config/aio-switch-updater/hide_tabs.json create mode 100644 config/aio-switch-updater/preserve.txt create mode 100644 config/tesla/config.ini create mode 100644 config/ultrapaw/lang/de.json create mode 100644 config/ultrapaw/lang/en.json create mode 100644 config/ultrapaw/lang/es.json create mode 100644 config/ultrapaw/lang/fr.json create mode 100644 config/ultrapaw/lang/it.json create mode 100644 config/ultrapaw/lang/ja.json create mode 100644 config/ultrapaw/lang/kr.json create mode 100644 config/ultrapaw/lang/nl.json create mode 100644 config/ultrapaw/lang/pt.json create mode 100644 config/ultrapaw/lang/ru.json create mode 100644 config/ultrapaw/lang/zh-cn.json create mode 100644 config/ultrapaw/overlays.ini create mode 100644 config/ultrapaw/packages.ini create mode 100644 config/ultrapaw/ultra.ini create mode 100644 exosphere.ini create mode 100644 fix atributes.bat create mode 100644 hbmenu.nro create mode 100644 payload.bin create mode 100644 switch/.overlays/FPSLocker.ovl create mode 100644 switch/.overlays/InfoNX-ovl.ovl create mode 100644 switch/.overlays/ReverseNX-RT-ovl.ovl create mode 100644 switch/.overlays/Status-Monitor-Overlay.ovl create mode 100644 switch/.overlays/Ultra.ovl create mode 100644 switch/.overlays/ovlEdiZon.ovl create mode 100644 switch/.overlays/ovlSysmodules.ovl create mode 100644 switch/.overlays/ovlmenu.ovl create mode 160000 switch/.packages/Ultra Tuner create mode 100644 switch/DBI/DBI.nro create mode 100644 switch/aio-switch-updater/aio-switch-updater.nro diff --git a/SaltySD/exceptions.txt b/SaltySD/exceptions.txt new file mode 100644 index 0000000..77b6ddb --- /dev/null +++ b/SaltySD/exceptions.txt @@ -0,0 +1,52 @@ +;GRID: Autosport +;1.4.0RC9, 1.5_46790, 1.8_49215 and 1.8.3_61741 crash, 1.4.1_45339 stucks in infinite loop +0100DC800A602000 + +;Luigi's Mansion 3 +;1.0.0-1.4.0 crash +0100DCA0064A6000 + +;YouTube +;Stucks in infinite loop +X01003A400C3DA000 + +;Alien: Isolation +;1.1_46609 - 1.1.4_60709 crash on first loading +010075D00E8BA000 + +;Grandia Collection +;Only launcher is 64-bit, games are 32-bit +0100E0600BBC8000 + +;Immortals Fenyx Rising +;1.0.3, 1.3.4 crash +01004A600EC0A000 + +;Stubbs the Zombie in Rebel Without a Pulse +;1.0.0 - 1.0.2 crash on boot +X0100964012528000 + +;Olympic Games Tokyo 2020 – The Official Video Game +;1.0.0 crash on boot +010034B00E14C000 + +;Mario Strikers: Battle League +;1.0.0 crash on boot +010019401051C000 + +;The Lara Croft Collection +;1.0.0 - Games in collection are crashing on boot, only launcher doesn't +010079C017F5E001 +010079C017F5E002 + +;Plants vs. Zombies: Battle for Neighborville +;1.0.3 crash on boot +0100C56010FD8000 + +;EA SPORTS FC 24 +;1.0.0 - v1.53.dd6d crash +0100BDB01A0E6000 + +;Company of Heroes Collection +;1.5_66915 crash on boot +0100ABD0156F8000 diff --git a/SaltySD/flags/log.flag b/SaltySD/flags/log.flag new file mode 100644 index 0000000..e69de29 diff --git a/SaltySD/plugins/FPSLocker/patches/010000400F582000/02F2E5C8CBF5A92F.yaml b/SaltySD/plugins/FPSLocker/patches/010000400F582000/02F2E5C8CBF5A92F.yaml new file mode 100644 index 0000000..b169203 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010000400F582000/02F2E5C8CBF5A92F.yaml @@ -0,0 +1,75 @@ +# TT Isle of Man 2 1.0.1 +# BID: 02F2E5C8CBF5A92F + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = 0.96 * (1000/FPS) + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 64 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 48 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 38.4 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 32 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 27.42 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 24 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 21.333333 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 19.2 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 17.454545 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2153CFC] + value_type: float + value: 16 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010000600CD54000/78885A1CA987C04C.yaml b/SaltySD/plugins/FPSLocker/patches/010000600CD54000/78885A1CA987C04C.yaml new file mode 100644 index 0000000..a6d6913 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010000600CD54000/78885A1CA987C04C.yaml @@ -0,0 +1,99 @@ +# Rad Rogers: Radical Edition 1.2.0 +# BID: 78885A1CA987C04C + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS (100 to ensure than NVN itself will handle 60 FPS while not enabling SmoothedFrameRateRange) + - + type: write + address: [MAIN, 0x579C208, 0] + value_type: float + value: [100, 100] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100040016EE2000/331E3DFBDF650226.yaml b/SaltySD/plugins/FPSLocker/patches/0100040016EE2000/331E3DFBDF650226.yaml new file mode 100644 index 0000000..cdb4e2e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100040016EE2000/331E3DFBDF650226.yaml @@ -0,0 +1,219 @@ +# BPM: Bullets Per Minute 0.1 +# BID: 331E3DFBDF650226 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [15, 15] + # t.VSync (default value) - game really struggles to get 60 FPS with this turned on + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [1, 1] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [20, 20] + # t.VSync (default value) + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [1, 1] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [25, 25] + # t.VSync (default value) + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [1, 1] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [0, 0] + # t.VSync (default value) + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [1, 1] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [35, 35] + # t.VSync + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [0, 0] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [40, 40] + # t.VSync + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [0, 0] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [45, 45] + # t.VSync + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [0, 0] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [50, 50] + # t.VSync + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [0, 0] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [55, 55] + # t.VSync + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [0, 0] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B8C78, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69AEE10, 0] + value_type: float + value: [60, 60] + # t.VSync + - + type: write + address: [MAIN, 0x6220790, 0] + value_type: int32 + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100041018810000/B8BE1CFAE53CAEBE.yaml b/SaltySD/plugins/FPSLocker/patches/0100041018810000/B8BE1CFAE53CAEBE.yaml new file mode 100644 index 0000000..f8d2c1b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100041018810000/B8BE1CFAE53CAEBE.yaml @@ -0,0 +1,75 @@ +# WRC Generations 1.2.2 +# BID: B8BE1CFAE53CAEBE + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2D5A83C] + value_type: float + value: 14.333333 diff --git a/SaltySD/plugins/FPSLocker/patches/010007B010FCC000/4EEA2970DF38ECE1.yaml b/SaltySD/plugins/FPSLocker/patches/010007B010FCC000/4EEA2970DF38ECE1.yaml new file mode 100644 index 0000000..6a01a30 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010007B010FCC000/4EEA2970DF38ECE1.yaml @@ -0,0 +1,75 @@ +# Sniper Elite 4 1.0.3 +# BID: 4EEA2970DF38ECE1 + +unsafeCheck: true + +15FPS: + # Dynamic Resolution frame time target = (32.3/(1000/30)) * (1000/FPS) + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 64.6 +20FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 48.45 +25FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 38.76 +30FPS: + # Dynamic Resolution frame time target (default value) + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 32.3 +35FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 27.68 +40FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 24.225 +45FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 21.53 +50FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 19.38 +55FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 17.61 +60FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x2D7A974] + value_type: float + value: 16.15 diff --git a/SaltySD/plugins/FPSLocker/patches/01000A10041EA000/771BDFB65F8D0AF7.yaml b/SaltySD/plugins/FPSLocker/patches/01000A10041EA000/771BDFB65F8D0AF7.yaml new file mode 100644 index 0000000..59d6ffd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000A10041EA000/771BDFB65F8D0AF7.yaml @@ -0,0 +1,135 @@ +# The Elder Scrolls V: Skyrim 1.1.177.3285177 +# BID: 771BDFB65F8D0AF7 + +unsafeCheck: true + +15FPS: + # Dynamic Resolution Frame Time Min = 0.9 * (1000/FPS) + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 60 + # Dynamic Resolution Frame Time Max = 0.99 * (1000/FPS) + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 66 +20FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 45 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 49.5 +25FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 36 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 39.6 +30FPS: + # Dynamic Resolution Frame Time Min (default value) + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 30 + # Dynamic Resolution Frame Time Max (default value) + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 33 +35FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 25.71 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 28.28 +40FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 22.5 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 24.75 +45FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 20 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 22 +50FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 18 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 19.8 +55FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 16.36 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 18 +60FPS: + # Dynamic Resolution Frame Time Min + - + type: write + address: [MAIN, 0x33178C8] + value_type: float + value: 15 + # Dynamic Resolution Frame Time Max + - + type: write + address: [MAIN, 0x33178B0] + value_type: float + value: 16.5 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000BB00E9D2000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01000BD00CE64000/E417100FFEEFD1DE.yaml b/SaltySD/plugins/FPSLocker/patches/01000BD00CE64000/E417100FFEEFD1DE.yaml new file mode 100644 index 0000000..c6d39b1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000BD00CE64000/E417100FFEEFD1DE.yaml @@ -0,0 +1,159 @@ +# Vampyr 0.4 +# BID: E417100FFEEFD1DE + +unsafeCheck: true + +15FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [15, 15] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynResTargetFPS (default value) + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [30, 30] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [35, 35] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [45, 45] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [55, 55] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynResTargetFPS + - + type: write + address: [MAIN, 0x71A31F8, 0] + value_type: int32 + value: [60, 60] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71B2BD0, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01000BF0152FA000/12024D08CCFD25EB.yaml b/SaltySD/plugins/FPSLocker/patches/01000BF0152FA000/12024D08CCFD25EB.yaml new file mode 100644 index 0000000..477b901 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01000BF0152FA000/12024D08CCFD25EB.yaml @@ -0,0 +1,75 @@ +# Zombie Army 4: Dead War 1.1.1 +# BID: 12024D08CCFD25EB + +unsafeCheck: true + +15FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 15 +20FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 20 +25FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 25 +30FPS: + # Dynamic Resolution FPS Target (default value) + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 30 +35FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 35 +40FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 40 +45FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 45 +50FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 50 +55FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 55 +60FPS: + # Dynamic Resolution FPS Target + - + type: write + address: [MAIN, 0x179EF64] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/010010B00DDA2000/8A39E660F956BB00.yaml b/SaltySD/plugins/FPSLocker/patches/010010B00DDA2000/8A39E660F956BB00.yaml new file mode 100644 index 0000000..995b82c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010010B00DDA2000/8A39E660F956BB00.yaml @@ -0,0 +1,159 @@ +# Raji: An Ancient Epic 1.0.4 +# BID: 8A39E660F956BB00 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6B461B8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6B3C330, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml b/SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml new file mode 100644 index 0000000..56e53f8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010010F01418E000/49CF6B0B0A62F9E2.yaml @@ -0,0 +1,339 @@ +# Remnant: From The Ashes 1.0.1 +# BID: 49CF6B0B0A62F9E2 + +unsafeCheck: false + +15FPS: + # r.DynamicRes.MaxGPUTime ((1000/FPS) * 0.93) + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [62, 62] + # r.DynamicRes.MinGPUTime ((1000/FPS) * 0.87) + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [58, 58] + # r.DynamicRes.MaxGPUTimeStill ((1000/FPS) * 0.945) + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [63, 63] + # r.DynamicRes.MinGPUTimeStill ((1000/FPS) * 0.93) + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [62, 62] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [46.5, 46.5] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [43.5, 43.5] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [47.25, 47.25] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [46.25, 46.25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [37.2, 37.2] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [34.2, 34.2] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [37.8, 37.8] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [37.2, 37.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.MaxGPUTime (default value) + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [31, 31] + # r.DynamicRes.MinGPUTime (default value) + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [29, 29] + # r.DynamicRes.MaxGPUTimeStill (default value) + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [31.5, 31.5] + # r.DynamicRes.MinGPUTimeStill (default value) + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [31, 31] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [26.57, 26.57] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [24.85, 24.85] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [27, 27] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [26.57, 26.57] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [23.25, 23.25] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [21.75, 21.75] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [23.625, 23.625] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [23.25, 23.25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [20.66, 20.66] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [19.33, 19.33] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [21, 21] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [20.66, 20.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [18.6, 18.6] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [17.4, 17.4] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [18.9, 18.9] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [18.6, 18.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [16.9, 16.9] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [15.81, 15.81] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [17.18, 17.18] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [16.9, 16.9] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.MaxGPUTime + - + type: write + address: [MAIN, 0x7E23AF0, 0] + value_type: float + value: [15.5, 15.5] + # r.DynamicRes.MinGPUTime + - + type: write + address: [MAIN, 0x7E23B08, 0] + value_type: float + value: [14.5, 14.5] + # r.DynamicRes.MaxGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B20, 0] + value_type: float + value: [15.75, 15.75] + # r.DynamicRes.MinGPUTimeStill + - + type: write + address: [MAIN, 0x7E23B38, 0] + value_type: float + value: [15.5, 15.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E46698, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100154019A7C000/BE2D1A84420113EC.yaml b/SaltySD/plugins/FPSLocker/patches/0100154019A7C000/BE2D1A84420113EC.yaml new file mode 100644 index 0000000..3a9c36c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100154019A7C000/BE2D1A84420113EC.yaml @@ -0,0 +1,159 @@ +# Mortal Shell 1.0.1 +# BID: BE2D1A84420113EC + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6ACCBD8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6AEF760, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010015F018C3C000/593BD545295A65FB.yaml b/SaltySD/plugins/FPSLocker/patches/010015F018C3C000/593BD545295A65FB.yaml new file mode 100644 index 0000000..3aed03c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010015F018C3C000/593BD545295A65FB.yaml @@ -0,0 +1,135 @@ +# From Space 1.0.357 +# BID: 593BD545295A65FB + +unsafeCheck: true + +15FPS: + # vSyncCount (we are resetting it to 0 so game will calculate Dynamic Resolution for specified FPS target) + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 15 +20FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 20 +25FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 25 +30FPS: + # vSyncCount (default value) + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 2 + # targetFrameRate (default value) + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 0 +35FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 35 +40FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 40 +45FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 45 +50FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 50 +55FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 0 + # targetFrameRate + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 55 +60FPS: + # vSyncCount + - + type: write + address: [MAIN, 0x68A9828, 0x210, 0x68] + value_type: int32 + value: 1 + # targetFrameRate (default value) + - + type: write + address: [MAIN, 0x6483A70] + value_type: int32 + value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/010016A00AEC0000/5C9CCD358BE85FC9.yaml b/SaltySD/plugins/FPSLocker/patches/010016A00AEC0000/5C9CCD358BE85FC9.yaml new file mode 100644 index 0000000..14fc1a4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010016A00AEC0000/5C9CCD358BE85FC9.yaml @@ -0,0 +1,66 @@ +# WARRIORS OROCHI 4 1.0.13 +# BID: 5C9CCD358BE85FC9 +# Credits to Hazerou for figuring out the offset + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 2 +20FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 2 +25FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 2 +30FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 2 +35FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 1 +40FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 1 +45FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 1 +50FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 1 +55FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 1 +60FPS: + - + type: write + address: [MAIN, 0x3AF80, -0x931F4] + value_type: int32 + value: 1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100182014022000/56EEFA704373BDB3.yaml b/SaltySD/plugins/FPSLocker/patches/0100182014022000/56EEFA704373BDB3.yaml new file mode 100644 index 0000000..8cf36c3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100182014022000/56EEFA704373BDB3.yaml @@ -0,0 +1,159 @@ +# Grand Theft Auto: Vice City - Definitive Edition 1.0.7 +# BID: 56EEFA704373BDB3 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value is 36.5, obviously we don't want it) + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7565298, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7589FE0, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01001890167FE000/5F7A2866D8E20BBA.yaml b/SaltySD/plugins/FPSLocker/patches/01001890167FE000/5F7A2866D8E20BBA.yaml new file mode 100644 index 0000000..e9982e2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001890167FE000/5F7A2866D8E20BBA.yaml @@ -0,0 +1,159 @@ +# Gigantosaurus: Dino Kart 1.0.0 +# BID: 5F7A2866D8E20BBA + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6D196C8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6D46C58, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010018C01B106000/63B72CD5F2A90020.yaml b/SaltySD/plugins/FPSLocker/patches/010018C01B106000/63B72CD5F2A90020.yaml new file mode 100644 index 0000000..b2e4433 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010018C01B106000/63B72CD5F2A90020.yaml @@ -0,0 +1,159 @@ +# Ship Graveyard Simulator 1.0.0 +# BID: 63B72CD5F2A90020 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D46658, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D73FF8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010019C00E9CC000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01001A0011798000/66B2DEA98B5CDF65.yaml b/SaltySD/plugins/FPSLocker/patches/01001A0011798000/66B2DEA98B5CDF65.yaml new file mode 100644 index 0000000..a4f193d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001A0011798000/66B2DEA98B5CDF65.yaml @@ -0,0 +1,75 @@ +# WRC9 1.2.0 +# BID: 66B2DEA98B5CDF65 + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x27C4B0C] + value_type: float + value: 14.333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01001A9018560000/323631B628A32D84.yaml b/SaltySD/plugins/FPSLocker/patches/01001A9018560000/323631B628A32D84.yaml new file mode 100644 index 0000000..816f4bb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001A9018560000/323631B628A32D84.yaml @@ -0,0 +1,159 @@ +# Bright Memory: Infinite Gold Edition 1.2 +# BID: 323631B628A32D84 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69CE1D8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x69FBA78, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01001C400E9D8000/737E56D43D2C0B38.yaml b/SaltySD/plugins/FPSLocker/patches/01001C400E9D8000/737E56D43D2C0B38.yaml new file mode 100644 index 0000000..efc1013 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001C400E9D8000/737E56D43D2C0B38.yaml @@ -0,0 +1,192 @@ +# Persona 5 Scramble 1.0.3 +# BID: 737E56D43D2C0B38 + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [15, 2] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 15 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 1 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [20, 2] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 20 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 1 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [25, 2] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 25 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 1 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [30, 2] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 30 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 1 +35FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [35, 1] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 35 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 0 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [40, 1] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 40 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 0 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [45, 1] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 45 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 0 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [50, 1] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 50 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 0 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [55, 1] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 55 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 0 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x1D15228] + value_type: int32 + value: [60, 1] + - + type: write + address: [MAIN, 0x1D28CB8] + value_type: float + value: 60 + - + type: write + address: [MAIN, 0x2A88DC0] + value_type: int32 + value: 0 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01001CF0190C2000/4C6727375D877B90.yaml b/SaltySD/plugins/FPSLocker/patches/01001CF0190C2000/4C6727375D877B90.yaml new file mode 100644 index 0000000..8441a3a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001CF0190C2000/4C6727375D877B90.yaml @@ -0,0 +1,159 @@ +# Insomnis 1.01 +# BID: 4C6727375D877B90 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x680CAB8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x683A358, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01001E3017A10000/1C38F0E269ED4438.yaml b/SaltySD/plugins/FPSLocker/patches/01001E3017A10000/1C38F0E269ED4438.yaml new file mode 100644 index 0000000..c9c59fe --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001E3017A10000/1C38F0E269ED4438.yaml @@ -0,0 +1,91 @@ +# Farming Simulator 23 Nintendo Switch Edition 1.1.0.0 +# BID: 1C38F0E269ED4438 + +unsafeCheck: true + +15FPS: + # Internal FPS lock + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + # default value + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 30 +35FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0xFAC7AC] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/01001F3018880000/DF556AF2E30073C0.yaml b/SaltySD/plugins/FPSLocker/patches/01001F3018880000/DF556AF2E30073C0.yaml new file mode 100644 index 0000000..fb81141 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01001F3018880000/DF556AF2E30073C0.yaml @@ -0,0 +1,159 @@ +# Asterix & Obelix XXXL - The Ram From Hibernia 1.04.00 +# BID: DF556AF2E30073C0 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to two decimals + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [28.57, 28.57] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71331A8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7160D78, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010020B016EF4000/7E25622D50D562BF.yaml b/SaltySD/plugins/FPSLocker/patches/010020B016EF4000/7E25622D50D562BF.yaml new file mode 100644 index 0000000..9c76a5c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010020B016EF4000/7E25622D50D562BF.yaml @@ -0,0 +1,276 @@ +# CONVERGENCE: A League of Legends Story 1.0.1 +# BID: 7E25622D50D562BF +# Everything derived through DS.Game.Luna.NetworkTime$$Apply30FpsSettings + DS.Game.Luna.NetworkTime$$Apply60FpsSettings + +unsafeCheck: true + +15FPS: + # fixedDeltaTime = 1/FPS + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.0666666666 + - # maximumParticleDeltaTime = 1/FPS + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.0666666666 + - # maximumDeltaTime = 6 * (1/FPS) + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.4 + - # DS.Tech.Networking.Clock_TypeInfo = 1/FPS + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.0666666666 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo => every 15 FPS jump += 1 + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 1 +20FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.05 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.05 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.3 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.05 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 1 +25FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.04 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.04 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.24 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.04 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 1 +30FPS: + # fixedDeltaTime (default value) + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.0333333333 + - # maximumParticleDeltaTime (default value) + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.0333333333 + - # maximumDeltaTime (default value) + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.2 + - # DS.Tech.Networking.Clock_TypeInfo (default value) + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.0333333333 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo (default value) + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 2 +35FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.0285714 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.0285714 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.17142857142 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.0285714 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo (default value) + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 2 +40FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.025 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.025 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.15 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.025 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo (default value) + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 2 +45FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.0222222222 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.0222222222 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.1333333333 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.0222222222 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 3 +50FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.02 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.02 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.12 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.02 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 3 +55FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.0181818181 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.0181818181 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.109090909 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.0181818181 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 3 +60FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x52BD280, 0x48] + value_type: float + value: 0.0166666666 + - # maximumParticleDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x104] + value_type: float + value: 0.0166666666 + - # maximumDeltaTime + type: write + address: [MAIN, 0x52BD280, 0x100] + value_type: float + value: 0.1 + - # DS.Tech.Networking.Clock_TypeInfo + type: write + address: [MAIN, 0x4EABAE0, 0xB8, 0] + value_type: float + value: 0.0166666666 + - # DS.Tech.Networking.ClientInterpolator_TypeInfo + type: write + address: [MAIN, 0x4EABA98, 0xB8, 0] + value_type: int32 + value: 4 diff --git a/SaltySD/plugins/FPSLocker/patches/01002620102C6000/7D1714279435589C.yaml b/SaltySD/plugins/FPSLocker/patches/01002620102C6000/7D1714279435589C.yaml new file mode 100644 index 0000000..2a82895 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002620102C6000/7D1714279435589C.yaml @@ -0,0 +1,75 @@ +# BioShock Remastered 2 1.0.2 +# BID: 7D1714279435589C + +unsafeCheck: true + +15FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 15 +20FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 20 +25FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 25 +30FPS: + # Dynamic resolution FPS factor (default) + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 30 +35FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 35 +40FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 40 +45FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 45 +50FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 50 +55FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 55 +60FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x212C138, 0] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml b/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml new file mode 100644 index 0000000..9426dbf --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010027400CDC6000/4979B200D53BB282.yaml @@ -0,0 +1,92 @@ +# Divinity Original Sin 2 1.0.10 +# BID: 4979B200D53BB282 +# Game is using double buffer, nvnWindowBuilderSetTextures has hardcoded values. +# So it's not possible to get stable FPS lock between 30 and 60. + +unsafeCheck: true + +MASTER_WRITE: + # Change location of GPU frametime double divider to MAIN+0x32C6D00 + - + type: bytes + main_offset: 0x921768 + value_type: uint32 + value: + - 0xB0014D28 + - 0xFD468101 + # Default value + - + type: bytes + main_offset: 0x32C6D00 + value_type: double + value: 1000000 +15FPS: + # GPU Frametime divider = (30/FPS) * 1000000 + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 2000000 +20FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 1500000 +25FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 1200000 +30FPS: + # GPU Frametime divider (default value) + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 1000000 +35FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 857142 +40FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 750000 +45FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 666666 +50FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 600000 +55FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 545454 +60FPS: + # GPU Frametime divider + - + type: write + address: [MAIN, 0x32C6D00] + value_type: double + value: 500000 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010028D00BA1A000/85E49C169A8B988A.yaml b/SaltySD/plugins/FPSLocker/patches/010028D00BA1A000/85E49C169A8B988A.yaml new file mode 100644 index 0000000..af91900 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010028D00BA1A000/85E49C169A8B988A.yaml @@ -0,0 +1,159 @@ +# The Sinking City 1.2.0 +# BID: 85E49C169A8B988A + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5228DC0, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x524F940, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml b/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml new file mode 100644 index 0000000..5d896f6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010029B0118E8000/799D1061182C1302.yaml @@ -0,0 +1,220 @@ +# Need For Speed Hot Pursuit Remastered 1.0.3 +# BID: 799D1061182C1302 +# Thanks to theboy181 for finding instruction responsible for calculating frame time which I used to find where is FPS target stored + +unsafeCheck: true + +15FPS: + # FPS Target = (19200*(1000/(FPS*2))) + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 640000 + # FPS 2D Game Speed Target = (1/(FPS*2)) + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.03333333 + # FPS 3D Game Speed Target = (1/(FPS*2)) + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.03333333 + - + type: block + what: timing +20FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 480000 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.025 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.025 + - + type: block + what: timing +25FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 384000 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.02 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.02 + - + type: block + what: timing +30FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 320000 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.01666666 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.01666666 +35FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 274286 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.01428571 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.01428571 + - + type: block + what: timing +40FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 240000 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.0125 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.0125 + - + type: block + what: timing +45FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 213334 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.01111111 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.01111111 + - + type: block + what: timing +50FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 192000 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.01 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.01 + - + type: block + what: timing +55FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 174546 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.00909091 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.00909091 + - + type: block + what: timing +60FPS: + # FPS Target + - + type: write + address: [MAIN, 0xED96A8, 0x30] + value_type: uint64 + value: 160000 + # FPS 2D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x30] + value_type: float + value: 0.00833333 + # FPS 3D Game Speed Target + - + type: write + address: [MAIN, 0xEFFC60, 0x50] + value_type: float + value: 0.00833333 diff --git a/SaltySD/plugins/FPSLocker/patches/01002A501869E000/BFA92380757EF97D.yaml b/SaltySD/plugins/FPSLocker/patches/01002A501869E000/BFA92380757EF97D.yaml new file mode 100644 index 0000000..8eebd96 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002A501869E000/BFA92380757EF97D.yaml @@ -0,0 +1,159 @@ +# Gamedec - Definitive Edition 1.3.0 +# BID: BFA92380757EF97D + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8A9A438, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x8AC7808, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01002B00111A2000/C3CF52BF2B05D731.yaml b/SaltySD/plugins/FPSLocker/patches/01002B00111A2000/C3CF52BF2B05D731.yaml new file mode 100644 index 0000000..7c1179a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002B00111A2000/C3CF52BF2B05D731.yaml @@ -0,0 +1,141 @@ +# Hyrule Warriors: Age of Calamity 1.3.0 +# BID: C3CF52BF2B05D731 +# Thanks to iCris4 for finding offsets +# Some cutscenes speed is hardlocked to 30 FPS, so setting FPS above results in faster speed + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [15, 2, 15] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [20, 2, 20] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [25, 2, 25] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [30, 2, 30] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 30 +35FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [35, 1, 35] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [40, 1, 40] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [45, 1, 45] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [50, 1, 50] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [55, 1, 55] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x269E150] + value_type: int32 + value: [60, 1, 60] + - + type: write + address: [MAIN, 0x269E15C] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/01002B7013440000/A19E113723E5C32E.yaml b/SaltySD/plugins/FPSLocker/patches/01002B7013440000/A19E113723E5C32E.yaml new file mode 100644 index 0000000..8335076 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002B7013440000/A19E113723E5C32E.yaml @@ -0,0 +1,159 @@ +# New Tales from the Borderlands 1.0.2 +# BID: A19E113723E5C32E + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xA158F08, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0xA1884D8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml b/SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml new file mode 100644 index 0000000..6d5651a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002C0015644000/3A3C781930CB8201.yaml @@ -0,0 +1,225 @@ +# Maglam Lord 1.00 +# BID: 3A3C781930CB8201 +# WARNING: Enemy Movement Speed is not scaling properly to framerate. At 60 FPS it's multiple times slower, looking like enemies are practically walking in place. + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + # Default is 0x47, 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 (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5F32908, 0x7B8] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5F086C0, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5F331D8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01002C400E526000/EF7B49570430043E.yaml b/SaltySD/plugins/FPSLocker/patches/01002C400E526000/EF7B49570430043E.yaml new file mode 100644 index 0000000..39d50be --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01002C400E526000/EF7B49570430043E.yaml @@ -0,0 +1,159 @@ +# Gigantosaurus The Game 1.0.0 +# BID: EF7B49570430043E + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x52F20E8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x531C300, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100300012F2A000/320A17744AEFD67F.yaml b/SaltySD/plugins/FPSLocker/patches/0100300012F2A000/320A17744AEFD67F.yaml new file mode 100644 index 0000000..db1a9fc --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100300012F2A000/320A17744AEFD67F.yaml @@ -0,0 +1,75 @@ +# Advance Wars 1+2: Re-Boot Camp 1.0.0 +# BID: 320A17744AEFD67F + +unsafeCheck: true + +15FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +20FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +25FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +30FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo (originally it's 2, but setting it with NX-FPS interval also to 2 causes bigger input lag) + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +35FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +40FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +45FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +50FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +55FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 +60FPS: + # _UnityEngine.Rendering.OnDemandRendering_TypeInfo + - + type: write + address: [MAIN, 0x481B2F8, 0xB8, 0] + value_type: int32 + value: 1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml b/SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml new file mode 100644 index 0000000..a5f7186 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100309016E7A000/14C878ECCA9D7CB5.yaml @@ -0,0 +1,224 @@ +# Demon Slayer -Kimetsu no Yaiba- The Hinokami Chronicles 1.52 +# BID: 14C878ECCA9D7CB5 + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to unlock framerate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + # Default is 0x47, bUseFixedFrameRate |= 0x40 + # By writing 7 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + # bCanBlueprintsTickByDefault |= 1 + value: 7 + # Disable internal flag that ties 3D game speed to FixedFrameRate value + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bUseFixedFrameRate (default is 0x47) + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate (default is 1) + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0xB314540, 0x7F8] + value_type: uint32 + value: 7 + # Untie game speed from framerate + - + type: write + address: [MAIN, 0xB314540, 0x810] + value_type: uint8 + value: 0 + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xB314830, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010032C00AC58000/2CDB9B9D70010E88.yaml b/SaltySD/plugins/FPSLocker/patches/010032C00AC58000/2CDB9B9D70010E88.yaml new file mode 100644 index 0000000..5b86380 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010032C00AC58000/2CDB9B9D70010E88.yaml @@ -0,0 +1,99 @@ +# Dragon's Dogma: Dark Arisen 1.0.1 +# BID: 2CDB9B9D70010E88 + +unsafeCheck: true + +15FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 30 +35FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x24924D8, 0x504C] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/010036E00FB20000/1DA748FC9499882F.yaml b/SaltySD/plugins/FPSLocker/patches/010036E00FB20000/1DA748FC9499882F.yaml new file mode 100644 index 0000000..f5e9e58 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010036E00FB20000/1DA748FC9499882F.yaml @@ -0,0 +1,102 @@ +# The Great Ace Attorney Chronicles 1.0.0 +# BID: 761CD556AB357C87 + +unsafeCheck: true + +15FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + # FPS lock (default) + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 30 + - + type: block + what: timing +35FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCF90F8, 0x4C] + value_type: float + value: 60 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010038900DFE0000/E9578A470B175851.yaml b/SaltySD/plugins/FPSLocker/patches/010038900DFE0000/E9578A470B175851.yaml new file mode 100644 index 0000000..5aab83b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010038900DFE0000/E9578A470B175851.yaml @@ -0,0 +1,159 @@ +# What Remains of Edith Finch 1.0.0 +# BID: E9578A470B175851 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget ((1000/FPS) * 0.945) + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [63, 63] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [47.2, 47.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [37.8, 37.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [27, 27] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [23.6, 23.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [21, 21] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [18.9, 18.9] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [17.1, 17.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x532B3A0, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5350858, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..26521e0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010039400E8D6000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml b/SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml new file mode 100644 index 0000000..95f898a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003980174BC000/217C9ECF258C0312.yaml @@ -0,0 +1,224 @@ +# Dusk Diver 2 1.0.1 +# BID: 217C9ECF258C0312 + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + # Default is 0x47, 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 (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x77C7098, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x779A0E8, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x77C79B8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml b/SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml new file mode 100644 index 0000000..71cd175 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010039B015CB6000/39DC785D9073C22B.yaml @@ -0,0 +1,102 @@ +# Eiyuden Chronicle: Rising 1.02 +# BID: 39DC785D9073C22B + +unsafeCheck: true + +MASTER_WRITE: + # Redirect DynamicResolution$$LowerResSW Max Target in MS to MAIN+0x3BE1200 + - + type: bytes + main_offset: 0x2426988 + value_type: uint32 + value: + - 0x14000043 + - + type: bytes + main_offset: 0x2426A94 + value_type: uint32 + value: + - 0xF000BDD3 + - 0xFD410261 + - 0x17FFFFBC + # Redirect DynamicResolution$$LowerResSW Min Target in MS to MAIN+0x3BE1208 + - + type: bytes + main_offset: 0x24269F4 + value_type: uint32 + value: + - 0x1400012C + - + type: bytes + main_offset: 0x2426EA4 + value_type: uint32 + value: + - 0xF000BDC8 + - 0xFD410501 + - 0x17FFFED3 + # Write default values + - + type: bytes + main_offset: 0x3BE1200 + value_type: double + value: [31, 29] +15FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [62, 58] +20FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [46.5, 43.5] +25FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [37.2, 34.8] +30FPS: + - # Default values + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [31, 29] +35FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [26.5714, 24.8571] +40FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [23.25, 21.75] +45FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [20.666666, 19.333333] +50FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [18.6, 17.4] +55FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [16.90909, 15.818181] +60FPS: + - + type: write + address: [MAIN, 0x3BE1200] + value_type: double + value: [15.5, 14.5] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/B3F271EF130A5338.yaml b/SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/B3F271EF130A5338.yaml new file mode 100644 index 0000000..cd115e4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003AE01AA76000/B3F271EF130A5338.yaml @@ -0,0 +1,82 @@ +# Fate/Samurai Remnant 1.0.1 +# BID: B3F271EF130A5338 + +unsafeCheck: true + +# Disable setting double buffer +MASTER_WRITE: + - + type: bytes + main_offset: 0x5DAADC + value_type: uint32 + value: 0x52800079 +15FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 4 +20FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 3 +25FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 2 +30FPS: + # interval (default value) + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 2 +35FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 1 +40FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 1 +45FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 1 +50FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 1 +55FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 1 +60FPS: + # interval + - + type: write + address: [MAIN, 0x2EEC5E0] + value_type: int32 + value: 1 diff --git a/SaltySD/plugins/FPSLocker/patches/01003BD00CAAE000/8B40EBBA7244C94A.yaml b/SaltySD/plugins/FPSLocker/patches/01003BD00CAAE000/8B40EBBA7244C94A.yaml new file mode 100644 index 0000000..b48f50d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003BD00CAAE000/8B40EBBA7244C94A.yaml @@ -0,0 +1,255 @@ +# Wolfenstein: Youngblood 1.5 +# BID: 8B40EBBA7244C94A + +unsafeCheck: true + +15FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 0 + # rs_raiseThreshold = 0.96 * (30/FPS) + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 1.92 + # rs_dropThreshold = 0.984 * (30/FPS) + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 1.968 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 30 +20FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 0 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 1.44 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 1.476 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 30 +25FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 0 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 1.152 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 1.1808 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 30 +30FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 0 + # rs_raiseThreshold (default) + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 0.96 + # rs_dropThreshold (default) + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 0.984 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 30 +35FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 0.823 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 0.843 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 60 +40FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 0.72 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 0.738 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 60 +45FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 0.64 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 0.656 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 60 +50FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 0.576 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 0.59 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 60 +55FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 0.5236 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 0.5367 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 60 +60FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x7994DF0] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x7994F14] + value_type: float + value: 0.48 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x7994E84] + value_type: float + value: 0.492 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x85F74E0] + value_type: int32 + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/01003CD01299E000/4232D493269475B2.yaml b/SaltySD/plugins/FPSLocker/patches/01003CD01299E000/4232D493269475B2.yaml new file mode 100644 index 0000000..dfc6bdd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003CD01299E000/4232D493269475B2.yaml @@ -0,0 +1,75 @@ +# RiMS Racing 1.2.0 +# BID: 4232D493269475B2 + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CDFCBC] + value_type: float + value: 14.333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003D100E9C6000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/01003E3014AFE000/69CACEEC5F01C41B.yaml b/SaltySD/plugins/FPSLocker/patches/01003E3014AFE000/69CACEEC5F01C41B.yaml new file mode 100644 index 0000000..86a38e5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003E3014AFE000/69CACEEC5F01C41B.yaml @@ -0,0 +1,75 @@ +# WRC10 1.1.0 +# BID: 69CACEEC5F01C418 + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2A149BC] + value_type: float + value: 14.333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01003FB00C5A8000/DCDFA5A4AD9A175D.yaml b/SaltySD/plugins/FPSLocker/patches/01003FB00C5A8000/DCDFA5A4AD9A175D.yaml new file mode 100644 index 0000000..fb899c4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01003FB00C5A8000/DCDFA5A4AD9A175D.yaml @@ -0,0 +1,83 @@ +# Super Kirby Clash 1.0.1 +# BID: DCDFA5A4AD9A175D +# Thanks to Kirby567Fan for finding offsets +# Game is using fake double buffer + +unsafeCheck: true + +15FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 3 + - + type: block + what: timing +20FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 2 + - + type: block + what: timing +25FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 1 +30FPS: + # Interval (default value) + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 1 +35FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 0 +40FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 0 +45FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 0 +50FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 0 +55FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 0 +60FPS: + # Interval + - + type: write + address: [MAIN, 0x99CB08, 0] + value_type: int32 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100416004C00000/01ACE43E724259C3.yaml b/SaltySD/plugins/FPSLocker/patches/0100416004C00000/01ACE43E724259C3.yaml new file mode 100644 index 0000000..c4ce8a8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100416004C00000/01ACE43E724259C3.yaml @@ -0,0 +1,315 @@ +# DOOM 1.2 +# BID: 01ACE43E724259C3 + +unsafeCheck: true + +15FPS: + # rs_460Threshold (default) + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 0.285 + # rs_raiseMilliseconds (32.2/(1000/30))*(1000/FPS) + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 64.4 + # rs_dropMilliseconds (33/(1000/30))*(1000/FPS) + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 66 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 30 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +20FPS: + # rs_460Threshold (default) + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 0.285 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 48.3 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 49.5 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 30 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +25FPS: + # rs_460Threshold + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 0.285 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 38.64 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 39.6 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 30 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +30FPS: + # rs_460Threshold (default) + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 0.285 + # rs_raiseMilliseconds (default) + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 32.2 + # rs_dropMilliseconds (default) + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 33 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 30 + # com_adaptiveTickMinHz (default) + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 30 +35FPS: + # rs_460Threshold + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 27.6 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 28.28 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 60 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +40FPS: + # rs_460Threshold + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 24.15 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 24.75 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 60 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +45FPS: + # rs_460Threshold + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 21.46 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 22 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 60 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +50FPS: + # rs_460Threshold + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 19.32 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 19.8 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 60 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +55FPS: + # rs_460Threshold + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 17.56 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 18 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 60 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 +60FPS: + # rs_460Threshold + - + type: write + address: [MAIN, 0x87AEC74] + value_type: float + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x87AF0B4] + value_type: float + value: 16.1 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x87AF02C] + value_type: float + value: 16.5 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x74B2680] + value_type: int32 + value: 60 + # com_adaptiveTickMinHz + - + type: write + address: [MAIN, 0x74B25F8] + value_type: int32 + value: 15 diff --git a/SaltySD/plugins/FPSLocker/patches/010042D00D900000/C6901CE5426C704A.yaml b/SaltySD/plugins/FPSLocker/patches/010042D00D900000/C6901CE5426C704A.yaml new file mode 100644 index 0000000..9cae215 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010042D00D900000/C6901CE5426C704A.yaml @@ -0,0 +1,75 @@ +# LEGO Star Wars: The Skywalker Saga 1.0.8 +# BID: C6901CE5426C704A + +unsafeCheck: true + +15FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 3 +20FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 3 +25FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 3 +30FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 3 +35FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 2 +40FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 2 +45FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 2 +50FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 2 +55FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 2 +60FPS: + # g_video_swap_mode + - + type: write + address: [MAIN, 0xA9FAE80] + value_type: int32 + value: 2 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100438012EC8000/1A0EAEC3AE90B018.yaml b/SaltySD/plugins/FPSLocker/patches/0100438012EC8000/1A0EAEC3AE90B018.yaml new file mode 100644 index 0000000..218cf2a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100438012EC8000/1A0EAEC3AE90B018.yaml @@ -0,0 +1,159 @@ +# Balan Wonderland 1.01 +# BID: 1A0EAEC3AE90B018 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = 0.9 * (1000/FPS) + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [60, 60] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [45, 45] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [36, 36] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [30, 30] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [25.714, 25.714] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [22.5, 22.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [18, 18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [16.3636, 16.3636] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x86FEF50, 0] + value_type: float + value: [15, 15] + # t.MaxFPS + - + type: write + address: [MAIN, 0x87519B0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml b/SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml new file mode 100644 index 0000000..cc0e691 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010044500CF8E000/9B3DDF2FB9100E51.yaml @@ -0,0 +1,161 @@ +# Hellblade: Senua's Sacrifice 1.1.0 +# BID: 9B3DDF2FB9100E51 + +unsafeCheck: true + +15FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + # MAX = (1/FPS) * 0.95 + # MIN = (1/FPS) * 0.9 + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.0633333333, 0.06] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.0475, 0.045] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.038, 0.036] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) (default value) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.0316666666, 0.03] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [0, 0] +35FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.0271428571, 0.0257142857] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.02375, 0.0225] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.0211111111, 0.02] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.019, 0.018] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.0172727272, 0.0163636363] + # t.MaxFPS + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Custom Dynamic Resolution implementation - Frame Time (MAX/MIN) + - + type: write + address: [MAIN, 0x520BBE0, 0x40] + value_type: float + value: [0.0158333333, 0.015] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x521F7A0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml b/SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml new file mode 100644 index 0000000..a01a201 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010044700DEB0001/3DEF0E36AA8C6592.yaml @@ -0,0 +1,81 @@ +# Assassin's Creed The Rebel Collection - Assassin's Creed Rogue 1.0.0 +# BID: 3DEF0E36AA8C6592 + +unsafeCheck: true + +MASTER_WRITE: +# Patch code to divide last frametime by float scale factor stored in MAIN+0x61EE400 +# To match it to Dynamic Resolution calculations + - + type: bytes + main_offset: 0x9F1DDC + value_type: uint32 + value: + - 0xB002BFE8 + - 0xBD440101 +# Write default dynamic resolution timing factor + - + type: bytes + main_offset: 0x61EE400 + value_type: float + value: 1000 +15FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 2000 +20FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 1500 +25FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 1200 +30FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 1000 +35FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 857 +40FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 750 +45FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 666 +50FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 600 +55FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 545 +60FPS: + - + type: write + address: [MAIN, 0x61EE400] + value_type: float + value: 500 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010046000EE40000/8F6B002FEB5D0F8E.yaml b/SaltySD/plugins/FPSLocker/patches/010046000EE40000/8F6B002FEB5D0F8E.yaml new file mode 100644 index 0000000..06971c2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010046000EE40000/8F6B002FEB5D0F8E.yaml @@ -0,0 +1,159 @@ +# Call of Cthulhu 0.1.6 +# BID: 8F6B002FEB5D0F8E + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value is 31) + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x61B1940, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x61D5FE8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01004800197F0000/2058227F80E9B40C.yaml b/SaltySD/plugins/FPSLocker/patches/01004800197F0000/2058227F80E9B40C.yaml new file mode 100644 index 0000000..ef3dae2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004800197F0000/2058227F80E9B40C.yaml @@ -0,0 +1,99 @@ +# Master Detective Archives: RAIN CODE 1.3.0 +# BID: 2058227F80E9B40C + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value at first game boot, with next boot it's 30) + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB4888, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01004800197F0000/6D722DED660CD6E3.yaml b/SaltySD/plugins/FPSLocker/patches/01004800197F0000/6D722DED660CD6E3.yaml new file mode 100644 index 0000000..551d6ef --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004800197F0000/6D722DED660CD6E3.yaml @@ -0,0 +1,99 @@ +# Master Detective Archives: RAIN CODE 1.3.2 +# BID: 6D722DED660CD6E3 + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value at first game boot, with next boot it's 30) + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01004800197F0000/B1C54D7E3540577B.yaml b/SaltySD/plugins/FPSLocker/patches/01004800197F0000/B1C54D7E3540577B.yaml new file mode 100644 index 0000000..d66da7b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004800197F0000/B1C54D7E3540577B.yaml @@ -0,0 +1,99 @@ +# Master Detective Archives: RAIN CODE 1.3.3 +# BID: B1C54D7E3540577B + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value at first game boot, with next boot it's 30) + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7FB5888, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml b/SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml new file mode 100644 index 0000000..4bd50aa --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010049B017774000/2F81A2EC9B298B37.yaml @@ -0,0 +1,164 @@ +# DRAGON QUEST TREASURES 1.0.1 +# BID: 2F81A2EC9B298B37 + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + # Default is 0x47, bUseFixedFrameRate |= 0x40 + # By writing 7 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + # bCanBlueprintsTickByDefault |= 1 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x7E110D8, 0x7C0] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x7E119A8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml b/SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml new file mode 100644 index 0000000..c1b410e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004AB00A260000/DF3766A2BB651A3E.yaml @@ -0,0 +1,328 @@ +# Dark Souls Remastered 1.0.3 +# BID: DF3766A2BB651A3E + +unsafeCheck: true + +MASTER_WRITE: + # Redirect FPS target to MAIN+0x55E9A00 + - + type: bytes + main_offset: 0x706FA4 + value_type: uint32 + value: + - 0xF0027701 + - + type: bytes + main_offset: 0x7070B0 + value_type: uint32 + value: + - 0xFD450020 + # Redirect game speed to MAIN+0x55E9A08 + - + type: bytes + main_offset: 0x667900 + value_type: uint32 + value: + - 0xD0027C08 + - 0xBD4A0908 + # Write default value + - + type: bytes + main_offset: 0x55E9A00 + value_type: double + value: 30 + - + type: bytes + main_offset: 0x55E9A08 + value_type: float + value: 0.0333333333 +15FPS: + - + type: write + address: [MAIN, 0x55E9A00] + value_type: double + value: 15 + - + type: write + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0666666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x55E9A00] + value_type: double + value: 20 + - + type: write + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.05 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x55E9A00] + value_type: double + value: 25 + - + type: write + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.04 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x55E9A00] + value_type: double + value: 30 + - + type: write + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.033333333 +35FPS: + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 30 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0333333333 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 35 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.028571 + - + type: block + what: timing +40FPS: + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 30 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0333333333 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 40 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.025 + - + type: block + what: timing +45FPS: + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 30 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0333333333 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 45 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0222222222 + - + type: block + what: timing +50FPS: + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 30 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0333333333 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 50 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0222222222 + - + type: block + what: timing +55FPS: + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 30 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0333333333 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 55 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0181818181 + - + type: block + what: timing +60FPS: + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 30 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "==" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0333333333 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A00] + value_type: double + value: 60 + - + type: compare + compare_address: [MAIN, 0x4543788, 0x470] + compare_type: "!=" + compare_value_type: int32 + compare_value: 1 + address: [MAIN, 0x55E9A08] + value_type: float + value: 0.0166666666 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01004BC0166CC000/44D207EA6428E3F1.yaml b/SaltySD/plugins/FPSLocker/patches/01004BC0166CC000/44D207EA6428E3F1.yaml new file mode 100644 index 0000000..1ca4292 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004BC0166CC000/44D207EA6428E3F1.yaml @@ -0,0 +1,159 @@ +# CRISIS CORE -FINAL FANTASY VII- REUNION 1.0.4 +# BID: 44D207EA6428E3F1 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 1 decimal + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x96CFDA8, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x96FDCD0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml b/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml new file mode 100644 index 0000000..c1e7aec --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004D300C5AE000/D9BA7DB72FFAFECD.yaml @@ -0,0 +1,83 @@ +# Kirby and the Forgotten Land 1.0.0 +# BID: D9BA7DB72FFAFECD +# Thanks to Hazerou for finding offsets +# Game speed is tied to framerate, no proper support for anything between 30 and 60. + +unsafeCheck: true + +15FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 4 + - + type: block + what: timing +20FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 3 + - + type: block + what: timing +25FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 2 +30FPS: + # Interval (default value) + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 2 +35FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 1 +40FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 1 +45FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 1 +50FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 1 +55FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 1 +60FPS: + # Interval + - + type: write + address: [MAIN, 0xA72628, 0x50] + value_type: int32 + value: 1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01004DC00D936000/31CDAD67EA25CC16.yaml b/SaltySD/plugins/FPSLocker/patches/01004DC00D936000/31CDAD67EA25CC16.yaml new file mode 100644 index 0000000..6ed4c13 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01004DC00D936000/31CDAD67EA25CC16.yaml @@ -0,0 +1,75 @@ +# SENRAN KAGURA Peach Ball +# BID: 31CDAD67EA25CC16 + +unsafeCheck: true + +15FPS: + # CRendSpanMgr:[SpanType_30FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 1 +20FPS: + # CRendSpanMgr:[SpanType_30FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 1 +25FPS: + # CRendSpanMgr:[SpanType_30FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 1 +30FPS: + # CRendSpanMgr:[SpanType_30FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 1 +35FPS: + # CRendSpanMgr:[SpanType_60FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 0 +40FPS: + # CRendSpanMgr:[SpanType_60FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 0 +45FPS: + # CRendSpanMgr:[SpanType_60FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 0 +50FPS: + # CRendSpanMgr:[SpanType_60FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 0 +55FPS: + # CRendSpanMgr:[SpanType_60FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 0 +60FPS: + # CRendSpanMgr:[SpanType_60FPS] + - + type: write + address: [MAIN, 0x62D8CC] + value_type: int32 + value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/0100500012AB4000/118AA7B71E824B3B.yaml b/SaltySD/plugins/FPSLocker/patches/0100500012AB4000/118AA7B71E824B3B.yaml new file mode 100644 index 0000000..6033c3d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100500012AB4000/118AA7B71E824B3B.yaml @@ -0,0 +1,159 @@ +# Life is Strange: True Colors 1.0.4 +# BID: 118AA7B71E824B3B + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7426EF0, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7451B78, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010051B0131F0000/E0E9D0429A2458E1.yaml b/SaltySD/plugins/FPSLocker/patches/010051B0131F0000/E0E9D0429A2458E1.yaml new file mode 100644 index 0000000..12d5c98 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010051B0131F0000/E0E9D0429A2458E1.yaml @@ -0,0 +1,159 @@ +# Monster Jam Steel Titans 2 1.0.2 +# BID: E0E9D0429A2458E1 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 1 decimal + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6DD50F8, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6DF7F90, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/13B450093A7DA8E2.yaml b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/13B450093A7DA8E2.yaml new file mode 100644 index 0000000..93def47 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010051C0134F8000/13B450093A7DA8E2.yaml @@ -0,0 +1,164 @@ +# DRAGON BALL Z: KARAKOR + A NEW POWER AWAKENS SET 1.32 +# BID: 13B450093A7DA8E2 + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate in cutscenes to unlock framerate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + 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 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x8DED498, 0x810] + value_type: uint32 + value: 7 + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x8DEDD48, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100521017B2A000/249EAB9BF046C5EA.yaml b/SaltySD/plugins/FPSLocker/patches/0100521017B2A000/249EAB9BF046C5EA.yaml new file mode 100644 index 0000000..724596b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100521017B2A000/249EAB9BF046C5EA.yaml @@ -0,0 +1,159 @@ +# Hellblade: Senua's Sacrifice 1.1.0 +# BID: 9B3DDF2FB9100E51 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7B279E8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7B555E8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml b/SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml new file mode 100644 index 0000000..59481b2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005420101DA000/134EC3D8BE75126F.yaml @@ -0,0 +1,143 @@ +# The Legend of Heroes: Trails of Cold Steel III 1.0.1 +# BID: 134EC3D8BE75126F +# 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 + +unsafeCheck: true + +MASTER_WRITE: + # Move loading FPS lock time to MAIN+0x2B31200 + - + type: bytes + main_offset: 0x511818 + value_type: uint32 + value: + - 0x90013109 + - 0xB9420129 + # Default value + - + type: bytes + main_offset: 0x2B31200 + value_type: uint32 + value: 33333333 + # Write game's loop time as float to MAIN+0x2B31204 + - + type: bytes + main_offset: 0x511884 + value_type: uint32 + value: + - 0x17FFFFDC + - + type: bytes + main_offset: 0x5117F4 + value_type: uint32 + value: + - 0xFD001100 + - 0x1E624004 + - 0x140000A2 + - + type: bytes + main_offset: 0x511A84 + value_type: uint32 + value: + - 0x90013108 + - 0xBD020504 + - 0x17FFFF7F + - # Read lowest timing float factor from MAIN+0x2B31204 + type: bytes + main_offset: 0x5E5EC + value_type: uint32 + value: + - 0xF0015688 + - 0x1E227821 + - 0xBD420502 + - # Default value + type: bytes + main_offset: 0x2B31204 + value_type: float + value: 0.0333333333 +15FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 66666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 50000000 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 40000000 + - + type: block + what: timing +30FPS: + - # default value + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 33333333 +35FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 28571428 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 25000000 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 22222222 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 20000000 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 18181818 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x2B31200] + value_type: uint32 + value: 16666666 diff --git a/SaltySD/plugins/FPSLocker/patches/0100559011740000/5CE1FFBE4B433343.yaml b/SaltySD/plugins/FPSLocker/patches/0100559011740000/5CE1FFBE4B433343.yaml new file mode 100644 index 0000000..62552a2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100559011740000/5CE1FFBE4B433343.yaml @@ -0,0 +1,96 @@ +# Monster Hunter Rise JP 15.0.1 +# BID: 5CE1FFBE4B433343 + +unsafeCheck: false + +# Disable NX-FPS delay function to prioritize game's own FPS lock. +15FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 30 + - + type: block + what: timing +35FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 60 + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml b/SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml new file mode 100644 index 0000000..7d917e8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010056E00853A000/746F0D697EEEE2DD.yaml @@ -0,0 +1,99 @@ +# A Hat in Time 1.0.4 +# BID: 746F0D697EEEE2DD + +unsafeCheck: true + +15FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + # MaxSmoothedFrameRate (default is 32) + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 30 +35FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + # MaxSmoothedFrameRate + - + type: write + address: [MAIN, 0x2265248, 0x71C] + value_type: float + value: 60 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010057D006492000/B88A8D8E5516DDE9.yaml b/SaltySD/plugins/FPSLocker/patches/010057D006492000/B88A8D8E5516DDE9.yaml new file mode 100644 index 0000000..91cae45 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010057D006492000/B88A8D8E5516DDE9.yaml @@ -0,0 +1,99 @@ +# OCTOPATH TRAVELER 1.0.4 +# BID: B88A8D8E5516DDE9 + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x50B5698, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010057E00AC56000/2D5B93C856CDF009.yaml b/SaltySD/plugins/FPSLocker/patches/010057E00AC56000/2D5B93C856CDF009.yaml new file mode 100644 index 0000000..00997d7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010057E00AC56000/2D5B93C856CDF009.yaml @@ -0,0 +1,99 @@ +# Dragon's Dogma: Dark Arisen 1.0.1 +# BID: 2D5B93C856CDF009 + +unsafeCheck: true + +15FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 30 +35FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + # FPS Lock + - + type: write + address: [MAIN, 0x2495500, 0x304C] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml b/SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml new file mode 100644 index 0000000..e794533 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100582010AE0000/B3967105033ACC08.yaml @@ -0,0 +1,532 @@ +# Crysis 2 Remastered 1.3.0 +# BID: B3967105033ACC08 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect Dynamic Resolution Timings to read always not from .text + - + type: bytes + main_offset: 0x2EE9A90 + value_type: uint32 + value: 0x1E204020 + - + type: bytes + main_offset: 0x2EE9AA8 + value_type: uint32 + value: 0x1E221C42 +# Redirect Dynamic Resolution Timings readings to MAIN+0x453B300 + - + type: bytes + main_offset: 0x2EE9A38 + value_type: uint32 + value: 0xD000B28B + - + type: bytes + main_offset: 0x2EE9A40 + value_type: uint32 + value: + - 0xD000B28C + - 0xBD430161 + - 0xBD430582 + - + type: bytes + main_offset: 0x2EE9A50 + value_type: uint32 + value: + - 0xD000B28D + - 0x910C21AD + - + type: bytes + main_offset: 0x2EE9A7C + value_type: uint32 + value: + - 0xD000B289 + - 0x910C4129 + - 0xD000B28B + - 0x910C616B +# Write default values + # MAIN + 0x333FAFC + - + type: bytes + main_offset: 0x453B300 + value_type: float + value: 31.5 + # MAIN + 0x333F844 + - + type: bytes + main_offset: 0x453B304 + value_type: float + value: 32.5 + # MAIN + 0x333E360 + - + type: bytes + main_offset: 0x453B308 + value_type: float + value: [33, 35] + # MAIN + 0x333E258 + - + type: bytes + main_offset: 0x453B310 + value_type: float + value: [32, 33.5] + # MAIN + 0x333E9F8 + - + type: bytes + main_offset: 0x453B318 + value_type: float + value: [28.75, 29.75] +15FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 15 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.033 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 63 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 65 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [66, 66] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [64, 64] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [57.5, 57.5] + - + type: block + what: timing +20FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 20 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.033 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 47.25 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 48.75 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [49.5, 49.5] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [48, 48] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [43.125, 43.125] + - + type: block + what: timing +25FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 25 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.033 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 37.8 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 39 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [39.6, 39.6] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [38.4, 38.4] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [34.5, 34.5] + - + type: block + what: timing +30FPS: + # sys_MaxFPS (default value) + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 30 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.033 + # MAIN + 0x333FAFC (default value) + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 31.5 + # MAIN + 0x333F844 (default value) + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 32.5 + # MAIN + 0x333E360 (default value) + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [33, 35] + # MAIN + 0x333E258 (default value) + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [32, 33.5] + # MAIN + 0x333E9F8 (default value) + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [28.75, 29.75] +35FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 35 + # Renderer thread delay + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.015 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 27 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 27.8571 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [28.2857, 28.2857] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [27.4286, 27.4286] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [24.6429, 24.6429] + - + type: block + what: timing +40FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 40 + # Renderer thread delay + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.015 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 23.625 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 24.375 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [24.75, 24.75] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [24, 24] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [21.5625, 21.5625] + - + type: block + what: timing +45FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 45 + # Renderer thread delay + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.015 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 21 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 21.6667 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [22, 22] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [21.3333, 21.3333] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [19.1667, 19.1667] + - + type: block + what: timing +50FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 50 + # Renderer thread delay + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.015 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 18.9 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 19.5 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [19.8, 19.8] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [19.2, 19.2] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [17.25, 17.25] + - + type: block + what: timing +55FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 55 + # Renderer thread delay + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.015 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 17.1818 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 17.7273 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [18, 18] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [17.4545, 17.4545] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [15.6818, 15.6818] + - + type: block + what: timing +60FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x43E0B14] + value_type: int32 + value: 60 + # Renderer thread delay + - + type: write + address: [MAIN, 0x444A0D8] + value_type: float + value: 0.015 + # MAIN + 0x333FAFC + - + type: write + address: [MAIN, 0x453B300] + value_type: float + value: 15 + # MAIN + 0x333F844 + - + type: write + address: [MAIN, 0x453B304] + value_type: float + value: 15.5 + # MAIN + 0x333E360 + - + type: write + address: [MAIN, 0x453B308] + value_type: float + value: [16.5, 16.5] + # MAIN + 0x333E258 + - + type: write + address: [MAIN, 0x453B310] + value_type: float + value: [16, 16] + # MAIN + 0x333E9F8 + - + type: write + address: [MAIN, 0x453B318] + value_type: float + value: [14.375, 14.375] diff --git a/SaltySD/plugins/FPSLocker/patches/01005DF00DC26000/029C2837B0EEE8A9.yaml b/SaltySD/plugins/FPSLocker/patches/01005DF00DC26000/029C2837B0EEE8A9.yaml new file mode 100644 index 0000000..73d87a6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005DF00DC26000/029C2837B0EEE8A9.yaml @@ -0,0 +1,159 @@ +# SWORD ART ONLINE: FATAL BULLET Complete Edition 1.2.0 +# BID: 029C2837B0EEE8A9 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to one decimal + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7D78510, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D9D178, 0] + value_type: float + value: [60, 60] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/448B5EEE940FF0B0.yaml b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/448B5EEE940FF0B0.yaml new file mode 100644 index 0000000..38add66 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01005FD017E60000/448B5EEE940FF0B0.yaml @@ -0,0 +1,224 @@ +# Warhammer 40,000: Boltgun 1.0.0.2 +# BID: 448B5EEE940FF0B0 + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to unlock framerate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + # Default is 0x47, 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 (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bUseFixedFrameRate (default is 0x47) + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x70F99C8, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x70CC628, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x70FA2E8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml b/SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml new file mode 100644 index 0000000..2f189e4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010060700AC50000/E853C44FDF18B88F.yaml @@ -0,0 +1,136 @@ +# Marvel Ultimate Alliance 3: The Black Order 4.0.1 +# BID: E853C44FDF18B88F +# Credits to Hazerou for finding offsets + +unsafeCheck: true + +15FPS: + # Internal Vsync (default value) + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [2, 2] + # Game Speed = FPS + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 15 +20FPS: + # Internal Vsync (default value) + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [2, 2] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 20 +25FPS: + # Internal Vsync (default value) + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [2, 2] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 25 +30FPS: + # Internal Vsync (default value) + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [2, 2] + # Game Speed (default value) + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 30 +35FPS: + # Internal Vsync + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [1, 1] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 35 +40FPS: + # Internal Vsync + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [1, 1] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 40 +45FPS: + # Internal Vsync + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [1, 1] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 45 +50FPS: + # Internal Vsync + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [1, 1] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 50 +55FPS: + # Internal Vsync + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [1, 1] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 55 +60FPS: + # Internal Vsync + - + type: write + address: [MAIN, 0x45A7410] + value_type: int32 + value: [1, 1] + # Game Speed + - + type: write + address: [MAIN, 0x45A71F0] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100626011656000/761CD556AB357C87.yaml b/SaltySD/plugins/FPSLocker/patches/0100626011656000/761CD556AB357C87.yaml new file mode 100644 index 0000000..ba1bee5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100626011656000/761CD556AB357C87.yaml @@ -0,0 +1,159 @@ +# The Outer Worlds 1.0.5 +# BID: 761CD556AB357C87 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7A4AE48, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7A70080, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010064400B138000/EB8A679B5DDD0060.yaml b/SaltySD/plugins/FPSLocker/patches/010064400B138000/EB8A679B5DDD0060.yaml new file mode 100644 index 0000000..e8e38fd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010064400B138000/EB8A679B5DDD0060.yaml @@ -0,0 +1,75 @@ +# V-Rally 4 1.2.0 +# BID: EB8A679B5DDD0060 + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x20A0E44] + value_type: float + value: 14.333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010065A014024000/6FB56071CCB321B6.yaml b/SaltySD/plugins/FPSLocker/patches/010065A014024000/6FB56071CCB321B6.yaml new file mode 100644 index 0000000..6492183 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010065A014024000/6FB56071CCB321B6.yaml @@ -0,0 +1,159 @@ +# Grand Theft Auto: San Andreas - Definitive Edition 1.0.7 +# BID: 6FB56071CCB321B6 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value is 36.5, obviously we don't want it) + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7952298, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7976FE0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100664016D5C000/D45B9332B5742A70.yaml b/SaltySD/plugins/FPSLocker/patches/0100664016D5C000/D45B9332B5742A70.yaml new file mode 100644 index 0000000..c5320ee --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100664016D5C000/D45B9332B5742A70.yaml @@ -0,0 +1,159 @@ +# Redout 2 1.0.6 +# BID: D45B9332B5742A70 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget ((1000/FPS) * 0.969) + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [64.6, 64.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [48.45, 48.45] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [38.76, 38.76] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [32.3, 32.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [27.6857, 27.6857] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [24.225, 24.225] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [21.53, 21.53] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [19.38, 19.38] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [17.61, 17.61] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x8549648, 0] + value_type: float + value: [16.15, 16.15] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8577218, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010066F01A0E0000/224357DED42E86ED.yaml b/SaltySD/plugins/FPSLocker/patches/010066F01A0E0000/224357DED42E86ED.yaml new file mode 100644 index 0000000..2fdee03 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010066F01A0E0000/224357DED42E86ED.yaml @@ -0,0 +1,159 @@ +# Casette Beasts 1.4.0 +# BID: 224357DED42E86ED + +unsafeCheck: true + +15FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 15 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 20 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 25 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # physics/common/physics_fps (default value) + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 30 + # debug/settings/fps/force_fps (default value is 30) + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 0 +35FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 35 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 40 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 45 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 50 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 55 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # physics/common/physics_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x24] + value_type: int32 + value: 60 + # debug/settings/fps/force_fps + - + type: write + address: [MAIN, 0x33DCB78, 0x30] + value_type: int32 + value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml b/SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml new file mode 100644 index 0000000..8cc51e8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100670014482000/824B38A25986B2AB.yaml @@ -0,0 +1,84 @@ +# Assassin's Creed: The Ezio Collection - Assassin's Creed 2 1.3 +# BID: 824B38A25986B2AB +# Scenes exclusively 2D are tied to framerate, so at 60 FPS they are 2x faster. + +unsafeCheck: true + +MASTER_WRITE: +# Patch code to multiply last frametime by float scale factor stored in MAIN+0x3B4D800 +# To match it to Dynamic Resolution calculations + - + type: bytes + main_offset: 0xB40638 + value_type: uint32 + value: + - 0xB0018069 + - 0xBD480120 + - 0x1E200909 + - 0xD503201F +# Write default dynamic resolution timing factor + - + type: bytes + main_offset: 0x3B4D800 + value_type: float + value: 1 +15FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 0.5 +20FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 0.6666666666 +25FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 0.8333333333 +30FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 1 +35FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 1.1666666666 +40FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 1.3333333333 +45FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 1.5 +50FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 1.6666666666 +55FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 1.8333333333 +60FPS: + - + type: write + address: [MAIN, 0x3B4D800] + value_type: float + value: 2 diff --git a/SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml b/SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml new file mode 100644 index 0000000..4396ff6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100670014482001/2B59D6C677258A2A.yaml @@ -0,0 +1,89 @@ +# Assassin's Creed: The Ezio Collection - Assassin's Creed Brotherhood 1.3 +# BID: 2B59D6C677258A2A +# Scenes exclusively 2D are tied to framerate, so at 60 FPS they are 2x faster. + +unsafeCheck: true + +MASTER_WRITE: +# Patch code to multiply last frametime by float scale factor stored in MAIN+0x4276B00 +# To match it to Dynamic Resolution calculations + - + type: bytes + main_offset: 0xBDBE44 + value_type: uint32 + value: + - 0xF001B4C8 + - 0xBD4B0100 + - + type: bytes + main_offset: 0xBDBE58 + value_type: uint32 + value: + - 0x1E200900 + - 0xD503201F +# Write default dynamic resolution timing factor + - + type: bytes + main_offset: 0x4276B00 + value_type: float + value: 1 +15FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 0.5 +20FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 0.6666666666 +25FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 0.8333333333 +30FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 1 +35FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 1.1666666666 +40FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 1.3333333333 +45FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 1.5 +50FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 1.6666666666 +55FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 1.8333333333 +60FPS: + - + type: write + address: [MAIN, 0x4276B00] + value_type: float + value: 2 diff --git a/SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml b/SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml new file mode 100644 index 0000000..653d1f4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100670014482002/0AE4D1770B196094.yaml @@ -0,0 +1,82 @@ +# Assassin's Creed: The Ezio Collection - Assassin's Creed Revelations 1.3 +# BID: 0AE4D1770B196094 +# Scenes exclusively 2D are tied to framerate, so at 60 FPS they are 2x faster. + +unsafeCheck: true + +MASTER_WRITE: +# Patch code to divide last frametime by float scale factor stored in MAIN+0x4422800 +# To match it to Dynamic Resolution calculations + - + type: bytes + main_offset: 0xAD51A0 + value_type: uint32 + value: + - 0xB001CA68 + - 0xBD480101 +# Write default dynamic resolution timing factor + - + type: bytes + main_offset: 0x4422800 + value_type: float + value: 1000 +15FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 2000 +20FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 1500 +25FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 1200 +30FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 1000 +35FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 857 +40FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 750 +45FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 666 +50FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 600 +55FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 545 +60FPS: + - + type: write + address: [MAIN, 0x4422800] + value_type: float + value: 500 diff --git a/SaltySD/plugins/FPSLocker/patches/010069100B7F0000/A953B35A45BEA33D.yaml b/SaltySD/plugins/FPSLocker/patches/010069100B7F0000/A953B35A45BEA33D.yaml new file mode 100644 index 0000000..05f6419 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010069100B7F0000/A953B35A45BEA33D.yaml @@ -0,0 +1,159 @@ +# The Caligula Effect: Overdose 1.01 +# BID: A953B35A45BEA33D + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to one decimal + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CF2530, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5D170A8, 0] + value_type: float + value: [60, 60] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010069500DD86000/5AD84EFD9D28FDDE.yaml b/SaltySD/plugins/FPSLocker/patches/010069500DD86000/5AD84EFD9D28FDDE.yaml new file mode 100644 index 0000000..c8ba1fd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010069500DD86000/5AD84EFD9D28FDDE.yaml @@ -0,0 +1,159 @@ +# Destiny Connect: Tick-Tock Travelers 1.0.0 +# BID: 5AD84EFD9D28FDDE + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5934540, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x59590A8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01006C300E9F0000/1719AABFA5EAE42B.yaml b/SaltySD/plugins/FPSLocker/patches/01006C300E9F0000/1719AABFA5EAE42B.yaml new file mode 100644 index 0000000..724e0eb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006C300E9F0000/1719AABFA5EAE42B.yaml @@ -0,0 +1,339 @@ +# DRAGON QUEST XI S: Echoes of an Elusive Age - Definitive Edition 1.0.3 +# BID: 1719AABFA5EAE42B + +unsafeCheck: true + +15FPS: + # r.DynamicResolution.MaxTimeBudget = 0.99 * (1000/FPS) + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [66, 66] + # r.DynamicResolution.MinTimeBudget = 0.9 * (1000/FPS) + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [60, 60] + # r.DynamicResolution.HeavyTimeBudget = 1.05 * (1000/FPS) + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [70, 70] + # r.DynamicResolution.LightTimeBudget = 0.9 * (1000/FPS) + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [60, 60] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [49.5, 49.5] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [45, 45] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [52.5, 52.5] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [45, 45] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [39.6, 39.6] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [36, 36] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [42, 42] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [36, 36] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicResolution.MaxTimeBudget (default value) + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [33, 33] + # r.DynamicResolution.MinTimeBudget (default value) + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [30, 30] + # r.DynamicResolution.HeavyTimeBudget (default value) + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [35, 35] + # r.DynamicResolution.LightTimeBudget (default value) + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [30, 30] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [28.29, 28.29] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [25.71, 25.71] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [30, 30] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [25.71, 25.71] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [24.75, 24.75] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [22.5, 22.5] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [26.25, 26.25] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [22.5, 22.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [22, 22] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [20, 20] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [23.33, 23.33] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [19.8, 19.8] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [18, 18] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [21, 21] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [18, 18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [18, 18] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [16.36, 16.36] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [19.09, 19.09] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [16.36, 16.36] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +60FPS: + # r.DynamicResolution.MaxTimeBudget + - + type: write + address: [MAIN, 0x84ECDD8, 0] + value_type: float + value: [16.5, 16.5] + # r.DynamicResolution.MinTimeBudget + - + type: write + address: [MAIN, 0x84ECDF0, 0] + value_type: float + value: [15, 15] + # r.DynamicResolution.HeavyTimeBudget + - + type: write + address: [MAIN, 0x84ECE08, 0] + value_type: float + value: [17.5, 17.5] + # r.DynamicResolution.LightTimeBudget + - + type: write + address: [MAIN, 0x84ECE20, 0] + value_type: float + value: [15, 15] + # t.MaxFPS + - + type: write + address: [MAIN, 0x8501C48, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01006C600E46E000/6D5DB3434CCF63F2.yaml b/SaltySD/plugins/FPSLocker/patches/01006C600E46E000/6D5DB3434CCF63F2.yaml new file mode 100644 index 0000000..3a7bcff --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006C600E46E000/6D5DB3434CCF63F2.yaml @@ -0,0 +1,159 @@ +# Samurai Jack: Battle Through Time 1.0.3 +# BID: 6D5DB3434CCF63F2 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6FC5558, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FEB028, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01006CB010840000/9F2F187D1C6E44EC.yaml b/SaltySD/plugins/FPSLocker/patches/01006CB010840000/9F2F187D1C6E44EC.yaml new file mode 100644 index 0000000..40a3dc5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006CB010840000/9F2F187D1C6E44EC.yaml @@ -0,0 +1,159 @@ +# Oceanhorn 2: Knights of the Lost Realm 1.2 +# BID: 9F2F187D1C6E44EC + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal - 1.2 + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [65.4, 65.4] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [48.8, 48.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [38.8, 38.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [32.1, 32.1] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [27.3, 27.3] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [23.8, 23.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [21, 21] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [18.8, 18.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [16.9, 16.9] + # t.MaxFPS + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x51E80D8, 0] + value_type: float + value: [15.4, 15.4] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x52122E0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01006CC01182C000/C31E59266A218855.yaml b/SaltySD/plugins/FPSLocker/patches/01006CC01182C000/C31E59266A218855.yaml new file mode 100644 index 0000000..ab193e7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006CC01182C000/C31E59266A218855.yaml @@ -0,0 +1,159 @@ +# Blair Witch 1.0.3 +# BID: C31E59266A218855 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) with cutted decimals + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [66, 66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [33, 33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [28, 28] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [22, 22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [18, 18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5CC7310, 0] + value_type: float + value: [16, 16] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CEB9F8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml b/SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml new file mode 100644 index 0000000..787e26c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006DC010326000/05DE5A7F20BD1532.yaml @@ -0,0 +1,159 @@ +# Bravely Default II 1.0.0 +# BID: 05DE5A7F20BD1532 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to one decimal + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x72AEE90, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x73050F0, 0] + value_type: float + value: [60, 60] diff --git a/SaltySD/plugins/FPSLocker/patches/01006EC00F2CC000/F199FFD7D83F399E.yaml b/SaltySD/plugins/FPSLocker/patches/01006EC00F2CC000/F199FFD7D83F399E.yaml new file mode 100644 index 0000000..c3893d8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01006EC00F2CC000/F199FFD7D83F399E.yaml @@ -0,0 +1,159 @@ +# Ruiner 1.3 +# BID: F199FFD7D83F399E + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to one decimal + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x55B1690, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x55D8100, 0] + value_type: float + value: [60, 60] diff --git a/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010070A00E9CE000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100711017B30000/2C7A626BA5F25D5F.yaml b/SaltySD/plugins/FPSLocker/patches/0100711017B30000/2C7A626BA5F25D5F.yaml new file mode 100644 index 0000000..7acacc6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100711017B30000/2C7A626BA5F25D5F.yaml @@ -0,0 +1,99 @@ +# The Dark Pictures Anthology: Man of Medan 1.0.1 +# BID: 2C7A626BA5F25D5F + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default is 24) + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS (default) + - + type: write + address: [MAIN, 0xB149FF8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100711017B30000/D7D0827ABE36A00D.yaml b/SaltySD/plugins/FPSLocker/patches/0100711017B30000/D7D0827ABE36A00D.yaml new file mode 100644 index 0000000..7c78120 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100711017B30000/D7D0827ABE36A00D.yaml @@ -0,0 +1,99 @@ +# The Dark Pictures Anthology: Man of Medan 1.0.0 +# BID: D7D0827ABE36A00D + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default is 24) + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS (default) + - + type: write + address: [MAIN, 0xB129FF8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010071800BA98000/173E2EDEA9E5D940.yaml b/SaltySD/plugins/FPSLocker/patches/010071800BA98000/173E2EDEA9E5D940.yaml new file mode 100644 index 0000000..b33b086 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010071800BA98000/173E2EDEA9E5D940.yaml @@ -0,0 +1,135 @@ +# Darksiders 2 1.0.0 +# BID: 173E2EDEA9E5D940 + +unsafeCheck: true + +15FPS: + # gNXHighThresholdUS_hidden 930*(1000/FPS) + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 62000 + # gNXLowThresholdUS_hidden 870*(1000/FPS) + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 58000 +20FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 46500 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 43500 +25FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 37200 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 34800 +30FPS: + # gNXHighThresholdUS_hidden (default) + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 31000 + # gNXLowThresholdUS_hidden (default) + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 29000 +35FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 26571 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 24857 +40FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 23250 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 21750 +45FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 20666 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 19333 +50FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 18600 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 17400 +55FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 16909 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 15818 +60FPS: + # gNXHighThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F94] + value_type: int32 + value: 15500 + # gNXLowThresholdUS_hidden + - + type: write + address: [MAIN, 0x3293F98] + value_type: int32 + value: 14500 diff --git a/SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml b/SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml new file mode 100644 index 0000000..7bf19e3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010072900AFF0000/FE757B10B45C3444.yaml @@ -0,0 +1,183 @@ +# Gear.Club Unlimited 2 +# BID: FE757B10B45C3444 + +unsafeCheck: true + +MASTER_WRITE: +# Edit Eden.Graphics.IGraphicsQualityProfile::set_VSyncCount to get interval from MAIN + 0x5FBAF20 +# If not edited, light is flickering at > 30 FPS + - + type: bytes + main_offset: 0x14B4990 + value_type: uint32 + value: + - 0xD0025821 + - 0xB94F2021 + - 0xB9005401 + - 0xD65F03C0 +# Edit UnityEngine.QualitySettings::set_vSyncCount to get interval from MAIN + 0x5FBAF20 +# If not edited, light is flickering at > 30 FPS + - + type: bytes + main_offset: 0x1B46EE4 + value_type: uint32 + value: + - 0x900223A0 + - 0xB94F2000 + - 0xA9427BFD + - 0xA9414FF4 + - 0x9100C3FF + - 0xD61F0020 +# Edit Eden.Graphics.GraphicsQualityManager::SetTargetFrameRate to get interval from MAIN + 0x5FBAF20 +# If not edited, it locks to 30 FPS + - + type: bytes + main_offset: 0x14AB578 + value_type: uint32 + value: 0x947E69DC + - + type: bytes + main_offset: 0x3445CE8 + value_type: uint32 + value: + - 0xB0015BA1 + - 0xB94F2021 + - 0x2A0103F3 + - 0xD65F03C0 +# Edit Eden.Graphics.DynamicResolutionScaler::UpdateScaling to get DR target timing from MAIN + 0x5FBAF28 +# If not edited, performance is much worse at > 30 FPS + - + type: bytes + main_offset: 0x14988BC + value_type: uint32 + value: 0x947EB50F + - + type: bytes + main_offset: 0x3445CF8 + value_type: uint32 + value: + - 0xB0015BA0 + - 0xBD4F2800 + - 0xD65F03C0 +# Default values + - + type: bytes + main_offset: 0x5FBAF20 + value_type: uint32 + value: 2 + - + type: bytes + main_offset: 0x5FBAF28 + value_type: float + value: 33 +15FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 4 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 16.5 +20FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 3 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 22 +25FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 2 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 27.5 +30FPS: + - # Default in races + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 2 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 33 +35FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 1 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 38.5 +40FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 1 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 44 +45FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 1 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 49.5 +50FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 1 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 55 +55FPS: + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 1 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 60.5 +60FPS: + # Default for menus + - + type: write + address: [MAIN, 0x5FBAF20] + value_type: uint32 + value: 1 + - + type: write + address: [MAIN, 0x5FBAF28] + value_type: float + value: 66 diff --git a/SaltySD/plugins/FPSLocker/patches/010073401175E000/E8DB38F170B0149D.yaml b/SaltySD/plugins/FPSLocker/patches/010073401175E000/E8DB38F170B0149D.yaml new file mode 100644 index 0000000..ffa59d6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010073401175E000/E8DB38F170B0149D.yaml @@ -0,0 +1,159 @@ +# Crash Bandicoot 4: It's About Time 1.2 +# BID: E8DB38F170B0149D + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7AE3340, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7B0DEB0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100739018020000/035715948447A762.yaml b/SaltySD/plugins/FPSLocker/patches/0100739018020000/035715948447A762.yaml new file mode 100644 index 0000000..575006a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100739018020000/035715948447A762.yaml @@ -0,0 +1,219 @@ +# LEGO 2K Drive 1.4 +# BID: 035715948447A762 + +unsafeCheck: true + +15FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.VSync + - + type: write + address: [MAIN, 0x923DD10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9A49C48, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9A6FDC0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100739018020000/E93D49581521E084.yaml b/SaltySD/plugins/FPSLocker/patches/0100739018020000/E93D49581521E084.yaml new file mode 100644 index 0000000..e34e54a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100739018020000/E93D49581521E084.yaml @@ -0,0 +1,220 @@ +# LEGO 2K Drive 1.7 +# BID: E93D49581521E084 + + +unsafeCheck: true + +15FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.VSync + - + type: write + address: [MAIN, 0x9323D10, 0] + value_type: int32 + value: [0, 0] + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x9B2FC48, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9B55DC0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/75960383063ABB4E.yaml b/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/75960383063ABB4E.yaml new file mode 100644 index 0000000..4dee12f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/75960383063ABB4E.yaml @@ -0,0 +1,224 @@ +# Redemption Reapers 1.3.0 +# BID: 75960383063ABB4E + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + # Default is 0x47, 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 (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value is 30 in handheld, 60 in docked) + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x750B478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74DE1C8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x750BD98, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml b/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml new file mode 100644 index 0000000..e62f4b1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010073F0197DA000/955DF07AA5F4497B.yaml @@ -0,0 +1,224 @@ +# Redemption Reapers 1.4.0 +# BID: 955DF07AA5F4497B + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + # Default is 0x47, 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 (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value is 30 in handheld, 60 in docked) + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x751C478, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74EF1C8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x751CD98, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010074F013262000/0AE74B263D8AC3CF.yaml b/SaltySD/plugins/FPSLocker/patches/010074F013262000/0AE74B263D8AC3CF.yaml new file mode 100644 index 0000000..6764afe --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010074F013262000/0AE74B263D8AC3CF.yaml @@ -0,0 +1,444 @@ +# Xenoblade Chronicles 3 2.1.1 +# BID: 0AE74B263D8AC3CF + +unsafeCheck: true + +MASTER_WRITE: + # Redirect DR frametime target reading to .bss code cave [MAIN, 0x236AB00] + - + type: bytes + main_offset: 0x124E9A8 + value_type: uint32 + value: + - 0x900088E8 + - 0xBD4B0100 + # Original DR frametime target + - + type: bytes + main_offset: 0x236AB00 + value_type: float + value: + - 0.0166666666 + # Fix crash when gathering big amount of ether for > 30 FPS + - # Code cave at 0x1295300 + type: bytes + main_offset: 0x67370 + value_type: uint32 + value: 0x9448B7E4 + - # Push fixed 1/30 float to game speed pointer late enough to not affect it + type: bytes + main_offset: 0x1295300 + value_type: uint32 + value: + - 0xF9400015 + - 0x1E2E1001 + - 0x1E27D002 + - 0x1E221821 + - 0xBD0216A1 + - 0xD65F03C0 +# For 15-20 FPS use internal FPS lock, for 25-30 set default value +15FPS: + # vsync + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [4, 4] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + # UI speed + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0666666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [3, 3] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.05 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.02 + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.04 +30FPS: + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.024 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.028571 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +40FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.021 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.025 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +45FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.018 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0222222222 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +50FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.016 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.02 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +55FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.014 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.01818181818 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +60FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + # Set lowest possible resolution since DR is glitching framebuffer on 60 FPS if we allow even small changes in res + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.000001 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010074F013262000/8E18600222CE90C2.yaml b/SaltySD/plugins/FPSLocker/patches/010074F013262000/8E18600222CE90C2.yaml new file mode 100644 index 0000000..904ad21 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010074F013262000/8E18600222CE90C2.yaml @@ -0,0 +1,427 @@ +# Xenoblade Chronicles 3 2.0.0 +# BID: 8E18600222CE90C2 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect DR frametime target reading to .bss code cave [MAIN, 0x2369B00] + - + type: bytes + main_offset: 0x124E638 + value_type: uint32 + value: + - 0xF00088C8 + - 0xBD4B0100 + # Original DR frametime target + - + type: bytes + main_offset: 0x2369B00 + value_type: float + value: + - 0.0166666666 +# For 15-20 FPS use internal FPS lock, for 25-30 set default value +15FPS: + # vsync + - + type: write + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [4, 4] + - + type: write + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + # UI speed + - + type: write + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0666666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [3, 3] + - + type: write + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: write + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.05 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + - + type: write + address: [MAIN, 0x2369B00] + value_type: float + value: 0.02 + - + type: write + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.04 +30FPS: + - + type: write + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + - + type: write + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: write + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0333333333 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.024 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.028571 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0333333333 +40FPS: + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.021 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.025 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0333333333 +45FPS: + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.018 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0222222222 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0333333333 +50FPS: + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.016 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.02 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0333333333 +55FPS: + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.014 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.01818181818 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0333333333 +60FPS: + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B41DB0] + value_type: int32 + value: [2, 2] + # Set lowest possible resolution since DR is glitching framebuffer on 60 FPS if we allow even small changes in res + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.000001 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x2369B00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA0A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA0A90, 128] + value_type: float + value: 0.0333333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010074F013262000/B6BE4A6B83D4F237.yaml b/SaltySD/plugins/FPSLocker/patches/010074F013262000/B6BE4A6B83D4F237.yaml new file mode 100644 index 0000000..9b3f1f4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010074F013262000/B6BE4A6B83D4F237.yaml @@ -0,0 +1,427 @@ +# Xenoblade Chronicles 3 2.1.0 +# BID: B6BE4A6B83D4F237 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect DR frametime target reading to .bss code cave [MAIN, 0x236AB00] + - + type: bytes + main_offset: 0x124E968 + value_type: uint32 + value: + - 0x900088E8 + - 0xBD4B0100 + # Original DR frametime target + - + type: bytes + main_offset: 0x236AB00 + value_type: float + value: + - 0.0166666666 +# For 15-20 FPS use internal FPS lock, for 25-30 set default value +15FPS: + # vsync + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [4, 4] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + # UI speed + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0666666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [3, 3] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.05 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.02 + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.04 +30FPS: + - + type: write + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: write + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: write + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.024 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.028571 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +40FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.021 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.025 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +45FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.018 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0222222222 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +50FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.016 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.02 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +55FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.014 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.01818181818 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 +60FPS: + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1B42DB0] + value_type: int32 + value: [2, 2] + # Set lowest possible resolution since DR is glitching framebuffer on 60 FPS if we allow even small changes in res + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.000001 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x236AB00] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0166666666 + - + type: compare + compare_address: [MAIN, 0x1BA1A98] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1BA1A90, 128] + value_type: float + value: 0.0333333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010074F013262000/B76CD24AF02ACEA2.yaml b/SaltySD/plugins/FPSLocker/patches/010074F013262000/B76CD24AF02ACEA2.yaml new file mode 100644 index 0000000..913ba55 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010074F013262000/B76CD24AF02ACEA2.yaml @@ -0,0 +1,152 @@ +# Xenoblade Chronicles 3 1.3.0 +# BID: B76CD24AF02ACEA2 + +unsafeCheck: true + +# For 15-20 FPS use internal FPS lock, for 25-30 set default value +15FPS: + - + type: write + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [4, 4] + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [3, 3] + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] +30FPS: + - + type: write + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] +40FPS: + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] +45FPS: + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] +50FPS: + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] +55FPS: + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] +60FPS: + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 1 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [1, 1] + - + type: compare + compare_address: [MAIN, 0x1A65958] + compare_type: "!=" + compare_value_type: int8 + compare_value: 0 + address: [MAIN, 0x1A08F98] + value_type: int32 + value: [2, 2] diff --git a/SaltySD/plugins/FPSLocker/patches/010075A00BA14000/6888027D61CF603D.yaml b/SaltySD/plugins/FPSLocker/patches/010075A00BA14000/6888027D61CF603D.yaml new file mode 100644 index 0000000..dacb72c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010075A00BA14000/6888027D61CF603D.yaml @@ -0,0 +1,75 @@ +# Sniper Elite 3 Ultimate Edition 1.0.1 +# BID: 6888027D61CF603D + +unsafeCheck: true + +15FPS: + # Dynamic Resolution frame time target = (30/(1000/30)) * (1000/FPS) + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 60 +20FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 45 +25FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 36 +30FPS: + # Dynamic Resolution frame time target (default value) + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 30 +35FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 25.71 +40FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 22.5 +45FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 20 +50FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 18 +55FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 16.36 +60FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xF39748, 4] + value_type: float + value: 15 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010076F00E9C8000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010077A012A5C000/F5ECE696120B65B3.yaml b/SaltySD/plugins/FPSLocker/patches/010077A012A5C000/F5ECE696120B65B3.yaml new file mode 100644 index 0000000..4d0216d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010077A012A5C000/F5ECE696120B65B3.yaml @@ -0,0 +1,159 @@ +# Paradise Lost 1.0.0 +# BID: F5ECE696120B65B3 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget ((1000/FPS) * 0.9) + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [60, 60] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [45, 45] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [36, 36] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [30, 30] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [25.7142, 25.7142] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [22.5, 22.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [18, 18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [16.363636, 16.363636] + # t.MaxFPS + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x56A9C78, 0] + value_type: float + value: [15, 15] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x56D3EA0, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml b/SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml new file mode 100644 index 0000000..a0c848b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010077B00E046000/D2775FAFCF4835CB.yaml @@ -0,0 +1,224 @@ +# Spyro Reignited Trilogy 1.01 +# BID: D2775FAFCF4835CB + +unsafeCheck: true + +15FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + # Default is 0x67, bSmoothFrameRate |= 0x20, 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 (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x69DA1A8, 0x778] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69B6780, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x69DAC78, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007B5017A12000/C56FA2C9627A26CF.yaml b/SaltySD/plugins/FPSLocker/patches/01007B5017A12000/C56FA2C9627A26CF.yaml new file mode 100644 index 0000000..6c5f4ee --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007B5017A12000/C56FA2C9627A26CF.yaml @@ -0,0 +1,219 @@ +# Sifu 1.13_842 +# BID: C56FA2C9627A26CF + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [66.66, 66.66] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [50, 50] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [40, 40] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [33.33, 33.33] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [28.51, 28.51] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [25, 25] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [22.22, 22.22] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [20, 20] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [18.18, 18.18] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x94CD848, 0] + value_type: float + value: [16.66, 16.66] + # r.VSync + - + type: write + address: [MAIN, 0x8D39378, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x94F2858, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007B5017A12000/CE14D183190A44D2.yaml b/SaltySD/plugins/FPSLocker/patches/01007B5017A12000/CE14D183190A44D2.yaml new file mode 100644 index 0000000..af8d597 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007B5017A12000/CE14D183190A44D2.yaml @@ -0,0 +1,219 @@ +# Sifu 1.22_1197 +# BID: CE14D183190A44D2 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [66.66, 66.66] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [50, 50] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [40, 40] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [33.33, 33.33] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [28.51, 28.51] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [25, 25] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [22.22, 22.22] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [20, 20] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [18.18, 18.18] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x973F690, 0] + value_type: float + value: [16.66, 16.66] + # r.VSync + - + type: write + address: [MAIN, 0x8FAC338, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x9764588, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007E3006DDA000/D55608916FA56C18.yaml b/SaltySD/plugins/FPSLocker/patches/01007E3006DDA000/D55608916FA56C18.yaml new file mode 100644 index 0000000..e8e74bd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007E3006DDA000/D55608916FA56C18.yaml @@ -0,0 +1,83 @@ +# Kirby Star Allies 4.0.0 +# BID: D55608916FA56C18 +# Thanks to Kirby567Fan for finding offsets +# Game is using fake double buffer + +unsafeCheck: true + +15FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 3 + - + type: block + what: timing +20FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 2 + - + type: block + what: timing +25FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 1 +30FPS: + # Interval (default value) + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 1 +35FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 0 +40FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 0 +45FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 0 +50FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 0 +55FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 0 +60FPS: + # Interval + - + type: write + address: [MAIN, 0x54C5B0, 0] + value_type: int32 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01007FB010DC8000/D3744AF2C376CDC4.yaml b/SaltySD/plugins/FPSLocker/patches/01007FB010DC8000/D3744AF2C376CDC4.yaml new file mode 100644 index 0000000..663b53a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01007FB010DC8000/D3744AF2C376CDC4.yaml @@ -0,0 +1,159 @@ +# Paradise Killer 1.2.1 +# BID: D3744AF2C376CDC4 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x715EDB8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x718C9B8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100801011C3E000/C4DF04F647BDC727.yaml b/SaltySD/plugins/FPSLocker/patches/0100801011C3E000/C4DF04F647BDC727.yaml new file mode 100644 index 0000000..d977000 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100801011C3E000/C4DF04F647BDC727.yaml @@ -0,0 +1,192 @@ +# Persona 5 Strikers 1.0.0 +# BID: C4DF04F647BDC727 + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [15, 2] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 15 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 1 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [20, 2] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 20 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 1 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [25, 2] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 25 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 1 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [30, 2] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 30 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 1 +35FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [35, 1] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 35 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 0 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [40, 1] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 40 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 0 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [45, 1] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 45 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 0 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [50, 1] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 50 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 0 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [55, 1] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 55 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 0 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x1D584F8] + value_type: int32 + value: [60, 1] + - + type: write + address: [MAIN, 0x1D6BFA0] + value_type: float + value: 60 + - + type: write + address: [MAIN, 0x2AEFB30] + value_type: int32 + value: 0 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml b/SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml new file mode 100644 index 0000000..05414a0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100830004FB6000/40F973CE3B5EC8D7.yaml @@ -0,0 +1,135 @@ +# LA Noire 1.2 +# BID: 40F973CE3B5EC8D7 + +unsafeCheck: false + +15FPS: + # Game speed ((FPS/30) * 59.94) + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 29.97 + # Frameskipping (otherwise you will get slowdowns at framedrops) + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +20FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 39.96 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +25FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 49.95 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +30FPS: + # Game speed (default) + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 59.94 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +35FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 69.93 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +40FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 79.92 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +45FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 89.91 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +50FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 99.9 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +55FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 109.89 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 +60FPS: + # Game speed + - + type: write + address: [MAIN, 0x1A32900, 0xA0] + value_type: float + value: 119.88 + # Frameskipping + - + type: write + address: [MAIN, 0x1A5BE70] + value_type: int8 + value: 1 diff --git a/SaltySD/plugins/FPSLocker/patches/010083501AB36000/0959D87753F9FED4.yaml b/SaltySD/plugins/FPSLocker/patches/010083501AB36000/0959D87753F9FED4.yaml new file mode 100644 index 0000000..471625a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010083501AB36000/0959D87753F9FED4.yaml @@ -0,0 +1,159 @@ +# Solar Ash 1.06.0 +# BID: 0959D87753F9FED4 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to two decimals + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [28.57, 28.57] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6577290, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x65A2138, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010084F017B32000/2BFF5F7711EE6C9F.yaml b/SaltySD/plugins/FPSLocker/patches/010084F017B32000/2BFF5F7711EE6C9F.yaml new file mode 100644 index 0000000..07d5fbd --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010084F017B32000/2BFF5F7711EE6C9F.yaml @@ -0,0 +1,99 @@ +# The Dark Pictures Anthology: Little Hope 1.0.0 +# BID: 2BFF5F7711EE6C9F + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default is 24) + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS (default) + - + type: write + address: [MAIN, 0xB4E7838, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100853015E86000/DA7D68D91AB5FA3C.yaml b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/DA7D68D91AB5FA3C.yaml new file mode 100644 index 0000000..bded4bb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100853015E86000/DA7D68D91AB5FA3C.yaml @@ -0,0 +1,87 @@ +# No Man's Sky 4.4.5 +# BID: DA7D68D91AB5FA3C + +unsafeCheck: true + +MASTER_WRITE: +# Redirect DR frametime target to MAIN+0x49ACD00 + - + type: bytes + main_offset: 0x1D927B0 + value_type: uint32 + value: 0xD503201F + - + type: bytes + main_offset: 0x1D927BC + value_type: uint32 + value: + - 0xD00160D2 + - 0xB9400408 + - 0xBD4D024A + # default value + - + type: bytes + main_offset: 0x49ACD00 + value_type: float + value: 33.3333333333 +15FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 66.6666666666 +20FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 50 +25FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 40 +30FPS: + # default value + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 33.3333333333 +35FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 28.5714 +40FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 25 +45FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 22.2222222222 +50FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 20 +55FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 18.1818181818 +60FPS: + - + type: write + address: [MAIN, 0x49ACD00] + value_type: float + value: 16.6666666666 diff --git a/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010085500E9D0000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml b/SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml new file mode 100644 index 0000000..281e01e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010086C00AF7C000/C7DAB27F22ACD2ED.yaml @@ -0,0 +1,87 @@ +# 妖怪ウォッチ4 ぼくらは同じ空を見上げている 2.2.0 +# BID: C7DAB27F22ACD2ED +# Game is using double buffer, nvnWindowBuilderSetTextures has hardcoded values. +# So it's not possible to get stable FPS lock between 30 and 60. + +unsafeCheck: true + +MASTER_WRITE: + # Change main loop delay from 31.6 ms to 4.2 ms + - + type: bytes + main_offset: 0x950C6C + value_type: uint32 + value: 0xD2A00800 + - + type: bytes + main_offset: 0x950C74 + value_type: uint32 + value: 0xD2A00800 + - + type: bytes + main_offset: 0x950C94 + value_type: uint32 + value: + - 0xD503201F + - 0xD503201F +15FPS: + # DUMMY + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +20FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +25FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +30FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +35FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +40FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +45FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +50FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +55FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 +60FPS: + - + type: write + address: [MAIN, 0x6AE8500] + value_type: uint8 + value: 0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010087800DCEA000/6B0B26802F0DAAAF.yaml b/SaltySD/plugins/FPSLocker/patches/010087800DCEA000/6B0B26802F0DAAAF.yaml new file mode 100644 index 0000000..eb5b13e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010087800DCEA000/6B0B26802F0DAAAF.yaml @@ -0,0 +1,75 @@ +# WRC8 1.4.0 +# BID: 6B0B26802F0DAAAF + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x22F50FC] + value_type: float + value: 14.333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml b/SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml new file mode 100644 index 0000000..c36de5d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01008C8012920000/8C93B930348C9787.yaml @@ -0,0 +1,135 @@ +# Dying Light: Platinum Edition 1.0.5 +# BID: 8C93B930348C9787 + +unsafeCheck: true + +MASTER_WRITE: + # Disable Dynamic GPU Clocks + - + type: bytes + main_offset: 0x1DE89CC + value_type: uint32 + value: + - 0xD503201F + # Redirect Dynamic Resolution Timings to MAIN+0x4113D00 + - + type: bytes + main_offset: 0x1DE89A8 + value_type: uint32 + value: + - 0xF001194A + - 0xB94D014A + - + type: bytes + main_offset: 0x1DE8A08 + value_type: uint32 + value: + - 0xF001194A + - 0xB94D054A + - + type: bytes + main_offset: 0x1DE80C8 + value_type: uint32 + value: + - 0xF001194B + - 0xB94D096C + - 0xB94D0D6B + - 0xD503201F + - + type: bytes + main_offset: 0x1DE80F8 + value_type: uint32 + value: + - 0xF001194B + - 0xB94D116B +# Write default values + # MAIN + 0x1DE89AC + - + type: bytes + main_offset: 0x4113D00 + value_type: float + value: 0.034 + # MAIN + 0x1DE8A0C + - + type: bytes + main_offset: 0x4113D04 + value_type: float + value: 0.028 + # MAIN + 0x1DE80D4 + - + type: bytes + main_offset: 0x4113D08 + value_type: float + value: 0.0289855 + # MAIN + 0x1DE80D0 + - + type: bytes + main_offset: 0x4113D0C + value_type: float + value: 0.0263158 + # MAIN + 0x1DE80D0 + - + type: bytes + main_offset: 0x4113D10 + value_type: float + value: 0.0324675 +15FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.068, 0.056, 0.057971, 0.0526316, 0.064935] +20FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.051, 0.042, 0.04347825, 0.0394737, 0.04870125] +25FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.0408, 0.0336, 0.0347826, 0.03157896, 0.038961] +30FPS: + - # default values + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.034, 0.028, 0.0289855, 0.0263158, 0.0324675] +35FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.02914286, 0.024, 0.02484471, 0.0225564, 0.02782929] +40FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.0255, 0.021, 0.02173913, 0.01973685, 0.02435063] +45FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.02266667, 0.01866667, 0.01932367, 0.01754387, 0.021645] +50FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.0204, 0.0168, 0.0173913, 0.01578948, 0.0194805] +55FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.01854545, 0.01527273, 0.01581027, 0.01435407, 0.01770955] +60FPS: + - + type: write + address: [MAIN, 0x4113D00] + value_type: float + value: [0.017, 0.014, 0.01449275, 0.0131579, 0.01623375] diff --git a/SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/A3E80F5FE073639D.yaml b/SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/A3E80F5FE073639D.yaml new file mode 100644 index 0000000..af52c40 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01008CB0156BC000/A3E80F5FE073639D.yaml @@ -0,0 +1,132 @@ +# The Legend of Heroes: Trails into Reverie 1.0.2 +# BID: A3E80F5FE073639D + +unsafeCheck: true + +MASTER_WRITE: + # Read FPS lock time to MAIN+0x7A51500 + - + type: bytes + main_offset: 0x80DCC + value_type: uint32 + value: + - 0xB003CE88 + - 0xB9450108 + - + type: bytes + main_offset: 0x80E00 + value_type: uint32 + value: + - 0xB003CE89 + - 0xB9450129 + # Default value + - + type: bytes + main_offset: 0x7A51500 + value_type: float + value: 0.0333333333 + # Write game's loop time as float to MAIN+0x7A51504 + - + type: bytes + main_offset: 0x80DD4 + value_type: uint32 + value: 0x94339A8B + - + type: bytes + main_offset: 0xD67800 + value_type: uint32 + value: + - 0x1E227821 + - 0xD0036754 + - 0xBD050681 + - 0xD65F03C0 + - # Read lowest timing float factor from MAIN+0x7A51504 + type: bytes + main_offset: 0x80E70 + value_type: uint32 + value: + - 0xB003CE8B + - 0xB945056B + - # Default value + type: bytes + main_offset: 0x7A51504 + value_type: float + value: 0.0333333333 +15FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.0666666666 +20FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.05 +25FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.04 + - + type: block + what: timing +30FPS: + - # default value + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.0333333333 +35FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.028571428 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.025 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.0222222222 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.02 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.0181818181 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x7A51500] + value_type: float + value: 0.0166666666 diff --git a/SaltySD/plugins/FPSLocker/patches/01008CD0172D6000/D16558D855603353.yaml b/SaltySD/plugins/FPSLocker/patches/01008CD0172D6000/D16558D855603353.yaml new file mode 100644 index 0000000..573e8eb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01008CD0172D6000/D16558D855603353.yaml @@ -0,0 +1,75 @@ +# Dredge 1.1.0 +# BID: D16558D855603353 + +unsafeCheck: true + +15FPS: + # fixedDeltaTime = 1/FPS + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.0666666666 +20FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.05 +25FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.04 +30FPS: + # fixedDeltaTime (default value) + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.0333333333 +35FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.0285714 +40FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.025 +45FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.0222222222 +50FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.02 +55FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.0181818181 +60FPS: + # fixedDeltaTime + - + type: write + address: [MAIN, 0x5E7FE60, 0x48] + value_type: float + value: 0.0166666666 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01008D4015904000/CA77083E259D87A2.yaml b/SaltySD/plugins/FPSLocker/patches/01008D4015904000/CA77083E259D87A2.yaml new file mode 100644 index 0000000..a00dfd0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01008D4015904000/CA77083E259D87A2.yaml @@ -0,0 +1,159 @@ +# Ultra Age 2.0.4 +# BID: CA77083E259D87A2 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [28.57, 28.57] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7984A48, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x79B22F8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01009040091E0000/F2FE5EF877839F4F.yaml b/SaltySD/plugins/FPSLocker/patches/01009040091E0000/F2FE5EF877839F4F.yaml new file mode 100644 index 0000000..bb822f0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009040091E0000/F2FE5EF877839F4F.yaml @@ -0,0 +1,255 @@ +# Wolfenstein 2: The New Colossus 1.2 +# BID: F2FE5EF877839F4F + +unsafeCheck: true + +15FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 0 + # rs_raiseMilliseconds (32/(1000/30))*(1000/FPS) + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 64 + # rs_dropMilliseconds (32.8/(1000/30))*(1000/FPS) + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 65.6 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 30 +20FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 0 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 48 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 49.2 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 30 +25FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 0 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 38.4 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 39.36 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 30 +30FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 0 + # rs_raiseMilliseconds (default) + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 32 + # rs_dropMilliseconds (default) + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 32.8 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 30 +35FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 27.43 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 28.11 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 60 +40FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 24 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 24.6 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 60 +45FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 21.33 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 21.86 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 60 +50FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 19.2 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 19.68 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 60 +55FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 17.45 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 17.89 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 60 +60FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x60E0170] + value_type: int32 + value: 1 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x60E0294] + value_type: float + value: 16 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x60E0204] + value_type: float + value: 16.4 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x62D0570] + value_type: int32 + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100906014C3C000/EAB1DC1D53E319F9.yaml b/SaltySD/plugins/FPSLocker/patches/0100906014C3C000/EAB1DC1D53E319F9.yaml new file mode 100644 index 0000000..e5cebd2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100906014C3C000/EAB1DC1D53E319F9.yaml @@ -0,0 +1,90 @@ +# The Legend of Heroes: Trails of Cold Steel (Sen on Kiseki) II Kai -THE EREBONIAN CIVIL WAR- +# 英雄伝説 閃の軌跡Ⅱ:改 -THE EREBONIAN CIVIL WAR- +# BID: EAB1DC1D53E319F9 + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.06666666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.05 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.04 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.03333333333 +35FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.02857142857 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.025 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.022222222222 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.02 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.0181818181818 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0xB05B70] + value_type: float + value: 0.016666666666 diff --git a/SaltySD/plugins/FPSLocker/patches/0100926016012000/E44D9EFDB2F1D0A6.yaml b/SaltySD/plugins/FPSLocker/patches/0100926016012000/E44D9EFDB2F1D0A6.yaml new file mode 100644 index 0000000..6b9bc6e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100926016012000/E44D9EFDB2F1D0A6.yaml @@ -0,0 +1,75 @@ +# PowerWash Simulator 1.2.1 +# BID: E44D9EFDB2F1D0A6 + +unsafeCheck: false + +15FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo (don't block FPSlocker internal lock because game's lock is kinda shit) + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 15 +20FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 20 +25FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 25 +30FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo (default) + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 30 +35FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 35 +40FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 40 +45FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 45 +50FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 50 +55FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 55 +60FPS: + # FuturLab.SingletonMonoBehaviour_TypeInfo + - + type: write + address: [MAIN, 0x5833168, 0xB8, 0, 0x28] + value_type: int32 + value: 60 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010092A0172E4000/C4067E8CB3258656.yaml b/SaltySD/plugins/FPSLocker/patches/010092A0172E4000/C4067E8CB3258656.yaml new file mode 100644 index 0000000..3c19a99 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010092A0172E4000/C4067E8CB3258656.yaml @@ -0,0 +1,165 @@ +# It Takes Two 1.0.2 +# BID: C4067E8CB3258656 + +unsafeCheck: true + +MASTER_WRITE: + - + type: bytes + main_offset: 0x8AA9FBC + value_type: int8 + value: 0x53 +15FPS: + # r.DynamicRes.FrameTimeBudget = 0.87 * (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [58, 58] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [43.5, 43.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [34.8, 34.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [29, 29] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [24.85, 24.85] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [21.75, 21.75] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [19.33, 19.33] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [17.4, 17.4] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [15.81, 15.81] + # t.MaxFPS + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xACCB3D8, 0] + value_type: float + value: [14.5, 14.5] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xACF9130, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100947013122000/9FC46F388F6C684C.yaml b/SaltySD/plugins/FPSLocker/patches/0100947013122000/9FC46F388F6C684C.yaml new file mode 100644 index 0000000..a7e4dd0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100947013122000/9FC46F388F6C684C.yaml @@ -0,0 +1,78 @@ +# Ruined King: A League of Legends Story 1.7 +# BID: 9FC46F388F6C684C + +unsafeCheck: true + +15FPS: + # Address that is used to determine if it should use dev's own classes to get vsync target + # If we change it to anything that is above or equal 0, it's using Unity class that always returns -1 + # Returning from function getting vsync target anything else than 2 results in Dynamic Resolution target set to 60 FPS, otherwise it's 30 FPS + # We cannot patch those FPS targets directly with FPSLocker as they are hardcoded + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: -1 +20FPS: + #Vsync target (default value) + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: -1 +25FPS: + #Vsync target (default value) + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: -1 +30FPS: + #Vsync target (default value) + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: -1 +35FPS: + #Vsync target + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: 0 +40FPS: + #Vsync target + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: 0 +45FPS: + #Vsync target + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: 0 +50FPS: + #Vsync target + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: 0 +55FPS: + #Vsync target + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: 0 +60FPS: + #Vsync target + - + type: write + address: [MAIN, 0x5B18318, 0x944] + value_type: int32 + value: 0 diff --git a/SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml b/SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml new file mode 100644 index 0000000..2198937 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100956016464000/F9C83728910E28A4.yaml @@ -0,0 +1,159 @@ +# Kao the Kangaroo 1.5 +# BID: F9C83728910E28A4 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71160E0, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x71C39F0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010097100EDD6000/7F4216B6E784A4B2.yaml b/SaltySD/plugins/FPSLocker/patches/010097100EDD6000/7F4216B6E784A4B2.yaml new file mode 100644 index 0000000..b4deab0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010097100EDD6000/7F4216B6E784A4B2.yaml @@ -0,0 +1,156 @@ +# Little Nightmares 2 1.4 +# BID: 7F4216B6E784A4B2 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [66.6666, 66.6666] + # t.MaxFPS (game needs to be forced to run under 20 FPS, then it slows down) + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [15, 15] +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [33.3333, 33.3333] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [28.5714, 28.5714] + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [22.2222, 22.2222] + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74A0370, 0] + value_type: float + value: [16.6666, 16.6666] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x74CC710, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/010099900CAB2000/F2F739A2F1CAFF72.yaml b/SaltySD/plugins/FPSLocker/patches/010099900CAB2000/F2F739A2F1CAFF72.yaml new file mode 100644 index 0000000..cb201f0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010099900CAB2000/F2F739A2F1CAFF72.yaml @@ -0,0 +1,75 @@ +# TT Isle of Man 1.1.0 +# BID: F2F739A2F1CAFF72 + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x171DE2C] + value_type: float + value: 14.333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/010099C01896C000/60B9AE6094566A23.yaml b/SaltySD/plugins/FPSLocker/patches/010099C01896C000/60B9AE6094566A23.yaml new file mode 100644 index 0000000..caa42a7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/010099C01896C000/60B9AE6094566A23.yaml @@ -0,0 +1,159 @@ +# Gripper 1.1.0 +# BID: 60B9AE6094566A23 + +unsafeCheck: true + +15FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.VSync (default value is 1, but it's crippling performance for no benefit) + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [0, 0] +35FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.VSync + - + type: write + address: [MAIN, 0x72ED6D8, 0] + value_type: int32 + value: [0, 0] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7AE9F08, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01009E701356A000/72E8F20EBBDBA296.yaml b/SaltySD/plugins/FPSLocker/patches/01009E701356A000/72E8F20EBBDBA296.yaml new file mode 100644 index 0000000..18b3f92 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009E701356A000/72E8F20EBBDBA296.yaml @@ -0,0 +1,159 @@ +# Destroy All Humans! 1.0.1 +# BID: 72E8F20EBBDBA296 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 1 decimal + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66C53A0, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x66ED320, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01009EE0111CC000/EE20B8DD92B8F9B4.yaml b/SaltySD/plugins/FPSLocker/patches/01009EE0111CC000/EE20B8DD92B8F9B4.yaml new file mode 100644 index 0000000..55529b0 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009EE0111CC000/EE20B8DD92B8F9B4.yaml @@ -0,0 +1,106 @@ +# Ancestors Legacy 1.1.0 +# BID: EE20B8DD92B8F9B4 + +unsafeCheck: true + +# Disable setting double buffer +MASTER_WRITE: + - + type: bytes + main_offset: 0x41BAB80 + value_type: int8 + value: 0x53 +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [30, 30] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x5075DB0, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/01009F8017F48000/69EE5F71F187EAA9.yaml b/SaltySD/plugins/FPSLocker/patches/01009F8017F48000/69EE5F71F187EAA9.yaml new file mode 100644 index 0000000..05095f8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009F8017F48000/69EE5F71F187EAA9.yaml @@ -0,0 +1,159 @@ +# F.I.S.T.: Forged in Shadow Torch 1.0.4 +# BID: 69EE5F71F187EAA9 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAE271C8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xAE54F58, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/01009FE010876000/407978D722447B25.yaml b/SaltySD/plugins/FPSLocker/patches/01009FE010876000/407978D722447B25.yaml new file mode 100644 index 0000000..88b8f62 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/01009FE010876000/407978D722447B25.yaml @@ -0,0 +1,192 @@ +# Persona 5 Scramble 1.0.1 +# BID: 407978D722447B25 + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [15, 2] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 15 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 1 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [20, 2] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 20 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 1 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [25, 2] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 25 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 1 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [30, 2] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 30 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 1 +35FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [35, 1] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 35 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 0 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [40, 1] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 40 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 0 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [45, 1] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 45 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 0 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [50, 1] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 50 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 0 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [55, 1] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 55 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 0 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x1D07538] + value_type: int32 + value: [60, 1] + - + type: write + address: [MAIN, 0x1D1AFC8] + value_type: float + value: 60 + - + type: write + address: [MAIN, 0x2A7A8D0] + value_type: int32 + value: 0 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A0800E9C4000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100A3501946E000/BB891294DA55675E.yaml b/SaltySD/plugins/FPSLocker/patches/0100A3501946E000/BB891294DA55675E.yaml new file mode 100644 index 0000000..e378f69 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A3501946E000/BB891294DA55675E.yaml @@ -0,0 +1,99 @@ +# OCTOPATH TRAVELER II 1.0.2 +# BID: BB891294DA55675E + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default is 30) + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x76C9F68, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100A55019C38000/B9DB6040F70BE58F.yaml b/SaltySD/plugins/FPSLocker/patches/0100A55019C38000/B9DB6040F70BE58F.yaml new file mode 100644 index 0000000..b8f077e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A55019C38000/B9DB6040F70BE58F.yaml @@ -0,0 +1,159 @@ +# Fishing: North Atlantic 1.1 +# BID: B9DB6040F70BE58F + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x69973C8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x69C4C68, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100A6B01900E000/9E0901B84058B5B4.yaml b/SaltySD/plugins/FPSLocker/patches/0100A6B01900E000/9E0901B84058B5B4.yaml new file mode 100644 index 0000000..7626347 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A6B01900E000/9E0901B84058B5B4.yaml @@ -0,0 +1,99 @@ +# ARK: Dinosaur Discovery 1.5.0 +# BID: 9E0901B84058B5B4 + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x74CD708, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A73016576000/4E2AA28721AFF2C1.yaml b/SaltySD/plugins/FPSLocker/patches/0100A73016576000/4E2AA28721AFF2C1.yaml new file mode 100644 index 0000000..97cb591 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A73016576000/4E2AA28721AFF2C1.yaml @@ -0,0 +1,75 @@ +# Tinykin 1.1.0 +# BID: 4E2AA28721AFF2C1 + +unsafeCheck: true + +15FPS: + # Dynamic resolution frametime target in ms = (1000/FPS) minus 2 with cutted decimals + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 64 +20FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 48 +25FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 38 +30FPS: + # Dynamic resolution frametime target in ms (default is 33, but because required difference for DR to really kick in is 2ms, we will lower it to get better performance) + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 31 +35FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 27 +40FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 23 +45FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 20 +50FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 18 +55FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 16 +60FPS: + # Dynamic resolution frametime target in ms + - + type: write + address: [MAIN, 0x53C9710, 0x44F8] + value_type: double + value: 14 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A88012504000/116535367286904C.yaml b/SaltySD/plugins/FPSLocker/patches/0100A88012504000/116535367286904C.yaml new file mode 100644 index 0000000..acc639e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A88012504000/116535367286904C.yaml @@ -0,0 +1,75 @@ +# art of rally 1.1.6 +# BID: 116535367286904C + +unsafeCheck: true + +15FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 15 +20FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 20 +25FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 25 +30FPS: + # DynamicResolutionManager_TypeInfo (default value) + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 30 +35FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 36 +40FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 41 +45FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 46 +50FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 51 +55FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 56 +60FPS: + # DynamicResolutionManager_TypeInfo + - + type: write + address: [MAIN, 0x5F43270, 0xB8, 4] + value_type: float + value: 61 diff --git a/SaltySD/plugins/FPSLocker/patches/0100A8B00F0B4000/92511355705EA8C5.yaml b/SaltySD/plugins/FPSLocker/patches/0100A8B00F0B4000/92511355705EA8C5.yaml new file mode 100644 index 0000000..1868803 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A8B00F0B4000/92511355705EA8C5.yaml @@ -0,0 +1,159 @@ +# HYPERCHARGE: Unboxed 0.1.2341.233 +# BID: 92511355705EA8C5 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x66951B0, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x66BBA30, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100A8E016236000/82AF4E16BBC0BEC8.yaml b/SaltySD/plugins/FPSLocker/patches/0100A8E016236000/82AF4E16BBC0BEC8.yaml new file mode 100644 index 0000000..fbb7f49 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A8E016236000/82AF4E16BBC0BEC8.yaml @@ -0,0 +1,83 @@ +# Kirby's Dream Buffet 1.0.0 +# BID: 82AF4E16BBC0BEC8 +# Thanks to Hazerou for finding offsets +# Game is using fake double buffer. + +unsafeCheck: true + +15FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 4 + - + type: block + what: timing +20FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 3 + - + type: block + what: timing +25FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 2 +30FPS: + # Interval (default value) + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 2 +35FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 1 +40FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 1 +45FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 1 +50FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 1 +55FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 1 +60FPS: + # Interval + - + type: write + address: [MAIN, 0xBEBFD8, 0] + value_type: int32 + value: 1 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100A93016BF4000/770A07C35E631CB2.yaml b/SaltySD/plugins/FPSLocker/patches/0100A93016BF4000/770A07C35E631CB2.yaml new file mode 100644 index 0000000..974eb50 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100A93016BF4000/770A07C35E631CB2.yaml @@ -0,0 +1,159 @@ +# Batora: Lost Haven 1.0.1 +# BID: 770A07C35E631CB2 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74F84C8, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7526058, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100AA400A238000/14D7D1537BD5A986.yaml b/SaltySD/plugins/FPSLocker/patches/0100AA400A238000/14D7D1537BD5A986.yaml new file mode 100644 index 0000000..0ca5443 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100AA400A238000/14D7D1537BD5A986.yaml @@ -0,0 +1,159 @@ +# The Stretchers 1.0.0 +# BID: 14D7D1537BD5A986 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to one decimal + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5C63550, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5C880D8, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100AA60136D2000/F73C6504D378C38B.yaml b/SaltySD/plugins/FPSLocker/patches/0100AA60136D2000/F73C6504D378C38B.yaml new file mode 100644 index 0000000..7be0586 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100AA60136D2000/F73C6504D378C38B.yaml @@ -0,0 +1,159 @@ +# HOT WHEELS UNLEASHED 1.0.13 +# BID: F73C6504D378C38B + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x978D988, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x97BB4E0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100AD0014AB4000/AC8C8EC9DB1A8EF4.yaml b/SaltySD/plugins/FPSLocker/patches/0100AD0014AB4000/AC8C8EC9DB1A8EF4.yaml new file mode 100644 index 0000000..8f26884 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100AD0014AB4000/AC8C8EC9DB1A8EF4.yaml @@ -0,0 +1,90 @@ +# The Legend of Heroes: Trails of Cold Steel (Sen on Kiseki) Kai -THORS MILITARY ACADEMY 1204- +# 英雄伝説 閃の軌跡I:改 -THORS MILITARY ACADEMY 1204- +# BID: AC8C8EC9DB1A8EF4 + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.06666666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.05 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.04 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.03333333333 +35FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.02857142857 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.025 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.022222222222 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.02 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.0181818181818 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x80C9F0] + value_type: float + value: 0.016666666666 diff --git a/SaltySD/plugins/FPSLocker/patches/0100AD10102B2000/D89FFAA2062E373D.yaml b/SaltySD/plugins/FPSLocker/patches/0100AD10102B2000/D89FFAA2062E373D.yaml new file mode 100644 index 0000000..da6d0ad --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100AD10102B2000/D89FFAA2062E373D.yaml @@ -0,0 +1,75 @@ +# BioShock Remastered 1.0.2 +# BID: D89FFAA2062E373D + +unsafeCheck: true + +15FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 15 +20FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 20 +25FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 25 +30FPS: + # Dynamic resolution FPS factor (default) + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 30 +35FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 35 +40FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 40 +45FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 45 +50FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 50 +55FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 55 +60FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x29B4BA0, 0] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100AE7010434000/5915CDDDC4EEA6CD.yaml b/SaltySD/plugins/FPSLocker/patches/0100AE7010434000/5915CDDDC4EEA6CD.yaml new file mode 100644 index 0000000..39bf8ea --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100AE7010434000/5915CDDDC4EEA6CD.yaml @@ -0,0 +1,159 @@ +# Beyond Enemy Lines - Remastered Version 1.1.0 +# BID: 5915CDDDC4EEA6CD + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = 0.9 * (1000/FPS) + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [60, 60] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [45, 45] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [36, 36] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [30, 30] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [25.714, 25.714] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [22.5, 22.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [18, 18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [16.3636, 16.3636] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63C5618, 0] + value_type: float + value: [15, 15] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63F25B0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100B04011742000/11C9CE3F0676EEFD.yaml b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/11C9CE3F0676EEFD.yaml new file mode 100644 index 0000000..e78349b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/11C9CE3F0676EEFD.yaml @@ -0,0 +1,96 @@ +# Monster Hunter Rise 14.0.0 +# BID: 11C9CE3F0676EEFD + +unsafeCheck: false + +# Disable NX-FPS delay function to prioritize game's own FPS lock. +15FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 30 + - + type: block + what: timing +35FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x12257C30, 0x434] + value_type: float + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100B04011742000/55D50CA1805E9C5B.yaml b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/55D50CA1805E9C5B.yaml new file mode 100644 index 0000000..00fe078 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/55D50CA1805E9C5B.yaml @@ -0,0 +1,96 @@ +# Monster Hunter Rise 16.0.1 +# BID: 55D50CA1805E9C5B + +unsafeCheck: false + +# Disable NX-FPS delay function to prioritize game's own FPS lock. +15FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 30 + - + type: block + what: timing +35FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x12950348, 0x434] + value_type: float + value: 60 + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B04011742000/60EFBA0CB724E3FE.yaml b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/60EFBA0CB724E3FE.yaml new file mode 100644 index 0000000..4a066f9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/60EFBA0CB724E3FE.yaml @@ -0,0 +1,96 @@ +# Monster Hunter Rise 15.0.0 +# BID: 60EFBA0CB724E3FE + +unsafeCheck: false + +# Disable NX-FPS delay function to prioritize game's own FPS lock. +15FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 30 + - + type: block + what: timing +35FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x128CEEB8, 0x434] + value_type: float + value: 60 + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B04011742000/9B50DDD970E50DD5.yaml b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/9B50DDD970E50DD5.yaml new file mode 100644 index 0000000..14ad90b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B04011742000/9B50DDD970E50DD5.yaml @@ -0,0 +1,96 @@ +# Monster Hunter Rise 15.0.1 +# BID: 9B50DDD970E50DD5 + +unsafeCheck: false + +# Disable NX-FPS delay function to prioritize game's own FPS lock. +15FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 30 + - + type: block + what: timing +35FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x12839EB8, 0x434] + value_type: float + value: 60 + - + type: block + what: timing \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml b/SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml new file mode 100644 index 0000000..7af9919 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B16009C10000/490D681909609015.yaml @@ -0,0 +1,164 @@ +# SSINNER: Sacrifice for Redemption 1.1.0319 +# BID: 490D681909609015 + +unsafeCheck: true + +15FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + # Default is 0x67, bSmoothFrameRate |= 0x20, bUseFixedFrameRate |= 0x40 + # By writing 7 we are making sure that other flags are maintained: + # bAllowMultiThreadedAnimationUpdate |= 4 + # bOptimizeAnimBlueprintMemberVariableAccess |= 2 + # bCanBlueprintsTickByDefault |= 1 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5CCE320, 0x750] + value_type: uint32 + value: 7 + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5CCEBA8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B1A00D8CE000/5AF6F31EAC42D8C0.yaml b/SaltySD/plugins/FPSLocker/patches/0100B1A00D8CE000/5AF6F31EAC42D8C0.yaml new file mode 100644 index 0000000..ef7471f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B1A00D8CE000/5AF6F31EAC42D8C0.yaml @@ -0,0 +1,375 @@ +# DOOM Eternal 1.13 +# BID: 5AF6F31EAC42D8C0 + +unsafeCheck: true + +15FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 0 + # rs_raiseThreshold = 0.948 * (30/FPS) + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 1.896 + # rs_dropThreshold = 0.97 * (30/FPS) + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 1.94 + # rs_raiseMilliseconds = 0.96 * (1000/FPS) + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 64 + # rs_dropMilliseconds = 0.99 * (1000/FPS) + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 66 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 30 +20FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 0 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 1.455 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 1.428 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 48 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 49.5 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 30 +25FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 0 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 1.1376 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 1.164 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 38.4 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 39.6 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 30 +30FPS: + # rs_force460 (default) + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 0 + # rs_raiseThreshold (default) + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 0.948 + # rs_dropThreshold (default) + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 0.97 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 32 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 33 + # com_adaptiveTickMaxHz (default) + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 30 +35FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 0.81 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 0.831 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 27.428 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 28.285 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 60 +40FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 0.7095 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 0.7275 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 24 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 24.75 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 60 +45FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 0.63 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 0.646 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 21.33 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 22 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 60 +50FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 0.576 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 0.582 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 0.5676 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 19.8 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 60 +55FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 0.516 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 0.529 + # rs_raiseMilliseconds + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 17.45 + # rs_dropMilliseconds + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 18 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 60 +60FPS: + # rs_force460 + - + type: write + address: [MAIN, 0x792F238, 8] + value_type: int32 + value: 1 + # rs_raiseThreshold + - + type: write + address: [MAIN, 0x792E9C8, 0xC] + value_type: float + value: 0.473 + # rs_dropThreshold + - + type: write + address: [MAIN, 0x792E950, 0xC] + value_type: float + value: 0.485 + # rs_raiseMilliseconds (exefs default) + - + type: write + address: [MAIN, 0x792E578, 0xC] + value_type: float + value: 16 + # rs_dropMilliseconds (exefs default) + - + type: write + address: [MAIN, 0x792E500, 0xC] + value_type: float + value: 16.5 + # com_adaptiveTickMaxHz + - + type: write + address: [MAIN, 0x6A674F8, 8] + value_type: int32 + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100B28014132000/810CBA3D7DB83EC0.yaml b/SaltySD/plugins/FPSLocker/patches/0100B28014132000/810CBA3D7DB83EC0.yaml new file mode 100644 index 0000000..b12dfdb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B28014132000/810CBA3D7DB83EC0.yaml @@ -0,0 +1,266 @@ +# SAMURAI WARRIORS 5 1.03 +# BID: 810CBA3D7DB83EC0 + +unsafeCheck: true + +# Block updating FPS Lock +MASTER_WRITE: + - + type: bytes + main_offset: 0x1240DFC + value_type: uint32 + value: 0xD503201F + - + type: bytes + main_offset: 0x1240E10 + value_type: uint32 + value: 0xD503201F + - + type: bytes + main_offset: 0x1240E1C + value_type: uint32 + value: 0xD503201F + - + type: bytes + main_offset: 0x1240E24 + value_type: uint32 + value: 0xD503201F + - + type: bytes + main_offset: 0x1240E2C + value_type: uint32 + value: 0xBD41F100 +15FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 4 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 15 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [4, 15] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 3 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 20 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [3, 20] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 2 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 25 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [2, 30] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 30 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 2 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 30 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [2, 30] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 30 +35FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 1 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 35 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [1, 60] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 60 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 1 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 40 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [1, 60] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 60 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 1 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 45 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [1, 60] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 60 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 1 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 50 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [1, 60] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 60 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 1 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 55 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [1, 60] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 60 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x1E761E0] + value_type: int32 + value: 1 + - + type: write + address: [MAIN, 0x1E761E4] + value_type: float + value: 60 + - + type: write + address: [MAIN, 0x1E761E8] + value_type: int32 + value: [1, 60] + - + type: write + address: [MAIN, 0x1E761F0] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml b/SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml new file mode 100644 index 0000000..514f6d9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B2B00E7AA000/FAD1AF4EDC6DB267.yaml @@ -0,0 +1,224 @@ +# Dusk Diver 1.0.6 +# BID: FAD1AF4EDC6DB267 + +unsafeCheck: true + +15FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + # Default is 0x67, bSmoothFrameRate |= 0x20, 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 (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bSmoothFrameRate and bUseFixedFrameRate + - + type: write + address: [MAIN, 0x5379338, 0x780] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5354210, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x537A880, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100B750198C6000/CEE6B8B19D3A863E.yaml b/SaltySD/plugins/FPSLocker/patches/0100B750198C6000/CEE6B8B19D3A863E.yaml new file mode 100644 index 0000000..8165ef2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B750198C6000/CEE6B8B19D3A863E.yaml @@ -0,0 +1,159 @@ +# MotoGP 23 1.0.3 +# BID: CEE6B8B19D3A863E + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xAD51FD8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xAD80450, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100B7A01386E000/39F1BCCB912A12DF.yaml b/SaltySD/plugins/FPSLocker/patches/0100B7A01386E000/39F1BCCB912A12DF.yaml new file mode 100644 index 0000000..a458556 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B7A01386E000/39F1BCCB912A12DF.yaml @@ -0,0 +1,159 @@ +# Soundfall 1.3.17957 +# BID: 39F1BCCB912A12DF + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75E5BF8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7613BF8, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100B8501771A000/78BF042012CF9EE8.yaml b/SaltySD/plugins/FPSLocker/patches/0100B8501771A000/78BF042012CF9EE8.yaml new file mode 100644 index 0000000..a297c4e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B8501771A000/78BF042012CF9EE8.yaml @@ -0,0 +1,159 @@ +# Bassmaster Fishing 2022: Super Deluxe Edition 1.02 +# BID: 78BF042012CF9EE8 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to two decimals + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [28.57, 28.57] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x797AA98, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x79A7F48, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100B870126CE000/019FBFE7738EA314.yaml b/SaltySD/plugins/FPSLocker/patches/0100B870126CE000/019FBFE7738EA314.yaml new file mode 100644 index 0000000..22f0a51 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100B870126CE000/019FBFE7738EA314.yaml @@ -0,0 +1,159 @@ +# SHIN MEGAMI TENSEI V 1.0.2 +# BID: 019FBFE7738EA314 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (by default it's 40, obviously we don't want that) + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value for cutscenes is 30, everything else is 0) + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75F81D0, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7621D70, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100BB000A3AA000/B61F280560A937D2.yaml b/SaltySD/plugins/FPSLocker/patches/0100BB000A3AA000/B61F280560A937D2.yaml new file mode 100644 index 0000000..e0a9bf7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BB000A3AA000/B61F280560A937D2.yaml @@ -0,0 +1,75 @@ +# Sniper Elite V2 1.0.5 +# BID: B61F280560A937D2 + +unsafeCheck: true + +15FPS: + # Dynamic Resolution frame time target = (30/(1000/30)) * (1000/FPS) + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 60 +20FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 45 +25FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 36 +30FPS: + # Dynamic Resolution frame time target (default value) + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 30 +35FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 25.71 +40FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 22.5 +45FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 20 +50FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 18 +55FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 16.36 +60FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x155A880, 4] + value_type: float + value: 15 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100BD000CB2C000/1F1363EC8CC83C73.yaml b/SaltySD/plugins/FPSLocker/patches/0100BD000CB2C000/1F1363EC8CC83C73.yaml new file mode 100644 index 0000000..124a55a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BD000CB2C000/1F1363EC8CC83C73.yaml @@ -0,0 +1,159 @@ +# SWORD OF THE VAGRANT 1.1 +# BID: 1F1363EC8CC83C73 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674CAA0, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6791950, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/58636D33E56B931B.yaml b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/58636D33E56B931B.yaml new file mode 100644 index 0000000..bb43060 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/58636D33E56B931B.yaml @@ -0,0 +1,99 @@ +# EA SPORTS FC 24 1.54.2d45 +# BID: 58636D33E56B931B + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 15 + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 20 + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 25 + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 30 +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 35 + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 40 + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 45 + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 50 + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 55 + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD52EC0, 8] + value_type: double + value: 60 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/6B6D4D60E3187FFC.yaml b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/6B6D4D60E3187FFC.yaml new file mode 100644 index 0000000..0ed5574 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/6B6D4D60E3187FFC.yaml @@ -0,0 +1,99 @@ +# EA SPORTS FC 24 1.0.0 +# BID: 6B6D4D60E3187FFC + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 15 + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 20 + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 25 + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 30 +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 35 + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 40 + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 45 + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 50 + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 55 + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD17BE0, 8] + value_type: double + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/A8D4FEE18023F15C.yaml b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/A8D4FEE18023F15C.yaml new file mode 100644 index 0000000..68241ef --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/A8D4FEE18023F15C.yaml @@ -0,0 +1,99 @@ +# EA SPORTS FC 24 1.53.dd6d +# BID: A8D4FEE18023F15C + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 15 + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 20 + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 25 + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 30 +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 35 + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 40 + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 45 + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 50 + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 55 + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xB89BE98, 8] + value_type: double + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/E0A5A92EA4F37A3A.yaml b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/E0A5A92EA4F37A3A.yaml new file mode 100644 index 0000000..5780e46 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BDB01A0E6000/E0A5A92EA4F37A3A.yaml @@ -0,0 +1,99 @@ +# EA SPORTS FC 24 1.54.1d19 +# BID: E0A5A92EA4F37A3A + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 15 + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 20 + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 25 + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 30 +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 35 + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 40 + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 45 + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 50 + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 55 + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0xCD40E00, 8] + value_type: double + value: 60 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100BF500207C000/12E0B62494B22F62.yaml b/SaltySD/plugins/FPSLocker/patches/0100BF500207C000/12E0B62494B22F62.yaml new file mode 100644 index 0000000..c72e939 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BF500207C000/12E0B62494B22F62.yaml @@ -0,0 +1,166 @@ +# Bloodstained: Ritual of the Night 1.40 +# BID: 12E0B62494B22F62 + +unsafeCheck: true + +MASTER_WRITE: + # Disable double buffer + - + type: bytes + main_offset: 0xABD8294 + value_type: int8 + value: 0x53 +15FPS: + # r.DynamicRes.FrameTimeBudget = 0.84 * (1000/FPS) + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [56, 56] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [42, 42] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [33.6, 33.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [28, 28] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [24, 24] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [21, 21] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [18.66, 18.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [16.8, 16.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [15.27, 15.27] + # t.MaxFPS + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0xCF57E90, 0] + value_type: float + value: [14, 14] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0xCF7EC80, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/4FFB62F1CD9E17F8.yaml b/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/4FFB62F1CD9E17F8.yaml new file mode 100644 index 0000000..d5e8fc8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/4FFB62F1CD9E17F8.yaml @@ -0,0 +1,224 @@ +# The Witcher 3 3.7 +# BID: 4FFB62F1CD9E17F8 + +unsafeCheck: false + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA8F4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x4FDA924] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x4C983EC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/D27FD8A515077F34.yaml b/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/D27FD8A515077F34.yaml new file mode 100644 index 0000000..3c88651 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100BFE00E9CA000/D27FD8A515077F34.yaml @@ -0,0 +1,224 @@ +# The Witcher 3: Wild Hund - Complete Edition 4.04b +# BID: D27FD8A515077F34 + +unsafeCheck: true + +15FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 63 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 63 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 15 + - + type: block + what: timing +20FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 47.25 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 47.25 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 20 + - + type: block + what: timing +25FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 37.8 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 37.8 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 25 + - + type: block + what: timing +30FPS: + # DRGameTargetFrameTimeInMs (original value) + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 31.5 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 31.5 + # LimitFPS (original value) + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + +# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it. +35FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 27 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 27 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 35 + - + type: block + what: timing +40FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 23.625 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 23.625 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 40 + - + type: block + what: timing +45FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 21 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 21 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 45 + - + type: block + what: timing +50FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 18.9 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 18.9 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 50 + - + type: block + what: timing +55FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 17.1818181818 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 17.1818181818 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 55 + - + type: block + what: timing +60FPS: + # DRGameTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312B4] + value_type: float + value: 15.75 + # DRCinematicTargetFrameTimeInMs + - + type: write + address: [MAIN, 0x41312E4] + value_type: float + value: 15.75 + # LimitFPS + - + type: write + address: [MAIN, 0x411DCFC] + value_type: int32 + value: 60 + - + type: block + what: timing diff --git a/SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml b/SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml new file mode 100644 index 0000000..9fcb229 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C09014530000/D92F465FE9920BB6.yaml @@ -0,0 +1,91 @@ +# Boomerang X 1.0.2 +# BID: D92F465FE9920BB6 + +unsafeCheck: true + +MASTER_WRITE: + # Patch `DynamicResolution.Settings$$get_TargetFPS` to redirect reading targetFPS to unused .bss region [MAIN, 0x5E9AFF0] + - + type: bytes + main_offset: 0x3821020 + value_type: int32 + value: + - 0xB00133C0 + - 0xBD4FF000 + - 0xD65F03C0 + # Write default value of `DynamicResolution.Settings$$get_TargetFPS` to redirected address + - + type: bytes + main_offset: 0x5E9AFF0 + value_type: float + value: 28 +15FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 15 +20FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 20 +25FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 25 +30FPS: + # DynamicResolution.Settings$$get_TargetFPS (default is 28) + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 30 +35FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 35 +40FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 40 +45FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 45 +50FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 50 +55FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 55 +60FPS: + # DynamicResolution.Settings$$get_TargetFPS + - + type: write + address: [MAIN, 0x5E9AFF0] + value_type: float + value: 60 diff --git a/SaltySD/plugins/FPSLocker/patches/0100C0F0020E8000/D0798521F563E6A7.yaml b/SaltySD/plugins/FPSLocker/patches/0100C0F0020E8000/D0798521F563E6A7.yaml new file mode 100644 index 0000000..4c81773 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C0F0020E8000/D0798521F563E6A7.yaml @@ -0,0 +1,99 @@ +# Snake Pass 1.4 +# BID: D0798521F563E6A7 + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [30, 30] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x49012B8, 0] + value_type: float + value: [60, 60] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100C1300BBC6000/59719CFCD1671B98.yaml b/SaltySD/plugins/FPSLocker/patches/0100C1300BBC6000/59719CFCD1671B98.yaml new file mode 100644 index 0000000..716d5b7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C1300BBC6000/59719CFCD1671B98.yaml @@ -0,0 +1,99 @@ +# ABZU 1.0.0 +# BID: 59719CFCD1671B98 + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x6228EE0, 0] + value_type: float + value: [60, 60] diff --git a/SaltySD/plugins/FPSLocker/patches/0100C3C012718000/2CF52C8DA4468946.yaml b/SaltySD/plugins/FPSLocker/patches/0100C3C012718000/2CF52C8DA4468946.yaml new file mode 100644 index 0000000..4f6b78c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C3C012718000/2CF52C8DA4468946.yaml @@ -0,0 +1,159 @@ +# Grand Theft Auto III - Definitive Edition 1.0.7 +# BID: 2CF52C8DA4468946 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value is 36.5, obviously we don't want it) + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x74FD298, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7521FE0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml b/SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml new file mode 100644 index 0000000..dd62b61 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C6C010AE4000/FE211DBFAD6EA549.yaml @@ -0,0 +1,70 @@ +# Clive 'N' Wrench 1.0.6 +# BID: FE211DBFAD6EA549 + +unsafeCheck: false + +15FPS: + # Dynamic Resolution GPU Frame Timing target in ms = 0.9 * (1000/FPS) + # It was derived by hooking `PSH.DynamicResolutionManager$$ScaleResolutionToAchieveFrameRate` before its first use + # at instruction `LDR d1, [x8, #0x18]` + # Then Edizon-SE's Pointer Search was used to find reliable offset chain + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 60 +20FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 45 +25FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 36 +30FPS: + # Default + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 30 +35FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 25.71 +40FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 22.5 +45FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 20 +50FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 18 +55FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 16.3636 +60FPS: + - + type: write + address: [MAIN, 0x3E8B368, 0x20, 0x620, 0x18] + value_type: double + value: 15 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100C7300EEE4000/54211726D36A8D9C.yaml b/SaltySD/plugins/FPSLocker/patches/0100C7300EEE4000/54211726D36A8D9C.yaml new file mode 100644 index 0000000..aa245b9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100C7300EEE4000/54211726D36A8D9C.yaml @@ -0,0 +1,75 @@ +# Zombie Army Trilogy 1.0.2 +# BID: 54211726D36A8D9C + +unsafeCheck: true + +15FPS: + # Dynamic Resolution frame time target = (30/(1000/30)) * (1000/FPS) + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 60 +20FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 45 +25FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 36 +30FPS: + # Dynamic Resolution frame time target (default value) + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 30 +35FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 25.71 +40FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 22.5 +45FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 20 +50FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 18 +55FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 16.36 +60FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0xDD9A88, 4] + value_type: float + value: 15 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/32BF1643370F70AA.yaml b/SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/32BF1643370F70AA.yaml new file mode 100644 index 0000000..79a1a6e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CA800F9B2000/32BF1643370F70AA.yaml @@ -0,0 +1,99 @@ +# Sherlock Holmes The Awakened 1.0.0 +# BID: 32BF1643370F70AA + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x7D7E968, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100CC00102B4000/8AFCBE6A930CD42E.yaml b/SaltySD/plugins/FPSLocker/patches/0100CC00102B4000/8AFCBE6A930CD42E.yaml new file mode 100644 index 0000000..a9ff2a3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CC00102B4000/8AFCBE6A930CD42E.yaml @@ -0,0 +1,159 @@ +# Tony Hawk's Pro Skater 1 + 2 1.0.3 +# BID: 8AFCBE6A930CD42E + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 4 decimals + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [66.6666, 66.6666] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [33.3333, 33.3333] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [30, 30] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [28.5714, 28.5714] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [22.2222, 22.2222] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [18.1818, 18.1818] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7DB2AB0, 0] + value_type: float + value: [16.6666, 16.6666] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7DDEF90, 0] + value_type: float + value: [60, 60] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/2AA7F33234696651.yaml b/SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/2AA7F33234696651.yaml new file mode 100644 index 0000000..e8e0e32 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/2AA7F33234696651.yaml @@ -0,0 +1,159 @@ +# Triangle Strategy 1.0.2 +# BID: 2AA7F33234696651 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget ((1000/FPS) * 0.945) + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [63, 63] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [47.25, 47.25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [37.8, 37.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [27, 27] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [23.625, 23.625] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [21, 21] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [18.9, 18.9] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [17.18, 17.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/F7C20294EFF7E6FA.yaml b/SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/F7C20294EFF7E6FA.yaml new file mode 100644 index 0000000..39da7d4 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CC80140F8000/F7C20294EFF7E6FA.yaml @@ -0,0 +1,159 @@ +# Triangle Strategy 1.0.3 +# BID: F7C20294EFF7E6FA + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget ((1000/FPS) * 0.945) + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [63, 63] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [47.25, 47.25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [37.8, 37.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [27, 27] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [23.625, 23.625] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [21, 21] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [18.9, 18.9] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [17.18, 17.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x745D838, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x748B408, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml b/SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml new file mode 100644 index 0000000..d3e387b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CD3010AE2000/53EA0196A4AEB260.yaml @@ -0,0 +1,512 @@ +# Crysis 3 Remastered 1.3.0 +# BID: 53EA0196A4AEB260 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect Dynamic Resolution Timings to read always not from .text + - + type: bytes + main_offset: 0x136A51C + value_type: uint32 + value: 0xD503201F + - + type: bytes + main_offset: 0x136A548 + value_type: uint32 + value: + - 0xD503201F + - 0xD503201F +# Redirect Dynamic Resolution Timings readings to MAIN+0x3608E00 + - + type: bytes + main_offset: 0x136A520 + value_type: uint32 + value: + - 0xD00114E8 + - 0xBD4E0100 + - 0xBD4E0501 + - 0xBD4E0902 + - 0xD503201F + - 0xD503201F + - + type: bytes + main_offset: 0x136A554 + value_type: uint32 + value: + - 0xD00114E9 + - 0x91383129 +# Write default values + - + type: bytes + main_offset: 0x3443CA4 + value_type: float + value: 28.5 + # MAIN + 0x22EA494 + - + type: bytes + main_offset: 0x3608E00 + value_type: float + value: 33.5 + # MAIN + 0x22EAE14 + - + type: bytes + main_offset: 0x3608E04 + value_type: float + value: 30.5 + # MAIN + 0x22EAB58 + - + type: bytes + main_offset: 0x3608E08 + value_type: float + value: 32.5 + # MAIN + 0x22E9E48 + - + type: bytes + main_offset: 0x3608E0C + value_type: float + value: [31.5, 33.25] +15FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 15 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.022 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 57 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 67 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 61 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 65 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [63, 63] + - + type: block + what: timing +20FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 20 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.022 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 42.75 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 50.25 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 45.75 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 48.75 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [47.25, 47.25] + - + type: block + what: timing +25FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 25 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.022 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 34.2 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 40.2 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 36.6 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 39 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [37.8, 37.8] + - + type: block + what: timing +30FPS: + # sys_MaxFPS (default value) + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 30 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.022 + - # default value + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 28.5 + # MAIN + 0x22EA494 (default value) + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 33.5 + # MAIN + 0x22EAE14 (default value) + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 30.5 + # MAIN + 0x22EAB58 (default value) + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 32.5 + # MAIN + 0x22E9E48 (default value) + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [31.5, 33.25] +35FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 35 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.022 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 24.4286 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 28.7143 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 26.1429 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 27.8571 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [27, 27] + - + type: block + what: timing +40FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 40 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.022 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 21.375 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 25.125 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 22.875 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 24.375 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [23.625, 23.625] + - + type: block + what: timing +45FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 45 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.022 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 19 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 22.3333 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 20.3333 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 21.6667 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [21, 21] + - + type: block + what: timing +50FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 50 + # Renderer thread delay + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.015 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 17.1 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 20.1 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 18.3 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 19.5 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [18.9, 18.9] + - + type: block + what: timing +55FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 55 + # Renderer thread delay + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.015 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 15.5455 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 18.2727 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 16.6364 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 17.7273 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [17.1818, 17.1818] + - + type: block + what: timing +60FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x34382D8] + value_type: int32 + value: 60 + # Renderer thread delay + - + type: write + address: [MAIN, 0x3466BB0] + value_type: float + value: 0.015 + - + type: write + address: [MAIN, 0x3443CA4] + value_type: float + value: 14.25 + # MAIN + 0x22EA494 + - + type: write + address: [MAIN, 0x3608E00] + value_type: float + value: 16.75 + # MAIN + 0x22EAE14 + - + type: write + address: [MAIN, 0x3608E04] + value_type: float + value: 15 + # MAIN + 0x22EAB58 + - + type: write + address: [MAIN, 0x3608E08] + value_type: float + value: 15.75 + # MAIN + 0x22E9E48 + - + type: write + address: [MAIN, 0x3608E0C] + value_type: float + value: [15.5, 15.5] diff --git a/SaltySD/plugins/FPSLocker/patches/0100CDC013238000/D626F7A72AF54744.yaml b/SaltySD/plugins/FPSLocker/patches/0100CDC013238000/D626F7A72AF54744.yaml new file mode 100644 index 0000000..f62cd28 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100CDC013238000/D626F7A72AF54744.yaml @@ -0,0 +1,136 @@ +# Rune Factory 5 1.0.2 +# BID: D626F7A72AF54744 +# Cutscenes don't use Dynamic Resolution + +unsafeCheck: true + +15FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 66.6 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 64 +20FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 50 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 48 +25FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 40 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 38 +30FPS: + # Dynamic Resolution Frame Target Max in ms (default is 38) + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 33.3 + # Dynamic Resolution Frame Target Min in ms (default is 33) + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 31 +35FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 28.5 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 26 +40FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 25 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 23 +45FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 22.2 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 20 +50FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 20 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 18 +55FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 18.1 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 16 +60FPS: + # Dynamic Resolution Frame Target Max in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x38] + value_type: float + value: 16.6 + # Dynamic Resolution Frame Target Min in ms + - + type: write + address: [MAIN, 0x5F5B610, 0x738, 0x70, 0x3C] + value_type: float + value: 14 diff --git a/SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml b/SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml new file mode 100644 index 0000000..ca1e9e7 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D210177C6000/9510D677DCCE4447.yaml @@ -0,0 +1,75 @@ +# Oddworld Soulstorm 1.1.3 +# BID: 9510D677DCCE4447 + +unsafeCheck: false # At game's boot in this chain values are occuring that are not addresses + +15FPS: + # Dynamic Resolution frame time target in ms cutted to 1 decimal + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 66.6 +20FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 50 +25FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 40 +30FPS: + # Dynamic Resolution frame time target (Default value) + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 33.3 +35FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 28.5 +40FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 25 +45FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 22.2 +50FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 20 +55FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 18.1 +60FPS: + # Dynamic Resolution frame time target + - + type: write + address: [MAIN, 0x75DA2D0, 0, 0x10, 0x90, 0x28, 0x1C] + value_type: float + value: 16.6 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D30010C42000/682F4A502035678D.yaml b/SaltySD/plugins/FPSLocker/patches/0100D30010C42000/682F4A502035678D.yaml new file mode 100644 index 0000000..ea2d6f3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D30010C42000/682F4A502035678D.yaml @@ -0,0 +1,159 @@ +# Monster Truck Championship 1.2.0 +# BID: 682F4A502035678D + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = 0.97 * (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [64.66, 64.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [48.5, 48.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [38.8, 38.8] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [32.33, 32.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [27.71, 27.71] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [24.25, 24.25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [21.55, 21.55] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [19.4, 19.4] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [17.63, 17.63] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x6F8C6B0, 0] + value_type: float + value: [16.16, 16.16] + # t.MaxFPS + - + type: write + address: [MAIN, 0x6FB45D8, 0] + value_type: float + value: [60, 60] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml b/SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml new file mode 100644 index 0000000..0300f39 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D3C010DE8000/59159483CF88330F.yaml @@ -0,0 +1,140 @@ +# The Legend of Heroes: Trails of Cold Steel IV 1.0.3 +# BID: 8C93B930348C9787 +# Button polling is 2x more sensitive to holding any button + +unsafeCheck: true + +MASTER_WRITE: + # Move loading FPS lock time to MAIN+0x3AF0800 + - + type: bytes + main_offset: 0x5F02F8 + value_type: uint32 + value: + - 0x9001A809 + - 0xB9480129 + # Default value + - + type: bytes + main_offset: 0x3AF0800 + value_type: uint32 + value: 33333333 + # Write game's loop time as float to MAIN+0x3AF0804 + - + type: bytes + main_offset: 0x5F0348 + value_type: uint32 + value: 0x17FFFF5B + - + type: bytes + main_offset: 0x5F00B4 + value_type: uint32 + value: + - 0xF9000660 + - 0x1E624004 + - 0x14000086 + - + type: bytes + main_offset: 0x5F02D4 + value_type: uint32 + value: + - 0x9001A808 + - 0xBD080504 + - 0x1400001C + - # Read lowest timing float factor from MAIN+0x3AF0804 + type: bytes + main_offset: 0x65548 + value_type: uint32 + value: + - 0xF001D448 + - 0x1E227800 + - 0xBD480502 + - # Default value + type: bytes + main_offset: 0x3AF0804 + value_type: float + value: 0.0333333333 +15FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 66666666 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 50000000 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 40000000 + - + type: block + what: timing +30FPS: + - # default value + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 33333333 +35FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 28571428 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 25000000 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 22222222 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 20000000 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 18181818 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x3AF0800] + value_type: uint32 + value: 16666666 diff --git a/SaltySD/plugins/FPSLocker/patches/0100D4900E82C000/85C362CC9790F0ED.yaml b/SaltySD/plugins/FPSLocker/patches/0100D4900E82C000/85C362CC9790F0ED.yaml new file mode 100644 index 0000000..9bfd61a --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D4900E82C000/85C362CC9790F0ED.yaml @@ -0,0 +1,75 @@ +# Metro 2033 Redux +# BID: 85C362CC9790F0ED + +unsafeCheck: true + +15FPS: + # Dynamic resolution FPS factor (0.989 * FPS) + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 14.835 +20FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 19.78 +25FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 24.725 +30FPS: + # Dynamic resolution FPS factor (default) + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 29.67 +35FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 34.615 +40FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 39.56 +45FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 44.505 +50FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 49.45 +55FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 54.395 +60FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 59.34 diff --git a/SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/49F3DD78CB5490B5.yaml b/SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/49F3DD78CB5490B5.yaml new file mode 100644 index 0000000..8c38e16 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/49F3DD78CB5490B5.yaml @@ -0,0 +1,159 @@ +# ARK: Survival Evolved 2.0.10 +# BID: 49F3DD78CB5490B5 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to one decimal + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7943C38, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7971D48, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/5418E22D160F766F.yaml b/SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/5418E22D160F766F.yaml new file mode 100644 index 0000000..a96f79e --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D4A00B284000/5418E22D160F766F.yaml @@ -0,0 +1,159 @@ +# ARK: Survival Evolved 2.0.7 +# BID: 5418E22D160F766F + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to one decimal + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value is 30) + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x78DE6D8, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x790C798, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100D560102C8000/48681F1D90704F6C.yaml b/SaltySD/plugins/FPSLocker/patches/0100D560102C8000/48681F1D90704F6C.yaml new file mode 100644 index 0000000..7416fa8 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D560102C8000/48681F1D90704F6C.yaml @@ -0,0 +1,75 @@ +# BioShock Infinite 1.0.2 +# BID: 48681F1D90704F6C + +unsafeCheck: true + +15FPS: + # Dynamic resolution FPS factor (FPS_Target + 1.5) + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 16.5 +20FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 21.5 +25FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 26.5 +30FPS: + # Dynamic resolution FPS factor (default) + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 31.5 +35FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 36.5 +40FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 41.5 +45FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 46.5 +50FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 51.5 +55FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 56.5 +60FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x28A8450, 0] + value_type: float + value: 61.5 diff --git a/SaltySD/plugins/FPSLocker/patches/0100D77019324000/A52C9938956331C9.yaml b/SaltySD/plugins/FPSLocker/patches/0100D77019324000/A52C9938956331C9.yaml new file mode 100644 index 0000000..26795a6 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D77019324000/A52C9938956331C9.yaml @@ -0,0 +1,159 @@ +# Trek to Yomi 0.4 +# BID: A52C9938956331C9 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [28.57, 28.57] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x73F93F8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x7426A18, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D7F00FB1A000/D871B992E95B71C5.yaml b/SaltySD/plugins/FPSLocker/patches/0100D7F00FB1A000/D871B992E95B71C5.yaml new file mode 100644 index 0000000..d6b49c2 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D7F00FB1A000/D871B992E95B71C5.yaml @@ -0,0 +1,102 @@ +# The Great Ace Attorney Chronicles JP 1.0.0 +# BID: D871B992E95B71C5 + +unsafeCheck: true + +15FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 15 + - + type: block + what: timing +20FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 20 + - + type: block + what: timing +25FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 25 + - + type: block + what: timing +30FPS: + # FPS lock (default) + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 30 + - + type: block + what: timing +35FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 35 + - + type: block + what: timing +40FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 40 + - + type: block + what: timing +45FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 45 + - + type: block + what: timing +50FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 50 + - + type: block + what: timing +55FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 55 + - + type: block + what: timing +60FPS: + # FPS lock + - + type: write + address: [MAIN, 0xCFA0F8, 0x4C] + value_type: float + value: 60 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100D8700B712000/C56E6F514FADC5C5.yaml b/SaltySD/plugins/FPSLocker/patches/0100D8700B712000/C56E6F514FADC5C5.yaml new file mode 100644 index 0000000..2ffb267 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100D8700B712000/C56E6F514FADC5C5.yaml @@ -0,0 +1,189 @@ +# Modern Combat Blackout 1.1.9 +# BID: C56E6F514FADC5C5 + +unsafeCheck: true + +15FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 15 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [15, 66] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 12.5 + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 20 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [20, 50] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 16.66666666666 + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 25 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [25, 40] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 20.83333333333 + - + type: block + what: timing +30FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 100 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [100, 33] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 25 +35FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 35 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [35, 28] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 29.166666666 + - + type: block + what: timing +40FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 40 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [40, 25] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 33.3333333333 + - + type: block + what: timing +45FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 45 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [45, 22] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 37.555555555 + - + type: block + what: timing +50FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 50 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [50, 20] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 41.6666666666 + - + type: block + what: timing +55FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 55 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [55, 18] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 45.8333333333 + - + type: block + what: timing +60FPS: + - + type: write + address: [MAIN, 0x14284E0] + value_type: int32 + value: 100 + - + type: write + address: [MAIN, 0x155C640, 0x7E8, 0x49C] + value_type: int32 + value: [100, 16] + - + type: write + address: [MAIN, 0x14E2320, 0x944] + value_type: float + value: 50 diff --git a/SaltySD/plugins/FPSLocker/patches/0100DC301186A000/EE295EAAEA7D31E4.yaml b/SaltySD/plugins/FPSLocker/patches/0100DC301186A000/EE295EAAEA7D31E4.yaml new file mode 100644 index 0000000..dc77cc5 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100DC301186A000/EE295EAAEA7D31E4.yaml @@ -0,0 +1,159 @@ +# Life is Strange 1.0.1 +# BID: EE295EAAEA7D31E4 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x674AF18, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x67758C0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml b/SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml new file mode 100644 index 0000000..6595086 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100DCA0064A6000/79E5950FFA85ACF6.yaml @@ -0,0 +1,113 @@ +# Luigi's Mansion 3 1.4.0 +# BID: 79E5950FFA85ACF6 +# Credits for finding FPS Lock goes to theboy181 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect reading FPS Lock to MAIN+0x1D164DC + - + type: bytes + main_offset: 0x7A3E9C + value_type: uint32 + value: 0xF000AB8C + # Default value + - + type: bytes + main_offset: 0x1D164DC + value_type: float + value: 33.33333333 +15FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 66.66666666 + - + type: block + what: timing +20FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 50 + - + type: block + what: timing +25FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 40 + - + type: block + what: timing +30FPS: + # FPS Lock in ms (default value) + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 33.33333333 +35FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 28.57142857 + - + type: block + what: timing +40FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 25 + - + type: block + what: timing +45FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 22.22222222 + - + type: block + what: timing +50FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 20 + - + type: block + what: timing +55FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 18.18181818 + - + type: block + what: timing +60FPS: + # FPS Lock in ms + - + type: write + address: [MAIN, 0x1D164DC] + value_type: float + value: 16.66666666 diff --git a/SaltySD/plugins/FPSLocker/patches/0100DCF0093EC000/71873FEB4648FA39.yaml b/SaltySD/plugins/FPSLocker/patches/0100DCF0093EC000/71873FEB4648FA39.yaml new file mode 100644 index 0000000..b203bf9 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100DCF0093EC000/71873FEB4648FA39.yaml @@ -0,0 +1,159 @@ +# Everspace +# BID: 71873FEB4648FA39 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [32, 32] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [28.57, 28.57] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x5FAB540, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x5FD00A8, 0] + value_type: float + value: [60, 60] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100DFC00E472000/448C08A9533F3CAD.yaml b/SaltySD/plugins/FPSLocker/patches/0100DFC00E472000/448C08A9533F3CAD.yaml new file mode 100644 index 0000000..031b73b --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100DFC00E472000/448C08A9533F3CAD.yaml @@ -0,0 +1,159 @@ +# Earthfall: Alien Horde 1.0.1 +# BID: 448C08A9533F3CAD + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default) + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default) + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x71A9000, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default) + - + type: write + address: [MAIN, 0x71CCE48, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100E1C0148F8000/77C053D779EE97F6.yaml b/SaltySD/plugins/FPSLocker/patches/0100E1C0148F8000/77C053D779EE97F6.yaml new file mode 100644 index 0000000..0299f16 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E1C0148F8000/77C053D779EE97F6.yaml @@ -0,0 +1,159 @@ +# Severed Steel 1.0.2 +# BID: 77C053D779EE97F6 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget = 0.9 * (1000/FPS) + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [60, 60] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [45, 45] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [36, 36] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [30, 30] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [25.71, 25.71] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [22.5, 22.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [18, 18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [16.36, 16.36] + # t.MaxFPS + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x75EE8A8, 0] + value_type: float + value: [15, 15] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x761C478, 0] + value_type: float + value: [0, 0] \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100E2701A888000/1F0710E2B6C1DEAD.yaml b/SaltySD/plugins/FPSLocker/patches/0100E2701A888000/1F0710E2B6C1DEAD.yaml new file mode 100644 index 0000000..950747f --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E2701A888000/1F0710E2B6C1DEAD.yaml @@ -0,0 +1,188 @@ +# Trine 5: A Clockwork Conspiracy 1.0.3 +# BID: 1F0710E2B6C1DEAD +# To update dynamic resolution offsets look at fb::renderer::ResolutionScaler::update + +unsafeCheck: true + +MASTER_WRITE: + # Change double buffer to triple buffer + - + type: bytes + main_offset: 0x13D2CA4 + value_type: uint32 + value: 0x52800068 + # Allow changing dynamic resolution timings + # Max - changed address to MAIN + 0x7CA3200 + - + type: bytes + main_offset: 0x2620DD8 + value_type: uint32 + value: 0x1423399F + - + type: bytes + main_offset: 0x2EEF454 + value_type: uint32 + value: + - 0x90026DA8 + - 0xF9410108 + - 0x17DCC660 + # Min - changed address to MAIN + 0x7CA3208 + - + type: bytes + main_offset: 0x2620E50 + value_type: uint32 + value: 0x942343E0 + - + type: bytes + main_offset: 0x2620E8C + value_type: uint32 + value: 0x942343D1 + - + type: bytes + main_offset: 0x2EF1DD0 + value_type: uint32 + value: + - 0xD0026D8A + - 0xF941054A + - 0xD65F03C0 + # Default values + - + type: bytes + main_offset: 0x7CA3200 + value_type: double + value: 34.0 + - + type: bytes + main_offset: 0x7CA3208 + value_type: double + value: 32.0 +15FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 68.0 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 64.0 +20FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 51.0 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 48.0 +25FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 40.8 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 38.4 +30FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 34.0 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 32.0 +35FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 29.14 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 27.42 +40FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 25.5 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 24.0 +45FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 22.66 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 21.33 +50FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 20.4 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 19.2 +55FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 18.54 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 17.45 +60FPS: + # Max Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3200] + value_type: double + value: 17.0 + # Min Dynamic Resolution Timing + - + type: write + address: [MAIN, 0x7CA3208] + value_type: double + value: 16.0 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml b/SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml new file mode 100644 index 0000000..7e9c142 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E5900F49A000/A8BA2A8F93AAE647.yaml @@ -0,0 +1,81 @@ +# Othercide 1.3.0.5 +# BID: A8BA2A8F93AAE647 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect DynamicResolutionManager$$Update Timing to be read from MAIN+0x72C6500 + - + type: bytes + main_offset: 0x2B0188C + value_type: uint32 + value: + - 0xB0023E28 + - 0xBD450101 + # Write default value + - + type: bytes + main_offset: 0x72C6500 + value_type: float + value: 41 +15FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 65.6666 +20FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 49 +25FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 39 +30FPS: + # Default is 41, but it sucks + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 32.3333 +35FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 27.5714 +40FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 24 +45FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 21.2222 +50FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 19 +55FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 17.1818 +60FPS: + - + type: write + address: [MAIN, 0x72C6500] + value_type: float + value: 15.5 diff --git a/SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml b/SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml new file mode 100644 index 0000000..7aacd2d --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E66010ADE000/45CE2B6625A35771.yaml @@ -0,0 +1,460 @@ +# Crysis Remastered 1.8.0 +# BID: 45CE2B6625A35771 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect Dynamic Resolution Timings to read always not from .text + - + type: bytes + main_offset: 0x27CE4B4 + value_type: uint32 + value: 0x1E204020 +# Redirect Dynamic Resolution Timings readings to MAIN+0x3DFAE00 + - + type: bytes + main_offset: 0x27CE450 + value_type: uint32 + value: + - 0x9000B16D + - 0xBD4E01A1 + - + type: bytes + main_offset: 0x27CE484 + value_type: uint32 + value: + - 0x9000B169 + - 0x91381129 + - + type: bytes + main_offset: 0x27CE490 + value_type: uint32 + value: + - 0x9000B16A + - 0x9138314A + - + type: bytes + main_offset: 0x27CE468 + value_type: uint32 + value: + - 0x9000B168 + - 0x91385108 +# Write default values + # MAIN + 0x2C11728 + - + type: bytes + main_offset: 0x3DFAE00 + value_type: float + value: 28.5 + # MAIN + 0x2C12B98 + - + type: bytes + main_offset: 0x3DFAE04 + value_type: float + value: [32, 33] + # MAIN + 0x2C13130 + - + type: bytes + main_offset: 0x3DFAE0C + value_type: float + value: [29.5, 32] + # MAIN + 0x2C12EF8 + - + type: bytes + main_offset: 0x3DFAE14 + value_type: float + value: [33.5, 36] +15FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 15 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.022 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 57 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [64, 64] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [59, 59] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [67, 67] + - + type: block + what: timing +20FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 20 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.022 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 42.75 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [48, 48] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [44.25, 44.25] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [50.25, 50.25] + - + type: block + what: timing +25FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 25 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.022 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 34.2 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [38.4, 38.4] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [35.4, 35.4] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [40.2, 40.2] + - + type: block + what: timing +30FPS: + # sys_MaxFPS (default value) + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 30 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.022 + # MAIN + 0x2C11728 (default value) + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 28.5 + # MAIN + 0x2C12B98 (default value) + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [32, 33] + # MAIN + 0x2C13130 (default value) + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [29.5, 32] + # MAIN + 0x2C12EF8 (default value) + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [33.5, 36] +35FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 35 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.022 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 24.4286 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [27.4286, 27.4286] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [25.2857, 25.2857] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [28.7143, 28.7143] + - + type: block + what: timing +40FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 40 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.022 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 21.375 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [24, 24] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [22.125, 22.125] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [25.125, 25.125] + - + type: block + what: timing +45FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 45 + # Renderer thread delay (default value) + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.022 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 19 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [21.3333, 21.3333] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [19.6666, 19.6666] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [22.3333, 22.3333] + - + type: block + what: timing +50FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 50 + # Renderer thread delay + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.015 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 17.1 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [19.2, 19.2] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [17.7, 17.7] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [20.1, 20.1] + - + type: block + what: timing +55FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 55 + # Renderer thread delay + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.015 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 15.5455 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [17.4545, 17.4545] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [16.0909, 16.0909] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [18.2727, 18.2727] + - + type: block + what: timing +60FPS: + # sys_MaxFPS + - + type: write + address: [MAIN, 0x3CB4204] + value_type: int32 + value: 60 + # Renderer thread delay + - + type: write + address: [MAIN, 0x3CCF6A0] + value_type: float + value: 0.015 + # MAIN + 0x2C11728 + - + type: write + address: [MAIN, 0x3DFAE00] + value_type: float + value: 14.25 + # MAIN + 0x2C12B98 + - + type: write + address: [MAIN, 0x3DFAE04] + value_type: float + value: [16, 16] + # MAIN + 0x2C13130 + - + type: write + address: [MAIN, 0x3DFAE0C] + value_type: float + value: [14.75, 14.75] + # MAIN + 0x2C12EF8 + - + type: write + address: [MAIN, 0x3DFAE14] + value_type: float + value: [16.75, 16.75] diff --git a/SaltySD/plugins/FPSLocker/patches/0100E87017D0E000/ACF3FF125C2A3E68.yaml b/SaltySD/plugins/FPSLocker/patches/0100E87017D0E000/ACF3FF125C2A3E68.yaml new file mode 100644 index 0000000..3405fd3 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100E87017D0E000/ACF3FF125C2A3E68.yaml @@ -0,0 +1,159 @@ +# Bramble The Mountain King 1.0.7 +# BID: ACF3FF125C2A3E68 + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x7241888, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x726F108, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100F0400E850000/85C362CC9790F0ED.yaml b/SaltySD/plugins/FPSLocker/patches/0100F0400E850000/85C362CC9790F0ED.yaml new file mode 100644 index 0000000..ed318d1 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F0400E850000/85C362CC9790F0ED.yaml @@ -0,0 +1,75 @@ +# Metro: Last Light Redux 1.0.0 +# BID: 85C362CC9790F0ED + +unsafeCheck: true + +15FPS: + # Dynamic resolution FPS factor (0.989 * FPS) + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 14.835 +20FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 19.78 +25FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 24.725 +30FPS: + # Dynamic resolution FPS factor (default) + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 29.67 +35FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 34.615 +40FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 39.56 +45FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 44.505 +50FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 49.45 +55FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 54.395 +60FPS: + # Dynamic resolution FPS factor + - + type: write + address: [MAIN, 0x17321D8] + value_type: float + value: 59.34 diff --git a/SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/254DF6A118587EA0.yaml b/SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/254DF6A118587EA0.yaml new file mode 100644 index 0000000..c71e73c --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F3200E7CA000/254DF6A118587EA0.yaml @@ -0,0 +1,88 @@ +# The Settlers: New Allies 1.0.0 +# BID: 254DF6A118587EA0 + +unsafeCheck: true + +MASTER_WRITE: + # Redirect FPS Lock to float MAIN+B4DC000, frametime and DR target to float MAIN+B4DC004 + - + type: bytes + main_offset: 0x368BA0 + value_type: uint32 + value: + - 0x90058BA8 + - 0xBD4C0100 + - 0xBD4C0508 + - + type: bytes + main_offset: 0x32C5524 + value_type: uint32 + value: + - 0xF00410A0 + - 0xBD4C0400 + # Default values + - + type: bytes + main_offset: 0xB4DC000 + value_type: float + value: [30, 0.0333333333] +15FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [15, 0.0666666666] +20FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [20, 0.05] +25FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [25, 0.04] +30FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [30, 0.0333333333] +35FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [35, 0.028571] +40FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [40, 0.025] +45FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [45, 0.0222222222] +50FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [50, 0.02] +55FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [55, 0.0181818181] +60FPS: + - + type: write + address: [MAIN, 0xB4DC000] + value_type: float + value: [60, 0.0166666666] diff --git a/SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml b/SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml new file mode 100644 index 0000000..a9d3a77 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F4F014108000/2284DFB25F387719.yaml @@ -0,0 +1,224 @@ +# Mythic Ocean 1.0.1 +# BID: 2284DFB25F387719 + +unsafeCheck: true + +15FPS: + # Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + # Default is 0x47, 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 (1000/FPS) cutted to 2 decimals + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [66.66, 66.66] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [33.33, 33.33] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [0, 0] +35FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [28.51, 28.51] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [22.22, 22.22] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [18.18, 18.18] + # t.MaxFPS + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # Disable bUseFixedFrameRate + - + type: write + address: [MAIN, 0x63CEE78, 0x7A4] + value_type: uint32 + value: 7 + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x63A23A8, 0] + value_type: float + value: [16.66, 16.66] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x63CF748, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100F8F014190000/AF7114F019CE6E1D.yaml b/SaltySD/plugins/FPSLocker/patches/0100F8F014190000/AF7114F019CE6E1D.yaml new file mode 100644 index 0000000..7a89d55 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100F8F014190000/AF7114F019CE6E1D.yaml @@ -0,0 +1,159 @@ +# Darksiders III 1.0.1 +# BID: AF7114F019CE6E1D + +unsafeCheck: true + +15FPS: + # r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 1 decimal + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [66.6, 66.6] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [50, 50] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [40, 40] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # r.DynamicRes.FrameTimeBudget (default value) + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [33.3, 33.3] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [0, 0] +35FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [28.5, 28.5] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [25, 25] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [22.2, 22.2] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [20, 20] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [18.1, 18.1] + # t.MaxFPS + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # r.DynamicRes.FrameTimeBudget + - + type: write + address: [MAIN, 0x64F2160, 0] + value_type: float + value: [16.6, 16.6] + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x64E86B0, 0] + value_type: float + value: [0, 0] diff --git a/SaltySD/plugins/FPSLocker/patches/0100FA2019AC2000/1DF30F9632347530.yaml b/SaltySD/plugins/FPSLocker/patches/0100FA2019AC2000/1DF30F9632347530.yaml new file mode 100644 index 0000000..480ddeb --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100FA2019AC2000/1DF30F9632347530.yaml @@ -0,0 +1,75 @@ +# TT Isle of Man : Ride on the Edge 3 1.2.0 +# BID: 1DF30F9632347530 + +unsafeCheck: true + +15FPS: + # OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30) + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 64.333333 +20FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 47.666666 +25FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 37.666666 +30FPS: + # OptimalFrameDuration_ms (default value) + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 31 +35FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 26.238095 +40FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 22.666666 +45FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 19.888888 +50FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 17.666666 +55FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 15.848484 +60FPS: + # OptimalFrameDuration_ms + - + type: write + address: [MAIN, 0x2CA8C3C] + value_type: float + value: 14.333333 \ No newline at end of file diff --git a/SaltySD/plugins/FPSLocker/patches/0100FD101186C000/BF0088C59D7E97C0.yaml b/SaltySD/plugins/FPSLocker/patches/0100FD101186C000/BF0088C59D7E97C0.yaml new file mode 100644 index 0000000..7abf4ca --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100FD101186C000/BF0088C59D7E97C0.yaml @@ -0,0 +1,99 @@ +# Life is Strange 2 1.1.0 +# BID: BF0088C59D7E97C0 + +unsafeCheck: true + +15FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [15, 15] + - + type: block + what: timing +20FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [20, 20] + - + type: block + what: timing +25FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [25, 25] + - + type: block + what: timing +30FPS: + # t.MaxFPS (default value) + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [0, 0] +35FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [35, 35] + - + type: block + what: timing +40FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [40, 40] + - + type: block + what: timing +45FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [45, 45] + - + type: block + what: timing +50FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [50, 50] + - + type: block + what: timing +55FPS: + # t.MaxFPS + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [55, 55] + - + type: block + what: timing +60FPS: + # t.MaxFPS (we want to set above 60 so NVN will deal with lock without UE4 trying to do it) + - + type: write + address: [MAIN, 0x8082C68, 0] + value_type: float + value: [100, 100] diff --git a/SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml b/SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml new file mode 100644 index 0000000..f5bda07 --- /dev/null +++ b/SaltySD/plugins/FPSLocker/patches/0100FF500E34A000/92C78BB3DCBBC3F7.yaml @@ -0,0 +1,72 @@ +# Xenoblade Chronicles 1.1.2 +# BID: 92C78BB3DCBBC3F7 + +unsafeCheck: true + +# For 15-20 FPS use internal FPS lock, for 25-30 set default value +15FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [4, 4] + - + type: block + what: timing +20FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [3, 3] + - + type: block + what: timing +25FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [2, 2] +30FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [2, 2] +35FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [1, 1] +40FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [1, 1] +45FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [1, 1] +50FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [1, 1] +55FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [1, 1] +60FPS: + - + type: write + address: [MAIN, 0x13BFDA0] + value_type: int32 + value: [1, 1] \ No newline at end of file diff --git a/SaltySD/saltysd_core.elf b/SaltySD/saltysd_core.elf new file mode 100644 index 0000000000000000000000000000000000000000..4c3b04f25efd7e37a4ec53d557da127c43ffd402 GIT binary patch literal 406664 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%0D>$RwrNG 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 Y(sIV$-G`s868hKN%bq&n!%zSJ1raW`8UO$Q literal 0 HcmV?d00001 diff --git a/atmosphere/config/override_config.ini b/atmosphere/config/override_config.ini new file mode 100644 index 0000000..254874a --- /dev/null +++ b/atmosphere/config/override_config.ini @@ -0,0 +1,18 @@ +[hbl_config] +; Program Specific Config +; Up to 8 program-specific configurations can be set. +; These use `program_id_#`, `override_address_space_#`, and `override_key_#` +; where # is in range [0,7]. +; program_id_0=010000000000100D +; override_address_space=39_bit +; override_key_0=!R +; override_any_app_key=R + +title_id=010000000000100D +override_any_app=true +path=atmosphere/hbl.nsp +override_key=R + +[default_config] +override_key=!L +cheat_enable_key=L \ No newline at end of file diff --git a/atmosphere/config/system_settings.ini b/atmosphere/config/system_settings.ini new file mode 100644 index 0000000..81b7470 --- /dev/null +++ b/atmosphere/config/system_settings.ini @@ -0,0 +1,127 @@ +[lm] +enable_sd_card_logging = u8!0x0 + +[eupld] +upload_enabled = u8!0x0 + +[atmosphere] +dmnt_cheats_enabled_by_default = u8!0x0 +dmnt_always_save_cheat_toggles = u8!0x1 +fatal_auto_reboot_interval = u64!0x0 +fsmitm_redirect_saves_to_sd = u8!0x1 + +[contents_delivery] +enable_debug_api = u8!0x1 + +[usb] +usb30_force_enabled = u8!0x1 + +[tc] +use_configurations_on_fwdbg = u8!0x1 +tskin_rate_table_console_on_fwdbg = str!"[[-1000000, 35000, 0, 0], [35000, 46000, 0, 51], [46000, 49000, 51, 90], [49000, 53000, 90, 128], [53000, 55000, 128, 153], [55000, 58000, 153, 255], [58000, 1000000, 255, 255]]" +tskin_rate_table_handheld_on_fwdbg = str!"[[-1000000, 35000, 0, 0], [35000, 46000, 0, 51], [46000, 51000, 51, 90], [51000, 55000, 90, 128], [55000, 57000, 128, 153], [57000, 60000, 153, 255], [60000, 1000000, 255, 255]]" +holdable_tskin = u32!0xEA60 +touchable_tskin = u32!0xEA60 + +[psm] +enough_power_threshold_mw = u32!0x3E80 + +[am.debug] +continuous_recording_fps = u32!60 +continuous_recording_video_bit_rate = u32!0x1312D00 +continuous_recording_key_frame_count = u32!15 + +[bgtc] +enable_halfawake = u32!0x0 +minimum_interval_normal = u32!0x7FFFFFFF +minimum_interval_save = u32!0x7FFFFFFF +battery_threshold_save = u32!0x64 +battery_threshold_stop = u32!0x64 + +[npns] +background_processing = u8!0x0 +sleep_periodic_interval = u32!0x7FFFFFFF +sleep_processing_timeout = u32!0x0 +sleep_max_try_count = u32!0x0 + +[ns.notification] +enable_download_task_list = u8!0x0 +enable_download_ticket = u8!0x0 +enable_network_update = u8!0x0 +enable_random_wait = u8!0x0 +enable_request_on_cold_boot = u8!0x0 +enable_send_rights_usage_status_request = u8!0x0 +enable_sync_elicense_request = u8!0x0 +enable_version_list = u8!0x0 +retry_interval_min = u32!0x7FFFFFFF +retry_interval_max = u32!0x7FFFFFFF +version_list_waiting_limit_bias = u32!0x7FFFFFFF +version_list_waiting_limit_min = u32!0x7FFFFFFF + +[account] +na_required_for_network_service = u8!0x0 +na_license_verification_enabled = u8!0x0 + +[account.daemon] +background_awaking_periodicity = u32!0x7FFFFFFF +initial_schedule_delay = u32!0x7FFFFFFF +profile_sync_interval = u32!0x7FFFFFFF +na_info_refresh_interval = u32!0x7FFFFFFF + +[capsrv] +enable_album_screenshot_filedata_verification = u8!0x0 +enable_album_movie_filehash_verification = u8!0x0 +enable_album_movie_filesign_verification = u8!0x0 + +[friends] +background_processing = u8!0x0 + +[notification.presenter] +snooze_interval_in_seconds = u32!0x7FFFFFFF +connection_retry_count = u32!0x0 +alarm_pattern_total_repeat_count = u32!0x0 +alarm_pattern_with_vibration_repeat_count = u32!0x0 + +[prepo] +transmission_interval_min = u32!0x7FFFFFFF +transmission_retry_interval_min = u32!0x7FFFFFFF +transmission_retry_interval_max = u32!0x7FFFFFFF +transmission_interval_in_sleep = u32!0x7FFFFFFF +statistics_save_interval_min = u32!0x7FFFFFFF +statistics_post_interval = u32!0x7FFFFFFF + +[olsc] +default_auto_upload_global_setting = u8!0x0 +default_auto_download_global_setting = u8!0x0 +autonomy_registration_interval_seconds = u32!0x7FFFFFFF +network_service_license_info_cache_expiration_seconds = u32!0x7FFFFFFF +postponed_transfer_task_processing_interval_seconds = u32!0x7FFFFFFF +retry_offset_seconds = u32!0x7FFFFFFF +network_trouble_detection_span_seconds = u32!0x7FFFFFFF +network_connection_polling_interval_seconds = u32!0x7FFFFFFF +is_save_data_backup_policy_check_required = u8!0x0 +is_global_transfer_task_autonomy_registration_enabled = u8!0x0 +is_on_event_transfer_task_registration_enabled = u8!0x0 +is_periodic_transfer_task_registration_enabled = u8!0x0 + +[ntc] +is_autonomic_correction_enabled = u8!0x0 +autonomic_correction_interval_seconds = u32!0x7FFFFFFF +autonomic_correction_failed_retry_interval_seconds = u32!0x7FFFFFFF +autonomic_correction_immediate_try_count_max = u32!0x0 +autonomic_correction_immediate_try_interval_milliseconds = u32!0x7FFFFFFF + +[systemupdate] +bgnup_retry_seconds = u32!0x7FFFFFFF + +[ns.rights] +skip_account_validation_on_rights_check = u8!0x1 +next_available_time_of_unexpected_error = u32!0x7FFFFFFF + +[pctl] +intermittent_task_interval_seconds = u32!0x7FFFFFFF + +[sprofile] +adjust_polling_interval_by_profile = u8!0x0 +polling_interval_sec_max = u32!0x7FFFFFFF +polling_interval_sec_min = u32!0x7FFFFFFF \ No newline at end of file diff --git a/atmosphere/contents/0000000000534C56/exefs.nsp b/atmosphere/contents/0000000000534C56/exefs.nsp new file mode 100644 index 0000000000000000000000000000000000000000..c3b12d5896c59075b03c52960d13da1585b8d7b7 GIT binary patch literal 142421 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%0AA#XOKxGQfV@#UPOK8mtl%ElsP3KZ61cO9>Tz@ z0RQ|lY#cFx{eB*0KAIW$Z#?6Bwh7&QcJqwrvXB3(Li=5oY^)X9v4rg7%%_5&lD|ND z9!`qMUcZrsN~-5N<{+wQX)vr?@WE_bWNOFtG*|R71{j1vC}j~BSh8PwJOXEqG~q?^$>pJHgxw!_|>SRer5NV-DCIFcYie2fas1RUtS!m*J^v#k+Q-mxsexJ zC-qhBiHDRx%6L`ke`qd@G@bdPKl3Q;7HzPRAhvtp{}t%OnW6#Q8)$%7&E$Iue!KPKZY3UYH-V+1$jg+^Sw@gJJWwjj@q{@{p>5dVB?6(-+I?Gg zs)Of%Q~H+Ty3Vp;XMQ<#+8{=616$mV$l`l6k>Axx(>4b&U*T80L`v6GPa0NqgCtQ! zg0f$cY+2Hlgm4y?WNt2(*0;ssZ5txV&9%}+rQOcrqD45 z!QQek06EUXNL!0`*e%|j;WFw}5i7!<{wdZ7kv>_nNvFG@P}rCcLXICEa@1=8+&&IJo>O71BRg^v*=OaIrdJeD0MsVjLz@9`6BR?(c;auCc zuVanIO75eAq!h}AtWXq0y&9U;z2%>Agbi>Efx)6tA@VG6W6?4yo~_wZUjT3 z3l!LKDzyj)0yiZ6Y)<|$%d^x%c11m7h8U>zBQXy)0T5TDQ*K~Cs=!R>DC?Y*t_ioB zPS#0~9?-_!pv-S4u3fZ#mlyC0)n!*7!BHGnv7NY>hv zWn5&aK;F()CZ0h}vt>D$R@h{J_j5;J_Va0%@)pfus?hkbRL0EV@8ai3jEbD1-V=b?Cf0AS~j!k1NfVnu9mBhEd zk?{~7+;9jZ!3(-rTVUVgs0*vA*3%>gm{<5*Vh0fyRzu+wH(Y1_dU7I3N~RwP(%uCi zhk>qEH^NAAEpJ0p3z>Z5hm2X{;2o_cSauz)JL^Bk>I_8ZH{RH`V1)~|d9F&)VwTKqw$QQrGcMu?5ym4Er>J?)cWEkub&ceZf zqZp#LtX^q^S4c}z@YD!`w(6y0rg3eki2VuHG)_W1j9P~?;eEYGnKr+iJD#MUE(OI^ zj2aOmKI13PU(#lL;*qR*9?3F8NTkht=@U{+N*RbvwBl~WBHESy)UaV3ea#(|I`7^3a2DxIfN^f$4VU`&>owkhGrOAuRG1 z*o7W)6TX*JNKJ8#1MPyunlG)RY3?>Uy%psKQ7#h;8@4#a22F=k7A83wq}6#|9%^Rv z#mWUd=DE{g;khH9P?R>UQbEdcw1yYRDR~_Cr#oQ`n^+#sK()8k9x0!xOb8>12@m>_ zQ6pSIU`~Nf{+KE_)~!Z-t@%En@B<1PTJ?YA(54f6P10=1vU@pMrR9{grxI`35TdnP z+fF_g4DRtT#VLm&1+ z%C|$pClY6kpWl!1{10$-ck7CX`|CsLhHCQiS0(tW(HPcXIw<(K4Ij7R!yM)DNNx?? z(6EVI+1vt=??aRj#1`Bxs!%5EIeF^9bhM=c%&7≤>&YzS*~7YEB+vK|vYH!K`?^ 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

aMrF*SMCXZRM6A_0MY>YIC^(AqRG_o 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

qevsm=|F( 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 literal 0 HcmV?d00001 diff --git a/atmosphere/contents/0000000000534C56/flags/boot2.flag b/atmosphere/contents/0000000000534C56/flags/boot2.flag new file mode 100644 index 0000000..e69de29 diff --git a/atmosphere/contents/0000000000534C56/toolbox.json b/atmosphere/contents/0000000000534C56/toolbox.json new file mode 100644 index 0000000..1cb1834 --- /dev/null +++ b/atmosphere/contents/0000000000534C56/toolbox.json @@ -0,0 +1,5 @@ +{ + "name": "SaltyNX", + "tid": "0000000000534C56", + "requires_reboot": true +} \ No newline at end of file diff --git a/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/atmosphere/contents/00FF0000636C6BFF/exefs.nsp new file mode 100644 index 0000000000000000000000000000000000000000..2a235f76c53ea1e9ce5bf96eb071b42adbec1804 GIT binary patch literal 173525 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⩔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 b5dKAeTk-#w5&km2f=>MX$rbSbY5x8fK5O$o literal 0 HcmV?d00001 diff --git a/atmosphere/contents/00FF0000636C6BFF/flags/boot2.flag b/atmosphere/contents/00FF0000636C6BFF/flags/boot2.flag new file mode 100644 index 0000000..e69de29 diff --git a/atmosphere/contents/420000000007E51A/exefs.nsp b/atmosphere/contents/420000000007E51A/exefs.nsp new file mode 100644 index 0000000000000000000000000000000000000000..ce0fc1c24871751e0349473f2c3c3fd8e27175e3 GIT binary patch literal 25336 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 PKeU;tqxE?o^8?X8;Ca<^ literal 0 HcmV?d00001 diff --git a/atmosphere/contents/420000000007E51A/flags/boot2.flag b/atmosphere/contents/420000000007E51A/flags/boot2.flag new file mode 100644 index 0000000..e69de29 diff --git a/atmosphere/contents/420000000007E51A/toolbox.json b/atmosphere/contents/420000000007E51A/toolbox.json new file mode 100644 index 0000000..bd0d37f --- /dev/null +++ b/atmosphere/contents/420000000007E51A/toolbox.json @@ -0,0 +1,5 @@ +{ + "name" : "Tesla", + "tid" : "420000000007E51A", + "requires_reboot": false +} \ No newline at end of file diff --git a/atmosphere/exefs_patches/es_patches/02DCD930D0A7462451E9973AB2022D697C77614B.ips b/atmosphere/exefs_patches/es_patches/02DCD930D0A7462451E9973AB2022D697C77614B.ips new file mode 100644 index 0000000000000000000000000000000000000000..726f38b85f24abc280515237fcbf463e1242cc08 GIT binary patch literal 17 YcmWG=3~}~gE9PNfdB7~c%GKWu04AsefB*mh literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/03E4EB5556B98B327D1353E8AA2C7ADF2C544470.ips b/atmosphere/exefs_patches/es_patches/03E4EB5556B98B327D1353E8AA2C7ADF2C544470.ips new file mode 100644 index 0000000000000000000000000000000000000000..207972aeb196ff8b7594eecf5be347db6ab07813 GIT binary patch literal 35 mcmWG=3~}~gx+BBD!pXoO!u0Y61B<)@^Hruh1rUa-zZ(FR3J9$L literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/1114E9102F1EBCD1B0EAF19C927362CFCB8B5D2C.ips b/atmosphere/exefs_patches/es_patches/1114E9102F1EBCD1B0EAF19C927362CFCB8B5D2C.ips new file mode 100644 index 0000000000000000000000000000000000000000..0b5fbe502c9ef93e7c2ab5506666618a787ae9e6 GIT binary patch literal 35 pcmWG=3~}~gdisTdMP7mVD$~;&3@mI63?fWVmoTt!0vWFUZUD3Q2+9Be literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/127904316C924326084288641825FE5DC259AF6B.ips b/atmosphere/exefs_patches/es_patches/127904316C924326084288641825FE5DC259AF6B.ips new file mode 100644 index 0000000000000000000000000000000000000000..6c693c7b0cd90f85b58743564d66682e62bd751a GIT binary patch literal 17 YcmWG=3~}~g^Uh&ldB7~c%GKWu04T5oxBvhE literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/34E95FF2929B5B767DCFD41D108AD927D2D7F5DC.ips b/atmosphere/exefs_patches/es_patches/34E95FF2929B5B767DCFD41D108AD927D2D7F5DC.ips new file mode 100644 index 0000000000000000000000000000000000000000..fd3617c4566da33ed9ed7b49f157c4d7586f454e GIT binary patch literal 35 mcmWG=3~}~gx}3wn!pXoO!t~$<1B<)@^HrwHYak3)e>VW01_>Sj literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/39E7884F7DDEA9BE4FF9F7187898FACC466A080A.ips b/atmosphere/exefs_patches/es_patches/39E7884F7DDEA9BE4FF9F7187898FACC466A080A.ips new file mode 100644 index 0000000000000000000000000000000000000000..58fedcf3e98007db4835b29a3239dcfa1468bab7 GIT binary patch literal 35 mcmWG=3~}~g+snhi!pXoO!gi{Hfkj?{`6}C99|*(M-wgnSdI!h= literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/3B8BF56DBEC7225D2EE666B009C42C0DC4552010.ips b/atmosphere/exefs_patches/es_patches/3B8BF56DBEC7225D2EE666B009C42C0DC4552010.ips new file mode 100644 index 0000000000000000000000000000000000000000..3913f3261bddee78b04a6e2c5fbb83e62ad76e28 GIT binary patch literal 35 pcmWG=3~}~gx-f--MTCJtgz5Gk1{Qe*=BrE>zA&(`0YzN>-2k4~2z3Ae literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/4FB9AFAED8A9093A3D88F6D61158B1C165F9444A.ips b/atmosphere/exefs_patches/es_patches/4FB9AFAED8A9093A3D88F6D61158B1C165F9444A.ips new file mode 100644 index 0000000000000000000000000000000000000000..0f752a41e3473f9615a3ad7280a0cac01a687e85 GIT binary patch literal 17 YcmWG=3~}~g^LoR;@_<=>m8-uS04=2jHvj+t literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/5AA09E1AF740A91D0F73ADFAE81A63E8AC0610D2.ips b/atmosphere/exefs_patches/es_patches/5AA09E1AF740A91D0F73ADFAE81A63E8AC0610D2.ips new file mode 100644 index 0000000000000000000000000000000000000000..5ae3a996c8ab4f1e1f7dce13059138518e297566 GIT binary patch literal 35 mcmWG=3~}~gx?{k=!pXoO!u0Y71B<)@^HruhEf9vQzZ(FWVhHsB literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/621351EB04199CF0B7A899896C451F2FD1B7A1CE.ips b/atmosphere/exefs_patches/es_patches/621351EB04199CF0B7A899896C451F2FD1B7A1CE.ips new file mode 100644 index 0000000000000000000000000000000000000000..70753a8c9c50d32027dd495e91228118f67b0246 GIT binary patch literal 17 YcmWG=3~}~gOTNLt@_<=>m8-uS04?wZJOBUy literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/7135C20E752183914606CCE81293F24B738C3AEF.ips b/atmosphere/exefs_patches/es_patches/7135C20E752183914606CCE81293F24B738C3AEF.ips new file mode 100644 index 0000000000000000000000000000000000000000..5c7696e14455d5112e6f4c77726ef1361a8a03f2 GIT binary patch literal 35 rcmWG=3~}~g2tLEW!p^`T!Z1~bfkj?{`6|QI4-70{ndMix`nv%Di@*r4 literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/76935CA6235CA150D790D4DDF09CA3488AEF50D8.ips b/atmosphere/exefs_patches/es_patches/76935CA6235CA150D790D4DDF09CA3488AEF50D8.ips new file mode 100644 index 0000000000000000000000000000000000000000..3867f447d47b0b504d3c912f3e4c968ecc1847fa GIT binary patch literal 35 pcmWG=3~}~gaQ(x;!p^`T!jRp;z#^}}e3c<*1_KKRP{h^W4FH5g2HgMv literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/98BB737D9780E9FE3117981A77A09FF6756DBC2E.ips b/atmosphere/exefs_patches/es_patches/98BB737D9780E9FE3117981A77A09FF6756DBC2E.ips new file mode 100644 index 0000000000000000000000000000000000000000..de40cdec060fddd58659416ab616b63d5edd36af GIT binary patch literal 17 YcmWG=3~}~gmeOEgdB7~c%GKWu03*o+KmY&$ literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/9C1B205852731D054B070529D320AD9649E7796C.ips b/atmosphere/exefs_patches/es_patches/9C1B205852731D054B070529D320AD9649E7796C.ips new file mode 100644 index 0000000000000000000000000000000000000000..2622fb9fed68a80d84e41375b8571de4c9ee2040 GIT binary patch literal 35 qcmWG=3~}~g*&V>Z!pFcM!e-9Fz#^}}e3i}o2?NVlX8BdF{%!z$UkAnj literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/A6E7D98BD335371E1B9A96F6241EA3E83B0C36F4.ips b/atmosphere/exefs_patches/es_patches/A6E7D98BD335371E1B9A96F6241EA3E83B0C36F4.ips new file mode 100644 index 0000000000000000000000000000000000000000..7795b751abf52a4083c211e1039f2b95c6c29140 GIT binary patch literal 35 qcmWG=3~}~gh&5nfVP{|vVc1{6z#^}}e3jvV4Fk(pX8BdF{%!z&j|d6? literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/C0BFC6518707AC975295A0B656A051DA885A9045.ips b/atmosphere/exefs_patches/es_patches/C0BFC6518707AC975295A0B656A051DA885A9045.ips new file mode 100644 index 0000000000000000000000000000000000000000..7795b751abf52a4083c211e1039f2b95c6c29140 GIT binary patch literal 35 qcmWG=3~}~gh&5nfVP{|vVc1{6z#^}}e3jvV4Fk(pX8BdF{%!z&j|d6? literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/CBF2D40A2210C4EE1137F80098DB776EAC7DDCC1.ips b/atmosphere/exefs_patches/es_patches/CBF2D40A2210C4EE1137F80098DB776EAC7DDCC1.ips new file mode 100644 index 0000000000000000000000000000000000000000..413bf0dfdc3cff1a47372d51c596c4ecb7d0b77d GIT binary patch literal 35 qcmWG=3~}~g*&V>Z!pFcM!e(}Yfkj?{`6`?F5(bv9%<`*T{oMeG3kXF3 literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/CF8FB4F82D3E2D56720E1EDB14AB06543343E042.ips b/atmosphere/exefs_patches/es_patches/CF8FB4F82D3E2D56720E1EDB14AB06543343E042.ips new file mode 100644 index 0000000000000000000000000000000000000000..58fedcf3e98007db4835b29a3239dcfa1468bab7 GIT binary patch literal 35 mcmWG=3~}~g+snhi!pXoO!gi{Hfkj?{`6}C99|*(M-wgnSdI!h= literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/D0ECC9483E636AE19FE3E314DB41CB18019977D7.ips b/atmosphere/exefs_patches/es_patches/D0ECC9483E636AE19FE3E314DB41CB18019977D7.ips new file mode 100644 index 0000000000000000000000000000000000000000..c34eb38aaa522e096eeb20b9e5f487297dd0c846 GIT binary patch literal 17 YcmWG=3~}~g7S&*2dB7~c%GKWu03(tFI{*Lx literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/D2D2430244D162C9FAABE8C89A58C6E3962160F1.ips b/atmosphere/exefs_patches/es_patches/D2D2430244D162C9FAABE8C89A58C6E3962160F1.ips new file mode 100644 index 0000000000000000000000000000000000000000..3e552c4a7a8fb814be27580600467d41bbd4aa86 GIT binary patch literal 35 qcmWG=3~}~gxl+Ku!pFcM!Zx{sfkj?{`6}C#6b6>B%<`*T{oMeQV+gna literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/E581B1898637E5BC40DBC4AB8F0C6324447E05D1.ips b/atmosphere/exefs_patches/es_patches/E581B1898637E5BC40DBC4AB8F0C6324447E05D1.ips new file mode 100644 index 0000000000000000000000000000000000000000..413bf0dfdc3cff1a47372d51c596c4ecb7d0b77d GIT binary patch literal 35 qcmWG=3~}~g*&V>Z!pFcM!e(}Yfkj?{`6`?F5(bv9%<`*T{oMeG3kXF3 literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/F48ABC3EF41A0555800127D172C9B8D2C653243A.ips b/atmosphere/exefs_patches/es_patches/F48ABC3EF41A0555800127D172C9B8D2C653243A.ips new file mode 100644 index 0000000000000000000000000000000000000000..c1f150797ff3e04a970ee6d4cc814d9c1847af37 GIT binary patch literal 35 pcmWG=3~}~gddkAU!pXoO!u0+J1B<)@^Hrv&77Q#LKoM7eHvo_Z2bur? literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/F65FBA401BAC3CDDEA4917DE22E8B426B3A6C3AD.ips b/atmosphere/exefs_patches/es_patches/F65FBA401BAC3CDDEA4917DE22E8B426B3A6C3AD.ips new file mode 100644 index 0000000000000000000000000000000000000000..5fc5911ad16a23679d145bd032dafe097ea3d11a GIT binary patch literal 35 qcmWG=3~}~gxl+Ku!pFcM!ZzK5fkj?{`6}BC6$X~C%<`*T{oMeJp9nwz literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/F86D615F9FC6F0D16C3458BE58C64594DBDAB0DF.ips b/atmosphere/exefs_patches/es_patches/F86D615F9FC6F0D16C3458BE58C64594DBDAB0DF.ips new file mode 100644 index 0000000000000000000000000000000000000000..f34a7ed7875e485cbc3217840f5f9ae4cc07be0b GIT binary patch literal 35 qcmWG=3~}~gaNWYd!p^`T!jNObz#^}}e3cVVqy$7uT literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/es_patches/F92CFF283777465AFBCC6E160C10EFE7AADC4D3C.ips b/atmosphere/exefs_patches/es_patches/F92CFF283777465AFBCC6E160C10EFE7AADC4D3C.ips new file mode 100644 index 0000000000000000000000000000000000000000..f34a7ed7875e485cbc3217840f5f9ae4cc07be0b GIT binary patch literal 35 qcmWG=3~}~gaNWYd!p^`T!jNObz#^}}e3cVVqy$7uT literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/38774C42DFCB8B9D7AA61550D6AF7D335472556C.ips b/atmosphere/exefs_patches/nfim_ctest/38774C42DFCB8B9D7AA61550D6AF7D335472556C.ips new file mode 100644 index 0000000000000000000000000000000000000000..bb68a0987b9acab8c67036d048a9d44001b8e1f4 GIT binary patch literal 21 ccmWG=3~}~gFwbG&c)%>b>Hu^6HCKN(06|d(ng9R* literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/3AED90979B380C6415F975F5B784BEA2B4730E8C.ips b/atmosphere/exefs_patches/nfim_ctest/3AED90979B380C6415F975F5B784BEA2B4730E8C.ips new file mode 100644 index 0000000000000000000000000000000000000000..097c09db0cf019ea0ebb629e612871d651f8dcf3 GIT binary patch literal 21 ccmWG=3~}~g_hDe*c)%>b>Hu^6HCKN(06i22N&o-= literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/43F10952AE80CFADC39A0BF59EA4E552EF4A4528.ips b/atmosphere/exefs_patches/nfim_ctest/43F10952AE80CFADC39A0BF59EA4E552EF4A4528.ips new file mode 100644 index 0000000000000000000000000000000000000000..87d99d4e9073051dcff98ff70ac53d0144ffa9fe GIT binary patch literal 21 ccmWG=3~}~g_ib>Hu^6HCKN(06>%miU0rr literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/440F71259BCA1E97EA3663CBD6EC9315951F9E96.ips b/atmosphere/exefs_patches/nfim_ctest/440F71259BCA1E97EA3663CBD6EC9315951F9E96.ips new file mode 100644 index 0000000000000000000000000000000000000000..297d27970ff892cc5a192cfe2251d7968c69f6f9 GIT binary patch literal 21 ccmWG=3~~10;CjHo@qk%=)dA-CYp(uo07Zrd=>Px# literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/5835E2DADB4DD570DD811ABF521FA91AC3C7B717.ips b/atmosphere/exefs_patches/nfim_ctest/5835E2DADB4DD570DD811ABF521FA91AC3C7B717.ips new file mode 100644 index 0000000000000000000000000000000000000000..a4dd6d4c49391af76638fc1d9c8c5862ab4bd743 GIT binary patch literal 21 ccmWG=3~}~gFz;aCc)%>b>Hu^6HCKN(07BUYwg3PC literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/5DA461C7B6CAE6B88EDF4F914F7CBCF0943B10BB.ips b/atmosphere/exefs_patches/nfim_ctest/5DA461C7B6CAE6B88EDF4F914F7CBCF0943B10BB.ips new file mode 100644 index 0000000000000000000000000000000000000000..3be281b17041f0ea56895fcc36270ef1f75ff5c1 GIT binary patch literal 21 ccmWG=3~}~g_#VK(@qk%=)dA-CYp(uo080r6J^%m! literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/69E25CDEEED5C6520AC2AC8E5EAE01CD8FC46E40.ips b/atmosphere/exefs_patches/nfim_ctest/69E25CDEEED5C6520AC2AC8E5EAE01CD8FC46E40.ips new file mode 100644 index 0000000000000000000000000000000000000000..a26b00db8c6a17d5834201c2d84ae4c972a404cf GIT binary patch literal 21 ccmWG=3~}~gWS_&p@qk%=)dA-CYp(uo06{SZn*aa+ literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/6F02D68B1DCD2AFFBAED14B5933F81F3C327E537.ips b/atmosphere/exefs_patches/nfim_ctest/6F02D68B1DCD2AFFBAED14B5933F81F3C327E537.ips new file mode 100644 index 0000000000000000000000000000000000000000..9251fc1888ffd084c0594f3a85ff466e8bf31c91 GIT binary patch literal 21 ccmWG=3~}~gb>Hu^6HCKN(06EYG6aWAK literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/7A43F840337C28D453718843608EEFF78AFD460B.ips b/atmosphere/exefs_patches/nfim_ctest/7A43F840337C28D453718843608EEFF78AFD460B.ips new file mode 100644 index 0000000000000000000000000000000000000000..3bf834d59082466be29bf862a6b43e65691a3b2d GIT binary patch literal 21 ccmWG=3~}~g_`<-z@qk%=)dA-CYp(uo07iTU>i_@% literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/7DF07326B6B50CA37F19C1C44F9458406C536B30.ips b/atmosphere/exefs_patches/nfim_ctest/7DF07326B6B50CA37F19C1C44F9458406C536B30.ips new file mode 100644 index 0000000000000000000000000000000000000000..416cc89fab996e547d94235540cd3f00c2e01fdb GIT binary patch literal 21 ccmWG=3~}~gcyxe);{mh$ssqgN*IfPG08j1*nE(I) literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/881206E6B5078EFC4E2C30D7B33E33AD266538C6.ips b/atmosphere/exefs_patches/nfim_ctest/881206E6B5078EFC4E2C30D7B33E33AD266538C6.ips new file mode 100644 index 0000000000000000000000000000000000000000..a4dd6d4c49391af76638fc1d9c8c5862ab4bd743 GIT binary patch literal 21 ccmWG=3~}~gFz;aCc)%>b>Hu^6HCKN(07BUYwg3PC literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/8CB532EA199207191F04CE3DDECEC854C7CF07D6.ips b/atmosphere/exefs_patches/nfim_ctest/8CB532EA199207191F04CE3DDECEC854C7CF07D6.ips new file mode 100644 index 0000000000000000000000000000000000000000..9251fc1888ffd084c0594f3a85ff466e8bf31c91 GIT binary patch literal 21 ccmWG=3~}~gb>Hu^6HCKN(06EYG6aWAK literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/929014BFCFE462FD76B2BB3454FB304F63C73AC2.ips b/atmosphere/exefs_patches/nfim_ctest/929014BFCFE462FD76B2BB3454FB304F63C73AC2.ips new file mode 100644 index 0000000000000000000000000000000000000000..882f5d6497a3044df5d5ba77221aca582fd0aa6b GIT binary patch literal 21 ccmWG=3~}~g&sAXHc)%>b>Hu^6HCKN(06@bAivR!s literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/9C72C47F0310F7C9F487047D8EB42DBB96882088.ips b/atmosphere/exefs_patches/nfim_ctest/9C72C47F0310F7C9F487047D8EB42DBB96882088.ips new file mode 100644 index 0000000000000000000000000000000000000000..416cc89fab996e547d94235540cd3f00c2e01fdb GIT binary patch literal 21 ccmWG=3~}~gcyxe);{mh$ssqgN*IfPG08j1*nE(I) literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/A188828ADF447425D97901462EBF732D2E29BC4E.ips b/atmosphere/exefs_patches/nfim_ctest/A188828ADF447425D97901462EBF732D2E29BC4E.ips new file mode 100644 index 0000000000000000000000000000000000000000..27c5328dc6add61e19016ba0337854078a521f1c GIT binary patch literal 21 ccmWG=3~}~gpKrpz@qk%=)dA-CYp(uo07S_K(EtDd literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/A2C3AEE4E5A954908BEBAEDEA2010095E9E521B2.ips b/atmosphere/exefs_patches/nfim_ctest/A2C3AEE4E5A954908BEBAEDEA2010095E9E521B2.ips new file mode 100644 index 0000000000000000000000000000000000000000..77865f27787352cc8dc9e00aa865674a6cf52e8f GIT binary patch literal 21 ccmWG=3~}~gU-5u};{mh$ssqgN*IfPG08Y3Eh5!Hn literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/A85F50FBA10E06A3EBA3D3FACB9E075B218C7D6D.ips b/atmosphere/exefs_patches/nfim_ctest/A85F50FBA10E06A3EBA3D3FACB9E075B218C7D6D.ips new file mode 100644 index 0000000000000000000000000000000000000000..a26b00db8c6a17d5834201c2d84ae4c972a404cf GIT binary patch literal 21 ccmWG=3~}~gWS_&p@qk%=)dA-CYp(uo06{SZn*aa+ literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/AD32FB6D8F36668C586E538E32576A8D6A3931C0.ips b/atmosphere/exefs_patches/nfim_ctest/AD32FB6D8F36668C586E538E32576A8D6A3931C0.ips new file mode 100644 index 0000000000000000000000000000000000000000..4f1bc29031a8c93051db90f56a7961f26cee42a5 GIT binary patch literal 21 ccmWG=3~}~gFuuaT@qk%=)dA-CYp(uo07k_I{r~^~ literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/B6966381A806655B718F1BF11DB5FF836E3085F7.ips b/atmosphere/exefs_patches/nfim_ctest/B6966381A806655B718F1BF11DB5FF836E3085F7.ips new file mode 100644 index 0000000000000000000000000000000000000000..f8f37fb6c6d2083cd4252d49607404b7332660e1 GIT binary patch literal 21 ccmWG=3~}~g;xJ&~c)%>b>Hu^6HCKN(06S;~F#rGn literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/BA91B5A61E423F51FB83B2C9E6C153CC5AE27DCB.ips b/atmosphere/exefs_patches/nfim_ctest/BA91B5A61E423F51FB83B2C9E6C153CC5AE27DCB.ips new file mode 100644 index 0000000000000000000000000000000000000000..1c49ccb6e6ba9bffc8234ba8805d04d8a1b6c484 GIT binary patch literal 21 ccmWG=3~}~gapqy*c)%>b>Hu^6HCKN(06hf;N&o-= literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/D47D1506009B340829CD545B2A3F3AA7881FBADA.ips b/atmosphere/exefs_patches/nfim_ctest/D47D1506009B340829CD545B2A3F3AA7881FBADA.ips new file mode 100644 index 0000000000000000000000000000000000000000..c204c64ed598265a04b7aae3165c3ee102760806 GIT binary patch literal 21 ccmWG=3~}~gF!W*Ic)%>b>Hu^6HCKN(06#YdbN~PV literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/D82361E0D66DC01AFA3B5116532E5E1ED569C578.ips b/atmosphere/exefs_patches/nfim_ctest/D82361E0D66DC01AFA3B5116532E5E1ED569C578.ips new file mode 100644 index 0000000000000000000000000000000000000000..9e8192a2fba400598bef2d5be51b96595ae501f5 GIT binary patch literal 21 ccmWG=3~}~g;yA#-@qk%=)dA-CYp(uo07FOy!2kdN literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/E6BFDADD5C69E17D43B7C67E2B2EE8B2E50C8E1F.ips b/atmosphere/exefs_patches/nfim_ctest/E6BFDADD5C69E17D43B7C67E2B2EE8B2E50C8E1F.ips new file mode 100644 index 0000000000000000000000000000000000000000..3a2d407b9ccb80434764e0723d21b6f963a462a0 GIT binary patch literal 21 ccmWG=3~}~gFqy%?@qk%=)dA-CYp(uo07Hxh!vFvP literal 0 HcmV?d00001 diff --git a/atmosphere/exefs_patches/nfim_ctest/FD53CB863709DFFEC19C0889F61D4C424AFFD4ED.ips b/atmosphere/exefs_patches/nfim_ctest/FD53CB863709DFFEC19C0889F61D4C424AFFD4ED.ips new file mode 100644 index 0000000000000000000000000000000000000000..64d4a5178a4735c546ef5698a62f9b5eab2ff13e GIT binary patch literal 21 ccmWG=3~}~gZ&P64c)%>b>Hu^6HCKN(075zjqyPW_ literal 0 HcmV?d00001 diff --git a/atmosphere/hbl.nsp b/atmosphere/hbl.nsp new file mode 100644 index 0000000000000000000000000000000000000000..7b65382b0bc3b38f5dccf66439a16c874ece2bc3 GIT binary patch literal 41554 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

26Z? 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 HuKsQSH^&o3 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/06E90719595A010C6246FF70946F10FB367A00BBD8B7D8D1F25CCE0B458D7E89.ips b/atmosphere/kip_patches/fs_patches/06E90719595A010C6246FF70946F10FB367A00BBD8B7D8D1F25CCE0B458D7E89.ips new file mode 100644 index 0000000000000000000000000000000000000000..95e7d69acc92cef38fd41a37ae3fe2cbd7916730 GIT binary patch literal 80 zcmWG=3~}~gJetD5@_<=hi}C0m2!plCgn>m~f%z)iF$XB)bO?mOF17*6kUIlqq%c4j HuKsQSH^&o3 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/073099D7C6AD7D8983BC7ADD932BE3D1243193792E0920955DBC17F5794FDE28.ips b/atmosphere/kip_patches/fs_patches/073099D7C6AD7D8983BC7ADD932BE3D1243193792E0920955DBC17F5794FDE28.ips new file mode 100644 index 0000000000000000000000000000000000000000..3705884852a09348c0d91cb32f2c847f542d85d2 GIT binary patch literal 80 zcmWG=3~}~g?EAsM@_<=hi?M$Kgu$}Fgn>m~f%z)y<|$Cd4xkiRgw+X03ZGXxBvhE literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/0D7005627B07767C0B963F9AFFDDE56628A27116CFC4D8B2AF42BDEEBF97205B.ips b/atmosphere/kip_patches/fs_patches/0D7005627B07767C0B963F9AFFDDE56628A27116CFC4D8B2AF42BDEEBF97205B.ips new file mode 100644 index 0000000000000000000000000000000000000000..fc8ce6dd008b53e7066f8718bda40f2b178eea5c GIT binary patch literal 84 zcmWG=3~}~gj6cJ`@_<=hi!mVu!eIXWgMmd}f%z)S8xVV`b_mq~ literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/330553F6B5FB55C4C2D7B736240276B3EAD664DA79826FA936F99803B6C28F3B.ips b/atmosphere/kip_patches/fs_patches/330553F6B5FB55C4C2D7B736240276B3EAD664DA79826FA936F99803B6C28F3B.ips new file mode 100644 index 0000000000000000000000000000000000000000..8174d6cdb727a6701294fe7fa5a3577c0c13ff1f GIT binary patch literal 98 zcmWG=3~}~gKV`ze@_<=hi~ZCJ2!lVPhk-?2f%&SyjxSKg-X9Q#pcPOtNJ`Lo4wT_? R2g=x_0cC6sfiPVC-2nbx87Ke% literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/34C0D9ED6AD1873DCD02F1C12AFA20546D033EFB1D8EB9B7A8E5ABAB71F39F43.ips b/atmosphere/kip_patches/fs_patches/34C0D9ED6AD1873DCD02F1C12AFA20546D033EFB1D8EB9B7A8E5ABAB71F39F43.ips new file mode 100644 index 0000000000000000000000000000000000000000..e1a8e20e401d5d290ab2da2a076ee3ef22436780 GIT binary patch literal 26 hcmWG=3~}~gd$WXr;I`ZUA9E2Q~lz literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/549B0F8D6F72C4E9F3FD1F19EACE4A5A1DA2D5C393F74224F8BC09DE4AAA4217.ips b/atmosphere/kip_patches/fs_patches/549B0F8D6F72C4E9F3FD1F19EACE4A5A1DA2D5C393F74224F8BC09DE4AAA4217.ips new file mode 100644 index 0000000000000000000000000000000000000000..95e7d69acc92cef38fd41a37ae3fe2cbd7916730 GIT binary patch literal 80 zcmWG=3~}~gJetD5@_<=hi}C0m2!plCgn>m~f%z)iF$XB)bO?mOF17*6kUIlqq%c4j HuKsQSH^&o3 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/56E856566C38D8BEA79A70FF6F9756804CFF57907E2EAC7BD8E9C1FC1C7B96CE.ips b/atmosphere/kip_patches/fs_patches/56E856566C38D8BEA79A70FF6F9756804CFF57907E2EAC7BD8E9C1FC1C7B96CE.ips new file mode 100644 index 0000000000000000000000000000000000000000..e9163f03d895b52fb9dac707dd7765b54bc43d2b GIT binary patch literal 26 hcmWG=3~}~g`@zD%@_<=hOQc7Kfkj?{`KqhG8vt0624nyL literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/57397C063F10B6313F4D837653CCC371BE2158BF6DD889326648D5C83D50CECF.ips b/atmosphere/kip_patches/fs_patches/57397C063F10B6313F4D837653CCC371BE2158BF6DD889326648D5C83D50CECF.ips new file mode 100644 index 0000000000000000000000000000000000000000..3705884852a09348c0d91cb32f2c847f542d85d2 GIT binary patch literal 80 zcmWG=3~}~g?EAsM@_<=hi?M$Kgu$}Fgn>m~f%z)y<|$Cd4xkiR%0!r=E>!oVW0z;I`ZUA9E2Q~lz literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/76F87402C9387C0F0A2FAB1B45CEBB93E3E9695C7CFD390F00509B1204101C24.ips b/atmosphere/kip_patches/fs_patches/76F87402C9387C0F0A2FAB1B45CEBB93E3E9695C7CFD390F00509B1204101C24.ips new file mode 100644 index 0000000000000000000000000000000000000000..6bbf2afe3395771a84460d2b89281ea6d12f420b GIT binary patch literal 98 zcmWG=3~}~g(wo7+@_<=hi%Fjc!eGCdz`!D}z;I`ZUA9E2Q~lz literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/8096AF7C6A35AA8271F3916995413B0B64CE03BD9BBFEB26F2B3E01C5427C69E.ips b/atmosphere/kip_patches/fs_patches/8096AF7C6A35AA8271F3916995413B0B64CE03BD9BBFEB26F2B3E01C5427C69E.ips new file mode 100644 index 0000000000000000000000000000000000000000..95e7d69acc92cef38fd41a37ae3fe2cbd7916730 GIT binary patch literal 80 zcmWG=3~}~gJetD5@_<=hi}C0m2!plCgn>m~f%z)iF$XB)bO?mOF17*6kUIlqq%c4j HuKsQSH^&o3 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/817EA2B0B702C1F37EC5E0A7A61F745440422037DAA3537CEF4E856C40273F78.ips b/atmosphere/kip_patches/fs_patches/817EA2B0B702C1F37EC5E0A7A61F745440422037DAA3537CEF4E856C40273F78.ips new file mode 100644 index 0000000000000000000000000000000000000000..4ac0afdb889d4e81e44cf2fc4a6cf2494c38bd82 GIT binary patch literal 17 YcmWG=3~~10J*dFIBCo)F)z#k(04AjbQ~&?~ literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/887AC150806C75CCC40DA0AA98CC09B3E468E6C78F315F927FBEDD91B16DE27A.ips b/atmosphere/kip_patches/fs_patches/887AC150806C75CCC40DA0AA98CC09B3E468E6C78F315F927FBEDD91B16DE27A.ips new file mode 100644 index 0000000000000000000000000000000000000000..6e91643b26123a492c9dab80d1977efd02014755 GIT binary patch literal 26 hcmWG=3~}}lYC6NfBCo)Fm3=M)1Iq(uc`a9eHvnAN2ATi> literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/91BA65A21C1D50AEF6E6B535B491A36CD1B2DFB2DA2F0AB4A93F03097BB894E0.ips b/atmosphere/kip_patches/fs_patches/91BA65A21C1D50AEF6E6B535B491A36CD1B2DFB2DA2F0AB4A93F03097BB894E0.ips new file mode 100644 index 0000000000000000000000000000000000000000..5887b10c140594f7246919cf9ee06cc53c55f32d GIT binary patch literal 26 hcmWG=3~~10`=Y?WBCo)Fm3{pQ29^iR@>;I`ZUA9E2Q~lz literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/981C57E7F02F70F7BCDE753181D901A62A2452B04F5C5FB86500A2172CC44641.ips b/atmosphere/kip_patches/fs_patches/981C57E7F02F70F7BCDE753181D901A62A2452B04F5C5FB86500A2172CC44641.ips new file mode 100644 index 0000000000000000000000000000000000000000..268666ecd5fa5cbcc351b9f5ba99a8f2f4c3538e GIT binary patch literal 80 zcmWG=3~}~g?CW7*dB7~M#n`U`VX(|U!N4M~zaeuKNAzw literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/A6F27AD9AC7C73AD419B63B23E785A0CD7AA9DC1A63C57D10049423DE7B77E2C.ips b/atmosphere/kip_patches/fs_patches/A6F27AD9AC7C73AD419B63B23E785A0CD7AA9DC1A63C57D10049423DE7B77E2C.ips new file mode 100644 index 0000000000000000000000000000000000000000..edb246f2432c12f343d6fe4dc1ac5df34532544b GIT binary patch literal 98 zcmWG=3~}~g(#v3AdB7~M#iVx!!eGBTfq_L{f%z)O*9s`(R|kZ_888LPhy*GIso{*4 RfijMtfHF>efiPVC-2l@F8JYk9 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/A86DA5E87EF1097B23DAB5B4DBBAEFE780310AE643D319D6A7A149B9688651A5.ips b/atmosphere/kip_patches/fs_patches/A86DA5E87EF1097B23DAB5B4DBBAEFE780310AE643D319D6A7A149B9688651A5.ips new file mode 100644 index 0000000000000000000000000000000000000000..268666ecd5fa5cbcc351b9f5ba99a8f2f4c3538e GIT binary patch literal 80 zcmWG=3~}~g?CW7*dB7~M#n`U`VX(|U!N4M~zaeuKNAzw literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/A952B657ADF9C2BA1434BA9B8B86F3317D20659A8AC8510D8ECF4CE1BD7593E2.ips b/atmosphere/kip_patches/fs_patches/A952B657ADF9C2BA1434BA9B8B86F3317D20659A8AC8510D8ECF4CE1BD7593E2.ips new file mode 100644 index 0000000000000000000000000000000000000000..1f7195e5540fbad1c58595876f8e904a9db353a2 GIT binary patch literal 17 YcmWG=3~~10J=(y)BCo)F)z#k(04k9LxBvhE literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/B2F5176B3548364D079A29B141A23B06AFFF5A98055576D5F337A621C0233CE3.ips b/atmosphere/kip_patches/fs_patches/B2F5176B3548364D079A29B141A23B06AFFF5A98055576D5F337A621C0233CE3.ips new file mode 100644 index 0000000000000000000000000000000000000000..3613b6aa347b54e89b5bafe337697d5354055dd9 GIT binary patch literal 35 mcmWG=3~}~gPrkyy@_<=hi#>%0!r;F%g@Hw0f%&SdzZ(Fe8VLFT literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/B4CAE1F24965D92ED24EBE9E97F609C363834471BF18CA375CB6A1DEB77755EA.ips b/atmosphere/kip_patches/fs_patches/B4CAE1F24965D92ED24EBE9E97F609C363834471BF18CA375CB6A1DEB77755EA.ips new file mode 100644 index 0000000000000000000000000000000000000000..580940b16773b85e654e50f1c70636169f68cbfc GIT binary patch literal 35 mcmWG=3~~10kZfUKdB7~M#UZ%|!Vq8xVPKJ0V7}_=?*;&jcL%Hh literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/B5E7A64C6F5C4FE319C36FD7D642F75B0159771671F73082448ACE30BD6BAE89.ips b/atmosphere/kip_patches/fs_patches/B5E7A64C6F5C4FE319C36FD7D642F75B0159771671F73082448ACE30BD6BAE89.ips new file mode 100644 index 0000000000000000000000000000000000000000..c383603fd0e9fc4e10389240627b3d5284f1cd8f GIT binary patch literal 35 mcmWG=3~}~glTTq_dB7~M#U?)o!r)mLz`!D}zIe-0 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/C86762BE19A51FA0C737AE921A816846605A64739523B4894F847BBED59E31EA.ips b/atmosphere/kip_patches/fs_patches/C86762BE19A51FA0C737AE921A816846605A64739523B4894F847BBED59E31EA.ips new file mode 100644 index 0000000000000000000000000000000000000000..17c889ab794876920943237d4ec51b702eda7b4e GIT binary patch literal 17 YcmWG=3~~10+i$_ZBCo)F)z#k(04IwCYXATM literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/CD7BBE18D6130B28F62F19FA7945535B6829EFE64EF4AAF0DF8DA19885FE4A9A.ips b/atmosphere/kip_patches/fs_patches/CD7BBE18D6130B28F62F19FA7945535B6829EFE64EF4AAF0DF8DA19885FE4A9A.ips new file mode 100644 index 0000000000000000000000000000000000000000..82d16afa5d41f920f4ca5011a5639a19667c29a8 GIT binary patch literal 84 zcmWG=3~}~gjEiAldB7~M#TfSm!eIWPz`!D}zmefiPVC-2l@F8JYk9 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/CFAB450C2C539DA947D0A12A9DE10911FA539A348B7C3D64CE9BA74D9E0355DE.ips b/atmosphere/kip_patches/fs_patches/CFAB450C2C539DA947D0A12A9DE10911FA539A348B7C3D64CE9BA74D9E0355DE.ips new file mode 100644 index 0000000000000000000000000000000000000000..cacea35735a37ccae34e1917ef55e0deaade624a GIT binary patch literal 26 hcmWG=3~}~g`@zD%@_<=hOVpBwfkj?{`KqhG8vs+y1@Zs@ literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/D0D4491814B562AF61ABD52E4BF0989405AF741A5C7C033AB3EB0EC8680AD98F.ips b/atmosphere/kip_patches/fs_patches/D0D4491814B562AF61ABD52E4BF0989405AF741A5C7C033AB3EB0EC8680AD98F.ips new file mode 100644 index 0000000000000000000000000000000000000000..31ce2bd01e9ffc691a52ed65cd04d689f8e68359 GIT binary patch literal 26 hcmWG=3~}~gd$WXr<1kmAU%60RW}X7{CAk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/E1E8D3D6A2FE0B102CC79F8310EEEF66E5D14BCA2ED73454455FD87C615EEDC0.ips b/atmosphere/kip_patches/fs_patches/E1E8D3D6A2FE0B102CC79F8310EEEF66E5D14BCA2ED73454455FD87C615EEDC0.ips new file mode 100644 index 0000000000000000000000000000000000000000..17c889ab794876920943237d4ec51b702eda7b4e GIT binary patch literal 17 YcmWG=3~~10+i$_ZBCo)F)z#k(04IwCYXATM literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/E399156E844EB0AA3CC5152979961C879F5E90696C1224A1BBE0FF1BCDBFD7DC.ips b/atmosphere/kip_patches/fs_patches/E399156E844EB0AA3CC5152979961C879F5E90696C1224A1BBE0FF1BCDBFD7DC.ips new file mode 100644 index 0000000000000000000000000000000000000000..2ccc899f1e7ded847380c97256ee4136f5181e9f GIT binary patch literal 17 YcmWG=3~~10GZ0~5kyl{8>gw+X03ZGXxBvhE literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/fs_patches/E76692DFAA0420E9FDD68E436316181814CBD72E915E153174332C6BEAA41FC3.ips b/atmosphere/kip_patches/fs_patches/E76692DFAA0420E9FDD68E436316181814CBD72E915E153174332C6BEAA41FC3.ips new file mode 100644 index 0000000000000000000000000000000000000000..82d16afa5d41f920f4ca5011a5639a19667c29a8 GIT binary patch literal 84 zcmWG=3~}~gjEiAldB7~M#TfSm!eIWPz`!D}zmIe-0 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/0CDAA07AA6662015EDC1EE168E04582C551A52BACAFA4E8A5D34B88BA6B7BB6C.ips b/atmosphere/kip_patches/loader_patches/0CDAA07AA6662015EDC1EE168E04582C551A52BACAFA4E8A5D34B88BA6B7BB6C.ips new file mode 100644 index 0000000000000000000000000000000000000000..7eb8b7a64e47d0d5768cc4b1620080ab64164ff9 GIT binary patch literal 24 fcmWG=3~}~gke|Z9qQKA)#E_K9!1RaN)!z*OM7ssR literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/0E41C033A98F85D2D746F918E6DB8C58B9F0B25B6A847F9271019D81B3AEC8C4.ips b/atmosphere/kip_patches/loader_patches/0E41C033A98F85D2D746F918E6DB8C58B9F0B25B6A847F9271019D81B3AEC8C4.ips new file mode 100644 index 0000000000000000000000000000000000000000..45de2bbadc3943ce122b8a127bf91ac6886efd50 GIT binary patch literal 14 VcmWG=3~}~gh`PnV$l&Vl1^^q{1AqVk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/0EAF7E159D3BE0969637FFEBD413399DFEE366E615A290418E56838122135EB9.ips b/atmosphere/kip_patches/loader_patches/0EAF7E159D3BE0969637FFEBD413399DFEE366E615A290418E56838122135EB9.ips new file mode 100644 index 0000000000000000000000000000000000000000..5cec6869063f5f16baa977c24451d5561ec959f4 GIT binary patch literal 14 VcmWG=3~}~gh literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/20EFF0183DA095635F99E8978A90C27C7D3F42E6504DF328F42ACC280EB05D1B.ips b/atmosphere/kip_patches/loader_patches/20EFF0183DA095635F99E8978A90C27C7D3F42E6504DF328F42ACC280EB05D1B.ips new file mode 100644 index 0000000000000000000000000000000000000000..4d43b73aedd1a8b55b195ba8512b476fcbf09dc8 GIT binary patch literal 26 hcmWG=3~}~gkO^U6QDA5YV#v&4V3Ai~zUu1l1^`G51)%@{ literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/21339e8812a1fbdd4b097d10b9bfbfbf921b65e187739382fbccccecd64d93e0.ips b/atmosphere/kip_patches/loader_patches/21339e8812a1fbdd4b097d10b9bfbfbf921b65e187739382fbccccecd64d93e0.ips new file mode 100644 index 0000000000000000000000000000000000000000..40d2e2159199c2d8856562baadfc099cb129d4f5 GIT binary patch literal 14 VcmWG=3~}~g$h*bB$l&Vl1^^s-1C#&& literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/24589247BF87BAD1C56EC1A5D85D2C1FC6A0B6B8485EBECF5F6E872DB0B1A6FE.ips b/atmosphere/kip_patches/loader_patches/24589247BF87BAD1C56EC1A5D85D2C1FC6A0B6B8485EBECF5F6E872DB0B1A6FE.ips new file mode 100644 index 0000000000000000000000000000000000000000..4d43b73aedd1a8b55b195ba8512b476fcbf09dc8 GIT binary patch literal 26 hcmWG=3~}~gkO^U6QDA5YV#v&4V3Ai~zUu1l1^`G51)%@{ literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/299b246d5de84d97cbd0dc4be27789eb8bdf23d08a5af8d60220ae085dd3d9cc.ips b/atmosphere/kip_patches/loader_patches/299b246d5de84d97cbd0dc4be27789eb8bdf23d08a5af8d60220ae085dd3d9cc.ips new file mode 100644 index 0000000000000000000000000000000000000000..40d2e2159199c2d8856562baadfc099cb129d4f5 GIT binary patch literal 14 VcmWG=3~}~g$h*bB$l&Vl1^^s-1C#&& literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/29CA1C792CF3AB6357929DF0627170FF8EA1CC057DBE2E5C58ADD8A442BD0CA8.ips b/atmosphere/kip_patches/loader_patches/29CA1C792CF3AB6357929DF0627170FF8EA1CC057DBE2E5C58ADD8A442BD0CA8.ips new file mode 100644 index 0000000000000000000000000000000000000000..8d783de77f89c479da7d3697a5443a7292df65c1 GIT binary patch literal 30 lcmWG=3~}~gNN`}_P+(}dbbvYj8bfXf1B<)@^Ho=WHvoJ|2sr=% literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/368B15946BBCFCC3230D8DED8C420B6DB7A06F9EAFC9E07A265F90426723EC4F.ips b/atmosphere/kip_patches/loader_patches/368B15946BBCFCC3230D8DED8C420B6DB7A06F9EAFC9E07A265F90426723EC4F.ips new file mode 100644 index 0000000000000000000000000000000000000000..cae01bc3365da588b1610f1f0294b06b73273c4e GIT binary patch literal 14 VcmWG=3~}~gh~CD)$l&Vl1^^o716=?B literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/384286127A10E36F98D5BC1E3A8454DF112572ECC342A366957270362700E787.ips b/atmosphere/kip_patches/loader_patches/384286127A10E36F98D5BC1E3A8454DF112572ECC342A366957270362700E787.ips new file mode 100644 index 0000000000000000000000000000000000000000..4d43b73aedd1a8b55b195ba8512b476fcbf09dc8 GIT binary patch literal 26 hcmWG=3~}~gkO^U6QDA5YV#v&4V3Ai~zUu1l1^`G51)%@{ literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/39C8A75B9C85222193B724EC5DFEE0C68DF07ED0ACBC7B4A0F241A5DF6CC4B99.ips b/atmosphere/kip_patches/loader_patches/39C8A75B9C85222193B724EC5DFEE0C68DF07ED0ACBC7B4A0F241A5DF6CC4B99.ips new file mode 100644 index 0000000000000000000000000000000000000000..f7e30e9cdea829678a2a16843ae37f5974f7d9b4 GIT binary patch literal 14 VcmWG=3~}~g$kJk9WN`I&0{|C_0^k4u literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/3EF3ADCE3A853DB287C90B1AA00EC2BD30008CC3968FF0A78BFDCE7091D56C94.ips b/atmosphere/kip_patches/loader_patches/3EF3ADCE3A853DB287C90B1AA00EC2BD30008CC3968FF0A78BFDCE7091D56C94.ips new file mode 100644 index 0000000000000000000000000000000000000000..45de2bbadc3943ce122b8a127bf91ac6886efd50 GIT binary patch literal 14 VcmWG=3~}~gh`PnV$l&Vl1^^q{1AqVk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/4A2DD3F1BE238FA3F56B603240611C63664793EFC3D57E4B42D3786ECEC5B1DF.ips b/atmosphere/kip_patches/loader_patches/4A2DD3F1BE238FA3F56B603240611C63664793EFC3D57E4B42D3786ECEC5B1DF.ips new file mode 100644 index 0000000000000000000000000000000000000000..16ce98a5817a71dae5ba8962ff997648cc6bc374 GIT binary patch literal 14 VcmWG=3~}~gNGM}qWN`I&0{|IL10nzb literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/4AA57ABADF2922FB9E414AFB8E7BB9554548878EC4A0A11800B3FB4C53501424.ips b/atmosphere/kip_patches/loader_patches/4AA57ABADF2922FB9E414AFB8E7BB9554548878EC4A0A11800B3FB4C53501424.ips new file mode 100644 index 0000000000000000000000000000000000000000..2c4ea99a24baea872d649744b3acd0edc81da152 GIT binary patch literal 14 VcmWG=3~}~gNI1s8$l&Vl1^^p=19AWW literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/4CE5C4B154617D29796F5C231F707E6EE28C90608EFA7ABCCA5BE1F86A12E85B.ips b/atmosphere/kip_patches/loader_patches/4CE5C4B154617D29796F5C231F707E6EE28C90608EFA7ABCCA5BE1F86A12E85B.ips new file mode 100644 index 0000000000000000000000000000000000000000..45de2bbadc3943ce122b8a127bf91ac6886efd50 GIT binary patch literal 14 VcmWG=3~}~gh`PnV$l&Vl1^^q{1AqVk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/4D9C6D6993BF5BF058843BE072C9819598865C79BF87674C63B6D248FA7A0BA4.ips b/atmosphere/kip_patches/loader_patches/4D9C6D6993BF5BF058843BE072C9819598865C79BF87674C63B6D248FA7A0BA4.ips new file mode 100644 index 0000000000000000000000000000000000000000..d367ae1f71f389fc5ab819959a81b0c1d5998cf8 GIT binary patch literal 26 hcmWG=3~}~gkWpb^QDA5YV#qkdz#^}}eAU(84FE_n1<(Kh literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/5361CBE7071B08CC585D4ED5978302A16B65F6C021A8DE945BF06268535E209D.ips b/atmosphere/kip_patches/loader_patches/5361CBE7071B08CC585D4ED5978302A16B65F6C021A8DE945BF06268535E209D.ips new file mode 100644 index 0000000000000000000000000000000000000000..45de2bbadc3943ce122b8a127bf91ac6886efd50 GIT binary patch literal 14 VcmWG=3~}~gh`PnV$l&Vl1^^q{1AqVk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/55B9D4F35EB7C68589C35D8A5752B31F02664020BF29D4F185168B2C4D713F9D.ips b/atmosphere/kip_patches/loader_patches/55B9D4F35EB7C68589C35D8A5752B31F02664020BF29D4F185168B2C4D713F9D.ips new file mode 100644 index 0000000000000000000000000000000000000000..cae01bc3365da588b1610f1f0294b06b73273c4e GIT binary patch literal 14 VcmWG=3~}~gh~CD)$l&Vl1^^o716=?B literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/57F03DC120EE515C58482959AB4F76F2B5E56467A377D9576A8BDBE22E3CA2EA.ips b/atmosphere/kip_patches/loader_patches/57F03DC120EE515C58482959AB4F76F2B5E56467A377D9576A8BDBE22E3CA2EA.ips new file mode 100644 index 0000000000000000000000000000000000000000..04a669dd23241039f298672f63c013dd31f05ad6 GIT binary patch literal 43 ocmWG=3~}~gi2A_5p}^2^=>T*5HHI_=Bo5ON1{R=9kgLBN03I6*y8r+H literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/58F3B8A5D17DA70DE3AE4F7F5D511DF68A40CD5BC25485FB3F2C33363CA43601.ips b/atmosphere/kip_patches/loader_patches/58F3B8A5D17DA70DE3AE4F7F5D511DF68A40CD5BC25485FB3F2C33363CA43601.ips new file mode 100644 index 0000000000000000000000000000000000000000..876d91f969a25c7d2858c8d8df9f609b6c194bdc GIT binary patch literal 14 VcmWG=3~}~gh&si<$l&Vl1^^ps18@KU literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/5D78D0A6456CD4E1F5CA0240C6A3B24D525C70FC0F9407851FD8EF81067F9386.ips b/atmosphere/kip_patches/loader_patches/5D78D0A6456CD4E1F5CA0240C6A3B24D525C70FC0F9407851FD8EF81067F9386.ips new file mode 100644 index 0000000000000000000000000000000000000000..b667d7821dd83d8ec8fe9141bec7f747c7814d90 GIT binary patch literal 14 VcmWG=3~}~gNJwK~WN`I&0{|G_0}=oL literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/6DEC1E6A79DA5B2E506499AEFA921CC39846BC72F7B8DBE2DE24321110054564.ips b/atmosphere/kip_patches/loader_patches/6DEC1E6A79DA5B2E506499AEFA921CC39846BC72F7B8DBE2DE24321110054564.ips new file mode 100644 index 0000000000000000000000000000000000000000..cae01bc3365da588b1610f1f0294b06b73273c4e GIT binary patch literal 14 VcmWG=3~}~gh~CD)$l&Vl1^^o716=?B literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/6F6F028EBDCA8EAD0822CC4C8BC9B57D0946666C46CD78405827C23205631EC6.ips b/atmosphere/kip_patches/loader_patches/6F6F028EBDCA8EAD0822CC4C8BC9B57D0946666C46CD78405827C23205631EC6.ips new file mode 100644 index 0000000000000000000000000000000000000000..0829b07faf484bc7beebc9d7bbd3ceea3b236f52 GIT binary patch literal 14 VcmWG=3~}~gh literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/7D100543BB7A975966B993F210CD8B6A1709B57131C893084C65C220C683456A.ips b/atmosphere/kip_patches/loader_patches/7D100543BB7A975966B993F210CD8B6A1709B57131C893084C65C220C683456A.ips new file mode 100644 index 0000000000000000000000000000000000000000..b667d7821dd83d8ec8fe9141bec7f747c7814d90 GIT binary patch literal 14 VcmWG=3~}~gNJwK~WN`I&0{|G_0}=oL literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/81530982b7d79dbc8c8824c8f72a33edd8cfcf8e485a0d3bb000e1bddbffbfc3.ips b/atmosphere/kip_patches/loader_patches/81530982b7d79dbc8c8824c8f72a33edd8cfcf8e485a0d3bb000e1bddbffbfc3.ips new file mode 100644 index 0000000000000000000000000000000000000000..48ebf1b1218b20c980bd36ecd0cddf05fe56593f GIT binary patch literal 14 VcmWG=3~}~g$eYE$$l&Vl1^^nm15^M2 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/82CB02F144430435FEA3A54B744F1C0609C267A677C9CEBA7D04E53FF69FD8E8.ips b/atmosphere/kip_patches/loader_patches/82CB02F144430435FEA3A54B744F1C0609C267A677C9CEBA7D04E53FF69FD8E8.ips new file mode 100644 index 0000000000000000000000000000000000000000..16ce98a5817a71dae5ba8962ff997648cc6bc374 GIT binary patch literal 14 VcmWG=3~}~gNGM}qWN`I&0{|IL10nzb literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/87d1baba23c9d81ee8b619ba9adafb628e4172a48c78026b71fc3c5695f4ec53.ips b/atmosphere/kip_patches/loader_patches/87d1baba23c9d81ee8b619ba9adafb628e4172a48c78026b71fc3c5695f4ec53.ips new file mode 100644 index 0000000000000000000000000000000000000000..f9c306e15494cc94fac12c4a14ebb908c0b696fd GIT binary patch literal 14 VcmWG=3~}~gh}^}%$l&Vl1^^oJ1783D literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/8CA78EAD6C6029367AAC65728E18FD367678CC2E79B6BFC97A2369B0D62323E2.ips b/atmosphere/kip_patches/loader_patches/8CA78EAD6C6029367AAC65728E18FD367678CC2E79B6BFC97A2369B0D62323E2.ips new file mode 100644 index 0000000000000000000000000000000000000000..8cdc219352fae297231dc32c32270278392c8534 GIT binary patch literal 14 VcmWG=3~}~gi2laF$l&Vl1^^tU1DyZ> literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/8F6B6EF18268D6ABC39B73442D8AF2E0D97199443C06280A7E6505E730D26651.ips b/atmosphere/kip_patches/loader_patches/8F6B6EF18268D6ABC39B73442D8AF2E0D97199443C06280A7E6505E730D26651.ips new file mode 100644 index 0000000000000000000000000000000000000000..876d91f969a25c7d2858c8d8df9f609b6c194bdc GIT binary patch literal 14 VcmWG=3~}~gh&si<$l&Vl1^^ps18@KU literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/9303CDB8094EFC3FA1DE7D0EEFE1DD9BE7FE0265A8FCA67C1758E42F24D318CF.ips b/atmosphere/kip_patches/loader_patches/9303CDB8094EFC3FA1DE7D0EEFE1DD9BE7FE0265A8FCA67C1758E42F24D318CF.ips new file mode 100644 index 0000000000000000000000000000000000000000..16ce98a5817a71dae5ba8962ff997648cc6bc374 GIT binary patch literal 14 VcmWG=3~}~gNGM}qWN`I&0{|IL10nzb literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/987521753F9B8CE98718E3C70FFEA1FDDFF58511A482F5387DE25FAD822C27C0.ips b/atmosphere/kip_patches/loader_patches/987521753F9B8CE98718E3C70FFEA1FDDFF58511A482F5387DE25FAD822C27C0.ips new file mode 100644 index 0000000000000000000000000000000000000000..17d0f0147f7e78344a7ab64ada371d2c5859d014 GIT binary patch literal 30 lcmWG=3~}~g$OvHIP+(}dbbvYj8bgE#1B<)@^Ho=WHvoGQ2mAm4 literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/9B898AF251B01982753BF3661C57B120E622429CEEE5A890F4325666B89087B8.ips b/atmosphere/kip_patches/loader_patches/9B898AF251B01982753BF3661C57B120E622429CEEE5A890F4325666B89087B8.ips new file mode 100644 index 0000000000000000000000000000000000000000..0b6e5d60a90c9ed415969ea90f6d4e3bfbbc1106 GIT binary patch literal 14 VcmWG=3~}~gNT_3AWN`I&0{|I@11bOj literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/A24D79351011C238D7349A3D7D6FAE64D06D3F363146FCAD7AFAB0CADF83F8FB.ips b/atmosphere/kip_patches/loader_patches/A24D79351011C238D7349A3D7D6FAE64D06D3F363146FCAD7AFAB0CADF83F8FB.ips new file mode 100644 index 0000000000000000000000000000000000000000..45de2bbadc3943ce122b8a127bf91ac6886efd50 GIT binary patch literal 14 VcmWG=3~}~gh`PnV$l&Vl1^^q{1AqVk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/A30045E6E8AB52978D22AA951DEB2380B09F1A45037F423195E800ED8C8E2A94.ips b/atmosphere/kip_patches/loader_patches/A30045E6E8AB52978D22AA951DEB2380B09F1A45037F423195E800ED8C8E2A94.ips new file mode 100644 index 0000000000000000000000000000000000000000..45de2bbadc3943ce122b8a127bf91ac6886efd50 GIT binary patch literal 14 VcmWG=3~}~gh`PnV$l&Vl1^^q{1AqVk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/AAACFA5FF65047A72054CC7DF823DEE157CCAFA282CEB3019C6F1CC6444FD31D.ips b/atmosphere/kip_patches/loader_patches/AAACFA5FF65047A72054CC7DF823DEE157CCAFA282CEB3019C6F1CC6444FD31D.ips new file mode 100644 index 0000000000000000000000000000000000000000..0b6e5d60a90c9ed415969ea90f6d4e3bfbbc1106 GIT binary patch literal 14 VcmWG=3~}~gNT_3AWN`I&0{|I@11bOj literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/ABCCC4A3D744BADC1C7765077779F720A20782D2530189EB981A854582EC14A1.ips b/atmosphere/kip_patches/loader_patches/ABCCC4A3D744BADC1C7765077779F720A20782D2530189EB981A854582EC14A1.ips new file mode 100644 index 0000000000000000000000000000000000000000..595c203ec7f778a50ec52d21f1d15195f4495415 GIT binary patch literal 14 VcmWG=3~}~gh!bOAWN`I&0{|AD0>A(O literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/AD2E2A97AC706B9A02D5670C6E1B16BC915C4FB182A754E79B1A76628C1CEFE0.ips b/atmosphere/kip_patches/loader_patches/AD2E2A97AC706B9A02D5670C6E1B16BC915C4FB182A754E79B1A76628C1CEFE0.ips new file mode 100644 index 0000000000000000000000000000000000000000..45de2bbadc3943ce122b8a127bf91ac6886efd50 GIT binary patch literal 14 VcmWG=3~}~gh`PnV$l&Vl1^^q{1AqVk literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/BFD7A2BE8D4FEBD59924503FB88E183E08739FD70501652158FE11FD00F6565E.ips b/atmosphere/kip_patches/loader_patches/BFD7A2BE8D4FEBD59924503FB88E183E08739FD70501652158FE11FD00F6565E.ips new file mode 100644 index 0000000000000000000000000000000000000000..0b6e5d60a90c9ed415969ea90f6d4e3bfbbc1106 GIT binary patch literal 14 VcmWG=3~}~gNT_3AWN`I&0{|I@11bOj literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/C6319D50A4830F7D7B15BA64943FB13433208A10EBDF2A59F80358438C7E81F5.ips b/atmosphere/kip_patches/loader_patches/C6319D50A4830F7D7B15BA64943FB13433208A10EBDF2A59F80358438C7E81F5.ips new file mode 100644 index 0000000000000000000000000000000000000000..16ce98a5817a71dae5ba8962ff997648cc6bc374 GIT binary patch literal 14 VcmWG=3~}~gNGM}qWN`I&0{|IL10nzb literal 0 HcmV?d00001 diff --git a/atmosphere/kip_patches/loader_patches/CED1E857D8CBA3590C29B78B28DCD8CA64B6376D95673E9BA9A44CA775FEF7B6.ips b/atmosphere/kip_patches/loader_patches/CED1E857D8CBA3590C29B78B28DCD8CA64B6376D95673E9BA9A44CA775FEF7B6.ips new file mode 100644 index 0000000000000000000000000000000000000000..5cec6869063f5f16baa977c24451d5561ec959f4 GIT binary patch literal 14 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 z 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

;Dy43L@0X;x65#8# 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⋘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

?wTLKco9< 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

Fmi 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ⅅ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