1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 07:53:38 +08:00
Commit Graph

1682 Commits

Author SHA1 Message Date
DrabWeb
ed3ed8251f Made styling PauseButtons public, Resume/Retry/Quit buttons changed to subclasses 2017-01-30 08:04:39 -04:00
Dean Herbert
26e9533ff0 Add custom implementation of TextBox. 2017-01-30 20:29:04 +09:00
DrabWeb
d70cbd37dd Made the pause progress graph it's own class, to be implemented, made it so the user couldn't double click the pause buttons and made it so the action wasn't called a second time when the mouse button was released, made PopIn and PopOut in PauseOverlay one line each, made Player.IsPaused a public getter with a private getter/setter, implemented restarting in Player 2017-01-30 04:08:14 -04:00
DrabWeb
582599a8de Made PauseButton more visually responsive, added force option to Player.Pause, added very basic implementation of the progress bar 2017-01-28 16:55:42 -04:00
Drew DeVault
10897486ba Merge remote-tracking branch 'upstream/master' into song-select-filtering 2017-01-27 15:41:46 -05:00
Dean Herbert
3e7503e860 Make skip button work. 2017-01-27 21:57:22 +09:00
Dean Herbert
420e61fa97 TwoLayerButton 2017-01-27 21:08:36 +09:00
Dean Herbert
5787b43586 wip 2017-01-27 19:14:44 +09:00
DrabWeb
dedd6a4bcf Small cleanups 2017-01-27 05:39:15 -04:00
Dean Herbert
f3e9da609e Merge pull request #295 from peppy/songselect-footer
Initial implementation of song select footer area.
2017-01-27 16:13:43 +09:00
Drew DeVault
417933b7ec Merge remote-tracking branch 'upstream/master' into song-select-filtering 2017-01-26 13:57:55 -05:00
Dean Herbert
139cac5e57 Add fail dialog and flow. 2017-01-27 00:41:34 +09:00
Dean Herbert
70271fee35 Move PlayerInputManager to own file. 2017-01-27 00:38:21 +09:00
Dean Herbert
4a7b3cf391 Initial implementation of song select footer area. 2017-01-27 00:36:12 +09:00
Dean Herbert
1853bbdda8 Move window/volume configuration to framework level. 2017-01-25 18:44:51 +09:00
Dean Herbert
cd8c9393f3 HP -> Health 2017-01-18 11:08:16 +08:00
Drew DeVault
5eb1cda77b Rename FilterSongSelect, use OsuColour 2017-01-17 16:43:40 -05:00
Drew DeVault
73e46ee8c0 Initial layout of song select filtering UI 2017-01-17 15:41:50 -05:00
Dean Herbert
a3770adbc5 Merge branch 'master' into hpdisplay 2017-01-16 11:23:54 +08:00
Drew DeVault
fa007e632d Refactor colors to palette based design 2017-01-12 16:38:27 -05:00
Dean Herbert
7eab50b989 Add basic HP display support. 2017-01-10 16:08:01 +08:00
Drew DeVault
70ecf48ca7 Add central color class
I didn't move _every_ color here, but most of them. The ones I left
behind are mostly just shades of gray.

