Commit Graph

1398 Commits

Author SHA1 Message Date
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
MatteoS
110e54e063 Fix crash on pressing extra mouse buttons 2015-08-08 16:20:00 +02:00
MatteoS
940e9baa41 Correct detection of GLSL version for curve rendering 2015-08-08 14:43:56 +02:00
Jeffrey Han
c0b3da37c2 Changed more messy animations to use AnimatedValue.
Also finally refactored the main menu logo controller code...

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-06 00:53:30 -05:00
Jeffrey Han
c91146b024 Added easing functions for all-around better animations.
These are Robert Penner's easing functions (http://robertpenner.com/easing/), refactored by CharlotteGore to only take a t parameter (https://github.com/CharlotteGore/functional-easing). Licensed under BSD (the former) and MIT (the latter).

Related changes:
- Added "AnimatedValue" utility class for updating values used in animations.
- MenuButton now uses AnimatedValue to handle its animations (still linear by default).
- Added in-out-back easings on logo, mods, and various other elements; added out-bounce easings on button menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-08-05 22:28:14 -05:00
Jeffrey Han
5dac21a545 Cursor trail now considers actual FPS (not target FPS). (fixes #109)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-16 18:14:46 -05:00
Jeffrey Han
4e2074e41b Show errors if any directories could not be created. (fixes #97)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-11 10:51:52 -05:00
Jeffrey Han
05c7ac0a02 Minor follow-up to #108.
Set minimum OpenGL version for mmsliders to 3.0 (from 3.2) and removed an unused variable.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-09 11:59:53 -05:00
Peter Tissen
7941a70238 use EXT version of FBOs instead of the ARB version
This doesn't actually make a difference in functionality.
The issue is that the flashlight mod uses Slicks FBO functions which
use the EXT version and Intel drivers generate the same FBO IDs twice
if the EXT and ARB versions are mixed.
2015-07-09 18:37:39 +02:00
Peter Tissen
420f1fb02c Backup and restore the viewport size when rendering sliders. Needed because Slick tends to allocate offscreen buffers for itself only with power of two textures, so it will use another viewport when rendering to its own offscreen buffers. 2015-07-08 16:23:59 +02:00
Jeffrey Han
26ab61910e Added option to disable automatic checking for updates.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-07 19:03:54 -05:00
Jeffrey Han
8b9e230fa7 Updated dependencies.
- LWJGL is now at the final 2.x release version.
- Slick2D is now at the final (?) release version.
- Added dependency for org.tukaani.xz, since it becomes optional in commons-compress 1.9 and is needed for LZMA compression.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-07 18:37:03 -05:00
Jeffrey Han
2167698740 Follow-up to #99: replay seeking improvements.
- Added on/off option for replay seeking in the "custom" menu.
- Mute sounds while seeking.
- Draw a bar on the left of the screen during replays for seeking (instead of just clicking near the top of the screen).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-07-02 22:16:14 -05:00
Jeffrey Han
495a7e7f8b Follow-up to d860a30: replay importing fixes.
- Move failed imports to a "failed" subdirectory so that errors aren't generated each time the program is launched.
- Importing now overwrites files.
- Add "ReplayImportDirectory" option to config file.
- Fixed a bug with scores not being properly added.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-29 20:18:28 -05:00
Jeffrey Han
d860a30aed Follow-up to #99.
- Many code style changes.
- Don't increment combo if missing the last slider circle.
- Added player name in ranking screen.
- Don't show null/default player names.
- Only import replays with .osr extension.
- Display loading status for importing replays.
- Moved MD5InputStreamWrapper to package "opsu.io".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-29 19:22:38 -05:00
Jeffrey Han
7d08a7d391 Merge pull request #99 from fluddokt/ReplayTest
Replay importing, spinner fixes (fixes #67), replay seeking, in-place MD5 calculation, pitch change time sync (fixes #86).
2015-06-28 21:14:10 -05:00
Jeffrey Han
52cb5d24f0 Minor code style changes from #102.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-28 02:38:50 -05:00
Peter Tissen
6bbcbb1fc7 delete shaders after linking. They're not needed anymore and are a potential resource leak. 2015-06-25 00:31:21 +02:00
Peter Tissen
600e34d1fe add comments and adjust formatting 2015-06-25 00:21:15 +02:00
Peter Tissen
1993452669 Correctly clean up the created OpenGL objects created for the slider rendering.
This is necessary because the OpenGL context being closed does apparently not close
the process and the game can be restarted with another resolution without shutting
down the process completely.
2015-06-24 23:55:05 +02:00
fd
55628038fe Restores drainRate
Single file read md5

pitch change synctime
2015-06-22 01:14:36 -04:00
Jeffrey Han
392df79596 Properly check if new slider rendering is supported. (#98)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-21 21:32:00 -05:00
fd
df07c62609 Merge remote-tracking branch 'org/master' into ReplayTest
Conflicts:
	src/itdelatrisu/opsu/GameData.java
	src/itdelatrisu/opsu/states/Game.java
2015-06-21 21:36:44 -04:00
fd
3675a25c44 Spinner Test 3
Clean up
2015-06-21 19:45:38 -04:00
Jeffrey Han
0112a03bd3 Added "Cursor Size" option.
Also moved "New Cursor" option into the "Input" category.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-14 12:30:33 -05:00
Jeffrey Han
81d9421d74 Score formula update - still very wrong, but slightly closer. (see #43)
Added the "difficulty multiplier" as given by the osu! wiki.  Please note that this will invalidate all of your saved scores.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-14 11:59:12 -05:00
fd
038a5d5779 WIPTest Merge Fixes 2015-06-14 12:29:15 -04:00
fd
fd3f7fdabe Merge remote-tracking branch 'org/master' into ReplayTest
Conflicts:
	src/itdelatrisu/opsu/GameData.java
	src/itdelatrisu/opsu/Options.java
	src/itdelatrisu/opsu/OsuFile.java
	src/itdelatrisu/opsu/OsuGroupList.java
	src/itdelatrisu/opsu/OsuHitObject.java
	src/itdelatrisu/opsu/OsuParser.java
	src/itdelatrisu/opsu/UI.java
	src/itdelatrisu/opsu/db/OsuDB.java
	src/itdelatrisu/opsu/objects/Circle.java
	src/itdelatrisu/opsu/objects/HitObject.java
	src/itdelatrisu/opsu/objects/Slider.java
	src/itdelatrisu/opsu/objects/Spinner.java
	src/itdelatrisu/opsu/states/Game.java
	src/itdelatrisu/opsu/states/Splash.java
2015-06-13 20:28:30 -04:00
fd
40e67cedc9 Spinner Test2
Improves Score accuracy
(still mostly wrong)

inital replay seek
2015-06-13 18:35:30 -04:00
Jeffrey Han
77661ffd82 Merge branch 'javadoc8' of https://github.com/Bigpet/opsu into Bigpet-javadoc8 2015-06-13 02:04:16 -05:00
Jeffrey Han
f9d8df5157 Follow-up to 90295ee: slightly simplified implementation.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-12 18:25:19 -05:00
Jeffrey Han
967e2b4a57 Follow-up to 90295ee: re-ordered GameOptions.
The options now appear in the same order as before in the configuration file.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-12 15:12:21 -05:00
Jeffrey Han
90295eefb8 GameOption overhaul - moved more scattered bits into the enum.
- Added overridden methods read() and write() for reading from and writing to the options file within the GameOption enum, so that only 1 section needs to be changed when adding new options (instead of 3).
- Added 'displayName' field to the GameOption enum, instead of repeating it in the parseOptions() and saveOptions() methods.
- Added internal options (directories, port, theme song) into the GameOption enum for consistency.
- Removed GameOption.NULL.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-12 15:04:20 -05:00
Jeffrey Han
101425a562 Catch UnknownHostException and write a friendlier warning.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-12 14:52:31 -05:00
Jeffrey Han
44da08d7a1 Fixed a null pointer exception. (blame: 92f4a51)
This occurred when inserting beatmaps with null "bg" field into the database.

Also moved LOAD_HD_IMAGES option from "Custom" tab to "Display".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-11 13:42:57 -04:00
Jeffrey Han
92f4a5176d Switch to a LRU cache for beatmap background images.
Created a separate BeatmapImageCache class to handle cache operations.  The cache now uses File objects as keys, rather than Beatmap objects (which was buggy).

Also renamed "OsuHitObjectResult" helper class to "HitObjectResult".

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-09 03:10:44 -04:00
Jeffrey Han
74f7ac18b9 Fixed an infinite loop on beatmaps starting at time 0. (blame: 18e57fd)
There's probably a better fix, though...

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 18:13:49 -04:00
Jeffrey Han
e712d57a2c Cleaned up implementation of beatmap combo colors.
Added getComboColors() method to Beatmap class, and the 'combo' field is now null if no combo is provided.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 17:23:45 -04:00
Jeffrey Han
b1b1664e11 Follow-up to #91.
Pass the border color into CurveRenderState instead of determining it there; store the color as a static field in Curve (since it shouldn't change per-beatmap).

Also removed the leftover FrameBufferCache warning from #64.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 16:42:54 -04:00
Peter Tissen
890a69c1a9 recolor the slider border from the skin or beatmap settings 2015-06-08 22:12:56 +02:00
Jeffrey Han
447a0f371a Added missing "SliderBorder" field to BeatmapParser.
Use beatmap.getSliderBorderColor() to get the slider border color for a beatmap.

Also adds the field to the beatmap cache, and fixes a bug where format changes would cause an exception when preparing statements in the new format.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 15:57:17 -04:00
Jeffrey Han
b6f208a47d Follow-up to #64.
- Removed NEW_SLIDER option, and use the skin "SliderStyle" instead.  Uses the new style by default, unless STYLE_PEPPYSLIDER is specified.
- Check if OpenGL 3.0 is supported before trying to draw new style sliders.
- Fixed compilation warnings; removed unneeded fields and imports.
- Filled in some missing Javadocs.
- Style changes.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-08 15:02:28 -04:00
Peter Tissen
609739e153 ignore UIScale for reading raw image pixels 2015-06-08 19:11:07 +02:00
Peter Tissen
2970972456 pass screen size in instead of polling it later
and add some comments
2015-06-08 15:52:37 +02:00
Peter Tissen
41c7825728 New optional slider style
New slider rendering works by rendering the slider to an
offscreen buffer

Add CurveRenderState.java and FrameBufferCache.java that were forgotten in the last commit
2015-06-08 15:52:06 +02:00
Jeffrey Han
90c8c9e705 Fixed a bug where sounds weren't reloaded when changing skins.
When restarting the program through the options menu, all sounds now get reloaded if the skin was changed.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-06-03 06:23:23 -04:00
Jeffrey Han
f3825eba5e Added many missing Javadocs; other minor cleanup.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 06:06:37 -04:00
Jeffrey Han
0c42f1ed01 Cursor refactoring.
Moved cursor-related code out of UI and into a new non-static "Cursor" class.

Also, the cursor is no longer reset after gameplay if it wasn't skinned.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 04:48:03 -04:00
Jeffrey Han
00a08f1327 Renamed "OsuParser" to "BeatmapParser"; moved into "opsu.beatmaps".
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 03:07:58 -04:00
Jeffrey Han
3f081f1a8a Renamed "SongSort" to "BeatmapSortOrder"; moved into "opsu.beatmaps".
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 02:34:08 -04:00
Jeffrey Han
2c47e9a1b9 Moved "UI" and "MenuButton" classes to new package "opsu.ui".
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-29 01:55:57 -04:00
Peter Tissen
6e7f5e17dc Fix some javadoc 8 errors in libs
This fixes the errors in the libraries that opsu uses that
the new html linter in the Java 8 javadoc tool catches and
classifies as error.

Whether or not this should be merged or whether this should
be fixed upstream first is for someone else to decide :P
2015-05-25 17:02:54 +02:00
Peter Tissen
363eca663c Fix some javadoc 8 errors
This fixes the errors in the opsu src that the new html linter in
the Java 8 javadoc tool catches and classifies as error
(unless the linter is explicitly disabled)
2015-05-25 17:00:56 +02:00
Jeffrey Han
c1b38b2306 Skin options: HitCircleOverlayAboveNumber, LayeredHitSounds.
Also includes a cursor fix: beatmap-skinned cursors are now always treated like new-style cursors (as in osu!), and no longer render cursormiddle unless also skinned.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-25 05:33:12 -04:00
Jeffrey Han
b804a4d154 Skin options: CursorRotate, CursorExpand, SpinnerFadePlayfield, CursorTrailRotate, ComboBurstRandom, Combo[1-8], SongSelect(Active|Inactive)Text.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-24 22:17:45 -04:00
Jeffrey Han
40e4495030 Initial skin loader implementation.
- Skins are now loaded from subdirectories of the root "Skins" directory, and can be changed in-game (but requires a restart).
- Changed the default skin directory to the osu! directory, if available.

This implements a full parser for skin.ini (excluding CTB/Mania elements) based on the current wiki information.  None of the settings have been implemented yet.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-23 23:48:28 -04:00
Jeffrey Han
fe8c6a6f02 Added Utils.parseBoolean() method to parse 0/1 booleans.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-23 14:52:03 -04:00
Jeffrey Han
c3c1e95053 Removed tools/jarsplice-0.40.jar.
Hasn't been used since the addition of JarSplicePlus.

Also, some minor graphical tweaks.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-17 15:38:58 -04:00
Jeffrey Han
b5c434a808 Added Hexide download server.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-17 01:58:54 -04:00
Jeffrey Han
ee5bc4b616 Continuation of 53c79c5 - created a BeatmapSet class.
Moved the strictly beatmap-related parts of BeatmapSetNode into a new BeatmapSet class.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 22:49:18 -04:00
Jeffrey Han
250f7acc93 Continuation of 53c79c5 - HitObject name changes.
Attempts to eliminate any confusion between OsuHitObject (raw, parsed hit objects) and HitObject (interface for game object types).
- Renamed "HitObject" interface to "GameObject", since these objects are specific to gameplay.
- Renamed "OsuHitObject" to "HitObject", since these objects are primarily containers for parsed data.

Sorry if the name-swapping is confusing; these should be better names in the long run.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 21:42:03 -04:00
Jeffrey Han
53c79c5d85 Major refactoring - now using far more logical class names.
- Renamed "OsuFile" to "Beatmap".  All related variables and methods with "osu" have also been renamed to "beatmap" (or variants of each).
- Renamed "OsuGroupNode" to "BeatmapSetNode".  Avoids confusion since groups are identified by a "set ID", not a "group ID".
- Renamed "OsuGroupList" to "BeatmapSetList", for the same reason as above.
- Renamed "OsuDB" to "BeatmapDB", for the same reason as above.
- Moved classes directly related to parsed beatmaps (Beatmap, BeatmapSetList, BeatmapSetNode, OsuHitObject, and TimingPoint) into a new "beatmap" package.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 21:25:19 -04:00
Jeffrey Han
0a80590505 Renamed "OsuTimingPoint" class to "TimingPoint".
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 17:58:32 -04:00
Jeffrey Han
436aa2bed9 Minor UI tweaks (options menu background, clip overflows, etc.).
Background from: http://www.urwallpapers.com/streaks-of-light/

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-16 17:46:23 -04:00
Jeffrey Han
f828349304 Formatted the raw dates returned by the beatmap download servers.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-15 02:42:02 -04:00
Jeffrey Han
6c8d4ea49a Changed font to Droid Sans Fallback v2.55b. (fixes #65)
Generally much cleaner than Kochi Gothic, and half the file size.  Uses an older version of the font, since many glyphs were removed in later versions (due to the glyphs being supported in other Google fonts).

Droid Sans Fallback is licensed under the Apache License, Version 2.0.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-15 01:33:53 -04:00
Jeffrey Han
8f48d9495e Fixed #81.
Catch ArrayIndexOutOfBoundsException in Slick's Input class.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-09 00:46:29 -04:00
Jeffrey Han
cab207e275 Added osu!Mirror download server.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-07 23:58:04 -04:00
Jeffrey Han
50d55d8d99 Better error handling when running JARs in a directory with '!'.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-05-07 13:28:40 -04:00
fd
61d00627cf More curve types #76 fix? 2015-04-13 22:56:07 -04:00
Jeffrey Han
5fcff76690 Very minor formatting changes to #76.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-12 22:33:20 -04:00
fd
e792c3cae6 Clean 2015-04-12 13:55:52 -04:00
fd
12e70002d6 More curve types
Catmull curves
Line Curves(half assed)
Curve refactor
#73 near 0 length sliders
2015-04-12 10:55:39 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-10 12:34:18 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-08 02:05:12 -04:00
Drew Lemmy
f7d6fed0c6 Final fixes #71 2015-04-07 19:23:54 +01:00
Drew Lemmy
81b8182244 Fixed gekis and katus not being shown on hit results 2015-04-07 13:44:27 +01:00
Drew Lemmy
792b511a46 Added slider fading to hit animations 2015-04-07 13:13:43 +01:00
Drew Lemmy
8e8fda7e58 Added pretty much everything suggested to hit animations 2015-04-07 06:24:09 +01:00
Drew Lemmy
c3bca9a39e Changed lighting texture 2015-04-07 03:00:14 +01:00
Drew Lemmy
9a2772b614 Moved hit result to be drawn after lighting 2015-04-06 23:12:36 +01:00
Drew Lemmy
87e68bd494 Added hit animations, updated lighting & added InteliJ to gitignore 2015-04-06 23:08:49 +01:00
Jeffrey Han
07075c094b Mod difficulty multipliers are now reflected in displayed song info.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-04 12:30:23 -04:00
Jeffrey Han
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.

Code changes:
- Changed playback field in Game class to the PlaybackSpeed object instead of just the button.
- Changed PlaybackSpeed.next() to a non-static method.
- Added/edited Javadocs.
- Changed image names.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-04-03 18:08:35 -04:00
Jeffrey Han
420284af4f Merge pull request #68 from DarkTigrus/doubletime
HalfTime and DoubleTime mod
2015-04-03 16:46:52 -04:00
fd
fa9accfc88 spinner 2015-04-03 14:00:59 -04:00
Pavel Kolchev
f810965921 DT/HF/Playback changes.
Can watch HalfTime on half speed.
Reset pitch on leaving the game state.
Load songInfo when entering select song menu.
Playback button fades in on hover instead of expands.
Reverted spinner changes. It should be fixed separately.
2015-04-03 15:01:18 +03:00
fd
a49b5bc945 Replay importing 2015-04-02 19:10:33 -04:00
Pavel Kolchev
d8425197a7 Implement playback speed in replays. 2015-04-02 19:38:45 +03:00
Jeffrey Han
28514a8606 Merge pull request #69 from DarkTigrus/stack-hardrock
Correct Y offset with HardRock mod
2015-04-01 10:26:26 -04:00
Pavel Kolchev
ffadf197ba Fixes incorrect Y offset with HardRock mod. 2015-04-01 15:10:15 +03:00
Jeffrey Han
66bd97242f Minor follow-up to #63.
Pass in an alpha level instead of color filter to drawSymbolNumber().

Also fixed a bug where antialiasing wasn't being disabled when it was supposed to be.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-31 19:46:58 -04:00
Jeffrey Han
1d9ec52c8a Merge pull request #63 from DarkTigrus/fadein-fix
Circle and slider fade in.
2015-03-31 19:29:18 -04:00
Pavel Kolchev
5f3ce74c64 Implemented half/double time mod.
Dynamic bpm, map length in song select menu.
Fixed replay and spinner with these mods.
2015-03-31 18:14:52 +03:00
Jeffrey Han
e83e0da70f Fixed Slider.getPointAt() returning an incorrect end point.
Also some additional tweaks to #61.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-30 23:58:11 -04:00
Jeffrey Han
4b91018b70 Very minor follow-up to #61.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-30 23:06:52 -04:00
Jeffrey Han
f63be81490 Merge pull request #61 from DarkTigrus/hitobject-stacking
Hit object stacking algorithm
2015-03-30 22:38:42 -04:00
Pavel Kolchev
87667c5dab Correct circle and slider fade in.
Match osu! behaviour. Fadein time is static and doesn't scale with approach rate. Circles, numbers, arrows and ticks alpha is the same.
2015-03-30 17:06:16 +03:00
Pavel Kolchev
e441d3e4e1 Update stacking algorythm.
Revert previous commit. Curve should be re-created or updated.
No more extra updatePosition() calls.
2015-03-30 13:02:38 +03:00
Pavel Kolchev
eadbdbee78 Remove unnecessary re-creation of curve. 2015-03-29 03:06:26 +03:00
Pavel Kolchev
2e5226ecd5 Refactor and cleanup 2015-03-28 21:49:25 +03:00
Pavel Kolchev
2aaf5e73be Remove unnecessary methods. 2015-03-28 21:48:29 +03:00
Jeffrey Han
77d42d7fd8 Fixed issue with async modification of DownloadList. (fixes #62)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-28 12:41:17 -04:00
Pavel Kolchev
fbe87559c9 Implement hit object stacking algorithm. 2015-03-28 15:11:43 +03:00
Jeffrey Han
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!.

Also improved the handling of dimmed tracks.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-26 20:45:33 -04:00
Jeffrey Han
18e57fdb96 Minor changes: fading game bg dim, initial flashlight radius fix.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-24 01:03:58 -04:00
Jeffrey Han
a6ece307ff Allow changing volume in the game paused menu.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-23 20:40:50 -04:00
Jeffrey Han
850a6c3882 Better error handling for Clip loading. (fixes #59)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-23 16:42:02 -04:00
Jeffrey Han
16ec6c5e23 Disable auto-updater if running with XDG directories. (fixes #58)
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-20 14:49:20 -04:00
Jeffrey Han
3e1abf89cf Stop track previews when importing beatmaps.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-20 00:44:50 -04:00
Jeffrey Han
1159c606f7 Updating to version 0.8.0.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-20 00:39:26 -04:00
Jeffrey Han
88bdf256aa Merge pull request #54 from fluddokt/omaster
Fixed #53.
2015-03-19 23:44:04 -04:00
Jeffrey Han
daad5940f0 Fixed crashes when importing beatmaps (due to more async issues).
Don't call MusicController.loopTrackIfEnded() if a beatmap reloading thread is running.

Other changes:
- Fixed issue where long download result text would be drawn outside the result area by adding a clip.
- Changed default music offset from -150ms to -75ms.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-19 23:38:19 -04:00
fd
f54ba9d3e8 Fix for #53 2015-03-19 22:55:42 -04:00
Jeffrey Han
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.

Also, start showing bar notifications at time 1 instead of 0 so it can be called in enter() methods without visual delays.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-19 22:10:38 -04:00
Jeffrey Han
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).

Bug fixes (caused by #52):
- Game is no longer paused when focus is lost during lead-in time or during breaks.
- Replay frames are no longer recorded when the game is paused.
- Pulsing cursor animation now works even during lead-in time.
- skipIntro() during replays now works properly.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-19 19:03:07 -04:00
Jeffrey Han
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).

Also removed MusicController methods 'getTrackName()' and 'getArtistName()' (not needed).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-19 16:45:26 -04:00
Jeffrey Han
ec042159a8 Added track previews to the downloads menu.
Currently uses the osu! server to load MP3 previews.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-19 15:58:50 -04:00
Jeffrey Han
7d5899ba7e Fixed a major memory leak caused by MusicController.getDuration().
Blame: f23159d

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-19 04:47:02 -04:00
Jeffrey Han
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().

Also fixed a bug where the MenuButton class wasn't properly resetting image alpha/rotation in certain cases.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-19 03:04:35 -04:00
Jeffrey Han
ba20953634 Merge pull request #52 from fluddokt/ReplayTest
Replay Changes:
- Saves replay frames as if its repaying, then plays the replay at exact track position. This should give out exact results as the score screen.
- Calculates MD5 for beatmap files. (doesn't currently help anything)
- Reverse Slider ball (fixes #50)
2015-03-19 02:05:20 -04:00
fd
2356d8df69 Hopefully fixes most of the bugs of the replay change.
append
2015-03-19 00:52:05 -04:00
fd
f67ca79ea7 Hopefully fixes most of the bugs of the replay change. 2015-03-19 00:33:19 -04:00
Jeffrey Han
5061b45f84 Added an option to disable follow points.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-18 23:23:34 -04:00
Jeffrey Han
ad5379b8f0 Fade in follow points.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-18 22:57:44 -04:00
Jeffrey Han
40933cfa86 Implemented follow points.
Added new followpoint image from "Vocaloid Project Skin" by noClue.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-18 22:20:37 -04:00
fd
2877d9bc3d Merge remote-tracking branch 'org/master' into ReplayTest
Conflicts:
	src/itdelatrisu/opsu/objects/HitObject.java
	src/itdelatrisu/opsu/states/Game.java
2015-03-18 00:20:34 -04:00
fd
93b336fdf6 Fixes Flickering during replay
Calculates Md5 for beatmap files.

Reverse Slider ball #50
2015-03-17 23:39:18 -04:00
Jeffrey Han
c14b4b4822 Implemented "autopilot" mod.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-17 19:03:50 -04:00
Jeffrey Han
e362232d5f Fixed some game mod inverse checks.
- Fixed issues with Auto and Spun Out/No Fail.
- Added checks for Half Time and Double Time.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-17 16:03:49 -04:00
Jeffrey Han
ebbe9db717 Include OS, architecture, and JRE information in error reports.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-17 15:49:20 -04:00
Jeffrey Han
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.

Other changes:
- Don't save replays for unranked plays ("auto", "relax", "autopilot" mods).
- For "auto" replays, don't parse replay frames: use default "auto" behavior instead.
- Fixed cursor location data not being reset upon entering states.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-17 14:48:13 -04:00
Jeffrey Han
f23159d003 Added method to get duration of MP3s.
Currently used for the music bar in the main menu.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-16 13:16:30 -04:00
Jeffrey Han
678f902744 Moved OsuReader and OsuWriter into a new package 'opsu.io'.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-16 11:58:51 -04:00
Jeffrey Han
1927fe0309 Follow-up to b5a6455: increased visible area size.
...to account for empty space around the alphamap image.

Also removed the persistent checkpoint text during gameplay (not necessary with the bar notification).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-15 16:39:28 -04:00
Jeffrey Han
b5a6455d0a Implemented "Flashlight" mod.
- Restricted view area using alpha maps and offscreen drawing. (credits: davedes)
- Added silver grades.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-15 15:38:04 -04:00
fd
60f2a9f142 ReplayTest
Seems to work
but still buggy
lots of flickering during replay
2015-03-15 14:31:26 -04:00
Jeffrey Han
f7c627e8a2 Follow-up to #49.
Allowed toggling HD image loading in-game; changed some names; other minor formatting changes.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-14 23:28:50 -04:00
Jeffrey Han
637f5dc8d4 Merge pull request #49 from fluddokt/omaster
@2x size images, combo burst speed scaling, CircumscribedCircle drawing optimization.
2015-03-14 22:52:56 -04:00
fd
aeaaa9af4f @2x size images.
ComboBurst speed scaling.

CircumscribedCircle drawing optimization.
2015-03-14 18:50:09 -04:00
Jeffrey Han
6e0fcca84c Replay accuracy improvements.
Store keys from previous frame, and only send a keypress if a new frame's keys differ.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-14 17:51:49 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-13 18:03:44 -04:00
Jeffrey Han
a7390f7c1d Added fade effects for tooltips.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-13 02:52:18 -04:00
Jeffrey Han
a66133c605 Draw score info tooltips when hovering over a score.
Also added game mod 'name' fields.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-13 00:24:51 -04:00
Jeffrey Han
35b1bf197f Minor follow-up to #48.
Created some more variables for readability.

Removed some unnecessary casts.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-12 23:53:25 -04:00
fd
be4cb6d608 Merge remote-tracking branch 'ita/master' into omaster
Conflicts:
	src/itdelatrisu/opsu/GameImage.java
2015-03-12 22:51:14 -04:00
fd
0b16f0e157 More General scaling
Font Scaling.
Hit Error Bar scaling.
2015-03-12 22:49:04 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-12 20:33:32 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-12 20:12:43 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-12 02:38:43 -04:00
Jeffrey Han
87323533af Better error handling for Replay.load().
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-12 01:18:50 -04:00
Jeffrey Han
c53679fe63 Save replays in a new thread.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-11 21:00:50 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-11 20:52:51 -04:00
Jeffrey Han
37c0763f32 Allow showing a replay after a game.
Added a pause-replay image by XinCrin, and deleted ranking-retry/ranking-exit images.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-11 15:53:19 -04:00
Jeffrey Han
7942522c9d Merge remote-tracking branch 'origin/master' into replay
Conflicts:
	src/org/newdawn/slick/openal/OpenALStreamPlayer.java
2015-03-11 00:45:10 -04:00
Jeffrey Han
65c50771ac Insignificant whitespace changes from #44.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-11 00:37:57 -04:00
fd
ab9ea57a4c Attempt to fix inaccurate track positions #42
cleanup
2015-03-10 22:55:58 -04:00
Jeffrey Han
790a66ec1e Initial replay recording support.
- Added listener and events in Game state to record replay frames.
- Send more accurate keys.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-10 22:37:23 -04:00
fd
f27744ceaa Attempt to fix inaccurate track positions #42 2015-03-10 22:14:22 -04:00
Jeffrey Han
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...

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-10 18:10:51 -04:00
Jeffrey Han
3da7b320f0 Follow-up to 1f8c150: fixed an error with checkpoint loading.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-10 01:29:08 -04:00
Jeffrey Han
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).

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-10 00:48:04 -04:00
Jeffrey Han
fa6132808e Show the default mouse cursor during replays.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-09 19:54:28 -04:00
Jeffrey Han
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.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-09 18:32:43 -04:00
Jeffrey Han
ef67387674 Follow-up to 40476d4.
Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-08 20:38:51 -04:00
Jeffrey Han
40476d4f31 Catch all exceptions in OsuDB. (fixes #41)
Also added checks for missing audioFilename fields.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-08 20:26:37 -04:00
Jeffrey Han
dc26f6c131 TextField updates, and bug fixes from some recent commits.
- Added modified copy of slick.gui.TextField: added CTRL+BACKSPACE for word deletion, and disabled left/right arrows to move cursor and CTRL+Z to undo.
- Fixed musicEnded() incorrectly setting the "trackEnded" upon swapping tracks.  This has caused some nasty loops since #38.
- Fixed a null pointer exception in OsuDB from 0b03912.
- Fixed the song menu search bar transition being incorrectly reset when hitting backspace on a 0-length query.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-08 16:34:28 -04:00
Jeffrey Han
0b03912b7a Keep track of beatmap cache size.
The minimum batch loading size is now based on the beatmap cache size instead of an arbitrary constant.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-08 13:36:26 -04:00
Jeffrey Han
f9878f4fa4 More optimizations: don't load OsuFile array fields until needed.
When cached, defer loading of timing points, breaks, and combo colors until directly before a game.  Potentially cuts loading time by 50%, and saves a bit of memory.

Other changes:
- Don't store the default combo colors in the cache.
- Removed some PreparedStatements that only get executed once.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-08 03:05:01 -04:00
Jeffrey Han
f8e91cba64 Added error() method to DownloadListener interface.
Downloads failing due to connection errors will now send a bar notification instead of throwing an ErrorHandler dialog.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-07 23:57:18 -05:00
Jeffrey Han
cfd335de88 Merge pull request #39 from fluddokt/omaster
Fixes some sliders with too much control points. / Attempts to load music with incorrect file names. #33
2015-03-07 23:28:28 -05:00
Jeffrey Han
40a800eb76 Changed cached OsuFile loading.
Instead of being loaded individually from the database, OsuFiles are now loaded in batch by traversing the database.  In most cases, this should cause a ~10% loading speed improvement.  Defaults to the previous approach if few OsuFiles are being loaded.

Other changes:
- Don't drop indexes upon batch insertion if few entries are being inserted.
- Trying to increase fetch size with setFetchSize(100).
- Added more parser statuses.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
2015-03-07 23:24:19 -05:00
fd
421cfad6ad Fixes some sliders with too much control points. 2015-03-07 20:54:16 -05:00