mirror of
https://github.com/Ultra-NX/UltraNX.git
synced 2025-07-08 03:12:20 +00:00
Compare commits
No commits in common. "main" and "2.3-R3" have entirely different histories.
README.mdREADME_ENG.md
SaltySD
exceptions.txt
plugins/FPSLocker/patches
0100001019F6E000
0100047013378000
010008301AA96000
010008E01E32A000
010009D018A06000
01000AA013A5E000
01000AB01F9C0000
01000B202041A000
01000BD00CE64000
0100111004460000
01001270012B6000
01001CC01B2D4000
01001E3017A10000
010021801DD26000
010023001969A000
010024700901A000
010025C0145D4000
010027B01E32C000
010029B0118E8000
01002C101C1AA000
010033501FF38000
01003990220BE000
01003B90136DA000
01003CC00D0BE000
01003E601E324000
01003EB01C2F0000
010044B01E786000
0100453019AA8000
010045301B86C000
010047E01EA24000
01004A001E32E000
01004A600EC0A000
0100500012AB4000
010050F01DF9C000
11D6D6158B566A74.yaml25A4C89527E7A6E6.yaml5F765D2CC4CDEF1C.yaml7C8FE1FD610E1F1F.yamlC59C89CCDF382602.yaml
010051C0134F8000
0100544020572000
010054E01D878000
2213810D247A7293.yaml27BDC0166D5D5A1B.yaml641E15F899C4A057.yaml7E587D3ADCFD66BC.yamlAF76EBEDE6A89F89.yamlB8264CDBC1CBFFCF.yamlC953D6F477604662.yamlEB8D70AB59D8A4C2.yamlEE92CAF016873D08.yamlF51888C0188BFA18.yamlF57C74294E14BDCC.yamlFF365FA7E744CDDA.yaml
010056F00C7B4000
010058F01DF8C000
01005AE0209A8000
01005C7015D30000
01005D2016934000
01005EA01C0FC000
01005EA01C0FC001
010066F01A0E0000
01006AC01F630000
01006BD018B54000
01006BD019A78000
45
README.md
45
README.md
@ -1,4 +1,4 @@
|
||||
# UltraNX by **[redraz](https://github.com/redraz)**
|
||||
# Ultra-NX by **[redraz](https://github.com/redraz)**
|
||||
|
||||

