Skip to content

Releases: adofaiex/Iridium

2.1.0_beta3

2.1.0_beta3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Oct 06:23

2.1.0_beta3

更新日志 / Changelog

Note

Iridium supports multiple mod loaders.See README.md for platform installation.

Warning

Linux/macOS requires libgdiplus for UI rendering and image compression. See gdi.md to installation.

CHANGES

  1. The settings window is now a real UGUI panel instead of IMGUI: it opens without a hitch, scrolls smoothly, can be dragged and resized from any edge or corner, and remembers its position and size between sessions.
  2. The panel is available on every loader now (MelonLoader / BepInEx / UnityModManager / MiniModLoader), and its hotkey is a normal setting under General → Panel hotkey (default Ctrl+F9). Under UMM the old settings page only shows a reminder of the current hotkey.
  3. Shortcut recording is now click-to-start and click-to-save: press the button, type the combination (shown live on the button), then click anywhere or press the button again to save. Esc keeps the old value. Function keys and modifier combinations are recorded correctly.
  4. Reopening a chart from the editor no longer shrinks image decorations: the texture scale is remembered per texture instead of being reset on every level load (v2 / v3).
  5. Fixed the settings panel not opening with the hotkey under MelonLoader and BepInEx.
  6. MelonLoader now enables the mod at startup, so the optimizer patches are actually applied there — previously nothing was patched under MelonLoader.
  7. Fixed patch errors on MelonLoader caused by a Harmony API version mismatch.
  8. UI fixes: buttons no longer render as plain white rectangles, nested (indented) rows line up with their parent, long descriptions wrap instead of being cut off, and sliders, switches, checkboxes, info icons and section arrows all use the same theme values as before.
  9. Added a vertical scrollbar in the panel's colours, and the option list keeps its scroll position across rebuilds.
  10. v2 (ADOFAI 2.9.8) keeps the existing IMGUI settings window; the UGUI panel, resizing and position memory are v3 only.

Caution

Disclaimer: Optimization mods are not a silver bullet — do not chase FPS blindly. If issues occur, disable the specific feature and report the bug instead of labeling the entire mod broken.


提交记录 / Commits

Hash Message
05be40c feat: UGUI(shit code) support and Iris.Iml update
b14b72c update: readme
5f26b8f chore: bump Iris.Iml submodule (parse guards, frame cache, TextField work)
67b9e41 feat: 设置 UI 改版 (我到底怎么改的)
65441a0 feat: port 7 hot path optimization patches to v2 (2.9.8)
3f0882e feat: add 10 hot path optimization patches to v3
83801ee chore: bump version to 2.1.0_beta1

Please Use the version that fits your ADOFAI version.

2.1.0_beta2

2.1.0_beta2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Oct 15:53

2.1.0_beta2

更新日志 / Changelog

Note

Iridium supports multiple mod loaders.See README.md for platform installation.

Warning

Linux/macOS requires libgdiplus for UI rendering and image compression. See gdi.md to installation.

CHANGES

  1. We rewrote part of the mod in Rust, a faster compiled language. Loading levels, custom easing animations, updating paths in the editor, parallax decorations and hitbox checks now all run faster and use less CPU.
  2. One download works everywhere: the package now includes the new code for Windows, Linux and macOS (both Intel and Apple Silicon), and the mod picks the right one automatically when it starts.
  3. If the new code can't run on your system, the mod falls back to the old code and works exactly as before — just without the extra speed.

Caution

Disclaimer: Optimization mods are not a silver bullet — do not chase FPS blindly. If issues occur, disable the specific feature and report the bug instead of labeling the entire mod broken.


提交记录 / Commits

