Commit graph

105 commits

Author SHA1 Message Date
minenice55
199d16cb9f Chart Seek Bugfix (#545)
* fix lag spike when starting playback from middle of chart

further optimization to GameManager which considerably reduces garbage generation

* let dsp offset be calculated on playback start if needed
2023-09-12 20:38:28 +00:00
minenice55
63a2814caa Timekeeping Improvements and Small Optimizations (#544)
* make BeatActions coroutines instead of componentrs

* pooled scheduled sounds

implement S' entity seek

* remove debug prints from last two changes

* implement absolute time tracking

implement DSP time resyncing

* optimize GameManager

* update TMPro

* update IDE packages

* fix dsp sync making the drift worse

* fix issue with the JSL dll

* relocate debug print

* make scheduled pitch setter functional

* any cpu
2023-09-11 22:28:04 +00:00
Rapandrasmus
8c85e78a6d done (#541) 2023-09-08 14:27:15 +00:00
minenice55
fdd0ba55c6 don't crash if origin is undefined (#514)
reword the unknown origin message to be less scary
2023-07-29 02:23:07 +00:00
Rapandrasmus
1753a25947 Game Switch Black Flash is now beat-based. (#503)
* Game switch flashes are now 0.25 beats long

* ambient glow now turns black when the game switch flash is on

* you can now set the void color, it doesn't work with game switch flashes

* black
2023-07-17 15:56:57 +00:00
minenice55
50bc876509 let play mode start if no song file is loaded
fix issue with loading large audio files
2023-06-13 16:55:02 -04:00
minenice55
8b0544246d update Jukebox to latest version
fixes for inferred entity loading
2023-06-12 17:18:37 -04:00
minenice55
5af551b32e make base datamodels for special entity reading (#463)
* make base datamodels for special entity reading

* fix crop stomp breaking when no game switch or remix end is set

* fix save shortcut

fix loading charts with no music
2023-06-11 12:12:25 -04:00
minenice55
50a1b7bcdb Integration of Jukebox Library (#451)
* 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
2023-06-10 15:13:29 -04:00
minenice55
4c4d0a7a7a Play Mode Features Part 1 (#413)
* 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
2023-05-07 20:33:15 +00:00
Zeo
c18d5353c5 gameswitch flash toggle (#387)
vfx boutta pop off
2023-04-07 15:15:19 +00:00
minenice55
fba540f537 Rendering Fixes and Other Adjustments (#384)
* 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
2023-04-03 04:17:55 +00:00
Zeo
ab73974662 infer gameswitches from json (#381) 2023-04-02 17:15:19 +00:00
minenice55
adfacc07fa Bugfixes (#340)
* 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
2023-03-12 02:56:26 +00:00
minenice55
06cb09e64f Game Overlays (#280)
* add accuracy display

* temp BG for show

* separate overlays prefab

make proper shader for star effects

* aim shakiness display

* implement testing skill star

* fully functional skill star

* separate section display from editor

* fully separate chart section display from timeline

* add section to overlays

* fix nullreference issues

* start game layout settings

* add game settings script

* fix nonfunctioning scoring

* invert y position logic on timing bar

* add perfect challenge functionality

* fix section not showing up in editor

add perfect challenge option

* add timing display minimal mode

* Update PerfectAndPractice.png

* show gismo for minigame bounds in editor

* add ability to disable overlays in editor

* prepare medals

add new timing display graphic

* hide screen preview

* per-axis camera control

added per request

* section medals basic functionality

* add medal get animations

* fix bug with perfect icons

* visual enhancements

* adjust look of timing display minmode

address audio ducking issues(?)

* prepare overlay lyt editor

add viewport pan, rotate, scale
adjust audio setting

* add layout editor UI elements

* dynamic overlay creation

* fix default single timing disp

* set up overlay settings controls

* start UI events

* runtime uuid for component reference

* layout editor affects overlay elements

* show overlay element previews while editing

* advanced audio settings

* fix bug in drop-down creation

* fallback defaults for the new stuff

* fix textbox & overlay visibility bugs
2023-03-11 04:51:22 +00:00
Braedon Lewis
8d375951a8 Auto Spaceball dispense (#286) 2023-02-18 22:12:49 +00:00
Braedon Lewis
7cb592fc69 Camera filters (#242)
* 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
2023-01-26 22:42:16 -05:00
minenice55
6a61b9d87a Scoring System Preparation (#235)
* add calculation for accuracy

* record accuracy for playthrough

* implement forced miss scoring to some games
2023-01-24 22:54:19 -05:00
minenice55
9c3ec82d10 Configurable Event Priority & Bugfixes (#209)
* add event priority

fix crop stomp queuing inputs while chart is paused
fix rhythm tweezers not killing queued inputs when switching veggies

* file cleanup

* remove debug print

* remove more files
2023-01-18 21:31:08 -05:00
minenice55
69b3e53f44 Timing Window Improvements (#199)
* 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
2023-01-13 23:53:25 -05:00
minenice55
17bf3737b5 Misc Additions #4 (#192)
* 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
2023-01-11 20:42:12 -05:00
Zeo
674db30b8c Unrecognized entity support (#191)
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.
2023-01-06 22:59:54 -05:00
minenice55
599c12d8b6 Better Sound Sequences (#190)
* 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
2023-01-04 23:04:31 -05:00
minenice55
d245740f80 Performance Improvements (#173)
* 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
2022-09-22 22:05:04 -04:00
minenice55
d74fe11e68 Beatmap Sections & Latency Reduction (#170)
* 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
2022-09-18 16:48:14 -04:00
minenice55
3697021976 correct param typings on load now 2022-08-22 19:14:38 -04:00
minenice55
dcb2a71b98 start implementation of new format
needs fixes for some types
2022-08-21 19:46:45 -04:00
minenice55
a45625ebd0 heavy rework of our input system
- 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
2022-07-23 20:36:10 -04:00
minenice55
8df667bfec basic controller input from JSL
may need compiles for linux and mac
2022-07-19 18:50:35 -04:00
minenice55
b660b4dcbd Allow games to load assets from AssetBundles (#102)
* 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
2022-06-12 12:32:00 -07:00
minenice55
37eb45ec6d Small Bugfixes (#95)
* 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
2022-06-08 20:35:15 -07:00
minenice55
a824040f59 Tempo changes restored (#92)
* 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
2022-06-06 09:54:57 -07:00
minenice55
fc07f80b4f Feature: Textboxes and other text-related features (#90)
* 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
2022-06-03 20:15:05 -07:00
minenice55
4ace832a11 Global Camera Movement (#80)
* Global Camera: move Spaceball to new system

* Global Camera: holy shit I'm done already?????
2022-05-15 22:29:39 -07:00
Slaith
8960d9da55 Allowed lion count and mii faces to be set before game switches and fixed some bugs from last pr
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)
2022-03-27 11:13:13 -07:00
Jenny Crowe
8d0895b86d Editor: Music volume! 2022-03-19 05:46:38 -07:00
Jenny Crowe
2d80cb05b1 The biggest of boi refactors 2022-03-14 07:21:05 -07:00
Slaith
c9ec6bd6e2 Merge branch 'master' of https://github.com/megaminerjenny/HeavenStudio into megaminerjenny-master 2022-03-07 20:53:30 -08:00
Slaith
531053cdd3 Implemented inactive functions for all game count ins
Also made some changes to how SwitchGame(), OnGameSwitch, and the jukebox work.
2022-03-07 20:46:49 -08:00
Jenny Crowe
71d7f1323f Flash now relegated to its own layer 2022-03-07 17:21:27 -07:00
Jenny Crowe
ec571a52fe Flash now renders in fullscreen 2022-03-07 08:58:34 -07:00
Jenny Crowe
1d564b4910 Fixed some errors 2022-03-07 02:41:07 -07:00
Jenny Crowe
c6f0da37a2 BTSDS: Piano!!! 2022-03-07 02:16:31 -07:00
Slaith
6c25344e9e clean up 2022-03-06 18:37:27 -08:00
Slaith
d2bc7d9871 Added inactive functions
I'm going to flesh it out more in the next commit
2022-03-02 13:59:35 -08:00
Carson Kompon
4636b8a4bf Added Checkbox Parameter + Toggle Inputs Event
So now you can disable inputs if you need to :)
2022-03-01 02:27:49 -05:00
Slaith
554a8833ec Made the call event function more reliable
I have no idea why the function was set up the way it was before but it should be fine now.
2022-02-27 10:49:06 -08:00
Carson Kompon
609ce5cd6e Reset Song when pressing "New"
Song was not removed prior to this
2022-02-26 14:06:52 -05:00
Carson Kompon
2a8da0a551 Added New (CTRL+N) Button
Allows you to call GameManager.LoadRemix("") to initialize a blank remix at bpm 120. The New button (or CTRL+N) calls Editor.NewRemix();
2022-02-25 22:41:32 -05:00
Jenny Crowe
8e1013b96a Editor: Song offset! 2022-02-24 07:02:21 -07:00