Commit Graph

1270 Commits

Author SHA1 Message Date
yugecin
c843dba782 fix merge conflicts 2016-12-10 02:31:55 +01:00
yugecin
452daee4d8 bouncy reversearrow 2016-12-10 02:16:58 +01:00
yugecin
8ea4bcf7de expand followcircle on sliderticks 2016-12-10 02:13:56 +01:00
yugecin
5657290abf fix first tick after repeat being ignored 2016-12-10 02:08:37 +01:00
yugecin
ffd1a57755 don't draw sliderticks that the sliderball already passed 2016-12-10 02:04:37 +01:00
yugecin
c87c5a8d7a don't show hitresult fades for sliders when hidden is enabled 2016-12-10 02:01:53 +01:00
yugecin
7a45e1abbb fade out sliders when hidden is enabled 2016-12-10 01:54:29 +01:00
yugecin
848f83ed29 hide scoreboard if 'hide all UI' option is enabled 2016-12-10 01:35:48 +01:00
yugecin
c0acb7ad6b Merge branch 'yugecin/opsu/aspire-fix'
# Conflicts:
#	src/itdelatrisu/opsu/objects/curves/EqualDistanceMultiCurve.java
2016-12-10 01:32:04 +01:00
yugecin
9ed6e8b320 CurveRenderState geometry 2016-12-10 01:21:17 +01:00
yugecin
e878f0fb0d Merge branch 'master' of https://github.com/itdelatrisu/opsu into 'upstream'
# Conflicts:
#	README.md
#	src/itdelatrisu/opsu/Opsu.java
#	src/itdelatrisu/opsu/Utils.java
#	src/itdelatrisu/opsu/render/CurveRenderState.java
#	src/itdelatrisu/opsu/states/Game.java
2016-12-10 01:19:31 +01:00
yugecin
fdf936e47b fade in/out letterboxes during breaks 2016-12-10 00:13:07 +01:00
yugecin
915728ec24 force break end when next object shows 2016-12-09 23:13:05 +01:00
yugecin
5f9f68c6e8 check array size before accessing next element (fixes aspire map crash) 2016-12-09 22:16:42 +01:00
yugecin
fd8474365d clamp msPerBeat in timingpoints between 10 and 1000 like upstream game does (thanks to @McKay42 for the suggestion) 2016-12-09 22:14:13 +01:00
yugecin
4c64eee4db fix rendering too much merged slider after loading checkpoint 2016-12-09 22:09:50 +01:00
yugecin
2000aacde3 remove some commented stuff 2016-12-09 22:02:02 +01:00
Jeffrey Han
38daee002f Follow-up to af667a4.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-12-08 20:05:08 -05:00
Jeffrey Han
af667a48d5 Added GL version/vendor to error report. (#207)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-12-08 20:00:14 -05:00
yugecin
5989c50456 fix #94 2016-12-07 13:35:29 +01:00
Jeffrey Han
4b1dc39e4a Follow-up to #205: fixed some compile warnings. 2016-12-06 11:53:27 -05:00
yugecin
b52b2b251c remove unused code 2016-12-05 21:13:18 +01:00
yugecin
cfc5426963 fix blending... and update slidergradient 2016-12-05 20:48:38 +01:00
yugecin
601280cfa3 increase curve density for more beautiful sliders 2016-12-05 18:45:30 +01:00
yugecin
5cd9515d87 disable blending for slider curves 2016-12-05 18:37:37 +01:00
yugecin
d5296d51fa fix shrinking sliders for fallback sliders 2016-12-05 00:35:11 +01:00
yugecin
7e82b05a56 use inner interface instead of default impl so we can go back to java 7 :) (close #87) 2016-12-04 23:54:53 +01:00
yugecin
9e63086600 rename the 'enable storyboard' option 2016-12-04 23:47:59 +01:00
yugecin
d7601b8f7e change map end delay max to 15000 2016-12-04 22:53:47 +01:00
yugecin
e3fdd73e36 fix wrong trackposition during lead in caused by music offsets 2016-12-04 22:45:05 +01:00
yugecin
766e3657c7 hide sliderticks that the ball already passed 2016-12-04 22:16:25 +01:00
yugecin
8171cfdec6 also use splice for non-merging sliders instead of reverse 2016-12-04 22:03:09 +01:00
yugecin
0eb09d4e0d shrink the slider faster 2016-12-04 21:53:10 +01:00
yugecin
a3af1c71b8 attemt to fix shrinking sliders with odd amount of repeats with merged slider rendering 2016-12-04 21:52:15 +01:00
yugecin
50f475e0f7 correct shrinking sliders for slider with odd amount of repeats 2016-12-04 21:12:22 +01:00
yugecin
00fcf0ebc1 add options for slider styles and make it all work 2016-12-04 17:35:55 +01:00
yugecin
33f018bf0f Merge branch 'master' into knorkemergingsliders 2016-12-04 16:22:15 +01:00
yugecin
f820cc546a modify factor min/max 2016-12-04 16:15:26 +01:00
yugecin
4acca328a7 fix bezier depending options 2016-12-04 16:11:15 +01:00
yugecin
8b1d1e03bb fix menu hiding items cause derpings in detecting current hovering option 2016-12-04 16:06:13 +01:00
yugecin
403075a53d add cubic bezier mover for slider entries, add aggressiveness factor for slider entry/exit 2016-12-04 15:32:38 +01:00
yugecin
041e0dd439 correct the position/speed when exiting sliders 2016-12-04 15:00:07 +01:00
yugecin
79f0cead0c cleanups 2016-12-04 14:35:47 +01:00
yugecin
f91f2bb88f fix aggressiveness not updating 2016-12-04 14:31:35 +01:00
yugecin
22146e1ac6 fix sboverlay showcondition 2016-12-04 14:05:18 +01:00
yugecin
7459dd66d0 add the showcondition to sboverlay options 2016-12-04 13:57:02 +01:00
yugecin
e916e73ddb chagne quadr bez setting sensitivity 2016-12-04 13:54:26 +01:00
yugecin
27be84e99a hide options with failing showcondition 2016-12-04 13:49:35 +01:00
yugecin
e2453db9d5 add showcondition for options 2016-12-04 13:40:41 +01:00
yugecin
3c15aeb9bd add aggressiveness in optionmenu 2016-12-04 13:37:00 +01:00
yugecin
f95d1c4669 add quadratic bezier mover 2016-12-04 13:23:37 +01:00
Matteo Signer
041014ab47 Fix float constants. 2016-12-03 23:53:48 +01:00
yugecin
06445e59c4 fix slider leftovers being drawn 2016-12-03 20:13:58 +01:00
yugecin
8f9f16de98 try fix the slidercones inbetween 2016-12-03 19:25:22 +01:00
yugecin
580f11a3d3 draw sliders on correct times 2016-12-03 19:11:36 +01:00
yugecin
022035dce5 Merge branch 'knorkesliders' into knorkemergingsliders
# Conflicts:
#	src/itdelatrisu/opsu/objects/Slider.java
2016-12-03 18:54:09 +01:00
Matteo Signer
9991364077 Improve slider rendering.
Significantly improves looks and performance of sliders, especially on
shared memory graphics models like integegrated GPUs.
No longer renders using cones and a framebuffer, instead renders quads
and triangles for curves, using much less geometry.
2016-12-03 18:46:13 +01:00
yugecin
89245d9976 first attempt at merging sliders 2016-12-03 18:39:20 +01:00
yugecin
08834471fc first attemt at shrinking sliders 2016-12-03 18:18:18 +01:00
yugecin
fd39b69cbf disable the second linear mover 2016-12-02 14:56:33 +01:00
yugecin
7f64d80b47 add pippi radius to storyboard options 2016-11-23 22:34:51 +01:00
yugecin
bf517eeb07 fix first slidermover derping 2016-11-20 23:52:28 +01:00
yugecin
6e4d34b3c5 hotfix broken slidermovers 2016-11-20 23:40:30 +01:00
yugecin
b19523ff26 ctrl+click slider option to reset to default value 2016-11-20 23:19:13 +01:00
yugecin
7898b669f5 add visual indicator for numeric values in the option menu 2016-11-20 23:06:47 +01:00
yugecin
b6f2101c16 add pippi radius (close #26) 2016-11-20 22:50:49 +01:00
yugecin
6ef16bce36 fix not being able to skip when epilepsy warning is taking its time 2016-11-20 22:41:33 +01:00
yugecin
8421930f27 add star approach circle 2016-11-20 22:38:05 +01:00
yugecin
e5a359cc63 add star spinner (close #53) 2016-11-20 22:29:40 +01:00
yugecin
44bcaf06f9 fix npe caused be last commit changes 2016-11-20 22:27:16 +01:00
yugecin
63144426d1 new cursor override: use next object's colors (close #43) 2016-11-20 22:10:17 +01:00
yugecin
e18eba17de make dancer code more resilient to storyboard changes 2016-11-20 18:35:20 +01:00
yugecin
cdd88d9a8d merge the movers into one list, use java8 for default impl in interfaces 2016-11-20 17:24:58 +01:00
yugecin
b325b53e4f polymovers don't like slidermovers 2016-11-20 17:02:55 +01:00
yugecin
30186b94f4 getting rid of repetitions 2016-11-20 17:01:56 +01:00
yugecin
726fef9b38 Merge branch 'Awlexus-master' into pullreqs 2016-11-20 14:22:54 +01:00
yugecin
da90c98fce ability to change map offset while playing (- and + keys) 2016-11-20 13:49:53 +01:00
Awlex
14d88f38bf The model is now working and downwards compatible 2016-11-20 13:49:40 +01:00
yugecin
7daafd612e on exceptions that make game crash, show dialog with the real cause (close #51) 2016-11-20 13:45:05 +01:00
yugecin
3ddda20b64 disable epilepsy warning by default 2016-11-20 13:32:12 +01:00
yugecin
319b40dfdb hide epilepsy warning when skipping intro 2016-11-20 13:31:44 +01:00
yugecin
896ba657a7 don't show epilepsy img when jumping object index using sb 2016-11-20 13:30:02 +01:00
yugecin
b3d8b02cb8 restart when the skin changed 2016-11-20 13:24:37 +01:00
yugecin
45dc7260b4 ensure minimumsize for buttons (mods, random map, options, ..) in songmenu and add ctrl+o shortcut to go to options screen (close #58) 2016-11-20 13:19:21 +01:00
yugecin
e025fd70d5 make reversearrows expand more like in osu! (close #50) 2016-11-20 13:05:37 +01:00
Awlex
b36d7d487f Remodeled PolyMoverFactories and Movers, to be more effizient and userfriendly 2016-11-20 04:42:46 +01:00
Awlex
5a5c13f64c ArcFactory works with one Arc 2016-11-20 00:04:56 +01:00
Awlex
a671f9dba2 something 2016-11-19 22:47:27 +01:00
Awlex
3bd16a8593 Merge branch 'master' into Curving 2016-11-19 22:17:19 +01:00
Awlex
21aa986ea9 Fixing Dancer 2016-11-19 22:16:36 +01:00
yugecin
a018c5fb32 add a timingpoint to the theme map so the mainmenu logo can dance 2016-11-19 22:00:29 +01:00
Awlex
9ff2145b39 Merge remote-tracking branch 'refs/remotes/origin/Curving' 2016-11-19 21:57:11 +01:00
Awlex
a64e939d88 Added Sinus Mover 2016-11-19 21:56:52 +01:00
Awlex
5366b53db0 Merge remote-tracking branch 'refs/remotes/yugecin/master' 2016-11-19 21:55:05 +01:00
Awlex
b01033edd5 It looks better now 2016-11-19 21:54:33 +01:00
yugecin
f0db0b82fb fix #55 2016-11-19 21:21:11 +01:00
Awlex
eb561d8369 It doesn't crash anymore 2016-11-19 15:41:53 +01:00
Awlex
6f5f17da74 First try integrating a Arc. Status: Still alot to do 2016-11-19 02:33:15 +01:00
Awlex
375a44722d Revert "Improved all Spiral Classes."
This reverts commit ffcdeed948.
2016-11-19 00:08:10 +01:00
Awlex
5c5f6bd621 Basic Implementation of a Mover with more than 2 points (GameObjects) and added Jama (Java Matrix) library to the project 2016-11-19 00:06:55 +01:00
Awlex
ffcdeed948 Improved all Spiral Classes. 2016-11-18 17:45:57 +01:00
yugecin
e2e1ee2dfc fix first slidertick after repeats not working 2016-11-18 01:09:04 +01:00
yugecin
d3552bc3ad add followcircle expand on ticks (close #49) 2016-11-18 00:50:20 +01:00
yugecin
64d1239e84 add mainmenu ghost logo 2016-11-18 00:24:27 +01:00
yugecin
8be9adbd62 simplify main menu logo piece positioning 2016-11-18 00:16:58 +01:00
yugecin
a1a9dde5ae add epilepsy warning img 2016-11-17 00:12:44 +01:00
yugecin
872ae68990 Merge branch 'sb' 2016-11-13 13:33:18 +01:00
yugecin
3812742b76 reload sb settings when deleting a setting 2016-11-13 13:33:11 +01:00
yugecin
07cf71fe8e rename never draw bg option 2016-11-13 13:24:08 +01:00
yugecin
6644ed96f5 Merge branch 'sb' 2016-11-13 13:17:35 +01:00
yugecin
1786e74a51 use name instead of displayname 2016-11-13 13:13:22 +01:00
yugecin
41143586f6 show option value in sblist 2016-11-13 13:12:57 +01:00
yugecin
db6c813715 pause music when pressing c and already at 0 speed 2016-11-13 13:10:49 +01:00
yugecin
454d09b5d0 save the current options into the first obj's options 2016-11-13 13:09:28 +01:00
yugecin
a01a233245 add hint for keymap save/load position 2016-11-13 12:53:57 +01:00
yugecin
ea7856e52d add hit lighting as sb option 2016-11-13 12:51:53 +01:00
yugecin
438c718d6e make the logo in mainmenu open a bit less wide 2016-11-13 12:34:07 +01:00
yugecin
c2d6756114 speedy gonzalez main menu button animations 2016-11-13 12:17:24 +01:00
yugecin
fbd62e4342 Merge branch 'sb' 2016-11-13 04:23:34 +01:00
yugecin
fed1f1ee50 fix going back not reverting the changes from last index 2016-11-13 04:23:27 +01:00
yugecin
4b5fab5050 add map start & end delay adjustable (#10 optimalisation) 2016-11-13 04:17:28 +01:00
yugecin
e8a6b07fef Merge branch 'sb' 2016-11-13 04:07:02 +01:00
yugecin
0268d325d1 fix more aiob 2016-11-13 04:06:52 +01:00
yugecin
173d3e7c2c use a linearmover for the first movement 2016-11-13 03:18:21 +01:00
yugecin
3a0de6df90 Merge branch 'sb' 2016-11-13 03:12:33 +01:00
yugecin
6f083d47da add visual indicator for map progress 2016-11-13 03:12:26 +01:00
yugecin
b969946fc4 fix array index out of bounds 2016-11-13 03:07:46 +01:00
yugecin
5aa3a60f16 Merge branch 'logo' 2016-11-13 02:45:40 +01:00
yugecin
f17bd4df45 don't loop the theme music 2016-11-13 02:45:26 +01:00
yugecin
de2ddfc151 parse beatmap timing points when main menu wants it :> 2016-11-13 02:40:43 +01:00
yugecin
cd54352865 parse beatmap timing points when main menu wants it :> 2016-11-13 02:38:37 +01:00
yugecin
11f0b8ddfb shift logo back to center when pressing esc 2016-11-13 02:35:48 +01:00
yugecin
38d1bdf14b cleanup the mess 2016-11-13 02:10:09 +01:00
yugecin
2b585e376f get the scale from the menubutton to scale the piece 2016-11-13 02:01:21 +01:00
yugecin
9f40b4f4a1 use the new menubuttons 2016-11-13 01:52:09 +01:00
yugecin
fa47399970 Merge branch 'sb' 2016-11-13 01:45:18 +01:00
yugecin
b722808d70 add option to enable/disable sb 2016-11-13 01:45:06 +01:00
yugecin
8d9e7aba94 Merge branch 'sb' 2016-11-13 01:39:41 +01:00
yugecin
cf14bca4a5 prevent hue shifting when hue inc or obj color override is changed by sb 2016-11-13 01:39:30 +01:00
yugecin
81890effd3 also instantly update when obj color rgb inc changes 2016-11-13 01:29:26 +01:00
yugecin
623c5eefdd fix object color override not live changing after editing in sb 2016-11-13 01:27:32 +01:00
yugecin
7d9384f09e fix sb changes being drawn above each other instead of under 2016-11-13 01:25:34 +01:00
yugecin
992655ff10 only show arrow when slider has been clicked initially 2016-11-13 01:19:59 +01:00
yugecin
a98ac98b67 Merge branch 'sb' 2016-11-13 01:10:16 +01:00
yugecin
53a444bd78 display the sb changed at current object 2016-11-13 01:10:08 +01:00
yugecin
711fd0a03e fix object color override for sb 2016-11-13 00:58:50 +01:00
yugecin
e853abcd9f fix list item options not saving 2016-11-13 00:43:29 +01:00
yugecin
7ae70c7c16 catch escape key in overlay 2016-11-13 00:41:04 +01:00
yugecin
7bd3c22b8a prevent aiobe 2016-11-13 00:27:38 +01:00
yugecin
d869f2ef48 save settings on enter, revert on leave 2016-11-13 00:14:38 +01:00
yugecin
15f560ee68 some interaction fixes 2016-11-12 23:55:39 +01:00
yugecin
1cb815360c make the menu respond better (for slider values etc) 2016-11-12 23:34:45 +01:00
yugecin
43e1109f40 make the menu work 2016-11-12 23:31:18 +01:00
yugecin
f466fafa03 skip through objects 2016-11-12 23:13:41 +01:00
yugecin
b584dcaf68 overlays, draw an optionmenu 2016-11-12 22:30:22 +01:00
yugecin
ceb6751831 leadin delay 2s 2016-11-12 19:04:40 +01:00
yugecin
7276705533 add 5s delay after last hitobj 2016-11-12 18:44:04 +01:00
yugecin
fe2169c39c make it work 2016-11-12 18:25:55 +01:00
yugecin
3dc0ad8c68 get tick points from slider 2016-11-12 18:25:44 +01:00
yugecin
9860175196 fix saving the value 2016-11-12 18:25:25 +01:00
yugecin
3d5afa77b0 remove the overridden one 2016-11-12 15:41:55 +01:00
yugecin
25d16ddfae kickoff slidermovers 2016-11-12 15:41:20 +01:00
yugecin
6a3aaf7375 something 2016-11-06 11:46:56 +01:00
yugecin
b90a9a963a remove println 2016-11-05 22:40:29 +01:00
yugecin
4f289c2291 add piece 2016-11-05 22:17:02 +01:00
yugecin
86710f53b5 move logo to the beat 2016-11-05 21:49:20 +01:00
yugecin
df8b53db7a making _sure_ that #37 doesn't happen anymroe 2016-10-15 20:16:14 +02:00
yugecin
05ca421d78 attempt to fix problem with muting applause 2016-10-15 10:48:33 +02:00
yugecin
6a5ba7cd9e add option to force fallback sliders (#24) 2016-10-15 00:09:52 +02:00
yugecin
6b1b4e2339 add option to allow multiple instances (closes #33) 2016-10-14 23:54:06 +02:00
Jeffrey Han
79bfa1c255 Properly fix #177.
Previous fix (#186) threw NPE upon failing a song.  Thanks to #155.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-10-13 17:51:51 -04:00
Jeffrey Han
3b847d088d Follow-up to #155.
Some code cleanup and tweaks to the scoreboard display.
2016-10-13 14:41:58 -04:00
Jeffrey Han
21579daa26 Merge pull request #155 from mad-s/master
Add ingame scoreboard
2016-10-13 14:15:02 -04:00
Jeffrey Han
410e6d6765 Destroy SoundController resources before exit.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-10-13 04:52:03 -04:00
Jeffrey Han
2d150c9939 Follow-up to dabfb82.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-10-13 04:20:03 -04:00
Jeffrey Han
dabfb827ee Use Download class to download track previews into a Temp/ directory.
AudioSystem.getAudioInputStream(URL) was causing issues, so just download the files using the more robust Download class.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-10-13 04:12:47 -04:00
Jeffrey Han
89e8341686 Merge pull request #186 from yugecin/master
Fix #177
2016-10-13 02:26:24 -04:00
Jeffrey Han
f3918b7b60 New MengSkyServer API.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-10-13 02:07:45 -04:00
Jeffrey Han
76c8efb0c2 Disable SSL validation for YaSOnlineServer.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-10-13 01:17:59 -04:00
yugecin
d8aaa3e5a4 tabs 2016-10-11 18:36:28 +02:00
yugecin
a755ff4484 Merge branch 'Awlexus-master' into pullreq 2016-10-11 18:33:48 +02:00
Awlex
164d272340 Muting 'Applause' after leaving resultscreen closes #27 2016-10-11 18:06:59 +02:00
yugecin
44225ab2e0 Merge branch 'Awlexus-master' into pullreq 2016-10-11 15:12:54 +02:00
yugecin
785d2dd310 comment out debug prints 2016-10-11 15:07:29 +02:00
Awlex
9b8a19826b removed 'WaitForDelay' because it disrupted the spinner 2016-10-11 15:07:00 +02:00
yugecin
48df7fd2c6 use tabs in shared classes 2016-10-11 15:06:36 +02:00
Awlex
515fea0637 Added new Movers, Factories and Spinner 2016-10-11 14:45:58 +02:00
yugecin
97dd34cfc3 better way to check if display settings changed 2016-10-11 11:51:29 +02:00
yugecin
4d16508625 automatically restart when display settings changed 2016-10-11 11:47:46 +02:00
yugecin
0e43e6f938 option to allow larger resolutions, close #11 2016-10-11 11:40:16 +02:00
yugecin
35695ccf97 add native resolution to resolution list 2016-10-11 11:37:47 +02:00
yugecin
b1887b953b add fullscreen option, close #17 2016-10-11 11:22:32 +02:00
yugecin
3d3296f4ff fix #25 2016-10-11 11:04:41 +02:00
yugecin
255280de95 fix 'use last objects color' cursor color override using the color before the object was hit 2016-10-10 23:46:20 +02:00
yugecin
88950ea528 ApproachCircleSpinner. close #12 2016-10-07 21:47:15 +02:00
yugecin
9e4cfb47cf Option to only color cursor trail 2016-10-04 15:22:13 +02:00
yugecin
c3785d0f25 Fix weird glitch that makes the playfield flash when starting to draw a circle when the playfield is empty. Somethign is messing with Color.white (fix #6) 2016-10-04 14:57:37 +02:00
yugecin
177e75ba29 show github link in playfield 2016-10-04 14:40:41 +02:00
yugecin
c0ea819ccb make the spinner delay less sensitive 2016-10-04 13:44:05 +02:00
yugecin
5c2fc16124 use better spinnerdelay 2016-10-04 13:43:08 +02:00
yugecin
fb74d1219a edit issues & update url to point the opsu-dance repo 2016-10-04 13:05:10 +02:00
yugecin
99c5f9b407 New hidden slider style 2016-10-04 13:01:24 +02:00
yugecin
23eed71a9c Put the text above the repo buttons so that the fps counter will not block it 2016-10-04 12:40:01 +02:00
yugecin
7ab4e4263f Don't hide ui in break periods when auto isn't active 2016-10-02 10:47:48 +02:00
yugecin
0ef65e2dd1 Fix pippi using a wrong radius in the beginning 2016-10-01 21:40:58 +02:00
yugecin
0b4d7c57ff Fix pippi suddenly moving to the middle of the object when the next movement takes a long time 2016-10-01 21:39:06 +02:00
yugecin
280927b01c remove debug print 2016-10-01 21:35:46 +02:00
yugecin
0eb5158384 Fix pippi preventing wobbly streams quite agressively 2016-10-01 21:29:14 +02:00
yugecin
3a30087929 Fix selecting "IAHN - Transform [Aspire]" map crashing the game (#5) 2016-10-01 21:21:33 +02:00
yugecin
f15ead1476 better sliderball scale 2016-10-01 15:57:41 +02:00
yugecin
6ad4348d7c fix start 2016-10-01 15:47:01 +02:00
yugecin
eb834134ee fix spinnerdelay 2016-10-01 15:27:59 +02:00
yugecin
b6c8b9753e add key for single mirror object 2016-10-01 15:24:30 +02:00
yugecin
f93fab1874 fix mirrorFrom 2016-10-01 15:16:34 +02:00
yugecin
e08d5f2a83 use mapid to decide starting hue for rainbow objects, also use mapid instead of title for direction etc 2016-10-01 15:10:20 +02:00
yugecin
3a507453f9 Use map title to get initial rainbow colors 2016-10-01 15:00:12 +02:00
yugecin
38d5c64a26 Don't show mirror mouse trail from 0,0 when toggling mirror 2016-10-01 14:54:05 +02:00
yugecin
c58cf824a3 Add option to do circles in lazy sliders 2016-10-01 14:51:09 +02:00
yugecin
9d6c413eb7 Implement circleslowsliders 2016-10-01 14:46:39 +02:00
yugecin
49e03add75 Make mirror collage toggleable ingame by pressing M 2016-10-01 13:58:10 +02:00
yugecin
376cb558cb Merge branch 'spinners' into master 2016-10-01 13:44:54 +02:00
yugecin
be599885f5 add spinnerdelay option 2016-10-01 13:44:34 +02:00
yugecin
58b22cadd6 remove debug println 2016-10-01 13:14:58 +02:00
yugecin
9dc566ca4e always use white reversearrows 2016-10-01 13:14:31 +02:00
yugecin
70d006b645 make reversearrows scale to the bpm 2016-10-01 13:12:02 +02:00
yugecin
ea45767fa1 Onyl show mirrored object hitresults if autopilot is active >.< 2016-10-01 12:39:52 +02:00
yugecin
5ee4760e7b 'fix' stack circles 2016-10-01 12:28:09 +02:00
yugecin
eb3ff1040b fxi F7 forreal 2016-10-01 12:19:26 +02:00
yugecin
f233361a9b Merge branch 'cursorcolors' into master 2016-10-01 12:17:29 +02:00
yugecin
66893f32ea fix cursor color override ids 2016-10-01 12:17:14 +02:00
yugecin
d6bd2b5649 make F7 key work again 2016-10-01 12:17:02 +02:00
yugecin
a7e1a2e32f cursor trail length override 2016-10-01 12:14:39 +02:00
yugecin
c7538ef348 Add 1000fps option 2016-10-01 12:06:05 +02:00
yugecin
6404bbafdc better scale for rgb cursor color hue inc 2016-10-01 12:03:07 +02:00
yugecin
1a44b38636 add separate rgb inc option for cursor 2016-10-01 11:59:03 +02:00
yugecin
652bb4f2d0 add cursor color overrides 2016-10-01 11:53:33 +02:00
yugecin
f313a1639f add black and white object color overrides 2016-10-01 11:38:17 +02:00
yugecin
eee65a589e fix first object movement 2016-10-01 11:34:32 +02:00
yugecin
98c00679ad readd delay for rekt 2016-10-01 11:20:01 +02:00
yugecin
0c7fa96ae3 add donutspinner, fix circlespinner 2016-10-01 11:14:15 +02:00
yugecin
80dc35f80c fix beamspinner 2016-10-01 11:12:12 +02:00
yugecin
cb7098649a remove spinner delays 2016-10-01 11:11:00 +02:00
yugecin
4b0980a9f8 add rektcirclespinner 2016-10-01 11:04:45 +02:00
yugecin
c62520d5fb add LessThanThreespinner 2016-10-01 11:02:00 +02:00
yugecin
8d02d1e6f9 add Illuminatispinner 2016-10-01 10:59:50 +02:00
yugecin
bc11bfd054 add halfcirclespinner 2016-10-01 10:58:28 +02:00
yugecin
143a00657f add cubespinner 2016-10-01 10:57:05 +02:00
yugecin
d767224022 add circlespinner 2016-10-01 10:52:25 +02:00
yugecin
eae91e3808 beamspinner 2016-10-01 10:50:35 +02:00
yugecin
d424db9a7f make sample override a percent instread of boolean 2016-10-01 10:46:28 +02:00
yugecin
1f68136639 better inbounds check 2016-10-01 10:42:34 +02:00
yugecin
6788cd84d8 Merge branch 'hitresults' 2016-10-01 00:26:02 +02:00
yugecin
5a899e29cb don't play the hitsounds twice >.< 2016-10-01 00:25:55 +02:00
yugecin
0199c445c6 Use dance option tab as initial tab 2016-09-30 23:57:43 +02:00
yugecin
230dd6d98f put common stuff in utils 2016-09-30 23:56:07 +02:00
yugecin
ad370fd8fb Show mirrored result for slider ends 2016-09-30 23:53:48 +02:00
yugecin
4409d538fd Show mirrored results for hitcircles 2016-09-30 23:51:28 +02:00
yugecin
b1d69cf9f4 Instantly show hitresult on slider initial circle, don't show the other end when finishing. Also show results in mirrored circles 2016-09-30 23:48:02 +02:00
yugecin
5b264a5277 Option to hide all objects 2016-09-30 23:11:43 +02:00
yugecin
722180d9ff Merge branch 'pippi' 2016-09-30 22:58:05 +02:00
yugecin
2b91288adb PIPPI! 2016-09-30 22:57:57 +02:00
yugecin
5bcf072a69 add options 2016-09-30 22:08:45 +02:00
yugecin
4ab767f464 Adjust default values for dancer options 2016-09-30 21:51:59 +02:00
yugecin
043237d1a1 add to option menu 2016-09-30 21:45:19 +02:00
yugecin
daa7bec0da Add mover direction 2016-09-30 21:40:33 +02:00
yugecin
2f5f2a610d add opposite combo color as override option 2016-09-30 21:32:24 +02:00
yugecin
5c2170982a fix 1/4th circle 2016-09-30 21:24:30 +02:00
yugecin
fc6dcce105 fix halfellipse 2016-09-30 21:20:46 +02:00
yugecin
ae9bdcd68f implement sliderballtint 2016-09-30 21:11:16 +02:00
yugecin
39b24b5f1c attempt to load normal image if there's no array (load sliderb if there's no sliderb0, sliderb1 etc) 2016-09-30 21:11:03 +02:00
yugecin
08d9f4165a option to ignore beatmap sample volume 2016-09-30 21:08:15 +02:00
yugecin
8891976d48 Flash warningarrows after breaks 4 times instead of 2 2016-09-30 20:08:50 +02:00
yugecin
be547cfa1f Don't draw UI on breaks 2016-09-30 20:05:33 +02:00
yugecin
0ccf4874d8 hotfix for dummy img as hitobjectnumber prevent drawing of hitcircleoverlay 2016-09-30 20:01:31 +02:00
yugecin
8c7531e550 prevent arrayindexoutofbounds 2016-09-30 19:56:47 +02:00
yugecin
b12ed6fa0e Also draw skipbutton when using auto 2016-09-30 19:41:42 +02:00
yugecin
be5288d1f7 auto activate auto 2016-09-30 19:39:47 +02:00
yugecin
f6b791cf25 Option to apply last object color to cursor 2016-09-30 19:38:02 +02:00
yugecin
add5e96af1 Options to use object color overrides 2016-09-30 19:05:53 +02:00
yugecin
05c29f1106 Fix warningarrows being rotated 180° instead of flipped horizontally 2016-09-30 16:17:51 +02:00
yugecin
965f88ecc3 attempt to support HitCircleOverlap and ScoreOverlap (#4) 2016-09-30 16:13:23 +02:00
yugecin
19f4e5f11d support prefixes (HitCirclePrefix, ScorePrefix), and use dummy instead of complaining when image can't be found 2016-09-30 15:54:07 +02:00
yugecin
da3dbfa702 fix compact optionmenu not selecting last option 2016-09-30 12:23:10 +02:00
yugecin
d6b993bfe8 compactify the options menu 2016-09-30 12:18:34 +02:00
yugecin
3a1f510e31 option to hide all UI 2016-09-30 12:06:36 +02:00
yugecin
6965e33856 fix halfellipsemover so it doesnt get stuck 2016-09-30 10:04:47 +02:00
yugecin
e082adb37f another todo option 2016-09-30 09:45:36 +02:00
yugecin
52f9ac9a7f only do dancer options (mirror etc) if auto is active 2016-09-30 09:36:21 +02:00
yugecin
73754e9c7d option to never draw background 2016-09-30 09:35:21 +02:00
yugecin
e5d7f0f159 give more space for tabs in the option screen 2016-09-30 09:29:24 +02:00
yugecin
46e2b7069f option for rgb objs 2016-09-30 09:17:39 +02:00
yugecin
0d77d7f56a remove debug println, whoops 2016-09-30 09:13:10 +02:00
yugecin
0c16802523 use shifthue 2016-09-30 09:12:54 +02:00
yugecin
e126edbff7 shift hue on each new object 2016-09-30 09:09:14 +02:00
yugecin
fa57e63a2f option to hide approach circles 2016-09-29 23:34:11 +02:00
yugecin
7f908db6e7 add option for mirrorcollage 2016-09-29 23:29:20 +02:00
yugecin
0d89c2612d attempt to make sliderbody look better 2016-09-29 23:22:41 +02:00
yugecin
923f8dcb49 black sliders 2016-09-29 22:45:16 +02:00
yugecin
d3af3c17d0 move shit to utils 2016-09-29 22:41:56 +02:00
yugecin
33895b24c8 mirrored objects +180° hue 2016-09-29 21:55:23 +02:00
yugecin
9a73ab23e9 render mirrored 2016-09-29 21:40:42 +02:00
yugecin
72aa856818 don't draw sliderend 2016-09-28 22:03:45 +02:00
yugecin
759187b4cd fix #3 (doesn't move to last object) 2016-09-28 13:49:33 +02:00
yugecin
2b93805b71 fix license text 2016-09-28 13:34:54 +02:00
yugecin
4504afa59e add second repobutton :) 2016-09-27 22:44:35 +02:00
yugecin
defeab3522 Add pippi options (not implemented) 2016-09-27 22:33:14 +02:00
yugecin
43548fa058 implement lazy sliders 2016-09-27 22:23:14 +02:00
yugecin
730f55ce20 be failsafe on updates 2016-09-27 22:04:14 +02:00
yugecin
52aac61233 give better names to auto movers 2016-09-27 22:03:16 +02:00
yugecin
728b2ceb97 Add options in the ingame menu 2016-09-27 22:02:49 +02:00
yugecin
130ee94825 spinner tostring 2016-09-27 21:58:24 +02:00
yugecin
1fb75c8ea2 Merge branch 'dancestuff' into dancesettings 2016-09-27 21:45:43 +02:00
yugecin
eb696077a2 we want to dance 2016-09-27 21:29:03 +02:00
yugecin
b74c037aec Auto mover factories 2016-09-27 21:28:50 +02:00
yugecin
a39ac19bb0 move width/height from container to options class 2016-09-27 20:52:52 +02:00
yugecin
2e76d302cd ayyyy space 2016-09-27 20:38:30 +02:00
yugecin
b933dd78d5 wtf 2016-09-27 20:38:18 +02:00
yugecin
15057b4d79 add a spinner 2016-09-27 20:05:16 +02:00
yugecin
f3de8a4506 use a reasonable size for the errorhandler dialog 2016-09-27 19:58:45 +02:00
yugecin
857118accb update forgotten dummyobj 2016-09-27 19:56:02 +02:00
yugecin
6b81ce2d2c moverfactory toStrings 2016-09-27 19:45:08 +02:00
yugecin
cfb9b7d0a0 add moverfactories 2016-09-27 19:22:08 +02:00
yugecin
0a3e7b0e09 add movers 2016-09-27 19:12:24 +02:00
yugecin
632c8a7fcf double ver of Utils.distance 2016-09-27 18:44:02 +02:00
yugecin
c64e0252aa make static accessible width & height 2016-09-27 18:36:35 +02:00
yugecin
b1894ade26 getQuadrant func 2016-09-27 18:36:09 +02:00
yugecin
b842a564f7 add isSpinner, isCircle etc in GameObject 2016-09-27 18:26:53 +02:00
yugecin
e7e33cd406 put more information in gameobject 2016-09-27 18:17:53 +02:00
yugecin
d2d39b3d9a test how to add options 2016-09-27 17:55:41 +02:00
yugecin
4769c1cfda make options menu use lists 2016-09-27 17:36:10 +02:00
yugecin
d2ff927ab6 allow scrolling in the list by dragging mouse 2016-09-27 17:35:53 +02:00
yugecin
825a8a44fe fix list when scrolled 2016-09-27 17:26:29 +02:00
yugecin
f82f880670 List UI control 2016-09-27 17:13:31 +02:00
yugecin
74a9320503 make cursortrail longer and show on small movements 2016-09-27 15:29:38 +02:00
yugecin
db36ec390d Fix #177 2016-06-06 11:43:00 +02:00
Matteo Signer
d7c980e0a4 Misc. bugfixes 2016-04-04 10:59:50 +02:00
Jeffrey Han
93c8ab96f1 Fixed wrong parameter order in StarStream.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2016-04-03 01:04:23 -04:00
Jeffrey Han
1e58b3c47d Fixed a null pointer exception. (fixes #162)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-12-14 19:02:37 -05:00
Jeffrey Han
8c4e5ac264 Fixed an error when reloading beatmaps. (#161)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-12-14 11:59:49 -05:00
MatteoS
4b76d2c3cf Scoreboard improvements 2015-12-01 09:32:03 +01:00
Andrew Zhao
5b42f9a588 centered follow points 2015-11-29 18:58:00 -08:00
MatteoS
6f685cf5c7 Ingame scoreboard initial implementation 2015-11-29 09:56:10 +01:00
MatteoS
78511737ce Draw reversing arrow in black if the slider is lightly colored 2015-11-21 15:30:25 +01:00
Jeffrey Han
ba240797d8 Replaced all linear fade-out transitions with eased transitions.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-11-19 17:47:46 -05:00
Jeffrey Han
fb789c8fc5 Follow-up to #150: delayed fade-out, minor style changes.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-11-19 16:56:28 -05:00
MatteoS
3e285e05fc Add falling game objects on fail 2015-11-18 22:29:18 +01:00
Jeffrey Han
d85de23cec Fixed an error when importing beatmaps. (fixes #149)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-11-17 17:46:00 -05:00
Jeffrey Han
f835a441c2 Follow-up to #148: keypress and edge case fixes.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-11-16 16:05:20 -05:00
MatteoS
d0069c20e5 Fix pitch changes (hopefully) 2015-11-16 21:21:28 +01:00
MatteoS
13e0bdb81e Make music pitch and speed go down on fail (like in osu!) 2015-11-16 14:33:07 +01:00
Jeffrey Han
06c423a4dd Properly detect osu! installations on Windows (using registry keys).
Thanks to @ModuleLFS for the idea.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-10-31 22:20:08 -04:00
Jeffrey Han
9c7dbce6fd Updated BloodcatServer to use the new API. (fixes #139, 140)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-30 00:28:21 -04:00
Jeffrey Han
4acd3cda02 Check mouse button before firing events for kinetic scrolling.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-20 11:38:46 -04:00
Jeffrey Han
c69f34adc3 Don't show decimal points for CS/HP/AR/OD values unless needed.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-19 15:30:41 -04:00
Jeffrey Han
5634a673bb Fix hovering bug with < max nodes in kinetic scrolling.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-19 13:04:53 -04:00
fd
b843beb3c0 KineticScrolling Minor fixes
for selection in large BeatmapSets
2015-09-19 12:11:07 -04:00
Jeffrey Han
c58c128ec8 Minor Javadoc additions/edits.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-18 19:20:18 -04:00
Jeffrey Han
eb331360b9 Added scrolling animation to "random" song selection.
Involves temporarily changing the kinetic scrolling speed, so it's a little messy...

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-18 18:49:01 -04:00
Jeffrey Han
14496050ea Minor style changes from #134.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-18 16:02:19 -04:00
Jeffrey Han
daf3a2aad3 Merge pull request #134 from Bigpet/snakeslider
Snaking sliders implementation.
2015-09-18 15:27:54 -04:00
Peter Tissen
131138ea8c Snaking sliders initial implementation.
Draws curves in a range from 0 to x (where x is a value between 0 and 1) while blending them in (if enabled in the options)
Cache a unit-cone once and re-use that with scaling and translation instead of generating it each time again.
This is more for readability than performance (since presumably feeding it mostly constants like before would be faster)

Only draws the cones in the curve once if possible
(only possible if consective calls to draw with the intervals x_1 before x_2 are made and [0, x_1] [0, x_2] with x_1 < x_2 holds true)

minor refactoring and cleanup

Omg my code is such a mess. I feel like I've committed a crime against humanity by just randomly putting that
random vbo id into the class called "Rendertarget". But there's really no good place for it now (that has a way to clean it up).
But if "Rendertarget" will ever be used by anything else but the sliders I'm gonna pull that out.

added blending in for return arrows and ticks
2015-09-18 20:21:37 +02:00
Jeffrey Han
286388270e Fixed song scores getting clipped horizontally. (also from #131)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-16 20:12:47 -04:00
Jeffrey Han
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).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-16 15:42:00 -04:00
Jeffrey Han
e0da6a2444 Minor formatting cleanup for #131.
Also made some members private.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-15 23:20:53 -04:00
fd
d69e5fa5e7 Kinetic Scrolling Fixes 2015-09-15 21:39:35 -04:00
fd
133241f630 Merge remote-tracking branch 'org/master' into KinecticScrolling
Conflicts:
	src/itdelatrisu/opsu/ScoreData.java
	src/itdelatrisu/opsu/downloads/DownloadNode.java
	src/itdelatrisu/opsu/states/DownloadsMenu.java
	src/itdelatrisu/opsu/states/SongMenu.java
2015-09-14 20:09:52 -04:00
fd
0562c66531 Kinectic Scrolling
for SongNodes, Scores, Download Results, Download Info
2015-09-14 19:19:49 -04:00
Jeffrey Han
1fe45f7bb4 Merged DISABLE_CURSOR option from fluddokt/opsu. 2015-09-11 11:43:19 -04:00
Jeffrey Han
6506967c12 Added some missing @param and @throws Javadoc comments.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-09 23:51:16 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-09 18:57:01 -04:00
Jeffrey Han
7f1193bb77 Slight changes to DropdownMenu behavior.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-09 13:25:48 -04:00
Jeffrey Han
643a7c4589 Added a dropdown menu class, similar to the one in osu!.
Using 'fa-chevron-down' and 'fa-chevron-right' icons from Font Awesome v4.4.0 (https://github.com/FortAwesome/Font-Awesome).

The dropdown menu is currently used only in the downloads menu to select servers.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-08 23:46:30 -04:00
Jeffrey Han
6c369f6329 Minor code cleaning.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-08 12:26:28 -04:00
Jeffrey Han
be3adb3dc5 Animate score buttons in the song menu.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-06 01:44:29 -04:00
Jeffrey Han
5ff35d355b Animate the music icon in the song menu. (follow-up to c5cc43a)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-05 19:46:52 -04:00
Jeffrey Han
c5cc43acfc Fade in song info in the song menu.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-05 14:40:34 -05:00
Jeffrey Han
01fb9c50c9 Replace xy float[] arrays with Vec2f (mostly in game objects).
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-05 12:53:42 -05:00
Jeffrey Han
1b8f85942f Use java.awt.Point in Cursor class instead of separate x/y lists.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-05 12:46:01 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-05 09:32:26 -05:00
Jeffrey Han
ffe4d5d415 Merging davedes' dev branch fixes/updates to Slick's Image class.
https://bitbucket.org/kevglass/slick/history-node/aa6e7b6dce00/trunk/Slick/src/org/newdawn/slick/Image.java?at=development

Commits merged:
- edd48ff: Simple center x/y fixes.
- d847f81: Fixed a filter constant.
- 37b8710: Added flushPixelData to destroy().
- 97da01a: Added rotate in use.
- 06bef32: Overload drawEmbedded().
- 3f82ac1: Fixed rotate bug for drawEmbedded().
2015-09-05 09:07:03 -05:00
Jeffrey Han
80042807c5 Draw an animated star stream in the song menu.
Star image was modified from XinCrin's "Fantasy's Skin".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-04 22:36:25 -05:00
Jeffrey Han
cd3d53336d A couple of API improvements.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-03 22:16:52 -05:00
Jeffrey Han
14948846f5 Added star difficulty to conditional search filters.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-03 21:00:02 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-03 19:24:07 -05:00
Jeffrey Han
e767800702 Fixed broken "Easy" mod.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-03 00:14:25 -05:00
Jeffrey Han
a2eaf35664 Draw star rating stars in the song menu inside each song node.
Star image was taken from XinCrin's "Fantasy's Skin".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 23:10:31 -05:00
Jeffrey Han
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).

Since the computation is fairly expensive, they're currently done when selecting a beatmap set in the song menu (for all beatmaps in the set at once).  The rating is displayed next to the beatmap difficulty settings (HP,CS,AR,OD) in the header.  Also, since all the hit objects need to be loaded to perform the computation, the objects are later discarded (but not immediately) by a LRU cache to limit memory usage.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 19:44:04 -05:00
Jeffrey Han
8cb796bd18 Fixed updater ignoring XDG flag (again).
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 19:23:23 -05:00
Jeffrey Han
5817217eb5 Stop logging warnings for missing background images.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 17:38:28 -05:00
Jeffrey Han
396071dfbc When deleting beatmaps, remove their MD5 hashes from the lookup table.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 14:37:16 -05:00
Jeffrey Han
d5154b567e Replaced "BeatmapImageCache" with a generic LRU cache class.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 13:29:52 -05:00
Jeffrey Han
c516d93d1e Check for parallel vectors before constructing a CircumscribedCircle.
If the check fails, use a LinearBezier instead. (e.g. in map 45471).

Moved slider time and curve calculations into HitObject so that they can be reused.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 10:51:52 -05:00
Jeffrey Han
d360b73bf5 Specify whether Curve uses scaled or unscaled coordinates.
Unscaled coordinates will be used in a future commit (hopefully).

Added a normalize() method to Vec2f.

Throw RuntimeExceptions for any Curve initialization errors; the game would crash anyway, and this way the objects can be substituted for DummyObjects for a graceful failure.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 01:47:15 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-02 01:41:47 -05:00
Jeffrey Han
fdd70a81c4 Removed leftover/unused 'color' parameter in Curve constructor.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-09-01 21:57:37 -05:00
Jeffrey Han
df3e662865 Marked a couple more members as 'final'. (continuation of 441bb95)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-31 22:54:35 -05:00
Jeffrey Han
769ad963e7 Moved OszUnpacker into package 'opsu.beatmap'.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-31 22:25:28 -05:00
Jeffrey Han
c70fcb296f Add git hash (from refs/remotes/origin/master) to error reports.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-31 17:54:32 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 23:21:58 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 23:18:46 -05:00
Jeffrey Han
bd8e35cb81 Added MengSky download server.
URL: http://osu.mengsky.net/

Also parsing raw HTML for this one because there's no API.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 22:20:52 -05:00
Jeffrey Han
8d21fe3fc9 Fixed a small issue in the MnetworkServer HTML parsing.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 20:25:35 -05:00
Jeffrey Han
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.

Circle diameter:
- Previously: 104 - (CS * 8)
- Now: 108.848 - (CS * 8.9646)

Timing offsets: added 1.5ms to 300, 100, and 50 hit result offsets.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 19:01:40 -05:00
Jeffrey Han
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().

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 17:56:05 -05:00
Jeffrey Han
31d0c237df Create Natives dir in XDG_CACHE_HOME, not the working dir. (fixes #129)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-30 14:31:01 -05:00
Jeffrey Han
6d284cdd80 Organize imports.
Some of these got re-ordered when I updated Eclipse -- resetting to the original sort order.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-28 21:29:21 -05:00
Jeffrey Han
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.

Also set an upper bound on the fade in time for hit objects proportional to the approach time, or else the timing values in the "Hidden" mod would be too inconsistent.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-28 21:12:47 -05:00
Jeffrey Han
c4f54ecc05 Hitting the "f" key during a replay changes the playback speed.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-28 19:41:02 -05:00
Jeffrey Han
f773a8ecf8 Remove jinput dependency since controllers aren't used.
jinput natives are no longer loaded or packaged in the jar.

Excluded the lwjgl dependency within the slick2d package since it depends on an older version (2.9.1) of lwjgl.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-28 11:07:03 -05:00
Jeffrey Han
0b33fed2d4 Minor follow-up to #127.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-27 20:48:08 -05:00
Jeffrey Han
3a9f6be5ae Merge pull request #127 from LemonLake/cursoranim
Added cursor animation
2015-08-27 17:48:50 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-27 14:14:04 -05:00
Lemmmy
b1e8c3a72e Added cursor animation 2015-08-27 17:32:40 +01:00
Lemmmy
dea0104c4d Added the Gradle build system and added a new native loader 2015-08-27 15:50:36 +01:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-26 09:29:28 -05:00
Szunti
017150233b Rewrote shaders for GLSL 110 (openGL2.0). 2015-08-24 22:18:11 +02:00
Jeffrey Han
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.

Added a hasGameSkinImage() method in GameImage to check if the "default" image is skinned (by a game skin).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-23 21:16:28 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-23 20:41:09 -05:00
Jeffrey Han
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.

This is part of osu!, but as it's not incredibly helpful, I've left it disabled by default.  It can be enabled in the options menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-21 10:25:52 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 22:58:45 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 22:06:27 -05:00
Jeffrey Han
ae149a61f6 HP is now drained while holding sliders. (fixes #103)
Slider ticks now give HP, and the HP for SLIDER30 results is doubled.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 21:24:58 -05:00
Jeffrey Han
441bb95a09 Added lots of 'final' modifiers to class fields where applicable.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 21:11:55 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 20:40:07 -05:00
Jeffrey Han
7b5b96752c Moved some duplicate colors into the Colors class.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 20:14:24 -05:00
Jeffrey Han
91f07855a7 Moved all Utils.COLOR_* into new class opsu.ui.Colors.*.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 20:02:23 -05:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 18:54:18 -05:00
Jeffrey Han
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).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-20 18:40:10 -05:00
Jeffrey Han
8efcc1f2ee Attempted fix for a null pointer exception in #123.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-15 10:06:19 -05:00
Jeffrey Han
96f882bd99 Fixed two incorrect shortcut keys for selecting game mods.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-14 18:15:19 -05:00
Peter Tissen
f0b87c99ab Lower GLSL version requirement
I didn't really use any of the newer features anyway.
This should accomodate open source drivers that use older versions of MESA.
2015-08-13 11:28:04 +02:00
Jeffrey Han
93615736af Minor port-related fixes.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-12 22:00:58 -05:00
Jeffrey Han
7dc5f973de Show a more informative error message for BindException. (fixes #119)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-12 21:46:10 -05:00
Jeffrey Han
f22498ae7d Updater UI improvements.
Replaced ugly 'bang' image with 'fa-arrow-circle-o-down' and 'fa-restart' icons from Font Awesome v4.4.0 (https://github.com/FortAwesome/Font-Awesome).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-12 19:06:58 -05:00
Jeffrey Han
52e973caf8 Added animation loop capabilities to MenuButton.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-12 19:03:50 -05:00
Jeffrey Han
a4898d01a7 Fix hard rock coordinate modifier in replays. (fixes #118)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-10 17:14:02 -05:00
Jeffrey Han
e68bcf8abc Fix PreparedStatement bug in ScoreDB with null string fields.
This was causing deleteScoreStmt to always fail.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-10 16:18:14 -05:00
MatteoS
35524a22ad Fix #116 2015-08-09 17:41:29 +02:00
Jeffrey Han
fee85c6a73 Improvements in search query switching in the downloads menu.
Submitting new queries will now actually cancel the old query and immediately use the result of the new query.  The old behavior was very inconsistent about this.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 21:57:43 -05:00
Jeffrey Han
8173b9b4c2 Added Mnetwork download mirror.
URL: http://osu.uu.gl/

Note that there's no API available, so this just parses the HTML for beatmap data.  It's pretty slow compared to the other servers.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 20:34:49 -05:00
Jeffrey Han
0909377d14 Follow-up to #115: some fixes and whitespace changes.
- Hide the spinner approach circle instead of the spinner circle.
- Show the slider ball.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 19:15:49 -05:00
Jeffrey Han
262fa9d4c4 Merge pull request #115 from mad-s/master
'Hidden' gamemod
2015-08-08 18:40:37 -05:00
MatteoS
a13ea9308d Corrections for 'hidden' mod 2015-08-09 01:20:45 +02:00
Jeffrey Han
dbb5eebf5c Added YaS Online download mirror.
URL: http://osu.yas-online.net/

Note that fetching the direct download URL for a beatmap requires an extra query, which is not currently done asynchronously (but it really should be).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 17:12:07 -05:00
Jeffrey Han
b9adf59d53 Allow HTTP <--> HTTPS redirects (max 3) in Download class.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 17:08:36 -05:00
mad-s
d82b8188e8 Hit indicators *do* show up in hidden mode.
I failed...
2015-08-08 23:17:25 +02:00
MatteoS
34356d9c08 Implement 'hidden' game mod 2015-08-08 21:12:02 +02:00
Jeffrey Han
b98c646106 Removed osu!Mirror download server, which is now officially offline.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 13:33:38 -05:00
Jeffrey Han
40ab94794f Bug fixes and tweaks.
- Check if other Desktop actions are supported (follow-up to #114).
- The cursor-middle image is no longer scaled (when clicking).
- Changed the options menu background image (created with Trianglify at http://qrohlf.com/trianglify/), and made it fit the entire page.
- Slightly increased minimum splash screen time.
- Switched more animations to use AnimatedValue.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-08 12:04:15 -05:00
MatteoS
b537b83736 Game doesn't crash when being unable to go to the github repo page 2015-08-08 16:29:08 +02:00