1e59819f3aDim theme song volume when window is not focused.
Jeffrey Han
2015-01-10 20:14:39 -0500
b525ab4533Updated README.md with a link to the "releases" page.
Jeffrey Han
2015-01-08 20:10:30 -0500
ab0d3d1528Added mouse hover effects for song buttons in song menu.
Jeffrey Han
2015-01-08 16:28:49 -0500
db4ca5f1d5Minor optimizations. - Only retrieve song information String[] when needed. - Don't try to load glyphs if Unicode metadata is disabled.
Jeffrey Han
2015-01-08 12:03:39 -0500
f6eac71643Moved most Image creation into GameImage enum.
Jeffrey Han
2015-01-07 23:45:21 -0500
8671718ce3Moved most GameImage scaling/processing to a single file. - To scale an image, override process_sub() in its enum definition. All GameImages call the process() method when loaded. - Skin GameImage overrides will now call process() immediately, so there's no more need for the hackish scaling status.
Jeffrey Han
2015-01-07 22:36:39 -0500
1e806bc9c6SoundController refactoring. - Added enum classes SoundEffect and HitSound. - Added a SoundComponent interface for sound effects and hit sounds, and extended playSound() and playHitSound() methods to play any SoundComponent. - Moved features related to sample sets to the HitSound class, and rewrote sample sets as an internal enum class.
Jeffrey Han
2015-01-07 19:29:51 -0500
3127571886Smoother health bar changes. Also merged GameScore update calls into a single method.
Jeffrey Han
2014-12-30 01:17:05 -0500
b0649541ebBetter emulation of main menu behavior. - Pressing 'Esc' will now always enter the MainMenuExit state. - Returning from MainMenuExit state does not reset button states: these must be manually reset by calling the reset() method.
Jeffrey Han
2014-12-30 00:41:32 -0500
2592faec44Renamed GUIMenuButton class to MenuButton. The class was originally named with the intent of adding many other GUI classes, but this never happened.
Jeffrey Han
2014-12-30 00:00:58 -0500
9e69afac91Added retry counter. Display number of retries (after retrying at least twice).
Jeffrey Han
2014-12-29 23:35:31 -0500
cc84d4a3e4Subtle fade in effect for circles and sliders. (#9) Also resize the "skip" button on hover. (follow-up 33f5df0)
Jeffrey Han
2014-12-24 02:45:43 -0500
068a844e1fFixed music player issues with handling repeat tracks. When pressing the "next" button, songs will only be pushed when a new track plays. Fixes a potential null pointer crash.
Jeffrey Han
2014-12-24 00:25:26 -0500
33f5df030cExpand menu buttons when hovering. Added hovering capabilities to GUIMenuButton. The max scale and direction to expand the image can be modified per object.
Jeffrey Han
2014-12-23 23:41:37 -0500
ce8ae40f79Quick follow-up to #10. Don't play a sound upon exiting.
Jeffrey Han
2014-12-21 23:20:17 -0500
31d8b77217Merge pull request #10 from iceblade112/master
Jeffrey Han
2014-12-21 23:02:30 -0500
5083229572Fixed theme song loading in JAR files. (follow-up ce0eccd) Removed theme.osu, replaced with a comma-deliminated line in the configuration file.
Jeffrey Han
2014-12-20 21:35:18 -0500
ce0eccd32bImplemented skinnable theme songs. Plays a theme song when opsu! starts (can be disabled in options). The default song is "welcome to osu!" by nekodex, uploaded by CyberKitsune.
Jeffrey Han
2014-12-20 18:17:04 -0500
9d3a12ad9cDisplay checkpoint time on game screen after loading. Also fixed some indentation issues.
Jeffrey Han
2014-12-20 15:30:20 -0500
47cf4f4af3Fix hidden mouse cursor. Cursor is now properly hidden, instead of being a single black pixel. Credits to davedes.
Jeffrey Han
2014-12-20 15:10:46 -0500
169e9c192aUpdated readme with Maven build information. (follow-up 54b5469, #7)
Jeffrey Han
2014-09-11 17:36:43 -0400
54b5469b02Merge pull request #7 from Tillerino/modularMaven
Jeffrey Han
2014-09-11 17:03:17 -0400
40e08fd498eclipse/ant -> maven
Till
2014-09-11 09:21:06 +0200
51b50843e5Added "Kochi Gothic" font. - Provides cross-platform CJK support. (follow-up to 904a54d)
Jeffrey Han
2014-08-25 12:47:10 -0400
904a54df26Added support for Unicode (non-English) metadata. - Setting is off by default, and can be switched on in the options menu. - Changed default font to "Arial Unicode MS" (CJK), with fallback to "Lucida Sans Console" (non-CJK). Cross-platform support may be added later.
Jeffrey Han
2014-08-24 23:48:52 -0400
9a94c03b4eUse UnicodeFont instead of TrueTypeFont. - Fixes issue #4.
Jeffrey Han
2014-08-24 14:48:27 -0400
83e486054fCatch (nearly) all exceptions thrown by OsuParser. - Properly handle bad input and log a warning. The game may run with some gameplay errors (ex. if no base TimingPoint is parsed), but it should not crash.
Jeffrey Han
2014-07-24 13:38:59 -0400
39dcdf6deeReorganized libs. - All libraries are now packed as JARs, with sources and docs also packed and separated. - Added .classpath and .project to version control. - Updated ant build script.
Jeffrey Han
2014-07-20 13:21:13 -0400
fe293827e6More small bug fixes. - Always use '.' as decimal separator in options file, regardless of locale. - Properly handle bad input when initially parsing hit objects.
Jeffrey Han
2014-07-19 03:31:54 -0400
834682a6caMinor bug fixes. - Fixed null pointer in "Main Menu" state if no tracks loaded. (since b0c0b44) - Fixed "keyOsuLeft" and "keyOsuRight" writing KEY_NONE to configuration file on first run (instead of default values).
Jeffrey Han
2014-07-18 21:33:07 -0400
c0870afb77Fixed issue where slider end distance calculations ignored repeats.
Jeffrey Han
2014-07-18 21:13:17 -0400
64788b2832Song sort refactoring. - Created "SongSort" enum to handle everything related to sorting OsuGroupNode objects.
Jeffrey Han
2014-07-18 20:33:41 -0400
717605564dHit object refactoring. - Moved the bulk of hit object parsing into the OsuHitObject constructor, and made all fields private. Only combo-related data is still set by OsuParser. - Added 'isCircle()', 'isSlider()', 'isSpinner()', and 'isNewCombo()' methods for convenience.
Jeffrey Han
2014-07-18 15:11:57 -0400
2380b11f48Screenshot directory is now configurable. (requested in #4) - Directory must already exist if a non-default location is used.
Jeffrey Han
2014-07-18 00:56:37 -0400
edf40e11fdAdded configurable game key bindings. - Game keys (default Z/X) can be changed to any letter or digit in the options screen.
Jeffrey Han
2014-07-17 23:58:37 -0400
b0c0b44ef1Major track length-related updates. - Parse and store the end time for every beatmap (i.e. end time of last hit object). - Added a 'length' sorting tab. - Added 'length' search condition. - Removed 'getTrackLength()' and 'getTrackLengthString()' methods, as they are no longer needed. - Added a loader spritesheet animation to render during MP3 conversions (in place of track length rendering upon completion).
Jeffrey Han
2014-07-17 21:16:15 -0400
4ecd50f488Added support for conditional search expressions. - Pattern: {type}{operator}{value} -- Types: ar, cs, od, hp, bpm (length not yet implemented) -- Operators: =/==, >, >=, <, <=
Jeffrey Han
2014-07-17 12:49:12 -0400
0a5e7f66ecImproved search feature. - Search is now more like osu!, where subsequent search terms limit the existing result list (as opposed to further expanding it). - Replaced global tag HashMap with String instance variables, since the previous implementation is incompatible with the above change (resulting in slightly higher memory usage and search times).
Jeffrey Han
2014-07-17 01:00:28 -0400
cb396e0d20Added "Easy" mod. - Halves all difficulty values and grants 3 "lives" instead of 1, with a score multiplier of 0.5x.
Jeffrey Han
2014-07-16 16:56:23 -0400
7a187c4e4fGame mod refactoring. - Created "GameMod" enum to handle all mod-related actions and store all related data.
Jeffrey Han
2014-07-16 16:01:36 -0400
d5b7ff3516Small visual tweaks. - Modified "LoadVerbose" option so that 'false' will display a progress bar (instead of nothing at all), and made this the default. - Slowed down a few shifting animations.
Jeffrey Han
2014-07-15 13:21:37 -0400
943c2af178Resolved some reported issues. - Threaded OGG loading (in addition to MP3) to eliminate delays in song select menu. (reported by xasuma) - Changed default OSZ unpacking location to a "SongPacks" directory to prevent unintended unpacking. (reported by Lanturn) - Fixed a null pointer for a corner case in 'getRandomNode()'. (reported by @iceblade112)
Jeffrey Han
2014-07-15 00:20:36 -0400
f0f8160fa1Merge pull request #2 from iceblade112/master
Jeffrey Han
2014-07-14 22:13:56 -0400
f70f993999Logo click changes on Main Menu
Raymonf
2014-07-13 17:53:56 +0200
5aa9620834Added option to disable sound effects from loading. (partially resolves issue #1) - By default, sound effects will be disabled on Linux due to driver issues.
Jeffrey Han
2014-07-10 22:01:39 -0400
842563c6a5Resolution improvements. - Players can no longer set a container size larger than the screen dimensions. - If the game resolution is equal to the screen size, the created window will be borderless. - Added some additional resolutions.
Jeffrey Han
2014-07-10 20:35:07 -0400
95f969f62fMajor song menu improvements and fixes. - Song group nodes are now hidden when the group is expanded. - Setting a new focus will always move the focus into view. - Left and right arrow keys now shift focus by exactly 1 node. - Render the version string for unexpanded song group nodes containing only 1 beatmap.
Jeffrey Han
2014-07-10 19:13:53 -0400
5a1972a2bdSome code cleanup. - Overhauled OsuTimingPoint class: parsing is done in the constructor, and fields are no longer public. - Improved consistency of static/non-static fields in a couple of classes.
Jeffrey Han
2014-07-09 13:36:42 -0400
50fb71e353Implemented saving/loading from checkpoints. - A checkpoint (track position) can be set in the options screen, and also while playing by pressing "CTRL+S". - A checkpoint can be loaded by pressing "CTRL+L" while playing. This will reset all game data and begin from the checkpoint time; the ranking screen will be skipped upon song completion.
Jeffrey Han
2014-07-08 22:17:48 -0400
2ed8e66bbfMinor search feature fixes. - Search textfield now properly retains focus in song selection menu. - Clearing an invalid search no longer changes the current song.
Jeffrey Han
2014-07-08 19:03:43 -0400
e7f74d8dd6Added loading progress for sound files in splash screen.
Jeffrey Han
2014-07-08 14:08:06 -0400
331f374a5bBetter positioning of mod icons and song menu header text.
Jeffrey Han
2014-07-08 13:38:16 -0400
83c475cdc1Java Sound crash fixes for Linux. (issue #1) - Explicitly supply the AudioFormat when creating a Clip. - Disable Master Gain if unsupported (e.g. in PulseAudio). - Do not try to play uninitialized sounds (e.g. LineUnavailableException during creation, seems to happen regularly with PulseAudio).
Jeffrey Han
2014-07-08 00:42:50 -0400
a9cc7a3debScale and rotate the cursor. - Cursor is now scaled based on window size. - Cursor now rotates slowly (new style only). - Cursor now expands upon mouse press.
Jeffrey Han
2014-07-06 23:13:33 -0400
6d3c333a3fMinor follow-up to d9c251e. - Added 'zip4j' library to ant build script.
Jeffrey Han
2014-07-06 02:27:53 -0400
d9c251ef82Added a module for unpacking OSZ archives. - Included 'zip4j' library to extract the ZIP archives. (Homepage: http://www.lingala.net/zip4j/) - OSZ files are unpacked from the root directory by default, and the path can be changed in the configuration file.
Jeffrey Han
2014-07-06 01:58:44 -0400
dea7e942a3Created a splash screen state for loading resources. - Game now boots to splash screen, which displays parser progress. - Added option "LoadVerbose" to disable rendering the progress text. - Main Menu backgrounds now fade in regardless of DynamicBackground setting (as a transition from the splash screen).
Jeffrey Han
2014-07-05 21:00:52 -0400
0dbfd18c5fAdded a few missing keyboard shortcuts. - Main Menu: "P" (play), "Q" (quit) - Game: Ctrl + "R" (restart)
Jeffrey Han
2014-07-05 14:29:48 -0400
83f13a8879Added options for global fixed difficulty settings (CS, HP, AR, OD). - Added a new tab in Game Options screen containing the values.
Jeffrey Han
2014-07-05 01:24:01 -0400
06f8dae037Reduced unnecessary reloading of default images. (follow-up 16afcaf) - GameImage now stores both a default image and skin image, returning the skin image whenever available. - Default images are loaded once on startup, instead of before every game.
Jeffrey Han
2014-07-04 19:59:57 -0400
16afcaf3e6Added initial support for loading beatmap skins. - Added a GameImage enum for more organized loading of image resources. - Game image loading now takes place directly before each beatmap is loaded. - Added option 'IGNORE_BEATMAP_SKINS' to disable this feature.
Jeffrey Han
2014-07-04 16:41:52 -0400
c72b9b955aQuick fix for parsing invalid *.osu files.
Jeffrey Han
2014-07-03 18:50:44 -0400
0b471fa1ccAnimated the score display.
Jeffrey Han
2014-07-03 02:03:56 -0400
f195ffb861Added support for default playfield image and an override option. - Credits: https://osu.ppy.sh/forum/t/198483 (image by Xiaounlimited)
Jeffrey Han
2014-07-03 01:05:23 -0400
03be29307fMisc. bug fixes and improvements. - Fixed Game not loading OsuFile for maps in a song group. (blame: 5612336) - Implemented rotations for reverse arrows, and added a new one by Alic1a. - "Auto" mod: pausing no longer requires click to unpause, and mod images are permanently drawn. - Program now loads from Main Menu instead of Options (unnecessary complications for the sake of a transition).
Jeffrey Han
2014-07-02 23:38:30 -0400
2c2f28b441Game options overhaul & new options. - Separated options into "Display", "Music", and "Gameplay" tabs. - New options: VolumeHitSound, DimLevel, PerfectHit - Added options that were previously missing from Game Options screen. - Added sounds to Game Options screen.
Jeffrey Han
2014-07-02 18:24:19 -0400
812b83af45Added extra checks in the parser for invalid line. Credits to xasuma for the report.
Jeffrey Han
2014-07-02 10:14:15 -0400
56123363b3Implemented dynamic main menu backgrounds. - This can be switched off in the configuration file. - Credits: https://osu.ppy.sh/forum/t/98954
Jeffrey Han
2014-07-02 03:02:11 -0400
bcd0c23961Added initial support for loading user skins. - "Skins" directory is created in the root folder, and reads files directly from there (for now). NOT ALL FILES ARE SUPPORTED. - To change the path (e.g. to an installed skin), edit the path in the configuration file.
Jeffrey Han
2014-07-02 01:53:42 -0400
ab487c5e80Replaced native cursors with skinnable ones. - Added support for both the new (2013+) and old cursor styles. These can be toggled on/off in the configuration file. - Added cursor images by XinCrin (old style) and teinecthel (new style).
Jeffrey Han
2014-07-01 19:32:03 -0400
0604a25822Added initial sound effect support. - Added SoundController module, which uses Java Sound since OpenAL has a slight delay on playing sounds. - Uploaded all effect WAVs. (credits: WWWskin, AL's IA, Fantasy's Skin, Minimalist Miku) - Added a missing entry in credits.
Jeffrey Han
2014-07-01 01:14:03 -0400
60eaa42997Only allow a single program instance to be run. Creates a ServerSocket instance on a port (default: 49250). Credits to marcostudios for the suggestion.
Jeffrey Han
2014-06-30 12:37:37 -0400
6bdb026447Added support for floating-point difficulty values (v13). Thanks to Marcin for the info and FieryLight for the report.
Jeffrey Han
2014-06-30 04:03:39 -0400
9da166f60fInitial commit.
Jeffrey Han
2014-06-29 22:17:04 -0400