Hash Message
a770241 chore: 版本号升到 2.1.0 beta2(v2/v3 同步)
0ae50f7 docs: changelog 改成玩家能看懂的说法——直接讲 rust 重写后哪些功能更快
4bca5ff docs: 重写 changelog——上轮 1-9 条随 2.0.1 已发布,换成本轮原生库变更
4f648c4 ci: 加 native-macos job 产 universal dylib——一个 zip 装齐三平台原生库
98b7d94 ci: 远程 CI 构建 Rust 原生库——.so + 交叉编译 .dll 一起进包
250df79 rm: unused files
236d6d5 step 4:
5dc5bb3 feat: 双线性缩放走原生——iridium_core_resize_bilinear 纹理降采样
9778f59 chore: 清掉 easing 编译警告——未用形参与多余 mut
4f402ff feat: 合批顶点内核走原生——iridium_core_parallax_compute 视差批量求值
4b95302 feat: 增量重建走原生——iridium_core_remake_path_from 锚点续算
4bfc2dd chore: native 基准扩展——JSON 解析/空间索引 rebuild+query,防优化
c0cd056 feat: 缓动批量求值接线——IrTween.Update 走 iridium_core_evaluate_batch
945f6fc feat: 装饰物命中空间索引接入——AABB 粗筛跳过无候选物理查询
d30263d feat: JSON 原生解析接线——NativeJson 物化器 + Deserialize(Partially) 补丁(v2/v3)
867b0c4 refactor: batch deco(rs)
ff58f8c feat: v2 接入 iridium_core——缓动求值与 RemakePath 走 Rust
64c0b43 feat: iridium_core 接线第一批——缓动引擎与 RemakePath 走 Rust
c39e4a3 refactor: easing engine(rs)
e42fce0 refactor: remake path by rust

Please Use the version that fits your ADOFAI version.

2.1.0_beta1

2.1.0_beta1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Oct 02:39

2.1.0_beta1

更新日志 / Changelog

Note

Iridium supports multiple mod loaders.See README.md for platform installation.

Warning

Linux/macOS requires libgdiplus for UI rendering and image compression. See gdi.md to installation.

CHANGES

  1. Restart after fail: floors that are already at their start state are skipped, and hold objects are reused instead of destroyed and rebuilt (v2 / v3).
  2. Lower per-frame overhead: holds skip material writes while their geometry is unchanged, each floor runs OnBeat once per beat instead of twice, and the audio spectrum is computed once per frame and shared with the conductor, volume trackers and background bars.
  3. Faster editor interaction: selecting floors or decorations and opening panels no longer deep-copies the whole level, and decoration / event lookups are indexed instead of scanning every event (noticeable on charts with hundreds of thousands of events).
  4. Hit texts are created on demand instead of pre-building about 1400 of them when a level loads (v3).
  5. Search across all settings: type in the search box to filter every option, then click a result to jump straight to it.
  6. The optimizer is split into four categories (basics / gameplay / effects / advanced), with clearer sections and parent-child option grouping.
  7. Option descriptions are rewritten for players, and the info icon is now placed consistently next to the option text.
  8. v2 (ADOFAI 2.9.8) receives the restart and editor optimizations from items 1 and 3.
  9. Fixed a freeze when switching settings categories, and fixed broken UI files being rendered silently.

Caution

Disclaimer: Optimization mods are not a silver bullet — do not chase FPS blindly. If issues occur, disable the specific feature and report the bug instead of labeling the entire mod broken.


提交记录 / Commits

Hash Message
88193b0 update: readme
92a8da4 chore: bump Iris.Iml submodule (解析守卫/帧缓存/TextField 增强)
9c31394 feat: 设置 UI 改版 (我到底怎么改的)
b3524f1 feat: 移植 7 项热路径优化补丁到 v2 (2.9.8)
4570ab7 feat: v3 新增 10 项热路径性能优化补丁
83801ee chore: bump version to 2.1.0_beta1

Please Use the version that fits your ADOFAI version.

2.0.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 14:13

2.0.1

更新日志 / Changelog

Note

Iridium supports multiple mod loaders.See README.md for platform installation.

Warning

Linux/macOS requires libgdiplus for UI rendering and image compression. See gdi.md to installation.

CHANGES

  1. Support loading, editing and saving adofai 3.x charts on the 2.9.8 version (v3-only properties are preserved).
  2. Editor: much faster tile insert / delete and tile switching on large charts.
  3. Loading: large charts load faster (lazy effects and floor numbers, chunked activation).
  4. Lower memory usage on very large charts.
  5. Adjustable render resolution — lower it a bit for higher FPS (v2 / v3).
  6. MiniModLoader(A Third-party mod loader) support.
  7. Faster decoration hitbox detection, and decoration scaling while playing.

Caution

Disclaimer: Optimization mods are not a silver bullet — do not chase FPS blindly. If issues occur, disable the specific feature and report the bug instead of labeling the entire mod broken.


提交记录 / Commits

