1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-24 13:22:55 +08:00
Commit Graph

316 Commits

Author SHA1 Message Date
Dean Herbert
009b138364 Prepare for skinnable versions 2020-04-11 14:19:59 +09:00
Dean Herbert
78db83fd0e Remove TaikoPiece class and localise kiai for now 2020-04-11 14:19:59 +09:00
Dean Herbert
7fba291134 Change inheritance of taiko hit pieces to better allow for skinning 2020-04-11 13:33:49 +09:00
Tim Oliver
b883586add Added logic to allow strong notes 2020-04-08 12:46:02 +08:00
Tim Oliver
9d5a977501 Added judgement forwarder to drumroll tick object 2020-04-08 12:46:02 +08:00
Tim Oliver
1057981c79 Added arbitrary hit handler to drum roll object 2020-04-08 12:46:02 +08:00
Tim Oliver
6e12f1b69b Added “instant fly” variant of hit notes 2020-04-08 12:46:02 +08:00
smoogipoo
5106d275ca Remove CentreHit/RimHit hitobject abstraction 2020-03-23 12:08:15 +09:00
Dean Herbert
0e29d3c4a2 Correctly expire bar lines in osu!taiko and osu!mania 2020-02-23 13:50:05 +09:00
Dean Herbert
ffc7eaa3f2 Fix hitobjects with unknown lifetimes by enforcing non-null judgement
We've seen multiple cases where DrawableHitObject are stuck in the lifetime management container
due to not implementing a judgement (meaning they are never "hit" or "missed"). To avoid this going forward
CreateJudgement() must be implemented and return a non-null judgement.

This fixes BananaShower and JuiceStreams in osu!catch.

This also makes HitObject abstract and cleans up convert HitObject implementations.
2020-02-23 13:49:06 +09:00
Dean Herbert
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
smoogipoo
0f8a76afde Remove manual hitobject sample namespacing 2020-01-02 14:27:27 +09:00
Huo Yaoyuan
40b43b85f1 CA1715: use prefix for generic parameters. 2019-12-17 13:00:25 +08:00
Huo Yaoyuan
ddb2cfc46d Use GetEndTime in Taiko and Mania 2019-12-14 18:16:13 +08:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
Huo Yaoyuan
bbeab6fa76 Use auto property. 2019-11-12 19:53:25 +08:00
smoogipoo
f429a8f7c2 Add back/obsolete old AddNested() method 2019-10-17 14:02:08 +09:00
smoogipoo
d8f3678c3c Rename parameter 2019-10-17 12:53:54 +09:00
smoogipoo
d49ef6a36b Make taiko use the new nested hitobject structure 2019-10-17 11:57:00 +09:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
Bartłomiej Dach
8efab559c8 Remove unused using directives 2019-09-25 01:13:42 +02:00
Bartłomiej Dach
9323df26a1 Decouple bar line hitobjects from generator
Introduce an IBarLine interface, which together with generic constraints
helps decouple BarLineGenerator from the actual hitobject types it
creates. Thanks to this, all rulesets that want bar lines can provide
an implementation of IBarLine that also derives from the base hitobject
class.

