Repository navigation
v0.5.2475
What's Changed
Content Browser / online
- feat(content-browser): keep keyboard packs out of rips
- fix(content-browser): let Escape leave the search box and keep typed characters in it
- fix(content-browser): draw holds and rolls in chart previews
- feat(content-browser): keep every booster pack in one series
Golf / scoring / ArrowCloud
- fix(golf): show wheel pars when the browsed difficulty has no chart and share compact par formatting across the wheel, gameplay and results
- feat(golf): turn wheel par badges on when golf features are enabled
- feat(golf): default Golf Score and Golf Results on for golf packs once golf features are enabled, and respect Golf Display when showing results
- fix(score): recognize ArrowCloud quints on the song wheel and in saved profile snapshots without re-importing scores
- perf: streamline golf metadata parsing and lookup
- perf: reduce leaderboard text and refresh allocation churn
- perf: specialize scorebox numbers and username matching
Gameplay / sync / player options
- fix(sync): keep calibration, autosync and song Lua timing consistent across playback rates, and reset autosync samples when the rate changes
- feat(gameplay): add Still and ITG judgment animations in Display Modifiers, save the choice per profile and import Simply Love animation settings
- feat(gameplay): add Ghost Data score targets using saved ITG, EX and Hard EX judgment histories, with Arrow Cloud ghost imports and fallback indicators
- fix(profile): respect joined players when choosing play styles and refresh the song wheel when profile selection changes the chart type
Theme / layouts / localization
- feat(theme): show gameplay step statistics on non-widescreen layouts, including 4:3
- feat(theme): enable density graphs and peak NPS on non-widescreen layouts
- fix(theme): size centered density graphs correctly at 4:3
- fix(theme): fit step-statistics and heart-rate displays to the available pane width, align live timing columns and keep step counts visible with the scorebox
- refactor(theme): simplify live timing placement by anchoring its columns to the scorebox
- fix(theme): fit pack banners and song information between the timing statistics and density graph
- fix(theme): preserve song-information text sizing and align labels with their values
- fix(theme): truncate long song titles, artists, pack names and chart descriptions with ellipses
- feat(theme): split step statistics around centered single-player notefields on narrower screens, including 4:3, 5:4 and 6:5
- fix(theme): give song information the full text width in the centered non-widescreen split layout
- fix(theme): scale centered split panels to the available width, align their banners and judgments, and anchor the density graph to the bottom of the screen
- fix(theme): keep live timing, duration, step counts and heart-rate displays inside the centered non-widescreen split layout
- fix(theme): read live timing row height from layout placement
- feat(i18n): complete French translations across game menus and content browser
Audio
- perf: streamline PCM repetition, mono appends and fades
- perf(audio): accelerate SOLA PCM kernels
- perf(audio): reuse exact mono correlation for stereo
- perf(audio): share immutable lead-in silence buffers
- perf(decode): specialize PCM strides and fill repeated channels
- perf(audio): fold exact gains and avoid output-mode allocations
- perf(audio): shortcut ordered maps and filter diagnostic payloads
- perf(decode): skip unused WAV data and filter MP3 syncs
- perf(audio): retain native PCM in SOLA source buffers
- perf(audio): keep exact SOLA correlation prefixes in PCM units
- perf(audio): bypass float conversion for unity and muted output
- perf(audio): specialize SOLA PCM channel appends for 6-, 8- and 16-channel layouts
- perf(audio): import the WASAPI COM task free directly
- perf(audio): read WASAPI mix properties without copying the format
- perf(audio): reserve WASAPI device ID encoding once
- perf(audio): reuse the WASAPI preparation format buffer
- perf(audio): widen ASCII WASAPI device IDs directly
- perf(audio): recognize WASAPI formats with safe byte reads
- perf(audio): convert WASAPI frame times without remainder correction
- perf(audio): round WASAPI periods from the remainder
- perf(audio): build WASAPI reciprocals with 64-bit division
- perf(audio): share WASAPI render and telemetry calls
- perf(audio): move WASAPI startup errors into the ready channel
- perf(alsa): remove transient IDs and unused timing work
- perf(alsa): combine rate probes and reuse device name storage
- perf(alsa): cache exact frame-to-time scaling
- perf(alsa): avoid temporary C strings during enumeration
- perf(alsa): reduce preparation and probe allocation overhead
- perf(coreaudio): reduce callback timing arithmetic
- perf(coreaudio): remove transient setup allocations
- perf(coreaudio): specialize clock divisors and trim rate probes
- perf(coreaudio): narrow clock offsets and cache callback periods
Textures / assets / rendering
- perf: streamline luminance, resize weights, and PNG metadata
- perf: streamline binary16 encoding, decoding, and capture bytes
- perf: streamline PNG expansion and BMP palette decoding
- perf: streamline software sampling and offscreen culling
- perf: streamline triangle coverage, clipping and shading
- perf(assets): accelerate texture filename metadata scans
- perf(assets): remove palette and cache path allocation churn
- perf(assets): reuse image file handles after signature detection when loading PNG, GIF and indexed BMP textures
- perf(assets): streamline dimension and filename queries
Simfiles / timing / song library
- perf: streamline native timing and chart note counting
- perf: streamline note rows, parsing and timing tables
- perf: streamline simfile annotations and timing inputs
- perf: streamline nanosecond conversions and rate checks
- perf: streamline song markers, search and query parsing
- perf: streamline chart edit comparisons and collection
- perf: streamline lane and media metadata queries
- perf: streamline background filename and color keys
Input / configuration / lights
- fix(fsrio): persist threshold edits like ADP Tool
- perf: streamline binding buffers and UUID codecs
- perf: streamline config aliases and value writing
- perf: streamline frame diagnostic ring traversal
- perf: parse clock, log and fail preferences without allocation
- perf: streamline controller UUID and screenshot flag text
- perf: streamline debounce updates and direction tokens
- perf: streamline light preference and serial name parsing
- perf: streamline INI and default keymap serialization
- perf(input): fuse identity hashing and skip redundant button scans
- perf(input): remove UUID formatting churn and speed short HID diffs
Performance
- perf: streamline golf scoring, pars, and transparent textures
- perf: streamline text markers, stream rows, and opacity scans
- perf: streamline pixel cleanup, note parsing, and movie seeds
- perf: streamline alpha sampling, video normalization, and panned SFX
- perf: streamline half-size resizing and PCM layouts
- perf: streamline mono PCM, boolean validation and muted panning
- perf: streamline mono appends, PCM rounding and YUV normalization
- perf: streamline PCM fades, Boolean scans and texture wrapping
- perf: streamline RGBA resizing, float WAV and SFX gains
- perf: streamline color keys and PCM rounding
- perf: streamline video quantization, WAV headers and bool scans
- perf: streamline note, depth and color quantization
- perf: streamline endian calls and enum parsing
- perf: reduce color growth and metadata lookup scans
Platform / build / maintenance
- refactor(lua): preserve the existing song Lua engine as deadlib-lua-legacy
- fix(windows): resolve i686 Lua integer conversions and vendor Opus with static MSVC CRT linking
- chore(deps): update dependencies, adapt archive readers to ZIP 9 and retain parking_lot 0.12.5 for legacy Lua compatibility
New Contributors
Full Changelog: v0.5.2371...v0.5.2475