1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-26 16:13:22 +08:00
Commit Graph

2234 Commits

Author SHA1 Message Date
ProTheory8
02f26e4a4d
Update comment
Co-Authored-By: Salman Ahmed <email@iisalman.me>
2020-01-21 08:44:22 +05:00
ProTheory8
41295bc27c Difficulty Adjust mod customisation menu opens automatically now 2020-01-20 21:06:36 +05:00
Dean Herbert
25aff5d96e Merge remote-tracking branch 'upstream/master' into decouple-blueprint-container 2020-01-20 17:08:59 +09:00
mcendu
e096688ac8
simplify some stuff 2020-01-16 17:58:47 +08:00
smoogipoo
5f178b7755 General refactorings 2020-01-16 11:54:03 +09:00
Dean Herbert
d57f55f053 Apply remaining changes required to restore previous functionality 2020-01-15 19:09:49 +09:00
mcendu
970653470c
format 2020-01-15 17:49:45 +08:00
mcendu
12cf304598
Update ModDaycore icon 2020-01-14 21:23:09 +08:00
mcendu
5d160376c0
nullable-ize Mod.Icon 2020-01-14 21:22:00 +08:00
mcendu
abdebcfddc
switch to changing Mod property 2020-01-14 20:11:32 +08:00
mcendu
c08fc62e00
expose setter of Mod 2020-01-14 19:59:43 +08:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Albie Spriddell
23ed64c5fd Merge branch 'rpc' of https://github.com/aspriddell/osu into rpc 2020-01-03 13:08:06 +00:00
Albie Spriddell
71a3db7cd6 remove from rulesetinfo 2020-01-03 13:08:01 +00:00
Albie
b500ee44fb
Update osu.Game/Rulesets/Ruleset.cs
Co-Authored-By: Salman Ahmed <email@iisalman.me>
2020-01-03 13:00:57 +00:00
Albie Spriddell
5940851519 remove database dependency 2020-01-03 12:17:01 +00:00
Albie Spriddell
3a903339d6 add playingverb and database migrations 2020-01-03 11:39:15 +00:00
Dan Balasescu
c07cfce3b3
Merge branch 'master' into resource-assembly 2020-01-03 17:56:25 +09:00
Dean Herbert
ee332e0d42 Split out BlueprintContainer functionality further 2020-01-02 18:21:16 +09:00
smoogipoo
0f8a76afde Remove manual hitobject sample namespacing 2020-01-02 14:27:27 +09:00
Dean Herbert
f09f9eb07d Merge branch 'master' into general-editor-beatmap 2020-01-01 23:27:08 +09:00
Dean Herbert
ca90f708f1 Merge remote-tracking branch 'upstream/master' into remove-editor-beatmap-generics 2020-01-01 21:03:31 +09:00
smoogipoo
8c378dc625 Move EditorBeatmap construction/conversion to Editor 2019-12-30 14:51:14 +09:00
Huo Yaoyuan
1b33581667 Construct DllResourceStore with assemblies 2019-12-28 21:13:18 +08:00
Bartłomiej Dach
3621362a48 Merge branch 'master' into scrolling-container-origin-adjust 2019-12-27 16:52:21 +01:00
Dean Herbert
5efb7e8015 Always update default value 2019-12-27 23:01:52 +09:00
smoogipoo
6069d98ced Remove generic editor beatmap 2019-12-27 19:39:30 +09:00
Dean Herbert
2c8879f0fb Lock user adjusted difficulty settings when changing beatmap 2019-12-27 19:05:17 +09:00
Dan Balasescu
199c0bca02
Merge branch 'master' into fix-mod-read-setting 2019-12-27 17:45:24 +09:00
Dan Balasescu
ecfe1d361b
Merge branch 'master' into fix-mod-read-setting 2019-12-27 17:29:13 +09:00
Dean Herbert
b330aec03e Drain starting at the first hitobject, not gameplay start 2019-12-27 16:16:30 +09:00
smoogipoo
c22744de2c Better define minimum health targets 2019-12-27 12:46:35 +09:00
smoogipoo
fbbd16b4f0 Remove healthIncreases nullability 2019-12-27 12:39:25 +09:00
Bartłomiej Dach
193e41f878 Add origin adjustment for hitobject lifetime
Visual inspection of taiko gameplay has shown that hitobjects appeared
on screen only when the origin of the hitobject came into the bounds
of the screen, instead of appearing when any visible part of the
hitobject came into the screen bounds.