This allows DrawableBarLines in taiko and mania to be migrated back to
DrawableTaikoHitObject and DrawableManiaHitObject base classes
respectively. This in turn resolves #6215 without code duplication,
since the missing anchoring application is now done in mania's
DrawableBarLine through deriving from DrawableManiaHitObject.
2019-09-25 00:36:27 +02:00
Dean Herbert
9fc60aeefc Merge branch 'master' into reset-dho-lifetimes 2019-09-12 19:29:14 +09:00
Dean Herbert
f21e47d6d2 Move expire to DrawableHitObject 2019-09-12 19:29:08 +09:00
Dean Herbert
af3bb5a2cd Centralise and share bar line generation code between rulesets 2019-09-10 13:30:54 +09:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
smoogipoo
5efd455ce4 Fix taiko sample namespace 2019-09-04 12:47:10 +09:00
smoogipoo
8302658186 Fix other potential nullref cases that rider missed 2019-09-02 18:31:33 +09:00
smoogipoo
f3656475de Return null hitwindows for non-time-based objects 2019-09-02 16:10:30 +09:00
Dean Herbert
13bb0676b1
Merge branch 'master' into fix-taiko-swell-tick-display 2019-09-02 13:47:04 +09:00
smoogipoo
1df422e591 Hide taiko swell ticks 2019-09-02 13:30:55 +09:00
smoogipoo
5b685c4cd2 Fix swell ticks having non-zero time offsets 2019-09-02 13:25:39 +09:00
Dean Herbert
9a98f39f06 Share logic with other rulesets (and make default) 2019-08-28 18:12:47 +09:00
smoogipoo
3723c441d2 Merge remote-tracking branch 'origin/master' into fix-taiko-proxy-rewind
# Conflicts:
#	osu.Game.Rulesets.Taiko/Objects/Drawables/DrawableTaikoHitObject.cs
2019-08-27 17:42:45 +09:00
smoogipoo
2b22fd799d Use constant value for offset 2019-08-27 15:33:53 +09:00
smoogipoo
bc7a81e733 Add initial fade transform 2019-08-27 15:33:53 +09:00
smoogipoo
dba3679817 Fix DrawableSwell not proxying its content in time/correctly 2019-08-27 15:33:28 +09:00
smoogipoo
b85e62a6e2 Fix taiko proxies being removed on rewind 2019-08-27 15:24:49 +09:00
iiSaLMaN
0eef398ca7 Remove redundant using directive 2019-08-27 05:19:21 +03:00
iiSaLMaN
cd68d030bd Remove unnecessary UpdateState overrides 2019-08-27 05:04:34 +03:00
iiSaLMaN
843da26dba Use transform management for taiko hit objects 2019-08-27 05:03:56 +03:00
Dean Herbert
48716f8f2b Update framework 2019-08-21 13:29:50 +09:00
Dean Herbert
c3b81bef4a Flip default to the preferred method going forward 2019-07-22 15:55:38 +09:00
Dean Herbert
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
772bef91fa Merge remote-tracking branch 'Joehuu/master' into drawnode-composability
# Conflicts:
#	osu.Game.Rulesets.Osu/UI/Cursor/OsuCursorContainer.cs
2019-04-08 23:01:12 +09:00
Dean Herbert
f1952c0816 Update font awesome usage 2019-04-02 19:55:24 +09:00
smoogipoo
a56e29347f Adjust namespaces 2019-04-02 14:51:28 +09:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
7715606188
Merge branch 'master' into sprite-icon-compatibility 2019-03-29 11:15:34 +09:00
Dean Herbert
de80fc0eac Update icon usage to match framework changes 2019-03-27 19:29:27 +09:00
Dean Herbert
39df8cce19 Fix incorrect usage of InternalChildren
Could cause overwriting of components added by base DrawableHitObjcet class (such as samples)
2019-03-25 13:48:55 +09:00
Dean Herbert
0788a7e9f1
Merge branch 'master' into more-inspections 2019-02-28 14:32:57 +09:00
Dean Herbert
42be7857d1 Use expression body for property get/set where possible 2019-02-28 13:58:19 +09:00
Dean Herbert
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
smoogipoo
25d85b6eb4 Implement new difficulty calculator for Rulesets.Taiko 2019-02-18 14:54:21 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Roman Kapustin
4b5fc85875 Use Find instead of FirstOrDefault 2019-01-05 19:35:33 +03:00
Ivan Pavluk
28b033bd99 Autodetect LowestSuccessfulHitResult 2018-12-12 17:15:59 +07:00
Ivan Pavluk
e49e2fda9e Rename SuccessfulHitResult->LowestSuccessfulHitResult 2018-12-12 13:24:58 +07:00
Ivan Pavluk
8457324044 SuccessfulHitWindow->SuccessfulHitResult 2018-12-10 09:04:12 +07:00
Ivan Pavluk
cb2444e01c Remove Meh from TaikoHitWindows 2018-12-06 19:04:54 +07:00
Ivan Pavluk
1b6658f4ee Move HealthIncreaseFor to Judgement 2018-12-06 15:09:42 +07:00
Ivan Pavluk
7d692939fc Fixed being able to miss taiko objects by hitting them too early
Revamped taiko HP system
2018-12-04 21:20:44 +07:00
Ivan Pavluk
2ca9864301 Fixed taiko swell hp and scoring 2018-11-29 22:05:13 +07:00
Ivan Pavluk
17337e05a1
Fixed whitespace 2018-11-29 09:06:40 +07:00
Ivan Pavluk
36b458bdee Fixed #3777 2018-11-29 08:56:19 +07:00
smoogipoo
f27bd3ef3e OpenTK -> osuTK 2018-11-20 17:14:59 +09:00
smoogipoo
08ffa18936 Fix nullref 2018-11-19 17:05:51 +09:00
smoogipoo
e207dd728b Fix taiko proxies not receiving the correct lifetimes 2018-11-15 20:26:12 +09:00
smoogipoo
3479bfa409 Rename variable 2018-09-28 17:18:34 +09:00
smoogipoo
5f61faa2d9 Fix multiple hits in the same frame pressing multiple hitobjects 2018-09-25 18:37:25 +09:00
smoogipoo
7c3556baf8 Throw exception when Swell.IsStrong is set 2018-08-15 09:12:29 +09:00
smoogipoo
b045f5c9b6 Adjust filename 2018-08-14 14:32:06 +09:00
smoogipoo
1a35506386 Cleanup strong hit construction 2018-08-14 14:29:49 +09:00
smoogipoo
732dfde8ed DrawableStrongHandler -> DrawableNestedStrongHit 2018-08-14 14:28:40 +09:00
smoogipoo
7971d06df1 Remove AlwaysPresent 2018-08-14 14:27:47 +09:00
smoogipoo
5c4c2dff09 Fix strong hits not being visualised 2018-08-06 13:01:27 +09:00
smoogipoo
3a7488767c Make HitObject not store the judgement 2018-08-06 11:50:18 +09:00
smoogipoo
741ec0021e Rename more judgement-related methods to "result" 2018-08-06 11:31:46 +09:00
smoogipoo
5fd4ed2f4e Rename judgement-related methods/events + commenting 2018-08-06 10:55:25 +09:00
smoogipoo
38263714a1 Cleanups 2018-08-03 16:56:46 +09:00
smoogipoo
412e4ff681 Fix display of swells 2018-08-03 16:49:24 +09:00
smoogipoo
e6775c7a16 Fix playfield display 2018-08-03 16:46:03 +09:00
smoogipoo
19c541dbf5 Migrate swells to use nested hitobjects for ticks 2018-08-03 16:35:29 +09:00
smoogipoo
e8a140930e Migrate drum roll to use nested hitobjects for strong hits 2018-08-03 16:35:12 +09:00
smoogipoo
4494853446 Migrate DrawableDrumRoll to use a nested hitobject for strong hits 2018-08-03 16:20:08 +09:00
smoogipoo
fdf889359f Migrate DrawableHit to use a nested hitobject for strong hits 2018-08-03 16:19:37 +09:00
smoogipoo
2dff04392e Re-implement strong judgements via hitobject 2018-08-03 16:12:12 +09:00
smoogipoo
fa3c919e2e Fix up taiko judgement creation 2018-08-03 16:11:38 +09:00
smoogipoo
0da6c8c1a7 Remove unnecessary local variables 2018-08-02 22:20:07 +09:00
smoogipoo
35b4ab5456 Introduce the concept of a "MainResult" 2018-08-02 21:07:40 +09:00
smoogipoo
9c2122c0ca Make Rulesets.Taiko use the new judgement result structure 2018-08-02 20:36:19 +09:00
smoogipoo
1b7b6f341c Migrate Rulesets.Taiko to the new judgement system 2018-08-02 16:09:04 +09:00
Dean Herbert
5e6634cd00
Merge branch 'master' into fix-taiko-rewind 2018-06-25 17:10:53 +09:00
smoogipoo
185789bc7f Remove unused variable 2018-06-25 16:13:15 +09:00
Dan Balasescu
26d9e3cc10
Merge branch 'master' into fix-taiko-rewind 2018-06-25 16:08:52 +09:00
smoogipoo
70e9f7cb8d Always proxy taiko hits when hit 2018-06-25 15:55:09 +09:00
Dean Herbert
5b344525e1 Move proxy state check to base class 2018-06-18 00:27:18 +09:00
smoogipoo
4575319102 Privatise the proxied content 2018-06-17 17:56:46 +09:00
smoogipoo
0f9c05d1e6 Fix taiko swells not properly rewinding 2018-06-11 22:32:08 +09:00
Dan Balasescu
1b12820de9
Restore a removed comment 2018-06-11 21:54:11 +09:00
smoogipoo
22dfe46572 Make taiko hitobject properly unproxy when rewound 2018-06-11 21:46:45 +09:00
smoogipoo
b6fb01440b Fix taiko hit states not being reverted on rewind 2018-06-11 20:44:26 +09:00
smoogipoo
f67d263596 Move ruleset-specific hitwindows to post-converted hitobjects 2018-05-17 13:35:15 +09:00
smoogipoo
7d027098ec Fix drumroll completions always giving GREAT judgements
Due to requiredgoodhits/requiredgreathits being calculated prior to nested hitobjects.
2018-05-14 14:13:07 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
Dean Herbert
cb3d0db555 Move combo colours completely out of HitObjects 2018-03-20 15:50:12 +09:00
smoogipoo
20acc601bb Fix up breaking taiko changes 2018-03-16 16:10:09 +09:00
Dean Herbert
a42035f494 Make DrawableHitObject a CompositeDrawable
No reason for it to be a container.
2018-03-15 13:41:06 +09:00
smoogipoo
2a9fb2c2c6 Make NestedHitObjects lazily-constructed 2018-03-05 21:40:26 +09:00
smoogipoo
df84b23847 Fix possible nullref when there are 0 drumroll ticks 2018-03-05 21:19:40 +09:00
smoogipoo
7ce3e60722 Fix drumrolls giving GOOD judgements too one tick too late 2018-03-05 21:19:36 +09:00
smoogipoo
46284c61ae Return HitResult.None instead of null 2018-02-08 14:25:59 +09:00
smoogipoo
3d167c40ae Remove now unneeded Math.Abs call 2018-02-08 14:15:58 +09:00
smoogipoo
9225e883c1 Add + use HalfHitWindow 2018-02-02 20:29:50 +09:00
smoogipoo
9bc4bf33a6 Use HitWindows for taiko 2018-02-02 18:53:30 +09:00
smoogipoo
bfdfb52666 Fix a few usages of AllJudged possibly not being correct 2018-01-15 15:28:08 +09:00
smoogipoo
9d00e5bb7d Make ScrollingHitObjectContainer handle nested hitobjects 2018-01-11 15:08:30 +09:00
smoogipoo
6255aaab68 Per-hitobject lifetime management 2018-01-10 19:17:43 +09:00
smoogipoo
86b5591583 Merge remote-tracking branch 'origin/master' into scrolling-hitobjects-rewrite 2018-01-10 18:02:49 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo
add68ff068 Fix swells not stopping at the hit position 2018-01-04 21:45:29 +09:00
smoogipoo
4fee76ba0b Fix drumroll lengths 2018-01-04 20:56:28 +09:00
smoogipoo
f34131f8f4 Initial game-wide replacement of scrolling playfields 2018-01-04 18:50:17 +09:00
Aergwyn
ccb69d16d9 move HitResult in Scoring namespace to replace HitCount 2017-12-30 21:23:18 +01:00
smoogipoo
0c4e4012f8 Taiko drumroll ticks should just play the playfield samples 2017-12-26 19:57:40 +09:00
smoogipoo
9690591593 Make taiko use namespaced hitsounds
This is a temporary solution for now that uses DrawableHitObject.SampleNamespace for the override. We will not want to do this going forward, and instead have the rulesets add their custom resource stores to the games', but that requires deciding where/when to apply/remove such resource stores, and is probably left to skinning.
2017-12-26 19:55:56 +09:00
smoogipoo
35d7fa8a81 Cleanup things that are now not needed with these changes 2017-12-26 14:18:38 +09:00
smoogipoo
14162b5d46 Make InputDrum handle all Normals/Claps, hitobjects all others 2017-12-26 14:18:23 +09:00
smoogipoo
affdd81563 Remove unused usings 2017-12-25 17:29:44 +09:00
smoogipoo
8bfdee586b Rename SwellSampleMapping -> DrumSampleMapping 2017-12-25 17:29:04 +09:00
smoogipoo
d288d8a51f Remove SampleInfoList 2017-12-25 15:40:01 +09:00
smoogipoo
844e39a9f6 Make Swells play samples while they're being hit 2017-12-25 15:04:22 +09:00
smoogipoo
8529eb1d3a Make strong hit misses not count as misses 2017-12-25 14:49:39 +09:00
Dean Herbert
298ac5468f Fix regressions 2017-12-23 17:24:28 +09:00
Dean Herbert
46865bbacd Merge remote-tracking branch 'upstream/master' into taiko-hitsounds-fix
# Conflicts:
#	osu.Game/Audio/SampleInfo.cs
2017-12-23 14:50:35 +09:00
smoogipoo
6a29f6020a Make HitObjects construct nested hit objects 2017-12-22 21:42:54 +09:00
smoogipoo
ac1d27e925 Fix possible nullref exceptions 2017-12-21 23:02:46 +09:00
smoogipoo
cb7e192aff Determine SampleInfo defaults in DrawableHitObject 2017-12-21 16:02:33 +09:00
FreezyLemon
9d3d9bcdc8 Corrected the return values for taiko DrawableHit and DrawableHitStrong (OnPressed == true if new Judgement occurs and is a hit) 2017-12-08 09:42:10 +01:00
FreezyLemon
43c270ea49 Rolled back the bad earlier implementation 2017-12-07 21:18:51 +01:00
FreezyLemon
3e8db8c5e1 Enabled strong taiko hitobjects playing samples again.
Also removes the first hitsound from the strong hitobject so only the "hitfinish" sound gets played.
2017-11-29 06:27:25 +01:00
FreezyLemon
bc3f11fdb8 Added PlaysSamples property to prevent certain DrawableHitObjects from playing their samples on hit. Also added this to TaikoObjects so their hitsounds won't be played (will be done by the TaikoRulesetContainer) 2017-11-29 06:24:13 +01:00
smoogipoo
5c2b1d4be2 Update xmldoc 2017-11-02 21:58:29 +09:00
smoogipoo
e2b6003f98 Make taiko use the new "Final" field
Ensures that the first hit on HitStrongs is _always_ non-final unless it was a miss. The second hit is always final.
2017-11-02 21:55:50 +09:00