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

Add "transform" mod #3140

Merged
merged 34 commits into from Sep 14, 2018
Merged

Add "transform" mod #3140

merged 34 commits into from Sep 14, 2018

Conversation

miterosan
Copy link
Contributor

@miterosan miterosan commented Jul 30, 2018

The implements the arrange mod.

This mod moves the hitobjects into place when they appear. The is based on the peppys wtf branch.

https://youtu.be/bISGxVBq_PI

@peppy
Copy link
Sponsor Member

peppy commented Jul 31, 2018

Please fix CI issues and classify this under "Fun" after #3150 is merged.

@miterosan
Copy link
Contributor Author

done

public override string ShortenedName => "Arrange";
public override FontAwesome Icon => FontAwesome.fa_arrows;
public override ModType Type => ModType.Fun;
public override string Description => "Everything rotates. EVERYTHING";

This comment was marked as off-topic.

public override FontAwesome Icon => FontAwesome.fa_arrows;
public override ModType Type => ModType.Fun;
public override string Description => "Everything rotates. EVERYTHING";
public override double ScoreMultiplier => 1.05;

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

internal class OsuModArrange : Mod, IApplicableToDrawableHitObjects
{
public override string Name => "Arrange";
public override string ShortenedName => "Arrange";

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

using (drawable.BeginAbsoluteSequence(hitObject.StartTime - hitObject.TimeFadeIn - pre_time_offset, true))
{
drawable
.MoveToOffset(new Vector2((float)Math.Cos(theta), (float)Math.Sin(theta)) * 250)

This comment was marked as off-topic.

// avoiding that the player can see the abroupt move.
const int pre_time_offset = 1000;

using (drawable.BeginAbsoluteSequence(hitObject.StartTime - hitObject.TimeFadeIn - pre_time_offset, true))

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

This comment was marked as off-topic.

@smoogipoo smoogipoo removed this from the Candidate Issues milestone Aug 8, 2018
@miterosan
Copy link
Contributor Author

This is ready for review.


Vector2 originalPosition = drawable.Position;

const float appear_distance = 250;

This comment was marked as off-topic.

internal class OsuModArrange : Mod, IApplicableToDrawableHitObjects
{
public override string Name => "Arrange";
public override string ShortenedName => "Arrange";

This comment was marked as off-topic.

public override FontAwesome Icon => FontAwesome.fa_arrows;
public override ModType Type => ModType.Fun;
public override string Description => "Everything rotates. EVERYTHING.";
public override double ScoreMultiplier => 1;

This comment was marked as off-topic.

This comment was marked as off-topic.

var hitObject = (OsuHitObject) drawable.HitObject;

// repeat points get their position data from the slider.
if (hitObject is RepeatPoint)

This comment was marked as off-topic.

This comment was marked as off-topic.

@zachllogan
Copy link

Follow points don't move at all, but appear in place (normal behavior), which is kind of jarring, at least for me.

@miterosan
Copy link
Contributor Author

@zachllogan Modifying the behaviour of followpoints is not that easily possible, sadly.

@miterosan miterosan changed the title Arrange mod Transform mod Aug 22, 2018
@miterosan
Copy link
Contributor Author

miterosan commented Aug 24, 2018

  • Do not affect an nested hitobject
  • Rename to transform, TR
  • dynamic appear distance

Copy link
Sponsor Member

@peppy peppy left a comment

Choose a reason for hiding this comment

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

This is looking pretty good to merge. Only remaining issue I can see is that follow points feel a bit weird as they are still in their static positions.

I'm fine to get this in without that being resolved, though.

Vector2 appearOffset = new Vector2((float)Math.Cos(theta), (float)Math.Sin(theta)) * appearDistance;

//the - 1 and + 1 prevents the hit explosion to appear in the wrong position.
double appearTime = hitObject.StartTime - hitObject.TimePreempt - 1;

This comment was marked as off-topic.

This comment was marked as off-topic.

@peppy peppy changed the title Transform mod Add "transform" mod Sep 14, 2018
@peppy peppy merged commit 7a2d83d into ppy:master Sep 14, 2018
@miterosan miterosan deleted the ArrangeMod branch February 15, 2019 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants