smoogipoo
37babbde6a
Simplify score filter row
2021-06-16 19:09:11 +09:00
Dean Herbert
4ee7721c51
Extract first version out to constant
2021-06-08 18:38:47 +09:00
Dan Balasescu
d31e3e8f1c
Fix nullref
2021-06-08 18:23:03 +09:00
Dean Herbert
b287366c8b
Remove forgotten classic mod addition
2021-06-08 18:09:57 +09:00
Dean Herbert
061e3d7f26
Move legacy ScoreInfo
to be completely based on presence of classic mod
2021-06-08 18:00:09 +09:00
Dean Herbert
4d9fffc01b
Update score encoder version to be higher than any existing stable version
2021-06-08 17:59:43 +09:00
PercyDan54
e716162ac2
Fix formatting
2021-04-29 17:19:25 +08:00
PercyDan54
4fe1497f63
Add comment & remove lastF
2021-04-28 20:39:06 +08:00
PercyDan54
126056c436
Fix precision loss on exporting legacy replays
2021-04-28 19:27:18 +08:00
smoogipoo
213ac88a8b
Fix exported scores not being compatible with osu-stable
2021-04-26 20:52:20 +09:00
smoogipoo
6560dc2d1f
Fix exported replays being wrapped in zip packages
2021-04-26 20:46:44 +09:00
smoogipoo
8a6267580a
Fix nullref
2021-04-22 18:44:14 +09:00
Salman Ahmed
1a715b2926
Append "classic" mod to legacy scores
2021-04-21 09:16:28 +03:00
smoogipoo
e9a114a15c
Rename property back
2021-04-12 20:50:18 +09:00
smoogipoo
8413b0a5d3
Don't map api mods to DB
2021-04-12 20:49:44 +09:00
smoogipoo
625484468e
Fix DB serialisation
2021-04-12 20:49:37 +09:00
smoogipoo
982d8fa8b1
Fix incorrect reference
2021-04-12 20:49:26 +09:00
smoogipoo
d2d7f77430
Fix mods not being serialised correctly in ScoreInfo
2021-04-12 20:09:01 +09:00
Dean Herbert
630faa3b56
Add TODO marking incorrect EF core data type
...
As mentioned in the comment, we probably don't need to be storing this
in the database in the first place (as it should be able to be
calculated from the other statistics we have available to us). Something
to consider when we refactor the database backend.
2021-03-25 17:50:21 +09:00
Bartłomiej Dach
a16c0641b2
Revert EF Core to version 2.2
...
This reverts commit f3faad74d5
, reversing
changes made to 712e7bc7bf
.
Several issues arose after migrating to 5.0, including, but possibly not
limited to, performance regressions in song select, as well as failures
when attempting to save beatmaps after metadata changes in the editor.
2021-03-21 11:05:15 +01:00
smoogipoo
917717686a
Expand explanatory comment
2021-03-18 19:26:29 +09:00
smoogipoo
b68dc686ee
Fix converted mania scores not accounting for GREATs
2021-03-18 19:19:53 +09:00
Roman Kapustin
0a1e325fc7
Extract requerying of navigational properties from DbContext
2021-03-14 19:34:53 +03:00
Roman Kapustin
a60ff80c04
Use expression body in ModsJson get accessor
2021-03-12 00:02:29 +03:00
Roman Kapustin
d2f943395d
Hotfix importing scores from stable
2021-03-11 22:12:47 +03:00
Roman Kapustin
c6c616f244
Actualize tests
2021-03-11 21:02:40 +03:00
Dean Herbert
b1cd01ceb8
Apply ConfigureAwait changes to game side
2021-03-08 14:36:35 +09:00
Dean Herbert
03771ce8ec
Allow determining a BeatmapDifficultyCache's bindable return's completion state via nullability
2021-02-25 16:19:01 +09:00
Dean Herbert
5f23bd7259
Revert most of the changes to ArchiveModeManager by using better code
2021-02-12 12:48:32 +09:00
Lucas A
51d4da565c
Fix ArchiveModelManagers lookup paths.
2021-01-24 22:25:49 +01:00
Lucas A
d71ac83428
Use StableStorage in ArchiveModelManager.
2021-01-24 19:46:10 +01:00
Dean Herbert
9bb32f0914
Merge branch 'master' into move-cache-logic-to-base-impl
2020-11-06 16:56:35 +09:00
Dan Balasescu
972fc54c2d
Merge pull request #10710 from peppy/user-id-as-int
...
Use int instead of long for user_id fields for now
2020-11-06 14:35:14 +09:00
Dean Herbert
a2606d31c7
Move lookup/storage/compute logic to base class (and consume in ScorePerformanceCache)
2020-11-06 13:51:41 +09:00
Dean Herbert
0103b12575
Add basic base class to begin to standardise function across caching components
2020-11-06 13:26:39 +09:00
Dean Herbert
14bb079feb
Rename ScorePerformanceManager to ScorePerformanceCache
2020-11-06 13:15:33 +09:00
Dean Herbert
5113d4af8f
Rename BeatmapDifficultyManager to BeatmapDifficultyCache
2020-11-06 13:14:29 +09:00
Dean Herbert
1e1569eb53
Use int instead of long for user_id fields for now
2020-11-06 12:59:46 +09:00
Dean Herbert
7b320a991f
Add note about missing expiration logic
2020-11-02 14:53:32 +09:00
Dean Herbert
d46f7535c9
Add xmldoc for new component
2020-11-02 14:50:44 +09:00
Lucas A
a96c067bea
Remove uncessary async-await state machine level.
2020-10-27 13:45:21 +01:00
Bartłomiej Dach
ba818e3ae0
Merge branch 'master' into results-dynamic-pp-calc
2020-10-19 21:41:07 +02:00
Dean Herbert
83482ca15c
Fix one more missed occurrence
2020-10-16 13:21:47 +09:00
Bartłomiej Dach
d4ba9d2682
Simplify implementation of CalculatePerformanceAsync
2020-10-12 22:10:02 +02:00
Lucas A
a0e6226b7a
Rename LocalId -> LocalScoreID
2020-10-10 19:19:24 +02:00
Lucas A
de522d53ea
Make CalculatePerformanceAsync() nullable.
2020-10-10 19:16:21 +02:00
Lucas A
6459ce28a3
Don't calculate performance if difficulty attributes aren't locally computable.
2020-10-09 18:32:03 +02:00
Lucas A
fa201be2ad
Simplify PerformanceCacheLookup
2020-10-08 18:31:29 +02:00
Lucas A
cd15f83f85
Update ScorePerformanceCalculator code path.
2020-10-07 14:10:25 +02:00
Lucas A
7f5cf04b2b
Fix merge conflicts.
2020-10-07 13:28:49 +02:00
Dean Herbert
6ac70945f2
Show bonus judgements on expanded panel
2020-10-07 16:17:28 +09:00
Dean Herbert
d6d0bd90a3
Extract tuple into class
2020-10-07 15:34:03 +09:00
Dean Herbert
50eca202f4
User IEnumerable for HandledExtensions
2020-10-02 16:17:10 +09:00
Dean Herbert
a1b8ced46d
Merge branch 'master' into fix-score-recalc
2020-10-01 17:00:20 +09:00
Lucas A
2766cf73b4
Reuse BeatmapDifficultyManager cache for beatmap difficulty attributes.
2020-09-29 18:32:02 +02:00
Lucas A
35f7de2084
Apply review suggestions.
2020-09-29 18:08:21 +02:00
smoogipoo
297168ecc4
Fix scores sometimes not being re-standardised correctly
2020-09-29 19:06:09 +09:00
smoogipoo
f439c1afbc
Make osu/taiko/catch use Ok+Great
2020-09-29 17:16:55 +09:00
smoogipoo
31fae045fa
Update judgement processors with new hit results
2020-09-29 16:33:38 +09:00
Lucas A
6efc4c4250
Cache performance calculations to prevent recomputations.
2020-09-28 19:04:39 +02:00
Lucas A
ddede85704
Split performance calculation to its own class.
2020-09-27 12:44:29 +02:00
smoogipoo
a07597c369
Adjust displays to use new results/orderings
2020-09-25 20:22:59 +09:00
smoogipoo
5cdc8d2e7b
Add cancellation support
2020-09-09 17:37:11 +09:00
smoogipoo
37a659b2af
Refactor/add xmldocs
2020-09-09 17:36:47 +09:00
smoogipoo
e271408fca
Move max score calculation inside ScoreProcessor
2020-09-09 16:51:53 +09:00
smoogipoo
117c7ec6b2
Merge branch 'master' into score-recalc
2020-09-09 14:38:36 +09:00
smoogipoo
ec2674e1ea
Fix nullref with null beatmap
2020-08-28 22:51:39 +09:00
smoogipoo
d7bbb362bf
Separate bindables
2020-08-28 22:51:19 +09:00
smoogipoo
8ffc4309fb
Fix possible NaN values
2020-08-28 22:23:44 +09:00
smoogipoo
39f8b5eb85
Use async difficulty calculation
2020-08-28 21:45:27 +09:00
smoogipoo
1e5e5cae0c
Add support for standardised -> classic changes
2020-08-28 21:34:34 +09:00
smoogipoo
4d15f0fe52
Implement basic score recalculation
2020-08-28 19:16:46 +09:00
Bartłomiej Dach
af59e2c179
Use extension methods instead of reading directly
2020-08-27 18:18:32 +02:00
Bartłomiej Dach
fc51e9d81a
Fix some legacy mania replays crashing on import
2020-08-27 18:16:20 +02:00
smoogipoo
b361761d86
Add position display in contracted score panels
2020-07-31 22:02:25 +09:00
smoogipoo
33fdd7466c
Merge branch 'master' into results-screen-statistics-overlapping-transition
2020-06-22 15:38:48 +09:00
smoogipoo
eab00ec9d9
Move hit events to the ScoreProcessor
2020-06-19 19:58:35 +09:00
smoogipoo
20db5b33ab
Rework score processor to provide more generic events
2020-06-18 22:11:03 +09:00
smoogipoo
900da88498
Populate hit offsets from score processor
2020-06-15 22:44:55 +09:00
Dean Herbert
90d69c1216
Allow legacy score to be constructed even if replay file is missing
2020-06-15 20:31:47 +09:00
Dean Herbert
c490dba7b3
Fix crash on local score display
2020-06-13 18:18:46 +09:00
smoogipoo
f3b5149648
Move some suggestions to warnings, resolve issues
2020-06-03 16:48:44 +09:00
smoogipoo
e91e4a73af
Fix catch crashing when finishing maps
2020-05-07 12:22:07 +09:00
smoogipoo
ae210d567d
Add temporary solution for tick hit/miss count
2020-04-16 18:16:08 +09:00
Dean Herbert
9602ab17b0
Fix replay imports failing for certain mod combinations
2020-03-31 17:13:42 +09:00
Dean Herbert
f75c082601
Fix osu!mania replays recording incorrectly when key mod applied
2020-03-27 15:50:11 +09:00
Dean Herbert
8a2aac5f83
Rename conversion methods for clarity
2020-03-25 20:21:34 +09:00
Dean Herbert
2feb66d423
Correctly handle missing positional data
2020-03-24 15:43:34 +09:00
Dean Herbert
02a3c7c025
Fix incorrect ruleset being recorded to file
2020-03-24 15:43:22 +09:00
Dean Herbert
022465f546
Add encoding and import support
2020-03-24 14:51:52 +09:00
Dean Herbert
546772192c
Add helper method to convert to legacy mods enums
2020-03-24 13:07:51 +09:00
Dean Herbert
e5f4d8686e
Rename decoder
2020-03-24 13:07:50 +09:00
TheWildTree
59cf2037d0
Introduce SortedStatistics
2020-02-07 21:11:58 +01:00
recapitalverb
a8ce50fadd
Add FormatUtils.FormatAccuracy and usages
2020-02-04 11:17:23 +07:00
recapitalverb
ddf9317bec
Replace :P2
with :0.00%
2020-02-04 08:25:01 +07:00
recapitalverb
257b4052e8
Add {ScoreInfo,UserStatistics}.Accuracy
2020-02-03 22:09:07 +07:00
Dean Herbert
d03723303d
Fix typo in comment
2020-01-30 16:29:15 +09:00
Dean Herbert
7b4a658264
Fix negative replay frames being played back incorrectly
2020-01-30 14:54:57 +09:00
Dean Herbert
b1533ae2a9
Fix score serialisation failing for unknown mod properties
2019-12-19 14:58:56 +09:00
Dean Herbert
886db8eb22
Merge branch 'master' into fix-local-score-availability
2019-12-18 01:15:20 +09:00
smoogipoo
946a202ee5
Fix online replays not being available locally
2019-12-17 15:47:08 +09:00
Huo Yaoyuan
caf3f774ba
CA1309: compare strings correctly.
2019-12-17 13:00:15 +08:00
Dean Herbert
ca1f3417a3
Merge pull request #7046 from smoogipoo/fix-replay-button
...
Fix replay download button not working
2019-12-04 23:00:40 +09:00
Dean Herbert
1ce6a5ceb3
Rename class
2019-12-03 15:38:57 +09:00
Dean Herbert
f0d49d0cdf
Decouple APILegacyScoreInfo from ScoreInfo
2019-12-03 15:31:11 +09:00
smoogipoo
aadbbb1af3
Fix replay download button not working
2019-12-03 13:33:42 +09:00
smoogipoo
6288e6da56
Add null check
2019-11-20 13:42:54 +09:00
smoogipoo
76ed573c56
Fix crash when loading results after gameplay
2019-11-20 12:21:49 +09:00
smoogipoo
c89c092b98
Allow undeleting scores if their beatmap exists
2019-09-20 19:55:59 +09:00
smoogipoo
dfc0928ebe
Fix scores importing with deleted beatmap sets
2019-09-20 19:39:21 +09:00
Dean Herbert
624e5644a4
Change osu!catch key trigger to occur on frame before positional change
2019-09-13 23:06:35 +09:00
Dean Herbert
acdfeef1dc
Improve how osu!catch stores and replays key actions
2019-09-12 18:33:46 +09:00
Dean Herbert
f925e781a9
Refactor HitWindows for legibility
2019-09-06 15:24:14 +09:00
Dean Herbert
ac01e9fbeb
Fix legacy scores with no online ID being imported with a non-null ID
2019-07-29 18:36:07 +09:00
Dean Herbert
598b0d668b
Merge branch 'master' into import-stable-scores
2019-07-05 15:54:33 +09:00
Dean Herbert
87c8fd0035
Fix path specification not being cross-platform compliant
2019-07-05 14:15:29 +09:00
Dean Herbert
ba8df3ba92
Clean up stable lookup and mutate logic
2019-07-05 13:59:31 +09:00
iiSaLMaN
bff5ad22f4
Check if the locally available score has files
2019-07-05 05:16:40 +03:00
Dean Herbert
7575047db8
Merge branch 'master' into import-stable-scores
2019-07-04 01:00:42 +09:00
naoey
bc52f76556
Move replay button to score card
2019-06-29 10:55:30 +05:30
naoey
53d6d74537
Update to match upstream changes
2019-06-28 09:33:13 +05:30
naoey
ab0bb8b678
Implement replay downloading with ArchiveDownloadModelManager
2019-06-28 09:33:13 +05:30
HoLLy
802da225d4
Move responsibility for selecting paths to model managers
2019-06-21 17:32:47 +02:00
HoLLy
c1c19243cd
Change FirstOrDefault back to First
2019-06-19 20:40:30 +02:00
HoLLy
8d62ce8967
Remove now unneeded check against file extension
2019-06-19 20:38:43 +02:00
HoLLy
15c75b4442
Add basic score import from stable
2019-06-19 18:33:51 +02:00
Arphox
07e17518e9
Fix all "Maintainability" CodeFactor issues
2019-06-11 10:28:16 +02:00
iiSaLMaN
a2b9dba92c
Remove ScoreRank.F
2019-06-08 19:35:29 +03:00
iiSaLMaN
383b937a7e
Rename F grade to D
2019-06-08 19:10:00 +03:00
Dean Herbert
24e64c1333
Add proper co-dependent beatmap/score deletion via events
2019-05-09 15:15:28 +09:00
Dan Balasescu
288b3deb94
Merge branch 'master' into fix-rank-display
2019-05-07 15:00:51 +09:00
smoogipoo
d7c09e7dbd
Merge remote-tracking branch 'origin/master' into fix-new-inspections
...
# Conflicts:
# osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
# osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
# osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
# osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
# osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
# osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
# osu.Game/Graphics/OsuFont.cs
# osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
# osu.Game/Overlays/Profile/Header/BadgeContainer.cs
# osu.Game/Overlays/Profile/ProfileHeader.cs
# osu.Game/Screens/Select/PlaySongSelect.cs
# osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
Dean Herbert
6bdaca1e3b
Fix mod equality checks not working as intended
2019-05-03 10:09:47 +09:00
Dean Herbert
30d4dd9355
Change + rank strings to be cleaner for the end-user
2019-04-21 21:38:12 +09:00
Dean Herbert
2060bad3bc
Try applying minimal inspection fixes for latest Rider EAP
2019-04-01 13:28:14 +09:00
Dean Herbert
c39c37a18d
Apply more missed cases
2019-04-01 12:44:46 +09:00
Dean Herbert
7d6a08d6da
Fix a few new inspections in latest Rider EAP
2019-04-01 11:39:02 +09:00
smoogipoo
fb0bba9b37
Use Parsing helpers
2019-04-01 11:23:07 +09:00
smoogipoo
f453675838
Fix replays being parsed with incorrect cultures
2019-04-01 10:31:20 +09:00
smoogipoo
0066459968
Don't convert 100s/50s for catch
2019-03-28 12:55:56 +09:00
smoogipoo
977122d05f
Fix ScoreInfo not getting set
2019-03-27 16:59:29 +09:00
smoogipoo
8fcb75809d
Add LegacyScoreInfo for statistics preservation/conversion
2019-03-27 16:55:46 +09:00
smoogipoo
a5d5f469eb
Populate more hit results for catch
2019-03-27 14:52:56 +09:00
Dan Balasescu
fd147dae21
Merge branch 'master' into fix-disabled-set-crash
2019-03-05 17:25:13 +09:00
Dean Herbert
1871e8bb2c
Merge branch 'master' into master
2019-03-01 21:22:34 +09:00
Dean Herbert
6bccdd50ef
Merge branch 'master' into UserIDDBStore
2019-03-01 11:07:30 +09:00
Dean Herbert
d4041d5d42
Automate includes of files in ArchiveModelManager use cases
2019-03-01 10:25:21 +09:00
David Zhao
9f9b2b1902
Remove redundant setters
2019-02-28 17:13:25 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +09:00
Dean Herbert
c8793911a8
Enable more stringent inspectcode style inspections
2019-02-27 21:25:40 +09:00
Dean Herbert
56697339b3
Merge branch 'master' into fix-disabled-set-crash
2019-02-27 11:14:42 +09:00
smoogipoo
8a943a6e65
Fix scores being stored as ints
2019-02-26 13:10:59 +09:00
Dean Herbert
314f35b0c5
Further simplify import messaging
2019-02-25 18:42:08 +09:00
David Zhao
22a68d7bea
Perform new migration
2019-02-25 15:25:22 +09:00
David Zhao
4475643726
Revert database migration
2019-02-25 14:40:44 +09:00
David Zhao
8da671fa6c
Check if a user exists before creating new user
2019-02-25 13:58:19 +09:00
David Zhao
809ab86ed0
Fix user ID not being added to database
...
Needed for avatar retrieval
2019-02-23 17:04:02 +09:00
Dean Herbert
91d875db0d
Remove unused local
2019-02-04 12:56:55 +09:00
Dean Herbert
cd92dddd46
Add per-ruleset mappings
2019-02-04 12:31:05 +09:00
Dean Herbert
2d7c23dd9f
Merge remote-tracking branch 'upstream/master' into fix-replay-import-statistics
2019-02-04 12:15:53 +09:00
Dean Herbert
8617aaa2a7
Update licence header (and remove year)
2019-01-24 17:43:03 +09:00
Dean Herbert
484268f1f2
Expose CalculateAccuracy for performance tools
2019-01-23 20:30:32 +09:00
Dean Herbert
e73845172c
Merge branch 'master' into fix-replay-import-statistics
2019-01-07 13:44:01 +09:00
Dean Herbert
4a7c6fb19d
Fix PP not display on profile overlay
2019-01-04 16:33:35 +09:00
Dean Herbert
aec3753863
Fix imported replays having excess statistics
2019-01-03 14:01:20 +09:00
Dean Herbert
bb502769c7
Fix enum
2018-12-26 22:42:17 +09:00
smoogipoo
3570c35d7f
Make RoomScore derive ScoreInfo
2018-12-22 15:17:35 +09:00
smoogipoo
9726eea0d0
Basic score submission implementation
2018-12-14 21:09:17 +09:00
Dean Herbert
94045413ce
Change statistics to be int for now
2018-12-05 19:44:01 +09:00
Dean Herbert
f9fb6dc39b
Remove health from ScoreInfo
2018-12-01 00:17:05 +09:00
Dean Herbert
af3ef9a089
Fix some data types on ScoreInfo
2018-11-30 20:43:38 +09:00
Dean Herbert
2860f5a5cd
Revert "Fix D rank displaying as F"
...
This reverts commit 17b2a4ca0d
.
2018-11-30 20:03:21 +09:00
Dean Herbert
3921834cfd
Merge branch 'master' into fix-d-rank
2018-11-30 19:49:36 +09:00
Dean Herbert
b985d19078
Merge branch 'master' into local-score-saving
2018-11-30 19:48:00 +09:00
Dean Herbert
17b2a4ca0d
Fix D rank displaying as F
2018-11-30 19:46:40 +09:00
smoogipoo
f80a30cba4
Fix null being serialized
2018-11-30 18:52:31 +09:00
smoogipoo
10ed09521c
Add leaderboard display for local scores
2018-11-30 18:40:53 +09:00
smoogipoo
8eff49bccd
Remove User from Replay
2018-11-30 18:25:14 +09:00
Dean Herbert
059e9e180b
Apply review
2018-11-30 18:07:15 +09:00
Dean Herbert
2dd5dad7c5
Remove empty lines
2018-11-30 18:07:15 +09:00
Dean Herbert
66e43e6ed9
Update hashing method in line with master
2018-11-30 17:36:06 +09:00
Dean Herbert
d97a15a504
Add IMod and change ShortenedName to Acronym
2018-11-30 17:16:00 +09:00
Dean Herbert
e82ad3539b
Move JsonIgnore specification to interface
2018-11-30 16:39:25 +09:00
Dean Herbert
3727955911
Refactors/renames
2018-11-30 16:35:45 +09:00
Dean Herbert
831cd3ed59
ScoreInfo scoreInfo -> ScoreInfo score
2018-11-30 15:18:52 +09:00
smoogipoo
69370c53ca
Fix rank not being read
2018-11-30 14:48:25 +09:00
smoogipoo
690a1f0765
Fix score statistics not being serialised
2018-11-30 14:27:34 +09:00
smoogipoo
5530736541
Cleanup mods string
2018-11-30 14:27:34 +09:00
smoogipoo
b673eb79b1
Fix local score infos conflicting
2018-11-30 14:27:34 +09:00
smoogipoo
aa7f66b24a
Fix crash when loading scores with no mods
2018-11-30 14:27:34 +09:00
smoogipoo
d2f0a921ca
Fix lookups by beatmapinfo failing for imports of existing sores
2018-11-28 20:41:48 +09:00
smoogipoo
aaf3e650a5
Fix some columns
2018-11-28 20:19:35 +09:00
smoogipoo
2bb7a078c9
Don't import replays with no existing beatmap
2018-11-28 20:19:35 +09:00
smoogipoo
554c858944
Fix mods not deserializing properly
2018-11-28 20:19:35 +09:00
smoogipoo
542a75d076
Add index on online score id
2018-11-28 18:56:20 +09:00
smoogipoo
b8e60afa69
Move replays to an wrapping Score class
2018-11-28 18:45:17 +09:00
smoogipoo
219929eb47
Score -> ScoreInfo
2018-11-28 18:33:01 +09:00
smoogipoo
41a8a12df3
Add ruleset foreign key
2018-11-28 17:26:46 +09:00
smoogipoo
ed02847752
Beatmap -> BeatmapInfo + add foreign key
2018-11-28 17:26:39 +09:00
smoogipoo
2ee181daf7
Re-namespace replay-related classes
2018-11-28 17:20:37 +09:00