Hash Message
74ea21a docs: chinese changelog for 2.0.1 release
46902eb release: 2.0.1 stable - v3 chart support on 2.9.8, editor & loading optimizations, memory fixes
0419105 我真是脑子泡水了(/bx)
8bde975 Revise question template for clarity and labels
1ab3947 Update feature request template configuration
c179eeb remove title field
63d53c6 Update bug report template configuration
54e3597 docs: allow attaching Player.log (.log) in bug report template
cbe92cc docs: ask for mod loader (dropdown) and loader version in issue templates
8817db6 fix: harden editor floor optimization against old levels, sprite floors and stale materials
c46b65b perf: optimize decoration hitbox detection behind a new optimizer toggle
0771217 update: changelog
a1e54e1 feat: framebuffer render scale for v2/v3 + snapshot6
508a260 ModsTagLib.MiniModLoader初步支持
b661720 docs: ask for the Iridium version in the question template too
7d48281 docs: ask for the Iridium version as free text in bug reports
7a9d568 feat: update md
f3be85e fix: log PatchGuard finalizer attach failures once at warning level
4da407e chore: bump mod version to 2.0.1 (match release/Info.json)
bb20c42 fix: hide judge text on 3.4.0 when template is empty; register nested hot-path patches
6509987 revert: remove performance overlay (not ready for release)
eedd7b4 docs: libgdiplus install guides; prep 2.0.1_beta1 release
5ba3a00 feat: bring v3 optimizations and features to v2 (2.9.8)
617af5f feat: ADOFAI 3.4.0 support, patch exception guard, split-perfect judge text
7390d5a perf: fix batching activation/mesh-upload bugs, add UGUI perf overlay
fb57708 feat: static decoration batching (M2/M3) + decoration filter cache; bump to snapshot3
83b2845 feat: batch static decoration
ef9ff08 docs: rewrite release changelog for the optimization rework
d8bff66 feat: memory optimization rework, custom easing engine rewrite, decoration hot-path optimizations
d9c5423 fix: ver mismatch
b127d7b feat: 。。。refactor UI,memory optimize
c33f44a fix: editor shortcuts never triggered; align modifier bits and repair saved keys

Please Use the version that fits your ADOFAI version.

2.0.1_snapshot6

2.0.1_snapshot6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Sep 17:00

2.0.1_snapshot6

更新日志 / Changelog

Note

Iridium supports multiple mod loaders.See README.md for platform installation.

Warning

Linux/macOS requires libgdiplus for UI rendering and image compression. See gdi.md to installation.

CHANGES

1.Support Decoration Scaling when Playing Games. (2x optimization)

Caution

Disclaimer: Optimization mods are not a silver bullet — do not chase FPS blindly. If issues occur, disable the specific feature and report the bug instead of labeling the entire mod broken.


提交记录 / Commits

Hash Message
0771217 update: changelog
a1e54e1 feat: framebuffer render scale for v2/v3 + snapshot6
508a260 ModsTagLib.MiniModLoader初步支持
b661720 docs: ask for the Iridium version in the question template too
7d48281 docs: ask for the Iridium version as free text in bug reports

Please Use the version that fits your ADOFAI version.

2.0.1_snapshot5

2.0.1_snapshot5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 16:32

2.0.1_snapshot5

更新日志 / Changelog

Note

Iridium supports multiple mod loaders.See README.md for platform installation.

Warning

Linux/macOS requires libgdiplus for UI rendering and image compression. See gdi.md to installation.

CHANGES

1.Filter Patches won't throw error now(it's an accident)

Caution

Disclaimer: Optimization mods are not a silver bullet — do not chase FPS blindly. If issues occur, disable the specific feature and report the bug instead of labeling the entire mod broken.


提交记录 / Commits

Hash Message
7a9d568 feat: update md
f3be85e fix: log PatchGuard finalizer attach failures once at warning level

Please Use the version that fits your ADOFAI version.

2.0.1_beta1

2.0.1_beta1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Sep 02:17

2.0.1_beta1

更新日志 / Changelog

Note

Iridium supports multiple mod loaders.See README.md for platform installation.

Warning

Linux/macOS requires libgdiplus for UI rendering and image compression. See gdi.md to installation.

What's New

  1. ADOFAI 3.4.0 Support: Fully compatible with the latest game version while maintaining backward compatibility.
  2. New Perfect Hit Text: Independent text customization for big/small P in 3.4.0 with inherited old settings and {offset} placeholder support.
  3. Filter & Decoration Performance: Eliminates per-frame recalculations when idle, significantly reducing dense chart stutters (built-in animated effects like VHS remain unaffected).
  4. v2 Version Update (ADOFAI 2.9.8): Aligned multiple v3 features for players on 2.9.8 (including decoration caching, reduced input lag, adjustable arc angle ranges, offset placeholders, and pause-state planet trails).
  5. Fault Tolerance: Automatically disables failing features quietly after game updates without crashing or breaking input/rendering.

