Home - 123jimin/unnamed-sdvx-clone GitHub Wiki
TODO list
Things to do (or maybe not), generally ordered by priority
Practice setup improvement
Basically, rebrand it as a 'chart viewer' which can be used in conjunction with the k-shoot mania editor.
- Mouse-friendly UI
- Remove assumption that
mapTime >= 0
(a big bug) - Adjust/preview zoom parameters on-the-fly
- Enable refreshing chart / lua script
- Enable changing gameplay settings such as RAN&MIR
- Presets for chart range
Improve KSH support
- Fix zoom values working differently from k-shoot mania
zoom_bottom=300 zoom_top=0
Following is a list of suggestions for the KSH spec, and not for either USC, KSH, or the KSH editor.
- Add
scroll_speed
andcenter_split
to the spec - Add bezier curve defs for lasers and zoom variables (something like
bezier-a_laser-l=0.5
)
Settings improvement
- Input preset for keyboard / controller
- More sophisticated offset calibration
- Show delta bar instead of just listing delta values
- Implement audio calibration mode (blindfolded play), video calibration mode (muted play), and sync mode (sync audio and video)
- Statistics-based offset calibration
- Better calibration music
- Implement calibration using microphone (experimental)
- Profile management (create/rename/reset/delete profiles)
UI improvement
- Create functions for better pop-up display
- Better UI navigation
- Title: Navigation using arrow key
- Enable using mouse to navigate
- Do something with "hidden" keys (F12 for opening the folder of a chart, tilde for practice mode, ...)
- Do something with currently-awkward practice mode setup
- Add in-game delta display for the default skin
- Improve delta display for the result screen
- Refactor default skin's Lua codes
- Extract common functions to another lua file (using
dofile
or something similar)
- Extract common functions to another lua file (using
- Better manual chart offset adjustment
- Enable for skins to set chart offsets in the result page (create a Lua API)
- Devise a way for users to set chart offsets in the result page (implement it in the default skin using above API)
Lua improvement
- Make
print
do something (to aid in development of skins / NotUSC) - Better Lua error display
- Show Lua error messages as pop-ups (can be hidden)
- SHow better stacktraces
"NotUSC" support
For background
/ foreground
lua scripts:
- Make current scoring info (combos, # of crits/nears/errors, ...) available
- Add
LoadSample
function to load chart-specific sound samples - Add a version of
gfx.ImageRect
which can draw partial image- Reference:
CanvasRenderingContext2D.drawImage
on HTML5 - Using
gfx.IntersectScissor
is super annoying.
- Reference:
- Make chart data / RANMIR info (which lane goes to which button) available
- Enable toggling score/gauge/... displays
- Add support for rendering videos
- Which format to use? - by Drewol
- How to make an API that's easy to use and performant?
Nautica integration improvement
- Fix a problem where archives with nested folders are not extracted correctly.
- Implement search functionality
- Handle interrupted downloads
- Implement 'download all in this page' (if puddi doesn't hate it)
- ESC closes level selection / etc overlay instead of exiting the download page
I18N support
See PR #455
Scroll speed improvement
- Compute and store "earliest appearance time" to properly support negative scroll speeds for
GetObjectsInViewRange
andGetBarPositionsInViewRange
- Decide what to do with long notes / lasers on negative playback speed
Misc improvements/suggestions
- Make CMOD non-storable (similar to autoplay)
- Better offset computation
- Use FFT for convolution
- Store info on whether the offset is manually adjusted
- Keep playing the music after gameplay (like the click-the-circle game)
- Improve how input commands work (note: conflict with PR #543)
- A command should be tied to a combination of buttons (controller or keyboard)
- Implement dual-mice on Linux