12e70002d6
More curve types
fd2015-04-12 10:25:03 -04:00
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.
Jeffrey Han2015-04-10 12:34:18 -04:00
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.
Jeffrey Han2015-04-08 02:05:12 -04:00
9a2772b614
Moved hit result to be drawn after lighting
Drew Lemmy2015-04-06 23:12:36 +01:00
87e68bd494
Added hit animations, updated lighting & added InteliJ to gitignore
Drew Lemmy2015-04-06 23:08:49 +01:00
07075c094b
Mod difficulty multipliers are now reflected in displayed song info.
Jeffrey Han2015-04-04 12:30:23 -04:00
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.
Jeffrey Han2015-04-03 18:08:35 -04:00
c15cd5cb4c
Follow-up to a6ece30: allow changing volume anywhere with ALT key. The master volume can now be changed (using the mouse wheel) with the ALT key pressed in any menu, as in osu!.
Jeffrey Han2015-03-26 20:45:33 -04:00
18e57fdb96
Minor changes: fading game bg dim, initial flashlight radius fix.
Jeffrey Han2015-03-24 01:03:58 -04:00
a6ece307ff
Allow changing volume in the game paused menu.
Jeffrey Han2015-03-23 20:40:50 -04:00
daad5940f0
Fixed crashes when importing beatmaps (due to more async issues). Don't call MusicController.loopTrackIfEnded() if a beatmap reloading thread is running.
Jeffrey Han2015-03-19 23:38:19 -04:00
fc5f56f75a
Minor main menu changes. - Changed the time format displayed on the main menu to match osu!. - If no beatmaps are loaded, redirect the user to the downloads menu instead of an empty song menu.
Jeffrey Han2015-03-19 22:10:38 -04:00
cb8c7c399c
Game state bug fixes and better error handling. Error handling (related to #53): - Catch all exceptions caused by creating HitObjects and throw a more informative error with the hit object information. This also allows multiple errors to be reported, instead of crashing at the first error. - Added a fallback "DummyObject" HitObject to replace hit objects causing errors, which should allow the game to function despite any errors. - Added a toString() method to OsuHitObject (resembling the raw format).
Jeffrey Han2015-03-19 19:03:07 -04:00
e6576bd7f9
Glyph loading fixes and improvements (for Unicode fonts). - Glyphs are now loaded for specific fonts as needed, not for all of them at once. This reduces lag and saves memory. - Fixed glyphs not being loaded in the downloads menu. - Moved Utils.loadGlyphs() calls directly above text drawing code (easier to maintain, and fixes a bug with text flickering once).
Jeffrey Han2015-03-19 16:45:26 -04:00
ec042159a8
Added track previews to the downloads menu. Currently uses the osu! server to load MP3 previews.
Jeffrey Han2015-03-19 15:58:50 -04:00
7d5899ba7e
Fixed a major memory leak caused by MusicController.getDuration(). Blame: f23159dJeffrey Han2015-03-19 04:47:02 -04:00
b46c589b97
Follow-up to #52. - Animate skip button during lead in. - Update flashlight radius during lead in. - Check if keys are set before calling gameKeyPressed(). - Deleted mouse moved/dragged events (no longer used). - Renamed updateGameKeyPress(). - Added "auto"/"relax" mod checks to gameKeyPressed().
Jeffrey Han2015-03-19 03:04:35 -04:00
e362232d5f
Fixed some game mod inverse checks. - Fixed issues with Auto and Spun Out/No Fail. - Added checks for Half Time and Double Time.
Jeffrey Han2015-03-17 16:03:49 -04:00
ebbe9db717
Include OS, architecture, and JRE information in error reports.
Jeffrey Han2015-03-17 15:49:20 -04:00
e6206e52d4
Draw cursor location in "auto" mod. Moves the cursor between hit objects and along hit object paths (slider curves, spinner circles). - Added 'getPointAt(trackPosition)' and 'getEndTime()' methods to HitObject interface. - Unhide default cursor for "auto" plays.
Jeffrey Han2015-03-17 14:48:13 -04:00
f23159d003
Added method to get duration of MP3s. Currently used for the music bar in the main menu.
Jeffrey Han2015-03-16 13:16:30 -04:00
678f902744
Moved OsuReader and OsuWriter into a new package 'opsu.io'.
Jeffrey Han2015-03-16 11:58:51 -04:00
1927fe0309
Follow-up to b5a6455: increased visible area size. ...to account for empty space around the alphamap image.
Jeffrey Han2015-03-15 16:39:28 -04:00
b5a6455d0a
Implemented "Flashlight" mod. - Restricted view area using alpha maps and offscreen drawing. (credits: davedes) - Added silver grades.
Jeffrey Han2015-03-15 15:38:04 -04:00
f7c627e8a2
Follow-up to #49. Allowed toggling HD image loading in-game; changed some names; other minor formatting changes.
Jeffrey Han2015-03-14 23:28:50 -04:00
6e0fcca84c
Replay accuracy improvements. Store keys from previous frame, and only send a keypress if a new frame's keys differ.
Jeffrey Han2015-03-14 17:51:49 -04:00
356772b6b6
Minor replay changes, and added pop effect for the scorebar marker. - When reading replay frames, the thread will now sleep for the time difference minus 1ms if possible (to avoid so much unnecessary looping). - Fixed a bug where the 'replay' GameData field wasn't being set in some cases. - Move cursor to skip button location when skipping intro in a replay.
Jeffrey Han2015-03-13 18:03:44 -04:00
be4cb6d608
Merge remote-tracking branch 'ita/master' into omaster
fd2015-03-12 22:51:14 -04:00
0b16f0e157
More General scaling Font Scaling. Hit Error Bar scaling.
fd2015-03-12 21:34:37 -04:00
a19eb39259
Fixed bugs with Hard Rock mod and replays during breaks. - Hard Rock now flips hit object coordinates along the x axis, as in osu!. - Fixed a bug where replay data wasn't being shown during breaks.
Jeffrey Han2015-03-12 20:33:32 -04:00
49c85b3b08
Store raw hit object coordinates instead of scaled ones. Fixes a bug where a resolution change (by restarting through the app) wouldn't re-scale hit object coordinates. Scaled coordinates are now stored in HitObject fields.
Jeffrey Han2015-03-12 20:12:43 -04:00
3bd9bbdafd
New updater notification and minor OsuDB fix. - A bar notification is now shown after opsu! updates. - Insert the current database version into the beatmap cache upon creation (fixes the initial version check) and only update the version if necessary.
Jeffrey Han2015-03-12 02:38:43 -04:00
87323533af
Better error handling for Replay.load().
Jeffrey Han2015-03-12 01:18:50 -04:00
712cf30e01
Added replay saving/loading and score database auto-updater. - Added 'info' table to score database to store the database version. Upon startup, if the stored version is less than the source version, all update queries defined in ScoreDB.getUpdateQueries() will be run. - Created "Replays" directory to store replay files. Replay files are created after gameplay. - Added 'replay' column to the score database to hold replay file names. - Created a Game.loadOsuFile() method to load game data.
Jeffrey Han2015-03-11 20:52:51 -04:00
37c0763f32
Allow showing a replay after a game. Added a pause-replay image by XinCrin, and deleted ranking-retry/ranking-exit images.
Jeffrey Han2015-03-11 15:53:19 -04:00
790a66ec1e
Initial replay recording support. - Added listener and events in Game state to record replay frames. - Send more accurate keys.
Jeffrey Han2015-03-10 22:37:23 -04:00
f27744ceaa
Attempt to fix inaccurate track positions #42fd2015-03-10 22:14:22 -04:00
7536056a59
Initial replay writing support. - Added Replay.save() method to save replays to a file. - Separated Replay loading from the constructor into a load() method. - Added OsuWriter class to write replays. - Parse replay seeds (what do they do?). - Added Updater.getBuildDate() method to retrieve the current build date (for the replay 'version' field). - Added osu! mode constants in OsuFile. - Added methods to retrieve raw ReplayFrame coordinates. - Added replay fields/methods to GameData and Game state. - Added jponge/lzma-java dependency for LZMA compression, since it isn't implemented in Apache commons-compress...
Jeffrey Han2015-03-10 18:10:51 -04:00
1f8c150e6c
Update replay frames in a new thread. This drops less frames, but is still pretty bad. See #42. - Changed some LinkedList classes to LinkedBlockingDeques and added some synchronized methods. - Slight modifications to OpenALStreamPlayer (may or may not be slightly more accurate).
Jeffrey Han2015-03-10 00:48:04 -04:00
fa6132808e
Show the default mouse cursor during replays.
Jeffrey Han2015-03-09 19:54:28 -04:00
f6412f06e8
Initial replay parsing support. - Basic implementation of viewing replays in the Game state. - Added OsuReader class for reading certain osu! file types. (author: Markus Jarderot) - Added Replay, ReplayFrame, and LifeFrame classes to capture replay data. (author: smoogipooo) - Added 'keyPressed' parameter to HitObject.update(). - Added cursor-drawing methods in UI that take the mouse coordinates and pressed state as parameters. - Added GameMod methods to retrieve/load the active mods state as a bitmask. - Added Apache commons-compress dependency for handling LZMA decompression.
Jeffrey Han2015-03-09 18:32:43 -04:00