Commit Graph

161 Commits

Author SHA1 Message Date
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
130f9bf445 Game ranking screen fixes.
- Show retry button only when appropriate (e.g. not when viewing replays or when playing with "Auto" enabled).
- Watching a (fake) "replay" with "Auto" enabled will actually just call the "retry" code now.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 22:06:27 -05:00
Jeffrey Han
441bb95a09 Added lots of 'final' modifiers to class fields where applicable.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 21:11:55 -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
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
a4898d01a7 Fix hard rock coordinate modifier in replays. (fixes #118)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-10 17:14:02 -05:00
Jeffrey Han
0909377d14 Follow-up to #115: some fixes and whitespace changes.
- Hide the spinner approach circle instead of the spinner circle.
- Show the slider ball.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 19:15:49 -05:00
MatteoS
a13ea9308d Corrections for 'hidden' mod 2015-08-09 01:20:45 +02:00
mad-s
d82b8188e8 Hit indicators *do* show up in hidden mode.
I failed...
2015-08-08 23:17:25 +02:00
MatteoS
34356d9c08 Implement 'hidden' game mod 2015-08-08 21:12:02 +02: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
2167698740 Follow-up to #99: replay seeking improvements.
- Added on/off option for replay seeking in the "custom" menu.
- Mute sounds while seeking.
- Draw a bar on the left of the screen during replays for seeking (instead of just clicking near the top of the screen).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-02 22:16:14 -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
fd
55628038fe Restores drainRate
Single file read md5

pitch change synctime
2015-06-22 01:14:36 -04:00
fd
df07c62609 Merge remote-tracking branch 'org/master' into ReplayTest
Conflicts:
	src/itdelatrisu/opsu/GameData.java
	src/itdelatrisu/opsu/states/Game.java
2015-06-21 21:36:44 -04:00
fd
3675a25c44 Spinner Test 3
Clean up
2015-06-21 19:45:38 -04:00
Jeffrey Han
81d9421d74 Score formula update - still very wrong, but slightly closer. (see #43)
Added the "difficulty multiplier" as given by the osu! wiki.  Please note that this will invalidate all of your saved scores.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-14 11:59:12 -05:00
fd
038a5d5779 WIPTest Merge Fixes 2015-06-14 12:29:15 -04:00
fd
fd3f7fdabe Merge remote-tracking branch 'org/master' into ReplayTest
Conflicts:
	src/itdelatrisu/opsu/GameData.java
	src/itdelatrisu/opsu/Options.java
	src/itdelatrisu/opsu/OsuFile.java
	src/itdelatrisu/opsu/OsuGroupList.java
	src/itdelatrisu/opsu/OsuHitObject.java
	src/itdelatrisu/opsu/OsuParser.java
	src/itdelatrisu/opsu/UI.java
	src/itdelatrisu/opsu/db/OsuDB.java
	src/itdelatrisu/opsu/objects/Circle.java
	src/itdelatrisu/opsu/objects/HitObject.java
	src/itdelatrisu/opsu/objects/Slider.java
	src/itdelatrisu/opsu/objects/Spinner.java
	src/itdelatrisu/opsu/states/Game.java
	src/itdelatrisu/opsu/states/Splash.java
2015-06-13 20:28:30 -04:00
fd
40e67cedc9 Spinner Test2
Improves Score accuracy
(still mostly wrong)

inital replay seek
2015-06-13 18:35:30 -04:00
Jeffrey Han
74f7ac18b9 Fixed an infinite loop on beatmaps starting at time 0. (blame: 18e57fd)
There's probably a better fix, though...

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 18:13:49 -04:00
Jeffrey Han
e712d57a2c Cleaned up implementation of beatmap combo colors.
Added getComboColors() method to Beatmap class, and the 'combo' field is now null if no combo is provided.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 17:23:45 -04:00
Jeffrey Han
b1b1664e11 Follow-up to #91.
Pass the border color into CurveRenderState instead of determining it there; store the color as a static field in Curve (since it shouldn't change per-beatmap).

Also removed the leftover FrameBufferCache warning from #64.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 16:42:54 -04:00
Jeffrey Han
b6f208a47d Follow-up to #64.
- Removed NEW_SLIDER option, and use the skin "SliderStyle" instead.  Uses the new style by default, unless STYLE_PEPPYSLIDER is specified.
- Check if OpenGL 3.0 is supported before trying to draw new style sliders.
- Fixed compilation warnings; removed unneeded fields and imports.
- Filled in some missing Javadocs.
- Style changes.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 15:02:28 -04:00
Peter Tissen
2970972456 pass screen size in instead of polling it later
and add some comments
2015-06-08 15:52:37 +02:00
Peter Tissen
41c7825728 New optional slider style
New slider rendering works by rendering the slider to an
offscreen buffer

Add CurveRenderState.java and FrameBufferCache.java that were forgotten in the last commit
2015-06-08 15:52:06 +02:00
Jeffrey Han
f3825eba5e Added many missing Javadocs; other minor cleanup.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 06:06:37 -04: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
Jeffrey Han
250f7acc93 Continuation of 53c79c5 - HitObject name changes.
Attempts to eliminate any confusion between OsuHitObject (raw, parsed hit objects) and HitObject (interface for game object types).
- Renamed "HitObject" interface to "GameObject", since these objects are specific to gameplay.
- Renamed "OsuHitObject" to "HitObject", since these objects are primarily containers for parsed data.

Sorry if the name-swapping is confusing; these should be better names in the long run.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 21:42:03 -04:00
Jeffrey Han
53c79c5d85 Major refactoring - now using far more logical class names.
- Renamed "OsuFile" to "Beatmap".  All related variables and methods with "osu" have also been renamed to "beatmap" (or variants of each).
- Renamed "OsuGroupNode" to "BeatmapSetNode".  Avoids confusion since groups are identified by a "set ID", not a "group ID".
- Renamed "OsuGroupList" to "BeatmapSetList", for the same reason as above.
- Renamed "OsuDB" to "BeatmapDB", for the same reason as above.
- Moved classes directly related to parsed beatmaps (Beatmap, BeatmapSetList, BeatmapSetNode, OsuHitObject, and TimingPoint) into a new "beatmap" package.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 21:25:19 -04:00
Jeffrey Han
0a80590505 Renamed "OsuTimingPoint" class to "TimingPoint".
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 17:58:32 -04:00
Jeffrey Han
5fcff76690 Very minor formatting changes to #76.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-12 22:33:20 -04:00
fd
e792c3cae6 Clean 2015-04-12 13:55:52 -04:00
fd
12e70002d6 More curve types
Catmull curves
Line Curves(half assed)
Curve refactor
#73 near 0 length sliders
2015-04-12 10:55:39 -04:00
Jeffrey Han
13d383463f Improved error message in #72; fixed timing point issue from #61.
- Actually provide relevant information when an audio file can't be found.
- When loading timing points, don't reset the start index every time.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-10 12:34:18 -04:00
Jeffrey Han
07075c094b Mod difficulty multipliers are now reflected in displayed song info.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-04 12:30:23 -04:00
Jeffrey Han
2efb18e225 Follow-up to #68.
Fixes:
- Set the modified speed again after unpausing and loading from checkpoints.
- Changed countdown delays based on current speed.
- Changed color of highlighted song info text to that in osu!.
- Made playback images unskinnable.

Code changes:
- Changed playback field in Game class to the PlaybackSpeed object instead of just the button.
- Changed PlaybackSpeed.next() to a non-static method.
- Added/edited Javadocs.
- Changed image names.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-03 18:08:35 -04:00
Pavel Kolchev
f810965921 DT/HF/Playback changes.
Can watch HalfTime on half speed.
Reset pitch on leaving the game state.
Load songInfo when entering select song menu.
Playback button fades in on hover instead of expands.
Reverted spinner changes. It should be fixed separately.
2015-04-03 15:01:18 +03:00
Pavel Kolchev
d8425197a7 Implement playback speed in replays. 2015-04-02 19:38:45 +03:00
Pavel Kolchev
5f3ce74c64 Implemented half/double time mod.
Dynamic bpm, map length in song select menu.
Fixed replay and spinner with these mods.
2015-03-31 18:14:52 +03:00
Jeffrey Han
e83e0da70f Fixed Slider.getPointAt() returning an incorrect end point.
Also some additional tweaks to #61.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-30 23:58:11 -04:00
Jeffrey Han
4b91018b70 Very minor follow-up to #61.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-30 23:06:52 -04:00
Jeffrey Han
f63be81490 Merge pull request #61 from DarkTigrus/hitobject-stacking
Hit object stacking algorithm
2015-03-30 22:38:42 -04:00
Pavel Kolchev
e441d3e4e1 Update stacking algorythm.
Revert previous commit. Curve should be re-created or updated.
No more extra updatePosition() calls.
2015-03-30 13:02:38 +03:00
Pavel Kolchev
2e5226ecd5 Refactor and cleanup 2015-03-28 21:49:25 +03:00
Pavel Kolchev
2aaf5e73be Remove unnecessary methods. 2015-03-28 21:48:29 +03:00
Pavel Kolchev
fbe87559c9 Implement hit object stacking algorithm. 2015-03-28 15:11:43 +03:00
Jeffrey Han
18e57fdb96 Minor changes: fading game bg dim, initial flashlight radius fix.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-24 01:03:58 -04:00