apollo-dw
66a6467403
Pass object position to the object
2022-05-26 19:26:14 +01:00
apollo-dw
30b9e0e7ab
Use object list size for object position
2022-05-24 16:30:25 +01:00
Gabe Livengood
252bacc8d4
revert more testing leftovers...
2022-05-24 10:56:31 -04:00
Gabe Livengood
dde0756bed
add accuracy challenge mod
2022-05-24 10:23:44 -04:00
apollo-dw
26985ca8af
Store hitobject history in the hitobject
2022-05-22 16:26:22 +01:00
Dean Herbert
5af7641e94
Add safety against playfield potentially not being available during mania note placement
2022-05-19 15:53:53 +09:00
Dean Herbert
f7e055dbfe
Move mania note height offset application to a much more suitable location
2022-05-12 16:19:07 +09:00
Dean Herbert
c0abce918f
Add enum
to snap method as alternative to mutliple nested invocations
2022-05-12 16:19:07 +09:00
Dean Herbert
f6fc926f1a
Add xmldoc and rename methods in IPositionSnapProvider
for legibility
2022-05-05 15:58:21 +09:00
Dean Herbert
93db6c6bb0
Move FastRandom
to LegacyRandom
in osu.Game
project
2022-04-28 17:47:32 +09:00
Dan Balasescu
b19e738315
Merge pull request #17913 from molneya/hold-addition-fix
...
Fix mania SR inflation for hold note releases in quick succession
2022-04-26 18:31:07 +09:00
63411
6cca56ab77
Move release_threshold to const
2022-04-23 10:46:12 +08:00
Salman Ahmed
61078910a6
Handle all skin component types explicitly
2022-04-23 03:34:05 +03:00
63411
8b55d3855a
Use isOverlapping bool to determine holdAddition
2022-04-22 13:27:59 +08:00
63411
56bbfa58e5
Add missing absolute value of closestEndTime
2022-04-22 13:01:41 +08:00
63411
97b4a2a105
Use better initial value for closestEndTime
2022-04-22 12:59:00 +08:00
63411
574007c07a
Optimise holdAddition calculation
2022-04-22 02:02:23 +08:00
63411
e7a149af6c
Use curve for holdAddition validity cutoff
2022-04-21 23:05:20 +08:00
63411
a0a83fb51f
Use closest endTime for holdAddition validity
2022-04-21 23:03:28 +08:00
Dean Herbert
0cac935939
Shorten class name of ModCreatedReplayUser
2022-03-31 11:34:23 +09:00
Dean Herbert
4b2c01a8c1
Bring all mod implementations up-to-date
2022-03-29 16:59:03 +09:00
Dean Herbert
d2d88015e3
Update all cinema/autoplay mods to specify the system user ID
2022-03-28 22:22:56 +09:00
Dean Herbert
6fb06d69cc
Merge branch 'master' into pp-counter-alloc-reduction
2022-03-15 13:31:57 +09:00
Dan Balasescu
523f668c8c
Remove unnecessary ctor argument
2022-03-15 12:37:39 +09:00
Dan Balasescu
daac933498
Remove unnecessary ctor arguments
2022-03-15 12:34:58 +09:00
Dan Balasescu
59d57a44d4
Prevent incorrect usages by hard-typing ctor type
2022-03-15 09:11:59 +09:00
Dan Balasescu
3fff7f4b7e
Require ScoreProcessor to receive ruleset
2022-03-14 15:51:10 +09:00
Dan Balasescu
4a3e3aba65
Restructure PerformanceCalculator to not require ScoreInfo argument
2022-03-14 14:25:28 +09:00
Dan Balasescu
c36badab4b
Add per-ruleset score multipliers for classic scoring
2022-03-10 10:26:09 +09:00
Dean Herbert
8bb07f83cd
Merge pull request #17054 from hlysine/mod-adaptive-speed
...
Implement Adaptive Speed mod
2022-03-09 17:56:34 +09:00
Dean Herbert
33862fc0db
Centralise implementation of slider bars which display millisecond time values
2022-03-04 12:25:19 +09:00
Dean Herbert
abba49fd8f
Update all usages of OsuSlider.TooltipText
overrides to instead implement GetTooltipText
2022-03-04 12:16:05 +09:00
Henry Lin
c9b205afeb
Add adaptive speed mod
2022-03-02 09:57:52 +08:00
Dean Herbert
a41e1c80f1
Show hit error on results screen
...
Leading up to implementation of "local offset", this feels like a good
thing to have visible first and foremost.
2022-02-28 19:11:06 +09:00
Dean Herbert
13b6cfb5ed
Merge pull request #16898 from smoogipoo/fix-mania-pp-score-multiplier
...
Fix mania PP calculator applying incorrect score multiplier
2022-02-17 19:21:08 +09:00
Dean Herbert
64360f2b37
Merge pull request #16891 from smoogipoo/fix-mania-hitwindow-attrib
...
Fix mania hit window attribute improperly considering rate-adjustment mods
2022-02-17 14:03:51 +09:00
Dan Balasescu
39a7bbdb9a
Fix mania PP calculator applying incorrect score multiplier
2022-02-17 14:03:39 +09:00
Dean Herbert
7307e68e9c
Revert "Merge pull request #16889 from smoogipoo/remove-mod-multiplier"
...
This reverts commit 252b945d3b
, reversing
changes made to a1b39a96cf
.
2022-02-17 13:26:12 +09:00
Dan Balasescu
0b37efc985
Add explanatory note
2022-02-16 20:07:58 +09:00
Dan Balasescu
a0ee86ddd2
Fix improperly considering rate adjustment mods
2022-02-16 19:51:42 +09:00
Dan Balasescu
1f9892802c
Merge pull request #16886 from peppy/clarify-parenthesis
...
Clarify ambiguous conditionals in `LegacyStageBackground`
2022-02-16 19:15:21 +09:00
Dan Balasescu
d4bf335fcc
Use score multiplier attribute in ManiaPerformanceCalculator
2022-02-16 16:24:40 +09:00
Dean Herbert
f703828e1b
Clarify ambiguous conditionals in LegacyStageBackground
2022-02-16 15:27:49 +09:00
Dan Balasescu
84e82ef5e4
Add XMLDocs to difficulty attribute properties
2022-02-16 14:09:19 +09:00
Henry Lin
ee6d4b2583
Move performance breakdown to the top to prevent re-ordering after watching replay
2022-02-05 21:39:01 +08:00
Henry Lin
0b1fef38af
Use the playable beatmap provided in CreateStatisticsForScore
2022-02-05 21:36:34 +08:00
Henry Lin
440b674bb0
Add statistic item for mania & taiko
2022-02-05 21:30:35 +08:00
Henry Lin
f29301cd1e
Merge branch 'master' into display-performance-attributes
2022-02-05 16:59:46 +08:00
Dean Herbert
df9d99f5aa
Merge branch 'master' into extended-statistics-without-replay
2022-02-03 18:59:48 +09:00
Bartłomiej Dach
82f9ad63f5
Fix flashlight size multiplier printing with too many decimal digits
2022-02-02 20:41:25 +01:00
Dean Herbert
19eb9ad8a7
Reorder StatisticsItem
constructor to make a touch more sense
2022-02-02 23:02:38 +09:00
Henry Lin
6a482827fe
Fix weird line breaking
2022-02-02 17:23:03 +08:00
Henry Lin
c5c4c85006
Lazily create content of StatisticItem
2022-02-02 13:29:18 +08:00
Dean Herbert
4b646709c1
Merge pull request #16658 from Spooghetti420/no-long-notes-mod
...
Add "Hold Off" mod (no long notes)
2022-02-02 13:35:44 +09:00
Dean Herbert
ddc8094a75
Update description
2022-02-02 13:34:23 +09:00
Bartłomiej Dach
e4028b8fc1
Remove index ctor param from ColumnHitObjectArea
...
No longer used since 5692cecaa4
.
2022-02-01 21:49:52 +01:00
Spooghetti420
b75c08c9ab
Improve beat length logic
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 13:36:36 +00:00
Dan Balasescu
0641264a11
Merge branch 'master' into spectator-consistency-frames
2022-02-01 14:35:30 +09:00
Dean Herbert
2f88efd3c3
Pass column in rather than accessing parent
2022-02-01 00:53:56 +09:00
Spooghetti420
e5601772a9
Make incompatible with
2022-01-31 15:00:36 +00:00
Dan Balasescu
0458d408bb
Add replay statistics frames to FramedReplayInputHandler
2022-01-31 18:53:47 +09:00
Dean Herbert
0e764538e0
Retrieve KeyBindingContainer
via DI rather than traversal lookup
2022-01-31 17:05:04 +09:00
Dean Herbert
cc7fb0e559
Add mouse click support and increase area to full column height
2022-01-31 16:37:02 +09:00
Dean Herbert
a84fd2e20c
Merge branch 'master' into master
2022-01-31 16:30:08 +09:00
Dean Herbert
bb8dc74e88
Fix constant formatting
2022-01-31 12:20:51 +09:00
Spooghetti420
b52153e73d
Remove settings
2022-01-30 17:40:15 +00:00
Dean Herbert
035a84e75c
Rename function and make public
again for test usage
2022-01-29 14:05:23 +09:00
Dean Herbert
c75ffe9b07
Apply code style changes
2022-01-29 13:47:04 +09:00
Spooghetti420
a4aa501bb5
Change threshold from ms to beat-based, add tests
2022-01-28 21:59:53 +00:00
Spooghetti420
146c54a2c1
Fix code formatting
2022-01-27 21:02:59 +00:00
Spooghetti420
3e068e564d
Update mod per discussion + create test
2022-01-27 20:56:51 +00:00
Spooghetti420
400633bd99
Add another newline
2022-01-27 16:23:09 +00:00
Spooghetti420
c0b2f8bd01
Fix newline style in mod
2022-01-27 16:21:38 +00:00
Spooghetti420
5dd829cb3a
Merge branch 'master' of https://github.com/ppy/osu into no-long-notes-mod
2022-01-27 16:10:16 +00:00
Spooghetti420
1bdf16494b
Add No Long Notes mod
2022-01-27 11:35:31 +00:00
Dean Herbert
5288eedd31
Update all usages of RulesetID
and Ruleset.ID
to use Ruleset.OnlineID
2022-01-27 15:38:03 +09:00
Bartłomiej Dach
2375420d4c
Tweak allowable ranges of size multiplier
2022-01-24 21:32:31 +01:00
Bartłomiej Dach
4a13c93ca7
Disallow zero size multiplier in flashlight implementations
2022-01-24 21:03:03 +01:00
Bartłomiej Dach
a227af75ed
Simplify flashlight parameter passing flow
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
5874475dff
Extract DefaultFlashlightSize
to base flashlight class
2022-01-24 21:03:02 +01:00
Bartłomiej Dach
a7c0d507ce
Rename flashlight settings to be more accurate
2022-01-24 21:03:02 +01:00
mk-56
948867898c
ModeMultiplier rename
2022-01-24 11:38:52 +01:00
mk-56
161a2a321e
Remove bindable from ModeMultiplier
2022-01-24 09:07:07 +01:00
mk-56
ed84ae0ac0
Adjust values to Bdach's refined taste
2022-01-24 00:42:43 +01:00
mk-56
955bab926f
Separate the settings for each modes radiuses
2022-01-22 19:38:56 +01:00
MK56
b5f813a949
Merge branch 'ppy:master' into Liswiera-FL-changes
2022-01-22 19:04:39 +01:00
Bartłomiej Dach
1ce0b18003
Merge branch 'master' into display-performance-attributes
2022-01-22 14:12:57 +01:00
Dean Herbert
7f65f3a47f
Remove all usage of BaseDifficulty
(and access Difficulty
instead)
2022-01-18 22:57:39 +09:00
mk-56
bd308ca38c
Cleanup
2022-01-17 15:15:25 +01:00
Henry Lin
b81fc675e8
Include PropertyName in PerformanceDisplayAttribute
2022-01-17 20:45:25 +08:00
Henry Lin
d014fef179
Hide confusing attributes
2022-01-17 20:36:36 +08:00
Henry Lin
511a607599
Display performance breakdown in a tooltip
2022-01-17 18:28:17 +08:00
mk-56
ee4331dda4
Merge remote-tracking branch 'origin/Liswiera-FL-changes' into Liswiera-FL-changes
2022-01-15 21:44:03 +01:00
mk-56
2a59735525
Initial commit
2022-01-15 21:43:28 +01:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Dan Balasescu
4106ebf881
Fix mania requiring PERFECTs to maintain HP
2022-01-12 18:29:23 +09:00
pikokr
b0d61a18b0
Load keyBindingContainer once on LoadComplete() & make touch area height to const
2022-01-07 15:57:30 +09:00
pikokr
4cb8272d14
Column Touch area & highlighting on start
2021-12-30 17:37:19 +09:00
pikokr
dec1f31749
Make KeyBindingContainer
public
2021-12-28 22:43:07 +09:00
파링
9ed7139582
Merge branch 'master' into master
2021-12-28 22:36:55 +09:00
pikokr
62d6bb8c2e
Trigger touch on click key area
2021-12-28 22:35:45 +09:00
pikokr
59b4aea5f9
Make method and property name to match class name
2021-12-28 21:52:46 +09:00
Joseph Madamba
0bd928b5cd
Fix incorrect naming / apply review
2021-12-27 21:44:19 -08:00
Joseph Madamba
7de43e3aba
Fix most open compound words in identifiers being closed
2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4
Fix clear identifier typos
2021-12-27 20:26:28 -08:00
pikokr
58994b790c
Get key binding container once instead of getting on every touch
2021-12-27 21:20:52 +09:00
pikokr
327822de5b
Add touchscreen support for osu!mania ruleset
2021-12-27 19:41:36 +09:00
StanR
40b3ce0ade
Clean up comments
2021-12-21 14:03:24 +03:00
StanR
cca02a8016
Create PerformanceAttributes
2021-12-21 13:08:31 +03:00
StanR
2f2006715e
Slightly refactor difficulty and pp calculators
2021-12-17 23:40:23 +03:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
9f688f6291
Stop persisting Skill
s in DifficultyAttributes
2021-11-21 12:15:32 +09:00
Dean Herbert
fd0cae2bfb
Merge branch 'master' into difficulty-attribute-helpers
2021-11-17 20:49:31 +09:00
Dan Balasescu
815179f713
Use consts for attribute IDs
2021-11-17 20:31:18 +09:00
Dean Herbert
369b4ba789
Update DifficultyCalculator
to take an IRulesetInfo
2021-11-15 19:16:48 +09:00
Dean Herbert
62d670a3ca
Update DifficultyCalculator
to take an IWorkingBeatmap
2021-11-15 19:16:48 +09:00
Dan Balasescu
c8a01c35f7
Remove extra members from FromDatabaseAttributes
2021-11-15 18:11:07 +09:00
Dan Balasescu
0cfd6fdf04
Add to/from database mapping functions to difficulty attributes
2021-11-15 16:06:50 +09:00
Dan Balasescu
907499f73a
Add json properties to difficulty attributes
2021-11-15 16:06:29 +09:00
Bartłomiej Dach
6d30248cef
Merge branch 'master' into use-class-rename
2021-11-07 15:41:00 +01:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
Dean Herbert
6399c695e8
Update usages of BufferedContainer
in line with framework changes
2021-11-05 15:54:49 +09:00
Dean Herbert
9b705460db
Remove trailing exclamation marks from autoplay character names
...
As mentioned in
https://github.com/ppy/osu/discussions/15401#discussioncomment-1573839 .
2021-11-02 14:53:58 +09:00
Dean Herbert
5c7623e68e
Merge pull request #15255 from goodtrailer/node-samples-ilist
...
Change IHasRepeats.NodeSamples to IList from List
2021-10-28 14:24:26 +09:00
Dean Herbert
add39fbd4f
Merge branch 'master' into fix-skin-layout-editor-crash
2021-10-28 06:24:24 +09:00
Dean Herbert
95837990f3
Apply some second-pass inspections that appeared after previous changes
2021-10-27 13:09:30 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
goodtrailer
4440b9ca11
Change IHasRepeats.NodeSamples to IList from List
2021-10-23 01:59:07 -07:00
Dean Herbert
93482414d6
Remove SkinConfiguration
subclasses and allow configuration parsing for all skin types
2021-10-22 14:42:23 +09:00
Dean Herbert
8672b3325a
Fix a couple more weird variable names
2021-10-19 17:22:50 +09:00
Dean Herbert
61670a70b6
Tidy up tracked settings code syntax and fix remaining issue
2021-10-19 17:21:07 +09:00
Dan Balasescu
e49f1f6e6b
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-13 20:17:57 +09:00
smoogipoo
e30e5bd214
Remove int casts in other calculators
2021-10-10 16:23:35 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dan Balasescu
e837a3511d
Merge branch 'master' into beatmap-difficulty-more-interface-usage
2021-10-06 12:18:51 +09:00
Dean Herbert
bd84a8b749
Merge branch 'new-interfaces' into beatmap-difficulty-more-interface-usage
2021-10-05 18:21:21 +09:00
smoogipoo
031c5a441e
Merge branch 'master' into realtime-pp-display
2021-10-04 20:19:37 +09:00
Dean Herbert
ec61c3c5ee
Rename all remaining cases
2021-10-03 00:55:29 +09:00
smoogipoo
5820a71652
Fix mania difficulty calculator crashing
2021-10-01 19:57:45 +09:00
Dean Herbert
a92d499d7a
Convert usages of BeatmapDifficulty
to IBeatmapDifficultyInfo
2021-10-01 16:55:50 +09:00
Dean Herbert
46bafb6252
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-28 13:53:56 +09:00
Dean Herbert
93e33fa94d
Use true
comparison rather than null coalesce fallback
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-09-21 14:08:54 +09:00
Dean Herbert
98f1c1cc29
Avoid allocating list storage in Pattern
until first usage
...
Patterns can often be constructed only to never be used.
2021-09-20 16:02:03 +09:00
Dean Herbert
03291e3897
Avoid LINQ overhead in PatternGenerator.isValid
2021-09-20 15:09:27 +09:00
Dean Herbert
0d58530dbe
Reduce overhead of ColumnHasObject
calls by storing column usage separately
2021-09-20 15:09:27 +09:00
Bartłomiej Dach
8026968939
Move difficulty -> effect point conversion back to decoder
2021-09-18 14:38:38 +02:00
smoogipoo
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
smoogipoo
34bde293ab
Fix tests
2021-09-15 13:26:39 +09:00
smoogipoo
c009e1473d
Add extra safety check
2021-09-14 17:47:12 +09:00
smoogipoo
63aa3ddcba
Add animation support for mania notes
2021-09-14 17:45:23 +09:00
Bartłomiej Dach
922fa96d41
Fix notes not updating snap colour on application
2021-09-12 18:18:55 +02:00
Dean Herbert
1c3c32b724
Add test ensuring converter doesn't modify original beatmap
2021-09-10 00:00:12 +09:00
Dean Herbert
b16e0cda3d
Move control point modification to ConvertBeatmap
method
2021-09-09 23:45:32 +09:00
Dean Herbert
3c7a34bdbd
Move mania-specific conversion to converter
2021-09-06 21:06:13 +09:00
Dean Herbert
0500cd578a
Merge branch 'master' into no-more-difficulty-control-points-info
2021-09-06 21:06:12 +09:00
Dean Herbert
1a26658ba4
Add description for mania special style
2021-09-05 13:40:49 +09:00
Dean Herbert
25420af078
Rename method to drop redundant ruleset suffix
2021-09-05 13:34:23 +09:00
Dean Herbert
d587dc6203
Populate new approach rate where required
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
071c56e90b
Update usages of DifficultyPointAt
2021-09-03 16:58:16 +09:00
Bartłomiej Dach
565f147a5c
Add special style setting for osu!mania
2021-09-02 23:29:14 +02:00
Dean Herbert
b907c2f4f6
Fix osu! judgements getting scaled twice over different durations
2021-09-02 16:31:43 +09:00
Dean Herbert
6aa894e55e
Split out separate component
2021-08-25 16:56:44 +09:00
Dean Herbert
6252b8aa42
Fix hold notes handling all input ever
2021-08-24 19:08:04 +09:00
Xexxar
176b3e7533
changed decay system to allow for customizing the currentStrain
2021-08-16 22:14:29 +00:00
Henry Lin
7251c28c4a
Merge branch 'master' into mod-muted
2021-07-29 21:14:03 +08:00
Henry Lin
e89f33483d
Code formatting fixes
2021-07-28 21:52:01 +08:00
Henry Lin
22d83c75e3
Revert imports re-ordering
...
Out of the scope of this PR
2021-07-28 18:32:38 +08:00
Henry Lin
58bbe9db7e
Added muted mod
2021-07-28 18:21:08 +08:00
Gabe Livengood
49160e4482
review modifications: maniamodmirror inheritance, reflection utilities, vertical flip option
2021-07-26 10:46:41 -04:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
Dan Balasescu
da7e880e46
Merge pull request #13893 from peppy/mouse-settings-localisation
...
Add localisation coverage of `MouseSettings`
2021-07-16 23:25:12 +09:00
smoogipoo
05234d6c30
Fix mania hitobjects not appearing early enough
2021-07-16 19:33:34 +09:00
smoogipoo
3ac58d6838
Fix min/max values not being passed to inner time range
2021-07-16 19:32:31 +09:00
smoogipoo
fa8e5013c5
Adjust mania speed range
2021-07-16 18:22:34 +09:00
Dean Herbert
5b91111eda
Update SettingsSubsection.Header
to accept a LocalisableString
2021-07-15 13:09:51 +09:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
Dean Herbert
1b0aadcc6f
Merge branch 'master' into transformers-per-skin
2021-06-22 16:03:15 +09:00
ekrctb
a4f362dca6
Remove lifetime override of DrawableManiaHitObject
...
The `AlwaysAlive` logic is now in all DHOs and it is now not necessary (and potentially conflicting).
2021-06-17 10:15:24 +09:00
ekrctb
9dcd0bf311
Remove IPlayfieldProvider
by caching Playfield
2021-06-17 10:15:24 +09:00
Dean Herbert
4b45d8318e
Merge branch 'master' into transformers-per-skin
2021-06-16 16:37:28 +09:00
ekrctb
ef96ceb4ab
Introduce IPlayfieldProvider
2021-06-15 14:43:04 +09:00
ekrctb
d0e57f7dd9
Use HitObject
instead of DHO for mania selection blueprint layout
...
- Fix moving selected hold note between columns will cause a crash
2021-06-15 13:20:51 +09:00
Salman Ahmed
fbb856d84b
Call base
when overriding lookup methods
...
Rather than arbitrarily accessing `Skin` here and there.
2021-06-11 12:44:44 +03:00
Dan Balasescu
35d5632355
Merge pull request #13378 from Syriiin/diffcalc/refactor/auto-properties
...
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-10 18:42:11 +09:00
Salman Ahmed
dde84e5cbd
Merge branch 'master' into transformers-per-skin
2021-06-10 11:58:52 +03:00
Dan Balasescu
a44fd887ee
Merge branch 'master' into no-unranked-display
2021-06-10 17:09:46 +09:00
Salman Ahmed
cf40282f1f
Convert LegacySkinTransformer
s to accept raw ISkin
s rather than a full ISkinSource
2021-06-09 22:49:31 +03:00
Dean Herbert
d248bbd4c8
Use candidate skin for mania skin key lookup rather than this
2021-06-09 15:00:55 +09:00
Dean Herbert
85abee5fc7
Remove difficulty calculator exceptions
...
I don't think there's any reason difficulty calculators shouldn't be
able to calculate for autoplays.
2021-06-09 14:33:35 +09:00
Dean Herbert
d0e9f8ef90
Replace and obsolete Ranked
flag with IsUserPlayable
2021-06-09 14:17:03 +09:00
Samuel Cattini-Schultz
f1bef989b7
Refactor DifficultyAttributes to use auto properties over public fields
2021-06-08 19:43:59 +10:00
Dean Herbert
d26c9a66c2
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-06-07 12:01:19 +09:00
Dean Herbert
06275a6a7d
Merge branch 'master' into legacy-skin-default-fallback
2021-06-04 16:00:30 +09:00
Pasi4K5
7a4fc9ffc8
Move seed to base class
2021-06-03 18:16:11 +02:00
Dan Balasescu
15b43beef1
Merge pull request #11857 from Syriiin/diffcalc/refactor/catch-clockrate-effects
...
Refactor catch Movement skill to not require explicit clockrate usage
2021-06-03 17:29:27 +09:00
Samuel Cattini-Schultz
f51413ead9
Refactor to pass clockrate in constructor rather than deriving from mods
2021-06-03 16:09:42 +10:00
Dean Herbert
14570b6fb1
Merge branch 'master' into autoplay-pause-support
2021-06-01 14:19:21 +09:00
Dean Herbert
00b3eea840
Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup
2021-05-31 21:39:04 +09:00
Dean Herbert
33577cbad5
Fix multiple issues with default lookups
2021-05-31 21:29:47 +09:00
Dean Herbert
88ed95e012
Add FindProvider
lookup function
2021-05-31 21:29:47 +09:00
Dean Herbert
de0e51a81d
Merge branch 'master' into fix-skin-sample-lookup
2021-05-31 15:27:39 +09:00
Dean Herbert
17574833fb
Update other transformers with similar refactored logic
2021-05-30 19:15:59 +09:00
Salman Ahmed
fbc316ea1d
Fix legacy skin transformers potentially ignoring source implementations
2021-05-29 21:23:22 +03:00
Dean Herbert
70a844ac10
Remove allowFallback
parameters completely
2021-05-27 14:50:42 +09:00
Dean Herbert
a3c78674a1
Add new interface for autoplay mods
2021-05-25 18:09:24 +09:00
Dean Herbert
cc5c702a92
Apply all properties after cast (looks cleaner)
2021-05-19 17:31:47 +09:00
Dean Herbert
bddc3121dc
Merge branch 'master' into mania-pooling
2021-05-19 17:23:45 +09:00
Dean Herbert
9ede358e7e
Merge branch 'master' into mania-pooling
2021-05-18 22:25:54 +09:00
Dan Balasescu
ef81bdf63f
Merge branch 'master' into always-use-lifetime-entry
2021-05-18 20:10:12 +09:00
Dean Herbert
a96603f025
Merge pull request #12782 from smoogipoo/rework-hitobject-blueprints
...
Rename hitobject blueprints and tie them to HitObjects
2021-05-18 16:30:58 +09:00
smoogipoo
562ac73e96
Merge branch 'hoc-event-queue' into mania-pooling
2021-05-18 14:54:00 +09:00
smoogipoo
72beddaadc
Remove nested blueprints from hold notes
2021-05-18 14:25:07 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
PercyDan54
166974506e
Duplicate implementions
2021-05-15 11:55:50 +08:00
smoogipoo
b5afe4e506
Merge branch 'hoc-event-queue' into mania-pooling
2021-05-13 21:53:38 +09:00
smoogipoo
2307889bf8
Fix incorrect cast
2021-05-13 21:41:28 +09:00
smoogipoo
98e77a30d3
Move column changing logic to ManiaSelectionHandler
2021-05-13 20:13:50 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
smoogipoo
0fa3027ab9
Increase pool sizes a bit
2021-05-12 17:37:59 +09:00
smoogipoo
f992b59b4f
Fix DrawableHoldNote retaining hit states through applications
2021-05-12 17:07:42 +09:00
smoogipoo
1af3bbf400
Fix base.OnLoadComplete() not being called
2021-05-12 17:06:44 +09:00
smoogipoo
7913189aa9
Turn on pooling
2021-05-12 16:56:23 +09:00
smoogipoo
789025a7ce
Update playfield/stage/column implementations for pooling
2021-05-12 16:56:07 +09:00
smoogipoo
4e7551d50e
Fix crashes
2021-05-12 16:40:46 +09:00
smoogipoo
5692cecaa4
Initial implementation of DHO pooling
2021-05-12 16:35:05 +09:00
Dean Herbert
87dfd9672d
Merge pull request #12748 from smoogipoo/fix-mania-sample-crash
...
Fix mania crashing on playing samples after skin change
2021-05-12 14:10:08 +09:00
smoogipoo
05c21fb5b3
Increase mania HP lenience
2021-05-12 13:27:30 +09:00
smoogipoo
672108edcf
Use container instead of array for field
2021-05-12 13:27:12 +09:00
Dean Herbert
3428056113
Remove unnecessary usage of ChildrenEnumerable
for array assignment
2021-05-12 13:00:02 +09:00
Dean Herbert
bf44c09a91
Add name identifying container and rename index variable
2021-05-12 12:59:46 +09:00
Bartłomiej Dach
d706073e01
Trim empty remarks xmldoc tag
2021-05-11 23:08:50 +02:00
smoogipoo
713c169332
Fix mania crashing on playing samples after skin change
2021-05-11 16:21:21 +09:00
ekrctb
207f7f1e56
Rename FramedAutoGenerator<T> -> AutoGenerator<T>
2021-05-07 00:31:12 +09:00
ekrctb
cf39178099
Use FramedAutoGenerator in Taiko, Catch, Mania
...
OsuAutoGenerator is not included in this change because it uses SortedList-like thing
2021-05-06 22:57:07 +09:00
ekrctb
4a93e27e83
Revert "Fix mania editor null reference"
...
This reverts commit 1d023dce
2021-05-04 16:46:30 +09:00
Dean Herbert
a551958eeb
Move caching of IBeatmap
to base DrawableRuleset
2021-05-01 21:32:45 +09:00
Dean Herbert
db815f7930
Tidy up implementation in DrawableNote
2021-05-01 20:39:10 +09:00
Justus Franklin Tumacder
fdf8c12947
Replace BeatDivisorFinder with GetClosestBeatDivisor
2021-05-01 11:57:47 +08:00
Justus Franklin Tumacder
ecb053b0de
Merge branch 'master' of https://github.com/ppy/osu into justusft/mania-color-snap
2021-05-01 11:20:28 +08:00
Dan Balasescu
e6eea73b8b
Merge branch 'master' into basic-compose-checks
2021-04-30 23:41:46 +09:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
ekrctb
1d023dcedb
Fix mania editor null reference
2021-04-29 14:39:52 +09:00
ekrctb
d262956146
Always use LifetimeEntry to manage hit objects in HitObjectContainer
...
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.
- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +09:00
Justus Franklin Tumacder
c4d28110d6
Add visual tests for timing based note coloring
2021-04-27 19:02:57 +08:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Naxess
a3570e18dd
Add concurrent objects check
...
Here we use `IHasColumn` to support rulesets with columns, and so I moved that interface out into `osu.Game` from `osu.Game.Rulesets.Mania`.
We also use the same threshold as the unsnap check to ensure that no problems slip through. Specifically where an object is simultaneously not concurrent and not unsnapped but still on the same tick.
2021-04-26 20:17:18 +02:00
Justus Franklin Tumacder
559d403abe
Rename ColourCodedNotes to TimingBasedNoteColouring
2021-04-26 19:05:12 +08:00
Justus Franklin Tumacder
58ebec4803
Move BindValueChanged hooks to LoadComplete()
2021-04-26 19:00:40 +08:00
Dean Herbert
e8d83f2f99
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 14:33:30 +09:00
Bartłomiej Dach
e14255f395
Rename {Snap -> BeatDivisor}Finder
2021-04-25 17:44:26 +02:00
Bartłomiej Dach
afb67726f0
Reduce casting
2021-04-25 17:41:23 +02:00
Bartłomiej Dach
f9e228d6bf
Use null-permitting BDL to reduce number of fields
2021-04-25 17:40:23 +02:00
Justus Franklin Tumacder
211bff6a8f
Fix cake errors
2021-04-25 09:21:25 +08:00
Justus Franklin Tumacder
8b9d2a6cff
Remove caching for ConfigColourCodedNotes
2021-04-25 08:32:49 +08:00
Justus Franklin Tumacder
d3db19c3ce
Simplify DrawableNote
2021-04-25 08:11:44 +08:00
Justus Franklin Tumacder
e0ca44c908
Move SnapFinder from mania ruleset to osu.Game
2021-04-25 07:35:53 +08:00
Justus Franklin Tumacder
eaac4fe6c7
Simplify FindSnap method
2021-04-25 06:38:15 +08:00
Justus Franklin Tumacder
bedabc1ddf
Fix cake errors
2021-04-24 22:12:07 +08:00
Justus Franklin Tumacder
8b01082cbb
Fix visual tests missing dependency for ColourCodedNotes
2021-04-24 21:28:48 +08:00
Justus Franklin Tumacder
3103fd8343
Move snapping logic into SnapFinder
2021-04-24 21:28:35 +08:00
Justus Franklin Tumacder
91bf0d422d
Rename ColourCode to ColourCodedNotes
2021-04-24 20:40:30 +08:00
Justus Franklin Tumacder
a8b401522b
Remove ManiaColourCode in favor for boolean
2021-04-24 20:39:22 +08:00
Justus Franklin Tumacder
d6d81fb8e5
Move color snap logic from Note to DrawableNote
2021-04-24 19:53:21 +08:00
Justus Franklin Tumacder
f9905ebe68
Remove beatmap argument in Note
2021-04-24 19:37:10 +08:00
Justus Franklin Tumacder
7e3a611f95
Add snap color option for osu!mania
2021-04-24 16:23:52 +08:00
Dean Herbert
a242df31e8
Merge pull request #12534 from smoogipoo/fix-hold-note-crash
...
Fix hold notes with 0 length crashing the game
2021-04-22 21:14:36 +09:00
Dan Balasescu
739d83da2a
Merge pull request #12515 from frenzibyte/legacy-scores-classic-mod
...
Apply "classic" mod to all legacy scores
2021-04-22 19:52:09 +09:00
smoogipoo
4148d473e3
Fix hold note crashing with 0 length
2021-04-22 19:51:33 +09:00
Dean Herbert
b37c5a8749
Rollback hold note placement when length is zero
2021-04-22 14:59:57 +09:00
Salman Ahmed
e3398d8f1f
Implement "classic" mod for all other legacy rulesets
...
Currently empty, automatically handled in game to not be selectable (see `Mod.HasImplementation`)
2021-04-21 09:14:33 +03:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
...
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
ekrctb
a965e8a75d
Remove AutoGenerator workaround of now-fixed issue
2021-04-16 14:13:41 +09:00
Dean Herbert
119c9b4294
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 14:11:33 +09:00
Dean Herbert
55421b0065
Add missing full stop
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-04-15 14:41:10 +09:00
Dean Herbert
346e36d32a
Make Mod.Description
abstract and add missing descriptions
2021-04-15 14:36:26 +09:00
Dean Herbert
b5954a55ad
Remove empty <returns> xmldoc
2021-04-12 17:46:14 +09:00
Dan Balasescu
9d8a26f373
Merge branch 'master' into diffcalc/refactor-strain-skill
2021-04-06 08:21:38 +09:00
Dean Herbert
6bcbef9f25
Merge pull request #12294 from smoogipoo/mania-scoring-adjustments
...
Adjust scoring values to better fit osu!mania expectations
2021-04-05 17:19:28 +09:00
smoogipoo
3acc612a67
Adjust scoring values to better fit osu!mania
2021-04-05 13:28:46 +09:00
Samuel Cattini-Schultz
85d2b1232a
Refactor to abstract out strain logic into StrainSkill class
...
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11:00
Samuel Cattini-Schultz
5b2dcea8a8
Refactor to encapsulate strain logic into Skill class
...
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
Dan Balasescu
345779b19a
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay
2021-04-02 20:58:29 +09:00
smoogipoo
43e48406ca
Miss all ticks when hold note is hit
2021-03-31 12:21:14 +09:00
Dean Herbert
56428a027e
Change static method to public
2021-03-30 16:56:20 +09:00
Dean Herbert
e769ef45be
Fix misplaced parenthesis
2021-03-30 16:55:39 +09:00
Dean Herbert
1d968009c2
Add osu!mania key filtering using "keys=4" at song select
2021-03-30 16:09:35 +09:00
Dean Herbert
690debe507
Merge pull request #12030 from LeNitrous/editor-platform-clipboard-copy
2021-03-29 19:31:16 +09:00
Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Nathan Alo
2bea69456e
remove implementations
2021-03-26 15:24:33 +08:00
smoogipoo
8438fce764
Merge branch 'master' into diffcalc/fix/clockrate-adjusted-decay
2021-03-26 11:47:38 +09:00
Dan Balasescu
5f2c6b8d59
Merge pull request #12145 from bdach/mania-auto-hold-note-release
...
Remove release delay for hold notes when generating autoplay
2021-03-23 14:24:56 +09:00
Bartłomiej Dach
29d4162e4e
Remove release delay for hold notes when generating autoplay
...
It was more intended for normal notes anyway (as they would be released
pretty much instantaneously, if it weren't for the delay).
2021-03-22 22:45:21 +01:00
Dean Herbert
5b1d9f4cf0
Fix constant case
2021-03-22 16:19:29 +09:00
Dean Herbert
690fb9224a
Combine constants for readability
2021-03-22 16:18:31 +09:00
smoogipoo
db64fac824
Delay key fade in legacy mania skins
2021-03-22 15:26:22 +09:00
Bartłomiej Dach
9a330c4c56
Fix mania hold note heads hiding when frozen
...
This was an insidious regression from a3dc1d5
. Prior to that commit,
`DrawableHoldNoteHead` had `UpdateStateTransforms()` overridden, to set
the hold note head's lifetime. When that method was split into
`UpdateInitialStateTransforms()` and `UpdateHitStateTransforms()`, the
lifetime set was moved to the former.
Unfortunately, that override served two purposes: both to set the
lifetime, and to suppress hit animations which would normally be added
by the base `DrawableManiaHitObject`. That fact being missed led to
`UpdateHitStateTransforms()` hiding the hold note head immediately on
hit and with a slight delay on miss.
To resolve, explicitly override `UpdateHitStateTransforms()` and
suppress the base call, with an explanatory comment.
2021-03-21 18:46:41 +01:00
Bartłomiej Dach
aec859b4d1
Merge branch 'master' into fix-unsafe-skinnable-sample-play
2021-03-18 19:51:46 +01:00
Nathan Alo
51e0304c54
properly format strings per ruleset
2021-03-17 18:31:09 +08:00
smoogipoo
7fa5fd5647
Update usages of config with framework changes
2021-03-17 16:10:16 +09:00
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods
2021-03-04 13:06:26 +09:00
Dean Herbert
cd1c1bf534
Centralise cases of performing actions on the current selection
...
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901 , but not fix it completely.
2021-02-26 14:15:13 +09:00
smoogipoo
cf4c88c647
Fix spacing
2021-02-25 21:38:21 +09:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
smoogipoo
6b6811063b
Make ExpandDirection abstract
2021-02-24 15:05:12 +09:00
smoogipoo
dd702ccfd2
Make mania FI/HD incompatible with each other
2021-02-24 14:34:37 +09:00
Samuel Cattini-Schultz
66643a97b0
Add a list of mods to Skill class
...
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
Samuel Cattini-Schultz
442347df8e
Fix clockrate adjusted difficulty calculations bug in strain decay
...
When starting a new section, the starting strain value was calculated using the unadjusted timing value, meaning decay curves were essentially being stretched or squashed according to the clockrate.
This caused incorrect strain peaks for any section where the peak occurs at the start of the section (none of the objects in the section added enough strain after decay to exceed the starting strain).
This bug caused star ratings with clockrates above 1 to be lower than they should and below 1 to be higher than they should.
2021-02-20 20:23:49 +11:00
Dean Herbert
00574a5288
Use ISample everywhere in Skin GetSample lookup path
2021-02-18 18:32:28 +09:00
smoogipoo
d3f0c0730d
Merge branch 'master' into non-concurrent-sample-playback
2021-02-12 17:22:15 +09:00
Bartłomiej Dach
68c20a2a37
Allow autoplay score generation to access mod list
2021-02-07 18:35:34 +01:00
Dean Herbert
f86f323625
Add a basic guard against setting ScrollMethod too late in initialisation
2021-02-04 22:28:17 +09:00
smoogipoo
8295fb9081
Implement mania constant speed mod
2021-02-03 16:28:22 +09:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
smoogipoo
1b166d809e
Adjust package titles
2021-01-18 11:08:03 +09:00
smoogipoo
ec00aaef90
Add nuget deploys for all rulesets
2021-01-18 10:53:31 +09:00
Dean Herbert
bf39aa5980
Fix incorrectly converted rotation values
2020-12-22 12:18:42 +09:00
Dean Herbert
e1b2de27a6
Update osu!mania legacy skin's judgement animation to match stable
2020-12-21 17:23:23 +09:00
Dean Herbert
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
smoogipoo
a835ca9612
Fix anchors/origins for legacy pieces
2020-12-14 14:20:43 +09:00
smoogipoo
1794bfeddb
Move offset into legacy mania judgement
2020-12-14 13:07:55 +09:00
smoogipoo
ca11eeefdf
Merge branch 'master' into mania-legacyskin-scoreposition
2020-12-14 11:25:34 +09:00
Firmatorenio
cf7303e072
dotnet format
2020-12-13 22:54:01 +06:00
Firmatorenio
3741c2339a
simplify implementation and adjust the default values
2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319
apply ScorePosition to the judgement container
2020-12-13 22:01:08 +06:00
Firmatorenio
f14e49c72e
fetch ScorePosition from the skin
2020-12-13 21:59:04 +06:00
Firmatorenio
60379b09db
added a container for the judgements to move up or down
2020-12-13 18:14:41 +06:00
ekrctb
e3c035fe9c
Adjust namespace
2020-12-07 12:32:52 +09:00
ekrctb
40da799103
Move piece files of Mania ruleset
2020-12-07 12:31:56 +09:00
Bartłomiej Dach
5fbe1823a0
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:39:22 +01:00
Dean Herbert
7f34e11467
Merge pull request #10962 from smoogipoo/improve-dho-time-offsets
...
Fix judgement offsets in non-framestable contexts
2020-11-30 19:13:25 +09:00
Dean Herbert
c17d67bc7d
Merge branch 'master' into editor-beat-snap-always
2020-11-30 18:34:38 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
ekrctb
f3f5ec7665
Fix Column
not calling base.Add
2020-11-26 18:08:40 +09:00
smoogipoo
0414e5c550
Add MaximumJudgementOffset to DrawableHitObject, use in more places
2020-11-26 01:12:42 +09:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez
2020-11-22 13:29:02 +01:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms
2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic
2020-11-18 19:20:11 +01:00
Dean Herbert
20bb64c627
Fix mania misses not correctly animating (temporary solution)
2020-11-18 19:34:00 +09:00
Dean Herbert
94886a09b2
Remove fades from DrawableJudgement itself
2020-11-18 19:03:34 +09:00
Dean Herbert
49b8331ccd
Merge pull request #10877 from smoogipoo/fix-mania-judgement-displays
...
Fix hold note judgements displaying incorrectly
2020-11-18 19:00:14 +09:00
Dean Herbert
8247e6ce91
Move result type to ctor
2020-11-17 15:43:54 +09:00
Dean Herbert
f465dd5a5e
Move all extended animation logic out of DrawableJudgement
2020-11-17 14:59:34 +09:00
Dan Balasescu
cb3280af7c
Merge branch 'master' into hold-note-fade
2020-11-17 13:49:28 +09:00
smoogipoo
77942af3a6
Fix hold note judgements displaying incorrectly
2020-11-17 13:37:58 +09:00
Bartłomiej Dach
21f29e28e2
Add clarification comment
2020-11-16 20:36:56 +01:00
Bartłomiej Dach
e88920442c
Use HitStateUpdateTime instead
2020-11-16 20:01:10 +01:00
Bartłomiej Dach
8da40ce2dc
Reduce duplication by extracting ModEasyWithExtraLives
2020-11-16 19:54:00 +01:00