Ultra 2.2 Release 1

This commit is contained in:
redraz 2024-07-02 12:50:28 +03:00
parent 309c2e7b4f
commit ad232cfee7
469 changed files with 3105 additions and 52468 deletions

View File

@ -6,7 +6,9 @@
### Ultra - это функциональная кастомная прошивка для Nintendo Switch, с упором в разгон и улучшенный пользовательский опыт.
### [Ultra 2.2](https://github.com/Ultra-NX/Ultra-Resources/releases/download/Test/Ultra.zip) Поддерживает HOS 18.1.0 и все ревизии консолей
### [Ultra 2.2](https://github.com/Ultra-NX/Ultra/releases/latest) Поддерживает HOS 18.1.0 и все ревизии консолей
## Особенности Ultra
@ -19,19 +21,27 @@
* Регулярные обновления, и активное коммьюнити.
* Подробная [Wiki](https://github.com/Ultra-NX/Ultra/wiki) в которой есть ответы почти на все вопросы.
## Состав Ultra
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)** - Пакет для Ultra Paw (форка Ultrahand), позволяющий произвести тонкую настройку параметров под свою консоль. В случае нестабильной работы разгона, или при желании увеличить производительность консоли, Ultra Tuner - Ваш незаменимый помощник.
1. **`OC-Switchcraft`**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Лоадер атмосферы с разгоном от B3711, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
1. **[OC-Switchcraft](https://discord.com/channels/854839758815363072/1173171845139288114/1253645315429371978)**, форк **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - Лоадер атмосферы с разгоном от B3711, позволяет выжать из N.Switch мощность Xbox One. Вовремя обновляется для поддержки новых возможностей Атмосферы.
1. **Установленные пейлоады**:
* [Lockpick_RCM](https://sigmapatches.su) - Программа для снятия ключей консоли.
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - Низкоуровневый файловый менеджер для работы с системой.
1. **Установленные Homebrew**
* [AiO Switch Updater](https://github.com/HamletDuFromage/aio-switch-updater) - Программа для обновления Ultra до актуальной версии, а так же для скачивания читов.
* [Daybreak](https://codeberg.org/rashevskyv/kefir) - Программа для обновления системного ПО.
* [DBI](https://github.com/rashevskyv/dbi) - Лучший файловый менеджер, менеджер сохранений и установщик программ на консоль. Если вам нужна другая локализация - в [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater) есть выбор из EN-RU-PTBR-ZHCN.
1. **Установленные модули**
* [SaltyNX](https://github.com/masagrator/SaltyNX) - Фоновый модуль, позволяющий модифицировать файлы\процессы в консоли, поддерживает плагины. Не совместим с 32-х битными играми (список на гитхабе проекта).
* [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - Модуль отвечающий за разгон процессора, памяти и видеочипа - для лучшей производительности. Периодически меняю версии от разных авторов. Оригинальные авторы: Meha/hanai3Bi, lineon, p-sam.
@ -39,22 +49,47 @@
* [sys-patch](https://sigmapatches.su) - Патчит систему на работу неподписанного софта вместо сигпатчей.
* [Ultrahand Overlay](https://github.com/ppkantorski/Ultrahand-Overlay) - Специальное оверлей-меню для взаимодействия с системой: разгон, управление режимами через ReverseNX, включение читов, прочее. Так же позволяет использовать самописные пакеты, например - Ultra Tuner.
- **`Ultra-Overlay`**, мод [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - Оверлей для управления модулем sys-clk. Немного изменен мной, но без копания в исходниках.
- [Ultra Status Monitor](https://github.com/Ultra-NX/Ultra-Status-Monitor), форк [Status Monitor](https://github.com/hanai3Bi/Status-Monitor-Overlay) - Оверлей позволяющий следить за параметрами консоли в реальном времени. Может выступать в качестве счетчика FPS. Сменить пресет Micro-оверлея можно в Updater.
- [Status Monitor](https://github.com/Ultra-NX/Status-Monitor-Overlay), форк [Status Monitor](https://github.com/hanai3Bi/Status-Monitor-Overlay) - Оверлей позволяющий следить за параметрами консоли в реальном времени. Может выступать в качестве счетчика FPS. Сменить пресет Micro-оверлея можно в Updater.
- [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/WerWolv/ovl-sysmodules/) - Оверлей для включения и отключения установленных системных модулей.
1. **Доступные для скачивания через [Updater](https://github.com/Ultra-NX/Ultra/wiki/Tuner-RU#Updater)**
* [Linkalho](https://github.com/rdmrocha/linkalho) - Программа для привязки аккаунта.
* [ReverseNX Tool](https://github.com/masagrator/ReverseNX-Tool) - Программа для управления ReverseNX.
* [Battery Desync Fix](https://github.com/CTCaer/battery_desync_fix_nx) - Программа для сброса контроллера батареи. Не используйте просто так!
*
* Homebrews:
* [Linkalho](https://github.com/rdmrocha/linkalho) - Программа для привязки аккаунта.
* [Tinfoil](https://tinfoil.io) - Установщик и каталог игр.
* [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений.
* [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`** - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
*
* Overlays:
* [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, работают и без системного модуля, активируя фоновую запись в играх, где это изначально запрещено.
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - Хоумбрю-музыкальный плеер, который работает через системный модуль, и может сворачиваться, работая в фоне.
* [Mission Control](https://github.com/ndeadly/MissionControl) - Модуль, позволяющий подключать практически любые геймпады к консоли по Bluetooth.
* [sys-con](https://github.com/o0Zz/sys-con) - Модуль, позволяющий подключать практически любые геймпады к консоли по USB.
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP сервер, работающий на фоне.
1. **Содержимое [Homebrews Pack](https://github.com/Ultra-NX/Ultra/releases/latest)**
*
* [HB App Store](https://github.com/fortheusers/hb-appstore) - Бесплатный магазин для скачивания Homebrew приложений.
* [SysDVR-conf](https://github.com/exelix11/SysDVR) - Программа для установки/удаления dvr патчей для игр. Патчи включают возможность записи в тех играх, где она отключена, но ломают некоторые другие игры, например "Ведьмак 3".
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP сервер, работающий на фоне.
* [sys-con](https://github.com/cathery/sys-con) - Модуль, позволяющий подключать практически любые геймпады к консоли по USB.
* [Mission Control](https://codeberg.org/rashevskyv/kefir) - Модуль, позволяющий подключать практически любые геймпады к консоли по Bluetooth.
* [Observer-Tool](https://github.com/rkuchkarov/Observer-Tool) - Оверлей с максимально подробным отображением статистики системы, напоминает Afterburner на PC.
* **`MemToolkitNX`** - Бенчмарк и Тестер памяти. Результат сильно зависит от разгона CPU.
* [Tinfoil](https://tinfoil.io) - Установщик и каталог игр.
* [ThemezerNX](https://github.com/suchmememanyskill/themezer-nx) + [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector) + [Theme Patches](https://github.com/exelix11/theme-patches) - Поиск и установка тем на свитч.
* [Mission Control](https://github.com/ndeadly/MissionControl) - Модуль, позволяющий подключать практически любые геймпады к консоли по Bluetooth.
* [sys-con](https://github.com/o0Zz/sys-con) - Модуль, позволяющий подключать практически любые геймпады к консоли по USB.
## Лицензии
@ -68,6 +103,9 @@
[CC-BY-NC-4.0 License](https://github.com/ppkantorski/Ultrahand-Overlay/blob/main/LICENSE)
* [Ultrahand-Overlay](https://github.com/ppkantorski/Ultrahand-Overlay)
## Благодарности
* Meha
@ -79,6 +117,8 @@
* 4PDA
#### А так же - отдельная благодарность администрации и участникам Ultra Group
## Поддержка
Если вам нравится проект, и у вас появилось желание поддержать меня копеечкой - я буду очень благодарен.

View File

@ -6,7 +6,9 @@
### Ultra is a functional custom firmware for Nintendo Switch, with a focus on overclocking and an improved user experience.
### [Ultra 2.2](https://github.com/Ultra-NX/Ultra-Resources/releases/download/Test/Ultra.zip) Supports HOS 18.1.0 and all console revisions
### [Ultra 2.2](https://github.com/Ultra-NX/Ultra/releases/latest) Supports HOS 18.1.0 and all console revisions
## Features of Ultra
@ -18,19 +20,27 @@
* Custom Ultra Monitor with FPS and system metrics.
* Regular updates, and an active community.
## Composition of Ultra
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 Ultra Paw (fork of 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`**, a fork of **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - The overclocked atmosphere loader by B3711, allows you to squeeze the power of the Xbox One out of the N.Switch. Updated in time to support new Atmosphere features.
1. **[OC-Switchcraft](https://discord.com/channels/854839758815363072/1173171845139288114/1253645315429371978)**, a fork of **[OC-Suite](https://github.com/hanai3Bi/Switch-OC-Suite/)** - The overclocked atmosphere loader by B3711, allows you to squeeze the power of the Xbox One out of the N.Switch. Updated in time to support new Atmosphere features.
1. **Installed Payloads**:
* [Lockpick_RCM](https://sigmapatches.su) - Program for dumping console keys.
* [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer) - A low-level file manager for working with the system.
1. **Installed Homebrew**
* [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://codeberg.org/rashevskyv/kefir) - A program for updating OS.
* [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**
* [SaltyNX](https://github.com/masagrator/SaltyNX) - Background module allowing to modify files/processes in console, supports plugins. Not compatible with 32-bit games (list on the project's github).
* [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - Module responsible for overclocking CPU, memory and GPU - for better performance. I change versions from different authors from time to time. Original authors: Meha/hanai3Bi, lineon, p-sam.
@ -38,22 +48,45 @@
* [sys-patch](https://sigmapatches.su) - Patches the system to run unsigned software instead of sigpatches.
* [Ultrahand Overlay](https://github.com/ppkantorski/Ultrahand-Overlay) - Special overlay-menu for interacting with the system: overclocking, controlling modes via ReverseNX, enabling cheats, etc. Also allows to use your own packages, for example, Ultra Tuner.
- **`Ultra-Overlay`**, a mod of [sys-clk](https://github.com/hanai3Bi/Switch-OC-Suite) - Overlay for controlling sys-clk module. Slightly modified by me, but without digging into sources.
- [Ultra Status Monitor](https://github.com/Ultra-NX/Ultra-Status-Monitor), a fork of [Status Monitor](https://github.com/masagrator/Status-Monitor-Overlay) - Overlay that allows you to monitor console parameters in real time. It can act as an FPS counter. You change preset of Micro-overlay appearance in Updater.
- [Status Monitor](https://github.com/Ultra-NX/Status-Monitor-Overlay), a fork of [Status Monitor](https://github.com/masagrator/Status-Monitor-Overlay) - Overlay that allows you to monitor console parameters in real time. It can act as an FPS counter. You change preset of Micro-overlay appearance in Updater.
- [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/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)**
* [Linkalho](https://github.com/rdmrocha/linkalho) - Account linking program.
* [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!
* Homebrews:
* [Linkalho](https://github.com/rdmrocha/linkalho) - 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.
* [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`** - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking.
* Overlays:
* [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.
* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) - A homebrew music player that runs through the system module, and can minimize while running in the background.
* [Mission Control](https://github.com/ndeadly/MissionControl) - A module that allows you to connect almost any gamepads to the console via bluetooth.
* [sys-con](https://github.com/o0Zz/sys-con) - A module that allows you to connect almost any gamepads to the console via USB.
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP server running in background.
1. **Contents of the [Homebrews Pack](https://github.com/Ultra-NX/Ultra/releases/latest)**
*
* [HB App Store](https://github.com/fortheusers/hb-appstore) - A free store for downloading Homebrew apps.
* [SysDVR-conf](https://github.com/exelix11/SysDVR) - A program to install/uninstall dvr patches for games. Patches enable recording in games where it is disabled, but break some other games like "The Witcher 3".
* [sys-ftpd](https://github.com/tomvita/sys-ftpd-light) - FTP server running in background.
* [sys-con](https://github.com/cathery/sys-con) - A module that allows you to connect almost any gamepads to the console via USB.
* [Mission Control](https://codeberg.org/rashevskyv/kefir) - A module that allows you to connect almost any gamepads to the console via bluetooth.
* [Observer-Tool](https://github.com/rkuchkarov/Observer-Tool) - An overlay with the most detailed display of system statistics, similar to Afterburner on PC.
* **`MemToolkitNX`** - Benchmark and Memory Tester. The result is highly dependent on CPU overclocking.
* [Tinfoil](https://tinfoil.io) - Installer and game store.
* [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.
* [Mission Control](https://github.com/ndeadly/MissionControl) - A module that allows you to connect almost any gamepads to the console via bluetooth.
* [sys-con](https://github.com/o0Zz/sys-con) - A module that allows you to connect almost any gamepads to the console via USB.
## License
@ -67,6 +100,8 @@ Listed below are the licenses of those programs that have been modified specific
[CC-BY-NC-4.0 License](https://github.com/ppkantorski/Ultrahand-Overlay/blob/main/LICENSE)
* [Ultrahand-Overlay](https://github.com/ppkantorski/Ultrahand-Overlay)
## Credits
* Meha
@ -78,6 +113,8 @@ Listed below are the licenses of those programs that have been modified specific
* 4PDA
#### And also - a special thanks to the administration and members of Ultra Group
## Support
If you like the project and you have a desire to support me with a penny - I will be very grateful.

View File

@ -1,213 +0,0 @@
# Horizon Chase 2 1.5.5
# BID: 1C95A999050892E0
unsafeCheck: true
15FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [15, 15]
# r.DynamicRes.FrameTimeBudget = 0.978 * (1000/FPS)
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [65.2, 65.2]
20FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [20, 20]
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [48.9, 48.9]
25FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [25, 25]
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [39.12, 39.12]
-
type: block
what: timing
30FPS:
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (by default it's 16.3)
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [32.6, 32.6]
35FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [35, 35]
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [27.942, 27.942]
-
type: block
what: timing
40FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [40, 40]
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [24.45, 24.45]
-
type: block
what: timing
45FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [45, 45]
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [21.733, 21.733]
-
type: block
what: timing
50FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [50, 50]
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [19.56, 19.56]
-
type: block
what: timing
55FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [55, 55]
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [17.781, 17.781]
-
type: block
what: timing
60FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F91398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x778C8A8, 0]
value_type: float
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x775ECE8, 0]
value_type: float
value: [16.3, 16.3]

View File

@ -1,153 +0,0 @@
# Horizon Chase 2 1.5.2
# BID: 3CE4DB955A23026E
unsafeCheck: true
15FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [15, 15]
20FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [20, 20]
25FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [0, 0]
35FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8C398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77878A8, 0]
value_type: float
value: [0, 0]

View File

@ -1,153 +0,0 @@
# Horizon Chase 2 1.5.4
# BID: 95B2E97C5D16385A
unsafeCheck: true
15FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [15, 15]
20FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [20, 20]
25FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [0, 0]
35FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.VSync
-
type: write
address: [MAIN, 0x6F8D398, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77888A8, 0]
value_type: float
value: [0, 0]

View File

@ -0,0 +1,27 @@
# Horizon Chase 2 1.6.3
# BID: F80EEC237D0963EE
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x8325D00, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8B13A30, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.DynamicRes.FrameTimeBudget = 0.978 * (1000/FPS)
-
type: evaluate_write
address: [MAIN, 0x8AEE598, 0]
value_type: float
value: ["TruncDec(0.978 * FRAMETIME_TARGET, 1)", "TruncDec(0.978 * FRAMETIME_TARGET, 1)"]
-
type: block
what: timing

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# OptimalFrameDuration_ms = 0.96 * (1000/FPS)
-
type: write
type: evaluate_write
address: [MAIN, 0x2153CFC]
value_type: float
value: 64
20FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 48
25FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 38.4
30FPS:
# OptimalFrameDuration_ms (default value)
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 32
35FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 27.42
40FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 24
45FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 21.333333
50FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 19.2
55FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 17.454545
60FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2153CFC]
value_type: float
value: 16
value: "0.96 * FRAMETIME_TARGET"

View File

@ -3,97 +3,13 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [0, 0]
35FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# t.MaxFPS (100 to ensure than NVN itself will handle 60 FPS while not enabling SmoothedFrameRateRange)
-
type: write
address: [MAIN, 0x579C208, 0]
value_type: float
value: [100, 100]

View File

@ -0,0 +1,33 @@
# Jujutsu Kaisen Cursed Clash US 1.1.0
# BID: 95761555A341B190
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8036A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8079F50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x73BB0C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80797A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,279 +0,0 @@
# Jujutsu Kaisen Cursed Clash US 1.0.2
# BID: EA01C4BA969E8159
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [15, 15]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value is 60)
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [0, 0]
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# fixedDeltaTime
-
type: write
type: evaluate_write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0333333333
20FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0333333333
25FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0333333333
30FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0333333333
35FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0166666666
40FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0166666666
45FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0166666666
50FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0166666666
55FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0166666666
60FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x4B3E500, 0x48]
value_type: float
value: 0.0166666666
value: "FRAMETIME_TARGET / 1000"

View File

@ -79,70 +79,7 @@ MASTER_WRITE:
main_offset: 0x5F8C
value_type: uint32
value: 0xD2A032A2
15FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
20FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
25FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
30FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
35FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
40FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
45FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
50FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
55FPS:
# dummy
-
type: write
address: [MAIN, 0x188CF00]
value_type: uint8
value: 0
60FPS:
ALL_FPS:
# dummy
-
type: write

View File

@ -3,105 +3,20 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [15, 15]
# t.VSync (default value) - game really struggles to get 60 FPS with this turned on
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [1, 1]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [20, 20]
# t.VSync (default value)
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [1, 1]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [25, 25]
# t.VSync (default value)
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [1, 1]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [0, 0]
# t.VSync (default value)
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [1, 1]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [35, 35]
# t.VSync
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6220790, 0]
@ -110,110 +25,3 @@ unsafeCheck: true
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [40, 40]
# t.VSync
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [45, 45]
# t.VSync
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [50, 50]
# t.VSync
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [55, 55]
# t.VSync
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69B8C78, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69AEE10, 0]
value_type: float
value: [60, 60]
# t.VSync
-
type: write
address: [MAIN, 0x6220790, 0]
value_type: int32
value: [0, 0]

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30)
-
type: write
type: evaluate_write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 64.333333
20FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 47.666666
25FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 37.666666
30FPS:
# OptimalFrameDuration_ms (default value)
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 31
35FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 26.238095
40FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 22.666666
45FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 19.888888
50FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 17.666666
55FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 15.848484
60FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x2D5A83C]
value_type: float
value: 14.333333
value: "FRAMETIME_TARGET - (0.07 * (1000/30))"

View File

@ -1,22 +1,22 @@
# TRANSFORMERS: EARTHSPARK - Expedition 1.0.5
# BID: F87BEAF2C5CE13E3
# Game is using double buffer, everything is hardcoded
# Game is using double frontbuffer and single backbuffer, everything is hardcoded
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -26,195 +26,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B9BDD8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6BD58A8, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x63DCAE8, 0]
value_type: uint32
value: [0, 0]

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
# Dynamic Resolution frame time target = (32.3/(1000/30)) * (1000/FPS)
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 64.6
20FPS:
ALL_FPS:
# Dynamic Resolution frame time target
-
type: write
type: evaluate_write
address: [MAIN, 0x2D7A974]
value_type: float
value: 48.45
25FPS:
# Dynamic Resolution frame time target
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 38.76
30FPS:
# Dynamic Resolution frame time target (default value)
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 32.3
35FPS:
# Dynamic Resolution frame time target
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 27.68
40FPS:
# Dynamic Resolution frame time target
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 24.225
45FPS:
# Dynamic Resolution frame time target
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 21.53
50FPS:
# Dynamic Resolution frame time target
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 19.38
55FPS:
# Dynamic Resolution frame time target
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 17.61
60FPS:
# Dynamic Resolution frame time target
-
type: write
address: [MAIN, 0x2D7A974]
value_type: float
value: 16.15
value: "0.969 * FRAMETIME_TARGET"

View File

@ -3,133 +3,16 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Dynamic Resolution Frame Time Min = 0.9 * (1000/FPS)
-
type: write
type: evaluate_write
address: [MAIN, 0x3356FC8]
value_type: float
value: 60
value: "0.9 * FRAMETIME_TARGET"
# Dynamic Resolution Frame Time Max = 0.99 * (1000/FPS)
-
type: write
type: evaluate_write
address: [MAIN, 0x3356FB0]
value_type: float
value: 66
20FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 45
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 49.5
25FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 36
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 39.6
30FPS:
# Dynamic Resolution Frame Time Min (default value)
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 30
# Dynamic Resolution Frame Time Max (default value)
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 33
35FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 25.71
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 28.28
40FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 22.5
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 24.75
45FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 20
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 22
50FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 18
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 19.8
55FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 16.36
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 18
60FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x3356FC8]
value_type: float
value: 15
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x3356FB0]
value_type: float
value: 16.5
value: "0.99 * FRAMETIME_TARGET"

View File

@ -1,135 +0,0 @@
# The Elder Scrolls V: Skyrim 1.1.177.3285177
# BID: 771BDFB65F8D0AF7
unsafeCheck: true
15FPS:
# Dynamic Resolution Frame Time Min = 0.9 * (1000/FPS)
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 60
# Dynamic Resolution Frame Time Max = 0.99 * (1000/FPS)
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 66
20FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 45
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 49.5
25FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 36
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 39.6
30FPS:
# Dynamic Resolution Frame Time Min (default value)
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 30
# Dynamic Resolution Frame Time Max (default value)
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 33
35FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 25.71
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 28.28
40FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 22.5
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 24.75
45FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 20
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 22
50FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 18
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 19.8
55FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 16.36
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 18
60FPS:
# Dynamic Resolution Frame Time Min
-
type: write
address: [MAIN, 0x33178C8]
value_type: float
value: 15
# Dynamic Resolution Frame Time Max
-
type: write
address: [MAIN, 0x33178B0]
value_type: float
value: 16.5

View File

@ -1,224 +0,0 @@
# The Witcher 3 3.7
# BID: 4FFB62F1CD9E17F8
unsafeCheck: false
15FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 63
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 63
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 15
-
type: block
what: timing
20FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 47.25
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 47.25
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 20
-
type: block
what: timing
25FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 37.8
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 37.8
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 25
-
type: block
what: timing
30FPS:
# DRGameTargetFrameTimeInMs (original value)
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 31.5
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 31.5
# LimitFPS (original value)
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 60
# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it.
35FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 27
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 27
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 35
-
type: block
what: timing
40FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 23.625
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 23.625
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 40
-
type: block
what: timing
45FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 21
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 21
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 45
-
type: block
what: timing
50FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 18.9
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 18.9
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 50
-
type: block
what: timing
55FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 17.1818181818
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 17.1818181818
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 55
-
type: block
what: timing
60FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 15.75
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 15.75
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 60
-
type: block
what: timing

View File

@ -3,222 +3,25 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# DRGameTargetFrameTimeInMs
-
type: write
type: evaluate_write
address: [MAIN, 0x41312B4]
value_type: float
value: 63
value: "0.945 * FRAMETIME_TARGET"
# DRCinematicTargetFrameTimeInMs
-
type: write
type: evaluate_write
address: [MAIN, 0x41312E4]
value_type: float
value: 63
value: "0.945 * FRAMETIME_TARGET"
# LimitFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 15
-
type: block
what: timing
20FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 47.25
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 47.25
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 20
-
type: block
what: timing
25FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 37.8
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 37.8
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 25
-
type: block
what: timing
30FPS:
# DRGameTargetFrameTimeInMs (original value)
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 31.5
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 31.5
# LimitFPS (original value)
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 60
# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it.
35FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 27
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 27
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 35
-
type: block
what: timing
40FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 23.625
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 23.625
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 40
-
type: block
what: timing
45FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 21
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 21
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 45
-
type: block
what: timing
50FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 18.9
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 18.9
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 50
-
type: block
what: timing
55FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 17.1818181818
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 17.1818181818
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 55
-
type: block
what: timing
60FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 15.75
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 15.75
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 60
value: FPS_LOCK_TARGET
-
type: block
what: timing

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynResTargetFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [15, 15]
value: [FPS_TARGET, FPS_TARGET]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynResTargetFPS (default value)
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [30, 30]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [35, 35]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [45, 45]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [55, 55]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynResTargetFPS
-
type: write
address: [MAIN, 0x71A31F8, 0]
value_type: int32
value: [60, 60]
# t.MaxFPS
-
type: write
address: [MAIN, 0x71B2BD0, 0]
value_type: float
value: [0, 0]

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Dynamic Resolution FPS Target
-
type: write
type: evaluate_write
address: [MAIN, 0x179EF64]
value_type: float
value: 15
20FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 20
25FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 25
30FPS:
# Dynamic Resolution FPS Target (default value)
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 30
35FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 35
40FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 40
45FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 45
50FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 50
55FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 55
60FPS:
# Dynamic Resolution FPS Target
-
type: write
address: [MAIN, 0x179EF64]
value_type: float
value: 60
value: FPS_TARGET

View File

@ -3,73 +3,10 @@
unsafeCheck: false
15FPS:
# DynamicResolution_TypeInfo (MAX = 0.96 * (1000/FPS), MIN = 0.9375 * (1000/FPS)), min range 0.75
ALL_FPS:
# DynamicResolution_TypeInfo
-
type: write
type: evaluate_write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [64, 62.5]
20FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [48, 46.875]
25FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [38.4, 37.5]
30FPS:
# DynamicResolution_TypeInfo (default values)
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [32, 31.25]
35FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [27.43, 26.68]
40FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [24, 23.25]
45FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [21.33, 20.58]
50FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [19.2, 18.45]
55FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [17.45, 16.7]
60FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4B320A0, 0xB8, 0]
value_type: double
value: [16, 15.25]
value: ["0.96 * FRAMETIME_TARGET", "(0.96 * FRAMETIME_TARGET) - 0.75"]

View File

@ -1,75 +0,0 @@
# The Forest Quartet 4.0.1
# BID: C66F68F53A4A7053
unsafeCheck: false
15FPS:
# DynamicResolution_TypeInfo (MAX = 0.96 * (1000/FPS), MIN = 0.9375 * (1000/FPS)), min range 0.75
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [64, 62.5]
20FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [48, 46.875]
25FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [38.4, 37.5]
30FPS:
# DynamicResolution_TypeInfo (default values)
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [32, 31.25]
35FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [27.43, 26.68]
40FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [24, 23.25]
45FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [21.33, 20.58]
50FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [19.2, 18.45]
55FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [17.45, 16.7]
60FPS:
# DynamicResolution_TypeInfo
-
type: write
address: [MAIN, 0x4A87920, 0xB8, 0]
value_type: double
value: [16, 15.25]

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B461B8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6B3C330, 0]
value_type: float
value: [0, 0]

View File

@ -3,337 +3,37 @@
unsafeCheck: false
15FPS:
ALL_FPS:
# r.DynamicRes.MaxGPUTime ((1000/FPS) * 0.93)
-
type: write
type: evaluate_write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [62, 62]
value: ["0.93 * FRAMETIME_TARGET", "0.93 * FRAMETIME_TARGET"]
# r.DynamicRes.MinGPUTime ((1000/FPS) * 0.87)
-
type: write
type: evaluate_write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [58, 58]
value: ["0.87 * FRAMETIME_TARGET", "0.87 * FRAMETIME_TARGET"]
# r.DynamicRes.MaxGPUTimeStill ((1000/FPS) * 0.945)
-
type: write
type: evaluate_write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [63, 63]
value: ["0.945 * FRAMETIME_TARGET", "0.945 * FRAMETIME_TARGET"]
# r.DynamicRes.MinGPUTimeStill ((1000/FPS) * 0.93)
-
type: write
type: evaluate_write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [62, 62]
value: ["0.93 * FRAMETIME_TARGET", "0.93 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [46.5, 46.5]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [43.5, 43.5]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [47.25, 47.25]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [46.25, 46.25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [37.2, 37.2]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [34.2, 34.2]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [37.8, 37.8]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [37.2, 37.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.MaxGPUTime (default value)
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [31, 31]
# r.DynamicRes.MinGPUTime (default value)
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [29, 29]
# r.DynamicRes.MaxGPUTimeStill (default value)
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [31.5, 31.5]
# r.DynamicRes.MinGPUTimeStill (default value)
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [31, 31]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [26.57, 26.57]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [24.85, 24.85]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [27, 27]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [26.57, 26.57]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [23.25, 23.25]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [21.75, 21.75]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [23.625, 23.625]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [23.25, 23.25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [20.66, 20.66]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [19.33, 19.33]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [21, 21]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [20.66, 20.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [18.6, 18.6]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [17.4, 17.4]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [18.9, 18.9]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [18.6, 18.6]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [16.9, 16.9]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [15.81, 15.81]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [17.18, 17.18]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [16.9, 16.9]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.MaxGPUTime
-
type: write
address: [MAIN, 0x7E23AF0, 0]
value_type: float
value: [15.5, 15.5]
# r.DynamicRes.MinGPUTime
-
type: write
address: [MAIN, 0x7E23B08, 0]
value_type: float
value: [14.5, 14.5]
# r.DynamicRes.MaxGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B20, 0]
value_type: float
value: [15.75, 15.75]
# r.DynamicRes.MinGPUTimeStill
-
type: write
address: [MAIN, 0x7E23B38, 0]
value_type: float
value: [15.5, 15.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7E46698, 0]
value_type: float
value: [0, 0]

View File

@ -12,73 +12,10 @@ MASTER_WRITE:
main_offset: 0xAD40FC
value_type: uint32
value: 0x52800068
15FPS:
ALL_FPS:
# FPS target (FPS * 2)
-
type: write
type: evaluate_write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 30
20FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 40
25FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 50
30FPS:
# FPS target (default value)
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 60
35FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 70
40FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 80
45FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 90
50FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 100
55FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 110
60FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 120
value: "FPS_TARGET * 2"

View File

@ -12,73 +12,10 @@ MASTER_WRITE:
main_offset: 0xAD40FC
value_type: uint32
value: 0x52800068
15FPS:
ALL_FPS:
# FPS target (FPS * 2)
-
type: write
type: evaluate_write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 30
20FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 40
25FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 50
30FPS:
# FPS target (default value)
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 60
35FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 70
40FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 80
45FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 90
50FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 100
55FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 110
60FPS:
# FPS target
-
type: write
address: [MAIN, 0x1C38C28, 0x1C]
value_type: float
value: 120
value: "FPS_TARGET * 2"

View File

@ -3,13 +3,13 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -19,141 +19,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# t.MaxFPS (default value at first game boot, with next boot it's 30)
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [0, 0]
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x8001888, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x7806CC8, 0]
value_type: uint32
value: [0, 0]

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default is 1000)
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [0, 0]

View File

@ -1,159 +0,0 @@
# Mortal Shell 1.0.1
# BID: BE2D1A84420113EC
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [15, 15]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6ACCBD8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6AEF760, 0]
value_type: float
value: [0, 0]

View File

@ -1,135 +0,0 @@
# From Space 1.0.357
# BID: 593BD545295A65FB
unsafeCheck: true
15FPS:
# vSyncCount (we are resetting it to 0 so game will calculate Dynamic Resolution for specified FPS target)
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 15
20FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 20
25FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 25
30FPS:
# vSyncCount (default value)
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 2
# targetFrameRate (default value)
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 0
35FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 35
40FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 40
45FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 45
50FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 50
55FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 0
# targetFrameRate
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 55
60FPS:
# vSyncCount
-
type: write
address: [MAIN, 0x68A9828, 0x210, 0x68]
value_type: int32
value: 1
# targetFrameRate (default value)
-
type: write
address: [MAIN, 0x6483A70]
value_type: int32
value: 0

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# UnityEngine.Application::targetFrameRate (to adjust Dynamic Resolution)
-
type: write
type: evaluate_write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 15
20FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 20
25FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 25
30FPS:
# UnityEngine.Application::targetFrameRate (default value)
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 30
35FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 35
40FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 40
45FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 45
50FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 50
55FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 55
60FPS:
# UnityEngine.Application::targetFrameRate
-
type: write
address: [MAIN, 0x6F3F760]
value_type: int32
value: 60
value: FPS_TARGET

View File

@ -4,63 +4,9 @@
unsafeCheck: true
15FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 2
20FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 2
25FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 2
30FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 2
35FPS:
ALL_FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 1
40FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 1
45FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 1
50FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 1
55FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 1
60FPS:
-
type: write
address: [MAIN, 0x3AF80, -0x931F4]
value_type: int32
value: 1

View File

@ -4,199 +4,25 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Internal FPS Lock, pointer ref: 00 01 40 F9 E5 03 04 2A
-
type: write
type: evaluate_write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 4
value: VSYNC_TARGET
# Game Speed, pointer ref: F3 03 00 AA 20 00 80 52 F4 03 01 AA
-
type: write
type: evaluate_write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 4
value: VSYNC_TARGET
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 15
value: FPS_TARGET
-
type: block
what: timing
20FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 3
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 3
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 20
-
type: block
what: timing
25FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 2
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 2
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 25
30FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 2
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 2
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 30
35FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 35
40FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 40
45FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 45
50FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 50
55FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 55
60FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEDA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: 60

View File

@ -1,199 +0,0 @@
# Jojo's Bizarre Adventure: All-Star Battle R 2.3.0
# BID: B2FA8FF1240615F1
# There are small issues with animations in cutscenes at higher framerates
# REF: 28 1C 00 12 89 07 80 52 2A 09 C8 1A
unsafeCheck: true
15FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 4
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 4
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 15
-
type: block
what: timing
20FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 3
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 3
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 20
-
type: block
what: timing
25FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 2
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 2
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 25
30FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 2
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 2
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 30
35FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 35
40FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 40
45FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 45
50FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 50
55FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 55
60FPS:
# Internal FPS Lock
-
type: write
address: [MAIN, 0x2AEEA08, 704]
value_type: uint32
value: 1
# Game Speed
-
type: write
address: [MAIN, 0x2AF06D0, 1360]
value_type: uint32
value: 1
# UI Speed
-
type: write
address: [MAIN, 0x2AF06D0, 2554]
value_type: uint8
value: 60

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
-
type: write
type: evaluate_write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [66.6, 66.6]
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value is 36.5, obviously we don't want it)
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [33.3, 33.3]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [30, 30]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [28.5, 28.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [22.2, 22.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [18.1, 18.1]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7565298, 0]
value_type: float
value: [16.6, 16.6]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7589FE0, 0]
value_type: float
value: [0, 0]

View File

@ -0,0 +1,32 @@
# Bakery Simulator 1.1.0
# BID: 31A37D73E22F1059
unsafeCheck: false
ALL_FPS:
# Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS
-
type: write
address: [MAIN, 0x5F9B6A8, 0x7A4]
value_type: uint32
# Default is 0x47, bUseFixedFrameRate |= 0x40
# By writing 7 we are making sure that other flags are maintained:
# bAllowMultiThreadedAnimationUpdate |= 4
# bOptimizeAnimBlueprintMemberVariableAccess |= 2
# bCanBlueprintsTickByDefault |= 1
value: 7
# r.VSync
-
type: write
address: [MAIN, 0x57A0B58, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x5F9BFC8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# Gigantosaurus: Dino Kart 1.1.0
# BID: 512FB8C2D12C4F36
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x6D186C8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# r.VSync
-
type: write
address: [MAIN, 0x6581EB0, 0]
value_type: uint32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6D45C58, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default is 30)
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6D196C8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6D46C58, 0]
value_type: float
value: [0, 0]

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7D46658, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D73FF8, 0]
value_type: float
value: [0, 0]

View File

@ -1,224 +0,0 @@
# The Witcher 3 3.7
# BID: 4FFB62F1CD9E17F8
unsafeCheck: false
15FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 63
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 63
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 15
-
type: block
what: timing
20FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 47.25
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 47.25
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 20
-
type: block
what: timing
25FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 37.8
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 37.8
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 25
-
type: block
what: timing
30FPS:
# DRGameTargetFrameTimeInMs (original value)
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 31.5
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 31.5
# LimitFPS (original value)
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 60
# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it.
35FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 27
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 27
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 35
-
type: block
what: timing
40FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 23.625
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 23.625
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 40
-
type: block
what: timing
45FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 21
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 21
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 45
-
type: block
what: timing
50FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 18.9
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 18.9
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 50
-
type: block
what: timing
55FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 17.1818181818
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 17.1818181818
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 55
-
type: block
what: timing
60FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 15.75
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 15.75
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 60
-
type: block
what: timing

View File

@ -3,222 +3,25 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# DRGameTargetFrameTimeInMs
-
type: write
type: evaluate_write
address: [MAIN, 0x41312B4]
value_type: float
value: 63
value: "0.945 * FRAMETIME_TARGET"
# DRCinematicTargetFrameTimeInMs
-
type: write
type: evaluate_write
address: [MAIN, 0x41312E4]
value_type: float
value: 63
value: "0.945 * FRAMETIME_TARGET"
# LimitFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 15
-
type: block
what: timing
20FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 47.25
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 47.25
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 20
-
type: block
what: timing
25FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 37.8
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 37.8
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 25
-
type: block
what: timing
30FPS:
# DRGameTargetFrameTimeInMs (original value)
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 31.5
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 31.5
# LimitFPS (original value)
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 60
# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it.
35FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 27
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 27
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 35
-
type: block
what: timing
40FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 23.625
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 23.625
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 40
-
type: block
what: timing
45FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 21
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 21
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 45
-
type: block
what: timing
50FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 18.9
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 18.9
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 50
-
type: block
what: timing
55FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 17.1818181818
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 17.1818181818
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 55
-
type: block
what: timing
60FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 15.75
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 15.75
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 60
value: FPS_LOCK_TARGET
-
type: block
what: timing

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# OptimalFrameDuration_ms = (1000/FPS) - (0.07 * (1000/30)
-
type: write
type: evaluate_write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 64.333333
20FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 47.666666
25FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 37.666666
30FPS:
# OptimalFrameDuration_ms (default value)
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 31
35FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 26.238095
40FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 22.666666
45FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 19.888888
50FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 17.666666
55FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 15.848484
60FPS:
# OptimalFrameDuration_ms
-
type: write
address: [MAIN, 0x27C4B0C]
value_type: float
value: 14.333333
value: "FRAMETIME_TARGET - (0.07 * (1000/30))"

View File

@ -10,64 +10,10 @@ MASTER_WRITE:
main_offset: 0x6B41E4
value_type: uint32
value: 0xB20007E8
15FPS:
ALL_FPS:
# DUMMY
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
20FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
25FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
30FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
35FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
40FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
45FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
50FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
55FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0
60FPS:
-
type: write
address: [MAIN, 0x4740500]
value_type: uint8
value: 0

View File

@ -1,159 +0,0 @@
# Bright Memory: Infinite Gold Edition 1.2
# BID: 323631B628A32D84
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [15, 15]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x69CE1D8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x69FBA78, 0]
value_type: float
value: [0, 0]

View File

@ -3,19 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -25,195 +25,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [0, 0]
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6B031D8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6B30A78, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x63376C8, 0]
value_type: uint32
value: [0, 0]

View File

@ -1,164 +0,0 @@
# Hot Wheels Unleashed 2 1.0.1
# BID: 012294C1E2D28A79
# It is recommended to disable FSR. When FSR is enabled,
# Dynamic Resolution is also disabled and it has worse performance
# at higher FPS, and quality wise it compares to dynamic resolution
# set to lowest res
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [15, 15]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xAC83268, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xACB1730, 0]
value_type: float
value: [0, 0]

View File

@ -1,224 +0,0 @@
# Hot Wheels Unleashed 2 1.0.5
# BID: 3973FB8AC2750BE4
# It is recommended to disable FSR. When FSR is enabled,
# Dynamic Resolution is also disabled and it has worse performance
# at higher FPS, and quality wise it compares to dynamic resolution
# set to lowest res
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [15, 15]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB4BC090, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB560E08, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0xACA1CA8, 0]
value_type: uint32
value: [0, 0]

View File

@ -1,224 +0,0 @@
# Hot Wheels Unleashed 2 1.0.6
# BID: 53E622E32DB8780F
# It is recommended to disable FSR. When FSR is enabled,
# Dynamic Resolution is also disabled and it has worse performance
# at higher FPS, and quality wise it compares to dynamic resolution
# set to lowest res
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [15, 15]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB51D278, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB54B740, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0xAD49CF8, 0]
value_type: uint32
value: [0, 0]

View File

@ -0,0 +1,32 @@
# Hot Wheels Unleashed 2 1.0.9
# BID: C95F34910CE1CDC0
# It is recommended to disable FSR. When FSR is enabled,
# Dynamic Resolution is also disabled and it has worse performance
# at higher FPS, and quality wise it compares to dynamic resolution
# set to lowest res
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A78, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,224 +0,0 @@
# Hot Wheels Unleashed 2 1.0.7
# BID: DF0F7D04FC02C9BB
# It is recommended to disable FSR. When FSR is enabled,
# Dynamic Resolution is also disabled and it has worse performance
# at higher FPS, and quality wise it compares to dynamic resolution
# set to lowest res
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [15, 15]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xB58F090, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xB633E08, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0xAD75A98, 0]
value_type: uint32
value: [0, 0]

View File

@ -1,224 +0,0 @@
# Hot Wheels Unleashed 2 1.0.4
# BID: EBD417A7EB6B5486
# It is recommended to disable FSR. When FSR is enabled,
# Dynamic Resolution is also disabled and it has worse performance
# at higher FPS, and quality wise it compares to dynamic resolution
# set to lowest res
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [15, 15]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xADC3278, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xADF1740, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0xA5F0238, 0]
value_type: uint32
value: [0, 0]

View File

@ -3,185 +3,17 @@
unsafeCheck: true
15FPS:
ALL_FPS:
-
type: write
type: evaluate_write
address: [MAIN, 0x1D15228]
value_type: int32
value: [15, 2]
value: [FPS_LOCK_TARGET, "1"]
-
type: write
type: evaluate_write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 15
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 1
-
type: block
what: timing
20FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [20, 2]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 20
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 1
-
type: block
what: timing
25FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [25, 2]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 25
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 1
-
type: block
what: timing
30FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [30, 2]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 30
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 1
35FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [35, 1]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 35
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 0
-
type: block
what: timing
40FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [40, 1]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 40
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 0
-
type: block
what: timing
45FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [45, 1]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 45
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 0
-
type: block
what: timing
50FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [50, 1]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 50
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 0
-
type: block
what: timing
55FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [55, 1]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 55
-
type: write
address: [MAIN, 0x2A88DC0]
value_type: int32
value: 0
-
type: block
what: timing
60FPS:
-
type: write
address: [MAIN, 0x1D15228]
value_type: int32
value: [60, 1]
-
type: write
address: [MAIN, 0x1D28CB8]
value_type: float
value: 60
value: FPS_TARGET
-
type: write
address: [MAIN, 0x2A88DC0]

View File

@ -10,64 +10,10 @@ MASTER_WRITE:
main_offset: 0xEA22EC
value_type: uint32
value: 0xB20007E8
15FPS:
ALL_FPS:
# DUMMY
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
20FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
25FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
30FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
35FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
40FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
45FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
50FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
55FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0
60FPS:
-
type: write
address: [MAIN, 0xA7FA900]
value_type: uint8
value: 0

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x680CAB8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x683A358, 0]
value_type: float
value: [0, 0]

View File

@ -0,0 +1,27 @@
# Astor: Blade of the Monolith 1.0.0
# BID: C26E93197DEB4004
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x61EE768, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x69BCAD8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x69EA478, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,91 +0,0 @@
# Farming Simulator 23 Nintendo Switch Edition 1.4.0.1
# BID: 0204E8D91F22A2D1
unsafeCheck: true
15FPS:
# Internal FPS lock
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 15
-
type: block
what: timing
20FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 20
-
type: block
what: timing
25FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 25
-
type: block
what: timing
30FPS:
# default value
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 30
35FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 35
-
type: block
what: timing
40FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 40
-
type: block
what: timing
45FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 45
-
type: block
what: timing
50FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 50
-
type: block
what: timing
55FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 55
-
type: block
what: timing
60FPS:
-
type: write
address: [MAIN, 0xFAD5AC]
value_type: float
value: 60

View File

@ -3,89 +3,13 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Internal FPS lock
-
type: write
type: evaluate_write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 15
value: FPS_LOCK_TARGET
-
type: block
what: timing
20FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 20
-
type: block
what: timing
25FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 25
-
type: block
what: timing
30FPS:
# default value
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 30
35FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 35
-
type: block
what: timing
40FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 40
-
type: block
what: timing
45FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 45
-
type: block
what: timing
50FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 50
-
type: block
what: timing
55FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 55
-
type: block
what: timing
60FPS:
-
type: write
address: [MAIN, 0xFAD7AC]
value_type: float
value: 60

View File

@ -1,91 +0,0 @@
# Farming Simulator 23 Nintendo Switch Edition 1.1.0.0
# BID: 1C38F0E269ED4438
unsafeCheck: true
15FPS:
# Internal FPS lock
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 15
-
type: block
what: timing
20FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 20
-
type: block
what: timing
25FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 25
-
type: block
what: timing
30FPS:
# default value
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 30
35FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 35
-
type: block
what: timing
40FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 40
-
type: block
what: timing
45FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 45
-
type: block
what: timing
50FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 50
-
type: block
what: timing
55FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 55
-
type: block
what: timing
60FPS:
-
type: write
address: [MAIN, 0xFAC7AC]
value_type: float
value: 60

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to two decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [28.57, 28.57]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x71331A8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7160D78, 0]
value_type: float
value: [0, 0]

View File

@ -4,273 +4,30 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: write
type: evaluate_write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.0666666666
value: "1 / FPS_TARGET"
- # maximumParticleDeltaTime = 1/FPS
type: write
type: evaluate_write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.0666666666
value: "1 / FPS_TARGET"
- # maximumDeltaTime = 6 * (1/FPS)
type: write
type: evaluate_write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.4
value: "(1 / FPS_TARGET) * 6"
- # DS.Tech.Networking.Clock_TypeInfo = 1/FPS
type: write
type: evaluate_write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.0666666666
value: "1 / FPS_TARGET"
- # DS.Tech.Networking.ClientInterpolator_TypeInfo => every 15 FPS jump += 1
type: write
type: evaluate_write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 1
20FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.05
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.05
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.3
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.05
- # DS.Tech.Networking.ClientInterpolator_TypeInfo
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 1
25FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.04
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.04
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.24
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.04
- # DS.Tech.Networking.ClientInterpolator_TypeInfo
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 1
30FPS:
# fixedDeltaTime (default value)
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.0333333333
- # maximumParticleDeltaTime (default value)
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.0333333333
- # maximumDeltaTime (default value)
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.2
- # DS.Tech.Networking.Clock_TypeInfo (default value)
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.0333333333
- # DS.Tech.Networking.ClientInterpolator_TypeInfo (default value)
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 2
35FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.0285714
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.0285714
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.17142857142
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.0285714
- # DS.Tech.Networking.ClientInterpolator_TypeInfo (default value)
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 2
40FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.025
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.025
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.15
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.025
- # DS.Tech.Networking.ClientInterpolator_TypeInfo (default value)
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 2
45FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.0222222222
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.0222222222
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.1333333333
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.0222222222
- # DS.Tech.Networking.ClientInterpolator_TypeInfo
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 3
50FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.02
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.02
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.12
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.02
- # DS.Tech.Networking.ClientInterpolator_TypeInfo
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 3
55FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.0181818181
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.0181818181
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.109090909
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.0181818181
- # DS.Tech.Networking.ClientInterpolator_TypeInfo
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 3
60FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x52BD280, 0x48]
value_type: float
value: 0.0166666666
- # maximumParticleDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x104]
value_type: float
value: 0.0166666666
- # maximumDeltaTime
type: write
address: [MAIN, 0x52BD280, 0x100]
value_type: float
value: 0.1
- # DS.Tech.Networking.Clock_TypeInfo
type: write
address: [MAIN, 0x4EABAE0, 0xB8, 0]
value_type: float
value: 0.0166666666
- # DS.Tech.Networking.ClientInterpolator_TypeInfo
type: write
address: [MAIN, 0x4EABA98, 0xB8, 0]
value_type: int32
value: 4
value: "FPS_TARGET / 15"

View File

@ -1,153 +0,0 @@
# Session: Skate Sim 1.1.2
# BID: BF4126341134BFC7
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget = 1000/FPS
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [66.66666666, 66.66666666]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [0, 0]
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [0, 0]
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [33.33333333, 33.33333333]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [28.5714, 28.5714]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [22.22222222, 22.22222222]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [18.18181818, 18.18181818]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [16.66666666, 16.66666666]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [0, 0]

View File

@ -3,19 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget = 0.81 * (1000/FPS)
-
type: write
type: evaluate_write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [54, 54]
value: ["0.81 * FRAMETIME_TARGET", "0.81 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -25,195 +25,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [40.5, 40.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [32.4, 32.4]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [27, 27]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [23.142, 23.142]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [20.25, 20.25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [18, 18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [16.2, 16.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [14.727, 14.727]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7249868, 0]
value_type: float
value: [13.5, 13.5]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7277438, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x6A7D0C8, 0]
value_type: uint32
value: [0, 0]

View File

@ -3,19 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -25,195 +25,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6C25F58, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6C538E8, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x64578D8, 0]
value_type: uint32
value: [0, 0]

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Dynamic resolution FPS factor
-
type: write
type: evaluate_write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 15
20FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 20
25FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 25
30FPS:
# Dynamic resolution FPS factor (default)
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 30
35FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 35
40FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 40
45FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 45
50FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 50
55FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 55
60FPS:
# Dynamic resolution FPS factor
-
type: write
address: [MAIN, 0x212C138, 0]
value_type: float
value: 60
value: FPS_TARGET

View File

@ -1,7 +1,7 @@
# Divinity Original Sin 2 1.0.10
# BID: 4979B200D53BB282
# Game is using double buffer, buffers are not allocated in loop.
# So it's not possible to get stable FPS lock between 30 and 60.
# So it's not possible to get stable FPS lock between 30 and 60 without changing refresh rate.
unsafeCheck: true
@ -20,73 +20,10 @@ MASTER_WRITE:
main_offset: 0x32C6D00
value_type: double
value: 1000000
15FPS:
ALL_FPS:
# GPU Frametime divider = (30/FPS) * 1000000
-
type: write
type: evaluate_write
address: [MAIN, 0x32C6D00]
value_type: double
value: 2000000
20FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 1500000
25FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 1200000
30FPS:
# GPU Frametime divider (default value)
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 1000000
35FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 857142
40FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 750000
45FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 666666
50FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 600000
55FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 545454
60FPS:
# GPU Frametime divider
-
type: write
address: [MAIN, 0x32C6D00]
value_type: double
value: 500000
value: "(30 / FPS_TARGET) * 1000000"

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
-
type: write
type: evaluate_write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [66.6, 66.6]
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [33.3, 33.3]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [28.5, 28.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [22.2, 22.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [18.1, 18.1]
# t.MaxFPS
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5228DC0, 0]
value_type: float
value: [16.6, 16.6]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x524F940, 0]
value_type: float
value: [0, 0]

View File

@ -4,217 +4,25 @@
unsafeCheck: true
15FPS:
# FPS Target = (19200*(1000/(FPS*2)))
ALL_FPS:
# FPS Target
-
type: write
type: evaluate_write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 640000
# FPS 2D Game Speed Target = (1/(FPS*2))
value: "(FRAMETIME_TARGET / 2) * 19200"
# FPS 2D Game Speed Target
-
type: write
type: evaluate_write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.03333333
# FPS 3D Game Speed Target = (1/(FPS*2))
value: "0.5 / FPS_TARGET"
# FPS 3D Game Speed Target
-
type: write
type: evaluate_write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.03333333
value: "0.5 / FPS_TARGET"
-
type: block
what: timing
20FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 480000
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.025
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.025
-
type: block
what: timing
25FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 384000
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.02
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.02
-
type: block
what: timing
30FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 320000
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.01666666
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.01666666
35FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 274286
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.01428571
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.01428571
-
type: block
what: timing
40FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 240000
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.0125
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.0125
-
type: block
what: timing
45FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 213334
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.01111111
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.01111111
-
type: block
what: timing
50FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 192000
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.01
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.01
-
type: block
what: timing
55FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 174546
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.00909091
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.00909091
-
type: block
what: timing
60FPS:
# FPS Target
-
type: write
address: [MAIN, 0xED96A8, 0x30]
value_type: uint64
value: 160000
# FPS 2D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x30]
value_type: float
value: 0.00833333
# FPS 3D Game Speed Target
-
type: write
address: [MAIN, 0xEFFC60, 0x50]
value_type: float
value: 0.00833333

View File

@ -0,0 +1,27 @@
# Xuan Yuan Sword 7 1.0.0
# BID: F8EA898027152437
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x649CE60, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x6C3C9F8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6C5FB20, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default is 30)
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8A9A438, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x8AC7808, 0]
value_type: float
value: [0, 0]

View File

@ -5,137 +5,17 @@
unsafeCheck: true
15FPS:
ALL_FPS:
-
type: write
type: evaluate_write
address: [MAIN, 0x269E150]
value_type: int32
value: [15, 2, 15]
value: [FPS_TARGET, VSYNC_TARGET, FPS_TARGET]
-
type: write
type: evaluate_write
address: [MAIN, 0x269E15C]
value_type: float
value: 15
value: FPS_LOCK_TARGET
-
type: block
what: timing
20FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [20, 2, 20]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 20
-
type: block
what: timing
25FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [25, 2, 25]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 25
-
type: block
what: timing
30FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [30, 2, 30]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 30
35FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [35, 1, 35]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 35
-
type: block
what: timing
40FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [40, 1, 40]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 40
-
type: block
what: timing
45FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [45, 1, 45]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 45
-
type: block
what: timing
50FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [50, 1, 50]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 50
-
type: block
what: timing
55FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [55, 1, 55]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 55
-
type: block
what: timing
60FPS:
-
type: write
address: [MAIN, 0x269E150]
value_type: int32
value: [60, 1, 60]
-
type: write
address: [MAIN, 0x269E15C]
value_type: float
value: 60

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0xA158F08, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0xA1884D8, 0]
value_type: float
value: [0, 0]

View File

@ -3,19 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -25,195 +25,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x7ABD908, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7AEB4D8, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x72F0BD8, 0]
value_type: uint32
value: [0, 0]

View File

@ -4,7 +4,7 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS
-
type: write
@ -18,208 +18,16 @@ unsafeCheck: true
value: 7
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
-
type: write
type: evaluate_write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [66.6, 66.6]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [33.3, 33.3]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [0, 0]
35FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [28.5, 28.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [22.2, 22.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [18.1, 18.1]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x5F32908, 0x7B8]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x5F086C0, 0]
value_type: float
value: [16.6, 16.6]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x5F331D8, 0]
value_type: float
value: [0, 0]

View File

@ -0,0 +1,27 @@
# Expeditions: A Mudrunner Game 1.5.0.0
# BID: 0542802E014A7312
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x3574A00
-
type: bytes
main_offset: 0x16589A0
value_type: uint32
value:
- 0x9000F8EC
- 0xB94A018C
# default value
-
type: bytes
main_offset: 0x3574A00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x3574A00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -1,82 +0,0 @@
# Expeditions: A Mudrunner Game 1.3.0.0
# BID: 2D32512D25F74760
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x356AA00
-
type: bytes
main_offset: 0x1650D90
value_type: uint32
value:
- 0xD000F8CC
- 0xB94A018C
# default value
-
type: bytes
main_offset: 0x356AA00
value_type: float
value: 33.3333333333
15FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 66.6666666666
20FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 50
25FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 40
30FPS:
# default value
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 33.3333333333
35FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 28.5714
40FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 25
45FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 22.2222222222
50FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 20
55FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 18.1818181818
60FPS:
-
type: write
address: [MAIN, 0x356AA00]
value_type: float
value: 16.6666666666

View File

@ -1,82 +0,0 @@
# Expeditions: A Mudrunner Game 1.2.0.0
# BID: 2DF3FBBCB5B00404
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x355DA00
-
type: bytes
main_offset: 0x1645470
value_type: uint32
value:
- 0x9000F8CC
- 0xB94A018C
# default value
-
type: bytes
main_offset: 0x355DA00
value_type: float
value: 33.3333333333
15FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 66.6666666666
20FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 50
25FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 40
30FPS:
# default value
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 33.3333333333
35FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 28.5714
40FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 25
45FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 22.2222222222
50FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 20
55FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 18.1818181818
60FPS:
-
type: write
address: [MAIN, 0x355DA00]
value_type: float
value: 16.6666666666

View File

@ -0,0 +1,27 @@
# Expeditions: A Mudrunner Game 1.6.0.0
# BID: 8D76B30C877FED66
# REF: 01 04 0C 5E 00 10 2E 1E
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x3574A00
-
type: bytes
main_offset: 0x16589E0
value_type: uint32
value:
- 0x9000F8EC
- 0xB94A018C
# default value
-
type: bytes
main_offset: 0x3574A00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x3574A00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
type: evaluate_write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [66.66, 66.66]
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default is 30)
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x6AFA6C8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6B28058, 0]
value_type: float
value: [0, 0]

View File

@ -1,159 +0,0 @@
# Gigantosaurus The Game 1.0.0
# BID: EF7B49570430043E
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [15, 15]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default is 30)
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x52F20E8, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x531C300, 0]
value_type: float
value: [0, 0]

View File

@ -1,279 +0,0 @@
# Jujutsu Kaisen Cursed Clash JP 1.0.1
# BID: 372BF1E32FC51836
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [15, 15]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value is 60)
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [0, 0]
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8013A48, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8056F50, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x73980C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80567A8, 0x9C4]
value_type: uint32
value: 7

View File

@ -0,0 +1,33 @@
# Jujutsu Kaisen Cursed Clash JP 1.1.0
# BID: 95761555A341B190
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8036A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8079F50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x73BB0C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80797A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,279 +0,0 @@
# Jujutsu Kaisen Cursed Clash JP 1.0.2
# BID: EA01C4BA969E8159
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [66.66, 66.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [15, 15]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [33.33, 33.33]
# t.MaxFPS (default value is 60)
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [0, 0]
# r.VSync (default value is 1)
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [28.51, 28.51]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [22.22, 22.22]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [18.18, 18.18]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8014A48, 0]
value_type: float
value: [16.66, 16.66]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8057F50, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x73990C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80577A8, 0x9C4]
value_type: uint32
value: 7

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# fixedDeltaTime
-
type: write
type: evaluate_write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0333333333
20FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0333333333
25FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0333333333
30FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0333333333
35FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0166666666
40FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0166666666
45FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0166666666
50FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0166666666
55FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0166666666
60FPS:
# fixedDeltaTime
-
type: write
address: [MAIN, 0x6421720, 0x48]
value_type: float
value: 0.0166666666
value: "FRAMETIME_TARGET / 1000"

View File

@ -3,73 +3,10 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
20FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
25FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
30FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo (originally it's 2, but setting it with NX-FPS interval also to 2 causes bigger input lag)
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
35FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
40FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
45FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
50FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
55FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1
60FPS:
# _UnityEngine.Rendering.OnDemandRendering_TypeInfo
-
type: write
address: [MAIN, 0x481B2F8, 0xB8, 0]
value_type: int32
value: 1

View File

@ -3,7 +3,7 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Disable bUseFixedFrameRate to unlock framerate
-
type: write
@ -23,10 +23,10 @@ unsafeCheck: true
value: 0
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -36,249 +36,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# Disable bUseFixedFrameRate (default is 0x47)
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep (by default it's 1)
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [0, 0]
# r.VSync (by default it's 1)
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
35FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0xB314540, 0x7F8]
value_type: uint32
value: 7
# CustomTimeStep
-
type: write
address: [MAIN, 0xB314540, 0x810]
value_type: uint8
value: 0
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0xB314830, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0xAB49110, 0]
value_type: uint32
value: [0, 0]

View File

@ -1,84 +0,0 @@
# Hammerwatch Anniversary Edition 1.0.2
# BID: 62B999CF9D465F00
unsafeCheck: true
MASTER_WRITE:
# Rewrite "v_fps_limit 30" to 62
-
type: bytes
main_offset: 0x805BEC
value_type: uint16
value: 0x3236
# Change egl Interval to lock game by default to 30 FPS
-
type: bytes
main_offset: 0x1461F8
value_type: uint32
value: 0x52800041
-
type: bytes
main_offset: 0x146220
value_type: uint32
value: 0x52800041
15FPS:
# DUMMY
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
20FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
25FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
30FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
35FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
40FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
45FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
50FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
55FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0
60FPS:
-
type: write
address: [MAIN, 0x179C0E0]
value_type: uint8
value: 0

View File

@ -0,0 +1,30 @@
# Hammerwatch Anniversary Edition 1.0.3
# BID: D147CAEF2BC74574
unsafeCheck: true
MASTER_WRITE:
# Rewrite "v_fps_limit 30" to 62
-
type: bytes
main_offset: 0xE028B5
value_type: uint16
value: 0x3236
# Change egl Interval to lock game by default to 30 FPS
-
type: bytes
main_offset: 0x141580
value_type: uint32
value: 0x52800041
-
type: bytes
main_offset: 0x1415A8
value_type: uint32
value: 0x52800041
ALL_FPS:
# DUMMY
-
type: write
address: [MAIN, 0x15ABF3C0]
value_type: uint8
value: 0

View File

@ -3,97 +3,13 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# FPS Lock
-
type: write
type: evaluate_write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 15
value: FPS_LOCK_TARGET
-
type: block
what: timing
20FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 20
-
type: block
what: timing
25FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 25
-
type: block
what: timing
30FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 30
35FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 35
-
type: block
what: timing
40FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 40
-
type: block
what: timing
45FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 45
-
type: block
what: timing
50FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 50
-
type: block
what: timing
55FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 55
-
type: block
what: timing
60FPS:
# FPS Lock
-
type: write
address: [MAIN, 0x24924D8, 0x504C]
value_type: float
value: 60

View File

@ -0,0 +1,30 @@
# Hammerwatch 2 1.0.4
# BID: 38896FEC1B4ADB1C
unsafeCheck: true
MASTER_WRITE:
# Rewrite "v_fps_limit 30" to 62
-
type: bytes
main_offset: 0x7C7597
value_type: uint16
value: 0x3236
# Change egl Interval to lock game by default to 30 FPS
-
type: bytes
main_offset: 0x135D10
value_type: uint32
value: 0x52800041
-
type: bytes
main_offset: 0x135D38
value_type: uint32
value: 0x52800041
ALL_FPS:
# DUMMY
-
type: write
address: [MAIN, 0x161BCF8]
value_type: uint8
value: 0

View File

@ -1,84 +0,0 @@
# Hammerwatch 2 1.0.2
# BID: 77DDECED11491422
unsafeCheck: true
MASTER_WRITE:
# Rewrite "v_fps_limit 30" to 62
-
type: bytes
main_offset: 0x805B29
value_type: uint16
value: 0x3236
# Change egl Interval to lock game by default to 30 FPS
-
type: bytes
main_offset: 0x1461C8
value_type: uint32
value: 0x52800041
-
type: bytes
main_offset: 0x1461F0
value_type: uint32
value: 0x52800041
15FPS:
# DUMMY
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
20FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
25FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
30FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
35FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
40FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
45FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
50FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
55FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0
60FPS:
-
type: write
address: [MAIN, 0x17F2AC8]
value_type: uint8
value: 0

View File

@ -3,100 +3,13 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# FPS lock
-
type: write
type: evaluate_write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 15
value: FPS_LOCK_TARGET
-
type: block
what: timing
20FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 20
-
type: block
what: timing
25FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 25
-
type: block
what: timing
30FPS:
# FPS lock (default)
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 30
-
type: block
what: timing
35FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 35
-
type: block
what: timing
40FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 40
-
type: block
what: timing
45FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 45
-
type: block
what: timing
50FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 50
-
type: block
what: timing
55FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 55
-
type: block
what: timing
60FPS:
# FPS lock
-
type: write
address: [MAIN, 0xCF90F8, 0x4C]
value_type: float
value: 60

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget ((1000/FPS) * 0.945)
-
type: write
type: evaluate_write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [63, 63]
value: ["0.945 * FRAMETIME_TARGET", "0.945 * FRAMETIME_TARGET"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [47.2, 47.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [37.8, 37.8]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [33.3, 33.3]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [30, 30]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [27, 27]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [23.6, 23.6]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [21, 21]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [18.9, 18.9]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [17.1, 17.1]
# t.MaxFPS
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x532B3A0, 0]
value_type: float
value: [16.6, 16.6]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x5350858, 0]
value_type: float
value: [0, 0]

View File

@ -1,224 +0,0 @@
# The Witcher 3 3.7
# BID: 4FFB62F1CD9E17F8
unsafeCheck: true
15FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 63
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 63
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 15
-
type: block
what: timing
20FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 47.25
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 47.25
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 20
-
type: block
what: timing
25FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 37.8
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 37.8
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 25
-
type: block
what: timing
30FPS:
# DRGameTargetFrameTimeInMs (original value)
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 31.5
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 31.5
# LimitFPS (original value)
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 60
# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it.
35FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 27
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 27
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 35
-
type: block
what: timing
40FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 23.625
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 23.625
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 40
-
type: block
what: timing
45FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 21
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 21
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 45
-
type: block
what: timing
50FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 18.9
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 18.9
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 50
-
type: block
what: timing
55FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 17.1818181818
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 17.1818181818
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 55
-
type: block
what: timing
60FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA8F4]
value_type: float
value: 15.75
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x4FDA924]
value_type: float
value: 15.75
# LimitFPS
-
type: write
address: [MAIN, 0x4C983EC]
value_type: int32
value: 60
-
type: block
what: timing

View File

@ -3,222 +3,25 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# DRGameTargetFrameTimeInMs
-
type: write
type: evaluate_write
address: [MAIN, 0x41312B4]
value_type: float
value: 63
value: "0.945 * FRAMETIME_TARGET"
# DRCinematicTargetFrameTimeInMs
-
type: write
type: evaluate_write
address: [MAIN, 0x41312E4]
value_type: float
value: 63
value: "0.945 * FRAMETIME_TARGET"
# LimitFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 15
-
type: block
what: timing
20FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 47.25
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 47.25
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 20
-
type: block
what: timing
25FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 37.8
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 37.8
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 25
-
type: block
what: timing
30FPS:
# DRGameTargetFrameTimeInMs (original value)
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 31.5
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 31.5
# LimitFPS (original value)
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 60
# For 35-60 FPS check if cutscene is played. If it is, set 30 FPS lock. If not, disable it.
35FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 27
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 27
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 35
-
type: block
what: timing
40FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 23.625
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 23.625
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 40
-
type: block
what: timing
45FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 21
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 21
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 45
-
type: block
what: timing
50FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 18.9
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 18.9
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 50
-
type: block
what: timing
55FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 17.1818181818
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 17.1818181818
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 55
-
type: block
what: timing
60FPS:
# DRGameTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312B4]
value_type: float
value: 15.75
# DRCinematicTargetFrameTimeInMs
-
type: write
address: [MAIN, 0x41312E4]
value_type: float
value: 15.75
# LimitFPS
-
type: write
address: [MAIN, 0x411DCFC]
value_type: int32
value: 60
value: FPS_LOCK_TARGET
-
type: block
what: timing

View File

@ -3,7 +3,7 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# Disable bUseFixedFrameRate to untie game speed from framerate and unlock FPS
-
type: write
@ -17,208 +17,16 @@ unsafeCheck: true
value: 7
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimal
-
type: write
type: evaluate_write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [66.6, 66.6]
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [33.3, 33.3]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [0, 0]
35FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [28.5, 28.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [22.2, 22.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [18.1, 18.1]
# t.MaxFPS
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# Disable bSmoothFrameRate and bUseFixedFrameRate
-
type: write
address: [MAIN, 0x77C7098, 0x7A4]
value_type: uint32
value: 7
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x779A0E8, 0]
value_type: float
value: [16.6, 16.6]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x77C79B8, 0]
value_type: float
value: [0, 0]

View File

@ -40,63 +40,9 @@ MASTER_WRITE:
main_offset: 0x3BE1200
value_type: double
value: [31, 29]
15FPS:
ALL_FPS:
-
type: write
type: evaluate_write
address: [MAIN, 0x3BE1200]
value_type: double
value: [62, 58]
20FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [46.5, 43.5]
25FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [37.2, 34.8]
30FPS:
- # Default values
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [31, 29]
35FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [26.5714, 24.8571]
40FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [23.25, 21.75]
45FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [20.666666, 19.333333]
50FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [18.6, 17.4]
55FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [16.90909, 15.818181]
60FPS:
-
type: write
address: [MAIN, 0x3BE1200]
value_type: double
value: [15.5, 14.5]
value: ["0.93 * FRAMETIME_TARGET", "0.87 * FRAMETIME_TARGET"]

View File

@ -1,82 +0,0 @@
# Fate/Samurai Remnant 1.1.3
# BID: 0F09DF1B3AA9E3FD
unsafeCheck: true
# Disable setting double buffer, REF: 28 63 A8 9B B8 5F 6E 29 2B F7 01 51 B9 83 57 B8
MASTER_WRITE:
-
type: bytes
main_offset: 0x5DB12C
value_type: uint32
value: 0x52800079
15FPS:
# interval, REF: 29 00 80 52 16 00 08 8B 08 A0 8C 52 28 00 A0 72
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 4
20FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 3
25FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 2
30FPS:
# interval (default value)
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 2
35FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 1
40FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 1
45FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 1
50FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 1
55FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 1
60FPS:
# interval
-
type: write
address: [MAIN, 0x33B26C0]
value_type: int32
value: 1

View File

@ -0,0 +1,19 @@
# Fate/Samurai Remnant 1.2.1
# BID: 85D00BDAADD369E6
unsafeCheck: true
# Disable setting double buffer, REF: 28 63 A8 9B B8 5F 6E 29 2B F7 01 51 B9 83 57 B8
MASTER_WRITE:
-
type: bytes
main_offset: 0x5DB12C
value_type: uint32
value: 0x52800079
ALL_FPS:
# interval, REF: 29 00 80 52 16 00 08 8B 08 A0 8C 52 28 00 A0 72
-
type: evaluate_write
address: [MAIN, 0x33FA018]
value_type: int32
value: VSYNC_TARGET

Some files were not shown because too many files have changed in this diff Show More