1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 22:07:40 +08:00
Commit Graph

479 Commits

Author SHA1 Message Date
smoogipoo
8a04c954a9 Cleanup 2018-01-12 17:19:59 +09:00
smoogipoo
441e8aced5 Better namings for the speed change "algorithms" 2018-01-12 17:18:34 +09:00
smoogipoo
4b2d971b00 Add some comments 2018-01-12 13:06:17 +09:00
smoogipoo
712d586d41 Revert "Add OSD + config value for scroll speed"
This reverts commit a6d8b28221.
2018-01-12 12:28:43 +09:00
smoogipoo
ab762045d6 Move back to using load(), fix testcase 2018-01-11 16:51:46 +09:00
smoogipoo
d998936e9e Fix testcase errors 2018-01-11 15:50:44 +09:00
smoogipoo
9ae67b519b Optimise nested hitobject position computations 2018-01-11 15:25:15 +09:00
smoogipoo
9d00e5bb7d Make ScrollingHitObjectContainer handle nested hitobjects 2018-01-11 15:08:30 +09:00
smoogipoo
a6d8b28221 Add OSD + config value for scroll speed 2018-01-11 13:40:46 +09:00
smoogipoo
3a869edf36 Add a flag to disable user scroll speed adjustments 2018-01-11 12:44:39 +09:00
smoogipoo
6a5a3b01b2 Fix license headers 2018-01-11 12:39:06 +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
9d099feadc
Merge branch 'master' into fix-catcher-width 2018-01-10 10:04:10 +09:00
smoogipoo
c4d1922c8b Add scrolling algorithm to global settings 2018-01-08 11:34:37 +09:00
smoogipoo
4ab3b0d76b Implement local scrolling hit object container 2018-01-07 13:24:09 +09:00
smoogipoo
117ab8a26d Split out scrolling algorithm 2018-01-07 13:23:16 +09:00
smoogipoo
98fd4f6ff2 Fix up precision + sizing issues 2018-01-07 11:33:59 +09:00
smoogipoo
7526225282 Use DP for most of the code to avoid unnecessary computations 2018-01-05 20:56:21 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo
5d12682e83 Initial implementation of the new (old) mania scrolling calculations 2018-01-05 20:18:18 +09:00
smoogipoo
d2b135d2a8 Give hitobjects lifetimes 2018-01-05 15:48:19 +09:00
smoogipoo
1276e2c71a Merge branch 'master' into scrolling-hitobjects-rewrite 2018-01-05 14:58:57 +09:00
smoogipoo
36e9232472 Merge master into netstandard 2018-01-05 00:42:48 +09:00
smoogipoo
add68ff068 Fix swells not stopping at the hit position 2018-01-04 21:45:29 +09:00
smoogipoo
585df22c88 Add a way to calculate length of IHasEndTime objects 2018-01-04 20:56:18 +09:00
smoogipoo
a7aab21a29 Re-namespace files 2018-01-04 19:22:15 +09:00
smoogipoo
e0c921ff5c Split out ScrollingHitObjectContainer into new file 2018-01-04 19:20:43 +09:00
smoogipoo
651e24e3cc Implement proper scrolling directions 2018-01-04 19:17:40 +09:00
smoogipoo
f34131f8f4 Initial game-wide replacement of scrolling playfields 2018-01-04 18:50:17 +09:00
smoogipoo
2b79ad879f Add a way to access alive hitobjects 2018-01-04 16:37:48 +09:00
Dean Herbert
c8ec27c4de Remove redundant prefix 2018-01-04 16:31:41 +09:00
Dean Herbert
152b846cff Fix incorrect scaling of hitobjects in catch 2018-01-04 16:29:53 +09:00
smoogipoo
697efba5e2 Replace .OfType with .Cast 2018-01-04 15:55:35 +09:00
smoogipoo
6d253fd33c Add a way to adjust the conversion process with mods 2018-01-03 19:06:20 +09:00
smoogipoo
714d93dd92 Merge remote-tracking branch 'origin/master' 2017-12-30 16:17:14 +09:00
smoogipoo
7a793eaded Merge master into netstandard 2017-12-27 20:48:53 +09:00
Aergwyn
f5d4ed2a22 add interface to adjust DrawableHitObjects 2017-12-26 11:49:42 +01:00
Ninjaprawn
71e59bc9e7 Removed the IgnoreTooltip property 2017-12-16 20:16:40 +11:00
smoogipoo
b28b86dea9 Use Lazy for threadsafety on playfield 2017-12-14 20:27:51 +09:00
smoogipoo
f41af191ed Merge remote-tracking branch 'origin/master' into editor-selection-tool 2017-12-08 15:13:18 +09:00
Ninjaprawn
9b3e666a07 Added IgnoreTooltip to all classes required 2017-12-08 14:10:23 +11:00
Dean Herbert
a78441bc5a Apply changes in line with framework input adjustments 2017-12-07 13:16:59 +09:00
smoogipoo
cf859a6cf2 Make the dragger attach to objects it surrounds
Plus a lot more implementation.
2017-12-02 00:26:02 +09:00
smoogipoo
e8cbde3ae1 Add overlay/underlay 2017-11-30 21:56:19 +09:00
smoogipoo
b3bf6e7bee Merge master into netstandard 2017-11-21 16:39:21 +09:00
Dean Herbert
2610cadd3c CI fixes 2017-11-21 12:11:29 +09:00
Dean Herbert
4f6263ef86 Make many internal classes and methods public
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
2017-11-21 12:06:16 +09:00
smoogipoo
aac41d2de6 Disable resharper inspections on case-by-case basis 2017-11-20 18:55:48 +09:00
smoogipoo
18f2e92a48 Rework mod applications to hitobject/rulesetcontainer for DifficultyCalculator 2017-11-17 12:36:13 +09:00
Dean Herbert
f912744acc Fix sizing of ModIcon 2017-11-16 00:15:27 +09:00
Dean Herbert
ae6d4aa38d Merge remote-tracking branch 'upstream/master' into fix-replay-clock 2017-11-13 20:03:29 +09:00
smoogipoo
495155874c Make sure that the clock is only updated once per time value 2017-11-13 19:30:57 +09:00
smoogipoo
0cec51110a Fix replay clock always running 1 frame behind
* Fixes swells never completing.
* Fixes forward playback missing notes every now and then.
* Probably more stuff.
2017-11-13 17:55:21 +09:00
smoogipoo
ae8407a3f3 Fix nested hitobject judgements not being removed 2017-11-13 14:00:35 +09:00
smoogipoo
fe00ac7e41 Make DrawableHitObject/ScoreProcessor support rewinding 2017-11-02 21:21:07 +09:00
Dean Herbert
5d5ea5fb2e Fix all remaining db structure issues 2017-10-19 14:05:11 +09:00
Dean Herbert
ead88224c5 Move ModIcon tooltip to base implementation 2017-10-13 19:14:43 +09:00
Dean Herbert
6d3d485565 And then everything became one 2017-09-19 16:06:58 +09:00
smoogipooo
f1130eb899 Add default implementation for ScoreProcessor using Exponential scoring 2017-09-13 16:35:13 +09:00
smoogipooo
ba4f81d022 Woops, fix incorrectly deleted line 2017-09-12 23:30:15 +09:00
smoogipooo
4269533bab Remove remaining AllObjectsJudged in RulesetContainer 2017-09-12 22:29:44 +09:00
smoogipooo
2e0218f388 Move AllObjectsJudged into ScoreProcessor as AllJudged
Changes to OsuScoreProcessor were required to make sure that ticks and slider heads weren't ignored.
2017-09-12 22:01:08 +09:00
smoogipooo
112429051e Fix XMLDoc CI errors 2017-09-12 19:05:37 +09:00
Dean Herbert
86de4fa2e2 Apply CI fixes 2017-09-12 18:36:19 +09:00
Dean Herbert
f32d444d68 Remove generics from Playfield (fixes catch) 2017-09-12 18:19:28 +09:00
Dean Herbert
5ce76d8023 Merge remote-tracking branch 'upstream/master' into judgement-revamp 2017-09-11 14:36:51 +09:00
Dean Herbert
512232c1c8 Fix regression causing autoplay to fail 2017-09-11 14:25:01 +09:00
MrTheMake
a7f874e5b6 Merge branch 'master' into leaderboard-scores 2017-09-07 18:25:33 +02:00
Dean Herbert
e834e0e958 Fix incorrect initialisation order causing mania key bindings to not work 2017-09-06 21:07:57 +09:00
smoogipooo
0cc443e618 Remove all generic judgements. 2017-09-06 18:05:51 +09:00
smoogipooo
ac8ec31b61 Make judgements able to be "added" plus make everything compile and run. 2017-09-06 17:02:13 +09:00
Dean Herbert
2b667cf789 Fix typos 2017-08-24 20:32:55 +09:00
Dean Herbert
c9f90efb8a Add more checks and remove direct cast 2017-08-24 20:31:57 +09:00
Dean Herbert
f0635af40d Add documentation and regions to RulesetInputManager 2017-08-24 15:51:31 +09:00
Dean Herbert
a7a7e0323f Update autoplay and replay handling to result in actions, not keys 2017-08-24 15:36:42 +09:00
Dean Herbert
189988236b Move PlayerInputManager logic inside RulesetInputManager 2017-08-24 15:23:17 +09:00
smoogipooo
115e5c95af Make ScrollingPlayfield.Reversed protected; make ManiaPlayfield 'invertible'. 2017-08-23 20:50:03 +09:00
Dean Herbert
1f04995a73 Merge branch 'master' into hardrock-flipping 2017-08-23 17:00:41 +09:00
smoogipooo
8ddc13e394 Fix replays not loading. 2017-08-23 16:48:13 +09:00
smoogipooo
84dd1283de Fix nullref. 2017-08-23 13:39:51 +09:00
smoogipooo
be96fb32b3 Make RulesetContainer load KeyBindingInputManager in load() 2017-08-23 12:47:47 +09:00
Dean Herbert
83bd430f89 Merge branch 'master' into fix-speed-adjustments 2017-08-22 23:07:42 +09:00
smoogipooo
f8576d44b1 Add some more xmldoc. 2017-08-22 21:08:27 +09:00
Dean Herbert
9f52ecbb8a Merge branch 'master' into mania-key-conversion 2017-08-22 20:08:39 +09:00
smoogipooo
ad63cbf455 Fix default comparator being inverted. 2017-08-22 18:54:41 +09:00
smoogipooo
1964bc72e5 Should be FirstOrDefault for hit objects occuriung before the first control point. 2017-08-22 18:39:09 +09:00
smoogipooo
137964b792 Fix hit objects not getting added to the correct speed adjustment container. 2017-08-22 18:37:10 +09:00
smoogipooo
b46a51fd8b Make the speed adjustment containers ordered decreasingly by their control point start time. 2017-08-22 18:36:32 +09:00
smoogipooo
0189f01402 Explicitly store defaultSpeedAdjustment, and make it un-removable 2017-08-22 16:15:50 +09:00
smoogipooo
5a3c0de7ad Fix further incorrect comparison. 2017-08-22 16:10:58 +09:00
smoogipooo
d20ea97e7f Add NUnit test for ScrollingHitObjectContainer
Tests ordering of SpeedAdjustmentContainers and DrawableHitObjects added to the ScrollingHitObjectContainer.
2017-08-22 16:06:19 +09:00
smoogipooo
c3cfad4eb5 Add RemoveSpeedAdjustment 2017-08-22 16:06:14 +09:00
smoogipooo
4fc77be624 Fix incorrect sorting of hit objects into SpeedAdjustmentContainers 2017-08-22 16:06:09 +09:00
smoogipooo
6f662d721c Fix possible CollectionModifiedException while adding new SpeedAdjustmentContainers 2017-08-22 16:06:04 +09:00
smoogipooo
5fcd94880d Fix incorrect inequality with multiple speed adjustments at the same start time. 2017-08-22 16:05:53 +09:00
smoogipooo
68c7226d12 Fix cherry pick issues. 2017-08-22 14:18:17 +09:00
smoogipooo
88151eff3f Fix dofficulty calculators not working and make mania set the correct key count for non-mania specific maps. 2017-08-22 14:07:39 +09:00
smoogipooo
4eec59f669 Only set the number of availableColumns once, at ManiaRulesetContainer level.
# Conflicts:
#	osu.Game.Rulesets.Mania/Beatmaps/ManiaBeatmapConverter.cs
#	osu.Game.Rulesets.Mania/UI/ManiaRulesetContainer.cs
#	osu.Game/Rulesets/UI/RulesetContainer.cs
2017-08-22 14:07:37 +09:00
smoogipooo
964982e2e6 Remove now unneeded ApplyBeatmap. 2017-08-22 14:05:28 +09:00
Dean Herbert
7903f49d27 Merge branch 'master' into action-key-counter 2017-08-21 17:47:19 +09:00
smoogipooo
6e0d2182cb CI. 2017-08-21 16:24:16 +09:00
smoogipooo
5d13efa76d Remove the concept of "queued hit objects", add a default speed adjustment. 2017-08-21 16:17:00 +09:00
Dean Herbert
a63923a497 Remove type check for now 2017-08-21 12:50:48 +09:00
Dean Herbert
16e96888ab Update KeyCounterCollection to support action-based buttons 2017-08-21 12:39:22 +09:00
MrTheMake
6d401b5f21 Merge branch 'master' into leaderboard-scores 2017-08-19 00:00:40 +02:00
Dean Herbert
bc7621607a Merge upstream/master in. 2017-08-18 22:20:45 +09:00
Dean Herbert
7c9d6c9c83 Initial refactoring of key binding logic 2017-08-14 20:19:25 +09:00
MrTheMake
d9c26f98c7 Suggested changes 2017-08-13 19:54:07 +02:00
smoogipooo
d83c218e08 Remove various scrolling container optimisations (removing when not alive). 2017-08-09 16:19:09 +09:00
Dean Herbert
976cff9af6 Merge remote-tracking branch 'upstream/master' into catch
# Conflicts:
#	osu.Desktop.Tests/Visual/TestCaseScrollingPlayfield.cs
2017-08-09 15:08:43 +09:00
smoogipooo
a20753abc6 Applied suggested changes. 2017-08-09 14:24:47 +09:00
smoogipooo
431a9649a4 Remove unused using. 2017-08-09 13:38:12 +09:00
Dean Herbert
723e27353c HitRenderer -> RulesetContainer 2017-08-09 13:28:29 +09:00
Dean Herbert
7c0e7ebcd0 Give HitRenderer a reference to Ruleset
Used to get correct bindings for a mode (ActionMappingInputManager).
2017-08-09 13:05:52 +09:00
smoogipooo
1c5584f068 Make ScrollingPlayfield store a list of SpeedAdjustments instead of a Container.
Because they're removed from the container when they're not alive, and any further adding methods fail.
2017-08-09 12:45:50 +09:00
smoogipooo
dfb47b571a Make HitRenderer's Playfield public so it can be used in testing. 2017-08-09 12:24:38 +09:00
Dean Herbert
b88f37de45 Add custom actions for Catch
Reworks input management for rulesets
2017-08-09 11:50:34 +09:00
smoogipooo
cae21869d0 Use CompositeDrawable for HitObjectContainer. Removes a looooooot of generics 👍. 2017-08-08 17:37:11 +09:00
smoogipooo
e54abe8d0a Fix not removing queued hit objects. 2017-08-08 13:23:46 +09:00
Dean Herbert
a95aa90adc Allow DrawableHitObjects to be removed from a Playfield
(cherry picked from commit 3926238be9)
2017-08-08 13:02:51 +09:00
smoogipooo
c5ce86b9f3 Add reversing capability to ScrollingPlayfield. 2017-08-08 12:59:50 +09:00
smoogipooo
bd2ef4dc6b Line endings + license headers. 2017-08-07 18:03:44 +09:00
smoogipooo
62ee613da3 Merge remote-tracking branch 'origin/master' into timingchange-improvements 2017-08-07 17:35:53 +09:00
smoogipooo
f3c05fe232 CI fixes. 2017-08-07 17:34:57 +09:00
smoogipooo
9c0a0b1e2c Rewrite/add comments. 2017-08-07 17:27:50 +09:00
smoogipooo
933740664c SpeedAdjustedHitRenderer -> ScrollingHitRenderer for consistent naming. 2017-08-07 16:43:54 +09:00
smoogipooo
fc252f8888 Remove exception (this is set in SpeedAdjustmentContainer). 2017-08-07 16:24:51 +09:00
smoogipooo
a3efca9c35 Reduce implementation overhead in actually positioning hitobjects and making them scroll. 2017-08-07 16:02:38 +09:00
smoogipooo
068dfcb19a Default CreateSpeedAdjustmentContainer implementation. 2017-08-07 15:22:31 +09:00
smoogipooo
c6447e40f9 Reduce implementation overhead for nested playfields (e.g. playfield + columns). 2017-08-07 14:56:26 +09:00
smoogipooo
376f99c1e3 Make VisibleTimeRange transform work again. 2017-08-07 14:32:55 +09:00
Dean Herbert
e75f438c29 Add difficulty application mods
Also fixes circular references when using IJsonSerializable.
2017-08-07 08:54:54 +09:00
Dean Herbert
3416925233 Fix alignment of icons on mod buttons 2017-08-07 08:54:53 +09:00
smoogipooo
b1d25ed388 Implement ScrollingPlayfield, now containing ScrollingHitObjectContainer (prev. SpeedAdjustmentCollection).
Also removing a lot of mania code relating to gravity mod for now.
2017-08-04 23:07:08 +09:00
smoogipooo
0f901c99a0 Implement SpeedAdjustedPlayfield and a new HitRenderer derivation. 2017-08-04 20:11:18 +09:30
Dean Herbert
0d9ea97828 Allow Rulesets to create a non-FontAwesome icon
This also
- Renames TextAwesome to SpriteIcon.
- Removes the default size of "20" from SpriteIcon (now defaults to the underlying texture size).
2017-08-03 14:36:21 +09:00
Thomas Müller
22a987f6cc Update test cases to new framework and fix old crashes 2017-07-07 15:05:55 +03:00
Thomas Müller
f5829860a2 Get rid of AlwaysReceiveInput 2017-06-23 18:02:24 +02:00
Dan Balasescu
6bfb716cc6 CI fixes.
Update SpeedAdjustmentCollection.cs
2017-06-16 11:48:14 +09:00
smoogipooo
5d7336b235 A bit more cleanup. 2017-06-16 10:06:47 +09:00
smoogipooo
ff84a11c37 We don't need this to be protected anymore. 2017-06-16 09:54:16 +09:00
smoogipooo
03b2b254ba Make SpeedAdjustmentCollection support unordered adds of speed adjustments and hit objects. 2017-06-16 09:38:06 +09:00
smoogipooo
fda220acbc Move speed adjustment code from ManiaHitRenderer to SpeedAdjustedHitRenderer. 2017-06-15 19:34:28 +09:00
smoogipooo
ba8014bbd9 Cleanups + xmldoc rewordings/improvements. 2017-06-12 15:20:34 +09:00
smoogipooo
1f56848442 Rewrite the way speed adjustments are applied. 2017-06-09 19:57:03 +09:00
smoogipooo
6f191193a1 Rename timing changes, simplify + improve columns/dictionary usage. 2017-06-07 19:15:51 +09:00
smoogipooo
3cdfd2eef5 Split ControlPoint into different types.
# Conflicts:
#	osu.Game.Rulesets.Mania/UI/Column.cs
2017-05-23 14:03:40 +09:00
smoogipooo
67cf64062a Add flag to determine whether the beatmap requested for conversion is for the current ruleset. 2017-05-19 16:02:40 +09:00
smoogipooo
a762f820c6 Fix possible nullrefs. 2017-05-11 14:50:18 +09:00
smoogipooo
2d2d1beddd More concrete method to determine if all hit objects have been judged.
Covers the case where nested hit objects are involved.
2017-05-11 14:48:08 +09:00
smoogipooo
6445bea864 Make Playfield.HitObjects internal to playfields.
Because not all playfields will be using this.
2017-05-11 14:44:11 +09:00
Dean Herbert
ab1768ef80 Merge branch 'master' into tidy-up 2017-05-09 10:27:29 +09:00
Dean Herbert
10910cfcef Make field readonly. 2017-05-08 11:47:06 +09:00
Dean Herbert
2f4fad9d41 Refactor colour selection. 2017-05-08 11:33:22 +09:00
Huo Yaoyuan
4f8549f220 Standardise usages of exceptions. 2017-05-07 00:38:17 +08:00
Dean Herbert
4b385ded26 Tidy up ModIcon. 2017-05-05 13:22:10 +09:00
Dean Herbert
c9ba1ac4f6 Adjust namespaces.
Also adds transition, uses IHasCurrentValue, combines Mod TestCases and more.
2017-05-05 13:00:05 +09:00
Dean Herbert
6298b3effd Refactor ModSection and ModIcon to avoid null mods. 2017-05-05 12:16:41 +09:00
EVAST9919
66c858030a Merge remote-tracking branch 'refs/remotes/ppy/master' into mods_refactor 2017-05-04 17:35:41 +03:00
EVAST9919
475eb6fe5f Cleanup 2017-05-04 17:29:52 +03:00
EVAST9919
9e35eb8d97 Fixes 2017-05-03 13:53:45 +03:00
smoogipooo
06e014708a Defer virtual method to load(). 2017-05-03 15:57:15 +09:00
EVAST9919
e7a8619f01 ModIcon refactor 2017-05-03 09:48:10 +03:00
EVAST9919
898d9495ff line fix 2017-05-03 08:27:47 +03:00
EVAST9919
37c3133981 Fixes 2017-05-02 22:46:18 +03:00
EVAST9919
7e1efcc20b Added ModsContainer 2017-05-02 22:34:07 +03:00
Dean Herbert
f202aee2a9 Fix input not being propagated to the playfield when outside its bounds. 2017-04-29 16:59:23 +09:00
Dean Herbert
e003d9fc3c Add basic replay frame accurate "seeking".
Previously we were looping over Update, when we should instead have been looping over UpdateSubTree.
2017-04-25 22:59:58 +09:00
Dean Herbert
3f832731c9
Add DoubleTime, HalfTime and Nightcore support. 2017-04-21 17:33:37 +09:00
Dean Herbert
3342a97b20
Remove using. 2017-04-20 19:52:32 +09:00
smoogipooo
7df35e1197 Bind to method instead of exposing ScoreProcessor to HealthDisplay. 2017-04-20 19:45:15 +09:00
smoogipooo
f50e43fc4b CI fixes. 2017-04-20 18:02:09 +09:00
smoogipooo
6e3018f36d Add a glow fade based on density of hits. 2017-04-20 17:11:58 +09:00
smoogipooo
e92e08f86d Make StandardHealthDisplay glow extrude beyond the end of the bar. 2017-04-20 17:11:31 +09:00
Dean Herbert
1707c2458e
Update exception name. 2017-04-20 12:11:03 +09:00
Dean Herbert
a0d9c14526
Add temporary means of getting the user which is responsible for a resulting play. 2017-04-18 22:22:14 +09:00
Dean Herbert
66865c50ad
Remove explicit RelativeSize setting. 2017-04-18 18:10:13 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset. 2017-04-18 16:05:58 +09:00