Other Changes

  • Memory Optimization: Simplified to a single toggle with an optional virtual memory feature (Windows only, moves idle memory to disk).
  • Major Performance Boost: Added experimental Decoration Shader Cache and Static Decoration Batching for higher FPS on heavy charts.
  • Rewritten Easing Engine: Fixed animation overlaps/freezes, ensured all easings work properly, and resolved leftover white tracks on exit.
  • UI Improvements: Reorganized settings panel with collapsible sections and clearer descriptions.

Caution

Disclaimer: Optimization mods are not a silver bullet — do not chase FPS blindly. If issues occur, disable the specific feature and report the bug instead of labeling the entire mod broken.


提交记录 / Commits

Hash Message
4da407e chore: bump mod version to 2.0.1 (match release/Info.json)
bb20c42 fix: hide judge text on 3.4.0 when template is empty; register nested hot-path patches
6509987 revert: remove performance overlay (not ready for release)
eedd7b4 docs: libgdiplus install guides; prep 2.0.1_beta1 release
5ba3a00 feat: bring v3 optimizations and features to v2 (2.9.8)
617af5f feat: ADOFAI 3.4.0 support, patch exception guard, split-perfect judge text
7390d5a perf: fix batching activation/mesh-upload bugs, add UGUI perf overlay
fb57708 feat: static decoration batching (M2/M3) + decoration filter cache; bump to snapshot3

Please Use the version that fits your ADOFAI version.

2.0.1_snapshot3

2.0.1_snapshot3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Sep 07:17

2.0.1_snapshot3

更新日志 / Changelog

Note

Iridium supports multiple mod loaders — see README.md for platform-specific installation instructions.

Warning

On Linux/macOS, this mod may require libgdiplus to be installed separately. It is used for UI rendering (icons, buttons, switches) as well as image compression.

Performance

  1. Decoration hot-path overhaul. Charts driven by thousands of MoveDecorations events (e.g. 90,000+ events in a single chart) no longer pay a per-event LINQ penalty when resolving tagged decorations, and idle decorations no longer rewrite their rotation/scale transforms every frame. This is the biggest script-side win on decoration-heavy charts.
  2. New: Decoration Shader Cache (Rendering section). The game rewrites every visible decoration's material (color, opacity, tiling, scale) every frame even when nothing changed. Decorations without filters/masks now skip that work entirely while static. Combine it with "Optimize FFx Decorations" — they cover different halves of the same problem.
  3. "Optimize FFx Decorations" rewritten. The old version dropped material/filter updates and hitbox state for many decorations — it was fast but visibly wrong (missing fades, broken hitboxes). It now behaves identically to vanilla while still skipping decorations that are persistently invisible, and it no longer rewrites transforms for decorations that are not moving.
  4. Custom easing engine rewritten from scratch. Tweens are now tracked by (target, property) and can actually be killed when events overlap (previously they fought each other and were never cleaned up). The full ease table is implemented — Flash, Elastic and Bounce easings previously fell back to OutQuad and animated incorrectly. Scrubbing the timeline, restarting and exiting play now reset tween state exactly like vanilla.

Fixes

  1. White tracks / stuck "half-play" state after exiting play mode. An exception in the reset path aborted cleanup halfway, leaving tracks white, disappearing animations broken, and the editor in a half-play half-edit state. Fixed.
  2. Tracks no longer refuse to disappear when the custom easing engine is enabled: the game's Floor Appear/Disappear animations now properly take over from engine tweens instead of fighting them.
  3. Patch mode "IL Transpiler" no longer silently disables texture scaling compensation. Patches without a transpiler implementation now fall back to prefix/postfix instead of failing — all 121 patches apply in both modes.
  4. Removed placebo features. The old "memory optimization" switch did nothing; the multithread optimizer, several caches and object pools were never called. Dead switches are gone — everything remaining is real.