Closes #126
2017-01-09 17:20:31 -05:00
Drew DeVault
cf60c52f00 Switch to System.ComponentModel.Description 2016-12-07 09:42:53 -05:00
Drew DeVault
5456e0102c s/OptionsDropdown/DropdownOption/g 2016-12-07 09:42:52 -05:00
Drew DeVault
4757a1c433 Wire up enum-backed dropdowns 2016-12-07 09:42:52 -05:00
Drew DeVault
0378de8346 Add DisplayName 2016-12-07 09:42:37 -05:00
Drew DeVault
9daf524120 Add OptionsDropdown<T> and wire up one example 2016-12-07 09:42:37 -05:00
Drew DeVault
ff7ec88e66 s/OptionsSlider/SliderOption/g 2016-12-07 09:42:37 -05:00
Drew DeVault
a350e95e40 Add OptionsSlider and wire up volume sliders 2016-12-07 09:41:28 -05:00
Dean Herbert
a80c28ca37 ToolbarOverlayToggleButton 2016-12-02 21:57:01 +09:00
Dean Herbert
9bf36418a0 Make toolbar buttons more independent logic-wise.
Also adds visual toggle state for toggleable buttons.
2016-12-02 18:43:01 +09:00
Dean Herbert
11f958030f Make Triangles more flexible and more random. 2016-12-01 18:53:13 +09:00
Dean Herbert
6ccce88a0e Add proper user data retrieval on connect. 2016-12-01 16:44:24 +09:00
Dean Herbert
d7ab74363d Simplify toolbar width/padding calculations. Add avatar display (incorrect user id). 2016-12-01 16:05:54 +09:00
Dean Herbert
167b559a95 Move toolbar to own namespace. 2016-12-01 14:22:29 +09:00
Dean Herbert
18509e6a60 ChatConsole -> ChatOverlay. Namespace tidying. 2016-11-30 18:30:06 +09:00
Dean Herbert
34e91c8474 Add the concept of IOnlineComponents, registered tot he API for handling state changes. 2016-11-30 18:30:01 +09:00
Thomas Müller
d0065d2d20 Merge pull request #205 from peppy/scoring
Wire up basic scoring.
2016-11-29 20:56:53 +01:00
Dean Herbert
9d2a69f1e2 Add concept of ScoreProcessor. 2016-11-29 20:30:16 +09:00
Dean Herbert
9871960112 Basic score flow. 2016-11-29 17:34:16 +09:00
stanriders
ba18c9a309 Merged ExtendableButton and BackButton 2016-11-27 05:48:31 +03:00
stanriders
af57984d5c Moved ExtendableButton out of framework 2016-11-27 04:41:17 +03:00
stanriders
e9343fe53d Add stable-alike BackButton 2016-11-27 04:21:12 +03:00
Dean Herbert
c978a4c091 Tidy up code. Make trail smooth. 2016-11-26 19:22:56 +09:00
Dean Herbert
396ca9fe91 Remove HitJudgementResolver; reimplement in DrawableHitObject. 2016-11-26 16:51:51 +09:00
Dean Herbert
ece3bc0e01 Refactor BeatmapInfoWedge to be async. 2016-11-24 13:48:48 +09:00
Dean Herbert
611619fd9c Fix some namespaces. 2016-11-23 12:00:17 +09:00
Thomas Müller
5cf5e8c80c Move BeatmapInfoOverlay into its own class.
No loading async optimizations yet.
2016-11-22 21:51:42 +01:00
Thomas Müller
9bf23bc4ad Only handle beatmap panels that are visible in song select. 2016-11-22 21:41:48 +01:00
Thomas Müller
c6d688898f Initial implementation of a beatmap carousell and various minor improvements to song select.
No big optimizations yet, but groundwork is laid out.
2016-11-20 20:34:16 +01:00
Thomas Müller
f8788bb24b Update the background according to the currently selected beatmap and blur it within song select. 2016-11-19 17:39:43 +01:00
Dean Herbert
1242ae3f2a Add the concept of a HitJudgementResolver. 2016-11-19 16:19:26 +09:00
Dean Herbert
d3f810f72f Introduce concept of HitObjectParsers, fix tests and stop using reflection (unreliable due to lazy loading). 2016-11-14 22:03:39 +09:00
Dean Herbert
5dd4e31011 Move DrawableHitObject. 2016-11-14 19:49:29 +09:00
Dean Herbert
4590be552f Move play modes to their own projects. 2016-11-14 18:54:24 +09:00
Dean Herbert
06f4f93918 Move play modes to Modes namespace. 2016-11-14 18:03:20 +09:00
Dean Herbert
0f4538f69f Rename GameModes namespace to Screens. 2016-11-14 17:23:33 +09:00
Dean Herbert
75be78752b Merge remote-tracking branch 'refs/remotes/upstream/master' into options-sidebar-tracking
# Conflicts:
#	osu.Game/osu.Game.csproj
2016-11-12 22:30:15 +09:00
Dean Herbert
099b309645 Introduce back the concept of Rulesets. 2016-11-12 18:26:21 +09:00
Dean Herbert
8d56a881d0 Merge pull request #157 from SirCmpwn/string-options
Add TextBoxOption and wire it up
2016-11-12 16:11:09 +09:00
Drew DeVault
00cc4278da Split off SidebarButton 2016-11-12 01:53:20 -05:00
Drew DeVault
a81f099d40 Add TextBoxOption and wire it up 2016-11-10 18:17:15 -05:00
Dean Herbert
788c11de10 Merge pull request #103 from huoyaoyuan/music-controller
Music controller
2016-11-10 12:54:56 +09:00
Dean Herbert
8c68f9ba93 OptionsSideNav -> OptionsSidebar. 2016-11-08 19:17:09 +09:00
Drew DeVault
1bca78f4b6 Wire up one of the settings to the config
One step at a time, right
2016-11-07 22:36:24 -05:00
Drew DeVault
4d04eb6fb1 Rearrange some options a bit, update framework 2016-11-07 22:15:48 -05:00
Drew DeVault
1ce6a7285a Rearrange options namespaces 2016-11-07 21:24:41 -05:00
Drew DeVault
e6c3fc1091 Implement scrolling to each section 2016-11-07 17:07:55 -05:00
Huo Yaoyuan
c470140d64 Merge branch 'master' 2016-11-06 00:11:30 +08:00
Huo Yaoyuan
2d86cb1e81 Merge branch 'master' 2016-11-05 16:21:59 +08:00
Dean Herbert
b40ccccbe4 Add HitObject colours back in the mix. 2016-11-04 15:43:53 +09:00
Drew DeVault
cb40b7079f Rework how references are passed about 2016-11-03 22:43:00 -04:00
Drew DeVault
af8e4415c3 Split out [Sub]sections into seperate files 2016-11-03 19:06:22 -04:00
Drew DeVault
1d8c6db0a7 Add remaining options 2016-11-03 19:06:22 -04:00
Drew DeVault
c7fa0a5ab0 Add more options 2016-11-03 19:06:22 -04:00
Drew DeVault
7e77efcfdc Add Graphics options 2016-11-03 19:06:22 -04:00
Drew DeVault
6c0cef894e Add OsuButton with sane defaults 2016-11-03 19:06:22 -04:00
Drew DeVault
2aa85a4b18 Split up options into subclasses 2016-11-03 19:06:22 -04:00
Huo Yaoyuan
7e2350cb13 Merge remote-tracking branch 'refs/remotes/peppy/lets-play' 2016-10-28 19:07:29 +08:00
Dean Herbert
0e39c5cc9c Move Results to own namespace. 2016-10-28 16:10:10 +09:00
Dean Herbert
feccb7286c Add the concept of a "WorkingBeatmap" and make player load beatmaps and audio from SongSelect. 2016-10-28 14:14:45 +09:00
Dean Herbert
d9dfc324c1 Rewrite a lot of Song Select to share logic between panels and consolidate logic inside classes where possible. 2016-10-27 19:52:48 +09:00
Huo Yaoyuan
35b1d0ae50 Seperated DragBar class. 2016-10-27 18:14:50 +08:00
Huo Yaoyuan
e1f6ab1a42 Create MusicController UI class and visual test. 2016-10-27 13:34:43 +08:00
Dean Herbert
debea59bab Merge pull request #61 from SirCmpwn/song-select
Song select
2016-10-27 13:54:34 +09:00
Dean Herbert
f846505a92 Tidy namespaces. 2016-10-27 12:01:13 +09:00
Dean Herbert
104cedba19 Merge pull request #109 from peppy/volume-control-input-fix
Fix volume control input handling.
2016-10-27 11:45:09 +09:00
Drew DeVault
55e5ec6fae General cleanup per PR feedback 2016-10-26 10:52:40 -04:00
Drew DeVault
157512b45f Merge branch 'master' into song-select 2016-10-26 10:37:18 -04:00
Dean Herbert
3f23900347 Framework & OpenTK updates. 2016-10-26 23:13:44 +09:00
Dean Herbert
ee8b678989 Fix volume controls handling mouse wheel at a higher level than anything else game-wide. 2016-10-26 18:45:48 +09:00
Dean Herbert
d3a857edb9 Make importing work properly.
Moves import code to BeatmapDatabase.
2016-10-24 11:39:53 -04:00
Drew DeVault
bc959f74a5 Add background textures to beatmap sets
Needs osu-framework#189
2016-10-24 11:39:18 -04:00
Drew DeVault
bc6e705e2b Add test case for song selection 2016-10-24 11:39:18 -04:00
Dean Herbert
1ce16afa23 Update nuget package versions. 2016-10-24 22:46:44 +09:00
Dean Herbert
43f0409893 Start to structure flow of information in Player.
- Allow basic clicking of hitobjects.
- Break non-osu! game modes temporarily.
- Fix some issues with RollingCounters.
- Add the ability to increment counters.
2016-10-19 19:44:03 +09:00
Dean Herbert
ee463dc65c Merge pull request #77 from NeoAdonis/counters-a
Rolling counters
2016-10-19 15:06:00 +09:00
Drew DeVault
7bdf1fe1bf Drop BeatmapSet, only BeatmapSetInfo is necessary 2016-10-18 15:48:24 -04:00
Drew DeVault
8ca4a2067e $(SolutionDir) 2016-10-18 13:58:24 -04:00
Drew DeVault
449f04c07b Refactor the database code 2016-10-18 13:38:27 -04:00
Adonais Romero González
5abc3ba898 Merge remote-tracking branch 'upstream/master' into counters-a 2016-10-17 20:36:04 -05:00
Huo Yaoyuan
f4c381f745 Use OverlayContainer in framework. 2016-10-16 17:14:17 +08:00
Adonais Romero González
0ceb72ba42 More refactoring 2016-10-15 15:16:02 -05:00
Adonais Romero González
9241287c79 Merge branch 'master' into counters-a 2016-10-15 13:45:55 -05:00
Adonais Romero González
6bd3eaf37d Changes according to review + Refactor 2016-10-14 18:23:27 -05:00
Dean Herbert
c3b745bfef Merge pull request #57 from UselessToucan/VolumeControl
VolumeControl: add controls for Effects and Music
2016-10-14 15:50:45 +09:00
Adonais Romero González
53cd698b3a Merge branch 'master' into counters-a 2016-10-13 22:57:24 -05:00
Adonais Romero González
f10a03dcef Merge with master 2016-10-13 17:20:35 -05:00
Adonais Romero González
ce07a45456 Improved code 2016-10-13 17:13:20 -05:00
TocoToucan
7d27406131 Fix merge conflict in osu.Game/osu.Game.csproj 2016-10-13 18:23:50 +03:00
Huo Yaoyuan
1c97edaac2 Base class for overlays. 2016-10-13 23:04:57 +08:00
Huo Yaoyuan
acd54d1ebc Single Visibility enum type. 2016-10-13 22:22:27 +08:00
Dean Herbert
5e3e949fd6 Revert all counter commits. Requires much further review. 2016-10-13 14:45:41 +09:00
Dean Herbert
fde3ab420a Merge branch 'master'
Conflicts:
	osu.Game/osu.Game.csproj
