Commit Graph

29 Commits

Author SHA1 Message Date
Jeffrey Han
643a7c4589 Added a dropdown menu class, similar to the one in osu!.
Using 'fa-chevron-down' and 'fa-chevron-right' icons from Font Awesome v4.4.0 (https://github.com/FortAwesome/Font-Awesome).

The dropdown menu is currently used only in the downloads menu to select servers.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-08 23:46:30 -04:00
Jeffrey Han
6c369f6329 Minor code cleaning.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-08 12:26:28 -04:00
Jeffrey Han
1b8f85942f Use java.awt.Point in Cursor class instead of separate x/y lists.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-05 12:46:01 -05:00
Jeffrey Han
97dbb36e43 Switch to startUse/drawEmbedded/endUse for cursortrail and star stream.
This should be much more efficient when repeatedly rendering the same texture, as in these two cases.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-05 09:32:26 -05:00
Jeffrey Han
80042807c5 Draw an animated star stream in the song menu.
Star image was modified from XinCrin's "Fantasy's Skin".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-04 22:36:25 -05:00
Jeffrey Han
cd3d53336d A couple of API improvements.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-03 22:16:52 -05:00
Jeffrey Han
3214916d60 Load beatmap background images in a new thread.
This eliminates the game-wide lag (100-200ms on my computer) when switching song nodes. Attempted to mask the loading time with a fade-in effect.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-03 19:24:07 -05:00
Jeffrey Han
769ad963e7 Moved OszUnpacker into package 'opsu.beatmap'.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-31 22:25:28 -05:00
Jeffrey Han
9d19dacab4 Removed some unneeded methods.
- Removed "isImplemented" field from GameMod as all of the base mods have been implemented.
- Removed Utils.getBoundedValue() methods in preference for Utils.clamp().

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 17:56:05 -05:00
Jeffrey Han
6d284cdd80 Organize imports.
Some of these got re-ordered when I updated Eclipse -- resetting to the original sort order.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-28 21:29:21 -05:00
Jeffrey Han
0b33fed2d4 Minor follow-up to #127.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-27 20:48:08 -05:00
Lemmmy
b1e8c3a72e Added cursor animation 2015-08-27 17:32:40 +01:00
Jeffrey Han
5efb61d3bb Fixed bug where skinned old-style cursors were ignored. (part of #120)
Previously, enabling old-style cursors would try to load files "cursor2" and "cursortrail2". Now the actual files are loaded, and the -2 images are only used when no game skin image is provided.

Added a hasGameSkinImage() method in GameImage to check if the "default" image is skinned (by a game skin).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-23 21:16:28 -05:00
Jeffrey Han
b83d6be5fd Clarified GameImage "skinnable" field as "beatmap-skinnable".
Renamed some methods and modified comments to avoid this confusion, as game skins were implemented much later than beatmap skins.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-23 20:41:09 -05:00
Jeffrey Han
949b2c215c Added a WatchService to watch the beatmap directory tree for changes.
Any CREATE and DELETE that occur in the song menu state will now show a notification and modify the behavior of the 'F5' key. Changes that occur in other states will force a reload upon entering the song menu.

This is part of osu!, but as it's not incredibly helpful, I've left it disabled by default.  It can be enabled in the options menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-21 10:25:52 -05:00
Jeffrey Han
0a7aef7347 Moved all Utils.FONT_* into new class opsu.ui.Fonts.*.
- Moved Utils.loadGlyphs() into this class, and rewrote it to take a single generic string (instead of beatmap title/artist strings, specifically).
- Also moved font initialization into this class.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 20:40:07 -05:00
Jeffrey Han
7b5b96752c Moved some duplicate colors into the Colors class.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 20:14:24 -05:00
Jeffrey Han
91f07855a7 Moved all Utils.COLOR_* into new class opsu.ui.Colors.*.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 20:02:23 -05:00
Jeffrey Han
6e7de654b0 Hit animation bug fixes.
- In "Hidden" mod, don't draw expanding animation for circles. (related to #121)
- With "Show Perfect Hits" disabled, still show the hit animations instead of having the objects just disappear. (also mentioned in #121)
- Removed the two easing functions in Utils (and replaced references with calls to AnimationEquations).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 18:40:10 -05:00
Jeffrey Han
52e973caf8 Added animation loop capabilities to MenuButton.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-12 19:03:50 -05:00
Jeffrey Han
40ab94794f Bug fixes and tweaks.
- Check if other Desktop actions are supported (follow-up to #114).
- The cursor-middle image is no longer scaled (when clicking).
- Changed the options menu background image (created with Trianglify at http://qrohlf.com/trianglify/), and made it fit the entire page.
- Slightly increased minimum splash screen time.
- Switched more animations to use AnimatedValue.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 12:04:15 -05:00
Jeffrey Han
c91146b024 Added easing functions for all-around better animations.
These are Robert Penner's easing functions (http://robertpenner.com/easing/), refactored by CharlotteGore to only take a t parameter (https://github.com/CharlotteGore/functional-easing). Licensed under BSD (the former) and MIT (the latter).

Related changes:
- Added "AnimatedValue" utility class for updating values used in animations.
- MenuButton now uses AnimatedValue to handle its animations (still linear by default).
- Added in-out-back easings on logo, mods, and various other elements; added out-bounce easings on button menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-05 22:28:14 -05:00
Jeffrey Han
5dac21a545 Cursor trail now considers actual FPS (not target FPS). (fixes #109)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-16 18:14:46 -05:00
Jeffrey Han
d860a30aed Follow-up to #99.
- Many code style changes.
- Don't increment combo if missing the last slider circle.
- Added player name in ranking screen.
- Don't show null/default player names.
- Only import replays with .osr extension.
- Display loading status for importing replays.
- Moved MD5InputStreamWrapper to package "opsu.io".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-29 19:22:38 -05:00
Jeffrey Han
0112a03bd3 Added "Cursor Size" option.
Also moved "New Cursor" option into the "Input" category.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-14 12:30:33 -05:00
Jeffrey Han
77661ffd82 Merge branch 'javadoc8' of https://github.com/Bigpet/opsu into Bigpet-javadoc8 2015-06-13 02:04:16 -05:00
Jeffrey Han
0c42f1ed01 Cursor refactoring.
Moved cursor-related code out of UI and into a new non-static "Cursor" class.

Also, the cursor is no longer reset after gameplay if it wasn't skinned.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 04:48:03 -04:00
Jeffrey Han
00a08f1327 Renamed "OsuParser" to "BeatmapParser"; moved into "opsu.beatmaps".
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 03:07:58 -04:00
Jeffrey Han
2c47e9a1b9 Moved "UI" and "MenuButton" classes to new package "opsu.ui".
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 01:55:57 -04:00