Commit Graph

344 Commits

Author SHA1 Message Date
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