Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Courtroom slides - Based once again #966

Merged
merged 16 commits into from
May 24, 2024
Merged

Conversation

in1tiate
Copy link
Member

Refactor of #869, now with 70% fewer merge conflicts.

Took the old code verbatim and added pair support,. As far as my testing shows, this kinda just works.

Formatting required for setup:

Full courtroom image (should be named "court.png" but can work with any name)
Design.ini parameters:

[court:def]
pos_center=320
slide_ms_pro=550
slide_ms_wit=500

[court:wit]
pos_center=1467
slide_ms_pro=500
slide_ms_def=500

[court:pro]
pos_center=2614
slide_ms_def=550
slide_ms_wit=500

where "court:pos" is the main image and the name of its subposition.
pos_center is the pixel position of the center of the part of the image you want to be a position
and the transition duration settings are formatted as slide_ms_pos and a duration in milliseconds.

Additionally, there is support for giving characters a special pose during transitions if an "Objection!" shout was used.

[Options]
objection_pose = pointing

This PR also adds a checkbox to the main UI to enable or disable sending the new MS parameter SLIDE which dictates whether a message is able to trigger a slide animation.

Additionally, a global setting is now in the settings menu to disable slide animations for yourself.


Rebased from #959.

in1tiate and others added 11 commits May 20, 2024 09:12
fix evidence presenting sfx playing at literally 100x intended volume
fix "def2" etc wrong evidence icon position, remove inaccurate evidence positions
* Complete AOLayer reimplementation
* Reimplemented sliding as well.
* Fixed emote synchronization
  * Still requires identical frame count. Will still cause freeze as it syncs.
* Fixed frame effects not working on idle and talk emotes.
* Characters are now repositioned after background sliding is over.
* Removed theme submodule.
  * This should be handled by the CI.
* Fixed effects not disappearing when they should (cull / repeat)
@TrickyLeifa
Copy link
Contributor

The format has been updated to the following:

scaling = smooth
positions = wit2

[court:def]
rect=0, 0, 640, 384
slide_ms_pro=550
slide_ms_wit=500

[court:wit]
rect=1147, 0, 640, 384
slide_ms_pro=500
slide_ms_def=500

[court:pro]
rect=2294, 0, 640, 384
slide_ms_def=550
slide_ms_wit=500

Biggest difference is that instead of a position in space it's a rect that covers the background.

Copy link
Contributor

@Salanto Salanto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Improves Performance
Improves readability
Improves functionality
Improves improvements

After some testing of regular AO2 animation behaviour frameFX and co seem to work correctly too. No reason to wait any longer.
(The side logic is looking worse for wear, but that should be overhauled in another branch/PR)

@Salanto Salanto merged commit 4c56a25 into master May 24, 2024
3 checks passed
@Salanto Salanto deleted the coolslide-rebased branch May 24, 2024 02:54
@in1tiate in1tiate restored the coolslide-rebased branch May 26, 2024 17:24
@in1tiate in1tiate deleted the coolslide-rebased branch June 18, 2024 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants