Releases: Drewol/unnamed-sdvx-clone
Version 0.6.0
The primary purpouse of this release it to have a more up to date release. 0.5.0 did not work with many newer features in the develop/master versions and to download the latest release version should result in a better experience.
I would also like to announce that I do not intend to work much more on this codebase. I've been primarily been spending my effort on a rewrite to Rust that I started some time ago that I now feel is starting to become a somewhat viable alternative. It still lacks many features but it is catching up relatvely quickly. The rewrite can be found here:
https://github.com/Drewol/kson-rs
Some users have reported that the game does not start after updating. Installing the latest MSVC runtime from https://aka.ms/vs/17/release/vc_redist.x64.exe appears to fix this.
New
- New gauge types. @itszn
- Controller lighting interface. Sync controller LEDs with the game.
- FastGUI: Ultra lightweight gameplay UI option. (Not skinnable)
- Fine grained hispeed adjustment.
- Basic replay system @itszn
Changed
- Laser assist tweaks
- Skin errors mostly silent unless Skin Dev option turned on.
- Sound effects updates @ubuntor
- IR updates @ereti
- Linux packaging improvements (we're now on Flathub!) @SkyLeite @0chroma
- Add option to save nuklear font texture between BasicNuklearGui instances by @itszn in #490
- Add blastive and permissive gauges by @itszn in #438
- Fix crash by out-of-bound access from offset computer by @123jimin in #492
- [skin] Add ShadedMeshOnTrack && some background helpers by @itszn in #485
- Fix out of bounds access on back button input by @SpiritsUnite in #508
- Fix and extend custom flangers by @ubuntor in #511
- Extend custom phasers by @ubuntor in #514
- Use pump and peep instead of polling for SDL event handling by @ASleepyCat in #521
- Update USC-IR support to v0.3.2-a by @ereti in #527
- Extend custom sidechains by @ubuntor in #533
- Settings for default values of the practice mode. by @123jimin in #519
- Beatmap/BeatmapPlayback refactor by @123jimin in #515
- Clean up IApplicationTickable function overrides by @SpiritsUnite in #536
- Fixed a regression in #515 (objects not visible for certain cases during practice mode) by @123jimin in #547
- Make AppImage executable using
chmod
by @atirut-w in #550 - Added more informations on debug HUD (for investigating #549) by @123jimin in #551
- Fixed CMOD not rendering properly (fixes #549) by @123jimin in #556
- Add new replay format and ability to playback replays by @itszn in #518
- Fixing a few bugs related to the result screen and timing windows. by @123jimin in #546
- Fix IR badge description not showing correctly by @123jimin in #558
- Update IR to 0.4.0-a by @ereti in #542
- Fix bugs related to calibration mode and hid/sud by @123jimin in #559
- Build system upgrades by @Drewol in #568
- Update dead links in build.linux by @scatterfish in #570
- Improved updater for Windows by @123jimin in #571
- Make immutable array const by @Hinara in #577
- Reduced amounts of 'OpenGL error' debug logs happening by @123jimin in #574
- Support for lighting peripherals by @Drewol in #456
- Fix 'glBindProgramPipeline' will always evaluate to 'true' by @Hinara in #426
- Add support for playback speeds higher than x1.0 by @123jimin in #573
- HID Light updates by @Drewol in #612
- Laser system revert by @Drewol in #633
- Fixed volume loading as default value by @FructoseJuice in #647
- Fix missing libjpeg in ARM MacOS and set MacOS libraries in CMakeLists.txt by @SkyLeite in #655
- Update to CPR 1.10.5 by @SkyLeite in #657
- Set gameDir to $XDG_DATA_HOME and copy assets on initialization by @SkyLeite in #658
- Changes for easier Linux packaging by @0chroma in #661
- fix double nesting issue on cmake install by @0chroma in #663
- Merge develop into master by @Drewol in #676
New Contributors
- @SpiritsUnite made their first contribution in #508
- @atirut-w made their first contribution in #550
- @scatterfish made their first contribution in #570
- @FructoseJuice made their first contribution in #647
- @SkyLeite made their first contribution in #655
- @0chroma made their first contribution in #661
Full Changelog: v0.5.0...v0.6.0
Version 0.5.0
There's been quite some time since the last proper release so there's really too much to
bring up. Since most of you have been playing on a relatively up to date version a lot
in here won't be completely new but most changes since 0.4.0 will still be listed here
for completeness sake.
There is also now a tool for those coming from K-Shoot MANIA that want to keep their scores.
ksm2usc-score-import
With the new workflow using a develop
branch there will hopefully be more frequent releases.
Notable contributors
- @ASleepyCat - New laser assist & camera behaviour
- @123jimin - Practice mode & new settings screen
- @itszn - Challenges/Courses & settings profiles
- @ereti - Internet Ranking/Online Leaderboards
New Features
- Fallback gauge (aka ARS)
- Prerendering of song effects
- Challenges/Courses by @itszn
- ShadedMesh in skins (docs)
- Offset Calibration Screen
center_split
ksh feature- Song sorting in song select
- Setting for disabling song backgrounds
- Settings window in song select
- Simple multiplayer chat
- Song preview in multiplayer
- Practice mode by @123jimin
- Ability to delete charts ingame
- Laser Offset
- Settings profiles
- Different score display modes
- Online leaderboards by @ereti
- No default server at the moment.
- A simple server implementation exists at ereti/usc-ir-server
Notable changes to old features
- Significant laser assist changes by @ASleepyCat
- Slam hit detection tweaks
- Camera tweaks by @ASleepyCat
- Settings screen rework by @123jimin
- Slim BT notes on top of FX chips
- Move replays from DB to dedicated files
- Save which settings menus are open
- New default song select background
- Key beam/Lane light behaviour change by @ASleepyCat
- Increase near window
Fixes
Too many to list.
Skin incompability notice
- Gauges
--- gameplay.lua
--- gameplay.gauge and gameplay.gaugeType are removed
local function getGauge()
if type(gameplay.gauge) == "table" then
return gameplay.gauge.value
end
return gameplay.gauge
end
local function getGaugeType()
if type(gameplay.gauge) == "table" then
return gameplay.gauge.type
end
return gameplay.gaugeType
end
- Game mode API (mirror/excessive/etc)
-- result.flags has been removed, now use gauge_type
local function isExcessive(result)
if result.flags == nil then
return result.gauge_type == 1
end
return result.flags & 1 == 1
end
local function isMirror(result)
if result.flags == nil then
return result.mirror
end
return result.flags & 2 == 2
end
local function isRandom(result)
if result.flags == nil then
return result.random
end
return result.flags & 4 == 4
end
-- example
-- results.lua
isMirror(result)
-- challengeresults.lua
isMirror(chart)
All changes since 0.4.0
1020 Commits
- [2021-06-12] Drewol: 4342bfb - Bump version
- [2021-06-10] itszn: 9cdb392 - [skin] Fix clearTransition being incorrect when using backup gauge
- [2021-06-08] Drewol: 0f2db26 - Missed an unused part in previous commit
- [2021-06-08] Drewol: 182f94a - Remove some unused things from LaserTrackBuilder
- [2021-06-08] Drewol: b7f916f - [skip ci] Update readme
- [2021-06-08] Emil: dad3ae4 - Merge develop into master
- [2021-06-08] Emil: 0265308 - Merge pull request #479 from ASleepyCat/fx-key-beam
- [2021-06-05] ASleepyCat: 35d895e - Merge branch 'develop' into fx-key-beam
- [2021-06-02] itszn: dad7d4f - [replay] Add miss replay hitstat for lasers and slams
- [2021-06-02] Drewol: 19b4260 - Maybe fix crash on chart delete
- [2021-06-01] ASleepyCat: 9103bd3 - Merge branch 'develop' of https://github.com/Drewol/unnamed-sdvx-clone into fx-key-beam
- [2021-06-01] ASleepyCat: 42e4ca1 - Don't spawn key beam for FX buttons when hitting a hold
- [2021-05-30] Emil: 2322c4c - Merge pull request #478 from 123jimin/202105-window-pos-fix
- [2021-05-30] Jimin Park: f711311 - Store window position after adjusting it in Application::m_UpdateWindowPosAndShape
- [2021-05-24] itszn: 153a50c - [multiplayer] Make linux happy about switch fallthrough
- [2021-05-23] itszn: bf4945f - [multiplayer] Handle keyboard button input correctly
- [2021-05-23] Emil: 1d886dc - Merge pull request #474 from ASleepyCat/slam-window-tweak
- [2021-05-23] ASleepyCat: 22a3b03 - Add comment
- [2021-05-23] ASleepyCat: 3d674b7 - Check early for slams
- [2021-05-20] Drewol: 0e97f96 - Update IR Score Posting
- [2021-05-20] Drewol: 1f9d672 - Separate input offset for laser
- [2021-05-19] Emil: 71bb686 - Merge pull request #470 from ASleepyCat/laser-fx-fix
- [2021-05-19] ASleepyCat: 8447b54 - Merge branch 'develop' of https://github.com/Drewol/unnamed-sdvx-clone into laser-fx-fix
- [2021-05-18] Drewol: df7b3b5 - Add support for KSH 'Standard BPM'
- [2021-05-18] itszn: b75c04d - [skin] Make song download screen obey back button
- [2021-05-18] itszn: eef36f8 - [multiplayer] Make multiplayer respect back btn
- [2021-05-16] ASleepyCat: f0a9cd9 - Apply clang-tidy fixes
- [2021-05-15] ASleepyCat: b63c7a3 - Fix some laser DSPs being active when lasers were at 0
- [2021-05-13] ASleepyCat: b4aee34 - Fix laser effects not being played when lasers are at 0,0
- [2021-05-13] ASleepyCat: fa3955c - Clamp gating values
- [2021-05-12] ASleepyCat: c5c4bc8 - Reorder statements
- [2021-05-12] ASleepyCat: 2315785 - Fix percent parameters not being interpreted correctly
- [2021-05-12] ASleepyCat: 895af98 - Clamp laser DSP mix value
- [2021-05-12] ASleepyCat: 5619b2e - Revert "Fix ReTrigger (and Gate?) laser effects causing ear rape"
- [2021-05-11] ASleepyCat: 6d4f9f8 - Fix ReTrigger (and Gate?) laser effects causing ear rape
- [2021-05-08] Drewol: 22824b0 - Fix build
- [2021-05-08] Drewol: 102ca00 - Effect fixes
- [2021-05-05] Emil: 1a26e73 - Merge pull request #447 from 123jimin/202104-small-fix-2
- [2021-05-02] Emil: b3e9c82 - Merge pull request #465 from ASleepyCat/hold-key-beams
- [2021-05-02] ASleepyCat: 2e15a57 - Always start fading key beam when a hold has passed
- [2021-04-28] Emil: 9a33a88 - Merge pull request #461 from ASleepyCat/timing
- [2021-04-28] Emil: 74ee91f - Merge pull request #462 from ASleepyCat/hit-effects-bug-fixes
- [2021-04-28] ASleepyCat: 80911ac - Add bin/profiles to .gitignore
- [2021-04-27] ASleepyCat: b9c6488 - Reorder delegate operations
- [2021-04-27] ASleepyCat: 3a4c72c - Fix key beams not appearing when delay fade effects are off and a chip object has passed the crit line
- [2021-04-27] ASleepyCat: 1452c99 - Fix assertion failing when exiting while a chart is loading
- [2021-04-25] ASleepyCat: cc43971 - Remove timing window db update statements
- [2021-04-23] ASleepyCat: 0376ba8 - Merge branch 'develop' of https://github.com/Drewol/unnamed-sdvx-clone into timing
- [2021-04-22] Emil: b72ae68 - Merge pull request #458 from ASleepyCat/hit-effects-hot-fix
- [2021-04-22] Emil: 2b867fa - Merge pull request #457 from ASleepyCat/skin-func
- [2021-04-20] ASleepyCat: 5d229eb - Update console offset value
- [2021-04-18] ASleepyCat: abc0a34 - Rename function, add input offset to HoldObjectAvailable
- [2021-04-18] ASleepyCat: 06c7b1d - Revert "Rework hold note timing"
- [2021-04-18] ASleepyCat: 11f9e73 - Fix hit effects not working properly in practice mode
- [2021-04-18] ASleepyCat: e233790 - Fix hit effects not decaying in the calibration screen
- [2021-04-17] ASleepyCat: 8f0fe93 - Fix hit effect turning into a crit when a hold object crosses the crit line...
Version 0.4.0
First release with multiplayer! This release took a while longer than it should've as I felt the game was never quite in a release-ready state for a while, but with that out of the way this version should last a lot longer as the recommended build compared to the previous release.
You can now support the project monetarily with the sponsor button at the top of this page and picking the payment option that suits you best. More info at the end of this post.
Follow https://twitter.com/unnamed_sdvx for the latest information on the project.
New features:
- Multiplayer
- Discord rich presence invites
- Collections/Favourites
- In-game song downloading
- Demo mode (F8 at song select)
- Hidden/Sudden modifier
- Multiple song background support
- Transition screens
- An option to automatically capture score screenshots
Tweaks & Fixes:
- Game no longer requires the cwd to be the same as the executable path
- Reduced gauge drain on very long songs (values can be tweaked in cfg)
- Don't render notes that have been hit
- Fix input offset affecting hit windows
- Changed default speedmod to mmod
- Reworked escape/back navigation
- Back button can be bound and a button combo can also be used
- Tweaked laser assist
New in skinning:
- HTTP Functionality
- Skin specific settings
- Collection Dialog
- Backgrounds & Foregrounds
- Gameplay
- laser_slam_hit
- button_hit
- render_crit_base
- render_crit_overlay
- More info on gameplay states in the
gameplay
table
It is also now possible to support the development monetarily for example for those who want to contribute but can't necessarily do so through code. I promise that there will never be any pay-walled features so if you don't want to or simply can't contribute then there is nothing to worry about. With enough monetary support I can more easily justify working on the project and with enough funding I can possibly do things such as getting art and music commissioned and start other related projects such as a chart editor program.
Version 0.3.1
Mostly some audio fixes but also some additions to skinning
New stuff:
- songs_changed, a good place to run stuff that checks all songs.
- songwheel.allSongs a list of all the songs in your library regardless of filtering settings.
- The laser shader now has a parameter that tells it if it's a laser entry, exit, or body.
Fixes:
- Fixed some charts crashing because they had fx chip effects that used unsupported formats
- Fixed loud noise at the end of some ogg files. ( Thanks to @Pwootage )
- Fixed crackling audio on some MS_ADPCM encoded files
Follow https://twitter.com/unnamed_sdvx for the latest information on the project.
Version 0.3
New features:
- Discord Rich Presence
- Automatic update checking (can be turned off in settings)
- Support for ksm manual tilt thanks to @nashiora
- Windowed fullscreen option
New in lua:
- game.GetKnob
- game.UpdateAvailable
- gfx.Arc
- game.GetSkin
- songwheel.searchStatus
require
now works as one would expect as the search path is now set toskins/[skin]/scripts/
- gfx.SetImageTint
- Added functions to change blend mode
- Basic animation loading and playback system
Fixes and tweaks:
- Lasers should feel better than in previous releases
- Buttons acting weird in tight patterns has been fixed
- Fixed anti-aliasing forcing vsync on some systems
- Fixed concave shape drawing in skinning
- Audio loading has been changed a bit to make future improvements to effects easier
- Tweaked camera and default skin gameplay appearance thanks to @nashiora and @fdigl
- Fixed an error in the bounce guard logic
Follow https://twitter.com/unnamed_sdvx for the latest information on the project.
Version 0.2
I've created a twitter account you can follow to get notified of new releases https://twitter.com/unnamed_sdvx
New features:
- Score Replays
This is not gameplay replays, they're replays of the score progression of a previous score so that you can compete against your previous bests. - Ksh FX Chip Keysounds
The game had support for keysounded FX Chips earlier but they were different to the ones that were added in ksh, the game now reads the ksh ones instead. - Timestamped scores
- Score screenshots with F12 (only on the result screen)
Screenshots are saved in a screenshots folder that the game creates, the result screen lua script can define a capture region for perfectly cropped screenshots. - Mouse wheel scrolling on song select
New in lua:
- Scores now have a timestamp, in POSIX Time (seconds since Jan 1 1970 00:00:00)
- Gameplay:
- Score replays are available so that you can compare the current score against them https://unnamed-sdvx-clone.readthedocs.io/en/latest/gameplay.html#scorereplay
- Result Screen:
- get_capture_rect() function the game calls to get the capture region for screenshots so that they can be cropped, the game will capture entire game window is this function isn't defined.
- screenshot_captured(path) function the game calls once a screenshot is saved so that a notification can be displayed.
Bug fixes:
- Fixed crash when launching with
-notitle
- Fixed crash when pressing F5 during the gameplay outro
- Made the game fall back to shared mode when WASAPI Exclusive mode fails to open.
Version 0.1
First numbered release. Everything related to skinning and other customizable things can be changed in major ways without much notice while the game is still on version 0.x
but the way the skinning works should be mostly final as of this version.
Recent major changes:
- GUI now completely customizable using Lua.
Windows:
- WASAPI Exclusive mode supported