HeavenStudioPlus/Assets/Scripts/Games/Lockstep/Lockstep.cs
Rapandrasmus f44cfca593 Minigames Patch Part 2 (#508)
* Update issue template to include .riq/.zip info (#483)

Co-authored-by: patata <patataofcourse@gmail.com>

* Pull release 1 (#484)

* Squashed commit of the following:

commit 2c628a4109
Merge: 4fde418c 6246a144
Author: minenice55 <star.elementa@gmail.com>
Date:   Wed Jun 14 01:23:31 2023 +0000

    Merge pull request #473 from minenice55/easings-fix

    Enum Parsing Fix

commit 6246a144b6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:21:13 2023 -0400

    fix all parsing of enums, removed the "special case" for eases

    update to latest Jukebox

commit 4fde418c33
Merge: b9043582 50bc8765
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:15 2023 +0000

    Merge pull request #469 from minenice55/jukebox-update

    Jukebox Package Update

commit b90435825a
Merge: eec3c09a 73e9efd4
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:08 2023 +0000

    Merge pull request #458 from AstrlJelly/MiscAdditions_4

    Bug Fixes + Feature Additions

commit 73e9efd4b1
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:38:24 2023 -0400

    add "updater" for the old marching entity

commit b8d149743a
Merge: 4291333c eec3c09a
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:22:01 2023 -0400

    Merge branch 'release_1' into pr/458

commit 50bc876509
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:55:02 2023 -0400

    let play mode start if no song file is loaded

    fix issue with loading large audio files

commit eec3c09aa8
Merge: a0d70933 990af323
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 18:32:40 2023 +0000

    Merge pull request #471 from Rapandrasmus/FixWorkingDoughCurve

    Fixed weird curve stuff on game switch in working dough

commit 990af32379
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 19:24:13 2023 +0200

    Fixed weird curve stuff on game switch in working dough

commit a0d7093345
Merge: bdef3f95 3d19e75e
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:09:21 2023 +0000

    Merge pull request #470 from Rapandrasmus/WorkingDoughFixes

    Fixed small balls not working in working dough

commit 3d19e75e1a
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 18:07:13 2023 +0200

    Fixed small balls not working in working dough

commit bdef3f95c3
Merge: 8954b8c2 0bfafac6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 14:56:58 2023 +0000

    Merge pull request #467 from Rapandrasmus/WorkingDoughRework

    Working Dough rework

commit 0bfafac6fe
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:13:08 2023 +0200

    modernised rockers pass turn

commit d770266d81
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:03:08 2023 +0200

    Rhythm tweezers pass turn now works like working dough

commit 2109c99a95
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 15:51:35 2023 +0200

    gandw on balls has been added

commit 785abf8486
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 14:59:56 2023 +0200

    Proper inactive handling now

commit 0a92b7bd69
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:52:15 2023 +0200

    OnSpawnBall reimplemented

commit a14aacc181
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:37:09 2023 +0200

    new sounds

commit 8b0544246d
Author: minenice55 <star.elementa@gmail.com>
Date:   Mon Jun 12 17:18:37 2023 -0400

    update Jukebox to latest version

    fixes for inferred entity loading

commit d8ff6744c0
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 21:36:57 2023 +0200

    ball transporter anims for pass turn

commit d283624b07
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 20:38:48 2023 +0200

    working dough converted, need to fix eveerything though

commit 5b3c59eabd
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 18:36:41 2023 +0200

    Converted everything to new curves and made playerballs handle themselves input-wise

commit dee630ea45
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 14:04:32 2023 +0200

    Some new curves

commit 31e8890190
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 12:03:21 2023 +0200

    Rockers can do it too now

commit 76bf6eefa6
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 11:58:31 2023 +0200

    You can now place inputs on top of pass turn for rhythm tweezers

commit 8954b8c269
Merge: 743e954e ce3e6f2d
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:55:40 2023 -0400

    Merge branch 'master' into release_1

commit 743e954e05
Merge: 5af551b3 8929cd56
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 19:53:47 2023 +0000

    Merge pull request #465 from minenice55/dont_infer_track

    Don't infer the track field when importing converted v0 riq coming from unknown origin

commit 8929cd5618
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:52:14 2023 -0400

    don't infer track when importing a v0 riq from another program

commit 5af551b32e
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 12:12:25 2023 -0400

    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

commit 4291333cb0
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 23:00:30 2023 -0400

    add updater for marching orders turn

commit 82da6da741
Merge: 52a4d2b6 411b9a3c
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:36:10 2023 -0400

    Merge branch 'release_1' into pr/458

commit 411b9a3cb1
Merge: b6c222a9 afc665ed
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:30:32 2023 -0400

    Merge branch 'master' into release_1

commit b6c222a981
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:27:58 2023 -0400

    editor fixes (#459)

    * ditch loading dialog

    doesn't show up when it's supposed to

    * format song offset in editor

    * remove VorbisPlugin

    * Update Editor.cs

commit 52a4d2b65c
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:55:10 2023 -0400

    convert float to double and all that

commit aa8f531466
Merge: 242b076f afc665ed
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:01:44 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit 242b076f09
Merge: db653d5a 2b0ced2f
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:21:22 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit db653d5a52
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:18:45 2023 -0400

    a lot

    * munchy monk input + mustache fixes
    * fork lifter and pajama party bopping
    * meat grinder miss bop fix
    * cloud monkey Real
    * marching orders Go! was broken
    * force march doesn't break when it's too early from a game switch
    * you can use the March! block without the marching now

commit 50a1b7bcdb
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 15:13:29 2023 -0400

    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

* Squashed commit of the following:

commit 0d25221b71
Merge: 5869d212 9163085d
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 17 16:40:52 2023 +0000

    Merge pull request #478 from evdial/working-dough

    Working Dough Tweaks

commit 9163085d7a
Merge: 6592a5f2 5869d212
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 17 12:40:06 2023 -0400

    Merge branch 'release_1' into pr/478

commit 5869d212bc
Author: patata <patataofcourse@gmail.com>
Date:   Sat Jun 17 17:20:15 2023 +0200

    Update issue template to include .riq/.zip info

commit 6592a5f202
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 15:05:07 2023 -0400

    assbuns

commit 11a4c090a1
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Thu Jun 15 20:56:40 2023 +0200

    made small idle not crazy

commit 45e7d81b0f
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 14:33:57 2023 -0400

    fsd

commit 47efa3e4f3
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 14:16:38 2023 -0400

    anim

commit c6fb8880a0
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Thu Jun 15 20:13:11 2023 +0200

    Fixed stuff also scaled now yippee

commit 16ce508b03
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 13:50:10 2023 -0400

    many

commit 37b80a33c7
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:28:21 2023 -0400

    Squashed commit of the following: (#474)

    commit 2c628a4109
    Merge: 4fde418c 6246a144
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Wed Jun 14 01:23:31 2023 +0000

        Merge pull request #473 from minenice55/easings-fix

        Enum Parsing Fix

    commit 6246a144b6
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 21:21:13 2023 -0400

        fix all parsing of enums, removed the "special case" for eases

        update to latest Jukebox

    commit 4fde418c33
    Merge: b9043582 50bc8765
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 21:39:15 2023 +0000

        Merge pull request #469 from minenice55/jukebox-update

        Jukebox Package Update

    commit b90435825a
    Merge: eec3c09a 73e9efd4
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 21:39:08 2023 +0000

        Merge pull request #458 from AstrlJelly/MiscAdditions_4

        Bug Fixes + Feature Additions

    commit 73e9efd4b1
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 17:38:24 2023 -0400

        add "updater" for the old marching entity

    commit b8d149743a
    Merge: 4291333c eec3c09a
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 17:22:01 2023 -0400

        Merge branch 'release_1' into pr/458

    commit 50bc876509
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 16:55:02 2023 -0400

        let play mode start if no song file is loaded

        fix issue with loading large audio files

    commit eec3c09aa8
    Merge: a0d70933 990af323
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 18:32:40 2023 +0000

        Merge pull request #471 from Rapandrasmus/FixWorkingDoughCurve

        Fixed weird curve stuff on game switch in working dough

    commit 990af32379
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 19:24:13 2023 +0200

        Fixed weird curve stuff on game switch in working dough

    commit a0d7093345
    Merge: bdef3f95 3d19e75e
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 16:09:21 2023 +0000

        Merge pull request #470 from Rapandrasmus/WorkingDoughFixes

        Fixed small balls not working in working dough

    commit 3d19e75e1a
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 18:07:13 2023 +0200

        Fixed small balls not working in working dough

    commit bdef3f95c3
    Merge: 8954b8c2 0bfafac6
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 14:56:58 2023 +0000

        Merge pull request #467 from Rapandrasmus/WorkingDoughRework

        Working Dough rework

    commit 0bfafac6fe
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 16:13:08 2023 +0200

        modernised rockers pass turn

    commit d770266d81
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 16:03:08 2023 +0200

        Rhythm tweezers pass turn now works like working dough

    commit 2109c99a95
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 15:51:35 2023 +0200

        gandw on balls has been added

    commit 785abf8486
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 14:59:56 2023 +0200

        Proper inactive handling now

    commit 0a92b7bd69
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 13:52:15 2023 +0200

        OnSpawnBall reimplemented

    commit a14aacc181
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 13:37:09 2023 +0200

        new sounds

    commit 8b0544246d
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Mon Jun 12 17:18:37 2023 -0400

        update Jukebox to latest version

        fixes for inferred entity loading

    commit d8ff6744c0
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 21:36:57 2023 +0200

        ball transporter anims for pass turn

    commit d283624b07
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 20:38:48 2023 +0200

        working dough converted, need to fix eveerything though

    commit 5b3c59eabd
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 18:36:41 2023 +0200

        Converted everything to new curves and made playerballs handle themselves input-wise

    commit dee630ea45
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 14:04:32 2023 +0200

        Some new curves

    commit 31e8890190
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 12:03:21 2023 +0200

        Rockers can do it too now

    commit 76bf6eefa6
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 11:58:31 2023 +0200

        You can now place inputs on top of pass turn for rhythm tweezers

    commit 8954b8c269
    Merge: 743e954e ce3e6f2d
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 15:55:40 2023 -0400

        Merge branch 'master' into release_1

    commit 743e954e05
    Merge: 5af551b3 8929cd56
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 19:53:47 2023 +0000

        Merge pull request #465 from minenice55/dont_infer_track

        Don't infer the track field when importing converted v0 riq coming from unknown origin

    commit 8929cd5618
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 15:52:14 2023 -0400

        don't infer track when importing a v0 riq from another program

    commit 5af551b32e
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 12:12:25 2023 -0400

        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

    commit 4291333cb0
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 23:00:30 2023 -0400

        add updater for marching orders turn

    commit 82da6da741
    Merge: 52a4d2b6 411b9a3c
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 22:36:10 2023 -0400

        Merge branch 'release_1' into pr/458

    commit 411b9a3cb1
    Merge: b6c222a9 afc665ed
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 22:30:32 2023 -0400

        Merge branch 'master' into release_1

    commit b6c222a981
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 22:27:58 2023 -0400

        editor fixes (#459)

        * ditch loading dialog

        doesn't show up when it's supposed to

        * format song offset in editor

        * remove VorbisPlugin

        * Update Editor.cs

    commit 52a4d2b65c
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 16:55:10 2023 -0400

        convert float to double and all that

    commit aa8f531466
    Merge: 242b076f afc665ed
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 16:01:44 2023 -0400

        Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

    commit 242b076f09
    Merge: db653d5a 2b0ced2f
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 15:21:22 2023 -0400

        Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

    commit db653d5a52
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 15:18:45 2023 -0400

        a lot

        * munchy monk input + mustache fixes
        * fork lifter and pajama party bopping
        * meat grinder miss bop fix
        * cloud monkey Real
        * marching orders Go! was broken
        * force march doesn't break when it's too early from a game switch
        * you can use the March! block without the marching now

    commit 50a1b7bcdb
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 15:13:29 2023 -0400

        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

commit 2c628a4109
Merge: 4fde418c 6246a144
Author: minenice55 <star.elementa@gmail.com>
Date:   Wed Jun 14 01:23:31 2023 +0000

    Merge pull request #473 from minenice55/easings-fix

    Enum Parsing Fix

commit 6246a144b6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:21:13 2023 -0400

    fix all parsing of enums, removed the "special case" for eases

    update to latest Jukebox

commit 4fde418c33
Merge: b9043582 50bc8765
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:15 2023 +0000

    Merge pull request #469 from minenice55/jukebox-update

    Jukebox Package Update

commit b90435825a
Merge: eec3c09a 73e9efd4
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:08 2023 +0000

    Merge pull request #458 from AstrlJelly/MiscAdditions_4

    Bug Fixes + Feature Additions

commit 73e9efd4b1
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:38:24 2023 -0400

    add "updater" for the old marching entity

commit b8d149743a
Merge: 4291333c eec3c09a
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:22:01 2023 -0400

    Merge branch 'release_1' into pr/458

commit 50bc876509
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:55:02 2023 -0400

    let play mode start if no song file is loaded

    fix issue with loading large audio files

commit eec3c09aa8
Merge: a0d70933 990af323
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 18:32:40 2023 +0000

    Merge pull request #471 from Rapandrasmus/FixWorkingDoughCurve

    Fixed weird curve stuff on game switch in working dough

commit 990af32379
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 19:24:13 2023 +0200

    Fixed weird curve stuff on game switch in working dough

commit a0d7093345
Merge: bdef3f95 3d19e75e
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:09:21 2023 +0000

    Merge pull request #470 from Rapandrasmus/WorkingDoughFixes

    Fixed small balls not working in working dough

commit 3d19e75e1a
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 18:07:13 2023 +0200

    Fixed small balls not working in working dough

commit bdef3f95c3
Merge: 8954b8c2 0bfafac6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 14:56:58 2023 +0000

    Merge pull request #467 from Rapandrasmus/WorkingDoughRework

    Working Dough rework

commit 0bfafac6fe
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:13:08 2023 +0200

    modernised rockers pass turn

commit d770266d81
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:03:08 2023 +0200

    Rhythm tweezers pass turn now works like working dough

commit 2109c99a95
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 15:51:35 2023 +0200

    gandw on balls has been added

commit 785abf8486
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 14:59:56 2023 +0200

    Proper inactive handling now

commit 0a92b7bd69
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:52:15 2023 +0200

    OnSpawnBall reimplemented

commit a14aacc181
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:37:09 2023 +0200

    new sounds

commit 8b0544246d
Author: minenice55 <star.elementa@gmail.com>
Date:   Mon Jun 12 17:18:37 2023 -0400

    update Jukebox to latest version

    fixes for inferred entity loading

commit d8ff6744c0
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 21:36:57 2023 +0200

    ball transporter anims for pass turn

commit d283624b07
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 20:38:48 2023 +0200

    working dough converted, need to fix eveerything though

commit 5b3c59eabd
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 18:36:41 2023 +0200

    Converted everything to new curves and made playerballs handle themselves input-wise

commit dee630ea45
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 14:04:32 2023 +0200

    Some new curves

commit 31e8890190
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 12:03:21 2023 +0200

    Rockers can do it too now

commit 76bf6eefa6
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 11:58:31 2023 +0200

    You can now place inputs on top of pass turn for rhythm tweezers

commit 8954b8c269
Merge: 743e954e ce3e6f2d
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:55:40 2023 -0400

    Merge branch 'master' into release_1

commit 743e954e05
Merge: 5af551b3 8929cd56
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 19:53:47 2023 +0000

    Merge pull request #465 from minenice55/dont_infer_track

    Don't infer the track field when importing converted v0 riq coming from unknown origin

commit 8929cd5618
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:52:14 2023 -0400

    don't infer track when importing a v0 riq from another program

commit 5af551b32e
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 12:12:25 2023 -0400

    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

commit 4291333cb0
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 23:00:30 2023 -0400

    add updater for marching orders turn

commit 82da6da741
Merge: 52a4d2b6 411b9a3c
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:36:10 2023 -0400

    Merge branch 'release_1' into pr/458

commit 411b9a3cb1
Merge: b6c222a9 afc665ed
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:30:32 2023 -0400

    Merge branch 'master' into release_1

commit b6c222a981
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:27:58 2023 -0400

    editor fixes (#459)

    * ditch loading dialog

    doesn't show up when it's supposed to

    * format song offset in editor

    * remove VorbisPlugin

    * Update Editor.cs

commit 52a4d2b65c
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:55:10 2023 -0400

    convert float to double and all that

commit aa8f531466
Merge: 242b076f afc665ed
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:01:44 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit 242b076f09
Merge: db653d5a 2b0ced2f
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:21:22 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit db653d5a52
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:18:45 2023 -0400

    a lot

    * munchy monk input + mustache fixes
    * fork lifter and pajama party bopping
    * meat grinder miss bop fix
    * cloud monkey Real
    * marching orders Go! was broken
    * force march doesn't break when it's too early from a game switch
    * you can use the March! block without the marching now

commit 50a1b7bcdb
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 15:13:29 2023 -0400

    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

* Editor Additions (#479)

* favoriting and pick block

favoriting needs to not break after previewing (maybe make it persistent in the settings file?)
pick block needs to pick the icon, too. and preferably scroll to it as well

* final star anim + automatic icon game switching

before i make any more changes im making a checkpoint here cuz i know it works
* i want to add a way to specify which event SwitchGame() will switch to (because that's a cool feature for pick block)
* i'll have to figure out how to auto scroll to the game when the icon is selected
* the star now fully works, even between preview switches 👍

* fix the rest of the stuff

the event name gets colored correctly and hidden games are skipped over, but still loaded.
also i built mm ass buns

* tweaks + zoom and sorting

this stuff will be in the pr desc so it doesn't matter

* oop one more thing

* icons look better now :D

mipmaps to the rescue

* double date fix

* Merge pull request #486 from RHeavenStudio/actions_rework

Rework GitHub Actions and build script

* add ab meta to gitignore (#489)

* Sound Scheduling Improvements (#491)

* port conductor adjustments

* scheduled sounds prebake

* allow aiff files to be imported

add vbr mp3 warning to readme

* improve wording

* CNR API Internal Rework (#488)

* Prep stuff

* Tweezers now spawn in

* Started converting tweezers

* I hate <1 beat intervals

* Actually nvm

* fixed a bug

* You can chain intervals now, stack them if you really wanted

* Pass turn checks if crhandlerinstance exists

* Fixed hairs being deleted by onion switch

* Rockers rerewritten

* working dough rerewritten

* CNR API Internal Rework (#488)

* Prep stuff

* Tweezers now spawn in

* Started converting tweezers

* I hate <1 beat intervals

* Actually nvm

* fixed a bug

* You can chain intervals now, stack them if you really wanted

* Pass turn checks if crhandlerinstance exists

* Fixed hairs being deleted by onion switch

* Rockers rerewritten

* working dough rerewritten

* Games fixes/reworks patch (#501)

* ghosts are scaled now

* Lockstep fully reworked

* mr. bach has been implemented

* Space dance fixes

* oops

* Tap trial rework part 1

* tap trial rework part 2

* oopsie

* Gramps Talk Update

* Space Dance Voice Offsets

* Giraffe done! (Except miss anim)

* bg is not showing up for some reason

* bg not rendering fixed + giraffe fixed

* scrolling done

* fixed space dance and space soccer bg scrolls

* fixed rockers bugs

* adjustment

* fixed el inaccuracies

* particle fix

* changed pitch and volume of monkey tap

* miss anim

* megamix face for girl

* Proper miss anim implementation

* Added force stepping event

* miss anim fix

---------

Co-authored-by: saladplainzone <chocolate2890mail@gmail.com>
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>

* Mahou Tsukai Rework (#502)

* fixed not being able to whiff in tap trial

* bored meeting fixes

* more board meeting fix

* ww now uses z axis instead of scale

* Inputs are now reworked in mahou tsukai

* Fixed the particle effect

* 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

* fixed! (#504)

* Quiz Show and Tambourine Reworks (#505)

* Tambourine fully reworked

* quiz show rework part 1

* quiz show rework part 2

* oopsie doopsie

* el fix numbah two

* In CheerReaders.cs, quotation marks were aptly added, and references … (#506)

* Update issue template to include .riq/.zip info (#483)

Co-authored-by: patata <patataofcourse@gmail.com>

* Pull release 1 (#484)

* Squashed commit of the following:

commit 2c628a4109
Merge: 4fde418c 6246a144
Author: minenice55 <star.elementa@gmail.com>
Date:   Wed Jun 14 01:23:31 2023 +0000

    Merge pull request #473 from minenice55/easings-fix

    Enum Parsing Fix

commit 6246a144b6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:21:13 2023 -0400

    fix all parsing of enums, removed the "special case" for eases

    update to latest Jukebox

commit 4fde418c33
Merge: b9043582 50bc8765
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:15 2023 +0000

    Merge pull request #469 from minenice55/jukebox-update

    Jukebox Package Update

commit b90435825a
Merge: eec3c09a 73e9efd4
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:08 2023 +0000

    Merge pull request #458 from AstrlJelly/MiscAdditions_4

    Bug Fixes + Feature Additions

commit 73e9efd4b1
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:38:24 2023 -0400

    add "updater" for the old marching entity

commit b8d149743a
Merge: 4291333c eec3c09a
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:22:01 2023 -0400

    Merge branch 'release_1' into pr/458

commit 50bc876509
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:55:02 2023 -0400

    let play mode start if no song file is loaded

    fix issue with loading large audio files

commit eec3c09aa8
Merge: a0d70933 990af323
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 18:32:40 2023 +0000

    Merge pull request #471 from Rapandrasmus/FixWorkingDoughCurve

    Fixed weird curve stuff on game switch in working dough

commit 990af32379
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 19:24:13 2023 +0200

    Fixed weird curve stuff on game switch in working dough

commit a0d7093345
Merge: bdef3f95 3d19e75e
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:09:21 2023 +0000

    Merge pull request #470 from Rapandrasmus/WorkingDoughFixes

    Fixed small balls not working in working dough

commit 3d19e75e1a
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 18:07:13 2023 +0200

    Fixed small balls not working in working dough

commit bdef3f95c3
Merge: 8954b8c2 0bfafac6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 14:56:58 2023 +0000

    Merge pull request #467 from Rapandrasmus/WorkingDoughRework

    Working Dough rework

commit 0bfafac6fe
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:13:08 2023 +0200

    modernised rockers pass turn

commit d770266d81
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:03:08 2023 +0200

    Rhythm tweezers pass turn now works like working dough

commit 2109c99a95
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 15:51:35 2023 +0200

    gandw on balls has been added

commit 785abf8486
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 14:59:56 2023 +0200

    Proper inactive handling now

commit 0a92b7bd69
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:52:15 2023 +0200

    OnSpawnBall reimplemented

commit a14aacc181
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:37:09 2023 +0200

    new sounds

commit 8b0544246d
Author: minenice55 <star.elementa@gmail.com>
Date:   Mon Jun 12 17:18:37 2023 -0400

    update Jukebox to latest version

    fixes for inferred entity loading

commit d8ff6744c0
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 21:36:57 2023 +0200

    ball transporter anims for pass turn

commit d283624b07
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 20:38:48 2023 +0200

    working dough converted, need to fix eveerything though

commit 5b3c59eabd
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 18:36:41 2023 +0200

    Converted everything to new curves and made playerballs handle themselves input-wise

commit dee630ea45
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 14:04:32 2023 +0200

    Some new curves

commit 31e8890190
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 12:03:21 2023 +0200

    Rockers can do it too now

commit 76bf6eefa6
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 11:58:31 2023 +0200

    You can now place inputs on top of pass turn for rhythm tweezers

commit 8954b8c269
Merge: 743e954e ce3e6f2d
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:55:40 2023 -0400

    Merge branch 'master' into release_1

commit 743e954e05
Merge: 5af551b3 8929cd56
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 19:53:47 2023 +0000

    Merge pull request #465 from minenice55/dont_infer_track

    Don't infer the track field when importing converted v0 riq coming from unknown origin

commit 8929cd5618
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:52:14 2023 -0400

    don't infer track when importing a v0 riq from another program

commit 5af551b32e
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 12:12:25 2023 -0400

    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

commit 4291333cb0
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 23:00:30 2023 -0400

    add updater for marching orders turn

commit 82da6da741
Merge: 52a4d2b6 411b9a3c
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:36:10 2023 -0400

    Merge branch 'release_1' into pr/458

commit 411b9a3cb1
Merge: b6c222a9 afc665ed
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:30:32 2023 -0400

    Merge branch 'master' into release_1

commit b6c222a981
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:27:58 2023 -0400

    editor fixes (#459)

    * ditch loading dialog

    doesn't show up when it's supposed to

    * format song offset in editor

    * remove VorbisPlugin

    * Update Editor.cs

commit 52a4d2b65c
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:55:10 2023 -0400

    convert float to double and all that

commit aa8f531466
Merge: 242b076f afc665ed
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:01:44 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit 242b076f09
Merge: db653d5a 2b0ced2f
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:21:22 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit db653d5a52
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:18:45 2023 -0400

    a lot

    * munchy monk input + mustache fixes
    * fork lifter and pajama party bopping
    * meat grinder miss bop fix
    * cloud monkey Real
    * marching orders Go! was broken
    * force march doesn't break when it's too early from a game switch
    * you can use the March! block without the marching now

commit 50a1b7bcdb
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 15:13:29 2023 -0400

    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

* Squashed commit of the following:

commit 0d25221b71
Merge: 5869d212 9163085d
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 17 16:40:52 2023 +0000

    Merge pull request #478 from evdial/working-dough

    Working Dough Tweaks

commit 9163085d7a
Merge: 6592a5f2 5869d212
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 17 12:40:06 2023 -0400

    Merge branch 'release_1' into pr/478

commit 5869d212bc
Author: patata <patataofcourse@gmail.com>
Date:   Sat Jun 17 17:20:15 2023 +0200

    Update issue template to include .riq/.zip info

commit 6592a5f202
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 15:05:07 2023 -0400

    assbuns

commit 11a4c090a1
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Thu Jun 15 20:56:40 2023 +0200

    made small idle not crazy

commit 45e7d81b0f
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 14:33:57 2023 -0400

    fsd

commit 47efa3e4f3
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 14:16:38 2023 -0400

    anim

commit c6fb8880a0
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Thu Jun 15 20:13:11 2023 +0200

    Fixed stuff also scaled now yippee

commit 16ce508b03
Author: ev <85412919+evdial@users.noreply.github.com>
Date:   Thu Jun 15 13:50:10 2023 -0400

    many

commit 37b80a33c7
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:28:21 2023 -0400

    Squashed commit of the following: (#474)

    commit 2c628a4109
    Merge: 4fde418c 6246a144
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Wed Jun 14 01:23:31 2023 +0000

        Merge pull request #473 from minenice55/easings-fix

        Enum Parsing Fix

    commit 6246a144b6
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 21:21:13 2023 -0400

        fix all parsing of enums, removed the "special case" for eases

        update to latest Jukebox

    commit 4fde418c33
    Merge: b9043582 50bc8765
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 21:39:15 2023 +0000

        Merge pull request #469 from minenice55/jukebox-update

        Jukebox Package Update

    commit b90435825a
    Merge: eec3c09a 73e9efd4
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 21:39:08 2023 +0000

        Merge pull request #458 from AstrlJelly/MiscAdditions_4

        Bug Fixes + Feature Additions

    commit 73e9efd4b1
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 17:38:24 2023 -0400

        add "updater" for the old marching entity

    commit b8d149743a
    Merge: 4291333c eec3c09a
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 17:22:01 2023 -0400

        Merge branch 'release_1' into pr/458

    commit 50bc876509
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 16:55:02 2023 -0400

        let play mode start if no song file is loaded

        fix issue with loading large audio files

    commit eec3c09aa8
    Merge: a0d70933 990af323
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 18:32:40 2023 +0000

        Merge pull request #471 from Rapandrasmus/FixWorkingDoughCurve

        Fixed weird curve stuff on game switch in working dough

    commit 990af32379
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 19:24:13 2023 +0200

        Fixed weird curve stuff on game switch in working dough

    commit a0d7093345
    Merge: bdef3f95 3d19e75e
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 16:09:21 2023 +0000

        Merge pull request #470 from Rapandrasmus/WorkingDoughFixes

        Fixed small balls not working in working dough

    commit 3d19e75e1a
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 18:07:13 2023 +0200

        Fixed small balls not working in working dough

    commit bdef3f95c3
    Merge: 8954b8c2 0bfafac6
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Tue Jun 13 14:56:58 2023 +0000

        Merge pull request #467 from Rapandrasmus/WorkingDoughRework

        Working Dough rework

    commit 0bfafac6fe
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 16:13:08 2023 +0200

        modernised rockers pass turn

    commit d770266d81
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 16:03:08 2023 +0200

        Rhythm tweezers pass turn now works like working dough

    commit 2109c99a95
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 15:51:35 2023 +0200

        gandw on balls has been added

    commit 785abf8486
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 14:59:56 2023 +0200

        Proper inactive handling now

    commit 0a92b7bd69
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 13:52:15 2023 +0200

        OnSpawnBall reimplemented

    commit a14aacc181
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Tue Jun 13 13:37:09 2023 +0200

        new sounds

    commit 8b0544246d
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Mon Jun 12 17:18:37 2023 -0400

        update Jukebox to latest version

        fixes for inferred entity loading

    commit d8ff6744c0
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 21:36:57 2023 +0200

        ball transporter anims for pass turn

    commit d283624b07
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 20:38:48 2023 +0200

        working dough converted, need to fix eveerything though

    commit 5b3c59eabd
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 18:36:41 2023 +0200

        Converted everything to new curves and made playerballs handle themselves input-wise

    commit dee630ea45
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 14:04:32 2023 +0200

        Some new curves

    commit 31e8890190
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 12:03:21 2023 +0200

        Rockers can do it too now

    commit 76bf6eefa6
    Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
    Date:   Mon Jun 12 11:58:31 2023 +0200

        You can now place inputs on top of pass turn for rhythm tweezers

    commit 8954b8c269
    Merge: 743e954e ce3e6f2d
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 15:55:40 2023 -0400

        Merge branch 'master' into release_1

    commit 743e954e05
    Merge: 5af551b3 8929cd56
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 19:53:47 2023 +0000

        Merge pull request #465 from minenice55/dont_infer_track

        Don't infer the track field when importing converted v0 riq coming from unknown origin

    commit 8929cd5618
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 15:52:14 2023 -0400

        don't infer track when importing a v0 riq from another program

    commit 5af551b32e
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sun Jun 11 12:12:25 2023 -0400

        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

    commit 4291333cb0
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 23:00:30 2023 -0400

        add updater for marching orders turn

    commit 82da6da741
    Merge: 52a4d2b6 411b9a3c
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 22:36:10 2023 -0400

        Merge branch 'release_1' into pr/458

    commit 411b9a3cb1
    Merge: b6c222a9 afc665ed
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 22:30:32 2023 -0400

        Merge branch 'master' into release_1

    commit b6c222a981
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 22:27:58 2023 -0400

        editor fixes (#459)

        * ditch loading dialog

        doesn't show up when it's supposed to

        * format song offset in editor

        * remove VorbisPlugin

        * Update Editor.cs

    commit 52a4d2b65c
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 16:55:10 2023 -0400

        convert float to double and all that

    commit aa8f531466
    Merge: 242b076f afc665ed
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 16:01:44 2023 -0400

        Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

    commit 242b076f09
    Merge: db653d5a 2b0ced2f
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 15:21:22 2023 -0400

        Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

    commit db653d5a52
    Author: AstrlJelly <bdlawson115@gmail.com>
    Date:   Sat Jun 10 15:18:45 2023 -0400

        a lot

        * munchy monk input + mustache fixes
        * fork lifter and pajama party bopping
        * meat grinder miss bop fix
        * cloud monkey Real
        * marching orders Go! was broken
        * force march doesn't break when it's too early from a game switch
        * you can use the March! block without the marching now

    commit 50a1b7bcdb
    Author: minenice55 <star.elementa@gmail.com>
    Date:   Sat Jun 10 15:13:29 2023 -0400

        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

commit 2c628a4109
Merge: 4fde418c 6246a144
Author: minenice55 <star.elementa@gmail.com>
Date:   Wed Jun 14 01:23:31 2023 +0000

    Merge pull request #473 from minenice55/easings-fix

    Enum Parsing Fix

commit 6246a144b6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:21:13 2023 -0400

    fix all parsing of enums, removed the "special case" for eases

    update to latest Jukebox

commit 4fde418c33
Merge: b9043582 50bc8765
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:15 2023 +0000

    Merge pull request #469 from minenice55/jukebox-update

    Jukebox Package Update

commit b90435825a
Merge: eec3c09a 73e9efd4
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 21:39:08 2023 +0000

    Merge pull request #458 from AstrlJelly/MiscAdditions_4

    Bug Fixes + Feature Additions

commit 73e9efd4b1
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:38:24 2023 -0400

    add "updater" for the old marching entity

commit b8d149743a
Merge: 4291333c eec3c09a
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 17:22:01 2023 -0400

    Merge branch 'release_1' into pr/458

commit 50bc876509
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:55:02 2023 -0400

    let play mode start if no song file is loaded

    fix issue with loading large audio files

commit eec3c09aa8
Merge: a0d70933 990af323
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 18:32:40 2023 +0000

    Merge pull request #471 from Rapandrasmus/FixWorkingDoughCurve

    Fixed weird curve stuff on game switch in working dough

commit 990af32379
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 19:24:13 2023 +0200

    Fixed weird curve stuff on game switch in working dough

commit a0d7093345
Merge: bdef3f95 3d19e75e
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 16:09:21 2023 +0000

    Merge pull request #470 from Rapandrasmus/WorkingDoughFixes

    Fixed small balls not working in working dough

commit 3d19e75e1a
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 18:07:13 2023 +0200

    Fixed small balls not working in working dough

commit bdef3f95c3
Merge: 8954b8c2 0bfafac6
Author: minenice55 <star.elementa@gmail.com>
Date:   Tue Jun 13 14:56:58 2023 +0000

    Merge pull request #467 from Rapandrasmus/WorkingDoughRework

    Working Dough rework

commit 0bfafac6fe
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:13:08 2023 +0200

    modernised rockers pass turn

commit d770266d81
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 16:03:08 2023 +0200

    Rhythm tweezers pass turn now works like working dough

commit 2109c99a95
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 15:51:35 2023 +0200

    gandw on balls has been added

commit 785abf8486
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 14:59:56 2023 +0200

    Proper inactive handling now

commit 0a92b7bd69
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:52:15 2023 +0200

    OnSpawnBall reimplemented

commit a14aacc181
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Tue Jun 13 13:37:09 2023 +0200

    new sounds

commit 8b0544246d
Author: minenice55 <star.elementa@gmail.com>
Date:   Mon Jun 12 17:18:37 2023 -0400

    update Jukebox to latest version

    fixes for inferred entity loading

commit d8ff6744c0
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 21:36:57 2023 +0200

    ball transporter anims for pass turn

commit d283624b07
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 20:38:48 2023 +0200

    working dough converted, need to fix eveerything though

commit 5b3c59eabd
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 18:36:41 2023 +0200

    Converted everything to new curves and made playerballs handle themselves input-wise

commit dee630ea45
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 14:04:32 2023 +0200

    Some new curves

commit 31e8890190
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 12:03:21 2023 +0200

    Rockers can do it too now

commit 76bf6eefa6
Author: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Date:   Mon Jun 12 11:58:31 2023 +0200

    You can now place inputs on top of pass turn for rhythm tweezers

commit 8954b8c269
Merge: 743e954e ce3e6f2d
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:55:40 2023 -0400

    Merge branch 'master' into release_1

commit 743e954e05
Merge: 5af551b3 8929cd56
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 19:53:47 2023 +0000

    Merge pull request #465 from minenice55/dont_infer_track

    Don't infer the track field when importing converted v0 riq coming from unknown origin

commit 8929cd5618
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 15:52:14 2023 -0400

    don't infer track when importing a v0 riq from another program

commit 5af551b32e
Author: minenice55 <star.elementa@gmail.com>
Date:   Sun Jun 11 12:12:25 2023 -0400

    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

commit 4291333cb0
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 23:00:30 2023 -0400

    add updater for marching orders turn

commit 82da6da741
Merge: 52a4d2b6 411b9a3c
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:36:10 2023 -0400

    Merge branch 'release_1' into pr/458

commit 411b9a3cb1
Merge: b6c222a9 afc665ed
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:30:32 2023 -0400

    Merge branch 'master' into release_1

commit b6c222a981
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 22:27:58 2023 -0400

    editor fixes (#459)

    * ditch loading dialog

    doesn't show up when it's supposed to

    * format song offset in editor

    * remove VorbisPlugin

    * Update Editor.cs

commit 52a4d2b65c
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:55:10 2023 -0400

    convert float to double and all that

commit aa8f531466
Merge: 242b076f afc665ed
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 16:01:44 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit 242b076f09
Merge: db653d5a 2b0ced2f
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:21:22 2023 -0400

    Merge remote-tracking branch 'upstream/master' into MiscAdditions_4

commit db653d5a52
Author: AstrlJelly <bdlawson115@gmail.com>
Date:   Sat Jun 10 15:18:45 2023 -0400

    a lot

    * munchy monk input + mustache fixes
    * fork lifter and pajama party bopping
    * meat grinder miss bop fix
    * cloud monkey Real
    * marching orders Go! was broken
    * force march doesn't break when it's too early from a game switch
    * you can use the March! block without the marching now

commit 50a1b7bcdb
Author: minenice55 <star.elementa@gmail.com>
Date:   Sat Jun 10 15:13:29 2023 -0400

    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

* Editor Additions (#479)

* favoriting and pick block

favoriting needs to not break after previewing (maybe make it persistent in the settings file?)
pick block needs to pick the icon, too. and preferably scroll to it as well

* final star anim + automatic icon game switching

before i make any more changes im making a checkpoint here cuz i know it works
* i want to add a way to specify which event SwitchGame() will switch to (because that's a cool feature for pick block)
* i'll have to figure out how to auto scroll to the game when the icon is selected
* the star now fully works, even between preview switches 👍

* fix the rest of the stuff

the event name gets colored correctly and hidden games are skipped over, but still loaded.
also i built mm ass buns

* tweaks + zoom and sorting

this stuff will be in the pr desc so it doesn't matter

* oop one more thing

* icons look better now :D

mipmaps to the rescue

* double date fix

* Merge pull request #486 from RHeavenStudio/actions_rework

Rework GitHub Actions and build script

* add ab meta to gitignore (#489)

* Sound Scheduling Improvements (#491)

* port conductor adjustments

* scheduled sounds prebake

* allow aiff files to be imported

add vbr mp3 warning to readme

* improve wording

* CNR API Internal Rework (#488)

* Prep stuff

* Tweezers now spawn in

* Started converting tweezers

* I hate <1 beat intervals

* Actually nvm

* fixed a bug

* You can chain intervals now, stack them if you really wanted

* Pass turn checks if crhandlerinstance exists

* Fixed hairs being deleted by onion switch

* Rockers rerewritten

* working dough rerewritten

* CNR API Internal Rework (#488)

* Prep stuff

* Tweezers now spawn in

* Started converting tweezers

* I hate <1 beat intervals

* Actually nvm

* fixed a bug

* You can chain intervals now, stack them if you really wanted

* Pass turn checks if crhandlerinstance exists

* Fixed hairs being deleted by onion switch

* Rockers rerewritten

* working dough rerewritten

* Games fixes/reworks patch (#501)

* ghosts are scaled now

* Lockstep fully reworked

* mr. bach has been implemented

* Space dance fixes

* oops

* Tap trial rework part 1

* tap trial rework part 2

* oopsie

* Gramps Talk Update

* Space Dance Voice Offsets

* Giraffe done! (Except miss anim)

* bg is not showing up for some reason

* bg not rendering fixed + giraffe fixed

* scrolling done

* fixed space dance and space soccer bg scrolls

* fixed rockers bugs

* adjustment

* fixed el inaccuracies

* particle fix

* changed pitch and volume of monkey tap

* miss anim

* megamix face for girl

* Proper miss anim implementation

* Added force stepping event

* miss anim fix

---------

Co-authored-by: saladplainzone <chocolate2890mail@gmail.com>
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>

* In CheerReaders.cs, quotation marks were aptly added, and references to the girls were more-so neutralized. Consider this my cheer.

* revert capitalization and quotations while keeping grammar changes

---------

Co-authored-by: minenice55 <star.elementa@gmail.com>
Co-authored-by: patata <patataofcourse@gmail.com>
Co-authored-by: AstrlJelly <bdlawson115@gmail.com>
Co-authored-by: Rapandrasmus <78219215+Rapandrasmus@users.noreply.github.com>
Co-authored-by: saladplainzone <chocolate2890mail@gmail.com>
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>

* oops

* add manually triggering build action to workflows (#507)

* Crop stomp fixes part 1

* crop stomp part 2

* Crop stomp part 3

* fixed mole sound

* ringside, tap trial and space dance fixes

* fixed off/onbeat switches being jank in lockstep

* fixed dispense sound not playing on gameswitch in space soccer

* clappy trio and sneaky spirits persistance

---------

Co-authored-by: minenice55 <star.elementa@gmail.com>
Co-authored-by: patata <patataofcourse@gmail.com>
Co-authored-by: AstrlJelly <bdlawson115@gmail.com>
Co-authored-by: saladplainzone <chocolate2890mail@gmail.com>
Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
Co-authored-by: Xylon <40894547+scriptorluminary@users.noreply.github.com>
2023-07-24 14:19:54 +00:00

727 lines
28 KiB
C#

/* I do not know crap about Unity or C#
Almost none of this code is mine, but it's all fair game when the game you're stealing from
borrowed from other games */
//Don't worry Raffy everyone starts somewhere - Rasmus
using HeavenStudio.Util;
using Jukebox;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace HeavenStudio.Games.Loaders
{
using static Minigames;
public static class NtrBackbeatLoader
{
public static Minigame AddGame(EventCaller eventCaller)
{
return new Minigame("lockstep", "Lockstep", "f0338d", false, false, new List<GameAction>()
{
new GameAction("bop", "Bop")
{
function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Bop(e.beat, e.length, e["toggle"], e["toggle2"]); },
resizable = true,
parameters = new List<Param>()
{
new Param("toggle", true, "Bop", "Should the stepswitchers bop?"),
new Param("toggle2", false, "Bop (Auto)", "Should the stepswitchers auto bop?"),
},
},
new GameAction("stepping", "Stepping")
{
preFunction = delegate {var e = eventCaller.currentEntity; Lockstep.Marching(e.beat, e["sound"], e["amount"], e["visual"]);},
parameters = new List<Param>()
{
new Param("sound", false, "Sound", "Hai if onbeat, ho if offbeat."),
new Param("amount", new EntityTypes.Integer(1, 50, 1), "Sound Amount", "How many sounds will play consecutively?"),
new Param("visual", true, "Background Visual")
},
preFunctionLength = 1
},
new GameAction("offbeatSwitch", "Switch to Offbeat")
{
preFunction = delegate { var e = eventCaller.currentEntity; Lockstep.OffbeatSwitchSound(e.beat, e["ho"], e["sound"]); },
defaultLength = 4.5f,
parameters = new List<Param>()
{
new Param("sound", true, "Sound Cue"),
new Param("ho", true, "Ho Sounds", "Will the <ho, ho, ho, ho> sound be present?"),
new Param("visual", true, "Background Visual")
}
},
new GameAction("onbeatSwitch", "Switch to Onbeat")
{
preFunction = delegate { var e = eventCaller.currentEntity; Lockstep.OnbeatSwitchSound(e.beat, e["hai"], e["sound"]); },
defaultLength = 3f,
parameters = new List<Param>()
{
new Param("sound", true, "Sound Cue"),
new Param("hai", new EntityTypes.Integer(0, 100, 1), "Hai Amount"),
new Param("visual", true, "Background Visual")
}
},
new GameAction("set colours", "Set Colours")
{
function = delegate {var e = eventCaller.currentEntity; Lockstep.instance.SetBackgroundColours(e["colorA"], e["colorB"], e["objColA"], e["objColB"], e["objColC"]); },
parameters = new List<Param>()
{
new Param("colorA", Lockstep.defaultBGColorOn, "Background Onbeat", "Select the color that appears for the onbeat."),
new Param("colorB", Lockstep.defaultBGColorOff, "Background Offbeat", "Select the color that appears for the offbeat."),
new Param("objColA", Lockstep.stepperOut, "Stepper Outline", "Select the color used for the outline of the stepswitchers."),
new Param("objColB", Lockstep.stepperDark, "Stepper Dark", "Select the color that appears for the dark side of the stepwitchers."),
new Param("objColC", Lockstep.stepperLight, "Stepper Light", "Select the color that appears for the light side of the stepwitchers."),
},
defaultLength = 0.5f,
},
new GameAction("zoom", "Preset Zooms")
{
function = delegate { Lockstep.instance.SetZoom(eventCaller.currentEntity["zoom"]); },
parameters = new List<Param>()
{
new Param("zoom", Lockstep.ZoomPresets.Regular, "Zoom Level")
}
},
new GameAction("bach", "Show Bach")
{
defaultLength = 4,
resizable = true,
},
new GameAction("marching", "Force Stepping")
{
preFunction = delegate {var e = eventCaller.currentEntity; Lockstep.Marching(e.beat, e["sound"], e["amount"], e["visual"], true, e.length);},
parameters = new List<Param>()
{
new Param("sound", false, "Sound", "Hai if onbeat, ho if offbeat."),
new Param("amount", new EntityTypes.Integer(1, 50, 1), "Sound Amount", "How many sounds will play consecutively?"),
new Param("visual", true, "Background Visual")
},
preFunctionLength = 1,
resizable = true,
defaultLength = 4
}
},
new List<string>() {"ntr", "keep"},
"ntrbackbeat", "en",
new List<string>() {}
);
}
}
}
namespace HeavenStudio.Games
{
// using Scripts_Lockstep;
public class Lockstep : Minigame
{
private static Color _defaultBGColorOn;
public static Color defaultBGColorOn
{
get
{
ColorUtility.TryParseHtmlString("#f0338d", out _defaultBGColorOn);
return _defaultBGColorOn;
}
}
private static Color _defaultBGColorOff;
public static Color defaultBGColorOff
{
get
{
ColorUtility.TryParseHtmlString("#BC318B", out _defaultBGColorOff);
return _defaultBGColorOff;
}
}
private static Color _stepperDark;
public static Color stepperDark
{
get
{
ColorUtility.TryParseHtmlString("#737373", out _stepperDark);
return _stepperDark;
}
}
private static Color _stepperLight;
public static Color stepperLight
{
get
{
ColorUtility.TryParseHtmlString("#FFFFFF", out _stepperLight);
return _stepperLight;
}
}
private static Color _stepperOut;
public static Color stepperOut
{
get
{
ColorUtility.TryParseHtmlString("#9A2760", out _stepperOut);
return _stepperOut;
}
}
public Color currentBGOnColor;
public Color currentBGOffColor;
[Header("Components")]
[SerializeField] Animator stepswitcherPlayer;
[SerializeField] Animator stepswitcherLeft;
[SerializeField] Animator stepswitcherRight;
[SerializeField] Animator bach;
// master stepper dictates what sprite the slave steppers use
[SerializeField] Animator masterStepperAnim;
[SerializeField] SpriteRenderer masterStepperSprite;
// slave steppers copy the sprite of the master stepper
[SerializeField] SpriteRenderer[] slaveSteppers;
// rendertextures update when the slave steppers change sprites
[SerializeField] CustomRenderTexture[] renderTextures;
[SerializeField] SpriteRenderer background;
[SerializeField] Material stepperMaterial;
[Header("Properties")]
static List<QueuedMarch> queuedInputs = new();
Sprite masterSprite;
HowMissed currentMissStage;
bool lessSteppers = false;
public enum HowMissed
{
NotMissed = 0,
MissedOff = 1,
MissedOn = 2
}
bool offColorActive;
bool goBop;
public GameEvent bop = new GameEvent();
List<double> switches = new();
private List<RiqEntity> bachEvents = new();
public static Lockstep instance;
public enum ZoomPresets
{
Regular,
NotThatFar,
Far,
VeryFar,
ExtremelyFar
}
void Awake()
{
instance = this;
currentBGOnColor = defaultBGColorOn;
currentBGOffColor = defaultBGColorOff;
var switchEvents = EventCaller.GetAllInGameManagerList("lockstep", new string[] { "onbeatSwitch", "offbeatSwitch" });
foreach (var switchEvent in switchEvents)
{
switches.Add(switchEvent.beat + switchEvent.length - 1);
}
bachEvents = EventCaller.GetAllInGameManagerList("lockstep", new string[] { "bach" });
}
private bool BachOnBeat(double beat)
{
return bachEvents.Find(x => beat >= x.beat && beat < x.beat + x.length) != null;
}
public override void OnGameSwitch(double beat)
{
QueueSwitchBGs(beat);
}
public override void OnPlay(double beat)
{
QueueSwitchBGs(beat);
}
private void QueueSwitchBGs(double beat)
{
double nextGameSwitchBeat = double.MaxValue;
List<RiqEntity> allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame", "end" }).FindAll(x => x.beat > beat);
if (allEnds.Count > 0)
{
nextGameSwitchBeat = allEnds[0].beat;
}
var switchEventsOn = EventCaller.GetAllInGameManagerList("lockstep", new string[] { "onbeatSwitch" });
foreach (var on in switchEventsOn)
{
if (on.beat >= nextGameSwitchBeat) continue;
OnbeatSwitch(on.beat, beat, on["visual"]);
}
var switchEventsOff = EventCaller.GetAllInGameManagerList("lockstep", new string[] { "offbeatSwitch" });
foreach (var off in switchEventsOff)
{
if (off.beat >= nextGameSwitchBeat) continue;
OffbeatSwitch(off.beat, beat, off["visual"]);
}
}
void Start() {
stepperMaterial.SetColor("_ColorAlpha", stepperOut);
stepperMaterial.SetColor("_ColorBravo", stepperDark);
stepperMaterial.SetColor("_ColorDelta", stepperLight);
masterSprite = masterStepperSprite.sprite;
stepswitcherLeft.gameObject.SetActive(lessSteppers);
stepswitcherRight.gameObject.SetActive(lessSteppers);
masterStepperAnim.gameObject.SetActive(!lessSteppers);
UpdateAndRenderSlaves();
}
void UpdateAndRenderSlaves()
{
foreach (var stepper in slaveSteppers)
{
stepper.sprite = masterSprite;
}
}
void PlayStepperAnim(string animName, bool player, float timescale = 1f, float startpos = 0f, int layer = -1)
{
if (player) stepswitcherPlayer.DoScaledAnimationAsync(animName, timescale, startpos, layer);
if (lessSteppers)
{
stepswitcherLeft.DoScaledAnimationAsync(animName, timescale, startpos, layer);
stepswitcherRight.DoScaledAnimationAsync(animName, timescale, startpos, layer);
}
else
{
masterStepperAnim.DoScaledAnimationAsync(animName, timescale, startpos, layer);
}
}
private void Update()
{
var cond = Conductor.instance;
if (cond.isPlaying && !cond.isPaused)
{
if (cond.ReportBeat(ref bop.lastReportedBeat, bop.startBeat % 1))
{
if (goBop)
{
PlayStepperAnim("Bop", true, 0.5f);
}
}
if (queuedInputs.Count > 0)
{
foreach (var input in queuedInputs)
{
if (input.force)
{
ForceMarching(input.beat, input.length, input.sound, input.amount, input.visual);
}
else
{
StartMarching(input.beat, input.sound, input.amount, input.visual);
}
}
queuedInputs.Clear();
}
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN))
{
currentMissStage = HowMissed.NotMissed;
double beatAnimCheck = cond.songPositionInBeatsAsDouble - 0.25;
if (beatAnimCheck % 1.0 >= 0.5)
{
stepswitcherPlayer.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
}
else
{
stepswitcherPlayer.DoScaledAnimationAsync("OffbeatMarch", 0.5f);
}
SoundByte.PlayOneShot("miss");
ScoreMiss();
}
}
}
private void LateUpdate()
{
if (masterSprite != masterStepperSprite.sprite)
{
masterSprite = masterStepperSprite.sprite;
UpdateAndRenderSlaves();
}
}
public void SetZoom(int zoom)
{
GameCamera.additionalPosition = new Vector3(0, 0, (ZoomPresets)zoom switch
{
ZoomPresets.Regular => 0,
ZoomPresets.NotThatFar => -4.5f,
ZoomPresets.Far => -11,
ZoomPresets.VeryFar => -26,
ZoomPresets.ExtremelyFar => -63,
_ => throw new System.NotImplementedException()
});
}
public void Bop(double beat, float length, bool shouldBop, bool autoBop)
{
goBop = autoBop;
if (shouldBop)
{
for (int i = 0; i < length; i++)
{
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat + i, delegate
{
PlayStepperAnim("Bop", true, 0.5f);
})
});
}
}
}
public static void OnbeatSwitchSound(double beat, int hais, bool sound)
{
if (sound)
{
MultiSound.Play(new MultiSound.Sound[]
{
new MultiSound.Sound("lockstep/nha1", beat, 1, 1, false, 0.03086419753),
new MultiSound.Sound("lockstep/nha2", beat + 0.5f, 1, 1, false, 0.04629629629),
new MultiSound.Sound("lockstep/nha1", beat + 1f, 1, 1, false, 0.03086419753),
new MultiSound.Sound("lockstep/nha2", beat + 1.5f, 1, 1, false, 0.04629629629)
}, forcePlay: true);
}
if (hais > 0)
{
List<MultiSound.Sound> haisList = new();
for (int i = 0; i < hais; i++)
{
haisList.Add(new MultiSound.Sound("lockstep/hai", beat + 2 + i, 1, 1, false, 0.02314814814));
}
double nextOffBeat = double.MaxValue;
var switchEventsOn = EventCaller.GetAllInGameManagerList("lockstep", new string[] { "offbeatSwitch" });
switchEventsOn.Sort((x, y) => x.beat.CompareTo(y.beat));
for (int i = 0; i < switchEventsOn.Count; i++)
{
if (switchEventsOn[i].beat > beat)
{
nextOffBeat = switchEventsOn[i].beat;
break;
}
}
var haisActual = haisList.FindAll(x => x.beat < nextOffBeat);
MultiSound.Play(haisActual.ToArray(), true, true);
}
}
private void OnbeatSwitch(double beat, double gameswitchBeat, bool visual)
{
List<BeatAction.Action> allActions = new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { if(visual) ChangeBeatBackGroundColour(false); }),
new BeatAction.Action(beat + 0.5f, delegate { if (visual) ChangeBeatBackGroundColour(true); }),
new BeatAction.Action(beat + 1f, delegate
{
if(visual) ChangeBeatBackGroundColour(false);
}),
new BeatAction.Action(beat + 1.5f, delegate
{
if (visual) ChangeBeatBackGroundColour(true);
}),
new BeatAction.Action(beat + 1.75f, delegate { if (!marchRecursing) MarchRecursive(beat + 2f); }),
new BeatAction.Action(beat + 2f, delegate { if (visual) ChangeBeatBackGroundColour(false); }),
};
List<BeatAction.Action> actions = new();
foreach (var action in allActions)
{
if (action.beat >= gameswitchBeat) actions.Add(action);
}
if (actions.Count > 0) BeatAction.New(instance.gameObject, actions);
}
public static void OffbeatSwitchSound(double beat, bool hoSound, bool sound)
{
if (sound)
{
MultiSound.Play(new MultiSound.Sound[]
{
new MultiSound.Sound("lockstep/hai", beat, 1, 1, false, 0.02314814814),
new MultiSound.Sound("lockstep/hai", beat + 1f, 1, 1, false, 0.02314814814),
new MultiSound.Sound("lockstep/hai", beat + 2f, 1, 1, false, 0.02314814814),
new MultiSound.Sound("lockstep/hahai1", beat + 3f, 1, 1, false, 0.03086419753),
new MultiSound.Sound("lockstep/hahai2", beat + 3.5f, 1, 1, false, 0.03086419753),
}, forcePlay: true);
}
if (hoSound)
{
List<MultiSound.Sound> hos = new List<MultiSound.Sound>
{
new MultiSound.Sound("lockstep/ho", beat + 4.5f, 1, 1, false, 0.03086419753),
new MultiSound.Sound("lockstep/ho", beat + 5.5f, 1, 0.6835514f, false, 0.03086419753),
new MultiSound.Sound("lockstep/ho", beat + 6.5f, 1, 0.3395127f, false, 0.03086419753),
new MultiSound.Sound("lockstep/ho", beat + 7.5f, 1, 0.1200322f, false, 0.03086419753),
};
double nextOnBeat = double.MaxValue;
var switchEventsOn = EventCaller.GetAllInGameManagerList("lockstep", new string[] { "onbeatSwitch" });
switchEventsOn.Sort((x, y) => x.beat.CompareTo(y.beat));
for (int i = 0; i < switchEventsOn.Count; i++)
{
if (switchEventsOn[i].beat > beat)
{
nextOnBeat = switchEventsOn[i].beat;
break;
}
}
var hosActual = hos.FindAll(x => x.beat < nextOnBeat);
MultiSound.Play(hosActual.ToArray(), true, true);
}
}
private void OffbeatSwitch(double beat, double gameswitchBeat, bool visual)
{
List<BeatAction.Action> allActions = new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { if (visual) ChangeBeatBackGroundColour(true); }),
new BeatAction.Action(beat + 1f, delegate { if (visual) ChangeBeatBackGroundColour(false); }),
new BeatAction.Action(beat + 2f, delegate { if (visual) ChangeBeatBackGroundColour(true); }),
new BeatAction.Action(beat + 3f, delegate
{
if (visual) ChangeBeatBackGroundColour(false);
}),
new BeatAction.Action(beat + 3.25f, delegate { if (!marchRecursing) MarchRecursive(beat + 3.5f); }),
new BeatAction.Action(beat + 3.5f, delegate { if (visual) ChangeBeatBackGroundColour(true); }),
};
List<BeatAction.Action> actions = new();
foreach (var action in allActions)
{
if (action.beat >= gameswitchBeat) actions.Add(action);
}
if (actions.Count > 0) BeatAction.New(instance.gameObject, actions);
}
private struct QueuedMarch
{
public double beat;
public float length;
public bool sound;
public int amount;
public bool visual;
public bool force;
}
public static void Marching(double beat, bool sound, int amount, bool visual, bool force = false, float length = 0)
{
if (GameManager.instance.currentGame == "lockstep")
{
if (force)
{
instance.ForceMarching(beat, length, sound, amount, visual);
}
else
{
instance.StartMarching(beat, sound, amount, visual);
}
}
else
{
queuedInputs.Add(new QueuedMarch
{
amount = amount,
beat = beat,
sound = sound,
visual = visual,
length = length,
force = force
});
}
}
private void ForceMarching(double beat, float length, bool sound, int amount, bool visual)
{
bool offBeat = beat % 1 != 0;
if (sound)
{
MultiSound.Sound[] sounds = new MultiSound.Sound[amount];
for (int i = 0; i < amount; i++)
{
sounds[i] = new MultiSound.Sound($"lockstep/" + (offBeat ? "ho" : "hai"), beat + i, 1, 1, false, offBeat ? 0.03086419753 : 0.02314814814);
}
MultiSound.Play(sounds, true, true);
}
List<BeatAction.Action> steps = new()
{
new BeatAction.Action(beat, delegate
{
if (visual) ChangeBeatBackGroundColour(offBeat);
if (BachOnBeat(beat)) bach.DoScaledAnimationAsync(offBeat ? "BachOff" : "BachOn", 0.5f);
EvaluateMarch(offBeat);
})
};
ScheduleInput(beat - 1, 1, InputType.STANDARD_DOWN, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing);
for (int i = 1; i < length; i++)
{
double stepBeat = beat + i;
steps.Add(new BeatAction.Action(stepBeat, delegate
{
if (BachOnBeat(stepBeat)) bach.DoScaledAnimationAsync(offBeat ? "BachOff" : "BachOn", 0.5f);
EvaluateMarch(offBeat);
}));
ScheduleInput(stepBeat - 1, 1, InputType.STANDARD_DOWN, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing);
}
BeatAction.New(gameObject, steps);
}
private void StartMarching(double beat, bool sound, int amount, bool visual)
{
if (marchRecursing) return;
bool offBeat = beat % 1 != 0;
if (visual)
{
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate { ChangeBeatBackGroundColour(offBeat); })
});
}
if (sound)
{
MultiSound.Sound[] sounds = new MultiSound.Sound[amount];
for (int i = 0; i < amount; i++)
{
sounds[i] = new MultiSound.Sound($"lockstep/" + (offBeat ? "ho" : "hai"), beat + i, 1, 1, false, offBeat ? 0.03086419753 : 0.02314814814);
}
MultiSound.Play(sounds, true, true);
}
MarchRecursive(beat);
}
private bool marchRecursing;
private void MarchRecursive(double beat)
{
marchRecursing = true;
if (NextStepIsSwitch(beat)) beat -= 0.5;
bool offBeat = beat % 1 != 0;
bool bachOnBeat = BachOnBeat(beat);
ScheduleInput(beat - 1, 1, InputType.STANDARD_DOWN, offBeat ? JustOff : JustOn, offBeat ? MissOff : MissOn, Nothing);
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat, delegate
{
EvaluateMarch(offBeat);
MarchRecursive(beat + 1);
if (bachOnBeat) bach.DoScaledAnimationAsync(offBeat ? "BachOff" : "BachOn", 0.5f);
}),
});
}
private bool NextStepIsSwitch(double beat)
{
return switches.Contains(beat - 0.5);
}
public void EvaluateMarch(bool offBeat)
{
if (offBeat)
{
PlayStepperAnim("OffbeatMarch", false, 0.5f);
}
else
{
PlayStepperAnim("OnbeatMarch", false, 0.5f);
}
}
private void JustOn(PlayerActionEvent caller, float state)
{
currentMissStage = HowMissed.NotMissed;
stepswitcherPlayer.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
if (state >= 1f || state <= -1f)
{
SoundByte.PlayOneShot("nearMiss");
return;
}
SoundByte.PlayOneShotGame($"lockstep/foot{UnityEngine.Random.Range(1, 3)}");
SoundByte.PlayOneShotGame("lockstep/drumOn");
}
private void JustOff(PlayerActionEvent caller, float state)
{
currentMissStage = HowMissed.NotMissed;
stepswitcherPlayer.DoScaledAnimationAsync("OffbeatMarch", 0.5f);
if (state >= 1f || state <= -1f)
{
SoundByte.PlayOneShot("nearMiss");
return;
}
SoundByte.PlayOneShotGame($"lockstep/foot{UnityEngine.Random.Range(1, 3)}");
SoundByte.PlayOneShotGame("lockstep/drumOff");
}
private void MissOn(PlayerActionEvent caller)
{
if (currentMissStage == HowMissed.MissedOn) return;
stepswitcherPlayer.Play("OnbeatMiss", 0, 0);
SoundByte.PlayOneShotGame("lockstep/wayOff");
currentMissStage = HowMissed.MissedOn;
}
private void MissOff(PlayerActionEvent caller)
{
if (currentMissStage == HowMissed.MissedOff) return;
stepswitcherPlayer.Play("OffbeatMiss", 0, 0);
SoundByte.PlayOneShotGame("lockstep/wayOff");
currentMissStage = HowMissed.MissedOff;
}
public void ChangeBeatBackGroundColour(bool off)
{
if (off)
{
background.color = currentBGOffColor;
offColorActive = true;
}
else
{
background.color = currentBGOnColor;
offColorActive = false;
}
}
public void SetBackgroundColours(Color onColor, Color offColor, Color outlineColor, Color darkColor, Color lightColor)
{
currentBGOnColor = onColor;
currentBGOffColor = offColor;
if (offColorActive)
{
background.color = currentBGOffColor;
}
else
{
background.color = currentBGOnColor;
}
stepperMaterial.SetColor("_ColorAlpha", outlineColor);
stepperMaterial.SetColor("_ColorBravo", darkColor);
stepperMaterial.SetColor("_ColorDelta", lightColor);
}
public void Nothing(PlayerActionEvent caller) {}
}
}