|
||||
|
||||
@ -8,14 +8,13 @@
|
||||
|
||||
### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт.
|
||||
|
||||
### [Ultra 2.4|R2.1](https://github.com/Ultra-NX/UltraNX/releases) Поддерживает HOS 20.1.5 и все ревизии консолей
|
||||
### [Ultra 2.3](https://github.com/Ultra-NX/Ultra/releases/latest/) Поддерживает HOS 19.0.1 и все ревизии консолей
|
||||
|
||||
|
||||
|
||||
## Особенности Ultra
|
||||
|
||||
* Предварительно настроенный OC Switchcraft (Преемник OC-Suite) с пресетами.
|
||||
* По умолчанию уже есть андервольт, который заметно снижает потребление консоли, и небольшой разгон памяти, который сделает игры плавнее.
|
||||
* Лучший кастомизатор разгона для Свитч - [Ultra-Tuner](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Ultra-Tuner), позволяющий настраивать разгон прямо с консоли. Был первым, и остается неповторимым.
|
||||
* Сборка максимально легкая и не нагруженная. В ней нет лишнего, минимум необходимый для разгона и комфортного использования.
|
||||
* Модульная конструкция. В составе минимум приложений/плагинов/оверлеев, но вы всегда можете поставить еще через [Ultra Tuner](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater).
|
||||
@ -24,7 +23,7 @@
|
||||
* DBI с встроенным notUltraNX репозиторием игр, больше не нужно каждый раз искать новый шоп Тинфоила.
|
||||
* Подробная [Wiki](https://github.com/Ultra-NX/Ultra/wiki) в которой есть ответы почти на все вопросы.
|
||||
* [Форки](https://github.com/Ultra-NX/Ultra-Resources/tree/main/patches) (свои модификации) программ и компонентов, нужные для удобства, безопасности и расширения возможностей:
|
||||
* Форк Атмосферы с прописанной версией Ультры в информации о системе, и отключенными репортами, обычно засоряющими сд карту, тратящими ее ресурс и ломающими файловую систему. Так же исправлена работа старых форвардеров (важно для хоумбрю игр/эмуляторов).
|
||||
* Форк Атмосферы с прописанной версией Ультры в информации о системе, и отключенными репортами, обычно засоряющими сд карту, тратящими ее ресурс и ломающими файловю систему.
|
||||
* Форки SaltyNX и FPSLocker, с поддержкой изменения частоты обновления экрана и с поддержкой OLED.
|
||||
* Форк Mission Control, с вырезанной "пасхалкой", делающей джойконы жовто-блакитными.
|
||||
* Форк Status Monitor с отображением текущих вольтажей и уникальными модулями Микро Оверлея, пресеты которых можно менять через Ultra Tuner.
|
||||
@ -36,19 +35,18 @@
|
||||
1. **[Atmosphere](https://github.com/Atmosphere-NX/Atmosphere)** - Atmosphère, кастомная прошивка для Nintendo Switch.
|
||||
1. **[Hekate](https://github.com/CTCaer/hekate)** - Пользовательский графический загрузчик Nintendo Switch, патчер прошивки, инструментарий и многое другое.
|
||||
1. **[Ultra Tuner](https://github.com/Ultra-NX/Ultra-Tuner)** - Пакет для Ultrahand, позволяющий произвести тонкую настройку параметров под свою консоль. В случае нестабильной работы разгона, или при желании увеличить производительность консоли, Ultra Tuner - Ваш незаменимый помощник.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC-Switchcraft-EOS/releases)**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Лоадер атмосферы с разгоном от B3711, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC_Toolkit_SC_EOS)**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Лоадер атмосферы с разгоном от B3711, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
|
||||
|
||||
|
||||
1. **Установленные пейлоады**:
|
||||
* [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Программа для снятия ключей консоли.
|
||||
* [Lockpick_RCM](https://gbatemp.net/download/lockpick_rcm-1-9-13-fw-19-zoria-source.38837) - Программа для снятия ключей консоли.
|
||||
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - Низкоуровневый файловый менеджер для работы с системой.
|
||||
|
||||
|
||||
1. **Установленные Homebrew**
|
||||
* [Sphaira](https://github.com/ITotalJustice/sphaira) - Современное Хоумбрю Меню, аналог nx-hbmenu
|
||||
* [AiO Switch Updater](https://github.com/HamletDuFromage/aio-switch-updater) - Программа для обновления Ultra до актуальной версии, а так же для скачивания читов.
|
||||
* [Daybreak](https://github.com/Atmosphere-NX/Atmosphere) - Программа для обновления системного ПО.
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - Лучший файловый менеджер, менеджер сохранений и установщик программ на консоль.
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1120#entry86288632) - Лучший файловый менеджер, менеджер сохранений и установщик программ на консоль. Если вам нужна другая локализация - в [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater) есть выбор из EN-RU-PTBR-ZHCN.
|
||||
|
||||
|
||||
1. **Установленные модули**
|
||||
@ -64,35 +62,29 @@
|
||||
- [FPSLocker](https://github.com/masagrator/FPSLocker) - Оверлей, позволяющий разблокировать 60 FPS в играх.
|
||||
- [EdiZon](https://github.com/proferabg/EdiZon-Overlay) - Оверлей для использования читов.
|
||||
- [ReverseNX-RT](https://github.com/masagrator/ReverseNX-RT) - Оверлей для управления ReverseNX.
|
||||
- [Sysmodules](https://github.com/ppkantorski/ovl-sysmodules) - Оверлей для включения и отключения установленных системных модулей.
|
||||
- [Sysmodules](https://github.com/WerWolv/ovl-sysmodules/) - Оверлей для включения и отключения установленных системных модулей.
|
||||
|
||||
|
||||
1. **Доступные для скачивания через [Ultra Tuner](https://github.com/Ultra-NX/UltraNX/wiki/Tuner-RU#ultra-tuner)**
|
||||
1. **Доступные для скачивания через [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater)**
|
||||
* Homebrews:
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - Здесь можно скачать DBI или обновить имеющийся.
|
||||
* [Linkalho](https://gbatemp.net/download/linkalho.38822) - Программа для привязки аккаунта.
|
||||
* [Tinfoil](https://tinfoil.io) - Установщик и каталог игр.
|
||||
* [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений.
|
||||
* [PPSSPP](https://gbatemp.net/threads/ppsspp-switch-standalone-beta.544071/post-10492671) - Эмулятор PSP.
|
||||
* [Moonlight](https://github.com/XITRIX/Moonlight-Switch) - Клиент Moonlight, позволяет транслировать на консоль игры с PC.
|
||||
* [ThemezerNX](https://github.com/suchmememanyskill/themezer-nx) + [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector) + [Theme Patches](https://github.com/exelix11/theme-patches) - Поиск и установка тем на свитч.
|
||||
* [ReverseNX Tool](https://github.com/masagrator/ReverseNX-Tool) - Программа для управления ReverseNX.
|
||||
* [Battery Desync Fix](https://github.com/CTCaer/battery_desync_fix_nx) - Программа для сброса контроллера батареи. Не используйте просто так!
|
||||
* [MemToolkitNX](https://discord.com/channels/854839758815363072/1173171845139288114/1324099100202766408) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
|
||||
* [MemToolkitNX OLD](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU. Старая версия, которая многим нравится больше новой.
|
||||
* [MicroMemBench](https://github.com/rashevskyv/4IFIR) - Бенчмарк. Результат сильно зависит от разгона CPU. Версия из Чифира которая в реальном времени тестирует CPU Copy, что позволяет быстро узнать результат после изменения таймингов.
|
||||
|
||||
* [MemToolkitNX](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
|
||||
* Overlays:
|
||||
* [Status Monitor Ultra](https://github.com/Ultra-NX/Status-Monitor-Overlay) - Форк Status Monitor для UltraNX, поддерживает много пресетов Micro-оверлея, и обладает рядом уникальных фишек.
|
||||
* [Tetris](https://github.com/ppkantorski/Tetris-Overlay) - Та самая игра в виде оверлея. Работает только на последних версиях Ultrahand.
|
||||
* [MasterVolume](https://github.com/averne/MasterVolume) - Регулировка глобальной громкости, позволяет поднять громкость выше максимума. Использовать аккуратно!
|
||||
* [NX-FanControl](https://github.com/Zathawo/NX-FanControl) - Модуль для ручной регулировки оборотов кулера. Изменения применяются сразу, модуль смотрит на температуру SOC а не Skin, как Атмосфера.
|
||||
* [BT Audio](https://github.com/masagrator/BT_Audio-ovl) - Оверлей, позволяющий быстро отключаться/подключаться к bluetooth-гарнитуре.
|
||||
* [MasterVolume](https://github.com/averne/MasterVolume) - Регулировка глобальной громкости, позволяет поднять громкость выше максимума. Использовать аккуратно!
|
||||
* [Fizeau](https://github.com/averne/Fizeau) - Модуль для изменения цветового профиля экрана.
|
||||
* [sys-tune](https://github.com/HookedBehemoth/sys-tune) - Оверлей-музыкальный плеер, работает в фоне.
|
||||
|
||||
* Other:
|
||||
* [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - Патчи для FPSLocker, что бы не качать отдельно патч для каждой игры через оверлей.
|
||||
* [DVR Patches](https://github.com/exelix11/dvr-patches) - Патчи SysDVR, работают и без системного модуля, активируя фоновую запись в играх, где это изначально запрещено.
|
||||
* [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - Пакет для скачивания, установки и управления модами для игр.
|
||||
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - Хоумбрю-музыкальный плеер, который работает через системный модуль, и может сворачиваться, работая в фоне.
|
||||
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP сервер, работающий на фоне.
|
||||
|
||||
|
||||
@ -119,6 +111,8 @@
|
||||
* Meha
|
||||
* duckbill
|
||||
* snupt
|
||||
* Cooler3D
|
||||
* 4PDA
|
||||
#### А так же - отдельная благодарность администрации и участникам Ultra Group
|
||||
|
||||
|
||||
@ -128,15 +122,14 @@
|
||||
Если вам нравится проект, и у вас появилось желание поддержать меня копеечкой - я буду очень благодарен.
|
||||
У меня в данный момент нет других заработков, так что любая денежная помощь очень ценна для меня.
|
||||
```
|
||||
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
|
||||
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
|
||||
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
|
||||
|
||||
СБП : +79168089980
|
||||
|
||||
Альфа : 2200152336577997
|
||||
Tinkoff : 2200700170486970
|
||||
Сбер : 2202200513345833
|
||||
|
||||
TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct
|
||||
BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93
|
||||
USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL
|
||||
```
|
||||
|
||||
### Tinkoff QR
|
||||
|
@ -1,4 +1,4 @@
|
||||
# UltraNX by **[redraz](https://github.com/redraz)**
|
||||
# Ultra-NX by **[redraz](https://github.com/redraz)**
|
||||
|
||||

|
||||
|
||||
@ -6,14 +6,13 @@
|
||||
#
|
||||
### Ultra is a functional custom firmware for Nintendo Switch, with a focus on overclocking and an improved user experience.
|
||||
|
||||
### [Ultra 2.4|R2.1](https://github.com/Ultra-NX/UltraNX/releases) Supports HOS 20.1.5 and all console revisions
|
||||
### [Ultra 2.3](https://github.com/Ultra-NX/Ultra/releases/latest/) Supports HOS 19.0.1 and all console revisions
|
||||
|
||||
|
||||
|
||||
## Features of Ultra
|
||||
|
||||
* Pre-configured OC Switchcraft (Successor to OC-Suite) with presets.
|
||||
* By default, there's already an undervolt that noticeably reduces the console's consumption, and a slight memory overclock that will make games smoother.
|
||||
* The best overclocking customizer for Switch - Ultra-Tuner, that allows you to customize overclocking right from the console. It was the first, and remains unique.
|
||||
* The CFW is as light as possible. There are no unnecessary things in it, only minimum necessary for overclocking and comfortable use.
|
||||
* Modular design. A minimum of applications/plugins/overlays are included, but you can always add more via the Ultra Tuner.
|
||||
@ -32,19 +31,18 @@
|
||||
1. **[Atmosphere](https://github.com/Atmosphere-NX/Atmosphere)** - Atmosphère, custom firmware for the Nintendo Switch.
|
||||
1. **[Hekate](https://github.com/CTCaer/hekate)** - Custom Nintendo Switch graphical bootloader, firmware patcher, toolkit and more.
|
||||
1. **[Ultra Tuner](https://github.com/Ultra-NX/Ultra-Tuner)** - Package for Ultrahand, which allows you to fine-tune the OC parameters for your console. In case of unstable overclocking, or if you want to increase the performance of your console, Ultra Tuner is your indispensable assistant.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC-Switchcraft-EOS/releases)**, a fork of **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Atmosphere Loader with overclocking from B3711, allows you to reach from N.Switch power Xbox One. Updated in time to support new Atmosphere features.
|
||||
1. **[OC-Switchcraft](https://github.com/halop/OC_Toolkit_SC_EOS)**, a fork of **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Atmosphere Loader with overclocking from B3711, allows you to reach from N.Switch power Xbox One. Updated in time to support new Atmosphere features.
|
||||
|
||||
|
||||
1. **Installed Payloads**:
|
||||
* [Lockpick RCM](https://github.com/impeeza/Lockpick_RCMDecScots) - Program for dumping console keys.
|
||||
* [Lockpick_RCM](https://gbatemp.net/download/lockpick_rcm-1-9-13-fw-19-zoria-source.38837/) - Program for dumping console keys.
|
||||
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - A low-level file manager for working with the system.
|
||||
|
||||
|
||||
1. **Installed Homebrew**
|
||||
* [Sphaira](https://github.com/ITotalJustice/sphaira) - Modern Homebrew Menu, analogous to nx-hbmenu
|
||||
* [AiO Switch Updater](https://github.com/HamletDuFromage/aio-switch-updater) - Program to update Ultra to the current version, as well as to download cheats.
|
||||
* [Daybreak](https://github.com/Atmosphere-NX/Atmosphere) - A program for updating OS.
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - The best file manager, save manager and program installer on the console.
|
||||
* [DBI](https://github.com/rashevskyv/dbi) - The best file manager, save manager and program installer on the console. If you need a different localization - Updater has a choice of EN-RU-PTBR-ZHCN.
|
||||
|
||||
|
||||
1. **Installed Modules**
|
||||
@ -60,36 +58,32 @@
|
||||
- [FPSLocker](https://github.com/masagrator/FPSLocker) - An overlay that allows you to unlock 60 FPS in games.
|
||||
- [EdiZon](https://github.com/proferabg/EdiZon-Overlay) - An overlay for using cheats.
|
||||
- [ReverseNX-RT](https://github.com/masagrator/ReverseNX-RT) - ReverseNX control overlay.
|
||||
- [Sysmodules](https://github.com/ppkantorski/ovl-sysmodules) - Overlay for enabling and disabling installed system modules.
|
||||
- [Sysmodules](https://github.com/WerWolv/ovl-sysmodules/) - Overlay for enabling and disabling installed system modules.
|
||||
|
||||
|
||||
1. **Available for download via [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater)**
|
||||
* Homebrews:
|
||||
* [DBI](https://4pda.to/forum/index.php?showtopic=939714&st=1100#entry86288632) - Here you can download a DBI or update an existing one.
|
||||
* [Linkalho](https://gbatemp.net/download/linkalho.38822/) - Account linking program.
|
||||
* [Tinfoil](https://tinfoil.io) - Installer and game store.
|
||||
* [HB App Store](https://github.com/fortheusers/hb-appstore) - A free store for downloading Homebrew apps.
|
||||
* [PPSSPP](https://gbatemp.net/threads/ppsspp-switch-standalone-beta.544071/post-10492671) - PSP emulator.
|
||||
* [Moonlight](https://github.com/XITRIX/Moonlight-Switch) - Moonlight client, allows to stream games from PC.
|
||||
* [ThemezerNX](https://github.com/suchmememanyskill/themezer-nx) + [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector) + [Theme Patches](https://github.com/exelix11/theme-patches) - Searching and installing themes on Switch.
|
||||
* [ReverseNX Tool](https://github.com/masagrator/ReverseNX-Tool) - ReverseNX control program.
|
||||
* [Battery Desync Fix](https://github.com/CTCaer/battery_desync_fix_nx) - Program to reset the battery controller. Do not use unnecessarily!
|
||||
* [MemToolkitNX](https://discord.com/channels/854839758815363072/1173171845139288114/1324099100202766408) - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking.
|
||||
* [MemToolkitNX OLD](https://discord.com/channels/854839758815363072/1173171845139288114/1276196700750479480) - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking. The old version, which many people like better than the new one.
|
||||
* [MicroMemBench](https://github.com/rashevskyv/4IFIR) - Benchmark. The result is highly dependent on CPU overclocking. A version from 4ifir that tests CPU Copy in real time, which allows you to quickly find out the result after changing timings.
|
||||
* **`MemToolkitNX`** - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking.
|
||||
|
||||
* Overlays:
|
||||
* [Status Monitor Ultra](https://github.com/Ultra-NX/Status-Monitor-Overlay) - Status Monitor fork for UltraNX, supports many Micro-overlay presets, and has a number of unique features.
|
||||
* [Tetris](https://github.com/ppkantorski/Tetris-Overlay/) - "That" game in the form of an overlay. Works only on the latest versions of Ultrahand.
|
||||
* [MasterVolume](https://github.com/averne/MasterVolume) - Global volume control, allows you to raise the volume above the maximum. Use with care!
|
||||
* [NX-FanControl](https://github.com/Zathawo/NX-FanControl) - Module for manually adjusting the speed of the cooler. The changes are applied immediately, the module works from SOC temperature and not Skin temperature like Atmosphere.
|
||||
* [BT Audio](https://github.com/masagrator/BT_Audio-ovl) - An overlay that allows you to quickly disconnect/connect to a bluetooth headset.
|
||||
* [MasterVolume](https://github.com/averne/MasterVolume) - Global volume control, allows you to raise the volume above the maximum. Use with care!
|
||||
* [Fizeau](https://github.com/averne/Fizeau) - Module for changing the screen color profile.
|
||||
* [sys-tune](https://github.com/HookedBehemoth/sys-tune) - Overlay music player, works in background.
|
||||
|
||||
* Other:
|
||||
* [FPSLocker Patches](https://github.com/masagrator/FPSLocker-Warehouse) - Patches for FPSLocker, so you don't have to download a separate patch for each game through the overlay.
|
||||
* [DVR Patches](https://github.com/exelix11/dvr-patches) - SysDVR patches, work without the system module, activating background recording in games where it is initially prohibited.
|
||||
* [Mod Alchemist](https://github.com/ppkantorski/Mod-Alchemist) - A package for downloading, installing, and managing mods for games.
|
||||
* [sys-ftpd](https://github.com/cathery/sys-ftpd) - FTP server running in background.
|
||||
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - A homebrew music player that runs through the system module, and can minimize while running in the background.
|
||||
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP server running in background.
|
||||
|
||||
|
||||
|
||||
@ -113,6 +107,8 @@ Listed below are the licenses of those programs that have been modified specific
|
||||
* Meha
|
||||
* duckbill
|
||||
* snupt
|
||||
* Cooler3D
|
||||
* 4PDA
|
||||
#### And also - a special thanks to the administration and members of Ultra Group
|
||||
|
||||
|
||||
@ -122,7 +118,7 @@ Listed below are the licenses of those programs that have been modified specific
|
||||
If you like the project and you have a desire to support me with a penny - I will be very grateful.
|
||||
I have no other income at the moment, so any monetary help is very valuable to me.
|
||||
```
|
||||
TON: UQA9My51bkGZHbYhbdRZfp6B60N7VJfsnKl0sakgw9YhAPct
|
||||
BTC: 18K6NN8NEavvMJL5Do3VTyJbL8NeZPHo93
|
||||
USDT TRC20: TUZ5szAmRsnvBuC4rFB8RaAoCbN6Ucy4sL
|
||||
TON: UQDioCnnPI5sk4KvxWzfPWsWbAyWCkzwhaYjy8Qpg2QwWMiL
|
||||
BTC: 1HsC4z8X1YkZzcSKZz1t7MXRa7rPi8qChV
|
||||
USDT: TQi3qLVrNGcr6avfVQBXRjpPTyvp5JZ7i2
|
||||
```
|
@ -50,7 +50,3 @@ X0100964012528000
|
||||
;Donkey Kong Country: Tropical Freeze
|
||||
;Crash at second level
|
||||
X0100C1F0051B6000
|
||||
|
||||
;Death Road to Canada
|
||||
;1.0.8 crash
|
||||
X0100423009358000
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Horizon Chase 2 1.6.9
|
||||
# BID: E13F632FC2A66EEB
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8349850, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8B36A30, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8B11598, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,22 +0,0 @@
|
||||
# Gal*Gun Returns 1.0.4
|
||||
# BID: 7E65E5BC3564BE46
|
||||
# Buffers are hardcoded into fixed size class, so it's hard to get triple buffer
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# FPS Target + FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x16CE8A8, 0x20]
|
||||
value_type: float
|
||||
value: "60 / FPS_TARGET"
|
||||
# Lipsync fix
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1BA0A1C]
|
||||
value_type: uint32
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,36 +0,0 @@
|
||||
# Tiebreak+: Official Game of the ATP and WTA 1.1.0
|
||||
# BID: 2A5244CCB17B44AC
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Triple buffer
|
||||
# REF: 00 40 00 00 00 04 00 00 00 88 00 00 02 00 00 00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1A81E6C
|
||||
value_type: uint32
|
||||
value: 3
|
||||
# Redirect Dynamic Resolution target reading to MAIN + 0x30C2F00
|
||||
# REF: 0C 9A 88 52 0C 6B A7 72
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x147AA94
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x9000E248 # ADRP X8, 0x30C2000
|
||||
- 0xBD4F0103 # LDR S3, [X8, 0xF00]
|
||||
- 0xD503201F # NOP
|
||||
## Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x30C2F00
|
||||
value_type: float
|
||||
value: 0.03333333333
|
||||
ALL_FPS:
|
||||
# Adjust Dynamic Resolution target, we are using this trick because function is overengineered and it's not easy to just use standard 1 / FPS_TARGET
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30C2F00]
|
||||
value_type: float
|
||||
value: "0.8 / FPS_TARGET"
|
@ -1,30 +0,0 @@
|
||||
# S.T.A.L.K.E.R.: Call of Prypiat 1.0.3
|
||||
# BID: AD4CBC4878008E1E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F9784]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x18168A0]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1A8490C]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F9760]
|
||||
value_type: float
|
||||
value: "FRAMETIME_TARGET - (1/30)"
|
@ -1,30 +0,0 @@
|
||||
# S.T.A.L.K.E.R.: Call of Prypiat 1.0.2
|
||||
# BID: BBA39C65C1CC6463
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F9784]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x18168A0]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1A8490C]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F9760]
|
||||
value_type: float
|
||||
value: "0.99 * FRAMETIME_TARGET"
|
@ -1,27 +0,0 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.2.2
|
||||
# BID: 012A8C2C413E79B8
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F57748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F92210, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8791EC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.2.1
|
||||
# BID: 26C1E658E9B5B612
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F41748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F7C210, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x877BEC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.2.0
|
||||
# BID: 46094C03E2EC668B
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F3C748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8F77210, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8776EC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# SWORD ART ONLINE Fractured Daydream JAP 1.3.0
|
||||
# BID: C2F2C4B700B30598
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8FD6748, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9011290, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8810F08, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Breathedge 1.0.2
|
||||
# BID: B26DE1669B729335
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x55CB668, 0x7F0]
|
||||
value_type: uint32
|
||||
value: 7
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x55CBDE0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x4E6A7B8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,24 +0,0 @@
|
||||
# Chernobylite 1.1
|
||||
# BID: 2D2065AEBF94F9AE
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x641EAB8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x644C838, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5C83700, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
@ -1,24 +0,0 @@
|
||||
# Chernobylite 1.2
|
||||
# BID: 657F40EEBD955F31
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x641EAB8, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x644C838, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5C83700, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
@ -1,12 +0,0 @@
|
||||
# DreadOut Remastered Collection 1.0.2
|
||||
# BID: 725731C74E4CA6A9
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# REF: DynamicResolution::.cctor
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x3E01640, 0, 0xB8, 8]
|
||||
value_type: double
|
||||
value: [FPS_TARGET, FRAMETIME_TARGET]
|
@ -12,7 +12,7 @@ ALL_FPS:
|
||||
value: [FPS_TARGET, FPS_TARGET]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
type: write
|
||||
address: [MAIN, 0x71B2BD0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
|
@ -1,6 +1,7 @@
|
||||
# SONIC FORCES 1.1.0
|
||||
# BID: 6D9EA94F8AAC00A8
|
||||
# Game speed is tied to framerate
|
||||
# Above 30 FPS level 8 is harder to beat and level 20 impossible to beat
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
@ -11,27 +12,10 @@ MASTER_WRITE:
|
||||
main_offset: 0xAD40FC
|
||||
value_type: uint32
|
||||
value: 0x52800068
|
||||
# Block switching back to 30 FPS mode on loading screens
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6173B0
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
ALL_FPS:
|
||||
# Switch to 60 FPS Mode
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# FPS target
|
||||
# FPS target (FPS * 2)
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x1C]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x14C]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
value: "FPS_TARGET * 2"
|
||||
|
@ -1,6 +1,7 @@
|
||||
# SONIC FORCES 1.1.0
|
||||
# BID: 6D9EA94F8AAC00A8
|
||||
# Game speed is tied to framerate
|
||||
# Above 30 FPS level 8 is harder to beat and level 20 impossible to beat
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
@ -11,27 +12,10 @@ MASTER_WRITE:
|
||||
main_offset: 0xAD40FC
|
||||
value_type: uint32
|
||||
value: 0x52800068
|
||||
# Block switching back to 30 FPS mode on loading screens
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6173B0
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
ALL_FPS:
|
||||
# Switch to 60 FPS Mode
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1CAC518, 0x28, 0x20, 0x14]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# FPS target
|
||||
# FPS target (FPS * 2)
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x1C]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1C38C28, 0x14C]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
value: "FPS_TARGET * 2"
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Goat Simulator 3 1.0.7.7
|
||||
# BID: 504EBEAB62E802AD
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x99DC468, 0]
|
||||
value_type: float
|
||||
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9A02290, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x920CBF8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Goat Simulator 3 1.0.7.6
|
||||
# BID: 8D4FD57DB7D63120
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x99DD468, 0]
|
||||
value_type: float
|
||||
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9A03290, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x920DB48, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Goat Simulator 3 1.0.7.5
|
||||
# BID: C606C7DC1C0EC88F
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x954E2F8, 0]
|
||||
value_type: float
|
||||
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9573F60, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x8D7E218, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,4 +1,4 @@
|
||||
# Farming Simulator 23 Nintendo Switch Edition 1.6.0.0/1.7.0.0
|
||||
# Farming Simulator 23 Nintendo Switch Edition 1.6.0.0
|
||||
# BID: 17F37A56B17DD9CC
|
||||
|
||||
unsafeCheck: true
|
||||
|
@ -1,51 +0,0 @@
|
||||
# Momotaro Dentetsu: Showa, Heisei, Reiwa mo Teiban! Asia Edition 1.0.1
|
||||
# BID: B2D4462B71536EC6
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove double buffer
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1B630
|
||||
value_type: uint32
|
||||
value: 0x52800061
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x5774C
|
||||
value_type: uint32
|
||||
value: 0x52800061
|
||||
ALL_FPS:
|
||||
# REF: 20 59 60 BC
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFF7090]
|
||||
value_type: float
|
||||
value: [FPS_TARGET, "60 / FPS_TARGET"]
|
||||
# Blocking game to max 60 FPS because setting game speed ratio below 1 causes glitches
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0xFF7090]
|
||||
compare_type: ">"
|
||||
compare_value_type: float
|
||||
compare_value: 60
|
||||
address: [MAIN, 0xFF7090]
|
||||
value_type: float
|
||||
value: 60
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0xFF7090]
|
||||
compare_type: "=="
|
||||
compare_value_type: float
|
||||
compare_value: 60
|
||||
address: [MAIN, 0xFF7094]
|
||||
value_type: float
|
||||
value: 1
|
||||
# Unknown value that is set based on FPS Lock function argument, 0 = 60 FPS, 1 = 30 FPS, 2 = 20 FPS, 3 = 15 FPS
|
||||
# According to IDA is not used at all, but writing this anyway
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x10D8028]
|
||||
value_type: uint32
|
||||
value: "VSYNC_TARGET - 1"
|
@ -1,27 +0,0 @@
|
||||
# Session: Skate Sim 1.1.4
|
||||
# BID: F327FFD8C2E85895
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7247868, 0]
|
||||
value_type: float
|
||||
value: ["FRAMETIME_TARGET", "FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7275438, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6A7A668, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Gal*Gun 2 1.0.4
|
||||
# BID: 9CDFB0CD24CAE030
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x4346990, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x44E6DA8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# Disable custom FPS Lock
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x44E6030, 0x764]
|
||||
value_type: float
|
||||
value: 0
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# GUNDAM BREAKER 4 1.9.0
|
||||
# BID: 0CC82881FF112C6D
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9F98D48, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9FC67E8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x97CADA8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# GUNDAM BREAKER 4 1.12.0
|
||||
# BID: 0FF5CF27929E07F9
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xA080D48, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xA0AE7E8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x98B2D28, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# GUNDAM BREAKER 4 1.10.0
|
||||
# BID: 6267E76E9540F2ED
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9FA2D48, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9FD07E8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x97D4E48, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# GUNDAM BREAKER 4 1.11.0
|
||||
# BID: E82F8A34CCC706E7
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xA03AD48, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xA0687E8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x986C958, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,30 +0,0 @@
|
||||
# S.T.A.L.K.E.R.: Clear Sky 1.0.2
|
||||
# BID: 227837B490A51033
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17D4774]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F18E8]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1A5F36C]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17D4750]
|
||||
value_type: float
|
||||
value: "0.99 * FRAMETIME_TARGET"
|
@ -1,30 +0,0 @@
|
||||
# S.T.A.L.K.E.R.: Clear Sky 1.0.3
|
||||
# BID: C7E4E6F4167C8E3A
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17D4774]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17F18E8]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1A5F36C]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x17D4750]
|
||||
value_type: float
|
||||
value: "FRAMETIME_TARGET - (1/30)"
|
@ -4,40 +4,25 @@
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Remove FPS Lock
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x4835A4
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
ALL_FPS:
|
||||
# Switch game to 60 FPS mode
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0xF0043C]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# FPS Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xED96A8, 0x30]
|
||||
value_type: uint32
|
||||
value: "19200000 / FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xED96A8, 0x28]
|
||||
value_type: uint32
|
||||
value: "1920000 / FPS_TARGET"
|
||||
value_type: uint64
|
||||
value: "(FRAMETIME_TARGET / 2) * 19200"
|
||||
# FPS 2D Game Speed Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEFFC60, 0x30]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
value: "0.5 / FPS_TARGET"
|
||||
# FPS 3D Game Speed Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEFFC60, 0x50]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
value: "0.5 / FPS_TARGET"
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Expeditions: A Mudrunner Game 1.14.0.0
|
||||
# BID: 08C88691FFA5407C
|
||||
# REF: 01 04 0C 5E 00 10 2E 1E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x36AEF00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1718A64
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD000FCAC # adrp x12, #0x36AE000
|
||||
- 0xBD4F0182 # ldr s2, [x12, #0xf00]
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x36AEF00
|
||||
value_type: float
|
||||
value: 33.3333333333
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x36AEF00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
@ -1,27 +0,0 @@
|
||||
# Expeditions: A Mudrunner Game 1.16.0.0
|
||||
# BID: 3DCE80782561A0CA
|
||||
# REF: 01 04 0C 5E 00 10 2E 1E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x36B4F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x171E454
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD000FCAC # adrp x12, #0x36B4000
|
||||
- 0xBD4F0182 # ldr s2, [x12, #0xf00]
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x36B4F00
|
||||
value_type: float
|
||||
value: 33.3333333333
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x36B4F00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
@ -1,27 +0,0 @@
|
||||
# Expeditions: A Mudrunner Game 1.13.0.0
|
||||
# BID: ED20E42E41B58D88
|
||||
# REF: 01 04 0C 5E 00 10 2E 1E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR frametime target to MAIN+0x3628F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x16AFA80
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB000FBCC # adrp x12, #0x3628000
|
||||
- 0xBD4F0182 # ldr s2, [x12, #0xf00]
|
||||
# default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x3628F00
|
||||
value_type: float
|
||||
value: 33.3333333333
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x3628F00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
@ -1,21 +0,0 @@
|
||||
# The Bridge Curse 2: The Extrication 1.0.1
|
||||
# BID: B7F344920B6D140E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5DB8968, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x65B48B8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,12 +0,0 @@
|
||||
# ABYSS SEEKER――What Do You See Deep in Abyss 1.1.0.012
|
||||
# BID: C17F9C48EEFAB9DF
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7B48F40, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
@ -1,12 +0,0 @@
|
||||
# ABYSS SEEKER――What Do You See Deep in Abyss 1.2.0.020
|
||||
# BID: FE67FB035271B5E4
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7B62100, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
@ -1,12 +0,0 @@
|
||||
# Shadowverse: Champion's Battle 1.3.0
|
||||
# BID: 1F936E043FB8C349
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# UnityEngine.Time::fixedDeltaTime
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x64DB5C0, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
@ -1,60 +0,0 @@
|
||||
# Amnesia Collection 1.3.0
|
||||
# BID: F6FB99E54347E740
|
||||
# Double buffer is hardcoded line by line, it's hard to make it triple
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect FPS Lock and Dynamic Resolution target values to MAIN + 0x21036F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x13281C
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90107828 # ADRP X8, 0x21036000
|
||||
- 0xF9478108 # LDR X8, [X8, 0xF00]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x3E324C
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF0106288 # ADRP X8, 0x21036000
|
||||
- 0xF9478108 # LDR X8, [X8, 0xF00]
|
||||
# NOP updating Dynamic Resolution target value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2D94E8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0106AE9 # ADRP X9, 0x21036000
|
||||
- 0xB94F0929 # LDR W9, [X9, 0xF08]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x597C5C
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF01054E9 # ADRP X9, 0x21036000
|
||||
- 0xB94F0929 # LDR W9, [X9, 0xF08]
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x21036F00
|
||||
value_type: double
|
||||
value: 0.03333333333333333
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x21036F08
|
||||
value_type: float
|
||||
value: 33.333333333333
|
||||
ALL_FPS:
|
||||
# FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x21036F00]
|
||||
value_type: double
|
||||
value: "1 / FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x21036F08]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
@ -1,27 +0,0 @@
|
||||
# DRAGON QUEST III HD-2D Remake 1.1.0
|
||||
# BID: 4F41309B39EEBE5E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5AB93E8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x62A5E28, 0]
|
||||
value_type: float
|
||||
value: [FRAMETIME_TARGET, FRAMETIME_TARGET]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x62D3B68, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,17 +0,0 @@
|
||||
# MEGATON MUSASHI W: WIRED 3.2.2
|
||||
# BID: 1EC3E6373D7DA9A6
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# fixedDeltaTime = 1/FPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCAC9F20, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
|
||||
type: write
|
||||
address: [MAIN, 0xCAC9F20, 0x100]
|
||||
value_type: float
|
||||
value: 0.0666666666
|
@ -1,17 +0,0 @@
|
||||
# MEGATON MUSASHI W: WIRED 3.2.0
|
||||
# BID: 8286C091117CAECF
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# fixedDeltaTime = 1/FPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCAA1720, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
|
||||
type: write
|
||||
address: [MAIN, 0xCAA1720, 0x100]
|
||||
value_type: float
|
||||
value: 0.0666666666
|
@ -1,12 +0,0 @@
|
||||
# MEGATON MUSASHI W: WIRED 3.2.3
|
||||
# BID: D152798E91A87AE7
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# fixedDeltaTime = 1/FPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCAC9F20, 0x48]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
@ -1,21 +0,0 @@
|
||||
# Big Helmet Heroes 1.0.3
|
||||
# BID: 2CF926BBD5D1AB4D
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7012260, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x5BB0718, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,356 +0,0 @@
|
||||
# Xenoblade Chronicles X: Definitive Edition 1.0.2
|
||||
# BID: 2A720C7CE5C84905
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Dynamic speed mod for stuff like UI, lipsync, grass and rain
|
||||
## Redirect nvnQueuePresentTexture call to code cave at MAIN+0x1735050
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x95EED8
|
||||
value_type: uint32
|
||||
value: 0x1437585E
|
||||
## Code Cave (save floats for speed factor to MAIN+0x47BE268, frametime as FPS in MAIN+0x47BE26C, frametime in s in MAIN+0x47BE270)
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735050
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD63F0100
|
||||
- 0x97FFF52B
|
||||
- 0xB0018448
|
||||
- 0xF9413107
|
||||
- 0xF9013100
|
||||
- 0xB5000047
|
||||
- 0x17C8A79D
|
||||
- 0xCB070000
|
||||
- 0x97FFF528
|
||||
- 0xB0018448
|
||||
- 0xB9430101
|
||||
- 0xEB00003F
|
||||
- 0x5400004B
|
||||
- 0xAA0103E0
|
||||
- 0xD2881541
|
||||
- 0xF2A07F21
|
||||
- 0xEB00003F
|
||||
- 0x5400004C
|
||||
- 0xAA0103E0
|
||||
- 0x9E630000
|
||||
- 0xD00005A0
|
||||
- 0xFD46AC01
|
||||
- 0x1E611800
|
||||
- 0xD2807D00
|
||||
- 0x9E630001
|
||||
- 0x1E601821
|
||||
- 0xB0018440
|
||||
- 0x1E624021
|
||||
- 0xBD026C01
|
||||
- 0x1E27D002
|
||||
- 0x1E211842
|
||||
- 0xBD026802
|
||||
- 0xD2807D01
|
||||
- 0x9E630021
|
||||
- 0x1E611801
|
||||
- 0x1E624021
|
||||
- 0xBD027001
|
||||
- 0x17C8A77E
|
||||
## Default values for code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47BE268
|
||||
value_type: float
|
||||
value: [1.0, 30.0, 0.033333333333]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47BE300
|
||||
value_type: uint32
|
||||
value: 33333333
|
||||
## Function 1 to speed factor // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x286968
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x900229D5
|
||||
- 0xF9470D00
|
||||
- 0xBD426AAA
|
||||
## Function 3 to speed factor // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xA16F00
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x9001ED40
|
||||
- 0xBD426808
|
||||
## Function 4 to FPS // UI Speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xA1F060
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF001ECE0
|
||||
- 0x1E270100
|
||||
- 0xBD426C00
|
||||
## Function 5 to FPS // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2672DC
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF0022A20
|
||||
- 0x1E270100
|
||||
- 0x7940D268
|
||||
- 0xBD426C05
|
||||
## Function 6 to FPS
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x26DB70
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0022A80
|
||||
- 0xBD426C00
|
||||
- 0x1E390000
|
||||
- 0x528000C9
|
||||
- 0x1AC90808
|
||||
## Function 7 to Frametime in s // Gameplay + cutscene speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E2924
|
||||
value_type: uint32
|
||||
value: 0x90022EE9
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E2938
|
||||
value_type: uint32
|
||||
value: 0xBD427120
|
||||
# Adjust various elements related to fighting
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E8F48
|
||||
value_type: uint32
|
||||
value: 0x1455308B
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735174
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018449
|
||||
- 0xBD426920
|
||||
- 0x17AACF74
|
||||
## Fix gun speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x30FACC
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
# Redirect DR Target to MAIN+0x47BEF00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x13A90B4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB001A0A8
|
||||
- 0xBD4F0100
|
||||
## Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47BEF00
|
||||
value_type: float
|
||||
value: 0.01666666666
|
||||
# Adjust camera speed rotation dynamically
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735108
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018448
|
||||
- 0xBD426908
|
||||
- 0x1E200900
|
||||
- 0x1E202008
|
||||
- 0x540000AA
|
||||
- 0x1E214000
|
||||
- 0x1E21C000
|
||||
- 0x1E214000
|
||||
- 0xD65F03C0
|
||||
- 0x1E21C000
|
||||
- 0xD65F03C0
|
||||
## Connect function 1
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E17A0
|
||||
value_type: uint32
|
||||
value: 0x94554E5A
|
||||
## Connect function 2
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E17B0
|
||||
value_type: uint32
|
||||
value: 0xAD7D03A1
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E17BC
|
||||
value_type: uint32
|
||||
value: 0x94554E53
|
||||
# Force 1s sleep to synchronize audio if cutscene detected
|
||||
## Use function responsible for writing type 4 of cutscene
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2FB0D8
|
||||
value_type: uint32
|
||||
value: 0x1450E820
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735158
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x52800094
|
||||
- 0xD00045C0
|
||||
- 0xB90AF414
|
||||
- 0xD2994000
|
||||
- 0xF2A77340
|
||||
- 0x97FFF3D9
|
||||
- 0x17AF17DB
|
||||
# Adjust Field Action gauge bar speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xE5E00
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB00236C0
|
||||
- 0xF000E369
|
||||
- 0xBD426808
|
||||
## Fix for FN Site
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xE5858
|
||||
value_type: uint32
|
||||
value: 0x14593E24
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17350E8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xBD40D260
|
||||
- 0xB0018440
|
||||
- 0xBD426801
|
||||
- 0x1E210800
|
||||
- 0x17A6C1D9
|
||||
# Fix long jump when not running
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x23EF70
|
||||
value_type: uint32
|
||||
value: 0x1453D863
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17350FC
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x1E27D00B
|
||||
- 0x1E2B296B
|
||||
- 0x17AC279C
|
||||
# Adjust QTE Speed
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735134
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018454
|
||||
- 0xBD426A81
|
||||
- 0x1400001B
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17351A8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xBD412262
|
||||
- 0x1E210841
|
||||
- 0x17BA4435
|
||||
## Connect function
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x5C6280
|
||||
value_type: uint32
|
||||
value: 0x1445BBAD
|
||||
# Adjust Overdrive counter, Follow Ball speed
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1735180
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018440
|
||||
- 0xBD427000
|
||||
- 0xD65F03C0
|
||||
## Connect function
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x67354
|
||||
value_type: uint32
|
||||
value: 0x945B36AB
|
||||
# Fix fog speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x296AE0
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90022948
|
||||
- 0xBD426902
|
||||
- 0x945279B3
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x17351B4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x1E21C042
|
||||
- 0x1F020020
|
||||
- 0xD65F03C0
|
||||
ALL_FPS:
|
||||
# FPS Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x47BE300]
|
||||
value_type: uint32
|
||||
value: "FRAMETIME_TARGET * 1000000"
|
||||
# FPS Lock
|
||||
# ref: 00 01 00 b9 2a 01 00 b9 c0 03 5f d6
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1D943A0]
|
||||
value_type: int32
|
||||
value: [1, 1]
|
||||
# DR Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x47BEF00]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
# Lock game to 30 FPS when complex/prerendered cutscene is played
|
||||
## Adjusts DR target
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x1FEFAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 2
|
||||
address: [MAIN, 0x47BEF00]
|
||||
value_type: float
|
||||
value: 0.03333333333
|
||||
## Force OS to run at 60 Hz with interval 2
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x1FEFAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 2
|
||||
address: [MAIN]
|
||||
value_type: refresh_rate
|
||||
value: 30
|
@ -1,356 +0,0 @@
|
||||
# Xenoblade Chronicles X: Definitive Edition 1.0.1
|
||||
# BID: 3F2425864CF22684
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Dynamic speed mod for stuff like UI, lipsync, grass and rain
|
||||
## Redirect nvnQueuePresentTexture call to code cave at MAIN+0x1744D90
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x96ECD8
|
||||
value_type: uint32
|
||||
value: 0x1437582E
|
||||
## Code Cave (save floats for speed factor to MAIN+0x47CD268, frametime as FPS in MAIN+0x47CD26C, frametime in s in MAIN+0x47CD270)
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744D90
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD63F0100
|
||||
- 0x97FFF52B
|
||||
- 0xB0018448
|
||||
- 0xF9413107
|
||||
- 0xF9013100
|
||||
- 0xB5000047
|
||||
- 0x17C8A7CD
|
||||
- 0xCB070000
|
||||
- 0x97FFF528
|
||||
- 0xB0018448
|
||||
- 0xB9430101
|
||||
- 0xEB00003F
|
||||
- 0x5400004B
|
||||
- 0xAA0103E0
|
||||
- 0xD2881541
|
||||
- 0xF2A07F21
|
||||
- 0xEB00003F
|
||||
- 0x5400004C
|
||||
- 0xAA0103E0
|
||||
- 0x9E630000
|
||||
- 0xD00005A0
|
||||
- 0xFD469C01
|
||||
- 0x1E611800
|
||||
- 0xD2807D00
|
||||
- 0x9E630001
|
||||
- 0x1E601821
|
||||
- 0xB0018440
|
||||
- 0x1E624021
|
||||
- 0xBD026C01
|
||||
- 0x1E27D002
|
||||
- 0x1E211842
|
||||
- 0xBD026802
|
||||
- 0xD2807D01
|
||||
- 0x9E630021
|
||||
- 0x1E611801
|
||||
- 0x1E624021
|
||||
- 0xBD027001
|
||||
- 0x17C8A7AE
|
||||
## Default values for code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47CD268
|
||||
value_type: float
|
||||
value: [1.0, 30.0, 0.033333333333]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47CD300
|
||||
value_type: uint32
|
||||
value: 33333333
|
||||
## Function 1 to speed factor // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2864C8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF0022A35
|
||||
- 0xF9470D00
|
||||
- 0xBD426AAA
|
||||
## Function 3 to speed factor // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xA26D00
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF001ED20
|
||||
- 0xBD426808
|
||||
## Function 4 to FPS // UI Speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xA2EE60
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF001ECE0
|
||||
- 0x1E270100
|
||||
- 0xBD426C00
|
||||
## Function 5 to FPS // Usage unknown
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x266E3C
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF0022B20
|
||||
- 0x1E270100
|
||||
- 0x7940D268
|
||||
- 0xBD426C05
|
||||
## Function 6 to FPS
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x26D6D0
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90022B00
|
||||
- 0xBD426C00
|
||||
- 0x1E390000
|
||||
- 0x528000C9
|
||||
- 0x1AC90808
|
||||
## Function 7 to Frametime in s // Gameplay + cutscene speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E24E4
|
||||
value_type: uint32
|
||||
value: 0xF0022F49
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E24F8
|
||||
value_type: uint32
|
||||
value: 0xBD427120
|
||||
# Adjust various elements related to fighting
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E8B08
|
||||
value_type: uint32
|
||||
value: 0x145570EB
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744EB4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018449
|
||||
- 0xBD426920
|
||||
- 0x17AA8F14
|
||||
## Fix gun speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x30F62C
|
||||
value_type: uint32
|
||||
value: 0xD503201F
|
||||
# Redirect DR Target to MAIN+0x47CDF00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x13B8DF4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB001A0A8
|
||||
- 0xBD4F0100
|
||||
## Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x47CDF00
|
||||
value_type: float
|
||||
value: 0.01666666666
|
||||
# Adjust camera speed rotation dynamically
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744E48
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018448
|
||||
- 0xBD426908
|
||||
- 0x1E200900
|
||||
- 0x1E202008
|
||||
- 0x540000AA
|
||||
- 0x1E214000
|
||||
- 0x1E21C000
|
||||
- 0x1E214000
|
||||
- 0xD65F03C0
|
||||
- 0x1E21C000
|
||||
- 0xD65F03C0
|
||||
## Connect function 1
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E1360
|
||||
value_type: uint32
|
||||
value: 0x94558EBA
|
||||
## Connect function 2
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E1370
|
||||
value_type: uint32
|
||||
value: 0xAD7D03A1
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1E137C
|
||||
value_type: uint32
|
||||
value: 0x94558EB3
|
||||
# Force 1s sleep to synchronize audio if cutscene detected
|
||||
## Use function responsible for writing type of cutscene to write its ID if it's 8 or 16 (or 0 for any other) to MAIN+0x47CDFFF
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2FAC38
|
||||
value_type: uint32
|
||||
value: 0x14512898
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744E98
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x52800094
|
||||
- 0xD00045C0
|
||||
- 0xB90AF414
|
||||
- 0xD2994000
|
||||
- 0xF2A77340
|
||||
- 0x97FFF3D9
|
||||
- 0x17AED763
|
||||
# Adjust Field Action gauge bar speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xE5B00
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90023740
|
||||
- 0xD000E3E9
|
||||
- 0xBD426808
|
||||
## Fix for FN Site
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xE5558
|
||||
value_type: uint32
|
||||
value: 0x14597E34
|
||||
### Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744E28
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xBD40D260
|
||||
- 0xB0018440
|
||||
- 0xBD426801
|
||||
- 0x1E210800
|
||||
- 0x17A681C9
|
||||
# Fix long jump when not running
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x23EAD0
|
||||
value_type: uint32
|
||||
value: 0x145418DB
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744E3C
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x1E27D00B
|
||||
- 0x1E2B296B
|
||||
- 0x17ABE724
|
||||
# Adjust QTE Speed
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744E74
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018454
|
||||
- 0xBD426A81
|
||||
- 0x1400001B
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744EE8
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xBD412262
|
||||
- 0x1E210841
|
||||
- 0x17BA0261
|
||||
## Connect function
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x5C5870
|
||||
value_type: uint32
|
||||
value: 0x1445FD81
|
||||
# Adjust Overdrive counter, Follow Ball speed
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744EC0
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0018440
|
||||
- 0xBD427000
|
||||
- 0xD65F03C0
|
||||
## Connect function
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x67354
|
||||
value_type: uint32
|
||||
value: 0x945B76DB
|
||||
# Fix fog speed
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x296640
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF00229A8
|
||||
- 0xBD426902
|
||||
- 0x9452BA2B
|
||||
## Code cave
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1744EF4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x1E21C042
|
||||
- 0x1F020020
|
||||
- 0xD65F03C0
|
||||
ALL_FPS:
|
||||
# FPS Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x47CD300]
|
||||
value_type: uint32
|
||||
value: "FRAMETIME_TARGET * 1000000"
|
||||
# FPS Lock
|
||||
# ref: 00 01 00 b9 2a 01 00 b9 c0 03 5f d6
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x1DA33A0]
|
||||
value_type: int32
|
||||
value: [1, 1]
|
||||
# DR Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x47CDF00]
|
||||
value_type: float
|
||||
value: "1 / FPS_TARGET"
|
||||
# Lock game to 30 FPS when complex/prerendered cutscene is played
|
||||
## Adjusts DR target
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x1FFEAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 1
|
||||
address: [MAIN, 0x47CDF00]
|
||||
value_type: float
|
||||
value: 0.03333333333
|
||||
## Force OS to run at 60 Hz with interval 2
|
||||
-
|
||||
type: compare
|
||||
compare_address: [MAIN, 0x1FFEAF4]
|
||||
compare_value_type: uint32
|
||||
compare_type: ">"
|
||||
compare_value: 1
|
||||
address: [MAIN]
|
||||
value_type: refresh_rate
|
||||
value: 30
|
@ -1,27 +0,0 @@
|
||||
# Romancing SaGa 2: Revenge of the Seven 1.0.2
|
||||
# BID: 1933FBAFE977FA75
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6D1EA80, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7BFAC70, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C534C0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Star Overdrive 1.0.6
|
||||
# BID: 728D92CB9E54CE7A
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x674C6E8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77322F0, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x776C850, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Star Overdrive 1.0.5
|
||||
# BID: C0D9B410A09A4ADD
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x674B6E8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x77312F0, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x776B850, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,30 +0,0 @@
|
||||
# S.T.A.L.K.E.R.: Shadow Of Chornobyl 1.0.2
|
||||
# BID: 8E8BFFE66292CFF1
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x165F4EC]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x167B9F0]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x18E7ACC]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x165F2F0]
|
||||
value_type: float
|
||||
value: "0.99 * FRAMETIME_TARGET"
|
@ -1,30 +0,0 @@
|
||||
# S.T.A.L.K.E.R.: Shadow Of Chornobyl 1.0.3
|
||||
# BID: F7D1E815E44D0A56
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# psLoadedFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x165F4EC]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitFps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x167B9F0]
|
||||
value_type: float
|
||||
value: FPS_LOCK_TARGET
|
||||
# psCurrentFrameLimitMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x18E7ACC]
|
||||
value_type: float
|
||||
value: "1000 / FPS_LOCK_TARGET"
|
||||
# ResolutionInfo::sDynresGPUBudgetMs
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x165F2F0]
|
||||
value_type: float
|
||||
value: "FRAMETIME_TARGET - (1/30)"
|
@ -0,0 +1,27 @@
|
||||
# Immortals Fenyx Rising 1.3.4
|
||||
# BID: 70F3F6751D73C644
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Game switches resolution to 13/15 of normal resolution when moving camera with right stick and game cannot handle target FPS
|
||||
# Redirect reading DR time target to MAIN + 0xA7E4F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x15A9F10
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF00491C8
|
||||
- 0xBD4F0101
|
||||
# Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0xA7E4F00
|
||||
value_type: float
|
||||
value: 33.3333333333
|
||||
ALL_FPS:
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xA7E4F00]
|
||||
value_type: float
|
||||
value: FRAMETIME_TARGET
|
@ -16,12 +16,6 @@ ALL_FPS:
|
||||
address: [MAIN, 0x7451B78, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6C85418, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
||||
|
@ -1,38 +0,0 @@
|
||||
# REYNATIS (US/EU) 1.0.8
|
||||
# BID: 11D6D6158B566A74
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C0DF00
|
||||
# REF: 01 f0 67 1e
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CEEC
|
||||
value_type: uint32
|
||||
value: # 941702B0 818247FD 1020611E 6922482D CD020054 6A6240BD
|
||||
- 0xB0021794 # adrp x20, #0x7c0d000
|
||||
- 0xFD478281 # ldr d1, [x20, #0xf00]
|
||||
- 0x1E612010 # fcmpe d0, d1
|
||||
- 0x2D482269 # ldp s9, s8, [x19, #0x40]
|
||||
- 0x540002CD # b.le #0x391cf54
|
||||
- 0xBD40626A # ldr s10, [x19, #0x60]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CF54
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xFD478681 # ldr d1, [x20, #0xf08]
|
||||
# Default handheld value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x7C0DF00
|
||||
value_type: double
|
||||
value: [31, 29]
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Timing
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C0DF00]
|
||||
value_type: double
|
||||
value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"]
|
@ -1,38 +0,0 @@
|
||||
# REYNATIS (US/EU) 1.0.6
|
||||
# BID: 25A4C89527E7A6E6
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C0DF00
|
||||
# REF: 01 f0 67 1e
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CEEC
|
||||
value_type: uint32
|
||||
value: # 941702B0 818247FD 1020611E 6922482D CD020054 6A6240BD
|
||||
- 0xB0021794 # adrp x20, #0x7c0d000
|
||||
- 0xFD478281 # ldr d1, [x20, #0xf00]
|
||||
- 0x1E612010 # fcmpe d0, d1
|
||||
- 0x2D482269 # ldp s9, s8, [x19, #0x40]
|
||||
- 0x540002CD # b.le #0x391cf54
|
||||
- 0xBD40626A # ldr s10, [x19, #0x60]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CF54
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xFD478681 # ldr d1, [x20, #0xf08]
|
||||
# Default handheld value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x7C0DF00
|
||||
value_type: double
|
||||
value: [31, 29]
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Timing
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C0DF00]
|
||||
value_type: double
|
||||
value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"]
|
@ -1,38 +0,0 @@
|
||||
# REYNATIS (US/EU) 1.0.10
|
||||
# BID: 5F765D2CC4CDEF1C
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C22F00
|
||||
# REF: 01 f0 67 1e
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x38E7ECC
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xF00219D4 # adrp x20, #0x7c22000
|
||||
- 0xFD478281 # ldr d1, [x20, #0xf00]
|
||||
- 0x1E612010 # fcmpe d0, d1
|
||||
- 0x2D482269 # ldp s9, s8, [x19, #0x40]
|
||||
- 0x540002CD # b.le #0x38e7f34
|
||||
- 0xBD40626A # ldr s10, [x19, #0x60]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x38E7F34
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xFD478681 # ldr d1, [x20, #0xf08]
|
||||
# Default handheld value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x7C22F00
|
||||
value_type: double
|
||||
value: [31, 29]
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Timing
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C22F00]
|
||||
value_type: double
|
||||
value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"]
|
@ -1,38 +0,0 @@
|
||||
# REYNATIS (US/EU) 1.0.7
|
||||
# BID: 7C8FE1FD610E1F1F
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C0DF00
|
||||
# REF: 01 f0 67 1e
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CEEC
|
||||
value_type: uint32
|
||||
value: # 941702B0 818247FD 1020611E 6922482D CD020054 6A6240BD
|
||||
- 0xB0021794 # adrp x20, #0x7c0d000
|
||||
- 0xFD478281 # ldr d1, [x20, #0xf00]
|
||||
- 0x1E612010 # fcmpe d0, d1
|
||||
- 0x2D482269 # ldp s9, s8, [x19, #0x40]
|
||||
- 0x540002CD # b.le #0x391cf54
|
||||
- 0xBD40626A # ldr s10, [x19, #0x60]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CF54
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xFD478681 # ldr d1, [x20, #0xf08]
|
||||
# Default handheld value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x7C0DF00
|
||||
value_type: double
|
||||
value: [31, 29]
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Timing
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C0DF00]
|
||||
value_type: double
|
||||
value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"]
|
@ -1,38 +0,0 @@
|
||||
# REYNATIS (US/EU) 1.0.9
|
||||
# BID: C59C89CCDF382602
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect reading DR timing in DynamicResolution::LowerResSW() to MAIN + 0x7C0DF00
|
||||
# REF: 01 f0 67 1e
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CEEC
|
||||
value_type: uint32
|
||||
value: # 941702B0 818247FD 1020611E 6922482D CD020054 6A6240BD
|
||||
- 0xB0021794 # adrp x20, #0x7c0d000
|
||||
- 0xFD478281 # ldr d1, [x20, #0xf00]
|
||||
- 0x1E612010 # fcmpe d0, d1
|
||||
- 0x2D482269 # ldp s9, s8, [x19, #0x40]
|
||||
- 0x540002CD # b.le #0x391cf54
|
||||
- 0xBD40626A # ldr s10, [x19, #0x60]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x391CF54
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xFD478681 # ldr d1, [x20, #0xf08]
|
||||
# Default handheld value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x7C0DF00
|
||||
value_type: double
|
||||
value: [31, 29]
|
||||
ALL_FPS:
|
||||
# Dynamic Resolution Timing
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7C0DF00]
|
||||
value_type: double
|
||||
value: ["0.93 * FRAMETIME_TARGET", "(0.93 * FRAMETIME_TARGET) - 2"]
|
@ -1,7 +1,7 @@
|
||||
# DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.50
|
||||
# BID: 20503FA77FA416B7
|
||||
|
||||
unsafeCheck: false
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate in cutscenes to unlock framerate
|
||||
|
@ -1,7 +1,7 @@
|
||||
# DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.51
|
||||
# BID: 389E38618E93A5E0
|
||||
|
||||
unsafeCheck: false
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate in cutscenes to unlock framerate
|
||||
|
@ -1,35 +0,0 @@
|
||||
# DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.52
|
||||
# BID: 72F6F8B54276185C
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Disable bUseFixedFrameRate in cutscenes to unlock framerate
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x945A538, 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
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x9425478, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x945ADE8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x88C6FD8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
@ -1,36 +0,0 @@
|
||||
# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.1.0
|
||||
# BID: 153DB27728D41305
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR to MAIN + 0x2F11FF0
|
||||
# REF: A9 24 89 52 49 A2 A7 72
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x10B09B4
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB000F309 # adrp x9, 0x2f11000
|
||||
- 0xBD4FF121 # ldr s1, [x9, 0xff0]
|
||||
- 0xD503201F # nop
|
||||
## Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2F11FF0
|
||||
value_type: float
|
||||
value: 0.035714
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2ED8D10, 0xE0, 0x284]
|
||||
value_type: uint8
|
||||
value: 0
|
||||
# DR Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x2F11FF0]
|
||||
value_type: float
|
||||
value: "1.01 / FPS_TARGET"
|
@ -1,36 +0,0 @@
|
||||
# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.2.0
|
||||
# BID: 29F67D61B0AD1500
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
MASTER_WRITE:
|
||||
# Redirect DR to MAIN + 0x2F4CFF0
|
||||
# REF: A9 24 89 52 49 A2 A7 72, second REF
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x10B2424
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD000F4C9 # adrp x9, 0x2F4C000
|
||||
- 0xBD4FF121 # ldr s1, [x9, 0xFF0]
|
||||
- 0xD503201F # nop
|
||||
## Default value
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x2F4CFF0
|
||||
value_type: float
|
||||
value: 0.035714
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2F13D80, 0xE0, 0x284]
|
||||
value_type: uint8
|
||||
value: 0
|
||||
# DR Target
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x2F4CFF0]
|
||||
value_type: float
|
||||
value: "1.01 / FPS_TARGET"
|
@ -1,13 +0,0 @@
|
||||
# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.0.2
|
||||
# BID: 5E43788065113530
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2E8DCF0, 0xE0, 0x284]
|
||||
value_type: uint8
|
||||
value: 0
|
@ -1,13 +0,0 @@
|
||||
# Atelier Yumia: The Alchemist of Memories & the Envisioned Land 1.0.1
|
||||
# BID: A947DDE7826A3562
|
||||
|
||||
unsafeCheck: false
|
||||
|
||||
ALL_FPS:
|
||||
# Disable FPS Lock
|
||||
# REF: 88 46 40 F9 03 11 40 F9, first ADRP+LDR above it
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x2E8AB00, 0xE0, 0x284]
|
||||
value_type: uint8
|
||||
value: 0
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.76.8f16
|
||||
# BID: 2213810D247A7293
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE36A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.75.9499
|
||||
# BID: 27BDC0166D5D5A1B
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE1DA68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.78.24C5
|
||||
# BID: 641E15F899C4A057
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE66A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.78.9aa6
|
||||
# BID: 7E587D3ADCFD66BC
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE6FA68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.75.dd04
|
||||
# BID: AF76EBEDE6A89F89
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE25A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.77.4815
|
||||
# BID: B8264CDBC1CBFFCF
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE3CA68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.76.fc6a
|
||||
# BID: C953D6F477604662
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE3BA68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.79.b056
|
||||
# BID: EB8D70AB59D8A4C2
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE71A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.7b.3ca3
|
||||
# BID: EE92CAF016873D08
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE91A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.78.f2e9
|
||||
# BID: F51888C0188BFA18
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE6FA68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.7a.a54b
|
||||
# BID: F57C74294E14BDCC
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE78A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,12 +0,0 @@
|
||||
# EA SPORTS FC 25 1.7a.6c14
|
||||
# BID: FF365FA7E744CDDA
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xCE76A68, 8]
|
||||
value_type: double
|
||||
value: FPS_TARGET
|
@ -1,27 +0,0 @@
|
||||
# Bravely Default II Asia 1.0.0
|
||||
# BID: B5B9C7BB8D9716F6
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x72AEE90, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x73050F0, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x69AA5C0, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Funko Fusion 2.6.2
|
||||
# BID: BDB53001D5CAD0AE
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x752BA68, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8507078, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8534F60, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Funko Fusion 2.3.0
|
||||
# BID: E6B427227FED8411
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x74BEA68, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x849A078, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x84C7F60, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Funko Fusion 2.4.0
|
||||
# BID: F0787926C4CFF8F1
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x74FBA68, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x84D7078, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x8504F60, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,75 +0,0 @@
|
||||
# WARRIORS: Abyss 1.2.1
|
||||
# BID: 293D73083149473E
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E
|
||||
# Use FPS Target instead of vsync value for Dynamic Resolution max delta
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6BD270
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0004521 # ADRP X1, 0xF62000
|
||||
- 0xBD44D821 # LDR S1, [X1, 0x4D8]
|
||||
# Redirect DR Targets to MAIN+0x13F3F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6BD314
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD00069A9 # ADRP X9, 0x13F3000
|
||||
- 0xBD4F0121 # LDR S1, [X9, 0xF00]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6BD324
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xD00069A9 # ADRP X9, 0x13F3000
|
||||
- 0xBD4F0521 # LDR S1, [X9, 0xF04]
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x13F3F00
|
||||
value_type: float
|
||||
value: [50, 40]
|
||||
ALL_FPS:
|
||||
# REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00
|
||||
# FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624E4]
|
||||
value_type: uint32
|
||||
value: "120 / FPS_LOCK_TARGET"
|
||||
# Prevent from setting it as 0, otherwise game crashes
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0xF624E4]
|
||||
compare_type: "=="
|
||||
compare_value_type: uint32
|
||||
compare_value: 0
|
||||
address: [MAIN, 0xF624E4]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# Others
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624D8]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624DC]
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xF624E0]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x13F3F00]
|
||||
value_type: float
|
||||
value: ["1.5 * FRAMETIME_TARGET", "1.2 * FRAMETIME_TARGET"]
|
@ -1,75 +0,0 @@
|
||||
# WARRIORS: Abyss 1.1.0
|
||||
# BID: 50C9028B61A0BB7F
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E
|
||||
# Use FPS Target instead of vsync value for Dynamic Resolution max delta
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6400D0
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0x90004441 # ADRP X1, 0xEC8000
|
||||
- 0xBD44C021 # LDR S1, [X1, 0x4C0]
|
||||
# Redirect DR Targets to MAIN+0x1359F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x640174
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB00068C9 # ADRP X9, 0x1359000
|
||||
- 0xBD4F0121 # LDR S1, [X9, 0xF00]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x640184
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB00068C9 # ADRP X9, 0x1359000
|
||||
- 0xBD4F0521 # LDR S1, [X9, 0xF04]
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1359F00
|
||||
value_type: float
|
||||
value: [50, 40]
|
||||
ALL_FPS:
|
||||
# REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00
|
||||
# FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEC84CC]
|
||||
value_type: uint32
|
||||
value: "120 / FPS_LOCK_TARGET"
|
||||
# Prevent from setting it as 0, otherwise game crashes
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0xEC84CC]
|
||||
compare_type: "=="
|
||||
compare_value_type: uint32
|
||||
compare_value: 0
|
||||
address: [MAIN, 0xEC84CC]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# Others
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEC84C0]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEC84C4]
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xEC84C8]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1359F00]
|
||||
value_type: float
|
||||
value: ["1.5 * FRAMETIME_TARGET", "1.2 * FRAMETIME_TARGET"]
|
@ -1,75 +0,0 @@
|
||||
# WARRIORS: Abyss 1.3.0
|
||||
# BID: 71C5F3CB333F1542
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
MASTER_WRITE:
|
||||
# REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E
|
||||
# Use FPS Target instead of vsync value for Dynamic Resolution max delta
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6D24D0
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0004841 # ADRP X1, 0xFDB000
|
||||
- 0xBD4E0021 # LDR S1, [X1, 0xE00]
|
||||
# Redirect DR Targets to MAIN+0x1477F00
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6D2574
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0006D29 # ADRP X9, 0x1477000
|
||||
- 0xBD4F0121 # LDR S1, [X9, 0xF00]
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x6D2584
|
||||
value_type: uint32
|
||||
value:
|
||||
- 0xB0006D29 # ADRP X9, 0x1477000
|
||||
- 0xBD4F0521 # LDR S1, [X9, 0xF04]
|
||||
# Default values
|
||||
-
|
||||
type: bytes
|
||||
main_offset: 0x1477F00
|
||||
value_type: float
|
||||
value: [50, 40]
|
||||
ALL_FPS:
|
||||
# REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00
|
||||
# FPS Lock
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFDBE0C]
|
||||
value_type: uint32
|
||||
value: "120 / FPS_LOCK_TARGET"
|
||||
# Prevent from setting it as 0, otherwise game crashes
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0xFDBE0C]
|
||||
compare_type: "=="
|
||||
compare_value_type: uint32
|
||||
compare_value: 0
|
||||
address: [MAIN, 0xFDBE0C]
|
||||
value_type: uint32
|
||||
value: 1
|
||||
# Others
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFDBE00]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFDBE04]
|
||||
value_type: uint32
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xFDBE08]
|
||||
value_type: float
|
||||
value: "FPS_TARGET"
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x1477F00]
|
||||
value_type: float
|
||||
value: ["1.5 * FRAMETIME_TARGET", "1.2 * FRAMETIME_TARGET"]
|
@ -1,21 +0,0 @@
|
||||
# Tales of Kenzera: TAU 1.5.0
|
||||
# BID: 9E7FB72540D748BA
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6917E78, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x611ADC8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# Ghostbusters: Spirits Unleashed Ecto Edition 1.11.0
|
||||
# BID: 49F6F257348A42A1
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xBBFBF70, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0xBC21B48, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0xB42B9B8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,28 +0,0 @@
|
||||
# SONIC X SHADOW GENERATIONS Launcher / SHADOW GENERATIONS 1.1.0
|
||||
# BID: C8CDBFD621A6B29B
|
||||
|
||||
# FPS Lock is used to determine dynamic resolution timing too, but it doesn't work properly when setting higher FPS.
|
||||
# DR Timing Fix is applied for anything above 30 FPS as it seems to fix the most notorious issue - stucking at 360p.
|
||||
# Turn off Window Sync for better performance
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# Internal FPS Lock
|
||||
# REF: C8 AA 8A 52 A8 30 A8 72 first ADRP above it
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x3EAB7B8, 0x14]
|
||||
value_type: float
|
||||
value: FPS_TARGET
|
||||
# DR Timing fix, applied only for handheld
|
||||
# Ref: 00 01 3F D6 B4 02 00 F9 E0 03 13 AA 01 3E 80 52 first ADRP above it
|
||||
-
|
||||
type: evaluate_compare
|
||||
compare_address: [MAIN, 0x3EAB7E0, 0x18, 0x260, 0x24]
|
||||
compare_value_type: float
|
||||
compare_type: "=="
|
||||
compare_value: -2.8
|
||||
address: [MAIN, 0x3EAB7E0, 0x18, 0x260, 0x24]
|
||||
value_type: float
|
||||
value: ["-1.4 * VSYNC_TARGET", "-0.6 * VSYNC_TARGET", "0.025 * VSYNC_TARGET", "0.04 * VSYNC_TARGET", "0.05 * VSYNC_TARGET", "0.15 * VSYNC_TARGET"]
|
@ -1,4 +1,4 @@
|
||||
# SONIC GENERATIONS 1.0.1/1.1.0
|
||||
# SONIC GENERATIONS 1.0.1
|
||||
# BID: D91C67509C6AED8D
|
||||
|
||||
unsafeCheck: true
|
||||
|
@ -1,21 +0,0 @@
|
||||
# Cassette Beasts 1.7.2
|
||||
# BID: 153D5A2ABB9C0BA6
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# physics/common/physics_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x24]
|
||||
value_type: int32
|
||||
value: FPS_TARGET
|
||||
# debug/settings/fps/force_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x30]
|
||||
value_type: int32
|
||||
value: FPS_LOCK_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,21 +0,0 @@
|
||||
# Cassette Beasts 1.8.0
|
||||
# BID: B5DCAAA828DA5034
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# physics/common/physics_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x24]
|
||||
value_type: int32
|
||||
value: FPS_TARGET
|
||||
# debug/settings/fps/force_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x30]
|
||||
value_type: int32
|
||||
value: FPS_LOCK_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,21 +0,0 @@
|
||||
# Cassette Beasts 1.7.1
|
||||
# BID: F09EAE79357E3032
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# physics/common/physics_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x24]
|
||||
value_type: int32
|
||||
value: FPS_LOCK_TARGET
|
||||
# debug/settings/fps/force_fps
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x30AAAE0, 0x30]
|
||||
value_type: int32
|
||||
value: FPS_LOCK_TARGET
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,24 +0,0 @@
|
||||
# Sword of the Necromancer: Resurrection 1.0.4
|
||||
# BID: 7C37B073B19F3CCF
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7577E00, 0]
|
||||
value_type: float
|
||||
value: ["0.9 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x75AC298, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6DD3CB8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
@ -1,24 +0,0 @@
|
||||
# Sword of the Necromancer: Resurrection 1.0.3
|
||||
# BID: B70551B5A2D0F15F
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x7573E00, 0]
|
||||
value_type: float
|
||||
value: ["0.9 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x75A8298, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6DCFCB8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
@ -1,24 +0,0 @@
|
||||
# Sword of the Necromancer: Resurrection 1.0.5
|
||||
# BID: FFF55266A618D06A
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x758CE00, 0]
|
||||
value_type: float
|
||||
value: ["0.9 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x75C1298, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6DE8CB8, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
@ -1,27 +0,0 @@
|
||||
# The Plucky Squire 1.0.8
|
||||
# BID: 892E6C4FE0D850B5
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6C06668, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6C34348, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6436CE8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# The Plucky Squire 1.0.7
|
||||
# BID: AFDEB128252898AC
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.DynamicRes.FrameTimeBudget
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6C04668, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6C32348, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6434CE8, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,27 +0,0 @@
|
||||
# The Plucky Squire 1.0.6
|
||||
# BID: FD3AC4FFB1B769D5
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x63A7538, 0]
|
||||
value_type: int32
|
||||
value: [0, 0]
|
||||
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6B76668, 0]
|
||||
value_type: float
|
||||
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6BA4328, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
@ -1,21 +0,0 @@
|
||||
# The Bridge Curse - Road to Salvation 1.6.0.1
|
||||
# BID: F54FC539CAF24C64
|
||||
|
||||
unsafeCheck: true
|
||||
|
||||
ALL_FPS:
|
||||
# r.VSync
|
||||
-
|
||||
type: write
|
||||
address: [MAIN, 0x6560E98, 0]
|
||||
value_type: uint32
|
||||
value: [0, 0]
|
||||
# t.MaxFPS
|
||||
-
|
||||
type: evaluate_write
|
||||
address: [MAIN, 0x6D5D3B8, 0]
|
||||
value_type: float
|
||||
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
|
||||
-
|
||||
type: block
|
||||
what: timing
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user