Memory

  1. Memory section reworked. The scattered switches are now one Basic Memory Optimization toggle (GC tuning, scene-switch cleanup, engine tuning). Under Advanced, a new Virtual Memory Optimization moves inactive memory to the system page file (same principle as PCL2's memory optimization) — Windows only, with a mechanical-drive warning. It can run when loading a level and/or when entering the editor.

UI

  1. Clickable hyperlinks are now a proper component — the General tab shows a direct link to the tutorial (learn.modrift.org/mods/iridium).
  2. Settings hints for memory features were rewritten to be actually readable, and the memory section now has a clear Basic / Advanced structure.

提交记录 / Commits

Hash Message
83b2845 feat: batch static decoration

Please Use the version that fits your ADOFAI version.

2.0.1_snapshot2

2.0.1_snapshot2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 06 Sep 05:35

2.0.1_snapshot2

更新日志 / Changelog

Note

Iridium supports multiple mod loaders — see README.md for platform-specific installation instructions.

Warning

On Linux/macOS, this mod may require libgdiplus to be installed separately. It is used for UI rendering (icons, buttons, switches) as well as image compression.

Performance

  1. Decoration hot-path overhaul. Charts driven by thousands of MoveDecorations events (e.g. 90,000+ events in a single chart) no longer pay a per-event LINQ penalty when resolving tagged decorations, and idle decorations no longer rewrite their rotation/scale transforms every frame. This is the biggest script-side win on decoration-heavy charts.
  2. New: Decoration Shader Cache (Rendering section). The game rewrites every visible decoration's material (color, opacity, tiling, scale) every frame even when nothing changed. Decorations without filters/masks now skip that work entirely while static. Combine it with "Optimize FFx Decorations" — they cover different halves of the same problem.
  3. "Optimize FFx Decorations" rewritten. The old version dropped material/filter updates and hitbox state for many decorations — it was fast but visibly wrong (missing fades, broken hitboxes). It now behaves identically to vanilla while still skipping decorations that are persistently invisible, and it no longer rewrites transforms for decorations that are not moving.
  4. Custom easing engine rewritten from scratch. Tweens are now tracked by (target, property) and can actually be killed when events overlap (previously they fought each other and were never cleaned up). The full ease table is implemented — Flash, Elastic and Bounce easings previously fell back to OutQuad and animated incorrectly. Scrubbing the timeline, restarting and exiting play now reset tween state exactly like vanilla.

Fixes

  1. White tracks / stuck "half-play" state after exiting play mode. An exception in the reset path aborted cleanup halfway, leaving tracks white, disappearing animations broken, and the editor in a half-play half-edit state. Fixed.
  2. Tracks no longer refuse to disappear when the custom easing engine is enabled: the game's Floor Appear/Disappear animations now properly take over from engine tweens instead of fighting them.
  3. Patch mode "IL Transpiler" no longer silently disables texture scaling compensation. Patches without a transpiler implementation now fall back to prefix/postfix instead of failing — all 121 patches apply in both modes.
  4. Removed placebo features. The old "memory optimization" switch did nothing; the multithread optimizer, several caches and object pools were never called. Dead switches are gone — everything remaining is real.

Memory

  1. Memory section reworked. The scattered switches are now one Basic Memory Optimization toggle (GC tuning, scene-switch cleanup, engine tuning). Under Advanced, a new Virtual Memory Optimization moves inactive memory to the system page file (same principle as PCL2's memory optimization) — Windows only, with a mechanical-drive warning. It can run when loading a level and/or when entering the editor.

UI

  1. Clickable hyperlinks are now a proper component — the General tab shows a direct link to the tutorial (learn.modrift.org/mods/iridium).
  2. Settings hints for memory features were rewritten to be actually readable, and the memory section now has a clear Basic / Advanced structure.

提交记录 / Commits

Hash Message
ef9ff08 docs: rewrite release changelog for the optimization rework
d8bff66 feat: memory optimization rework, custom easing engine rewrite, decoration hot-path optimizations
d9c5423 fix: ver mismatch

Please Use the version that fits your ADOFAI version.

2.0.1_snapshot1

2.0.1_snapshot1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Sep 13:50

2.0.1_snapshot1

更新日志 / Changelog

Note

Iridium supports multiple mod loaders — see README.md for platform-specific installation instructions.

[!WARNING]
On Linux/macOS, this mod may require libgdiplus to be installed separately. It is used for UI rendering (icons, buttons, switches) as well as image compression.

Changes

1.Added memory optimize(like PCL2!)


提交记录 / Commits

Hash Message
b127d7b feat: 。。。refactor UI,memory optimize
c33f44a fix: editor shortcuts never triggered; align modifier bits and repair saved keys

Please Use the version that fits your ADOFAI version.