This behaviour was due to lifetime calculation being based on the origin
of the hitobject and not taking into account the actual object
dimensions. Adjust the lifetime start of the hitobject by subtracting
the time needed to show the part of the hitobject that should already
be visible on screen when the origin comes into frame.
2019-12-26 20:37:29 +01:00
Dean Herbert
a4d4efc312
Fix missing comments 2019-12-26 19:33:59 +09:00
smoogipoo
35f64d9aae More comments 2019-12-26 17:54:31 +09:00
smoogipoo
f5dbd57d55 Refactor drain calculation for resiliency 2019-12-26 17:36:40 +09:00
smoogipoo
662ec2d812 Refactor gameplay-time drain limitation 2019-12-26 15:46:07 +09:00
smoogipoo
e0c1072ab2 Add xmldocs 2019-12-26 15:01:19 +09:00
smoogipoo
eba6371526 Re-implement taiko's accumulating health processor 2019-12-26 15:01:19 +09:00
smoogipoo
3b07c3913d Add perfect and ok values, move to base Judgement 2019-12-26 15:00:59 +09:00
smoogipoo
0454c5022d Fix some maps potentially starting with 0 health 2019-12-26 15:00:59 +09:00
smoogipoo
90a0569660 Tweak drain values 2019-12-26 15:00:58 +09:00
smoogipoo
522847987b Implement break/gameplay start times 2019-12-26 15:00:58 +09:00
smoogipoo
b348abcd07 Only drain health in non-break times 2019-12-26 14:59:49 +09:00
smoogipoo
977fb3d1bf Make processors and break overlay frame-stable 2019-12-26 14:59:49 +09:00
smoogipoo
85c44b5a5a Disable list additions during gameplay 2019-12-26 14:59:49 +09:00
smoogipoo
bd74d086fb Remove adjustment factor 2019-12-26 14:59:49 +09:00
smoogipoo
70d2d8a2fa Add adjustable target percentage 2019-12-26 14:59:49 +09:00
smoogipoo
a4b1c79e18 Initial implementation of HP drain 2019-12-26 14:59:49 +09:00
smoogipoo
985277da79 Add time elapsation to judgement simulation 2019-12-26 14:59:49 +09:00
smoogipoo
90cb9d9162 Simplify scoreprocesor/healthprocessor implementations 2019-12-26 14:59:49 +09:00
smoogipoo
7414a6aadd Merge remote-tracking branch 'huoyaoyuan/master' into health-processor
# Conflicts:
#	osu.Game.Rulesets.Catch/CatchRuleset.cs
#	osu.Game.Rulesets.Mania/ManiaRuleset.cs
#	osu.Game.Rulesets.Taiko/TaikoRuleset.cs
2019-12-26 14:56:54 +09:00
Dean Herbert
f603dd82bc Fix difficulty adjust mod not correctly reading settings while leaderboard visible 2019-12-26 14:52:08 +09:00
Dean Herbert
a47e5aeead Fix sample lookup not working correctly for custom rulesets 2019-12-26 00:51:44 +09:00
Dan Balasescu
9702cc9809
Merge branch 'master' into remove-legacy-id 2019-12-25 21:01:12 +09:00
Dean Herbert
1b1c255394
Make the Easy mod's extra life count customizable (#7331)
Make the Easy mod's extra life count customizable
2019-12-25 20:19:08 +09:00
Dean Herbert
d84b319a3a Merge remote-tracking branch 'upstream/master' into adjustable-map-settings 2019-12-25 15:20:17 +09:00
Dean Herbert
911dc2d98d Fix code inspections 2019-12-25 15:20:10 +09:00
Dean Herbert
52ba0cd816 Rename method to be more appropriate
Also adds xmldoc.
2019-12-25 15:20:04 +09:00
Dean Herbert
e019ea408a
Merge branch 'master' into adjustable-map-settings 2019-12-25 13:16:47 +09:00
Lucas A
e3753ae29f Make the easy mod's extra life count customizable 2019-12-24 10:13:12 +01:00
smoogipoo
00546787c8 Remove unused method 2019-12-24 16:52:49 +09:00
Dean Herbert
fcb7a9ade5 Update RulesetStore to read from populated defaults 2019-12-24 16:16:55 +09:00
Dean Herbert
5738267642 Copy ruleset info over default 2019-12-24 16:05:20 +09:00
Dean Herbert
d87203857b Move default construction into constructor 2019-12-24 16:02:35 +09:00
Dean Herbert
a324bfbc2c Remove LegacyID from Ruleset 2019-12-24 13:48:27 +09:00
unknown
fe73b9f8d3 make HP and OD generic and instantiate CS and AR to modes that need it 2019-12-22 16:45:32 +08:00
Salman Ahmed
55be4478aa Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-21 12:36:09 +03:00
unknown
1bd44529dd add full-stop to mod description for consistency 2019-12-20 18:31:16 +08:00
unknown
08b477ed52 make ModDifficultyAdjust abstract 2019-12-20 18:30:23 +08:00
smoogipoo
50fa6c5f77 Update score on reverts 2019-12-19 20:18:23 +09:00
smoogipoo
04c3a6f8a4 Move more properties to the base class 2019-12-19 20:18:17 +09:00
smoogipoo
76f2fb378f Separate score and health parts of ScoreProcessor 2019-12-19 20:03:14 +09:00
smoogipoo
1da8cc8690 Encapsulate common logic of ScoreProcessor 2019-12-19 19:03:27 +09:00
smoogipoo
39489e2901 Merge remote-tracking branch 'refs/remotes/origin/master' into fix-editor-movement-crash 2019-12-18 18:51:56 +09:00
smoogipoo
5664ce3109 Add hitobject container regression test 2019-12-18 18:51:12 +09:00
Dean Herbert
ea661fce21
Merge branch 'master' into adjustable-map-settings 2019-12-18 18:44:11 +09:00
Dean Herbert
5cdc7d3b18
Merge pull request #7183 from smoogipoo/legacy-beatmap-saving
Add initial implementation of a legacy beatmap encoder
2019-12-18 18:43:14 +09:00
Dean Herbert
51a01c7006
Merge pull request #7256 from peppy/remove-ruleset-ctor-param
Remove RulesetInfo parameter from Ruleset constructor
2019-12-18 18:42:42 +09:00
smoogipoo
2a128340d0 Merge remote-tracking branch 'refs/remotes/origin/master' into nightcore-beats 2019-12-18 17:58:37 +09:00
Dean Herbert
fa067b8799
Merge branch 'master' into legacy-beatmap-saving 2019-12-18 17:17:03 +09:00
Dean Herbert
6e0802e50c Remove RulesetInfo parameter from Ruleset constructor 2019-12-18 14:49:09 +09:00
smoogipoo
df8f8ffd0d Fix potential exception during removal 2019-12-18 12:03:15 +09:00
smoogipoo
bcc19e29f2 Fix editor crashing after re-ordering objects 2019-12-18 02:56:29 +09:00
Dean Herbert
e0ce87adca
Move CreateScoreProcessor() to Ruleset (#7244)
Move CreateScoreProcessor() to Ruleset
2019-12-17 22:15:42 +09:00
Dan Balasescu
fd2785bab3
Merge branch 'master' into fxcop 2019-12-17 20:14:45 +09:00
smoogipoo
49bf8d27d1 Move CreateScoreProcessor() to Ruleset 2019-12-17 20:08:13 +09:00
Huo Yaoyuan
d5994ed484 CA2208: create exceptions correctly. 2019-12-17 13:00:10 +08:00
Huo Yaoyuan
3c39fde7ff CA1065: throw NotSupportedException in properties. 2019-12-17 13:00:05 +08:00
Huo Yaoyuan
d7b3578cc6 CA2201: throw correct exception type. 2019-12-17 13:00:02 +08:00
Huo Yaoyuan
ecfc6dfa3d CA1825: use Array.Empty. 2019-12-17 12:59:48 +08:00
Dean Herbert
b5db927d93 Merge branch 'master' into cinema-mod 2019-12-17 12:56:06 +09:00
Dean Herbert
272d7d0ca9
Merge branch 'master' into fallback-to-skin-combo-colours 2019-12-17 12:36:20 +09:00
Dean Herbert
87035f8251 Simplify complex method 2019-12-17 12:12:15 +09:00
Dean Herbert
438d97f4f5 Rename variable for clarity 2019-12-16 19:42:28 +09:00
Dean Herbert
cfd8111120 Better initial beat handling 2019-12-16 19:41:02 +09:00
Dean Herbert
72404bff9a Add support for simple triple time 2019-12-16 19:16:54 +09:00
Dean Herbert
210fecc951 Fix incorrect hat logic; add support for first barline omission 2019-12-16 18:57:11 +09:00
Dean Herbert
0f9ff32cdc Fix beat playing while paused 2019-12-16 18:51:22 +09:00
Dean Herbert
c883c97bab Fix off-by-one starting bar 2019-12-16 18:50:58 +09:00
Dean Herbert
3e0fda58ea Play finish in addition to kick, not isolated 2019-12-16 18:47:06 +09:00
Dean Herbert
9de6b62fb1 Fix nightcore beat not playing if song doesn't hit beat index 0 2019-12-16 18:24:29 +09:00
smoogipoo
8beb6b534f Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving 2019-12-16 17:09:03 +09:00
unknown
88d3a1707d ensure beatIndex is 0 before starting beats 2019-12-16 06:35:18 +08:00
Huo Yaoyuan
c457571da6 Use index and range expressions 2019-12-15 20:17:35 +08:00
unknown
c06e558f87 add setting to start fully wounded 2019-12-15 18:12:37 +08:00
unknown
154bc57c6e remove unused dependency 2019-12-15 17:46:44 +08:00
unknown
6da168118e remove unused usings 2019-12-15 17:02:29 +08:00
unknown
01c036b0b0 implement backing beats for nightcore mods 2019-12-15 16:56:02 +08:00
Huo Yaoyuan
ddb2cfc46d Use GetEndTime in Taiko and Mania 2019-12-14 18:16:13 +08:00
Dean Herbert
59538bfd32 Merge branch 'global-available-mods' into adjustable-rate-mods 2019-12-13 21:57:27 +09:00
smoogipoo
72ea871bff Make constructor protected 2019-12-13 21:55:20 +09:00
Dean Herbert
af15662856 Fix WindUp applying too much change 2019-12-13 21:55:07 +09:00
smoogipoo
abf3f341b7 Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving 2019-12-13 19:01:25 +09:00
unknown
ab5aa8594d remove whitespace 2019-12-13 15:46:58 +08:00
unknown
0311cc83ad add whitespace 2019-12-13 15:27:34 +08:00
unknown
ababe7b6c9 refactor mod to make use of #7175 2019-12-13 15:22:07 +08:00
unknown
002a125b4a make ModDifficultyAdjust generic 2019-12-12 21:14:26 +08:00
Salman Ahmed
a9125f6544 Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-12 12:37:51 +03:00
Dean Herbert
623ab1ef3b Update time ramp preview on setting change 2019-12-12 17:38:18 +09:00
Dean Herbert
d15f49f60f Also hide the break overlay 2019-12-12 16:13:02 +09:00
Dean Herbert
99280db694 Add note about AlwaysPresent requirement 2019-12-12 16:12:40 +09:00
Dean Herbert
e4297ffead Hide HUD in a better way 2019-12-12 16:12:32 +09:00
Dean Herbert
37a94988a3 Merge branch 'improve-hud-hiding' into cinema-mod 2019-12-12 16:12:19 +09:00
smoogipoo
5861eca80d Make DrawableRuleset take a converted beatmap 2019-12-12 15:58:11 +09:00
Dean Herbert
4c4199269c Use protected constructors 2019-12-12 15:25:37 +09:00
Dean Herbert
9961fa7385
Merge branch 'master' into adjustable-rate-mods 2019-12-12 15:10:23 +09:00
Dean Herbert
d2ada90434
Merge branch 'master' into single-scoreprocessor 2019-12-12 11:36:45 +09:00
unknown
472fa9822c make ModDifficultyAdjust incompatible with ModEasy and ModHardRock 2019-12-12 08:25:51 +08:00
Albie
4a1c6db3ed
Merge branch 'master' into cinema-mod 2019-12-11 18:00:17 +00:00
Albie
caa9286a90 update tests, change binding and reduce lines in cinema mod 2019-12-11 17:39:40 +00:00
unknown
b0cf44c3be fix appveyor issues 2019-12-11 20:12:29 +08:00
unknown
b795532aa5 add difficulty adjustment mods 2019-12-11 19:43:16 +08:00
smoogipoo
40f918dce6 Remove unused using 2019-12-11 19:49:32 +09:00
smoogipoo
c34b6b59ed Remove time ramp and rate adjust mod incompatibility 2019-12-11 19:48:57 +09:00
smoogipoo
404d3207ff Refactor ModNightcore/ModDaycore 2019-12-11 19:43:32 +09:00
smoogipoo
48f1dad4aa Remove abstract ScoreProcessor class 2019-12-11 17:25:06 +09:00
Dean Herbert
9eed64997f Merge branch 'customized-mods' into adjustable-rate-mods 2019-12-11 13:26:05 +09:00
Albie
a61f8cc2c3
Merge branch 'master' into cinema-mod 2019-12-10 17:06:53 +00:00
smoogipoo
c378e525da Extract the rest of legacy enums 2019-12-10 20:23:15 +09:00
smoogipoo
e3f925f69a Extract legacy hitobject type enum 2019-12-10 20:19:16 +09:00
smoogipoo
8012b21ffa Extract legacy sound type enum 2019-12-10 20:18:44 +09:00
Dean Herbert
138b83c9ea
Merge branch 'master' into customized-mods 2019-12-10 19:13:32 +09:00
Dean Herbert
f7f4a57c5f Update bindable types in line with framework 2019-12-10 16:48:24 +09:00
Dan Balasescu
bd6a08a21b
Merge branch 'master' into apply-to-track 2019-12-10 16:15:24 +09:00
Dean Herbert
5f3d163772
Merge branch 'master' into segmented-slider-paths-3 2019-12-10 14:28:20 +09:00
smoogipoo
ab0f2e7c6a Apply suggested refactorings 2019-12-10 13:12:54 +09:00
Dean Herbert
dc9775742c
Fix incorrect code migration
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2019-12-10 02:23:17 +09:00
Dean Herbert
12bdb1dafd Pin DC/NC pitch 2019-12-09 20:40:38 +09:00
smoogipoo
47f3c4a596 Don't serialise path version 2019-12-09 20:18:18 +09:00
Dean Herbert
edc8220554 Add time ramp settings 2019-12-09 19:58:51 +09:00
Dean Herbert
7fd52c21f5 Update mods and user adjust to use adjustments 2019-12-09 19:41:31 +09:00
Dean Herbert
6b667daf09 Update bindable types in line with framework 2019-12-09 19:41:18 +09:00
Huo Yaoyuan
04b3297a05 Constrain configuration lookup as enum. 2019-12-09 17:45:26 +08:00
smoogipoo
6d9cd0fafe Split out complex method 2019-12-09 18:25:13 +09:00
smoogipoo
b6e2738236 Remove unused using 2019-12-09 18:15:00 +09:00
smoogipoo
a1798fd38d Fix bad ctor implementation 2019-12-09 18:01:13 +09:00
smoogipoo
bfbb9aa18e Remove outdated assert 2019-12-09 18:01:02 +09:00
smoogipoo
883d5bc11d Remove automatic slider path offsetting 2019-12-09 17:54:22 +09:00
smoogipoo
9cb649436c Default to linear control point type 2019-12-09 17:47:05 +09:00
smoogipoo
5a093c039c Simplify path/point construction 2019-12-09 17:46:40 +09:00
Dean Herbert
ba538cf09b Merge branch 'apply-to-track' into adjustable-double-time 2019-12-09 17:45:19 +09:00
Dean Herbert
eb074b7058 Allow mods to apply to track, not clock 2019-12-09 17:44:45 +09:00
Dean Herbert
0c7e5a2e3b Add bindable adjustments for DT/HT rate 2019-12-09 16:54:00 +09:00
Dean Herbert
e37526888c Merge remote-tracking branch 'upstream/master' into adjustable-double-time 2019-12-09 16:43:17 +09:00
smoogipoo
c18f2e6436 Merge remote-tracking branch 'refs/remotes/origin/master' into segmented-slider-paths-3 2019-12-09 15:34:49 +09:00
smoogipoo
4905709ea4 Remove unused usings 2019-12-09 13:19:21 +09:00
smoogipoo
16f8341a02 Handle control point positional updates within SliderPath 2019-12-06 18:49:01 +09:00
Dean Herbert
a5d5099868 Use SettingsSource for mod cusomisation 2019-12-06 17:09:48 +09:00
smoogipoo
b4e1b5fa98 Explose + use the full calculated length of the path 2019-12-06 15:53:19 +09:00
smoogipoo
2654710d91 Add tests and fix negative expected distances 2019-12-06 15:37:06 +09:00
Dean Herbert
170954bc6e Merge remote-tracking branch 'upstream/master' into customized-mods 2019-12-06 15:31:20 +09:00
smoogipoo
27dd12a66d Rewrite slider length calculation for readability 2019-12-06 15:06:31 +09:00
Dean Herbert
9f4c8db395 Add xmldoc 2019-12-06 12:17:41 +09:00
smoogipoo
23c7132c4f Add missing license header 2019-12-06 11:53:22 +09:00
Dean Herbert
d8620a70fb Make work in editor 2019-12-05 20:12:25 +09:00
smoogipoo
3ebbf62b2a Initial game-wide update with the new SliderPath 2019-12-05 19:53:36 +09:00
smoogipoo
c9a66c0d07 Expose a version to indicate path changes 2019-12-05 18:31:28 +09:00
smoogipoo
1585d83b96 Add legacy constructor 2019-12-05 18:19:42 +09:00
smoogipoo
986ac1cee4 Make expected distance a bindable 2019-12-05 17:51:29 +09:00
smoogipoo
2702edfa55 Rename new path, replace existing one 2019-12-05 17:49:32 +09:00
smoogipoo
5e9b739b67 Re-implement slider paths to support multiple segments 2019-12-05 16:45:02 +09:00
smoogipoo
0149e47673 Expose general control point change event 2019-12-05 14:38:32 +09:00
smoogipoo
3e0f499e72 Add xmldocs 2019-12-05 14:38:21 +09:00
smoogipoo
40d0700fa5 Add structure for path control points 2019-12-05 13:43:38 +09:00
Huo Yaoyuan
05cfef92f9 Don't compare spans with null. 2019-12-03 20:09:58 +08:00
Huo Yaoyuan
a42f9447e6 Don't use Equals(object) on T?. 2019-12-03 20:07:22 +08:00
Dean Herbert
f181ee1843 Hide the menu cursor while inside the playfield by default 2019-11-29 17:35:11 +09:00
Albie
7864899249
Merge branch 'master' into cinema-mod 2019-11-28 16:42:01 +00:00
Dean Herbert
01a37771bc
Merge branch 'master' into customized-mods 2019-11-27 19:44:32 +09:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Albie
09158b6b08
Merge branch 'master' into cinema-mod 2019-11-26 06:57:47 +00:00
Dean Herbert
fbebbab5db Remove excess parenthesis 2019-11-25 22:37:07 +09:00
Dean Herbert
709ec1404f Centralise End/StartTime retrieval to extension method 2019-11-25 19:09:14 +09:00
Albie
0a70ec0b11
Merge branch 'master' into cinema-mod 2019-11-25 07:25:30 +00:00
Albie
9fdbb2a58e change name of interface and expose method instead of seperate values 2019-11-25 07:24:29 +00:00
Albie
1d6665fe57 improve code quality using resharper and codefactor advice 2019-11-24 07:42:39 +00:00
Albie
b8e5796af5 add forced video/storyboard and disabled dim for mod inside new interface 2019-11-24 07:37:06 +00:00
andy840119
6126fd9a6b ApplyToDrawableHitObjects should be able to get all the hitobject in nasted Playfield 2019-11-24 10:42:05 +09:00