1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 08:23:00 +08:00
Commit Graph

552 Commits

Author SHA1 Message Date
Salman Ahmed
b1b97505ac Fix smoke displayed in "No scope" mod 2022-10-14 22:16:14 +03:00
Alden Wu
9d54467145 Make smoke skinnable lifetime more robust 2022-10-05 19:13:06 -07:00
Alden Wu
49e023f861 Rename OsuSkinComponents.SmokeTrail to CursorSmoke 2022-10-05 19:11:38 -07:00
Dean Herbert
71edd314b1 Simplify SmokeContainer lifetime logic 2022-10-05 18:51:02 +09:00
Dean Herbert
6628ab5190 Refactor to avoid DI / event flow
There's always one active smoke segment and it's the direct child of
`SmokeContainer`. This can be simplified as such.
2022-10-05 18:37:14 +09:00
Dean Herbert
1e5ff2679b Rename classes to better emphasise that Smoke is a single trail segment 2022-10-05 18:29:16 +09:00
Alden Wu
33f33a6845 Remove things that should've been removed before push 2022-10-04 00:53:03 -07:00
Alden Wu
eaab0deef3 Fix InspectCode issues 2022-10-03 19:20:51 -07:00
Alden Wu
ccef189b81 Add barebones test for smoke 2022-10-03 18:19:05 -07:00
Alden Wu
c1da3bc9cf Remove skinnable parents at the same time as their smoke children 2022-10-03 16:03:37 -07:00
Alden Wu
c3b8e1d718 Fix test and spawn smoke immediately 2022-09-19 10:16:05 -07:00
Alden Wu
0316e3e706 Merge branch 'master' of https://github.com/ppy/osu into smoke 2022-09-19 09:07:17 -07:00
Alden Wu
0138663bdc Fix InspectCode errors 2022-09-18 18:32:33 -07:00
Alden Wu
613564b5b9 Full legacy smoke implementation and temp default smoke 2022-09-18 12:10:01 -07:00
Alden Wu
493efd84a3 Basic smoke path implementation 2022-09-18 12:08:34 -07:00
naoei
a42b8092af Change message type osu resume overlay 2022-08-10 16:09:58 -04:00
Dean Herbert
e1189da824 Merge branch 'master' into irenderer-glwrapper 2022-08-08 12:31:53 +09:00
Dan Balasescu
6afff72865 Fix CI inspections / refactor to single enumeration 2022-08-05 20:54:10 +09:00
Dan Balasescu
802dc90cb1 Adjust using directives for vertices 2022-08-05 20:37:33 +09:00
Dean Herbert
a682a823f4 Fix test failures where Beatmap is not provided 2022-08-05 18:20:37 +09:00
Dean Herbert
9a4d0494de Adjust various pooling defaults to better handle more intense beatmaps 2022-08-05 18:09:07 +09:00
Dean Herbert
8ae5429602 Adjust slider pooling based on beatmap
Handles edge cases like mentioned in https://github.com/ppy/osu/issues/19585.
2022-08-05 18:08:05 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dan Balasescu
09979d44aa Apply DrawNode batching changes 2022-07-29 23:32:09 +09:00
Dan Balasescu
155dac55d0 Apply DrawNode parameter changes 2022-07-29 22:33:34 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dean Herbert
b41e273086 Convert function weirdness to property + bool 2022-04-26 15:06:27 +09:00
Dean Herbert
e0b9ab022d Add classic default values against setting controls 2022-04-22 18:05:24 +09:00
Dean Herbert
6b31e7e9db Merge branch 'master' into aimassist-mod 2022-02-02 15:18:48 +09:00
Susko3
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
MaxOhn
27a8bfa496 handle spinners and follow points 2022-01-04 22:17:50 +01:00
Dean Herbert
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
Dean Herbert
32afd3f426 Replace all basic usages 2021-10-02 02:22:23 +09:00
Opelkuh
1d7d779f66 Merge branch 'master' into add-legacy-star-particles 2021-09-19 04:34:35 +02:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Opelkuh
8862d3fa1e Add OsuSkinComponents.CursorParticles 2021-09-13 21:44:23 +02:00
Opelkuh
99eff4f41f Move cursor particles under OsuCursorContainer 2021-09-13 21:44:22 +02:00
Opelkuh
ee4006f3d7 Add legacy cursor star particles 2021-09-13 21:44:18 +02:00
Endrik Tombak
ef367c6547 Move implementation to be legacy only 2021-08-16 22:52:19 +03:00
Endrik Tombak
314c342841 Avoid drawing segments of cursor trail near current cursor position 2021-08-16 22:13:01 +03:00
smoogipoo
7cc0a2a76f Refactor to fix InterpolateMovements=false 2021-08-13 12:10:33 +09:00
smoogipoo
5241029513 Use new FadeExponent shader uniform 2021-08-13 10:27:26 +09:00
TheOmyNomy
1069f9d501 Always add cursor trail for legacy cursor with disjoint trail 2021-08-13 00:13:03 +10:00
smoogipoo
fbaa480b3e Fix out-of-order hits in editor causing exceptions 2021-08-12 10:08:54 +09:00
Bartłomiej Dach
f868a201f5
Ensure proxied judgement content is correctly depth-ordered 2021-08-01 15:21:31 +02:00
Dean Herbert
5b91111eda Update SettingsSubsection.Header to accept a LocalisableString 2021-07-15 13:09:51 +09:00
Dean Herbert
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +09:00
Henry Lin
a91f2d3dba Change "judgment" to "judgement" 2021-05-16 10:17:04 +08:00
Dean Herbert
4910d8f56c Fix click-to-resume cursor location being incorrect when playfield is transformed
Closes #12501.
2021-04-21 00:12:49 +09:00
Dan Balasescu
587973be25
Merge pull request #12405 from frenzibyte/top-left-cursor
Add support for legacy skin's `CursorCentre` setting
2021-04-16 00:30:53 +09:00
smoogipoo
34859a4760 Invalidate drawnode on change 2021-04-15 23:37:05 +09:00
Dan Balasescu
3374895e40
Merge branch 'master' into mod-barrel-roll 2021-04-15 22:15:26 +09:00
smoogipoo
1a987dfbc0 Fix gameplay cursor showing offscreen 2021-04-15 21:16:38 +09:00
Dean Herbert
a209415942 Add "Barrel Roll" mod 2021-04-14 16:52:29 +09:00
Salman Ahmed
367dafab56 Apply CursorCentre to old-style legacy cursor trail 2021-04-14 08:20:18 +03:00
smoogipoo
c458c4cfae Fix unintended changes due to renaming or otherwise 2021-02-10 20:27:47 +09:00
smoogipoo
7021d1dfdc Merge branch 'hit-policy-refactor' into classic-mode-flags 2021-02-08 20:12:33 +09:00
smoogipoo
f4a31287bf Add/use IHitObjectContainer interface instead of IEnumerables 2021-02-08 20:11:06 +09:00
smoogipoo
6aece18f8d Add OOHP tests 2021-02-05 15:36:47 +09:00
smoogipoo
a4551dc1ee Add object-ordered hit policy 2021-02-05 15:36:47 +09:00
smoogipoo
8adf37d958 Add SetHitObjects() to IHitPolicy instead of using ctor 2021-02-05 15:25:03 +09:00
smoogipoo
08aae011c1 Add IHitPolicy interface 2021-02-05 15:25:03 +09:00
smoogipoo
df1df81847 Better indicate ordering 2021-02-05 15:25:03 +09:00
smoogipoo
0528469b44 Rename OrderedHitPolicy -> StartTimeOrderedHitPolicy 2021-02-05 15:25:03 +09:00
Dean Herbert
1793385e96 Pass a score to the replay recorder to allow reading more general scoring data 2020-12-14 16:52:14 +09:00
smoogipoo
fdef6e479c Remove 1000ms offset and adjust comment 2020-11-30 18:28:04 +09:00
smoogipoo
0414e5c550 Add MaximumJudgementOffset to DrawableHitObject, use in more places 2020-11-26 01:12:42 +09:00
ekrctb
c506b438bf Remove more code and make some methods private 2020-11-22 18:51:16 +09:00
ekrctb
295ca38cda Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added 2020-11-21 15:25:16 +09:00
ekrctb
4345d8dcb6 Event -> virtual method 2020-11-21 15:20:33 +09:00
ekrctb
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
ekrctb
27f5a99726 Fix more than one proxy is created 2020-11-20 18:42:48 +09:00
ekrctb
cd16a3fa61 Use event instead of using custom pools (osu) 2020-11-20 17:56:47 +09:00
Dean Herbert
7fe0923fcf Show main judgement content above hitobjects 2020-11-20 16:25:48 +09:00
Dean Herbert
185653b1d8 Remove depth specifications 2020-11-20 15:11:24 +09:00
Dean Herbert
45b1fcf26f Remove unnecessary using statement 2020-11-20 15:01:37 +09:00
Dean Herbert
af67b4a346 Remove no longer necessary code from OsuPlayfield 2020-11-20 14:57:08 +09:00
Dean Herbert
7ac4d2c4be Move "drawable" to first prefix 2020-11-14 18:05:30 +09:00
Dean Herbert
90f37ff4ab Rejig namespaces 2020-11-14 18:04:59 +09:00
smoogipoo
5b60f32c7f Move implementation into OsuPlayfield 2020-11-14 01:03:23 +09:00
smoogipoo
f7f70d41df Add osu! editor pooling support 2020-11-13 17:28:26 +09:00
smoogipoo
beb6bbd2a1 Implement now abstract method 2020-11-13 14:58:32 +09:00
smoogipoo
3f78d81386 Add nested osu! hitobject pooling 2020-11-12 15:59:48 +09:00
smoogipoo
1ea526b5ef Adjust pooling implementation with branch changes 2020-11-12 15:39:02 +09:00
smoogipoo
bf72961959 Add top-level osu! hitobject pooling 2020-11-12 15:39:02 +09:00
Dean Herbert
54f927ee11 Move casts to DrawableHitObject instead 2020-11-05 15:41:55 +09:00
smoogipoo
9c1c9945af Make FollowPointRenderer use hitobject models 2020-11-05 15:01:45 +09:00
Dean Herbert
267b399f9f Add some simple border styles 2020-10-20 13:59:03 +09:00
Bartłomiej Dach
bca0539735 Move setting to osu! ruleset subsection 2020-10-19 21:05:21 +02:00
Bartłomiej Dach
4267d23d59 Move border to more appropriate namespace 2020-10-19 20:56:34 +02:00
Bartłomiej Dach
4af3fd1ed6 Allow toggling border on & off during gameplay 2020-10-19 20:41:45 +02:00
Bartłomiej Dach
053c7a69a6 Fix code style issues & compilation failures 2020-10-19 20:22:48 +02:00
Dean Herbert
22bde43106
Merge branch 'master' into visible-playfield-boundary 2020-10-19 18:05:28 +09:00
Dean Herbert
9d7880afda Make SettingsItem conform to IHasCurrentValue 2020-10-06 17:18:54 +09:00
Endrik Tombak
8cd13729ee Actually multiply by the multiplier 2020-10-02 19:34:49 +03:00
Endrik Tombak
16f331cf6d Move implementation to LegacyCursorTrail 2020-10-02 19:34:06 +03:00
Endrik Tombak
fa1903cd03 Get bound copy instead 2020-10-01 23:41:24 +03:00
Endrik Tombak
abf1afd3f1 Do not decrease density 2020-10-01 23:27:57 +03:00
Endrik Tombak
9e52f9c858 Consider cursor size in trail interval 2020-10-01 23:23:28 +03:00
Yao Chung Hu
96f39dd350 Merge remote-tracking branch 'upstream/master' into visible-playfield-boundary 2020-09-05 01:50:13 -05:00
Sebastian Krajewski
2c73fc0e1b
Merge branch 'master' into playfield-shift 2020-08-05 22:34:43 +02:00
smoogipoo
24bc9b33b1 Always place spinners behind hitcircles/sliders 2020-08-05 15:40:45 +09:00
Sebastian Krajewski
9fb7b8f3d8 Rename the property to "AlignWithStoryboard" 2020-08-04 15:43:33 +02:00
Sebastian Krajewski
675f618b28 Apply playfield's offset only in play mode 2020-08-03 14:18:45 +02:00
Sebastian Krajewski
c48648ea2a Add playfield shift like in osu-stable 2020-08-03 13:00:36 +02:00
Yao Chung Hu
d40f209f4b Move Playfield Border to OsuPlayfield Ruleset 2020-07-10 07:36:21 -05:00
Dean Herbert
024fb52726 Fix unnecessary using 2020-07-10 19:05:31 +09:00
Dean Herbert
c9e54651d5
Merge branch 'master' into judgement-pooling 2020-07-10 18:51:42 +09:00
Dean Herbert
f872343bab Make Apply virtual to further simplify application process 2020-07-10 18:35:20 +09:00
Dean Herbert
8aff828dfe Move application of judgements to Apply method 2020-07-10 18:34:31 +09:00
Dean Herbert
c562435267 Adjust cursor transforms for better feel 2020-07-10 14:44:30 +09:00
Dean Herbert
a21c2422c5 Make cursor centre portion non-expanding and more visible with outline 2020-07-10 14:44:20 +09:00
Dean Herbert
e211ba5e7d Fix cursor scale potentially not being updated if set too early 2020-07-10 14:43:30 +09:00
Dean Herbert
51050ec4ef Add per-result type pooling 2020-07-06 12:54:39 +09:00
Dean Herbert
ffec4298a7 Use DrawablePool for DrawableJudgements 2020-07-04 16:45:50 +09:00
smoogipoo
dc41e74e19 Fix cursor trail not displaying 2020-06-02 23:54:23 +09:00
smoogipoo
355e682e24 Fix typo in exception 2020-04-20 13:23:27 +09:00
Dean Herbert
8c85602ad0 Use foreach for conformity 2020-04-20 11:00:42 +09:00
Dean Herbert
e1acfd26a6 Simplify return logic 2020-04-20 10:59:44 +09:00
Dean Herbert
28318a0140 Add mention of notelock in xmldoc (potentially easier to find class) 2020-04-20 10:59:08 +09:00
smoogipoo
bbcbd7e3fb Simplify by removing custom enumerator 2020-04-17 14:48:12 +09:00
smoogipoo
2dee5e03e3 Dispose enumerators for safety 2020-04-17 14:40:29 +09:00
smoogipoo
a4a7823817 Add fail-safe to ensure hittability after a hit 2020-04-17 14:22:03 +09:00
smoogipoo
62f77a05be Optimise by removing state machine 2020-04-17 14:00:00 +09:00
smoogipoo
3daacbc2d2 Initial inefficient refactor of hitobject enumeration 2020-04-17 13:34:20 +09:00
smoogipoo
6988df30bd Rename variable, add comment 2020-04-10 03:12:13 +09:00
smoogipoo
42b3ff805b Rename methods + fix incorrect method usage 2020-04-10 03:07:44 +09:00
smoogipoo
b54bbc5f6a Improve commenting + refactor 2020-04-10 02:41:48 +09:00
smoogipoo
10e849d196 Separate into separate class 2020-04-10 02:02:09 +09:00
smoogipoo
ea1bec85ae Simplify code/language 2020-04-10 01:41:00 +09:00
smoogipoo
b8d7b78b55 Remove unnecessary null set 2020-04-10 01:21:37 +09:00
smoogipoo
116b952dfe Change param to hitobject rather than result 2020-04-10 01:20:43 +09:00
smoogipoo
796976db3c Completely ignore spinners from note lock 2020-03-30 17:00:53 +09:00
smoogipoo
744f6c3ca7 Rename method + adjust comments 2020-03-30 16:33:46 +09:00
smoogipoo
0d20292992 Fix ticks/spinners contributing to notelock 2020-03-30 16:14:56 +09:00
smoogipoo
3f8fbebbb4 Merge branch 'master' into add-notelock 2020-03-30 15:01:39 +09:00
Dean Herbert
388cf5c83a Fix catch positional data being incorrectly recorded 2020-03-24 15:38:54 +09:00
Dean Herbert
14a85a84bf Add proper screen space - gamefield mapping 2020-03-23 20:06:18 +09:00
Dean Herbert
6d48068061 Move replay recorder to final location 2020-03-23 20:04:15 +09:00
smoogipoo
12a48d2774 Cause all earlier hitobjects to get missed 2020-03-19 19:16:24 +09:00
smoogipoo
f285b43a74 Allow simultaneous hitobjects 2020-03-19 17:45:08 +09:00
Dan Balasescu
1d680b7a00
Better english
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2020-03-18 19:13:25 +09:00
smoogipoo
742698acab Add notelock implementation 2020-03-10 15:30:24 +09:00
smoogipoo
f71c45cb1b Remove shallPropagate 2020-02-25 11:30:33 +09:00
smoogipoo
6c28fd21c7 osu-side changes 2020-02-24 20:52:15 +09:00
Dean Herbert
9cbb37b682 Fix bindable being created far too late in construction 2020-02-14 15:59:59 +09:00
Dean Herbert
884a5fbad4 Fix osu! gameplay cursor not adjusting to mod/convert circle size changes 2020-02-14 14:30:15 +09:00
Bartłomiej Dach
434c0d92e4 Use Bindable{Float,Double}s everywhere
To avoid further floating-point comparison bugs, remove all usages of
Bindable<{float,double}>, replacing them with their
Bindable<Float,Double> counterparts.
2020-02-01 22:50:29 +01:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
smoogipoo
49bf8d27d1 Move CreateScoreProcessor() to Ruleset 2019-12-17 20:08:13 +09:00
smoogipoo
add04e98e1 Fix cursortrail texture not being bound 2019-12-16 18:10:44 +09:00
smoogipoo
db3dc4f375 Optimise cursortrail with custom vertex logic 2019-12-16 15:15:26 +09:00
smoogipoo
5861eca80d Make DrawableRuleset take a converted beatmap 2019-12-12 15:58:11 +09:00
smoogipoo
48f1dad4aa Remove abstract ScoreProcessor class 2019-12-11 17:25:06 +09:00
Dean Herbert
d8cebd20ed Add xmldoc 2019-12-11 16:06:20 +09:00
mcendu
dbe46c6cf7
conform to coding styles 2019-12-10 20:40:10 +08:00
mcendu
1afeaf31bc
make OsuCursorSprite abstract 2019-12-10 19:58:56 +08:00
mcendu
e37369304b property-ize expand target 2019-12-10 19:45:06 +08:00
mcendu
22f2a4bed2
Fix LegacyCursor's cursormiddle expanding 2019-12-09 17:53:16 +08:00
mcendu
1e49078c52
Add OsuCursorSprite 2019-12-09 17:51:44 +08:00
Dean Herbert
f181ee1843 Hide the menu cursor while inside the playfield by default 2019-11-29 17:35:11 +09:00
smoogipoo
712253ff50 Replace follow point renderer with new implementation 2019-11-05 17:33:02 +09:00
smoogipoo
ddfcda9e02 Remove abstract ConnectionRenderer class 2019-11-05 17:33:02 +09:00
Dean Herbert
e23ea94383 Add one more level of null check 2019-11-01 15:33:38 +09:00
Dean Herbert
05002ea3e8 Move Show/Hide code to PopIn/PopOut 2019-11-01 14:50:38 +09:00
smoogipoo
6afc27b1bd Merge remote-tracking branch 'origin/master' into dho-apply 2019-10-21 13:47:44 +09:00
HoLLy
68837d47df Use local bindable instead of using BindValueChanged of external one 2019-10-19 12:15:31 +02:00
HoLLy
ca957f0994 Hide gameplay cursor when resume overlay is shown 2019-10-19 11:52:07 +02:00
smoogipoo
3a1acf7b0a Fix slider approach circle proxies 2019-10-17 12:50:26 +09:00
HoLLy
13e1199229 Move click to resume cursor scaling responsibility to container 2019-10-15 22:44:04 +02:00
HoLLy
8c671d7fde Rename cursorScale and calculatedCursorScale 2019-10-15 20:12:08 +02:00
Dean Herbert
ae2fe62fd9 Use BindValueChanged 2019-10-14 17:13:36 +09:00
HoLLy-HaCKeR
7931510d7b Ensure OsuResumeCursor can change scale when it is being shown 2019-10-12 11:59:22 +02:00
HoLLy-HaCKeR
fdc17d2adb Scale OsuResumeCursor with gameplay cursor 2019-10-12 11:51:14 +02:00
HoLLy-HaCKeR
13924174c4 Fix PopIn and PopOut resetting cursor scale 2019-10-12 10:04:14 +02:00
HoLLy-HaCKeR
1c22fb485f Scale cursortrail along with cursor 2019-10-08 19:40:46 +02:00
HoLLy-HaCKeR
b6047e4613 Move OsuCursor resize logic to OsuCursorContainer 2019-10-08 19:39:54 +02:00
iiSaLMaN
67bed57cbd Bind value changed event of cursor trail appearence outside BDL
https://github.com/ppy/osu/pull/6270#discussion_r328899728
2019-09-27 08:46:49 +03:00
smoogipoo
74b2e99247 Fix invalid cursor trail parts being drawn 2019-09-25 16:25:15 +09:00
Dean Herbert
26eca5b1f4 Fix judgement sizes not matching skins stable 2019-09-18 02:56:03 +09:00
Dean Herbert
9fc60aeefc Merge branch 'master' into reset-dho-lifetimes 2019-09-12 19:29:14 +09:00
Dean Herbert
f21e47d6d2 Move expire to DrawableHitObject 2019-09-12 19:29:08 +09:00
smoogipoo
6c00d3936a Reduce interval between cursor trail parts 2019-09-11 13:28:46 +09:00
smoogipoo
e3b972187e Fix incorrect cursor trail size + scale 2019-09-09 19:30:36 +09:00
smoogipoo
292d50aacf Don't confine the cursor trail 2019-09-09 19:22:49 +09:00
smoogipoo
3b1b7910bb Add toggle for cursor trail interpolation 2019-09-09 19:22:27 +09:00
smoogipoo
1d225ba81e Add FadeDuration to control cursor trail fade 2019-09-09 19:02:10 +09:00
smoogipoo
195f101799 Move complex property below ctor 2019-09-09 19:00:42 +09:00
smoogipoo
55afcc1e04 Add skin component for the legacy cursor trail 2019-09-09 17:53:51 +09:00
smoogipoo
7adfae3784 Reorder CursorTrail members 2019-09-09 12:35:15 +09:00
Dean Herbert
b3f61abd49
Use float types for cursor sizes (#5958)
Use float types for cursor sizes
2019-09-06 15:45:44 +09:00
Dean Herbert
bebc3309ce Refactor skin configuration to be infinitely extensible 2019-09-03 17:57:34 +09:00
iiSaLMaN
cb55159b28 Use float types for cursor sizes 2019-09-03 01:28:51 +03:00
Dean Herbert
a15828ab25 Introduce the concept of SkinComponents
Removes reliance on string lookups and better defines elements for introduction into database
2019-08-30 14:55:52 +09:00
Dean Herbert
dc1046bf0c Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-30 12:53:05 +09:00
smoogipoo
6ab2b20c70 Add an interface for working beatmaps 2019-08-29 19:38:44 +09: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
Dean Herbert
38df49995c Fix cursor scale not matching osu-stable 2019-08-07 18:35:07 +09:00