iiSaLMaN
ecd721e8c5
Add bypass fail property to Player
2019-09-18 22:49:28 +03:00
Dean Herbert
2fcc8c2d72
Simplify implementation, play fail animation during restart
2019-09-19 01:45:59 +09:00
Dean Herbert
ff3a7c1d13
Merge remote-tracking branch 'upstream/master' into auto-restart-mod-perfect
2019-09-19 01:36:29 +09:00
Dean Herbert
ec5f420818
Merge branch 'master' into key-counter-fixes
2019-09-17 22:56:34 +09:00
Dean Herbert
77947e8309
Fix rewind tests failing
2019-09-17 22:33:27 +09:00
Dean Herbert
38d85e44be
Merge branch 'master' into key-counter-fixes
2019-09-17 22:33:15 +09:00
smoogipoo
f0bcb2b933
Debounce user-requested replay seeks
2019-09-17 16:12:18 +09:00
Craftplacer
220fdd0a04
Make muteWarningShownOnce static
...
... so it will actually get an instance per osu session.
2019-09-16 06:56:52 +02:00
Craftplacer
cb033591c4
Merge branch 'master' into muted-notification
2019-09-15 17:59:27 +02:00
Craftplacer
ecce12981e
Use block body for constructor to fix remaining code inspection issue
2019-09-15 17:47:44 +02:00
Craftplacer
e3884658af
Resolve code inspection errors
2019-09-15 17:36:53 +02:00
Dean Herbert
2381b4c003
Move video behind storyboard
2019-09-16 00:20:56 +09:00
Craftplacer
ec788ac09d
Make notification only show up once per session
2019-09-15 17:20:07 +02:00
Craftplacer
811a08d18f
Use Bindable instead of bool
2019-09-15 16:50:01 +02:00
Craftplacer
00e46fdefe
Add check if game is muted by MuteButton
2019-09-15 16:32:23 +02:00
Craftplacer
4a10e6c44e
Use ResolvedAttribute for NotificationOverlay
2019-09-15 16:11:45 +02:00
Craftplacer
78931c8e23
Implement notification when user has track or master volume muted
...
This took around under a hour to implement, it has the same behavior and content from osu!stable.
A notification will show up when the user has either its master or track volume set to the minimum, clicking it will set it to the default values.
2019-09-15 15:59:46 +02:00
Andrei Zavatski
9febeb1f3d
Add black background
2019-09-14 06:32:00 +03:00
Andrei Zavatski
a36c808682
Use Fit FillFode
2019-09-14 06:28:59 +03:00
Andrei Zavatski
9a94405b3a
Fix video playback is stretched on client resize
2019-09-14 06:05:09 +03:00
Dan Balasescu
b10ce0b12d
Merge branch 'master' into key-counter-fixes
2019-09-13 19:43:33 +09:00
Andrei Zavatski
437e121056
Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video
2019-09-13 13:39:58 +03:00
smoogipoo
cf2f841b4d
Fix player not correctly exiting after an unpause
2019-09-13 15:42:58 +09:00
Dean Herbert
831d04f339
Don't use gameplay clock in KeyCounter
2019-09-12 15:48:07 +09:00
Dean Herbert
0cdf125c1e
Handle key counter rewinding in a better way
...
Use ElapsedFrameTime rather than storing state data
2019-09-12 15:42:14 +09:00
Dean Herbert
cb0cf6e2c5
Remove reset functions
2019-09-12 14:27:52 +09:00
Dean Herbert
158737e001
Remove FadeTime customisation
...
Also adjusts fade transitions to feel better, especially in fast forward scenarios.
2019-09-12 14:27:29 +09:00
Dean Herbert
f9c969788a
Fix keys not reaching full brightness as soon as they should
2019-09-12 13:56:23 +09:00
Dean Herbert
88d0756107
Allow global actions to propagate through pause screen
2019-09-06 17:17:30 +09:00
Dean Herbert
f925e781a9
Refactor HitWindows for legibility
2019-09-06 15:24:14 +09:00
Dean Herbert
986ac08397
Fix pause menu keyboard navigation being affected by initial cu… ( #6002 )
...
Fix pause menu keyboard navigation being affected by initial cursor hover
2019-09-05 17:27:48 +09:00
Dean Herbert
a1d7291ffa
Fix pause menu keyboard navigation being affected by initial cursor hover
2019-09-05 16:31:10 +09:00
smoogipoo
a87a1e6031
Don't redraw certain buffered containers on scale change
2019-09-04 19:38:12 +09:00
Dean Herbert
1802d2efaf
Merge remote-tracking branch 'upstream/master' into fix-gameplay-menu-button-hover-ani
2019-09-04 10:35:14 +09:00
Dean Herbert
4cad55cee6
Move hit windows lookup to DrawableRuleset
2019-09-03 13:05:03 +09:00
smoogipoo
0c73c5acf3
Expose full hitobject rather than hit windows
2019-09-02 17:14:40 +09:00
smoogipoo
f2bdf94a1d
Add HitWindows to JudgementResult to indicate timing errors
2019-09-02 16:28:14 +09:00
smoogipoo
0a89603e79
Fix hit error potentially not displaying with null hitwindows
2019-09-02 16:07:16 +09:00
Dean Herbert
7ca51d3866
Fix resume overlay being drawn below cursor
...
Closes #5905 .
2019-09-02 11:20:55 +09:00
Andrei Zavatski
94512fea8e
Apply naming suggestions
2019-08-31 16:20:33 +03:00
Andrei Zavatski
d2f7a653a8
Fix nullref
2019-08-31 16:10:07 +03:00
Andrei Zavatski
28b19e8d54
Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video
2019-08-31 15:49:21 +03:00
Dean Herbert
1ddf292ad6
Fix vertical alignment of hit error display ticks
...
Wasn't correctly centered before.
2019-08-31 12:20:50 +09:00
Andrei Zavatski
d4291556ee
Remove unused using
2019-08-31 02:57:14 +03:00
Andrei Zavatski
fd958ec1ab
Remove unused property accessor
2019-08-31 02:56:41 +03:00
Andrei Zavatski
fa3591e5ec
Add setting to turn on/off the video
2019-08-31 00:42:20 +03:00
Andrei Zavatski
5dd688a51b
Fix video doesn't use gameplay clock
2019-08-31 00:09:23 +03:00
Andrei Zavatski
d55be4d59c
Implement DimmableVideo component
2019-08-30 23:48:38 +03:00
Andrei Zavatski
58a0b4e19b
Add basic layout for player
2019-08-30 23:19:55 +03:00
Dean Herbert
8f5dc06d55
Merge remote-tracking branch 'upstream/master' into accuracy-bar
2019-08-30 20:18:25 +09:00
Dean Herbert
f1db6c7039
Fix likely nullref
2019-08-30 20:18:21 +09:00
smoogipoo
fc813347ac
Make JudgementLine private
2019-08-30 19:54:36 +09:00
smoogipoo
dfccc60361
Reorder HitErrorDisplay
2019-08-30 19:53:38 +09:00
smoogipoo
fab12fa9cd
Centre align the icons
...
Seems to look better this way.
2019-08-30 19:53:38 +09:00
Dean Herbert
665fc95d49
Handle no hitobjects / no hitwindows (osu!catch)
2019-08-30 19:37:20 +09:00
Dean Herbert
80671cefd7
Final visual polish
2019-08-30 19:14:07 +09:00
Dean Herbert
c3abf0ccb7
Improve visuals
2019-08-30 18:50:38 +09:00
Dean Herbert
8fc177b743
Fix namespacing and hitwindow source
2019-08-30 18:46:42 +09:00
Dean Herbert
741bd0a5cf
Fix incorrect colour sizes and simplify alignment specification
2019-08-30 18:35:17 +09:00
Dean Herbert
54696eef39
Reverse display, add animation and reduce width
2019-08-30 17:06:23 +09:00
Dean Herbert
a73d672c2f
Tidy up judgement line logic (and fix it displaying at the wrong place)
2019-08-30 16:40:39 +09:00
Dean Herbert
6640161bc1
Simplify event propagation
2019-08-30 15:51:36 +09:00
Dean Herbert
bdbfa7bd2f
Fix class naming
2019-08-30 15:32:47 +09:00
Dean Herbert
835ee0aa2f
Code quality fixes
2019-08-30 15:29:13 +09:00
Joehu
73fd3cf03c
Fix gameplay menu button initial hover animation
2019-08-28 19:00:01 -07:00
Dean Herbert
7aeeb65ae7
Tidy up Player's container loading logic
...
Fixes drawable ruleset being loaded before skin sources are finished, by loading them as a separate operation (to avoid children being loaded first).
2019-08-27 18:27:21 +09:00
Dean Herbert
5e362d10b1
Add ruleset-specific legacy skin providers
...
This moves implementation of osu! skinnables to OsuLegacySkin.
2019-08-26 12:21:49 +09:00
Andrei Zavatski
0ccfaeb8d9
Simplify moving average
2019-08-21 10:13:59 +03:00
Andrei Zavatski
a5acc913ea
CI fixes
2019-08-21 09:58:47 +03:00
Andrei Zavatski
a994ad9c84
Use moving average to calculate arrow position
2019-08-21 09:40:15 +03:00
Andrei Zavatski
71cbc3525d
Add/remove displays only if necessary
2019-08-21 09:16:09 +03:00
Andrei Zavatski
f72edb8bf8
Add missing blank line
2019-08-20 09:03:31 +03:00
Andrei Zavatski
596ee150c6
Add xmldoc for not obvious const
2019-08-20 08:51:41 +03:00
Andrei Zavatski
9f64e09625
Move HitErrorDisplayOverlay back to the HUD
2019-08-20 08:45:51 +03:00
Andrei Zavatski
d337f9b482
DefaultHitErrorDisplay -> BarHitErrorDisplay
2019-08-20 08:03:17 +03:00
Andrei Zavatski
c4251d512e
Simplify bar building
2019-08-20 08:00:09 +03:00
Andrei Zavatski
415f180261
Delete extra semicolon
2019-08-19 22:53:28 +03:00
Andrei Zavatski
50c47568e4
Don't present Meh hit windows if it has no value
2019-08-19 22:45:27 +03:00
Andrei Zavatski
f1c3a60660
Add ability to select side
2019-08-19 22:04:27 +03:00
Andrei Zavatski
1bff103d32
CI fixes
2019-08-19 21:25:14 +03:00
Andrei Zavatski
6d3aa0520b
Make HitErrorDisplay an abstract class
2019-08-19 20:44:06 +03:00
Andrei Zavatski
70084b5553
Move HitErrorDisplay outside of the HUD
2019-08-19 20:28:03 +03:00
Andrei Zavatski
4c817b18b7
Use direct cast
2019-08-18 17:03:11 +03:00
Andrei Zavatski
dd6351b8ca
Apply suggested changes
2019-08-18 16:51:16 +03:00
Andrei Zavatski
6c60db550f
Fix crash if ruleset has no Meh hit windows
2019-08-18 16:24:13 +03:00
Andrei Zavatski
55cd1cecdf
Add missing blank line
2019-08-18 15:53:42 +03:00
Andrei Zavatski
8740ebd13f
Simplify layout
2019-08-18 15:45:18 +03:00
Andrei Zavatski
a59a14c9e6
Add setting to enable/disable hit error visibility
2019-08-18 15:01:04 +03:00
Andrei Zavatski
ee5568e596
Use Queue instead of List for stored Judgements
2019-08-18 14:43:34 +03:00
Andrei Zavatski
50133ba863
naming adjustments
2019-08-18 02:57:12 +03:00
Andrei Zavatski
906984ad95
Fix the math
2019-08-18 02:49:07 +03:00
Andrei Zavatski
f7024b513e
Visual improvements
2019-08-18 01:43:43 +03:00
Andrei Zavatski
94dbd6386f
Merge remote-tracking branch 'refs/remotes/ppy/master' into accuracy-bar
2019-08-18 01:14:27 +03:00
Dean Herbert
d0f2d22995
Merge branch 'master' into fix-storyboard-not-shown-on-disabled-user-dim
2019-08-12 05:46:15 +09:00
Andrei Zavatski
e7964c165f
Make judgement lines alive for a bit longer
2019-08-11 19:09:50 +03:00
Andrei Zavatski
3136d46c7f
Do not generate new judgement line on miss
2019-08-11 19:04:56 +03:00
Andrei Zavatski
5e0ac28ca8
Add basic colours
2019-08-11 18:30:03 +03:00
Andrei Zavatski
177a317a48
rename AccuracyBar to HitErrorDisplay
2019-08-11 18:11:49 +03:00
Andrei Zavatski
2a35c3c3e2
Calculate real position for judgement lines
2019-08-11 18:04:54 +03:00
Andrei Zavatski
0a255fe4d1
Add moving arrow
2019-08-11 16:38:03 +03:00
Andrei Zavatski
ed409d113b
Add judgement lines generator
2019-08-11 15:53:15 +03:00
Andrei Zavatski
fd334e0319
Implement basic layout for AccuracyBar
2019-08-11 14:57:21 +03:00
Dean Herbert
90b1fe81f3
Update cached usage in line with framework changes
2019-08-09 19:12:29 +09:00
iiSaLMaN
0fcc6c1676
Add DimLevel property
2019-08-08 22:13:48 +03:00
iiSaLMaN
bedb744a2e
Add parentheses
2019-08-08 17:11:26 +03:00
iiSaLMaN
88b9942b2a
Move EnableUserDim check to defualt value of ShowDimContent
2019-08-08 17:07:06 +03:00
Dean Herbert
2172c5a52b
Merge branch 'master' into use-bindable-break-time-in-player
2019-08-08 14:24:52 +09:00
Dean Herbert
7d42561da9
Remove linq usage in BreakOverlay update
2019-08-08 12:58:20 +09:00
Salman Ahmed
3f9f9e7bc9
Merge branch 'master' into use-bindable-break-time-in-player
2019-08-08 05:36:45 +03:00
Dean Herbert
99f5ca07ce
Remove redundant comment
2019-08-08 10:42:54 +09:00
Dean Herbert
40a33b3382
Move IsLoaded check to more correct place
2019-08-08 10:41:23 +09:00
Dean Herbert
a2e3ab6463
Merge branch 'master' into add-bindable-for-break-times
2019-08-08 10:13:14 +09:00
iiSaLMaN
ba269a49ee
Expose break fade duration and add it in the calculation
2019-08-07 16:59:35 +03:00
iiSaLMaN
d3657d82cd
Simplify final check for break time
2019-08-07 16:28:16 +03:00
iiSaLMaN
c2b3c28c79
Use IsBreakTime for checking if currently in a break
...
Rather than iterating over all breaks to find which is in current time
2019-08-07 16:15:53 +03:00
Dean Herbert
dda078277a
Minor variable name changes
2019-08-06 23:05:12 +09:00
iiSaLMaN
2a68bb2749
onCompletionEvent -> pushResults
2019-08-06 14:11:43 +03:00
iiSaLMaN
dd701eaa62
Safely cancel the completion task on restart or immediate exit
2019-08-06 14:10:03 +03:00
iiSaLMaN
e6e315e07b
Expose current break index
2019-07-30 13:29:41 +03:00
iiSaLMaN
5bf0277fd4
Remove unnecessary quick check
...
Not saving for anything
2019-07-28 09:17:13 +03:00
iiSaLMaN
1dd3a66300
Remove unnecessary index resets
2019-07-28 09:16:19 +03:00
iiSaLMaN
95b568eb46
Remove unnecessary condition
2019-07-27 15:52:30 +03:00
iiSaLMaN
6c580ac9d5
Use while loops instead
2019-07-27 15:52:01 +03:00
Salman Ahmed
934439e138
Merge branch 'master' into add-bindable-for-break-times
2019-07-26 12:57:52 +03:00
iiSaLMaN
4c9e8527d8
Modify global index directly in the for loop
...
Moves the global index to a near break if not in a break yet
2019-07-26 09:24:53 +03:00
iiSaLMaN
5a94a22314
Add a quick check if we're not in a break with current index
2019-07-26 09:17:39 +03:00
iiSaLMaN
3fa6804501
Use better loops for moving index
...
Easy to read, suggested by peppy
2019-07-26 08:12:32 +03:00
iiSaLMaN
806d41daf4
Add function to reset break index
2019-07-26 08:11:13 +03:00
iiSaLMaN
91fa8a6552
Simplify null and any check
2019-07-26 08:09:18 +03:00
iiSaLMaN
44895c4b69
Use IReadOnlyList for break periods list
2019-07-26 05:41:10 +03:00
iiSaLMaN
b4c93b1777
Use lookup direction than 2 while loops
2019-07-26 05:11:01 +03:00
iiSaLMaN
a08d54eb06
Remove unnecessary checks
2019-07-26 03:11:59 +03:00
Shane Woolcock
1d6c321e14
Ensure we don't ping-pong nearestBreakIndex between breaks
2019-07-26 08:34:18 +09:30
Shane Woolcock
5e51012800
Rewrite updateBreakTimeBindable
2019-07-25 22:54:05 +09:30
iiSaLMaN
cdda264c49
Use global index and move it to find if break time
...
Avoid using iterations
2019-07-25 12:28:21 +03:00
iiSaLMaN
5a55433d6c
Return if breaks are null
...
Fixes a test
2019-07-25 11:53:32 +03:00
iiSaLMaN
172a9ce33a
Use a for loop instead of foreach
...
avoid allocating an iterator
2019-07-25 11:40:45 +03:00
iiSaLMaN
9bd66b6e7a
Better xmldoc
2019-07-25 11:27:32 +03:00
iiSaLMaN
69d2f57f4f
Avoid using LINQ
2019-07-25 11:27:01 +03:00
iiSaLMaN
0ea0a10ca4
Expose as IBindable<bool>
2019-07-25 11:26:38 +03:00
iiSaLMaN
7b82d184bd
Add bindable boolean for break times
2019-07-25 11:07:53 +03:00
Dan Balasescu
986031e127
Merge branch 'master' into storyboard-clock-di
2019-07-12 23:14:12 +09:30
Dean Herbert
8b67f88d16
Don't expose dimmable container creation in player
2019-07-12 12:04:45 +09:00
Dean Herbert
46f7bb885b
Move classes to local namespaces
...
Also renames test scene to more appropriate name.
2019-07-12 11:50:06 +09:00
Dean Herbert
ecbd0f7eff
Merge branch 'master' into fix-skip-button-clickability
2019-07-11 23:10:28 +09:00
David Zhao
6c0de0b436
Merge remote-tracking branch 'upstream/master' into storyboard-clock-di
2019-07-11 13:33:35 +09:00
David Zhao
321266e96f
Make UserDimContainer abstract
2019-07-11 13:17:28 +09:00
David Zhao
7929104b8a
move default into StoryboardContainer, fix load bug, remove comment
2019-07-10 12:24:05 +09:00
David Zhao
41afe89c0b
delete no longer needed bindable
2019-07-10 00:46:34 +09:00
Dean Herbert
27e79d56ec
Merge branch 'master' into collapse-graph-option
2019-07-09 23:40:43 +09:00
David Zhao
5bb21ecae0
remove storyboard region
2019-07-09 16:50:37 +09:00
David Zhao
89cb8a0cac
Move storyboard initialization to new StoryboardContainer
2019-07-09 16:23:59 +09:00
Dean Herbert
8a98aff318
Merge branch 'master' into replay-local-mods
2019-07-08 22:38:02 +09:00
Dean Herbert
54f5e6aedf
Add assertion and comment about lease logic
2019-07-08 22:37:39 +09:00
David Zhao
0cf4bf2352
Manually set clock for storyboard if loading before being given a parent
2019-07-08 18:46:12 +09:00
David Zhao
d489a77fe1
remove new container and comment
2019-07-08 17:57:29 +09:00
David Zhao
fbd300e664
Move ruleset into ReplayPlayerLoader as well
2019-07-08 17:37:20 +09:00
David Zhao
e78e326f34
remove unused using
2019-07-08 17:02:42 +09:00
David Zhao
ef22ab9340
remove bindable
2019-07-08 16:32:11 +09:00
David Zhao
6a86f62d17
Get mods from score info
2019-07-08 16:13:03 +09:00
David Zhao
5853a877c2
create base dependencies before caching, create player in playerloader
2019-07-08 15:40:10 +09:00
David Zhao
2747d7692b
Create ReplayPlayerLoader for local mod caching
2019-07-08 14:55:05 +09:00
Dean Herbert
8f2ec73626
Move logic inside of HUDOverlay
...
Add vertical offset adjust.
2019-07-07 05:30:53 +09:00
Salman Ahmed
dfabed3d85
Merge branch 'master' into applicable-to-hud
2019-07-06 16:30:02 +03:00
Dan Balasescu
3a9f16ccf2
Merge branch 'master' into idle-still-starts
2019-07-06 00:08:59 +09:30
Unknown
d05512a12a
invert usage corresponding to previous description change
2019-07-05 09:16:50 +02:00
Unknown
ee44caf964
better setting description
2019-07-05 08:52:44 +02:00
Unknown
2d5fd7f1c4
remove unnecessarily setting value of bindable that was already bound to
2019-07-05 08:49:56 +02:00
Unknown
b425df6c75
various fixes
...
- make AllowSeeking a Bindable which fixes incorrect initial position and removes unnecessary variables
- make SongProgressInfo fixed height
2019-07-05 08:48:40 +02:00
Dean Herbert
b902457f8d
Allow PlayerLoader to proceed even if the mouse is hovering an overlay panel
2019-07-05 15:32:07 +09:00
Unknown
ed22c23f37
mask SongProgress
2019-07-05 08:30:32 +02:00
Unknown
e69160a0ce
fix graph not completely hiding
2019-07-05 08:05:18 +02:00
iiSaLMaN
d624157c45
Remove unnecessary fading
2019-07-05 05:17:36 +03:00
Unknown
608223cbb4
Add setting to collapse the song progress graph
2019-07-04 11:59:38 +02:00
Dean Herbert
db24ac28ec
Add tests
2019-07-04 16:53:08 +09:00
Dean Herbert
a20d5baa57
Fix skip button not being clickable after fade out
2019-07-04 16:21:01 +09:00
Dean Herbert
23acddcb56
Rename download buttons to avoid ambiguity
2019-07-03 12:02:35 +09:00
Salman Ahmed
8b4ef52c13
Revert unnecessary changes
2019-07-03 07:27:24 +03:00
naoey
eaa19d5a49
Remove unused/unnecessary fields
2019-07-02 16:13:47 +05:30
naoey
ee516d2515
Make direct panel download and replay buttons share UI
2019-07-02 15:55:30 +05:30
Dean Herbert
6539c6da17
Merge branch 'master' into watch-replays-4
2019-07-02 13:24:16 +09:00
Salman Ahmed
744e651a37
Merge branch 'master' into applicable-to-hud
2019-07-02 05:24:56 +03:00
Salman Ahmed
6a79349f4a
Move health display out of the visibility container
2019-07-02 02:19:59 +03:00
Dean Herbert
60ea3d4e1a
Fix skinning support for combobreak
2019-06-30 21:58:30 +09:00
naoey
bfcbb47b77
Clean up some more leftover code
2019-06-30 10:56:20 +05:30
welsar55
d6561531a3
Merge branch 'master' into combobreak
2019-06-29 11:55:10 -05:00
Welsar55
a22c166575
Make ComboEffects its own class
2019-06-29 11:28:40 -05:00
naoey
d8f6bbc90e
Disable replay button when replay is unavailable
2019-06-29 12:49:03 +05:30
naoey
7d9e215744
Code quality fixes
2019-06-29 12:29:12 +05:30
naoey
424711d24b
Fix replay button shake container
...
- Add license headers
- Slightly reduce bottom margin of button in score screen
2019-06-29 12:26:37 +05:30
naoey
bc52f76556
Move replay button to score card
2019-06-29 10:55:30 +05:30
Welsar55
a57218e50e
Move to LocalSkinOverride
2019-06-28 20:45:11 -05:00
iiSaLMaN
d37cefbad8
Implement IApplicableToHUD
2019-06-29 04:23:59 +03:00
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
Welsar55
826699a7e7
Remove unneeded bindable
2019-06-26 12:16:44 -05:00
Welsar55
7dd1479050
Add combobreak sound
2019-06-26 00:20:33 -05:00
Dean Herbert
40cf573368
Fix pause not correctly showing pause screen
2019-06-25 23:15:58 +09:00
Dean Herbert
f9dad0f640
Merge remote-tracking branch 'upstream/master' into gamewide-backbutton
2019-06-25 20:23:49 +09:00
smoogipoo
8c96e4c1fa
Move back button to OsuGame
2019-06-25 18:33:08 +09:00