2016-10-13 12:23:36 +09:00
Drew DeVault
65e3e13aa2 Fix reference paths in osu.Game.csproj 2016-10-13 12:19:15 +09:00
Drew DeVault
32ab8f97bb Add more decoding (including full BeatmapMetadata) 2016-10-13 12:16:58 +09:00
Dean Herbert
2566d6bfe0 Fix regressions with HitRenderers, while also cleaning them up. 2016-10-13 10:10:15 +09:00
TocoToucan
ce391301fa Merge VolumeControl.cs 2016-10-12 19:17:53 +03:00
Drew DeVault
e9a45de51f Refactor database to reuse existing types 2016-10-12 11:32:40 -04:00
Drew DeVault
23bc26ddac Implement OszArchiveReader 2016-10-12 11:32:40 -04:00
Drew DeVault
bc69aa1455 Initial support code for beatmap loading 2016-10-12 11:32:40 -04:00
Drew DeVault
005dc9e8cb Drop GameMode 2016-10-12 11:32:40 -04:00
Drew DeVault
2d810f72fa Add initial DB schema and support code 2016-10-12 11:32:07 -04:00
Dean Herbert
79b62d4373 Merge remote-tracking branch 'refs/remotes/upstream/master'
Conflicts:
	osu-framework
	osu.Desktop.VisualTests/Program.cs
