Commit Graph

854 Commits

Author SHA1 Message Date
Jeffrey Han
9138b70a24 Minor GameContainer changes.
Added copy of GameContainer.java:
- updateAndRender() no longer calls Log.error(), and re-throws the original exception as a SlickException.  This prevents errors from being logged twice, and now the relevant one is shown in the error popup (instead of a useless "failure" message).
- getBuildVersion() no longer calls Log.error(), and removed slick build information from "version" file.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-06 19:16:43 -05:00
Jeffrey Han
3df08e5357 Write build information to "version" file and auto-fill error forms.
- Maven version and build date are now written to "res/version".
- The GitHub Issues form is auto-filled with error information if available. (reference: fluddokt/opsu@53fe3d9)

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-06 15:55:15 -05:00
Jeffrey Han
6cd6938ea5 Preload game images directly before a game. (undo 95775d8)
Not noticing any bad effects from this anymore.  The application should load faster again.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-06 14:39:49 -05:00
Jeffrey Han
7fb326d870 Merge pull request #28 from fluddokt/omaster
Attempt to fix jitter by using a higher precision timer.
2015-03-06 02:41:32 -05:00
Jeffrey Han
81601d41aa Implemented various keyboard shortcuts.
- Main menu:
-- 'd': opens downloads menu
-- 'r': plays random track
- Song menu:
-- SHIFT+DEL: opens beatmap deletion menu

Other changes:
- In the main menu, tracks now play from the beginning instead of the preview time.
- Fixed "next page" icon sometimes showing in the downloads menu when a next page didn't exist.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-06 01:29:50 -05:00
Jeffrey Han
0a1b10fbdb Implemented "relax" mod.
Also added a few checks for related "autopilot" mod (probably incomplete).

Fixed the wrong default background being shown in the ranking screen.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-06 00:25:48 -05:00
Jeffrey Han
b80764f3eb Added a DownloadListener interface and more bar notifications.
Notifications are now sent when a download is complete and when new songs are imported in the downloads menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-05 15:36:36 -05:00
Jeffrey Han
cf9b22442f Added global F7 and F10 shortcuts.
- F7: cycles through FPS settings.
- F10: toggles mouse enable/disable state during gameplay.

