")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);
--------------------------------------------------------------------------------
/docs/js/script.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Style : MobApp Script JS
4 | Version : 1.0
5 | Author : Surjith S M
6 | URI : https://surjithctly.in/
7 |
8 | Copyright © All rights Reserved
9 |
10 | */
11 |
12 | $(function() {
13 | "use strict";
14 |
15 | /*-----------------------------------
16 | * FIXED MENU - HEADER
17 | *-----------------------------------*/
18 | function menuscroll() {
19 | var $navmenu = $('.nav-menu');
20 | if ($(window).scrollTop() > 50) {
21 | $navmenu.addClass('is-scrolling');
22 | } else {
23 | $navmenu.removeClass("is-scrolling");
24 | }
25 | }
26 | menuscroll();
27 | $(window).on('scroll', function() {
28 | menuscroll();
29 | });
30 | /*-----------------------------------
31 | * NAVBAR CLOSE ON CLICK
32 | *-----------------------------------*/
33 |
34 | $('.navbar-nav > li:not(.dropdown) > a').on('click', function() {
35 | $('.navbar-collapse').collapse('hide');
36 | });
37 | /*
38 | * NAVBAR TOGGLE BG
39 | *-----------------*/
40 | var siteNav = $('#navbar');
41 | siteNav.on('show.bs.collapse', function(e) {
42 | $(this).parents('.nav-menu').addClass('menu-is-open');
43 | })
44 | siteNav.on('hide.bs.collapse', function(e) {
45 | $(this).parents('.nav-menu').removeClass('menu-is-open');
46 | })
47 |
48 | /*-----------------------------------
49 | * ONE PAGE SCROLLING
50 | *-----------------------------------*/
51 | // Select all links with hashes
52 | $('a[href*="#"]').not('[href="#"]').not('[href="#0"]').not('[data-toggle="tab"]').on('click', function(event) {
53 | // On-page links
54 | if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
55 | // Figure out element to scroll to
56 | var target = $(this.hash);
57 | target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
58 | // Does a scroll target exist?
59 | if (target.length) {
60 | // Only prevent default if animation is actually gonna happen
61 | event.preventDefault();
62 | $('html, body').animate({
63 | scrollTop: target.offset().top
64 | }, 1000, function() {
65 | // Callback after animation
66 | // Must change focus!
67 | var $target = $(target);
68 | $target.focus();
69 | if ($target.is(":focus")) { // Checking if the target was focused
70 | return false;
71 | } else {
72 | $target.attr('tabindex', '-1'); // Adding tabindex for elements not focusable
73 | $target.focus(); // Set focus again
74 | };
75 | });
76 | }
77 | }
78 | });
79 | /*-----------------------------------
80 | * OWL CAROUSEL
81 | *-----------------------------------*/
82 | var $testimonialsDiv = $('.testimonials');
83 | if ($testimonialsDiv.length && $.fn.owlCarousel) {
84 | $testimonialsDiv.owlCarousel({
85 | items: 1,
86 | nav: true,
87 | dots: false,
88 | navText: ['', '']
89 | });
90 | }
91 |
92 | var $galleryDiv = $('.img-gallery');
93 | if ($galleryDiv.length && $.fn.owlCarousel) {
94 | $galleryDiv.owlCarousel({
95 | nav: false,
96 | center: true,
97 | loop: true,
98 | autoplay: true,
99 | dots: true,
100 | navText: ['', ''],
101 | responsive: {
102 | 0: {
103 | items: 1
104 | },
105 | 768: {
106 | items: 3
107 | }
108 | }
109 | });
110 | }
111 |
112 | }); /* End Fn */
--------------------------------------------------------------------------------
/osu-install:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | version=2.3 # Version of this file
3 | # This script will install osu! using ThePooN's method and tweaks.
4 | # Depends on: wine, dialog..
5 |
6 | # Check internet. If no connection was established exit.
7 | ping -c 1 1.1.1.1 >/dev/null || exit 1
8 |
9 | ### Variables
10 | tits="yuri's osu! installing script" # It's for title, not for tiddies.
11 | continue="Press ENTER to continue"
12 | packages="wine-osu winetricks wine-mono lib32-gnutls lib32-alsa-plugins lib32-libpulse lib32-openal p7zip"
13 | downloaded="Downloaded."
14 | spacing="\n\n\n\n\n\n\n"
15 | gitversion=$(curl -s https://raw.githubusercontent.com/yurisuki/osu-install/master/updates/version)
16 |
17 | # Check for the version and tell, if the version isn't up-to-date with the github's.
18 | notupdated() {
19 | echo "Your version is $version, but it's not up-to-date with repository's version, which is $gitversion"
20 | echo "Sleeping for 5 seconds."
21 | sleep 5
22 | }
23 |
24 | [ "$version" = "$gitversion" ] || notupdated
25 |
26 | ### Functions
27 | fuck() { # This one will tell you an error.
28 | clear
29 | echo -e "Something has fucked up.\nLog: $1"
30 | exit
31 | }
32 |
33 | welcome() { # This will greet you :)
34 | dialog --backtitle "$tits -- $version" --title "$tits" --msgbox "Hello! This script will install osu! using ThePooN's method, which includes\nthe low latency patch.\n\n\n$continue" 10 50
35 | }
36 |
37 | afterwelcome() { # This one will check distro you use.
38 | dialog --backtitle "$tits -- $version" --title "$tits" --infobox "Checking distro you ran this script on..."
39 | if grep "Manjaro\|Arch\|Antergos\|Artix\|Parabola" /etc/*-release ; then
40 | archpreparing
41 | else
42 | nonarchpreparing
43 | fi
44 | }
45 |
46 | archdwn() { # This one will download all needed packages for the installation
47 | echo "Downloading needed packages."
48 | echo ----------------------------
49 | sudo pacman --noconfirm --needed -Syy "$packages" 2>&1
50 | echo -e "$spacing"
51 | echo "Downloading needed packages."
52 | echo ----------------------------
53 | echo "$downloaded"
54 | echo -e "\n\n"
55 | echo "$continue"
56 | }
57 |
58 | winedwn() { # This one will download osu! and give you info about it.
59 | echo "Downloading wine ..."
60 | echo --------------------
61 | curl --output ~/wine-osu.tar.xz https://mirrors.celianvdb.fr/archlinux/thepoon/wine-osu-3.13-1-x86_64.pkg.tar.xz 2>&1
62 | echo -e "$spacing"
63 | echo "Downloading wine ..."
64 | echo --------------------
65 | echo "$downloaded"
66 | echo -e "$spacing"
67 | echo "Downloading winetricks ..."
68 | echo -------------------------
69 | curl --output ~/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 2>&1
70 | echo -e "$spacing"
71 | echo "Downloading winetricks ..."
72 | echo -------------------------
73 | echo "$downloaded"
74 | echo -e "\n\n"
75 | echo "$continue"
76 | }
77 | archpreparing() { # This one will prepare all scripts for installation (For arch-based distro)
78 | dialog --backtitle "$tits -- $version" --title "$tits" --infobox "I've detected that you use Arch-based distro. \n\n\nPreparing some stuff before starting the installation." 7 50
79 | sleep 5
80 | dialog --backtitle "$tits -- $version" --title "$tits" --msgbox "You are currently entering sudo mode.\n\nYou will be prompted for password, so enter it in.\n\n\n$continue" 11 50
81 | sudo pacman-key --keyserver hkps://hkps.pool.sks-keyservers.net -r C0E7D0CDB72FBE95
82 | sudo pacman-key --keyserver hkps://hkps.pool.sks-keyservers.net --lsign-key C0E7D0CDB72FBE95
83 | grep thepoon < /etc/pacman.conf || echo "
84 | [thepoon]
85 | Server = https://archrepo.thepoon.fr
86 | Server = https://mirrors.celianvdb.fr/archlinux/thepoon" | sudo tee -a /etc/pacman.conf
87 |
88 | archdwn | dialog --backtitle "$tits -- $version" --title "$tits" --programbox 24 90
89 | }
90 |
91 | nonarchpreparing() { # This one will prepare all scripts for installation (For non arch-based distro)
92 | dialog --backtitle "$tits -- $version" --title "$tits" --infobox "I've detected that you use non Arch-based distro. \n\n\nPreparing some stuff before starting the installation." 7 50
93 | sleep 2
94 | winedwn | dialog --backtitle "$tits -- $version" --title "$tits" --programbox 24 90
95 | dialog --backtitle "$tits -- $version" --title "$tits" --infobox "Extracting wine." 3 25
96 | cd "${HOME}" || fuck "I wasn't able to cd to ${HOME}."
97 | tar xf wine-osu.tar.xz >/dev/null 2>&1
98 | dialog --backtitle "$tits -- $version" --title "$tits" --msgbox "You are currently entering sudo mode.\n\nYou will be prompted for password, so enter it in.\n\n\n$continue" 11 50
99 | sudo mv -v ~/opt/wine-osu/ /opt/
100 | chmod +x ~/winetricks
101 | sudo mv -v ~/winetricks /usr/local/bin
102 | dialog --backtitle "$tits -- $version" --title "$tits" --msgbox "I highly recommend installing 'wine' locally on your machine from your package manager, even though 'wine' was installed by this script to get rid of the dependency hell. :)\n\n\n$continue" 13 50
103 | }
104 |
105 | download_osu() { # This one will download osu! and give you info about it.
106 | echo "Downloading osu! ..."
107 | echo --------------------
108 | curl -o ~/Downloads/osui.exe https://m1.ppy.sh/r/osu\!install.exe 2>&1
109 | echo -e "$spacing"
110 | echo "Downloading osu! ..."
111 | echo --------------------
112 | echo "$downloaded"
113 | echo -e "\n\n"
114 | echo "$continue"
115 | }
116 |
117 | setupwine() { # This one will make wineprefix and will install osu!.
118 | dialog --backtitle "$tits -- $version" --title "$tits" --infobox "Making wineprefix" 3 21
119 | sleep 0.5
120 | export WINEPREFIX=$HOME/.wine_osu # This is the path to a hidden folder in your home folder.
121 | export WINEARCH=win32 # Only needed when executing the first command with that WINEPREFIX
122 |
123 | # Arch Linux/wine-osu users should uncomment next line
124 | # to update PATH to make sure we're using the right Wine binary
125 | export PATH=/opt/wine-osu/bin:$PATH
126 | dialog --backtitle "$tits -- $version" --colors --title "WARNING!" --yes-label "CONTINUE" --no-label "No wait..." --yesno "Do not install Mono or Gecko.\n\nPress next at every step.\n\nIf you’re prompted to reboot your computer, no matter the choice it won’t reboot and will be fine." 12 50 || fuck "Nevermind! You can open this script at anytime and the installation will continue." 6 50
127 | dialog --backtitle "$tits -- $version" --title "$tits" --infobox "Installing all dependencies into wineprefix! \n\nThis will take ~2 minutes." 5 50
128 | winetricks --unattended gdiplus dotnet462 >/dev/null & sleep 120 && killall wineserver mscorsvw.exe winetricks
129 | mkdir ~/Downloads || clear
130 | download_osu | dialog --title "$tits" --programbox 24 90
131 | dialog --backtitle "$tits -- $version" --title "WARNING!" --msgbox "Leave the install dir as it is, otherwise osu! won't work!\n\nCLOSE osu! AFTER IT WAS INSTALLED, AND PRESS ANY KEY
132 | IN THE TERMINAL TO MAKE THE SCRIPT CONTINUE!\n\n\n$continue" 13 45 || fuck "You've quit lmao"
133 | wine ~/Downloads/osui.exe
134 | sleep 15
135 | read -p "Press any key to continue..." -n1 -s -r
136 | wineserver -k
137 | fixlatency
138 | }
139 |
140 | fixlatency() { # This one will set up some things after setupwine has succeeded
141 | grep rtprio /dev/null 2>&1 || echowrapper "~/osudir does not exist!\\n" # CD to dir with osu, because all the job will be done here.
192 | export WINEPREFIX="$HOME/.wine_osu" # Use ~/.wine_osu as WINEPREFIX, because wine without these settings will not be able to do anything with osu.
193 | export PATH="/opt/wine-osu/bin:$PATH" # Add /opt/wine-osu to PATH, because that is the wine build, that osu-install uses.
194 |
195 | wineosu() { # This variable will turn on osu! with STAGING_AUDIO fix.
196 | export STAGING_AUDIO_DURATION=10000 # This one is the most stable value for most people, you can change this down to 5000 (that is the lowest stable value osu! can handle.)
197 |
198 | wine osu\!.exe "$@"
199 | }
200 |
201 | killosu() { # This one will kill osu! and wineserver.
202 | wineserver -k
203 | echo "Killed!"
204 | }
205 |
206 | removevideos() { # This one will remove all the videos in osudir to save some disk space.
207 | find . -name "*.avi" -type f -delete
208 | find . -name "*.mp4" -type f -delete
209 | find . -name "*.flv" -type f -delete
210 | echo "Removed!"
211 | }
212 |
213 | case "$1" in
214 | --help) echowrapper "This script will turn on osu! without an argument, but you can give it an argument to run.\\nARGUMENTS\\n---------\\n --help: Shows this menu\\n --kill/-k: Kills osu! and wineserver\\n --removevideos/-rmvids: Removes all videos in ~/osudir to save some space and get some more FPS.\\n" ;;
215 | --kill | -k) killosu ;;
216 | --removevideos | -rmvids) removevideos ;;
217 | --* | -*) echowrapper "This argument does not exist. See all arguments using \"--help\"\\n" ;;
218 | *) wineosu ;;
219 | esac'
220 | echo "$osufile" | sudo tee /bin/osu
221 | sudo chmod +x /bin/osu /bin/fixcrack
222 | curl --output ~/.local/share/icons/osu\!.png https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Osulogo.png/220px-Osulogo.png
223 | echo '[Desktop Entry]
224 | Type=Application
225 | Name=osu!
226 | Icon=osu!.png
227 | Exec=osu %u
228 | StartupWMClass=osu!.exe
229 | Categories=Game;
230 | MimeType=x-scheme-handler/discord-367827983903490050;x-scheme-handler/osu;' | tee ~/.local/share/applications/osu\!.desktop
231 | }
232 |
233 | selection() { # Make dialog select menu for additional things
234 |
235 | OPTIONS=(1 "Setup tablet/mouse and much more"
236 | 2 "Install osu-stuff (Has osu!direct feature without osu! supporter and much more)"
237 | 3 "Install Asian fonts")
238 |
239 | selectoutput=$(dialog --backtitle "$tits -- $version" \
240 | --title "$tits" \
241 | --menu "Do additional things:" \
242 | 15 40 4 \
243 | "${OPTIONS[@]}" \
244 | 2>&1 >/dev/tty)
245 |
246 | clear
247 | case $selectoutput in
248 | 1)
249 | xdg-open "https://osu.ppy.sh/community/forums/topics/367783&start=0"
250 | selection
251 | ;;
252 | 2)
253 | curl -LO yurisuki.github.io/osu-i
254 | bash osu-i
255 | selection
256 | ;;
257 | 3)
258 | xdg-open "https://osu.ppy.sh/community/forums/topics/367783"
259 | selection
260 | ;;
261 | esac
262 | }
263 |
264 | check_install() {
265 | grep osu\!.exe <(ls "${HOME}/osudir") || fuck "Oh no, osu! didn't install.\n\nPossibilities are:\nYou've changed the installation direction.\nosu! installer
266 | didn't run.\nSome dependencies didn't install.\n\nTry:\nRun the script again\nLeave the installation direction as it should be (defaultly selected by osu! installer)\n\nIf that didn't help try reporting it on GitHub. Thank you. <3"
267 | }
268 |
269 | ### Execute variables
270 | # Check if command was executed with sudo.
271 | [ "${USER}" = "root" ] && fuck "You executed this script as root."
272 |
273 | # Check if dialog is installed
274 | dialog --help >/dev/null || fuck "Dialog is not installed."
275 |
276 | # Welcome message
277 | welcome || fuck "Interupted by user."
278 |
279 | # After welcome scripts
280 | afterwelcome
281 |
282 | # Setup wine after all dependencies were installed
283 | setupwine
284 |
285 | # Check if osu! installed.
286 | check_install
287 |
288 | # Show select menu for additional things.
289 | selection
290 |
291 | # IT'S DONE JNSAEKLODHSAKJLDHASOKJDHASKJDHKASDHAKSED
292 | dialog --backtitle "$tits -- $version" --title "$tits" --msgbox "Everything has been done! Restart your computer to make the latency patch take effect.\nYou can turn on osu! by using 'osu', and\nkill osu! by using 'osu -k' (in case osu! freezes or won't start.)\n\nAlso, sound may be cracking (in whole system), you can fix this by running 'fixcrack' command.\n\nThere are also some more things this script can do.\nSee them by using 'osu --help'\n\n~ Thank you for using this script. <3" 18 80
293 |
--------------------------------------------------------------------------------
/updates/README.otaku:
--------------------------------------------------------------------------------
1 | _ _ _ _
2 | | | | ___ _| | ___ _| |_ ___ ___
3 | | ' || . \/ . |<_> | | | / ._><_-<
4 | `___'| _/\___|<___| |_| \___./__/
5 | |_|
6 | This folder includes file with version used by checking updates of osu-install
7 |
--------------------------------------------------------------------------------
/updates/version:
--------------------------------------------------------------------------------
1 | 2.3
2 |
--------------------------------------------------------------------------------