2016-10-12 15:20:23 +09:00
TocoToucan
89d7de31ee VolumeControl: add controls for Effects and Music 2016-10-09 20:45:34 +03:00
Adonais Romero González
37115c8c9f Merge branch 'master' into counters 2016-10-08 22:02:43 -05:00
Adonais Romero González
5ebb2fc289 Refactor + Stars Counter (initial)
Moved a few things to allow using common transforms
for a star counter. This implementation is basic and
hacky, but good enough as proof of concept.
2016-10-08 19:11:01 -05:00
Dean Herbert
9594b7193c Standardise drawable state access and split large nested classes out of MainMenu.ButtonSystem 2016-10-08 23:27:46 +09:00
Dean Herbert
47faf8f40d Add in-game chat display, along with a global hotkey handling method. 2016-10-08 19:23:21 +09:00
Dean Herbert
3067c890ce General improvements to chat querying and logic organisation. 2016-10-08 19:23:21 +09:00
Dean Herbert
b2d899feb5 Add basic intro sequence. 2016-10-08 15:54:04 +09:00
Dean Herbert
bdb72d7b82 Add basic VolumeControl and saving of volume to config. 2016-10-08 15:54:00 +09:00
Dean Herbert
d1dfa120d1 Move BackgroundModes to their own files. 2016-10-08 15:53:57 +09:00
Dean Herbert
d6042bd689 Add intro and begin to create central logic nest. 2016-10-08 15:53:56 +09:00
Adonais Romero González
00cfc51004 Rolling counters (initial) 2016-10-07 02:05:02 -05:00
Dean Herbert
c0f25a2683 Improve white-boxed game modes. 2016-10-05 20:08:58 +09:00
Dean Herbert
03aea04a00 Add BackgroundMode stack. 2016-10-05 20:06:55 +09:00
Dean Herbert
cc52580568 Implement mode selector highlight line. 2016-10-04 19:41:18 +09:00
Dean Herbert
11403a922a Make Home, Settings and PlayMode buttons work. 2016-10-04 17:15:03 +09:00
Dean Herbert
f0681f35c4 Merge remote-tracking branch 'refs/remotes/upstream/master' into game-modes-layout
# Conflicts:
#	osu.Game/OsuGame.cs
#	osu.Game/OsuGameBase.cs
#	osu.Game/osu.Game.csproj
2016-10-01 17:10:27 +09:00
Dean Herbert
b110a879a7 Merge branch 'refs/heads/master' into api-channels-messages
# Conflicts:
#	osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj
2016-10-01 17:05:56 +09:00
Dean Herbert
5afb038025 Use explicit cast to OsuGame rather than in-between derived classes.
# Conflicts:
#	osu.Game/GameModes/Menu/MainMenu.cs
2016-10-01 17:02:57 +09:00
Dean Herbert
cc14aeb802 Add basic background display system. 2016-09-30 18:45:55 +09:00
Dean Herbert
d93718d953 Add template toolbar. 2016-09-30 18:45:27 +09:00
Dean Herbert
357c94ed8a Add OsuGameMode. Standardise naming of classes. 2016-09-30 13:30:55 +09:00
Dean Herbert
643ae0cefe Merge remote-tracking branch 'upstream/master' into beatmap_framework 2016-09-30 00:13:08 +09:00
Dean Herbert
b4c9dca54b Merge remote-tracking branch 'upstream/master' into api-channels-messages
Conflicts:
	osu.Game/Online/Chat/Message.cs
