Joseph Madamba
764f641bc9
Add extended info support to tiny mod switches
2023-10-11 12:47:12 -07:00
Bartłomiej Dach
063623b4e6
Merge branch 'master' into remove-hold-note-ticks
2023-10-11 19:47:51 +02:00
Dan Balasescu
a1a46e58fc
Move validation to DHO.ApplyResult()
2023-10-10 21:42:37 +09:00
Dan Balasescu
18d20cad8b
Adjust xmldoc for readability
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-10-10 17:04:21 +09:00
Dan Balasescu
04ce223e66
Remove pairings that shouldn't be valid
2023-10-10 10:03:37 +09:00
Dan Balasescu
594bcc2ab5
Apply suggestion to condense method
2023-10-10 09:56:26 +09:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2
2023-10-09 10:53:14 +02:00
Dan Balasescu
326702165f
Update HitResult helpers with new judgement
2023-10-09 11:50:17 +09:00
Dan Balasescu
65ac617be4
Actually validate judgements
2023-10-09 10:45:29 +09:00
Dan Balasescu
9415fe4446
Add mania hold note body + combo break judgement
2023-10-09 09:47:00 +09:00
Dean Herbert
cfb18e18c0
Add better commenting around legacy last tick edge case
2023-10-04 13:45:26 +09:00
Dan Balasescu
da2a4681d9
Add method to retrieve legacy score multiplier
2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e
Add LegacyBeatmapConversionDifficultyInfo abstraction
2023-10-02 16:52:01 +09:00
Dean Herbert
62bcb62842
Document remaining pieces of LastTick
and add back legacy prefix for generation flow
2023-09-29 16:58:17 +09:00
Dean Herbert
81485c548c
Move LegacyLastTickOffset
specification to generation code and stop passing everywhere
2023-09-29 14:32:29 +09:00
Bartłomiej Dach
8215c4cb0e
Merge branch 'master' into mods-stable-ordering
2023-09-28 18:30:56 +02:00
Dean Herbert
f340bb99e8
Nudge text right 1 pixel
2023-09-28 22:23:45 +09:00
Dean Herbert
e4fd3b65f4
Avoid recreating ModSettingChangeTracker
unless required
2023-09-28 22:18:28 +09:00
Dean Herbert
b1f6803371
Remove unused commented code
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:11:03 +09:00
Dean Herbert
e0e222c1fa
Include mention of what to do when not using field in xmldoc
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:10:30 +09:00
Dean Herbert
d4cf6e100f
Update other usages of OsuIcon.ModBg
and remove
2023-09-28 19:03:34 +09:00
Dean Herbert
2ff376daa4
Adjust to include shadow, and use new main background sprite which includes shadow
2023-09-28 19:03:34 +09:00
Dean Herbert
b8953e8ce1
Code quality pass
2023-09-28 19:03:34 +09:00
Dean Herbert
2800920ed9
Adjust font size slightly for better display when small
2023-09-28 19:03:34 +09:00
Dean Herbert
7d74d84e6c
Display mod icons using stable ordering
...
In discussion with nanaya, we likely want this now that we're adding the
ability for some icons to be extended. Historically mod icons have been
displayed in a stable but arbitrary order (based on their position in
the `Mods` enum).
This change aims to make them stable across lazer scores (where they are
stored based on .. the order the user selected them).
2023-09-28 16:48:09 +09:00
Dean Herbert
1246f15186
Don't show extended information where it duplicates already visible information
2023-09-27 19:29:03 +09:00
Dean Herbert
6e602929a4
Add support for tracking settings changes
2023-09-27 19:29:03 +09:00
Dean Herbert
192eb541c0
Adjust sizing to work better with expansion (no more centre anchoring)
2023-09-27 19:29:03 +09:00
Dean Herbert
16e752e07d
Add basic structure and test coverage for extended info on mod icon
2023-09-27 19:29:03 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs
2023-09-26 15:52:27 +09:00
Salman Ahmed
9e4a56d64e
Merge branch 'master' into update-framework
2023-09-21 19:49:20 +03:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv
2023-09-21 09:13:27 +02:00
Dean Herbert
bf984388b3
Update clocks in line with framework changes
2023-09-20 21:17:08 +09:00
Bartłomiej Dach
28da5baea4
Merge branch 'master' into fix-slider-length
2023-09-20 11:10:01 +02:00
Dean Herbert
41a8239e49
Remvoe null default for mods which can't be null
2023-09-20 15:27:50 +09:00
Dean Herbert
c6cc858967
Change implementation of "show speed changes" to require explicit ruleset support
2023-09-20 15:27:30 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv
2023-09-20 14:23:07 +09:00
Dean Herbert
12611a09f1
Merge branch 'master' into editor/checks/delayed-hitsounds
2023-09-20 14:18:41 +09:00
Dean Herbert
aea7f81f1c
Merge pull request #24800 from sw1tchbl4d3r/invalid_bank
...
Default to normal bank if invalid sample bank is specified
2023-09-19 22:28:34 +09:00
Bartłomiej Dach
c4a0ca326e
Replace sample bank fix with more correct fix
...
stable does not treat unknown enum members as `None` / `Auto`, it treats
them as `Normal`:
switch (sampleSet)
{
case SampleSet.Normal:
default:
sample = 0;
break;
case SampleSet.None:
case SampleSet.Soft:
sample = 1;
break;
case SampleSet.Drum:
sample = 2;
break;
}
(from 1531237b63/osu
!/Audio/AudioEngine.cs#L1158-L1171).
2023-09-19 13:53:49 +02:00
Magnus-Cosmos
73db68a49a
Check if path lists are empty
2023-09-19 02:28:28 -04:00
Magnus-Cosmos
a9b45c6fdc
Fix slider path calculations for edge cases
2023-09-19 01:31:26 -04:00
Magnus-Cosmos
83584519e6
Fix extension check using control points instead of path points
2023-09-18 11:40:00 -04:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point
2023-09-15 11:14:28 +02:00
Dean Herbert
56cc2b62f0
Make not extension method
2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff
Move to extension method and throw on non-legacy ruleset
2023-09-15 17:38:34 +09:00
sw1tchbl4d3
5b2af7f264
Default to none bank if invalid samplebank is specified
2023-09-13 12:44:00 +02:00
Dean Herbert
d146da9546
Fix rate adjust mods not showing "x" prefix on customisation slider's tooltip
2023-09-13 16:43:48 +09:00
Givikap120
1a70110a4e
Added BeatmapAttributesDisplay support
2023-09-12 16:44:44 +03:00
Givikap120
c61212c523
Merge pull request #1 from Givikap120/master
...
add display to calibrate
2023-09-12 13:02:19 +03:00
Dean Herbert
4ecc4632aa
Make rounding error even less precise
...
Basically matching the old code more closely to avoid too much precision
from doing math in a slightly different way.
2023-09-12 18:41:09 +09:00
Dean Herbert
04ab44bb7a
Reword xmldoc to read better
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-12 15:28:55 +09:00
Dan Balasescu
2334be1987
Split legacy scoring attributes into a separate object
2023-09-07 21:10:38 +09:00
Dean Herbert
b34a36f6ce
Remove all usage of LegacyDifficultyControlPoint
2023-09-07 17:41:57 +09:00
Bartłomiej Dach
9c6f77b26e
Fix too many things being exposed
2023-09-07 08:11:04 +02:00
Dean Herbert
e05d7d5f8d
Inline local control
2023-09-07 14:22:06 +09:00
Dean Herbert
d2a6235135
Fix code quality issues
2023-09-07 14:19:19 +09:00
isakvik
2ab11ab568
adds new diffsetting control that shows millisecond values for approach rate override
2023-09-07 01:41:22 +02:00
isakvik
3db0d0d341
extendable minimum AR value for osu!std diff adjust mod, set to -10
2023-09-06 23:26:34 +02:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
tsrk
a4e146ad9b
style: remove usage of HIT_FLOURISH
...
Unaware clueless usage
2023-09-01 21:02:43 +02:00
tsrk
2e2dcd99a6
fix(AudioCheckUtils): use Path.GetExtension()
...
To avoid filename escaping
2023-09-01 20:56:54 +02:00
tsrk
5f00d3e2a4
style: convert to using
declaration for less nesting
2023-09-01 20:54:02 +02:00
Dean Herbert
37c2b330a2
Move toggle implementation to work on all scrolling rulesets automatically
2023-09-01 19:53:10 +09:00
Dean Herbert
6ce251fbb5
Expose base VisualisationMethod
so we don't need to new
it locally per ruleset
2023-09-01 19:17:53 +09:00
Dean Herbert
0f5eff1230
Merge branch 'master' into mania-edit-disable-sv
2023-09-01 19:08:48 +09:00
Dean Herbert
cbd4b91feb
Merge pull request #24678 from Nabile-Rahmani/bot-scores
...
Fix and use score user's IsBot property in results screen animation
2023-08-30 14:00:35 +09:00
Nabile Rahmani
270e2a6600
Update osu.Game/Rulesets/Mods/ModExtensions.cs
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-29 23:59:08 +02:00
Nabile Rahmani
b658b0e346
Fix and use score user's IsBot property in results screen animation
...
While a mod-created replay did flag itself as performed by a bot, the extension method converting it into a Score did not copy all the generated properties.
As noted, it might be preferable for ModCreatedUser to inherit APIUser and forward it as-is to the Score instance.
Related to PR #24675
2023-08-29 23:28:50 +02:00
tsrk
5ecd5142d8
fix(AudioCheckUtils): add license header
2023-08-29 23:27:15 +02:00
tsrk
b3d432b0d5
fix: issue template typo in CheckDelayedHitsounds
2023-08-29 20:15:33 +02:00
tsrk
c1a7ad09b4
style: move common audio utils to separate static class
2023-08-29 20:10:35 +02:00
tsrk
a7a64b57e9
fix: use using
statement for waveform auto-disposal
2023-08-29 19:46:19 +02:00
tsrk
a04333c17b
style: use HitSampleInfo.All
properties
2023-08-29 19:42:37 +02:00
Bartłomiej Dach
d07530b241
Mark "Score V2" mod as not user-playable
...
The mod generally will only be present on scores imported from stable.
As such, it's probably ok to mark it as such.
The primary reason for this change is to address #24436 (Score V2 being
visible on beatmap overlay leaderboard mod selector).
There is one possibly-unintended consequence of this change, namely that
the results screen uses `UserPlayable` to determine as to whether
animations should be played back, with the intention of turning off the
animation playback for autoplay scores specifically. Therefore, turning
off this flag will mean that the results screen animations will not play
out for Score V2 scores - but I tend to consider this as either largely
unimportant, or something that should be fixed in some other way
(possibly by checking against the autoplay mod directly).
Other usages of `UserPlayable` are either innocuous, or straight-up good
safeties going forward in the context of Score V2 (guards against
selection in mod select overlays, against score submission with
the mod).
2023-08-29 11:52:11 +02:00
Givikap120
290f8db341
fixed stated problems
...
removed functions from `Ruleset.cs` and added a `GetEffectiveDifficulty()` instead
2023-08-26 02:13:14 +03:00
tsrk
29a46f5b36
style(editor/checks): add issues for delays with no silence
2023-08-25 11:46:09 +02:00
tsrk
4c32e9a479
style: use more rigorous hitsound filtering
2023-08-25 00:37:45 +02:00
Givikap120
17b9b1649a
Fixed "works only for std" problem
...
1) Now it use AR/OD calculation from Ruleset class
2) Implemented needed functions in each of default rulesets
2023-08-25 00:58:26 +03:00
tsrk
50dbf564a5
revert: use old wording
...
This makes more sense wrt to the complete silence thing.
Refs: f7599c5b
2023-08-24 23:52:41 +02:00
tsrk
f7599c5bc4
style: reword
2023-08-24 23:41:56 +02:00
tsrk
273593a0ee
style: typo
2023-08-24 23:25:42 +02:00
tsrk
208e94e9be
style(editor/checks): add type nullability for Stream
2023-08-24 21:33:54 +02:00
tsrk
df55a2f683
style(editor/checks): fix inconsistent argument names
2023-08-24 21:31:28 +02:00
tsrk
12bff9659b
Merge branch 'master' into editor/checks/delayed-hitsounds
2023-08-24 21:05:59 +02:00
tsrk
a885bf6ebf
feat(editor/checks): check for delayed hitsounds
...
I really just borrowed the implementation from MapsetVerifier
2023-08-24 21:05:40 +02:00
Givikap120
49598774e0
Added a "Adjust pitch" switch
...
Adjust pitch switch in DoubleTime and HalfTime mods
Also Nightcore and Daycore is now inherit from RateAdjust
2023-08-24 15:00:32 +03:00
Dean Herbert
5ddb10281b
Move combo exponent to shared constant
2023-08-24 14:55:44 +09:00
Dean Herbert
72d2715222
Show mod settings as "on" or "off" rather than "True" or "False"
2023-08-23 20:21:43 +09:00
Dean Herbert
91c2cadb47
Add missing colon in mod settings tooltip
2023-08-23 19:13:32 +09:00
Bartłomiej Dach
8cd9f0822a
Merge branch 'master' into judge-fix
2023-08-22 09:44:58 +02:00
Bartłomiej Dach
5be5335784
Reword comment to be better
2023-08-22 09:37:54 +02:00
Dean Herbert
4e9e084b2c
Merge branch 'master' into scorev3
2023-08-22 15:52:22 +09:00
OliBomby
e283aa2843
Update inline comments
2023-08-21 13:09:31 +02:00
OliBomby
5bc11ed358
Revert "Ensure invariant of monotone time"
...
This reverts commit 5d1ccc2601
.
2023-08-21 13:02:23 +02:00
OliBomby
c7b1c75379
Revert "Fix typo"
...
This reverts commit 90f2acaf0a
.
2023-08-21 13:00:01 +02:00
Bartłomiej Dach
1d657a8844
Merge branch 'master' into fix-slider-reversing
2023-08-21 09:29:46 +02:00
Bartłomiej Dach
dd1ac461db
Reformat xmldoc
2023-08-21 08:29:51 +02:00
OliBomby
56b1062c2f
expand xmldoc
2023-08-19 19:39:29 +02:00
Bartłomiej Dach
0a55830c16
Add braces for clarification
...
I like no-braces for single-line ifs as much as anyone, but with inline
comments involved it gets rather dicey.
2023-08-19 14:34:20 +02:00
Pasi4K5
44a85139e4
Update Reverse()
based on the changes in #24581
2023-08-19 02:40:18 +02:00
Pasi4K5
47d787b359
Merge remote-tracking branch 'OliBomby/fix-segment-ends' into fix-slider-reversing
2023-08-19 02:38:34 +02:00
Pasi4K5
0e691d5935
Revert changes in SliderPath
2023-08-19 00:16:05 +02:00
OliBomby
ff07fbae15
fix GetSegmentEnds
2023-08-18 12:20:40 +02:00
Dan Balasescu
a2fd7707a1
Allow toggling SVs in the editor
2023-08-18 18:55:24 +09:00
Pasi4K5
3481c41a22
Fix segmentEnds
being calculated incorrectly
2023-08-18 04:34:10 +02:00
OliBomby
cc4e11a5ac
Ensure populated node samples so new objects have unique node sample lists
2023-08-16 20:48:52 +02:00
Pasi4K5
58bffa13cd
Fix possible IndexOutOfRangeException
2023-08-16 01:19:41 +02:00
Pasi4K5
e7e0c49f42
Replace .Distinct()
with truncateEndingDuplicates()
2023-08-16 01:14:25 +02:00
Pasi4K5
6346872c39
Improve code readability and add assertion to test scene
2023-08-15 23:27:12 +02:00
Pasi4K5
449bee98cc
Code cleanup
2023-08-14 21:56:08 +02:00
Pasi4K5
19c8b74a47
Remove unnecessary circle arc approximation
2023-08-14 21:09:58 +02:00
Dan Balasescu
90d7e46e20
Fix incorrect truncation to int
2023-08-15 00:58:13 +09:00
Pasi4K5
55ac942e7a
Fix IndexOutOfRangeException
when trying to reverse a zero-length slider
2023-08-14 14:09:08 +02:00
Pasi4K5
f42b3603b3
Fix linear sliders sometimes being reversed incorrectly
...
Extract control point reversing to separate method
2023-08-14 14:08:02 +02:00
Dan Balasescu
d1a4a46fd3
Temporarily allow new difficulty attributes to not exist
2023-08-14 16:59:01 +09:00
Pasi4K5
8912a0e91e
Fix sliders being reversed incorrectly in the editor.
2023-08-12 20:30:48 +02:00
OliBomby
90f2acaf0a
Fix typo
2023-08-11 23:50:00 +02:00
OliBomby
5d1ccc2601
Ensure invariant of monotone time
2023-08-11 23:39:28 +02:00
OliBomby
d2f5e696e7
Fix DrawableHitObject state not synchronizing with hitobject edits
2023-08-11 22:34:04 +02:00
Dean Herbert
f06b203067
Merge branch 'master' into edit-nodesample
2023-07-31 14:06:38 +09:00
Bartłomiej Dach
4db203ecc3
Merge branch 'master' into playfield-skin-layer
2023-07-29 00:01:06 +02:00
Bartłomiej Dach
caad931a16
Move comment to more fitting place
2023-07-28 22:10:10 +02:00
Bartłomiej Dach
6d018c08af
Rename Apply{Vertical -> Horizontal}Centering
to match common understanding
2023-07-28 22:09:28 +02:00
Dean Herbert
c9155f85ab
Fix playfield not taking up full width correclty when not vertically centered
2023-07-28 16:40:14 +09:00
Dean Herbert
06fe5583cb
Expose a new SSDQ from playfield for skinnable area bounds
2023-07-28 15:47:57 +09:00
Dean Herbert
deba6e2508
Fix osu!taiko editor playfield missing a piece
...
Regressed with recent centering changes in https://github.com/ppy/osu/pull/24220
2023-07-27 02:24:10 +09:00
Bartłomiej Dach
57ccf82f34
Merge branch 'master' into song-select-drain-length
2023-07-25 22:40:45 +02:00
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains
2023-07-25 21:58:13 +02:00
Dean Herbert
eac6271bd0
Add new property to avoid overlapping usages
2023-07-25 18:14:03 +09:00
Dean Herbert
9cfe9164fa
Add helper method to get drain length (and rename some usages)
2023-07-25 16:58:41 +09:00
Dean Herbert
4bf300d64d
Merge pull request #24186 from OliBomby/legacy-export
...
Add ability to export beatmaps from editor in a stable-compatible format
2023-07-23 15:25:06 +09:00
Bartłomiej Dach
d7b674bf2b
Merge branch 'master' into verify-breaks
2023-07-22 17:42:55 +02:00
Bartłomiej Dach
699b66be42
Do not reimplement binary sort manually
2023-07-22 17:12:21 +02:00
Bartłomiej Dach
d1c69283b2
Merge branch 'master' into editor-key-count
2023-07-22 16:11:21 +02:00
Dean Herbert
fd2bdc10c7
Fix "key count" setting showing as "circle size" in osu!mania editor
...
Closes https://github.com/ppy/osu/issues/12904 .
2023-07-21 18:52:29 +09:00
Dean Herbert
b58354ac64
Fix playfield getting cut off (again) at tall aspect ratios
2023-07-21 15:20:20 +09:00
Dean Herbert
f489dbd7a9
Reduce width of right toolbar ever so slightly (and use more shared constants)
2023-07-21 14:39:15 +09:00
NiceAesth
fa29c25097
Change check to use binary search
2023-07-20 00:32:35 +03:00
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains
2023-07-19 21:26:41 +02:00
OliBomby
5d82190b70
Merge remote-tracking branch 'upstream/master' into legacy-export
2023-07-18 12:18:49 +02:00
NiceAesth
ff529d9df7
Rename variables, fix check message formatting
2023-07-17 20:48:53 +03:00
NiceAesth
3888471148
Add break length and bounds checks
2023-07-16 23:03:21 +03:00
Zyf
b672b49e02
Scoring : Implement v1 to v3 conversion.
2023-07-15 23:20:49 +02:00
Zyf
175bd3b578
Scoring : Move some of the accuracy weight to ComboScore (edited)
2023-07-15 15:21:56 +02:00
Bartłomiej Dach
ff56e35093
Merge pull request #24197 from peppy/allow-autoplay-failure
...
Allow autoplay to fail
2023-07-13 23:44:07 +02:00
Bartłomiej Dach
674eb1a36b
Remove unused property
2023-07-13 21:25:43 +02:00
Bartłomiej Dach
a1e83b20e6
Make autoplay compatible with ModFailCondition
2023-07-13 21:23:57 +02:00
Dean Herbert
20e4e2581a
Change IBeatSyncProvider.Clock
to always be non-null
2023-07-13 22:13:40 +09:00
Dean Herbert
6edaf4f230
Ensure PerformanceBreakdown
pieces cannot be null
2023-07-13 18:38:16 +09:00
Dean Herbert
2f40989a4f
Allow no fail mod during autoplay
2023-07-13 17:25:08 +09:00
Dan Balasescu
47a65f8890
Merge branch 'master' into fix-imperfect-simulation
2023-07-13 15:41:54 +09:00
Dean Herbert
fbf14a0f7c
Allow autoplay to fail
...
Feels more correct.
2023-07-13 13:41:35 +09:00
Dean Herbert
b20190ed4f
Merge branch 'master' into fix-blueprint-end-placement
2023-07-12 17:38:47 +09:00
Dean Herbert
8e1e8a2807
Merge pull request #24169 from bdach/legacy-score-v2
...
Backpopulate stable ScoreV2 scores with ScoreV2 system mod (and don't recalculate their total score)
2023-07-12 12:44:04 +09:00
Zyf
3c76cb2fb0
Scoring : Use square-root of combo
2023-07-12 00:32:42 +02:00
NiceAesth
1dae1d8f0a
Account for break time
2023-07-11 13:40:19 +03:00
Dean Herbert
a0e6748882
Fix slider blueprint placement when ending placement outside the playfield
...
As mentioned in https://github.com/ppy/osu/discussions/24161
2023-07-11 17:29:53 +09:00
OliBomby
06e5ef88c0
legacy export broken
2023-07-11 02:30:16 +02:00
NiceAesth
9a2915f423
Add beatmap minimum length checks
2023-07-10 17:29:49 +03:00
Bartłomiej Dach
7be5e0e978
Implement back-and-forth conversion of ModScoreV2
and LegacyMods
2023-07-09 16:15:21 +02:00
Bartłomiej Dach
ae05df3b8c
Add ModScoreV2
2023-07-09 15:56:51 +02:00
Bartłomiej Dach
56a2ba4ac0
Fix GenerateTicks
being lost during osu! beatmap conversion process
2023-07-08 23:24:38 +02:00
Bartłomiej Dach
055e4a78f0
Merge branch 'master' into taiko-hitsounding-final-attempt
2023-07-08 18:10:04 +02:00
Dean Herbert
e0fc97bb93
Replace various local implementations of rewinding checks with new property
2023-07-07 15:21:24 +09:00
Dean Herbert
753db044b4
Fix GameplaySampleTriggerSource
not handling rewinds correctly
2023-07-06 19:08:42 +09:00
Dean Herbert
2e98ab0a48
Expose rewinding state of IGameplayClock
s
...
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dean Herbert
de74c9eb8b
Fix GameplaySampleTriggerSource
not handling rewinds correctly
2023-07-06 14:16:31 +09:00
Dean Herbert
af3f9086e5
Expose rewinding state of IGameplayClock
s
...
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 14:16:31 +09:00
Bartłomiej Dach
a87a631c50
Merge branch 'master' into taiko-hitsounding-final-attempt
2023-07-05 22:15:32 +02:00
Bartłomiej Dach
f3576b88a4
Merge pull request #24121 from peppy/fix-judged-fallback
...
Fix fallback for `Judged` to be more correct
2023-07-05 22:15:04 +02:00
Dean Herbert
49e5558e4f
Merge pull request #24072 from smoogipoo/diffcalc-total-scorev1
...
Add difficulty attributes to facilitate conversion from legacy score, and convert existing scores
2023-07-05 18:47:18 +09:00
Dean Herbert
8f61f5e4c6
Cache Playfield
for the sake of tests
...
I'm open to an alternative. Name it.
2023-07-05 18:44:27 +09:00
Dean Herbert
c5b949154c
Merge branch 'fix-judged-fallback' into taiko-hitsounding-final-attempt
2023-07-05 18:44:27 +09:00
Dean Herbert
4364736ccd
Fix fallback for Judged
to be more correct
...
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.
Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:
f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:44:27 +09:00
Dean Herbert
561fff801a
Consume nested object states in HitObjectLifetimeEntry
2023-07-05 18:44:27 +09:00
Dean Herbert
beed390031
Add balance adjust to base implementation of DrumSampleTriggerSource
2023-07-05 18:44:27 +09:00
Dean Herbert
6d4fa6569f
Add back required pieces to GameplaySampleTriggerSource
from old PR
2023-07-05 18:44:27 +09:00
Dean Herbert
3f8dfc7cb0
Fix fallback for Judged
to be more correct
...
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.
Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:
f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:03:58 +09:00
Bartłomiej Dach
6c4e52821d
Redirect judgement-related flags from DHO to HOLE
2023-07-04 23:45:08 +02:00
Bartłomiej Dach
0ceaf3c451
Ensure synthetic entries from non-pooled DHO are linked to parents
2023-07-04 23:45:08 +02:00
Bartłomiej Dach
bae7670855
Redirect HitObjectEntryManager
child mapping to HOLE
2023-07-04 23:41:06 +02:00
Bartłomiej Dach
6dc8c7b617
Add HitObjectLifetimeEntry.NestedEntries
2023-07-04 23:39:56 +02:00
Dean Herbert
1629024111
ILegacyScoreProcessor
-> ILegacyScoreSimulator
2023-07-04 17:32:54 +09:00
Dean Herbert
4203e2183d
Merge branch 'master' into diffcalc-total-scorev1
2023-07-04 14:15:24 +09:00
Dan Balasescu
c6ad184d94
Move Ruleset method to ILegacyRuleset interface
2023-06-29 17:24:37 +09:00
Dan Balasescu
af25ffbe81
Remove JSON output
2023-06-28 16:15:44 +09:00
Dan Balasescu
09bc8e45de
Refactoring
2023-06-28 16:14:32 +09:00
Dean Herbert
8bd6f7a46a
Rename ClicksPerSecondCalculator
to ClicksPerSecondController
2023-06-27 16:38:46 +09:00
Dean Herbert
e21583ff1b
Refactor InputCountController
to not require being added to foreign body via Attach
...
I've made the flow match `ClicksPerSecondCalculator` as close as
possible. Hopefully this reads better.
2023-06-27 16:36:00 +09:00
Bartłomiej Dach
40ceb4dfac
Fix incorrect indent size
2023-06-26 22:40:25 +02:00
Bartłomiej Dach
8d91580dc1
Rename {KeyCounter -> InputCount}Controller
2023-06-26 19:27:42 +02:00
Bartłomiej Dach
cc45ec4fff
Mark IHasRecordingHandler.Recorder
nullable
2023-06-26 18:52:05 +02:00
Dan Balasescu
a9c65d200a
Initial conversion of scores
2023-06-26 22:19:01 +09:00
Dean Herbert
084354a8dc
Split out interfaces from RulesetInputManager
and improve xmldoc
2023-06-26 16:34:57 +09:00
Dean Herbert
c8e081c2b6
Remove unused interface
2023-06-26 16:32:19 +09:00
Dan Balasescu
e1d723a2cc
Merge branch 'master' into diffcalc-total-scorev1
2023-06-26 14:32:14 +09:00
tsrk
350d722c8d
Merge branch 'master' into hud/kc-skinnable
2023-06-25 15:42:08 +02:00
tsrk
a7088ffe22
revert: bring back old attachment flow
...
As discussed, this would bring more problems that anything.
Refs: 4c39708
, f83a4f4
2023-06-25 15:21:55 +02:00
Bartłomiej Dach
25842105ce
Merge pull request #23976 from peppy/gameplay-sample-trigger-source-correctness
...
Adjust `GameplaySampleTriggerSource` to only switch samples when close enough to the next hit object
2023-06-25 08:23:55 +02:00
Bartłomiej Dach
d7ae430ec2
Merge branch 'master' into framework-update
2023-06-24 18:47:52 +02:00
Bartłomiej Dach
e273c223a8
Fix some more missed CI inspections
2023-06-24 17:11:38 +02:00
Dean Herbert
2bda63c2c8
Merge branch 'master' into mass-nrt
2023-06-24 09:59:15 +09:00
Dean Herbert
58e6b3782b
Fix a couple of remaining issues
2023-06-24 09:58:36 +09:00
Dan Balasescu
5fadadc3d0
Merge branch 'master' into diffcalc-total-scorev1
2023-06-24 02:46:15 +09:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dan Balasescu
06565871d6
Add flag to disable computing legacy scoring values
2023-06-24 01:03:18 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Dean Herbert
08b3c0cce0
Change "floating fruits" mod to only apply adjustments to the playfield
...
Avoids things like touch screen inputs also being flipped.
Note that these adjustments can't be applied directly to the playfield
due to how playfields are used in various rulesets (basically relying on
the `PlayfieldAdjustContainer` to get things in the right place).
Closes #24000 .
2023-06-23 14:18:43 +09:00
Dean Herbert
64b726d5ec
Fix nested logic not being completely correct (favouring already-passed rather than near-future)
2023-06-23 13:48:13 +09:00
Bartłomiej Dach
79606317ab
Remove redundant parentheses
2023-06-22 20:02:10 +02:00
Dean Herbert
4ff5275208
Make IGameplayClock
optional in GameplaySampleTriggerSource
to ease testing
2023-06-21 17:33:42 +09:00
Dean Herbert
cb07f2399f
Apply NRT to GameplaySampleTriggerSource
2023-06-20 21:03:55 +09:00
Dean Herbert
04dad6c6e8
Use IGameplayClock
to ensure our clock source is correct
2023-06-20 20:47:56 +09:00
Dean Herbert
0e86102681
Fix nested lookups
2023-06-20 20:45:02 +09:00
Dean Herbert
786d5a394b
Add back optimisation and increase time allowance slightly
2023-06-20 20:30:07 +09:00
Dean Herbert
555ce7684b
Adjust GameplaySampleTriggerSource
to only switch samples when close enough to the next hit object
...
Closes #23963 .
To simplify things, I've removed the optimisation of using
`AliveObject`s because it would break the way this whole lookup works.
2023-06-20 20:06:07 +09:00
Dan Balasescu
bfa449e47a
Adjust attribute data
2023-06-19 21:38:13 +09:00
Dean Herbert
aa96fefae2
Merge branch 'master' into snap-colour-mod
2023-06-19 20:01:36 +09:00
tsrk
f83a4f4952
refactor: tidy up attachement flow
...
TODO: find better naming and improve XMLDocs
2023-06-18 22:57:21 +02:00
tsrk
141f9efad5
style(KeyCounterController): remove reliance on Receptor
2023-06-18 21:26:16 +02:00
Dan Balasescu
0844a21a51
Merge branch 'master' into diffcalc-total-scorev1
2023-06-15 19:33:29 +09:00
tsrk
b4cbcb210e
refactor: remove detachment logic
...
No real use case, cleaning up the diff
2023-06-15 12:24:37 +02:00
tsrk
42b740a175
Merge branch 'master' into hud/kc-skinnable
2023-06-14 22:19:45 +02:00
Bartłomiej Dach
e46b4209c3
Remove no-longer-needed local method
2023-06-14 21:50:19 +02:00
Bartłomiej Dach
462570801a
Introduce new method for enumeration of objects during autoplay simulation
2023-06-14 21:50:19 +02:00
Bartłomiej Dach
3295294cbc
Reorder autoplay-related virtual methods closer together
2023-06-14 21:50:19 +02:00
Bartłomiej Dach
04e812b5ab
Make JudgementProcessor.SimulateAutoplay()
non-virtual
...
Nobody overrides this, and with the structure given, overriders would
have to rewrite half of this code anyway. The fact that the class has 2
other overridable members (`CreateResult()`, `GetSimulatedHitResult()`)
which cease to have any meaning if `SimulateAutoplay()` is overridden
also contributes to taking this decision.
2023-06-14 21:50:19 +02:00
tsrk
c637fddf73
refactor: decouple Trigger logic from KeyCounterDisplay
...
This allows to keep a coeherent state regardless of the progress of the play
2023-06-14 21:13:35 +02:00
Dean Herbert
3334323eb7
Run updateScore
on Reset
for good measure
2023-06-14 01:54:57 +09:00
Dean Herbert
0ab9a48f00
Fix score not updating when TrackHitEvents
is set to false
2023-06-13 11:44:52 +09:00
Dean Herbert
e9fb1f8932
Avoid tracking hit events altogether during migration
2023-06-13 02:15:41 +09:00
Dean Herbert
e0ebb000d6
Avoid unnecessary operations during score processor simulation
2023-06-13 02:05:11 +09:00
Dan Balasescu
446807e7f6
Add combo score / bonus score attributes
2023-06-12 23:00:29 +09:00
Dean Herbert
1ab3b43b59
Fix weird right-toolbox distance snapping display in osu!catch editor
2023-06-09 14:36:17 +09:00
John Biddle
d07437f810
Added recommendations from bdach:
...
Fixed null checking in ApplyToDrawableHitObject
Renamed mod to "Synesthesia"
Moved to the "Fun" mod category
2023-06-08 00:52:28 -07:00
Dean Herbert
a842f79ad4
Refactor IWorkingBeatmap.Background
to GetBackground()
2023-06-08 16:19:32 +09:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Bartłomiej Dach
244e6cc008
Merge pull request #23767 from peppy/fix-playfield-border-animation-in-editor
...
Fix gameplay playfield border being affected by beatmap track time
2023-06-06 22:10:18 +02:00
Dean Herbert
247fa088db
Add IHasNoTimedInputs
interface to scope change further
2023-06-06 22:22:42 +09:00
Dan Balasescu
77c745cc94
"TotalScoreV1" -> "LegacyTotalScore"
2023-06-06 17:25:28 +09:00
Dean Herbert
c0016fa5d2
Fix gameplay playfield border being affected by beatmap track time
...
Closes https://github.com/ppy/osu/issues/23470 .
2023-06-06 16:08:24 +09:00
tsrk
6fc6729677
feat: integrate attachment flow in SkinComponentsContainer
2023-06-06 00:27:43 +02:00
tsrk
4c397085c5
refactor: improve attachement flow
...
This removes the hard reliance on individual classes and makes its usage easiser to ingreate anywhere
else.
2023-06-06 00:12:53 +02:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage
2023-06-03 19:45:23 +02:00
Dan Balasescu
e402c6d2b4
Write max combo attribute from base class
2023-06-02 21:53:25 +09:00
Dan Balasescu
bfe80fe143
Fix legacy diffcalc creating all mods unnecessarily
2023-06-02 17:37:43 +09:00
Dan Balasescu
02111e3854
Implement ScoreV1 calculation for OsuRuleset
2023-06-02 17:36:45 +09:00
Olivier Schipper
3f7bebfda4
Merge branch 'master' into edit-nodesample
2023-06-02 00:57:15 +02:00
Dean Herbert
985604fab5
Return StatisticItem
s rather than StatisticRow
s from ruleset
...
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.
Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
John
ed850196d9
Reverted to applying the color change in OnUpdate, removed EnableComboColour flag from DrawableHitObject.cs
2023-05-30 01:43:08 -07:00
Dean Herbert
14a376c041
Merge branch 'master' into scorev2
2023-05-30 14:34:43 +09:00
Dean Herbert
114f12a790
Adjust CreateHitSampleInfo
to handle additions correctly, rather than implementing locally
2023-05-30 14:04:02 +09:00
Bartłomiej Dach
5604dfb758
Merge branch 'master' into acc-challenge
2023-05-29 22:33:57 +02:00
Bartłomiej Dach
314a0f80f3
Reword setting name & description
2023-05-29 22:12:37 +02:00
Dean Herbert
b3ca409339
Rename a few remaining CountAccuracyJudgement
variable
2023-05-29 20:08:22 +09:00
Dean Herbert
1558723420
Merge branch 'master' into scorev2
2023-05-29 20:06:32 +09:00
Dean Herbert
a789d1e49c
Add xmldoc and change naming around ScoreProcessorStatistics
a bit
2023-05-29 18:38:16 +09:00
cdwcgt
333e785f8b
Revert "Provides higher precision settings"
...
This reverts commit ec61840e7d
.
😐
2023-05-28 09:50:11 +09:00
Bartłomiej Dach
ba5f76fcc8
Merge pull request #23667 from peppy/fix-taiko-editor-placement-before-first-control-poiunt
...
Fix placing objects before the first control point in the osu!taiko editor failing
2023-05-27 17:58:28 +02:00
cdwcgt
ec61840e7d
Provides higher precision settings
2023-05-27 23:25:01 +09:00
cdwcgt
318431a1b7
make MaximumAchievable
to default
2023-05-27 21:27:32 +09:00
Bartłomiej Dach
53c91349fe
Merge branch 'master' into slider-control-point-no-distance-snap
2023-05-26 19:52:54 +02:00
Dean Herbert
cb468fa4ec
Fix OverlappingScrollAlgorithm
returning incorrect results for TimeAt
before first control point
2023-05-26 19:59:19 +09:00
Bartłomiej Dach
adee624a8f
Change PlacementBlueprint.AutomaticBankAssignment
to property
...
Mostly for consistency.
2023-05-25 21:32:21 +02:00
Dean Herbert
804671ca74
Split out grid snapping modes into "relative" and "global" types
2023-05-25 21:41:19 +09:00
Dean Herbert
3a05dffa50
Add "auto" bank selection during placement
2023-05-24 17:11:12 +09:00
Dean Herbert
a22ad98cb7
Fix hotkeys not actually working
2023-05-24 14:56:11 +09:00
Dean Herbert
298989ffd2
Merge branch 'master' into sample-set-controls
2023-05-24 14:03:04 +09:00
Dan Balasescu
fee3d43596
Merge branch 'master' into scorev2
2023-05-23 19:07:54 +09:00
Dan Balasescu
d45b54399b
Add back minimum/maximum accuracy
2023-05-23 18:15:32 +09:00
Dan Balasescu
3598ca9125
Adjust xmldoc
2023-05-23 18:05:10 +09:00
Dan Balasescu
8570f825ed
Consider all accuracy judgements in accuracy progress
2023-05-23 17:47:35 +09:00
Dan Balasescu
f8101fbbc7
Rename variables
2023-05-23 17:44:17 +09:00
Dan Balasescu
62d504af92
Fix base implementation of ComputeTotalScore
2023-05-23 15:59:24 +09:00
Dan Balasescu
e1feeded12
Change statistics type, remove overridability
2023-05-23 15:36:34 +09:00
Bartłomiej Dach
5229cf7343
Add failing test cases for drum roll/swell sample playback
2023-05-21 18:57:01 +02:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
...
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dan Balasescu
25d72d370e
Always add non-bonus change to combo portion
2023-05-20 00:24:43 +09:00
Dan Balasescu
30a296bd09
Rename parameters
2023-05-19 17:27:02 +09:00
Dan Balasescu
6c6f8621c1
Add score processor statistics to replay header
2023-05-19 16:29:24 +09:00
Dan Balasescu
d74bf2a096
Refactor for safety
2023-05-19 14:37:26 +09:00
Dan Balasescu
2ae34530f7
Avoid NaN values during ApplyBeatmap processing()
2023-05-19 14:14:34 +09:00
Dan Balasescu
7cbf48ffcf
Fix TestSceneScoring and incorrect combo calculations
2023-05-19 14:09:19 +09:00
Dan Balasescu
8b56a3f87d
Remove ClassicScoreMultiplier and DefaultScoreProcessor
2023-05-19 12:24:52 +09:00
Dan Balasescu
00e0411369
Fix/rework ModAccuracyChallenge calculation
2023-05-18 20:45:02 +09:00
Dan Balasescu
ef86be6d21
Fix base score added for non-accuracy-affecting objects
2023-05-18 20:32:50 +09:00
Dan Balasescu
510b8e4c78
Remove ScoreManager.Mode, handle per-use
2023-05-18 20:08:49 +09:00
Dan Balasescu
829e47d30b
Add MaxTotalScore for performance breakdown calculator
2023-05-18 17:47:25 +09:00
Dan Balasescu
f2483a1cf8
Add some helper methods, fix precision differences
...
Introduces some error at all times, but if we're to store scores everywhere as
`long`, then the same precision should be applied to the "during
gameplay" path as well.
2023-05-18 17:44:31 +09:00
Dean Herbert
ee522253cb
Remove a couple of unnecessary volume
declarations
2023-05-18 14:12:57 +09:00
Dean Herbert
b58ab28765
Make EditorClock
non-nullable in PlacementBlueprint
2023-05-17 21:40:52 +09:00
Dean Herbert
0b25818bd2
Update combo information on placement blueprint
2023-05-17 17:26:19 +09:00
Dean Herbert
8d925c8a8a
Move combo information updating to an interface level helper method
2023-05-17 17:26:19 +09:00
Dean Herbert
e43f2c2c43
Improve previous hitobject lookup efficient and correctness
2023-05-17 17:19:29 +09:00
Dean Herbert
7d7d402d4e
Apply NRT to PlacementBlueprint
2023-05-17 17:19:29 +09:00
Dean Herbert
510ebe1f23
Fix weird optional usage in HitSampleInfo.With
2023-05-17 14:11:52 +09:00
Dean Herbert
dc51d5ecf3
Rename GetSampleInfo
to better describe what method does
...
Also add full xmldoc
2023-05-17 14:07:48 +09:00
John
e2633ae993
Removed unnecessary [Resolved] attribute (thanks bdach)
...
Moved accent color assignment from OnUpdate to ApplyCustomUpdateState. In order to get this to work, a flag needed to be added to DrawableHitObject.cs to disable combo color updates also being applied.
2023-05-16 21:08:56 -07:00
Dean Herbert
d9ae822966
Fix bank not correctly being assigned when adding sample additions in editor
2023-05-16 18:52:52 +09:00
Dean Herbert
83dcd78826
Make HitSampleInfo.Bank
non-nullable
2023-05-16 18:12:56 +09:00
Bartłomiej Dach
e6786e0244
Merge branch 'master' into editor-slider-placement-input
2023-05-14 10:52:22 +02:00
Bartłomiej Dach
325de2dc22
Merge pull request #23507 from peppy/editor-blueprint-end-placement
...
Move blueprint validity conditions to allow more correct external usage of `EndPlacement`
2023-05-14 10:24:04 +02:00
Dean Herbert
8c542c6c51
Fix hold-for-right-click showing during gameplay
2023-05-13 21:32:30 +09:00
John
7a907f7207
Code quality improvements (thanks to ItsShamed): Removed #nullable disable, fixed incorrect LocalisableString, removed incorrect dependency injection for OsuColour, fixed nullable dependency for IBeatmap
...
Removed unnecessary usage of "this." caught by the CI code quality check
2023-05-12 22:13:39 -07:00
John
e5884016ab
Initial commit for the snap colour mod. Implements basic functionality.
2023-05-12 19:07:25 -07:00
Dean Herbert
0c1959ef2f
Allow commiting / undoing placement of blueprints using back / select bindings
2023-05-12 16:06:20 +09:00
Dean Herbert
f443cfb93e
Move blueprint validity conditions to allow more correct external usage of EndPlacement
...
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.
By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
Dan Balasescu
a7b623f52a
Reimplement classic scoring mode
2023-05-09 20:21:38 +09:00
Dan Balasescu
3c3c812ed6
Initial implementation of ScoreV2
2023-05-09 19:33:33 +09:00
Bartłomiej Dach
1d162d1d15
Merge pull request #23440 from peppy/drawable-hit-object-sync-animations
...
Fix hit object animations not being played back in sync
2023-05-08 23:44:37 +02:00
Bartłomiej Dach
30ce86a582
Merge pull request #23437 from peppy/fix-hold-note-input-test
...
Fix `TestSceneHoldNoteInput` not displaying correctly
2023-05-08 22:22:33 +02:00
Dean Herbert
64498e95a4
Add an IAnimationTimeReference
to DrawableHitObject
to synchronise all animations
2023-05-08 18:56:29 +09:00
Dan Balasescu
d2380bd840
Remove usages of [ExcludeFromDynamicCompile]
2023-05-08 18:12:56 +09:00
Dean Herbert
1b7dd32eb1
Apply nullability in related classes and remove unused variable
2023-05-08 17:09:08 +09:00
Bartłomiej Dach
34b19dd6f4
Merge branch 'master' into slider-velocity-inspector
2023-05-05 20:20:16 +02:00
Bartłomiej Dach
4ca80cf6be
Merge pull request #23404 from peppy/show-sv-in-inspector
...
Show slider velocity in hit object inspector
2023-05-05 20:19:50 +02:00
Dean Herbert
490df8073c
Fix one incorrect namespace syntax file
2023-05-05 21:15:26 +09:00
Dean Herbert
cc70d89bf9
Move editor inspector classes out of ruleset namespace
2023-05-05 15:57:38 +09:00
Dean Herbert
4663057060
Split out EditorInspector
implementation for reuse
2023-05-05 15:54:15 +09:00
Dean Herbert
76b2f0e6dd
Show slider velocity in hit object inspector
2023-05-05 15:15:18 +09:00
Dean Herbert
698baa78bf
Merge pull request #22711 from Terochi/keep-shared-settings-ruleset-change
...
Keep shared mod settings when changing ruleset
2023-05-05 13:29:55 +09:00
Bartłomiej Dach
485b7282dc
Clarify type check
2023-05-04 19:06:07 +02:00
Bartłomiej Dach
1f1342b099
Reword xmldoc
2023-05-04 18:33:49 +02:00
Bartłomiej Dach
88e77ad390
Rename Settings{-> Map}
2023-05-04 18:30:41 +02:00
Bartłomiej Dach
26337dbcd8
Do not rely on unspecified Dictionary.Values
ordering
2023-05-04 18:29:01 +02:00
Bartłomiej Dach
0d2396c557
Rename method to better indicate directionality
2023-05-04 18:15:12 +02:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
...
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
e42b0cc5b1
Merge pull request #23370 from peppy/fix-editor-playfield-padding
...
Add more padding around playfield in editor to avoid overlap with tool areas
2023-05-03 11:44:55 +09:00
Dean Herbert
414b80d44e
Change flashlight depth in a more standard way
2023-05-02 17:00:54 +09:00
Dean Herbert
b2b9f2a036
Merge branch 'master' into bubble_mod_implementation_clean
2023-05-02 16:59:55 +09:00
OliBomby
2e018c8b06
Fix comment 2 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:47 +02:00
OliBomby
c2ad8c2320
Fix comment 1 osu.Game/Rulesets/Objects/Types/IHasGenerateTicks.cs
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-05-02 08:41:30 +02:00
Dean Herbert
67f83f246b
Add more padding around playfield in editor to avoid overlap with tool areas
...
Closes #23130 .
2023-05-02 15:37:02 +09:00
Dean Herbert
e3c384c6b5
Merge branch 'master' into sample-control-points
2023-05-02 14:38:39 +09:00
OliBomby
cf5211aec9
Enable current distance snap when exactly on a hit object
2023-05-01 19:22:52 +02:00
OliBomby
27cfadca16
add sample info to Banana and SpinnerBonusTick
2023-05-01 14:54:06 +02:00
OliBomby
2a94757154
Make sure the first object you place has bank and volume
2023-05-01 00:49:01 +02:00
OliBomby
608fa3cc73
Merge remote-tracking branch 'upstream/master' into sample-control-points
2023-04-30 19:47:03 +02:00
OliBomby
83111223e0
fix null sample
2023-04-30 01:08:52 +02:00
OliBomby
92efd04f31
fix sample of drumroll ticks being bankless
2023-04-29 23:52:24 +02:00
OliBomby
ffcc8e91b2
fix legacy parser incorrectly assigning sample info for sliders
2023-04-29 23:51:49 +02:00
OliBomby
354cd23874
removed all usage of hitobject's DifficultyControlPoint
2023-04-26 18:17:02 +02:00
OliBomby
c44f71a737
remove all regular usage of DifficultyControlPoint
2023-04-26 17:55:38 +02:00
OliBomby
c6fc180659
remove all test usages of SampleControlPoint
2023-04-26 14:21:52 +02:00
OliBomby
6c70948681
Remove IContext & add IHasGenerateTicks
2023-04-26 13:10:57 +02:00
OliBomby
e27c4dfa10
Invoke ApplyDefaultsToSelf
2023-04-26 11:46:05 +02:00
Terochi
332c199dc2
further simplification
2023-04-26 10:46:29 +02:00
cdwcgt
bfd81b77fa
provide more Accuracy Mode for ModAccuracyChallenge
2023-04-26 17:40:25 +09:00
Dean Herbert
27f81288ef
Merge branch 'master' into keep-shared-settings-ruleset-change
2023-04-26 15:51:31 +09:00
Dean Herbert
cb7b246e33
Fix naming and update in line with nullability
2023-04-26 15:27:58 +09:00
Dean Herbert
210c5e7c53
Merge branch 'master' into decouple-mod-fails
2023-04-26 15:26:20 +09:00
Terochi
0841e73a39
Improved readability and sounds
2023-04-25 21:07:17 +02:00
OliBomby
66eda40cdf
fix implementations of IHasSliderVelocity
2023-04-25 18:22:22 +02:00
OliBomby
065464d90c
Fixed DifficultyPointPiece
2023-04-25 18:12:53 +02:00
OliBomby
ebe1d852f5
remove other usages of hitobject SampleControlPoint
2023-04-25 16:01:43 +02:00
OliBomby
97910d6be6
remove unused directives
2023-04-25 13:06:37 +02:00
OliBomby
891b87a5ff
remove ApplyLegacyInfo method
2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798
Add LegacyContext
2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2
made the SampleControlPoint and DifficultyControlPoint obsolete
2023-04-25 11:34:09 +02:00
Dan Balasescu
c0a25144cf
Apply changes to custom ShaderManager
2023-04-18 11:31:56 +09:00
Bartłomiej Dach
db86ced4b4
Invoke RevertResult
on parent DHO when nested DHO is reverted
...
The behaviour described above was removed in
812a4b412a
, thus henceforth
contradicting `RevertResult`'s xmldoc. As it is relied on by some
external rulesets, bring it back to unbreak them.
2023-04-11 18:29:08 +02:00
Bartłomiej Dach
ead5e9f027
Merge branch 'master' into editor-inspector
2023-04-10 14:29:05 +02:00
Bartłomiej Dach
60358c7203
Perform first inspector text update immediately
...
Provides better and more consistent initial state for the inspector.
2023-04-10 14:13:53 +02:00
Bartłomiej Dach
641415ca32
Unify displayed duration format for single/multiple selection
2023-04-10 14:05:32 +02:00
Dan Balasescu
15f6bc155e
Add progressive score multiplier for HT
2023-04-10 13:35:48 +09:00
Dan Balasescu
c923482976
Add progressive score multiplier for DT
2023-04-10 13:31:48 +09:00
Dean Herbert
ad717d2368
Fix scheduled calls piling up during transactions
2023-04-06 23:39:36 +09:00
Andrei Zavatski
ed565b1e59
Fix SampleStore isn't being disposed
2023-04-06 11:40:04 +03:00
Bartłomiej Dach
e5d57a65c9
Fix incorrect indent
2023-04-05 19:47:25 +02:00
Bartłomiej Dach
432f698697
Merge branch 'master' into gameplay/key-counter-abstraction
2023-04-05 19:45:14 +02:00
Dean Herbert
9c8b25e034
Fix display not always updating when expected by updating on a schedule
2023-04-05 13:45:24 +09:00
Dean Herbert
f07d859532
Optimise how often we update the display
2023-04-04 19:31:33 +09:00
Dean Herbert
3209b09270
Move inspector into own file
2023-04-04 19:17:34 +09:00
Dean Herbert
4aed483005
Tidy up dependency resolution
2023-04-04 19:14:30 +09:00
Dean Herbert
195b5fc3f1
Add view for selections of size != 1
2023-04-04 19:11:48 +09:00
Dean Herbert
b0d5761667
Add object type
2023-04-04 19:05:50 +09:00
Dean Herbert
c356c163fa
Add hit object inspector view
2023-04-04 19:03:45 +09:00
Dean Herbert
f9ebdadfe8
Move right-side editor toolbox to base HitObjectComposer
...
Move right-side editor toolbox to base `HitObjectComposer`
2023-04-04 19:00:56 +09:00
Dean Herbert
7011928d86
Fix abysmal debug performance due to try-catch logic in DrawableRulesetDependencies
2023-04-03 18:04:33 +09:00
Dean Herbert
b0c09df259
Merge branch 'master' into gameplay/key-counter-abstraction
2023-04-03 15:33:35 +09:00
Dean Herbert
0d77ec013a
Fix ruleset-local shader manager not correctly falling back to existing cached shaders
2023-03-28 15:00:49 +09:00
Dean Herbert
c742b3f0a8
Update DrawableRulesetDependencies
xmldoc to read more correctly
2023-03-28 14:15:19 +09:00
Salman Ahmed
678e8ed736
Update UBO usages inline with framework changes
2023-03-16 14:06:35 +03:00
Dean Herbert
7b34607676
Merge branch 'master' into bubble_mod_implementation_clean
2023-03-16 13:45:22 +09:00
Dean Herbert
5f9b13a775
Rename Add
/AddRange
methods as they are no longer conflicting with Container
2023-03-15 18:02:41 +09:00
Dean Herbert
969c0e9c9d
Merge branch 'master' into veldrid-renderer
2023-03-14 17:35:38 +09:00
Terochi
8e8dda3ac0
Big simplifying
2023-03-11 23:29:36 +01:00
Dan Balasescu
e327993d11
Merge pull request #22527 from Terochi/replay-length-extension
...
Replay recording extension until results screen transition
2023-03-11 15:41:32 +09:00
Terochi
b51c41a804
Addressed changes
2023-03-09 20:14:58 +01:00
tsrk
44297a7d0a
refactor: make KCD a CompositeDrawable
2023-03-08 00:47:16 +00:00
Bartłomiej Dach
72695f7c90
Merge branch 'master' into omit-barline-in-timing-control-point
2023-03-07 22:46:24 +01:00
Terochi
8bf84869a5
Fixed errors covered in new tests
2023-03-07 20:39:50 +01:00
Bartłomiej Dach
7ade525eef
Display corner radius setting as percentage
2023-03-07 19:43:52 +01:00
Dean Herbert
28520414aa
Move KeyCounter
components to HUD
namespace
2023-03-07 16:41:39 +09:00
Dean Herbert
8f6df5ea0f
Merge branch 'master' into gameplay/key-counter-abstraction
2023-03-07 16:09:45 +09:00
Dean Herbert
044b0604b2
Move OmitFirstBarLine
to TimingControlPoint
2023-02-28 19:29:31 +09:00
Dan Balasescu
dd9748a25c
Adjust DrawNodes to use UBOs
2023-02-25 01:42:55 +09:00
Terochi
09e7c21b23
Implemented a more complex setting conversion logic + tests
2023-02-24 15:11:22 +01:00
Bartłomiej Dach
d679703fa2
Merge pull request #22659 from peppy/fix-taiko-drum-nested-sample-detection
...
Fix `GameplaySampleTriggerSource` not considering nested objects when determining the best sample to play
2023-02-22 18:56:59 +01:00
tsrk
1beec71037
refactor(KeyCounterDisplay): apply suggestions
...
I also took the freedom to add type checking, as we can't limit the
usage of `Add()` since it's a Container. The exception thrown also
advises of using the suggested `AddTrigger()` instead.
2023-02-22 14:58:27 +00:00
Dean Herbert
a8c692a215
Merge pull request #22635 from peppy/use-overlays-container-more
...
Use `Overlays` container rather than `KeyBindingInputManager` for flashlight
2023-02-22 18:30:21 +09:00
Bartłomiej Dach
ab97b02235
Remove contradictory remark from xmldoc
2023-02-21 21:05:46 +01:00
Terochi
dd53a70071
Addressed change requests
2023-02-21 21:01:31 +01:00
Terochi
191604340f
Added a way for mod settings to be kept when changing ruleset + test
2023-02-21 19:05:10 +01:00
Dean Herbert
9384687d6d
Switch ModMuted
to add its metronome to components rather than overlays
2023-02-21 19:04:06 +09:00
Dean Herbert
1acc536248
Move DrawableRuleset.Audio
to a less generic level
2023-02-21 19:03:52 +09:00
Dean Herbert
5ba6059911
Merge branch 'master' into fix-taiko-drum-nested-sample-detection
2023-02-21 13:58:15 +09:00
MK56
b74c1c8334
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-19 21:36:59 +01:00
Bartłomiej Dach
3183f5cee2
Merge branch 'master' into revert-result-in-playfield
2023-02-19 16:33:10 +01:00
Bartłomiej Dach
d9ca7102f0
Use more generic wording for future-proofing
2023-02-19 15:06:40 +01:00
Bartłomiej Dach
aac32a2c9f
Combine config and time checks into one
...
Functionally equivalent right now, but the combined variant is more
localised to what it actually needs to do, and less error-prone if
any new code gets appended to the method.
2023-02-19 13:14:51 +01:00
Maximilian Kruse
f3522c4162
change bindable seekToHitObject to private
2023-02-19 10:18:02 +01:00
Maximilian Kruse
ddd37bb319
Add setting to disable automatic seeking after object placement
2023-02-18 19:43:45 +01:00
Dean Herbert
19d5293ad1
Change early return to also find the earliest nested object
2023-02-17 18:59:31 +09:00
Bartłomiej Dach
3ee046000e
Merge branch 'master' into revert-result-in-playfield
2023-02-16 21:54:29 +01:00
Bartłomiej Dach
b8084a15eb
Revert ResumeOverlay
setter accessibility change
2023-02-16 21:26:01 +01:00
Dean Herbert
affa9507a1
Fix GameplaySampleTriggerSource
not considering nested objects when determining the best sample to play
2023-02-16 18:21:33 +09:00
Dean Herbert
ce9ef3bc3c
Always create ResumeOverlay
, with UseResumeOverlay
flag only affecting whether it is displayed or not
2023-02-16 15:47:20 +09:00
Dean Herbert
7afdcb9383
Merge branch 'master' into hide-resume-overlay
2023-02-16 15:42:14 +09:00
tsrk
076eb81b21
refactor: rename trigger classes
...
Makes it better to understand their purpose
2023-02-15 21:46:13 +00:00
tsrk
157bba7830
refactor: rename Trigger
class to InputTrigger
2023-02-15 21:41:36 +00:00
Dean Herbert
da8ab7143b
Merge branch 'master' into maximum-judgement-offset-in-hit-object
2023-02-15 14:48:15 +09:00
Dean Herbert
5024838f3a
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-15 13:47:18 +09:00
Dean Herbert
5ec5222d8a
Expose and consume OsuInputManager
explicitly
2023-02-14 17:36:07 +09:00
Dean Herbert
b42b5f97cf
Use Overlays
container rather than KeyBindingInputManager
for flashlight
2023-02-14 17:36:07 +09:00
Dean Herbert
970388d4e2
Move Overlays
container to accept input and be frame-stable
2023-02-14 17:35:12 +09:00
Dean Herbert
7aaaf7fca2
Combine and attempt to simplify the score import / preparation process further
2023-02-14 16:55:35 +09:00
Dean Herbert
63f3498762
Restructure UseResumeOverlay
to correctly handle a value change before BDL load
2023-02-14 15:11:33 +09:00
Pasi4K5
e4b84ebd0b
Add UseResumeOverlay
and use it for hiding the ResumeOverlay
2023-02-13 23:51:39 +01:00
tsrk
74a58fb674
refactor: separate things in KeyCounter
...
To implement different different sources of input for KeyCounter, it
is now possible to create a Trigger class (to inherit) instead of
inheriting KeyCounter. This eases the creation of more input sources
(like for tests) while allowing to implement different UI variants.
That way, if another variant of the key counter needs to implemented
(for whathever reason), this can be done by only inheriting KeyCounter
and changing how things are arranged visually.
2023-02-13 01:24:27 +00:00
Dean Herbert
9d09141ab7
Move taiko-specific property out of DrawableHitObject
2023-02-12 16:09:28 +09:00
Dean Herbert
ad8b01b478
Merge pull request #22589 from sw1tchbl4d3r/file_hitsample_additions
...
Always add to additions soundbank in `convertSoundType`
2023-02-10 17:14:29 +09:00
Dean Herbert
eccde923e5
Merge pull request #22554 from Walavouchey/ranking-accuracycircle-readability
...
Improve readability of `AccuracyCircle`
2023-02-10 17:03:46 +09:00
Dean Herbert
1df6fc6311
Use if
statements rather than conditional case
2023-02-10 17:03:27 +09:00
Bartłomiej Dach
96c1832af4
Fix grammar in xmldoc
...
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2023-02-10 00:07:24 +01:00
sw1tchbl4d3
f0d11f44fc
Always add to additions soundbank in convertSoundType
2023-02-09 22:27:52 +01:00
Dean Herbert
34d1890f1c
Change snapping to only apply to classic mod
2023-02-09 18:22:14 +09:00
ekrctb
258de3b2d8
Store RawTime in JudgementResult
2023-02-09 17:15:37 +09:00
ekrctb
5f0636c330
Merge branch 'maximum-judgement-offset-in-hit-object' into revert-result-in-playfield
2023-02-09 16:47:58 +09:00
Dean Herbert
cf009432cc
Centralise accuracy cutoff constants and add lookup helper methods
2023-02-09 15:41:58 +09:00
Dean Herbert
c691a0d3af
Merge branch 'master' into sheared_slider_implementation_clean_ii
2023-02-06 17:49:33 +09:00
Dean Herbert
a67d5d2a14
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-06 17:24:20 +09:00
Joseph Madamba
191259c050
Use equals instead and update other usage
2023-02-04 19:58:48 -08:00
mk56-spn
3f0ce75bf5
Rename NormalSliderBar.cs to RoundedSliderBar.cs
2023-02-02 17:24:45 +01:00
Dean Herbert
b792dc3af0
Merge pull request #22281 from cdwcgt/editor-check-previewtime
...
Add preview time setting check
2023-02-02 15:10:06 +09:00
Dean Herbert
5b3d7a8f26
Fix typo in missing-preview-point message
2023-02-02 14:34:59 +09:00
Dean Herbert
c2cde8361a
Fix message not reading well
2023-02-02 14:33:41 +09:00
Dean Herbert
3a861fd943
Remove multiple cases of excess braces
2023-02-02 14:28:21 +09:00
Dean Herbert
10df64467a
Merge pull request #22430 from peppy/skin-editor-nrt
...
Apply NRT to all skin editor classes
2023-02-02 13:57:57 +09:00
cdwcgt
76296eb35a
Consistent with BeatmapsetVerifier
2023-02-01 11:52:14 +08:00
Bartłomiej Dach
c5e1f54185
Fix sample store creation mutating shared resource store
2023-01-30 20:48:52 +01:00
MK56
c50604f701
Merge branch 'master' into bubble_mod_implementation_clean
2023-01-27 11:58:56 +01:00
ekrctb
27578c48f5
Remove JudgementResultEntry
...
It is not needed anymore as TimeAbsolute is stored raw.
2023-01-27 19:35:44 +09:00
Dean Herbert
74ab036f3e
Refactor SkinnableSound.Samples
to be non-nullable
2023-01-27 19:32:30 +09:00
mk56-spn
3988131475
Rename OsuSliderBar.cs as NormalSliderBar.cs
2023-01-26 12:12:56 +01:00
Dean Herbert
f0406c34fd
Merge branch 'master' into revert-result-in-playfield
2023-01-25 17:35:33 +09:00
Dean Herbert
a966d6c330
Merge pull request #18402 from ggliv/mod-accuracy-challenge
...
Add accuracy challenge mod
2023-01-24 16:00:55 +09:00
ekrctb
e1702a8ee9
Fix inspection issue
2023-01-24 15:43:57 +09:00
ekrctb
efef97d5be
Store Result.TimeAbsolute separately from offset
...
Calculating from TimeOffset is bad because it loses precision.
The result time won't change anymore
even If `HitObject.GetEndTime()` changes later.
2023-01-24 15:35:06 +09:00
Gabe Livengood
b46ef67a14
increase min minimum accuracy to 60%
2023-01-24 00:31:46 -05:00
ekrctb
cc87923179
Fix OnRevertResult timing
2023-01-24 14:19:24 +09:00
ekrctb
e66e43e17c
Remove unused code
2023-01-24 14:15:17 +09:00
Pasi4K5
8b47af6503
Remove HidesResumeOverlay
and set ResumeOverlay
to null
in OsuModAutopilot
2023-01-24 00:49:09 +01:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap
2023-01-23 21:33:16 +01:00
Bartłomiej Dach
1f40b2daf6
Clean up xmldocs
2023-01-23 21:22:18 +01:00
cdwcgt
5afb733fb2
change IssueTemplatePreviewTimeConflict's text
2023-01-23 15:26:28 +09:00
Dean Herbert
73f083a316
Refactor how additional points are provided to avoid confusion
2023-01-23 14:13:46 +09:00
Pasi4K5
75a1a2ec2f
Hide ResumeOverlay
when OsuModAutopilot
is enabled
2023-01-22 03:44:59 +01:00
ekrctb
d8f9b7d02f
Use MaximumJudgementOffset for lifetime
2023-01-19 21:25:21 +09:00
ekrctb
11e1b22bf5
Move MaximumJudgementOffset to HitObject
...
We want to access this property for computing lifetime
2023-01-19 21:23:55 +09:00
ekrctb
812a4b412a
Move judgement result revert logic to Playfield
...
Previously, some judgement results were not reverted
when the source DHO is not alive (e.g. frames skipped in editor).
Now, all results are reverted in the exact reverse order.
2023-01-19 19:57:13 +09:00
Wleter
f8d8a627b8
change property name
2023-01-18 22:00:39 +01:00
Wleter
ab78dd0436
add collection of selection points.
2023-01-18 21:34:23 +01:00
Gabe Livengood
150195b887
use extension method to check accuracy impact
2023-01-18 12:24:41 -05:00
Gabe Livengood
e0f3fa1af6
remove this
in ruleset assignment
2023-01-18 12:22:27 -05:00
cdwcgt
e5eab72aeb
add check for preview time setting
2023-01-19 01:08:37 +09:00
Dean Herbert
522bb8bcca
Use ComputeAccuracy
to get imminent accuracy
2023-01-18 18:08:58 +09:00
Gabe Livengood
0b1e5c0f53
lambdaify function
2023-01-17 10:23:57 -05:00
Dean Herbert
23ea77cb74
Use ScoreProcessor
to fetch accuracy rather than calculating manually
2023-01-17 17:03:04 +09:00
Dean Herbert
70cb23bbc9
Merge branch 'master' into mod-accuracy-challenge
2023-01-17 16:46:54 +09:00
Andrei Zavatski
d74a5ef9e6
Use property instead of ctor parameter
2023-01-12 23:26:29 +03:00
Andrei Zavatski
a7ac31fa34
Use IsLegacyRuleset extension method
2023-01-12 23:21:33 +03:00
Andrei Zavatski
a9915d6a64
Make OverlayRulesetSelector display only legacy rulesets
2023-01-12 22:44:41 +03:00
Dan Balasescu
bbec42c00e
Fix incorrect max combo after watching imported legacy replays
2023-01-12 14:18:21 +09:00
MK56
f9b42161e3
Merge branch 'master' into bubble_mod_implementation_clean
2023-01-11 14:56:21 +01:00
Dean Herbert
d1ca4ebd40
Merge pull request #21559 from OliBomby/stream-tool-1
...
Add segment end completions list to SliderPath
2023-01-11 15:31:04 +09:00
Dan Balasescu
d9a6e4b862
Ensure drain lenience of 1.0 completly removes drain
2023-01-11 13:01:11 +09:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap
2023-01-10 21:22:13 +01:00
Wleter
e5863fbaf1
add ScreenSpaceEndPoint field
2023-01-10 21:20:09 +01:00
Bartłomiej Dach
6ed474d4fb
Rearrange formula for maximum accuracy
...
Feels like it's easier to understand this way. The difference of the
maximum scoring values for the entire beatmap and the max values for the
part of the beatmap that has already been played represents the act of
filling the rest of the unjudged objects with maximum results.
2022-12-30 20:56:54 +01:00
Bartłomiej Dach
8ace635249
Adjust minimum values
2022-12-30 20:55:51 +01:00
Bartłomiej Dach
bb2822a175
xmldoc pass
2022-12-30 20:55:48 +01:00
Bartłomiej Dach
6d42cc5a36
Naming pass
2022-12-30 20:30:58 +01:00
cdwcgt
3c32a50c12
add new accuracy counter display
2022-12-30 21:19:46 +09:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
mk56-spn
bbb22479a8
Add "ModBubbles" for the osu ruleset.
2022-12-25 23:09:52 +01:00
Bartłomiej Dach
80de5dac66
Fix judgement text never being added to hierarchy
2022-12-24 09:37:40 +01:00
Bartłomiej Dach
f973befcd4
Remove unused resolved member
2022-12-24 09:34:30 +01:00
Dean Herbert
5e9fb1063a
Move judgement text creation to base class and tidy things up
2022-12-24 12:22:36 +08:00