Commit graph

98 commits

Author SHA1 Message Date
minenice55 9e3e594209
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 bb2ae74339
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 caf7d9465f
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 fabca1b5e5
gameswitch flash toggle (#387)
vfx boutta pop off
2023-04-07 15:15:19 +00:00
minenice55 3984c8353f
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 be78d1567e
infer gameswitches from json (#381) 2023-04-02 17:15:19 +00:00
minenice55 29d8c3c40d
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 d5ae99d8ba
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 d1511af689
Auto Spaceball dispense (#286) 2023-02-18 22:12:49 +00:00
Braedon Lewis bdfb27b225
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 a8b6f345a2
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 c037901d34
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 eaba812665
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 41e9d36177
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 ddc183acdd
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 87d20b8c8f
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 695f6671fb
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 bccd88e164
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 9d36db5ff9.

* 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 4a6f4fa1f0 correct param typings on load now 2022-08-22 19:14:38 -04:00
minenice55 f209b2fd17 start implementation of new format
needs fixes for some types
2022-08-21 19:46:45 -04:00
minenice55 ecbe84074f 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 6699e7d98b basic controller input from JSL
may need compiles for linux and mac
2022-07-19 18:50:35 -04:00
minenice55 1dda4f9477
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 b039ff219a
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 d3a528a43a
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 12fb8c2117
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 545eb752cd
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 030837d3c9 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 9f10dbd3ca Editor: Music volume! 2022-03-19 05:46:38 -07:00
Jenny Crowe 9f7b8ee278 The biggest of boi refactors 2022-03-14 07:21:05 -07:00
Slaith 2f5233d76c Merge branch 'master' of https://github.com/megaminerjenny/HeavenStudio into megaminerjenny-master 2022-03-07 20:53:30 -08:00
Slaith fca105259c 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 ad5dd56de3 Flash now relegated to its own layer 2022-03-07 17:21:27 -07:00
Jenny Crowe a6f2353a92 Flash now renders in fullscreen 2022-03-07 08:58:34 -07:00
Jenny Crowe 2ab3c8b8cc Fixed some errors 2022-03-07 02:41:07 -07:00
Jenny Crowe 2ac602dbe6 BTSDS: Piano!!! 2022-03-07 02:16:31 -07:00
Slaith 896f4a450a clean up 2022-03-06 18:37:27 -08:00
Slaith 7e291e0bfa 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 687f2b53f4 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 8501e4805c 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 406f6a54b2 Reset Song when pressing "New"
Song was not removed prior to this
2022-02-26 14:06:52 -05:00
Carson Kompon 027a6cddbe 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 72d55d887a Editor: Song offset! 2022-02-24 07:02:21 -07:00
Jenny Crowe ac163fa2dc Camera now always resets on game switch, even when scrubbing. 2022-02-23 20:17:53 -07:00
Jenny Crowe 1a980347f6 DJ School: Additional gameplay implementation and tuning. 2022-02-20 10:28:56 -07:00
Jenny Crowe 2d996ba3c1 Rhythm Rally: Fixed broken background in editor preview. FreeCam components can now be enabled/disabled with ctrl+shift+D. 2022-02-20 06:57:20 -07:00
Braedon fc31354e14 Changing the "Update" function to "LateUpdate" in GameManager might fix some animation bugs. But also might cause a few others 2022-02-18 19:44:17 -05:00
Braedon 49ad157893 Camera flashes (bug associated with fullscreen) 2022-02-07 20:07:03 -05:00
Braedon 7a624d0581 Some DJ School logic and animations, DJ Yellow is not currently animatable. 2022-02-04 22:48:35 -05:00
Braedon b55a6dcabc Spaceball's camera messed with other games 2022-02-04 13:15:28 -05:00