* add Jukebox library
todo:
- saving / loading of new format
- inferrence of unknown data like past versions
- move the temporary float casts to proper use of double
- make sound related functions take double for timing
- inform people that the Jukebox sound player was renamed to SoundByte lol
* make sound, input scheduling, and super curve use double precision
* successfully load charts
* editor works again
v1 riqs can be saved and loaded
* first tempo and volume markers are unmovable
fix loading of charts' easing values
* use gsync / freesync
* update Jukebox refs to SoundByte
* game events use double part 1
Air Rally - Glee Club converted
* don't load song if chart load fails
* finish conversion of all minigames
* remove editor waveform toggle
* timeline now respects added song offset length
clear cache files on app close
prepped notes for dsp sync
* update timeline length when offset changed
* update to latest Jukebox
* make error panel object in global game manager
* improve conductor music scheduling
* added error message box
fix first game events sometimes not playing
* add pause menu assets
* layout and animation for pause
* make play mode prefab function
re-assign unused class inheritance
* remove filepath
* don't init medals twice
* remove PlayerActionObject
* initial attempt at anti-note lock
TODO: circumvent inputs clearing themselves making the functionality not work
* properly implement input lock prevention
* fix error on editor open
* functional pause menu
* bugfix
* make unpausing not reset current play statistics
* serialize initializer components in inspector instead of procedurally generating
* sanity check
* note for fade
* make flashes in the camera prefabs instead of in world space
remove / reorganize script files
address issue #411
* fix bug with perfect campaign
make minigame transitions hide the game canvas
adjust animation of the song credits textbox
* fully functional intro scene (placeholder for future title screen)
refactored entire game loading procedure
re-organized some files
* add interaction query to disclaimer text
* reword legal
* anchor section medals to section display
more tempo change placement controls
* operation order bugfix
* prep for future ratings and stats
* loading text
* autoload opening scene
* splash screen adjustments
added setting to force enable splash screen
* adjust setting entry
* fix game view alpha issues
* fix right-clicking on parameter-less entity locking event selection
* reduce ram use of rendertextures
* fix missing sprite references
fix cheer readers sprite masks not working
* fix lockstep rendering discrepancy
* fix section medal toggle not matching described behaviour in UI
* fix game settings masking issue
* dj school "Scratchy Music" toggle on by default
* import new sheets for fan club, mahou tsukai
* make dj school audio FX persist between game change
* make one shot sounds not create extra objects when not needed
* fix potential issue with new one shots
* make string properties apply changes for every keystroke
* new letterbox implementation
* make DSP buffer larger
* add new "ambient" letterbox option
* remap keyboard control
* enable autoplay cheat mode
* fix editor settings not being applied on start
* run the cursor init in editor init
remove debug prints
* Spaceball cleanup and small bug fix
* Replace old hit sound in spaceball
* Camera filters
* added 9 new filters, including 3 types of sepia
* oops
* remark
* normalization of fade out and fade in on filters are by 100
* GenerateFilterTypeEnum comments
* implement a fix for #196
- improve checking for unwanted inputs in minigame scripts, see Fan Club, Karate Man, and Pajama Party for examples
- provisionally implemented calculating average player input offset
* update samurai slice ds to new assets
implement near miss feedback
* import new pajama party assets
* update icons
* add background loading of sound sequences
- fix bug with preFunction
- remove most of the old preloading code
* update spritesheets for karate man, marching orders
* file explorer chart loading
* update icon for trick on the class
Due to some recent discoveries about a certain upcoming rhythm game, I have added support for unrecognized entities found in remix.json to be loaded and moved, and be able to save them.
* add way of creating sound sequences in inspector
- actually implement GameAction preFunction
- implement sound scheduling for Jukebox and MultiSound
* Dj School: fix turntable effect being parented to root
* Pajama Party: fix sleep action type not carrying over between transitions
* improve performance with new render settings
- fix letterboxing losing camera references
* fin in missing params?
needs testing
* finish default param check
* scale jump animation of fan club spectators
* fix missing references in a karate man method
* more liberal use of Double in conductor
beatkeeping is now absolute instead of being additive
* optimize Conductor more
reduce caching from constantly sorting tempo changes despite game manager doing it for us
moved metronome logic to LateUpdate
* prep UI for chart section
* all special layers now on one area
todo: have buttons toggle between special layers (selection mode shows all?), use the tabs system for this
* swapping between special timelines - prelim
* special entities can be placed
* spec. timeline base functions complete
music volume changes should work now
* attempt at input lag reduction
needs testing
* fix dsp issues
* smaller DSP buffer?
* Revert "smaller DSP buffer?"
This reverts commit 9d36db5ff90cf4e2d7bb8db9b4b7376cb493e02b.
* make conductor clock use real time (double)
change order of execution of input-related scripts to further attempt a reduction in input latency
* start values can be changed
make the old special entity bar visible when the corresponding type is selected
* creation of Chart Sections (TODO: GO REFERENCE)
* added GO references
* section edit dialog
* disable wrapping on chart section obj
* backspace can now delete entities
* entities don't shift when duplicated
* fix PlayerActionEvent order of operations
- fixed remix loading trying to clear special timeline while it's writing to itself
* make oop check match parity
* more operation order fix
* fix Karate Man BG initialization
* show section progress in editor
todo: section progress in-game
* more fix for entity duping
- implement the InputController abstract class, an adapter class for any HID interface to use common controller methods relevant to Heaven Studio
- implement InputKeyboard and InputJoyshock classes, for keyboard input and controllers driven by JoyShockLibrary respectively
- add Linux compile of JoyShockLibrary
* Loading improvements: prepwork for loading from assetbundles
* note for sfx
* cleaner code
* correct type
* put loaded assetbundle in the minigame data instead
also lays groundwork for future localization stuff
* add samurai slice gold, coin toss assetbundles
* very messy "already loaded" checks
* make Dj School load from assetbundle
* Fix Sheets issue 11
* Textboxes: Fix unicode glyphs sometimes not displaying
* Fan Club: fix order of operation bug
* Conductor: refactor ReportBeat
this fixes issues with using crop stomp alongside tempo changes
* Built to Scale (Gold): temporarily disable post-processing
game renders very incorrectly due to the post processing effects
will need someone who knows what they're doing in that field to fix it proper
* marked some assets for deletion
* I'm dumb and left in debug prints
* Prepwork for seeking + tempo change fixes
TODO: make playing after seeking function (I'll need help with the offset stuff so if anyone can push to this branch please do)
* functions to get the beat from a song position
will need more testing but I think it works well enough to get into prod
thanks @wooningcharithri#7419 for the psuedo-code
* Textboxes: setup prefab
* Textboxes: basic functionality finished
* Textbox: scaling
* Textbox: open captions
* Textbox: res edits
* Textbox: song artist
* Textbox: closed captions
* Textbox: fix not being able to use multiple text events
* I/O: save / load remixes using UTF-8 encoding
* Textboxes: stop editor shortcuts while typing
I went through every single game script to look for bugs in intialization, there shouldn't be anything else that was caused by the pr (there is a bug in Spaceball where a ball cue won't trigger correctly if it's on the same beat as the switch, but i'm not sure how to fix it)