Also added bar notifications for saving/loading checkpoints.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-05 14:40:57 -05:00
Jeffrey Han
235adc539e Extracted UI components from Utils into a separate UI class.
Added draw(), update(), and enter() methods in UI to do all the necessary calls (instead of letting the states handle them).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-05 13:27:45 -05:00
Jeffrey Han
fb5515efb8 Added bar notifications.
Currently used in main menu music buttons.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-05 12:44:10 -05:00
Jeffrey Han
ebf629d261 Updated to JarSplicePlus v1.1.
Fixed an issue where the META-INF directory was not being copied, causing problems with mp3spi.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-04 23:26:49 -05:00
Jeffrey Han
f515924b8d Added gh-pages link in README.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-04 22:36:48 -05:00
Jeffrey Han
dbc24c403b Added a Slick2d 'version' file to silence the errors.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-04 22:08:40 -05:00
Jeffrey Han
4959510b5d Deleting beatmaps/groups now also deletes them from the cache.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-04 21:45:44 -05:00
Jeffrey Han
3216c4d1ac Minor improvements in tab appearance.
Centered the text and spread out the tabs in the options menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-04 21:21:53 -05:00
Jeffrey Han
bf04083ebd Added a beatmap cache database.
- New database ".opsu.db" stores a cached copy of all parsed beatmaps.  All data will be read from this database unless the last modified time of a beatmap file does not match the one in the table.
- OsuParser inserts all new entries to the database in batch after parsing.
- Added *toString()/*fromString() methods for 'breaks', 'timingPoints', and 'combo' fields in OsuFile for use with the database.
- For any database format changes, update the DATABASE_VERSION field in OsuDB.
- Reloading beatmaps (F5) will now clear the beatmap cache.

Related changes:
- Added small DBController class for convenience.
- Changed 'bg' field of OsuFile to only contain the image file name, instead of the full path.
- Deleted printDatabase() method from ScoreDB.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-04 21:03:06 -05:00
Jeffrey Han
5626cd1699 Added a "pop" effect to the combo counter.
Also changed drawSymbolString() and drawFixedSizeSymbolString() methods slightly: coordinates are now floats, and drawSymbolString() takes an 'alpha' argument.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-04 01:30:28 -05:00
fd
d468a81c92 Attempt to fix jitter by using a higher precision timer. 2015-03-03 22:07:00 -05:00
Jeffrey Han
11e555492e Simplified Options class.
- Boolean and integer option values are now stored in a GameOption field instead of individual static fields in the Options class.
- Added default method bodies for getValueString(), click(), and drag() based on the option type.

Also made the options file parser continue after a NumberFormatException instead of quitting immediately.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-03 00:40:51 -05:00
Jeffrey Han
de949ef11c Added options to disable the mouse wheel or mouse buttons during gameplay.
- Clicking the mouse wheel now pauses the game (with these options disabled).
- Created an "Input" category in the options menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-02 22:12:57 -05:00
Jeffrey Han
4bf5943ee0 Follow-up to #27.
- Removed 'isSpinner' field from GameData.hitResult() since it's now being passed the full OsuHitObject.
- Minor Javadoc fixes.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-01 13:58:03 -05:00
Jeffrey Han
33e880df77 Merge pull request #27 from fluddokt/AudioTest
Addition/Edge Addition SampleSet
2015-03-01 13:20:15 -05:00
fd
f9f95aae11 Merge remote-tracking branch 'ita/master' into AudioTest
Conflicts:
	src/itdelatrisu/opsu/states/SongMenu.java
2015-03-01 13:14:44 -05:00
fd
04bfbc70fc Addition/Edge Addition SampleSet
Minor fix with combo colors and spinners
2015-03-01 11:06:46 -05:00
Jeffrey Han
c543ddea01 Follow-up to #25.
- Moved all MultiClip-handling methods into the MultiClip class.
- Destroy extra clips when starting and finishing new beatmaps.
- Reduced maximum number of extra clips to 20.
- Attempted fixes at multithreading issues.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-01 00:03:06 -05:00
Jeffrey Han
540b1c49f0 Merge pull request #25 from fluddokt/AudioTest
Allows multiple instance of the same clip to be played simultaneously.
2015-02-28 21:08:21 -05:00
fd
955a184d2c Global max clips
reuse clips
close extraclips in ranking
2015-02-28 18:28:58 -05:00
Jeffrey Han
abde932b06 Merge pull request #26 from fluddokt/omaster
Half fix for some sliders
2015-02-27 22:39:30 -05:00
fd
8512f7c3c5 Fixes loading mp3 multiclip since AudioInputStream.availble didn't work. 2015-02-27 19:32:14 -05:00
fd
8a8024aadb Nevermind 2015-02-27 00:38:47 -05:00
fd
9c2c5e309a Half fix for some sliders
which doesn't have enough distance in the curve to reach the end.
2015-02-27 00:04:58 -05:00
fd
fbce0391a8 Allows multiple instance of the same clip to be played simultaneously.
This might fix some issues with some sounds not being played sometimes.

Also might require more memory since more clips are created.
2015-02-26 23:45:24 -05:00
Jeffrey Han
ad5277882e Added method for drawing tooltips.
Currently used for game mods and the music buttons in the main menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-26 02:06:34 -05:00
Jeffrey Han
148400b75d Updated README with links to the libGDX port for Android.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-26 00:04:54 -05:00
Jeffrey Han
4f0f093b75 Very slightly tweaked slider rendering.
Increased color alpha level, and don't fade the begin/end circles.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-23 18:12:31 -05:00
Jeffrey Han
51620772c0 Updating version to 0.6.0.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-21 22:30:47 -05:00
Jeffrey Han
36574cc073 Switched jlayer to com.googlecode.soundlibs.
Changed some default options.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-21 22:27:16 -05:00
Jeffrey Han
64f5d5032d Merge pull request #23 from fluddokt/omaster
Fixes Music Ended (hopefully)
2015-02-21 22:07:10 -05:00
fd
27f5454afb Fixes Music Ended (hopefully) 2015-02-21 20:20:57 -05:00
fd
2825f4c885 Fixes Music Ended (hopefully) 2015-02-21 20:14:48 -05:00
Jeffrey Han
163e72d423 Made sliders very slightly easier.
Sliders no longer need to be held to the end, but near it (within a 300-hit offset) for perfect hit.

Also made a slight improvement to SongMenu.setFocus().

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-21 17:12:18 -05:00
Jeffrey Han
00b98e07d6 Image loader fixes.
Image locations are now searched separately and in order, instead of just relying on ResourceLoader.  Fixes issues with some images in the skins directory not being loaded at all, as well as image arrays being loaded from mixed locations.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-21 11:40:25 -05:00
Jeffrey Han
96e27171e9 Support loading MP3 sound effects.
Also some minor formatting changes from #22.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-21 09:58:56 -05:00
Jeffrey Han
d268008d7a Merge pull request #22 from fluddokt/AudioTest
Mp3 wav through mp3spi
May have fixed loading some other unique audio.
2015-02-20 23:45:23 -05:00
Jeffrey Han
020dfbde32 Spinner updates and animated score percentage display.
- Added spinner RPM display. (image by @kouyang)
- Added "osu!" image for completed spinners.
- Changed spinner hit result ratios to be slightly harder.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-20 16:56:41 -05:00
Jeffrey Han
e6f85e9c5c Hit error bar changes.
- Always show the bar until no ticks are left.
- Fade out the bar.
- Moved from "Custom" options into "Gameplay".
- Separated drawing from update logic.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-20 15:08:16 -05:00
Jeffrey Han
dfeb93d696 Follow-up to ab1a377: now using Graphics.setClip().
Partial revert of changes made in that commit; also made song menu header/footer partially transparent again.  Thanks to @fluddokt.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-19 23:45:48 -05:00
Jeffrey Han
80c66a98c3 Added methods to check for transparent pixels in images.
This is currently being used for the logo/play/exit buttons in the main menu.

Also fixed bug where mod multipliers weren't being read.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-19 15:05:55 -05:00
Jeffrey Han
ab1a377be0 Minor graphical changes.
- Added a simple color change when hovering over an option in the options menu.
- Draw part of the song button before the start node, if any, for a more complete-looking scroll animation.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-19 02:43:26 -05:00
Jeffrey Han
25a7a826f1 More graphical updates, some code cleanup, and minor fixes.
- The MenuButton class now fully supports hover effects (scale, fade, rotate) for Animations.
- Used a fixed location for the selection buttons in the song menu (previously based on the "back" button width, which varies widely in different skins).
- Added hover effects for "retry" and "exit" buttons in the ranking screen.
- Changed animation speed of back/skip buttons.
- Fixed a bug where main menu showed the incorrect number of songs loaded during searches.
- Removed unneeded draw() methods in Utils for color filters (since 69f5aa5).
- Moved Utils.drawCentered(Image, ...) into the Image class.
- Added overwritten Image class to Maven excludes.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-02-19 00:33:32 -05:00