06c423a4dd
Properly detect osu! installations on Windows (using registry keys). Thanks to @ModuleLFS for the idea.
Jeffrey Han2015-10-31 22:20:08 -04:00
eb331360b9
Added scrolling animation to "random" song selection. Involves temporarily changing the kinetic scrolling speed, so it's a little messy...
Jeffrey Han2015-09-18 18:49:01 -04:00
131138ea8c
Snaking sliders initial implementation.
Peter Tissen2015-09-16 17:19:23 +02:00
fc27722149
Updated org.xerial:sqlite-jdbc dependency to version 3.8.10.2. (#132)
Jeffrey Han2015-09-17 11:20:21 -04:00
286388270e
Fixed song scores getting clipped horizontally. (also from #131)
Jeffrey Han2015-09-16 20:12:47 -04:00
0278556947
Fixed a minor kinetic scrolling bug in the song menu. Added a missing "songScrolling.released()" call upon entering the song menu as the pressed state wasn't being cleared (causing an issue with the scroll wheel upon re-entering the state).
Jeffrey Han2015-09-16 15:42:00 -04:00
e0da6a2444
Minor formatting cleanup for #131. Also made some members private.
Jeffrey Han2015-09-15 23:20:53 -04:00
133241f630
Merge remote-tracking branch 'org/master' into KinecticScrolling
fd2015-09-14 19:32:18 -04:00
0562c66531
Kinectic Scrolling for SongNodes, Scores, Download Results, Download Info
fd2015-07-01 19:45:13 -04:00
1fe45f7bb4
Merged DISABLE_CURSOR option from fluddokt/opsu.
Jeffrey Han2015-09-11 11:43:19 -04:00
6506967c12
Added some missing @param and @throws Javadoc comments.
Jeffrey Han2015-09-09 23:51:16 -04:00
831c297ece
Made DropdownMenu extend Slick's AbstractComponent class. Clicks and animation updates are now handled internally within the DropdownMenu class, which should simplify usage a bit. Override menuClicked() and itemSelected() instead for event handling.
Jeffrey Han2015-09-09 18:57:01 -04:00
7f1193bb77
Slight changes to DropdownMenu behavior.
Jeffrey Han2015-09-09 13:25:48 -04:00
be3adb3dc5
Animate score buttons in the song menu.
Jeffrey Han2015-09-06 01:44:29 -04:00
5ff35d355b
Animate the music icon in the song menu. (follow-up to c5cc43a)
Jeffrey Han2015-09-05 19:46:52 -04:00
c5cc43acfc
Fade in song info in the song menu.
Jeffrey Han2015-09-05 14:40:34 -05:00
01fb9c50c9
Replace xy float[] arrays with Vec2f (mostly in game objects).
Jeffrey Han2015-09-05 12:53:42 -05:00
1b8f85942f
Use java.awt.Point in Cursor class instead of separate x/y lists.
Jeffrey Han2015-09-05 12:46:01 -05:00
97dbb36e43
Switch to startUse/drawEmbedded/endUse for cursortrail and star stream. This should be much more efficient when repeatedly rendering the same texture, as in these two cases.
Jeffrey Han2015-09-05 09:32:26 -05:00
80042807c5
Draw an animated star stream in the song menu. Star image was modified from XinCrin's "Fantasy's Skin".
Jeffrey Han2015-09-04 22:36:25 -05:00
14948846f5
Added star difficulty to conditional search filters.
Jeffrey Han2015-09-03 21:00:02 -05:00
3214916d60
Load beatmap background images in a new thread. This eliminates the game-wide lag (100-200ms on my computer) when switching song nodes. Attempted to mask the loading time with a fade-in effect.
Jeffrey Han2015-09-03 19:24:07 -05:00
a2eaf35664
Draw star rating stars in the song menu inside each song node. Star image was taken from XinCrin's "Fantasy's Skin".
Jeffrey Han2015-09-02 23:10:31 -05:00
c785a1261c
Ported osu!tp's beatmap difficulty algorithm to compute star ratings. https://github.com/Tom94/AiModtpDifficultyCalculator This might not be completely accurate as I wasn't able to get the original program to run, but it's probably close (note that hit object stacking isn't applied, though).
Jeffrey Han2015-09-02 19:44:04 -05:00
396071dfbc
When deleting beatmaps, remove their MD5 hashes from the lookup table.
Jeffrey Han2015-09-02 14:37:16 -05:00
d5154b567e
Replaced "BeatmapImageCache" with a generic LRU cache class.
Jeffrey Han2015-09-02 13:29:52 -05:00
c516d93d1e
Check for parallel vectors before constructing a CircumscribedCircle. If the check fails, use a LinearBezier instead. (e.g. in map 45471).
Jeffrey Han2015-09-02 10:51:52 -05:00
d360b73bf5
Specify whether Curve uses scaled or unscaled coordinates. Unscaled coordinates will be used in a future commit (hopefully).
Jeffrey Han2015-09-02 01:47:15 -05:00
6c956e927f
Beatmap parser fixes. - Fixed hit object 'addition' field parsing. (Still not sure what the fields do, but the types should be correct now...) - Fixed a careless error causing a potential null pointer exception. (blame: 0b33fed) - Show an error if parseHitObjects() parses a different amount of objects than expected.
Jeffrey Han2015-09-02 01:41:47 -05:00
e535a88840
Stop firing BeatmapWatchService events for intended file modifications. Specifically, during OSZ unpacking and for file deletion through the song menu. Triggering the beatmap reload event in these scenarios would be redundant.
Jeffrey Han2015-08-30 23:21:58 -05:00
aed5163a83
Check completed download size against Content-Length header. If the number of bytes received is less than the reported content length (e.g. a network timeout), mark the download with the "error" status instead of "complete". Content-Length should be reliable if reported at all, so this should be a valid approach.
Jeffrey Han2015-08-30 23:18:46 -05:00
8d21fe3fc9
Fixed a small issue in the MnetworkServer HTML parsing.
Jeffrey Han2015-08-30 20:25:35 -05:00
8892973d98
Now using official formulas for circle diameter and timing offsets. The previous formulas were extremely close, so you shouldn't notice any gameplay differences at all.
Jeffrey Han2015-08-30 19:01:40 -05:00
9d19dacab4
Removed some unneeded methods. - Removed "isImplemented" field from GameMod as all of the base mods have been implemented. - Removed Utils.getBoundedValue() methods in preference for Utils.clamp().
Jeffrey Han2015-08-30 17:56:05 -05:00
31d0c237df
Create Natives dir in XDG_CACHE_HOME, not the working dir. (fixes#129)
Jeffrey Han2015-08-30 14:31:01 -05:00
9fc00fc3c3
Follow-up to #128: add XDG info to readme, rename the Maven property.
Jeffrey Han2015-08-29 09:51:10 -05:00
fad44356e6
Make the XDG-option available from command line
Lucki2015-08-29 13:05:24 +02:00
c2839759b3
Follow-up to 2d83c3a: forgot to include a description of .opsu.log.
Jeffrey Han2015-08-29 00:46:39 -05:00
2d83c3a348
Added "Directory Structure" section to the readme, with other changes.
Jeffrey Han2015-08-29 00:32:08 -05:00
6d284cdd80
Organize imports. Some of these got re-ordered when I updated Eclipse -- resetting to the original sort order.
Jeffrey Han2015-08-28 21:29:21 -05:00
34c7942f4b
Fixed "Hidden" mod timing issues. (fixes#121) This introduces more accurate timing formulas associated with the "Hidden" mod (previously, in #115, these values were hardcoded). The values seem somewhat close to the values in osu!, but were not extensively tested.
Jeffrey Han2015-08-28 21:12:47 -05:00
c4f54ecc05
Hitting the "f" key during a replay changes the playback speed.
Jeffrey Han2015-08-28 19:41:02 -05:00
f773a8ecf8
Remove jinput dependency since controllers aren't used. jinput natives are no longer loaded or packaged in the jar.
Jeffrey Han2015-08-28 11:07:03 -05:00
c4081c904b
Change Gradle task 'build' to 'jar' in the readme.
Jeffrey Han2015-08-27 14:24:25 -05:00
b54886a379
Follow-up to #126. - Fix the XDG directory flag that got removed with JarSplice. To enable XDG directories, set the 'Use-XDG' property in either build file to 'true'. - Always re-build jars in the Gradle script (disable "up to date" for the task). - Delete JarSplicePlus.jar since it's no longer being used.
Jeffrey Han2015-08-27 14:14:04 -05:00
12104a27b4
Removed unpackNatives dependency in jar task
Lemmmy2015-08-27 16:22:56 +01:00
d6d82333c3
Added Gradle instructions to the readme
Lemmmy2015-08-27 16:15:44 +01:00
dea0104c4d
Added the Gradle build system and added a new native loader
Lemmmy2015-08-25 23:00:34 +01:00
20d40dd520
Better handling of misnamed MP3/OGG files. (part of #120) This also catches more MP3 loading errors that could occur and properly cleans up resources.
Jeffrey Han2015-08-26 09:29:28 -05:00
017150233b
Rewrote shaders for GLSL 110 (openGL2.0).
Szunti2015-08-12 15:41:11 +02:00
5efb61d3bb
Fixed bug where skinned old-style cursors were ignored. (part of #120) Previously, enabling old-style cursors would try to load files "cursor2" and "cursortrail2". Now the actual files are loaded, and the -2 images are only used when no game skin image is provided.
Jeffrey Han2015-08-23 21:16:28 -05:00
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.
Jeffrey Han2015-08-23 20:41:09 -05:00
949b2c215c
Added a WatchService to watch the beatmap directory tree for changes. Any CREATE and DELETE that occur in the song menu state will now show a notification and modify the behavior of the 'F5' key. Changes that occur in other states will force a reload upon entering the song menu.
Jeffrey Han2015-08-21 10:25:52 -05:00
ae5016f3ab
Validate audio files before trying to load them. (part of #120) Also fixed an issue where songMenu.resetGameDataOnLoad() sometimes wasn't being called when it should be (e.g. after playing a beatmap, if you move to a different screen, your score won't appear in the song menu right away). It's now being called more often than necessary, but that should be fine.
Jeffrey Han2015-08-20 22:58:45 -05:00
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.
Jeffrey Han2015-08-20 22:06:27 -05:00
ae149a61f6
HP is now drained while holding sliders. (fixes#103) Slider ticks now give HP, and the HP for SLIDER30 results is doubled.
Jeffrey Han2015-08-20 21:24:58 -05:00
441bb95a09
Added lots of 'final' modifiers to class fields where applicable.
Jeffrey Han2015-08-20 21:11:55 -05:00
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.
Jeffrey Han2015-08-20 20:40:07 -05:00
7b5b96752c
Moved some duplicate colors into the Colors class.
Jeffrey Han2015-08-20 20:14:24 -05:00
91f07855a7
Moved all Utils.COLOR_* into new class opsu.ui.Colors.*.
Jeffrey Han2015-08-20 20:02:23 -05:00
5f5c0cdbc4
Fix program crashing if unable to connect to BeatmapDB. (fixes#111) In this case, load all beatmaps from disk instead of trying to read from the cache.
Jeffrey Han2015-08-20 18:54:18 -05:00
6e7de654b0
Hit animation bug fixes. - In "Hidden" mod, don't draw expanding animation for circles. (related to #121) - With "Show Perfect Hits" disabled, still show the hit animations instead of having the objects just disappear. (also mentioned in #121) - Removed the two easing functions in Utils (and replaced references with calls to AnimationEquations).
Jeffrey Han2015-08-20 18:40:10 -05:00
8efcc1f2ee
Attempted fix for a null pointer exception in #123.
Jeffrey Han2015-08-15 10:06:19 -05:00
96f882bd99
Fixed two incorrect shortcut keys for selecting game mods.
Jeffrey Han2015-08-14 18:15:19 -05:00