|
| 1 | +# GOverlay 1.6.4 - Changelog |
| 2 | + |
| 3 | +**Release Date:** 2025-12-14 |
| 4 | +**Repository:** https://github.com/benjamimgois/goverlay |
| 5 | +**Previous Version:** 1.6.3 |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## Major Features |
| 10 | + |
| 11 | +### FSR4 Variant Management System |
| 12 | + |
| 13 | +**What it does:** |
| 14 | +Implements a complete dual-version FSR4 support system allowing users to switch between FP8 (floating point 8-bit) and INT8 (integer 8-bit) variants of the AMD FidelityFX Super Resolution 4 upscaler. |
| 15 | + |
| 16 | +**Why it matters:** |
| 17 | +Different games and hardware configurations may benefit from different FSR4 variants. The FP8 version offers the latest features and potentially better quality, while the INT8 version (4.0.2) provides better compatibility and performance on certain hardware. |
| 18 | + |
| 19 | +**How it works:** |
| 20 | +- **Automatic Setup**: When updating OptiScaler, GOverlay automatically creates two folders (`FSR4_LATEST` and `FSR4_INT8`) and downloads both variants |
| 21 | +- **Easy Switching**: Users select their preferred variant from a dropdown menu in the OptiScaler tab |
| 22 | +- **Smart Persistence**: Selection is saved to `goverlay.vars` and automatically restored on next startup |
| 23 | +- **Seamless Integration**: DLL files are automatically swapped when saving configuration |
| 24 | + |
| 25 | +**User Interface:** |
| 26 | +- New dropdown menu with two options: |
| 27 | + - **Latest (FP8)** - Floating point 8-bit precision (latest features) |
| 28 | + - **4.0.2 (INT8)** - Integer 8-bit precision (better compatibility) |
| 29 | +- Version label displays current FSR4 variant in use |
| 30 | + |
| 31 | +**Technical Details:** |
| 32 | +- Folders created: `~/fgmod/FSR4_LATEST/` and `~/fgmod/FSR4_INT8/` |
| 33 | +- INT8 variant downloaded from: `https://github.com/xXJSONDeruloXx/OptiScaler-Bleeding-Edge/releases/download/amd-fsr-r-int8/` |
| 34 | +- Version tracking stored in: `~/fgmod/goverlay.vars` |
| 35 | +- Automatic restoration: Reads `fsrversion=` line on startup and sets UI accordingly |
| 36 | + |
| 37 | +### Implementation Files Modified: |
| 38 | +- **optiscaler_update.pas**: |
| 39 | + - Added `FFsrVersionComboBox` property to `TOptiscalerTab` class |
| 40 | + - `UpdateButtonClick`: Creates FSR4 folders and downloads INT8 variant after OptiScaler installation |
| 41 | + - `LoadVersionsFromFile`: Reads `fsrversion` from `goverlay.vars` on startup |
| 42 | + - Sets ComboBox ItemIndex based on saved version |
| 43 | + |
| 44 | +- **overlayunit.pas**: |
| 45 | + - Added `fsrversionComboBox` UI component |
| 46 | + - `saveBitBtnClick`: Copies appropriate DLL based on user selection |
| 47 | + - Updates `goverlay.vars` with `fsrversion=4.0.2 (INT8)` when INT8 is selected |
| 48 | + - `FormCreate`: Assigns ComboBox to `FOptiscalerUpdate` |
| 49 | + |
| 50 | +- **overlayunit.lfm**: |
| 51 | + - Added UI controls for FSR4 version selection |
| 52 | + |
| 53 | +--- |
| 54 | + |
| 55 | +## Bug Fixes |
| 56 | + |
| 57 | +### MangoHud FPS Limit Offset - Special Case for Zero |
| 58 | + |
| 59 | +**Issue:** When using the FPS limit offset feature, a value of `0` (unlimited) was being affected by the offset calculation, resulting in incorrect values like `-5`, `-10`, etc. |
| 60 | + |
| 61 | +**Fix:** Added special case handling to preserve `0` (unlimited) values when applying FPS offset. |
| 62 | + |
| 63 | +**Technical Details:** |
| 64 | +- Added `TempFPS` variable to store intermediate calculation |
| 65 | +- Check: `if TempFPS <> 0 then TempFPS := TempFPS + offsetSpinedit.Value` |
| 66 | +- Applies to both: |
| 67 | + - FPS limit checkbox selection (`fpslimcheckgroup`) |
| 68 | + - Config file loading/saving |
| 69 | + |
| 70 | +**Impact:** |
| 71 | +- Users can now safely use FPS offset without affecting unlimited (0) FPS settings |
| 72 | +- Preserves intended behavior for games that support unlimited framerate |
| 73 | + |
| 74 | +**Credit:** Contributed by [@LuanVSO](https://github.com/LuanVSO) via PR #222 |
| 75 | + |
| 76 | +**Files Modified:** |
| 77 | +- `overlayunit.pas` (lines 2980-2986, 3757-3761) |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +## Summary Statistics |
| 82 | + |
| 83 | +- **Total commits since 1.6.3**: 3 |
| 84 | +- **Merge commits**: 1 (PR #222) |
| 85 | +- **Major features added**: 1 (FSR4 Variant Management) |
| 86 | +- **Bug fixes**: 1 (FPS limit offset zero handling) |
| 87 | +- **New files created**: 0 |
| 88 | +- **Files modified**: 3 (overlayunit.pas, overlayunit.lfm, optiscaler_update.pas) |
| 89 | +- **Contributors**: 2 (Benjamim Gois, Luan Vitor Simião oliveira) |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## Files Changed |
| 94 | + |
| 95 | +### optiscaler_update.pas |
| 96 | +- Added `FFsrVersionComboBox` field and property |
| 97 | +- Updated `LoadVersionsFromFile` to read and apply FSR4 version from goverlay.vars |
| 98 | +- Updated `UpdateButtonClick` to create FSR4 variant folders and download INT8 version |
| 99 | + |
| 100 | +### overlayunit.pas |
| 101 | +- Added `fsrversionComboBox` component |
| 102 | +- Added FSR4 variant switching logic in `saveBitBtnClick` |
| 103 | +- Fixed FPS limit offset zero handling in multiple locations |
| 104 | +- Version bumped to 1.6.4-git |
| 105 | + |
| 106 | +### overlayunit.lfm |
| 107 | +- Added UI controls for FSR4 version selection |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +## Upgrade Notes |
| 112 | + |
| 113 | +### For Users |
| 114 | + |
| 115 | +**FSR4 Variant System:** |
| 116 | +1. Update OptiScaler using the "Update" button in the OptiScaler tab |
| 117 | +2. Both FSR4 variants will be automatically downloaded and set up |
| 118 | +3. Choose your preferred variant from the new dropdown menu |
| 119 | +4. Your selection will be saved and remembered across restarts |
| 120 | + |
| 121 | +**FPS Limit Offset:** |
| 122 | +- No action required - the fix automatically handles zero (unlimited) FPS values correctly |
| 123 | + |
| 124 | +### For Developers |
| 125 | + |
| 126 | +**New Dependencies:** |
| 127 | +- None - all functionality uses existing libraries |
| 128 | + |
| 129 | +**API Changes:** |
| 130 | +- New property: `TOptiscalerTab.FsrVersionComboBox` |
| 131 | +- New file format: `goverlay.vars` now supports `fsrversion=` line |
| 132 | +- New folders: `~/fgmod/FSR4_LATEST/` and `~/fgmod/FSR4_INT8/` |
| 133 | + |
| 134 | +--- |
| 135 | + |
| 136 | +## Known Issues |
| 137 | + |
| 138 | +None reported in this release. |
| 139 | + |
| 140 | +--- |
| 141 | + |
| 142 | +## Contributors |
| 143 | + |
| 144 | +- **Benjamim Gois** (@benjamimgois) - FSR4 variant management system |
| 145 | +- **Luan Vitor Simião oliveira** (@LuanVSO) - FPS limit offset zero handling fix |
| 146 | +- **Claude Sonnet 4.5** - Implementation assistance |
| 147 | + |
| 148 | +--- |
| 149 | + |
| 150 | +## Full Commit History |
| 151 | + |
| 152 | +``` |
| 153 | +777943d5 Merge pull request #222 from LuanVSO/main (Benjamim Gois) |
| 154 | +dbcbf0e1 Add FSR4 variant management system (Benjamim Gois) |
| 155 | +c5d4d365 special case 0 fps_limit (Luan Vitor Simião oliveira) |
| 156 | +``` |
| 157 | + |
| 158 | +--- |
| 159 | + |
| 160 | +**Previous Version:** [CHANGELOG_1.6.3.md](CHANGELOG_1.6.3.md) |
0 commit comments