Commit Graph

497 Commits

Author SHA1 Message Date
Jeffrey Han
40e4495030 Initial skin loader implementation.
- Skins are now loaded from subdirectories of the root "Skins" directory, and can be changed in-game (but requires a restart).
- Changed the default skin directory to the osu! directory, if available.

This implements a full parser for skin.ini (excluding CTB/Mania elements) based on the current wiki information.  None of the settings have been implemented yet.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-23 23:48:28 -04:00
Jeffrey Han
fe8c6a6f02 Added Utils.parseBoolean() method to parse 0/1 booleans.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-23 14:52:03 -04:00
Jeffrey Han
91b78b4add Updating to 0.9.0.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-17 16:51:30 -04:00
Jeffrey Han
c3c1e95053 Removed tools/jarsplice-0.40.jar.
Hasn't been used since the addition of JarSplicePlus.

Also, some minor graphical tweaks.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-17 15:38:58 -04:00
Jeffrey Han
b5c434a808 Added Hexide download server.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-17 01:58:54 -04:00
Jeffrey Han
ee5bc4b616 Continuation of 53c79c5 - created a BeatmapSet class.
Moved the strictly beatmap-related parts of BeatmapSetNode into a new BeatmapSet class.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 22:49:18 -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
436aa2bed9 Minor UI tweaks (options menu background, clip overflows, etc.).
Background from: http://www.urwallpapers.com/streaks-of-light/

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 17:46:23 -04:00
Jeffrey Han
f828349304 Formatted the raw dates returned by the beatmap download servers.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-15 02:42:02 -04:00
Jeffrey Han
6c8d4ea49a Changed font to Droid Sans Fallback v2.55b. (fixes #65)
Generally much cleaner than Kochi Gothic, and half the file size.  Uses an older version of the font, since many glyphs were removed in later versions (due to the glyphs being supported in other Google fonts).

Droid Sans Fallback is licensed under the Apache License, Version 2.0.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-15 01:33:53 -04:00
Jeffrey Han
8f48d9495e Fixed #81.
Catch ArrayIndexOutOfBoundsException in Slick's Input class.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-09 00:46:29 -04:00
Jeffrey Han
cab207e275 Added osu!Mirror download server.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-07 23:58:04 -04:00
Jeffrey Han
50d55d8d99 Better error handling when running JARs in a directory with '!'.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-07 13:28:40 -04:00
Jeffrey Han
885158d3b7 Merge pull request #79 from fluddokt/omaster
More curve types #76 fix?
2015-04-14 00:17:02 -04:00
fd
61d00627cf More curve types #76 fix? 2015-04-13 22:56:07 -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
Jeffrey Han
a69f960e26 Merge pull request #76 from fluddokt/omaster
Implemented Catmull curves and more curve types.
2015-04-12 21:52:53 -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
4eaf0b6a54 Follow-up to #71.
- Fixed a major bug where two hit result calculations were being performed for each slider.
- Fixed a bug where hit circles/sliders were being drawn for a miss.
- Sliders now only expand when held to the end (as in osu!).
- Use the track position as the hit result start time for circles (instead of the object time).
- Added a 'color' parameter to Curve.draw(), rather than keeping an extra reference to the slider Color object.
- Renamed HitResultType enum to HitObjectType, and moved it into GameData.
- Removed some overloaded methods (not really necessary...).
- Other style changes.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-08 02:05:12 -04:00
Jeffrey Han
dda9081149 Merge pull request #71 from LemonLake/lemmmyvisuals
Added hit animations, updated lighting & added InteliJ to gitignore
2015-04-07 23:19:28 -04:00
Drew Lemmy
f7d6fed0c6 Final fixes #71 2015-04-07 19:23:54 +01:00
Drew Lemmy
81b8182244 Fixed gekis and katus not being shown on hit results 2015-04-07 13:44:27 +01:00
Drew Lemmy
792b511a46 Added slider fading to hit animations 2015-04-07 13:13:43 +01:00
Drew Lemmy
8e8fda7e58 Added pretty much everything suggested to hit animations 2015-04-07 06:24:09 +01:00
Drew Lemmy
c3bca9a39e Changed lighting texture 2015-04-07 03:00:14 +01:00
Drew Lemmy
9a2772b614 Moved hit result to be drawn after lighting 2015-04-06 23:12:36 +01:00
Drew Lemmy
87e68bd494 Added hit animations, updated lighting & added InteliJ to gitignore 2015-04-06 23:08:49 +01: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
Jeffrey Han
420284af4f Merge pull request #68 from DarkTigrus/doubletime
HalfTime and DoubleTime mod
2015-04-03 16:46:52 -04:00
fd
fa9accfc88 spinner 2015-04-03 14:00:59 -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
fd
a49b5bc945 Replay importing 2015-04-02 19:10:33 -04:00
Pavel Kolchev
d8425197a7 Implement playback speed in replays. 2015-04-02 19:38:45 +03:00
Jeffrey Han
28514a8606 Merge pull request #69 from DarkTigrus/stack-hardrock
Correct Y offset with HardRock mod
2015-04-01 10:26:26 -04:00
Pavel Kolchev
ffadf197ba Fixes incorrect Y offset with HardRock mod. 2015-04-01 15:10:15 +03:00
Jeffrey Han
66bd97242f Minor follow-up to #63.
Pass in an alpha level instead of color filter to drawSymbolNumber().

Also fixed a bug where antialiasing wasn't being disabled when it was supposed to be.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-31 19:46:58 -04:00
Jeffrey Han
1d9ec52c8a Merge pull request #63 from DarkTigrus/fadein-fix
Circle and slider fade in.
2015-03-31 19:29:18 -04: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
87667c5dab Correct circle and slider fade in.
Match osu! behaviour. Fadein time is static and doesn't scale with approach rate. Circles, numbers, arrows and ticks alpha is the same.
2015-03-30 17:06:16 +03: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
eadbdbee78 Remove unnecessary re-creation of curve. 2015-03-29 03:06:26 +03:00
Pavel Kolchev
2e5226ecd5 Refactor and cleanup 2015-03-28 21:49:25 +03:00