2016-09-29 23:54:33 +09:00
Dean Herbert
154226b9a3 Basic white-boxing of all game modes. 2016-09-29 23:51:17 +09:00
Dean Herbert
2db962dc33 Add basic tweening mouse cursor.
# Conflicts:
#	osu-framework
2016-09-29 23:46:33 +09:00
Dean Herbert
8650e951e5 Merge branch 'refs/heads/master' into api-channels-messages
# Conflicts:
#	osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj
2016-09-28 16:30:00 +09:00
Dean Herbert
eaab1b718e Merge branch 'refs/heads/master' into beatmap_framework
# Conflicts:
#	osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj
2016-09-28 16:09:26 +09:00
Dean Herbert
67652a6d8e Improve formatting of chat lines. 2016-09-27 20:45:26 +09:00
Dean Herbert
28045b7136 Add back basic API support for channel/message retrieval. 2016-09-27 18:33:52 +09:00
Dean Herbert
f0284ce57c Use the old naming style for now. 2016-09-26 15:07:29 +09:00
Dean Herbert
ae100e3137 Move PlayTest to the VisualTests project. 2016-09-25 13:59:38 +09:00
Dean Herbert
58ed5c00e4 Merge remote-tracking branch 'refs/remotes/upstream/master' into beatmap_framework
# Conflicts:
#	osu.Game/GameModes/Menu/ButtonSystem.cs
#	osu.Game/OsuGame.cs
2016-09-25 13:40:06 +09:00
Huo Yaoyuan
63535df6dc Fix typo and missnaming. 2016-09-24 19:46:10 +08:00
Huo Yaoyuan
c70bf53486 Rename counter classes to avoid confusing. 2016-09-24 19:46:10 +08:00
Huo Yaoyuan
81f269ee69 MouseCount and KeyBoardCount, input handling. 2016-09-24 19:46:10 +08:00
Huo Yaoyuan
55a1a3827a Implement KeyCounter and base Count class. 2016-09-24 19:46:10 +08:00
Dean Herbert
7bdb2fcfc7 Add basic implementation of VisualTest framework for osu! project.
Comes with one complimentary test.
2016-09-24 15:47:17 +09:00
Dean Herbert
e0c06a4f19 Merge branch 'refs/heads/general-fixes' into beatmap_framework
# Conflicts:
#	osu-framework
#	osu.Game/GameModes/FieldTest.cs
#	osu.Game/GameModes/FontTest.cs
#	osu.Game/GameModes/Menu/ButtonSystem.cs
#	osu.Game/Graphics/UserInterface/TextBox.cs
#	osu.Game/OsuGame.cs
#	osu.Game/osu.Game.csproj
2016-09-20 16:36:42 +09:00
Remie Richards
f2fa9f611a Replaced osu.Game.Graphics.Cursor.CursorContainer.cs with osu.Framework.Graphics.Cursor.CursorContainer.cs 2016-09-17 22:11:27 +01:00
Remie Richards
4754c0e2d1 Clears out old tests (use the framework tests!), Replaces osu.Game.Graphics.UserInterface references with osu.Framework.Graphics.UserInterface 2016-09-17 21:54:52 +01:00
Dean Herbert
9e76feb159 Add remaining HitRenderers.
Many general improvements.
2016-09-06 21:42:45 +09:00
Dean Herbert
024ae1d1c2 Move playfields to own class. 2016-09-06 21:42:45 +09:00
Dean Herbert
93744f7372 Add basic TaikoHitRenderer. 2016-09-06 21:42:45 +09:00
Dean Herbert
2ea5a5c675 Add basic HitRenderer framework. 2016-09-06 21:42:45 +09:00
Dean Herbert
ec25a50249 Add basic structure for catch mode objects. 2016-09-06 21:41:16 +09:00
Dean Herbert
49110cf8d8 Add mania Note and HoldNote. 2016-09-06 21:41:16 +09:00
Dean Herbert
cf12f4764f Add basic structure for osu! mode objects. 2016-09-06 21:41:16 +09:00
Dean Herbert
7cee44ab1d HitObject -> HitBase. Also add BaseHits for each game mode. 2016-09-06 21:41:16 +09:00
Dean Herbert
016521240a Add playtest class. 2016-09-06 21:41:16 +09:00
Dean Herbert
ef98e4ee3c Move beatmap metadata to separate class. 2016-09-06 21:41:16 +09:00
Dean Herbert
abe8ff21f6 Add more timing and sample related classes. 2016-09-06 21:41:16 +09:00
Dean Herbert
3098204dda Add basic class structure for Beatmap/HitObject/SampleInfo/User. 2016-09-06 21:41:16 +09:00
Dean Herbert
7e3d2ebe80 Update nuget packages and framework reference once more. 2016-09-06 20:41:18 +09:00
Dean Herbert
ebd15d6f7c Remove System.Drawing dependency. 2016-09-02 14:30:08 +09:00
Dean Herbert
b3e2339175 Make TextBox rendering work again. 2016-09-01 22:51:03 +09:00
Dean Herbert
013cf1cf3f Fix broken namespaces. 2016-08-31 20:16:05 +09:00
Dean Herbert
8870935a4b Add basic online API support. 2016-08-31 20:14:01 +09:00
Dean Herbert
6cbbeaaac0 Initial commit. 2016-08-26 14:41:47 +09:00